Config['EnterMode'] = 'br'; * * @var array */ var $Config ; /** * Main Constructor. * Refer to the _samples/php directory for examples. * * @param string $instanceName */ function FCKeditor( $instanceName ) { $this->InstanceName = $instanceName ; $this->BasePath = '/fckeditor/' ; $this->Width = '100%' ; $this->Height = '200' ; $this->ToolbarSet = 'Default' ; $this->Value = '' ; $this->Config = array() ; } /** * Display FCKeditor. * */ function Create() { echo $this->CreateHtml() ; } /** * Return the HTML code required to run FCKeditor. * * @return string */ function CreateHtml() { $HtmlValue = htmlspecialchars( $this->Value ) ; $Html = '' ; if ( !isset( $_GET ) ) { global $HTTP_GET_VARS ; $_GET = $HTTP_GET_VARS ; } if ( $this->IsCompatible() ) { if ( isset( $_GET['fcksource'] ) && $_GET['fcksource'] == "true" ) $File = 'fckeditor.original.html' ; else $File = 'fckeditor.html' ; $Link = "{$this->BasePath}editor/{$File}?InstanceName={$this->InstanceName}" ; if ( $this->ToolbarSet != '' ) $Link .= "&Toolbar={$this->ToolbarSet}" ; // Render the linked hidden field. $Html .= "InstanceName}\" name=\"{$this->InstanceName}\" value=\"{$HtmlValue}\" style=\"display:none\" />" ; // Render the configurations hidden field. $Html .= "InstanceName}___Config\" value=\"" . $this->GetConfigFieldString() . "\" style=\"display:none\" />" ; // Render the editor IFRAME. $Html .= "" ; } else { if ( strpos( $this->Width, '%' ) === false ) $WidthCSS = $this->Width . 'px' ; else $WidthCSS = $this->Width ; if ( strpos( $this->Height, '%' ) === false ) $HeightCSS = $this->Height . 'px' ; else $HeightCSS = $this->Height ; $Html .= "" ; } return $Html ; } /** * Returns true if browser is compatible with FCKeditor. * * @return boolean */ function IsCompatible() { return FCKeditor_IsCompatibleBrowser() ; } /** * Get settings from Config array as a single string. * * @access protected * @return string */ function GetConfigFieldString() { $sParams = '' ; $bFirst = true ; foreach ( $this->Config as $sKey => $sValue ) { if ( $bFirst == false ) $sParams .= '&' ; else $bFirst = false ; if ( $sValue === true ) $sParams .= $this->EncodeConfig( $sKey ) . '=true' ; else if ( $sValue === false ) $sParams .= $this->EncodeConfig( $sKey ) . '=false' ; else $sParams .= $this->EncodeConfig( $sKey ) . '=' . $this->EncodeConfig( $sValue ) ; } return $sParams ; } /** * Encode characters that may break the configuration string * generated by GetConfigFieldString(). * * @access protected * @param string $valueToEncode * @return string */ function EncodeConfig( $valueToEncode ) { $chars = array( '&' => '%26', '=' => '%3D', '"' => '%22' ) ; return strtr( $valueToEncode, $chars ) ; } }