Plugin-Filter schreiben (de) | |
Einen Plugin-Filter erzeugen | Plugin-Filter sind, ähnlich wie Module, ZIP-Archive aus den Dateien plugin_info.php, plugin_install.php, filter.php |
Plugin-Filter sind, ähnlich wie Module, ZIP-Archive aus den Dateien plugin_info.php, plugin_install.php, filter.php und möglicherweise plugin_uninstall.php.
Die folgenden Platzhalter können anstelle von hart codierten Pfaden innerhalb von OpF-Plugins verwendet werden
{SYSVAR:WB_URL} = wird durch den Inhalt der Konstanten WB_URL ersetzt {SYSVAR:WB_PATH} = wird durch den Inhalt der Konstanten WB_PATH ersetzt {OPF:PLUGIN_URL} = wird durch WB_URL.'/modules/outputfilter_dashboard/plugins/{plugin_name}' ersetzt {OPF:PLUGIN_PATH} = wird durch WB_PATH.'/modules/outputfilter_dashboard/plugins/{plugin_name}' ersetzt
Innerhalb der Filter funktionen funktionieren die folgenden KONSTANTEN für OPF Plugins
OPF_PLUGINS_PATH OPF_PLUGINS_URL
Der Pfad und die Url zum Plugins-Ordner ist sehr lang und wird häufig innerhalb von FIltern benötigt, daher sind diese Konstanten eine bequeme Ergänzung. Die URL ist
OPF_PLUGINS_URL = [ WB_URL.'/modules/'.basename(dirname(__FILE__)).'/plugins/' ]
<?php $plugin_directory = 'cachecontrol'; $plugin_name = 'Cache Control'; $plugin_version = '1.0.0'; $plugin_author = 'author...'; $plugin_license = 'GNU General Public License, Version 2 or later'; $plugin_description = 'Filter to automatically prevent browsers from delivering outdated files (css,js) from cache';
Siehe opf_register_filter().
<?php if(!defined('WB_PATH')) die(header('Location: ../../index.php')); opf_register_filter(array( 'plugin' => 'cachecontrol', 'name' => 'Cache Control', 'type' => OPF_TYPE_PAGE_LAST, 'file' => '{OPF:PLUGIN_PATH}/filter.php', 'funcname' => 'opff_cachecontrol', 'desc' => array('EN' => "Description ... Take care that this filter is called last!", 'DE' => "Beschreibung ... Achten Sie darauf, daß dieser Filter als letzter aufgerufen wird!" ), 'modules' => 'all', 'active' => 1, 'allowedit' => 0, 'allowedittarget' => 1 ));
Standardmäßig werden neu installierte Filter ans Ende gestellt, aber Sie können die Position des Filters nachdem es registriert ist mit der Funktion opf_move_up_before beeinflussen.
Diese Datei enthält die Filter-Funktion. See The Filter-Function itself.
<?php if(!defined('WB_PATH')) die(header('Location: ../../index.php')); function opff_cachecontrol(&$content, $page_id, $section_id, $module, $wb) { // function code here return(TRUE); }
Diese Datei ist optional und kann auch weggelassen werden.
<?php if(!defined('WB_PATH')) die(header('Location: ../../index.php')); // clean up. // But do NEVER CALL opf_unregister_filter() in this file!
Register a new Filter.
function opf_register_filter( $filter, $serialized = FALSE )
Upon registration move a filter up to a position before another one.
function opf_move_up_before( $name, $ref_name = "" )