| 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. |
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
<?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.
<?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
// ...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);
}Ü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
<?php
header('Location: ../../index.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';
Register a new Filter.
function opf_register_filter( $filter, $serialized = FALSE )
Un-Register a Filter.
function opf_unregister_filter( $name )
Upon registration move a filter up to a position before another one.
function opf_move_up_before( $name, $ref_name = "" )