# Plugin-Filter schreiben (de)

Summary

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

### Einen Plugin-Filter erzeugen

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/' ]

#### plugin_info.php

>     <?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';

#### plugin_install.php

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.

#### filter.php

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);
>     }

#### plugin_uninstall.php

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!

> function opf_register_filter( | $filter, |  |
> | $serialized | = | FALSE | )

Register a new Filter.

> function opf_move_up_before( | $name, |  |
> | $ref_name | = | "" | )

Upon registration move a filter up to a position before another one.
The Filter function must have an unique name, and should have a “opff_”-prefix
Close