167 Zeilen
		
	
	
	
		
			7,5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			167 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('mod_rewrite', 'classes/controller/class.modrewrite_controller_abstract.php');
 | |
| plugin_include('mod_rewrite', 'classes/controller/class.modrewrite_content_controller.php');
 | |
| plugin_include('mod_rewrite', 'classes/controller/class.modrewrite_contentexpert_controller.php');
 | |
| plugin_include('mod_rewrite', 'classes/controller/class.modrewrite_contenttest_controller.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewritebase.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewrite.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewritecontroller.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewritedebugger.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewritetest.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewriteurlstack.php');
 | |
| plugin_include('mod_rewrite', 'classes/class.modrewriteurlutil.php');
 | |
| plugin_include('mod_rewrite', 'includes/functions.mod_rewrite.php');
 | |
| 
 | |
| 
 | |
| global $lngAct;
 | |
| 
 | |
| $lngAct['mod_rewrite']['mod_rewrite'] = i18n("Advanced Mod Rewrite", "mod_rewrite");
 | |
| $lngAct['mod_rewrite']['mod_rewrite_expert'] = i18n("Advanced Mod Rewrite functions", "mod_rewrite");
 | |
| $lngAct['mod_rewrite']['mod_rewrite_test'] = i18n("Advanced Mod Rewrite test", "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);
 |