# Modul-Filter schreiben (de)

Summary

Modul-Filter schreiben (de) |
Einen Filter als Teil eines Moduls installieren | Ist der Filter Teil eines normalen Modules, sind lediglich die Dateien install.php und uninstall.php des Modules entsprechend um Aufrufe von opf_register_filter() und opf_unregister_filter() zu ergänzen, und eine Datei mit der Filter-Funktion hinzuzufügen.
precheck.php | Überprüfen Sie vor der installation, ob Outputfilter-Dashboard installiert ist.

### Einen Filter als Teil eines Moduls installieren

Ist der Filter Teil eines normalen Modules, sind lediglich die Dateien install.php und uninstall.php des Modules entsprechend um Aufrufe von opf_register_filter() und opf_unregister_filter() zu ergänzen, und eine Datei mit der Filter-Funktion hinzuzufügen.

Zusätzlich können (und sollten) Sie das Precheck-System der Modulverwaltung benutzen, um zu prüfen ob Outputfilter-Dashboard installiert ist. Das Installationsskript sollte auch nach der Installation ein weiteres Mal ausführbar sein. Eventuell einzufügende Tabellen sollten daher auf ihre Existenz beprüft werden:

>     CREATE TABLE ... IF NOT EXISTS

#### install.php

>     <?php

>     // normal content from install-file here
>     // ...

>     // check whether outputfilter-module is installed
>     if(file_exists(WB_PATH.'/modules/outputfilter_dashboard/functions.php')) {
>       require_once(WB_PATH.'/modules/outputfilter_dashboard/functions.php');
>       // install filter
>       //---Searchengine-Highlighter-Filter-------------------------------------------
>       //=============================================================================
>       opf_register_filter(array(
>           'name' => 'Searchengine Highlighter',
>           'type' => OPF_TYPE_PAGE_LAST,
>           'file' => '{SYSVAR:WB_PATH}/modules/searchengine_highlight/filter.php',
>           'funcname' => 'opff_searchengine_highlight',
>           'desc' => "Google-Search-Highlighter",
>           'active' => 1,
>           'allowedit' => 0
>       ));
>     }

>     // rest of install-file here
>     // ...

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.

#### uninstall.php

>     <?php

>     // normal content from uninstall-file here
>     // ...

>     // check whether outputfilter-module is installed {
>     if(file_exists(WB_PATH.'/modules/outputfilter_dashboard/functions.php')) {
>       require_once(WB_PATH.'/modules/outputfilter_dashboard/functions.php');
>       // un-install filter
>       opf_unregister_filter('Searchengine Highlighter');
>     }

>     // rest of uninstall-file here
>     // ...

#### 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_searchengine_highlight(&$content, $page_id, $section_id, $module, $wb) {
>             // function code here

>             return(TRUE);
>     }

### precheck.php

Überprüfen Sie vor der installation, ob Outputfilter-Dashboard installiert ist. Fügen Sie dazu Ihrem Modul eine Datei precheck.php mit dem folgenden Inhalt hinzu

>     <?php
>     // prevent this file from being accessed directly
>     if(!defined('WB_PATH')) die(header('Location: ../index.php'));

>     $PRECHECK = array();
>     $PRECHECK['WB_VERSION'] = array('VERSION'=>'2.8', 'OPERATOR'=>'>=');
>     $PRECHECK['WB_ADDONS'] = array(
>             // Outputfilter-Dashboard must be installed
>             'outputfilter_dashboard'=>array('VERSION'=>'1.3.2', 'OPERATOR'=>'>=')
>     );

Passen Sie die vorausgesetzte Version von Outputfilter-Dashboard wie benötigt an.

Damit das Modul funktioniert, müssen Sie auch ein index.php und ein info.php file anlegen wie für jedes andere reguläre Modul auch

#### index.php

>     <?php
>     header('Location: ../../index.php');

#### info.php

>     <?php

>     $module_directory       = 'searchengine_highlight';
>     $module_name            = 'Search Engine Highlighter';
>     $module_function        = 'filter';
>     $module_version         = '0.1';
>     $module_platform        = '2.8.3';
>     $module_author          = 'your name';
>     $module_license         = 'e.g. GPL v3';
>     $module_description     = 'This module helps you to highlight search engine hits';

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

Register a new Filter.

> function opf_unregister_filter( | $name | )

Un-Register a 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