add('name', PLUGIN_EVENT_DSGVO_GPDR_NAME); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_DESC); $propbag->add('stackable', false); $propbag->add('author', 'Serendipity Team'); $propbag->add('version', '1.0'); $propbag->add('requirements', array( 'serendipity' => '2.0', 'smarty' => '2.6.7', 'php' => '5.3.3' )); $propbag->add('groups', array('FRONTEND_FEATURES', 'BACKEND_FEATURES')); $propbag->add('event_hooks', array( 'frontend_saveComment' => true, 'frontend_comment' => true, 'entries_header' => true, 'entry_display' => true, 'genpage' => true, 'frontend_footer' => true, 'css' => true ) ); $propbag->add('configuration', array('commentform_checkbox', 'commentform_text', 'gpdr_url', 'gpdr_info', 'gpdr_content', 'show_in_footer', 'show_in_footer_text', 'cookie_consent', 'cookie_consent_text', 'cookie_consent_path')); $propbag->add('config_groups', array( PLUGIN_EVENT_DSGVO_GPDR_MENU => array('gpdr_url', 'gpdr_info', 'gpdr_content'), PLUGIN_EVENT_DSGVO_GPDR_COOKIE_MENU => array('cookie_consent', 'cookie_consent_text', 'cookie_consent_path') )); } function generate_content(&$title) { $title = $this->title; } function introspect_config_item($name, &$propbag) { global $serendipity; switch($name) { case 'gpdr_url': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_URL); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_URL_DESC); $propbag->add('default', ''); break; case 'gpdr_content': $propbag->add('type', 'html'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_STATEMENT); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_STATEMENT_DESC); $propbag->add('default', ""); break; case 'commentform_text': $propbag->add('type', 'html'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_COMMENTFORM_TEXT); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_COMMENTFORM_TEXT_DESC); $propbag->add('default', PLUGIN_EVENT_DSGVO_GPDR_COMMENTFORM_TEXT_DEFAULT); break; case 'commentform_checkbox': $propbag->add('type','boolean'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_COMMENTFORM_CHECKBOX); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_COMMENTFORM_CHECKBOX_DESC); $propbag->add('default', 'true'); break; case 'show_in_footer': $propbag->add('type','boolean'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_SHOW_IN_FOOTER); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_SHOW_IN_FOOTER_DESC); $propbag->add('default', 'true'); break; case 'show_in_footer_text': $propbag->add('type', 'html'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_SHOW_IN_FOOTER_TEXT); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_SHOW_IN_FOOTER_TEXT_DESC); $propbag->add('default', PLUGIN_EVENT_DSGVO_GPDR_SHOW_IN_FOOTER_TEXT_DEFAULT); break; case 'gpdr_info': $propbag->add('type', 'content'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_INFO); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_INFO_DESC); $propbag->add('default', $this->inspect_gpdr()); break; case 'cookie_consent': $propbag->add('type','boolean'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_DESC); $propbag->add('default', 'true'); break; case 'cookie_consent_text': $propbag->add('type', 'text'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_TEXT); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_TEXT_DESC); $propbag->add('default', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_TEXT_DEFAULT); break; case 'cookie_consent_path': $propbag->add('type', 'string'); $propbag->add('name', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_PATH); $propbag->add('description', PLUGIN_EVENT_DSGVO_GPDR_COOKIE_CONSENT_PATH_DESC); $propbag->add('default', $serendipity['serendipityHTTPPath'] . 'plugins/serendipity_event_dsgvo_gpdr/'); break; } return true; } function inspect_gpdr() { $out = PLUGIN_EVENT_DSGVO_GPDR_SERENDIPITY_CORE; $classes = serendipity_plugin_api::enum_plugins(); foreach ($classes as $class_data) { $pluginFile = serendipity_plugin_api::probePlugin($class_data['name'], $class_data['classname'], $class_data['pluginPath']); $plugin =& serendipity_plugin_api::getPluginInfo($pluginFile, $class_data); if (is_object($plugin)) { // Object is returned when a plugin could not be cached. $bag = new serendipity_property_bag; $plugin->introspect($bag); $legal = $bag->get('legal'); if (is_array($legal)) { $out .= '