From a29030a6314995ff07bc9773b3df924664538d96 Mon Sep 17 00:00:00 2001
From: cdelambert <cdelambert>
Date: Fri, 14 Mar 2008 12:01:43 +0000
Subject: [PATCH] Tag Smarty for FCKEditor

---
 .../libs/plugins/function.fckeditor.php       | 96 +++++++++++++++++++
 1 file changed, 96 insertions(+)
 create mode 100644 external-libs/smarty/libs/plugins/function.fckeditor.php

diff --git a/external-libs/smarty/libs/plugins/function.fckeditor.php b/external-libs/smarty/libs/plugins/function.fckeditor.php
new file mode 100644
index 00000000000..0dbaa07a7bf
--- /dev/null
+++ b/external-libs/smarty/libs/plugins/function.fckeditor.php
@@ -0,0 +1,96 @@
+<?php
+/**
+ * Smarty plugin
+ * @package Smarty
+ * @subpackage plugins
+ */
+
+/**
+* Smarty function plugin
+* Requires PHP >= 4.3.0
+* -------------------------------------------------------------
+* Type:     function
+* Name:     fckeditor
+* Version:  1.0
+* Author:   Auguria info@auguria.net
+* Purpose:  Creates a FCKeditor, a very powerful textarea replacement.
+* -------------------------------------------------------------
+* @param InstanceName Editor instance name (form field name)
+* @param Value optional data that control will start with, default is taken from the javascript file
+* @param Width optional width (css units)
+* @param Height optional height (css units)
+* @param ToolbarSet optional what toolbar to use from configuration
+* @param CheckBrowser optional check the browser compatibility when rendering the editor
+* @param DisplayErrors optional show error messages on errors while rendering the editor
+* @param DocumentRoot document root of application
+* @param DocumentURLRoot document url root of application
+*
+* Default values for optional parameters (except BasePath) are taken from fckeditor.js.
+*
+* All other parameters used in the function will be put into the configuration section,
+* CustomConfigurationsPath is useful for example.
+* See http://wiki.fckeditor.net/Developer%27s_Guide/Configuration/Configurations_File for more configuration info.
+*/
+
+
+function smarty_function_fckeditor($params, &$smarty)
+{
+   if(!isset($params['InstanceName']) || empty($params['InstanceName']))
+   {
+      $smarty->trigger_error('fckeditor: required parameter "InstanceName" missing');
+   }
+
+   static $base_arguments = array();
+   static $config_arguments = array();
+
+   // Test if editor has been loaded before
+   if(!count($base_arguments)) $init = TRUE;
+   else $init = FALSE;
+   
+   // BasePath must be specified once.
+   if(isset($params['DocumentRoot']))
+   {
+      $base_arguments['DocumentRoot'] = $params['DocumentRoot'];
+   }
+   else if(empty($base_arguments['DocumentRoot']))
+   {
+      $base_arguments['DocumentRoot'] = '';
+   }
+
+   $base_arguments['InstanceName'] = $params['InstanceName'];
+
+  
+   if(isset($params['CheckBrowser'])) $base_arguments['CheckBrowser'] = $params['CheckBrowser'];
+   if(isset($params['DisplayErrors'])) $base_arguments['DisplayErrors'] = $params['DisplayErrors'];
+   
+   require_once($params['DocumentRoot']."/includes/fckeditor/fckeditor.php");
+	$editor = new FCKeditor( $params['InstanceName']);
+	$editor->BasePath = $params['DocumentUrlRoot'].'/includes/fckeditor/' ;
+	$editor->Value	= $params['Value'];
+	$editor->Height   =  $params['Height'];
+	$editor->ToolbarSet = $params['ToolbarSet'];
+	$editor->Config['AutoDetectLanguage'] = 'true';
+	$editor->Config['ToolbarLocation'] = $params['ToolbarLocation'] ? $params['ToolbarLocation'] : 'In';
+	$editor->Config['ToolbarStartExpanded'] = $params['ToolbarStartExpanded'];
+
+   // Use all other parameters for the config array (replace if needed)
+   $modulepart='fckeditor';
+	$editor->Config['UserFilesPath'] = '/viewimage.php?modulepart='.$modulepart.'&file=';
+	$editor->Config['UserFilesAbsolutePath'] = $params['DocumentUrlRoot'].'/'.$modulepart.'/' ;
+
+    $editor->Config['LinkBrowser']=($params['LinkBrowser']?'true':'false');
+    $editor->Config['ImageBrowser']=($params['ImageBrowser']?'true':'false');
+
+    	if ($params['Theme'] && file_exists($params['DocumentRoot'].'/theme/'.$params['Theme']))
+    	{
+    		$editor->Config['CustomConfigurationsPath'] = $params['DocumentUrlRoot'].'/theme/'.$params['Theme'].'/fckeditor/fckconfig.js';
+    		$editor->Config['SkinPath'] = $params['DocumentUrlRoot'].'/theme/'.$params['Theme'].'/fckeditor/';
+		  }
+
+   $editor->Create();
+   return "";
+}
+
+/* vim: set expandtab: */
+
+?> 
\ No newline at end of file
-- 
GitLab