1
0
Fork 0
cl-mod-rewrite/includes/config.plugin.php

168 Zeilen
7.5 KiB
PHP

<?php
/**
* Plugin Advanced Mod Rewrite initialization file.
*
* This file will be included by CONTENIDO plugin loader routine, and the content
* of this file ensures that the AMR Plugin will be initialized correctly.
*
* @package plugin
* @subpackage Mod Rewrite
* @version SVN Revision $Rev: 128 $
* @id $Id: config.plugin.php 128 2019-07-03 11:58:28Z oldperl $:
* @author Murat Purc <murat@purc.de>
* @copyright four for business AG <www.4fb.de>
* @license http://www.contenido.org/license/LIZENZ.txt
* @link http://www.4fb.de
* @link http://www.contenido.org
*/
if (!defined('CON_FRAMEWORK')) {
die('Illegal call');
}
global $_cecRegistry, $cfg, $contenido, $area, $client, $load_client;
####################################################################################################
/**
* Chain Contenido.Frontend.CreateURL
* This chain is called inside some scripts (front_content.php) to create urls.
*
* @todo: Is added to provide downwards compatibility for the amr plugin.
* There is no need for this chain since CONTENIDO 4.8.9 contains its own Url building feature.
* @deprecated
*
* Parameters & order:
* string URL including parameter value pairs
*
* Returns:
* string Returns modified URL
*/
$_cecRegistry->registerChain("Contenido.Frontend.CreateURL", "string");
####################################################################################################
// initialize client id
if (isset($client) && (int) $client > 0) {
$clientId = (int) $client;
} elseif (isset($load_client) && (int) $load_client > 0) {
$clientId = (int) $load_client;
} else {
$clientId = '';
}
// include necessary sources
cInclude('classes', 'Debug/DebuggerFactory.class.php');
plugin_include('cl-mod-rewrite', 'classes/controller/class.modrewrite_controller_abstract.php');
plugin_include('cl-mod-rewrite', 'classes/controller/class.modrewrite_content_controller.php');
plugin_include('cl-mod-rewrite', 'classes/controller/class.modrewrite_contentexpert_controller.php');
plugin_include('cl-mod-rewrite', 'classes/controller/class.modrewrite_contenttest_controller.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewritebase.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewrite.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewritecontroller.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewritedebugger.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewritetest.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewriteurlstack.php');
plugin_include('cl-mod-rewrite', 'classes/class.modrewriteurlutil.php');
plugin_include('cl-mod-rewrite', 'includes/functions.mod_rewrite.php');
global $lngAct;
$lngAct['cl-mod-rewrite']['mod_rewrite'] = i18n("Advanced Mod Rewrite", "cl-mod-rewrite");
$lngAct['cl-mod-rewrite']['mod_rewrite_expert'] = i18n("Advanced Mod Rewrite functions", "cl-mod-rewrite");
$lngAct['cl-mod-rewrite']['mod_rewrite_test'] = i18n("Advanced Mod Rewrite test", "cl-mod-rewrite");
// set debug configuration
if (isset($contenido)) {
ModRewriteDebugger::setEnabled(true);
} else {
ModRewriteDebugger::setEnabled(false);
}
// initialize mr plugin
ModRewrite::initialize($clientId);
if (ModRewrite::isEnabled()) {
$aMrCfg = ModRewrite::getConfig();
$_cecRegistry = cApiCecRegistry::getInstance();
// Add new tree function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_newtree.AfterCall', 'mr_strNewTree');
// Add move subtree function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_movesubtree.AfterCall', 'mr_strMoveSubtree');
// Add new category function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_newcat.AfterCall', 'mr_strNewCategory');
// Add rename category function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_renamecat.AfterCall', 'mr_strRenameCategory');
// Add move up category function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_moveupcat.AfterCall', 'mr_strMoveUpCategory');
// Add move down category function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.str_movedowncat.AfterCall', 'mr_strMovedownCategory');
// Add copy category function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Category.strCopyCategory', 'mr_strCopyCategory');
// Add category sync function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Category.strSyncCategory_Loop', 'mr_strSyncCategory');
// Add save article (new and existing category) function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Action.con_saveart.AfterCall', 'mr_conSaveArticle');
// Add move article function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Article.conMoveArticles_Loop', 'mr_conMoveArticles');
// Add duplicate article function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Article.conCopyArtLang_AfterInsert', 'mr_conCopyArtLang');
// Add sync article function to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Article.conSyncArticle_AfterInsert', 'mr_conSyncArticle');
if (!isset($contenido)) {
// we are not in backend, add cec functions for rewriting
// Add mr related function for hook "after plugins loaded" to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Frontend.AfterLoadPlugins', 'mr_runFrontendController');
// Add url rewriting function to CONTENIDO Extension Chainer
// @todo: no more need since CONTENIDO 4.8.9 provides central Url building,
// but it is still available because of downwards compatibility
// @deprecated
$_cecRegistry->addChainFunction('Contenido.Frontend.CreateURL', 'mr_buildNewUrl');
// overwrite url builder configuration with own url builder
$cfg['url_builder']['name'] = 'MR';
$cfg['config'] = array();
cInclude('classes', 'Url/Contenido_Url.class.php');
cInclude('classes', 'UrlBuilder/Contenido_UrlBuilderConfig.class.php');
Contenido_UrlBuilderConfig::setConfig($cfg['url_builder']);
if ($aMrCfg['rewrite_urls_at_congeneratecode'] == 1) {
// Add url rewriting at code generation to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Content.conGenerateCode', 'mr_buildGeneratedCode');
} elseif ($aMrCfg['rewrite_urls_at_front_content_output'] == 1) {
// Add url rewriting at html output to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Frontend.HTMLCodeOutput', 'mr_buildGeneratedCode');
} else {
// Fallback solution: Add url rewriting at code generation to CONTENIDO Extension Chainer
$_cecRegistry->addChainFunction('Contenido.Content.conGenerateCode', 'mr_buildGeneratedCode');
}
}
}
if (isset($contenido) && isset($area) && $area == 'mod_rewrite_test') {
// configure url builder to enable it on test page
$cfg['url_builder']['name'] = 'MR';
$cfg['config'] = array();
Contenido_UrlBuilderConfig::setConfig($cfg['url_builder']);
ModRewrite::setEnabled(true);
}
unset($clientId, $options);