添加到 trunk
+YUCHENG HU+ git-svn-id: https://svn.code.sf.net/p/hawebs/svn@162 a2543c7e-f6e9-4f8a-8bff-1ffc34733512
This commit is contained in:
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,183 @@
|
||||
<?php
|
||||
/**
|
||||
* @version $Id: none.php 10709 2008-08-21 09:58:52Z eddieajau $
|
||||
* @package Joomla
|
||||
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
|
||||
* @license GNU/GPL, see LICENSE.php
|
||||
* Joomla! is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses.
|
||||
* See COPYRIGHT.php for copyright notices and details.
|
||||
*/
|
||||
|
||||
// no direct access
|
||||
defined( '_JEXEC' ) or die( 'Restricted access' );
|
||||
|
||||
jimport( 'joomla.plugin.plugin' );
|
||||
|
||||
/**
|
||||
* No WYSIWYG Editor Plugin
|
||||
*
|
||||
* @package Editors
|
||||
* @since 1.5
|
||||
*/
|
||||
class plgEditorNone extends JPlugin
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* For php4 compatability we must not use the __constructor as a constructor for plugins
|
||||
* because func_get_args ( void ) returns a copy of all passed arguments NOT references.
|
||||
* This causes problems with cross-referencing necessary for the observer design pattern.
|
||||
*
|
||||
* @param object $subject The object to observe
|
||||
* @param array $config An array that holds the plugin configuration
|
||||
* @since 1.5
|
||||
*/
|
||||
function plgEditorNone(& $subject, $config)
|
||||
{
|
||||
parent::__construct($subject, $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to handle the onInitEditor event.
|
||||
* - Initializes the Editor
|
||||
*
|
||||
* @access public
|
||||
* @return string JavaScript Initialization string
|
||||
* @since 1.5
|
||||
*/
|
||||
function onInit()
|
||||
{
|
||||
$txt = "<script type=\"text/javascript\">
|
||||
function insertAtCursor(myField, myValue) {
|
||||
if (document.selection) {
|
||||
// IE support
|
||||
myField.focus();
|
||||
sel = document.selection.createRange();
|
||||
sel.text = myValue;
|
||||
} else if (myField.selectionStart || myField.selectionStart == '0') {
|
||||
// MOZILLA/NETSCAPE support
|
||||
var startPos = myField.selectionStart;
|
||||
var endPos = myField.selectionEnd;
|
||||
myField.value = myField.value.substring(0, startPos)
|
||||
+ myValue
|
||||
+ myField.value.substring(endPos, myField.value.length);
|
||||
} else {
|
||||
myField.value += myValue;
|
||||
}
|
||||
}
|
||||
</script>";
|
||||
return $txt;
|
||||
}
|
||||
|
||||
/**
|
||||
* No WYSIWYG Editor - copy editor content to form field
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onSave( $editor ) {
|
||||
return;
|
||||
}
|
||||
|
||||
/**
|
||||
* No WYSIWYG Editor - get the editor content
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onGetContent( $editor ) {
|
||||
return "document.getElementById( '$editor' ).value;\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* No WYSIWYG Editor - set the editor content
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onSetContent( $editor, $html ) {
|
||||
return "document.getElementById( '$editor' ).value = $html;\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* No WYSIWYG Editor - display the editor
|
||||
*
|
||||
* @param string The name of the editor area
|
||||
* @param string The content of the field
|
||||
* @param string The name of the form field
|
||||
* @param string The width of the editor area
|
||||
* @param string The height of the editor area
|
||||
* @param int The number of columns for the editor area
|
||||
* @param int The number of rows for the editor area
|
||||
*/
|
||||
function onDisplay( $name, $content, $width, $height, $col, $row, $buttons = true )
|
||||
{
|
||||
// Only add "px" to width and height if they are not given as a percentage
|
||||
if (is_numeric( $width )) {
|
||||
$width .= 'px';
|
||||
}
|
||||
if (is_numeric( $height )) {
|
||||
$height .= 'px';
|
||||
}
|
||||
|
||||
$buttons = $this->_displayButtons($name, $buttons);
|
||||
$editor = "<textarea name=\"$name\" id=\"$name\" cols=\"$col\" rows=\"$row\" style=\"width: $width; height: $height;\">$content</textarea>" . $buttons;
|
||||
|
||||
return $editor;
|
||||
}
|
||||
|
||||
function onGetInsertMethod($name)
|
||||
{
|
||||
$doc = & JFactory::getDocument();
|
||||
|
||||
$js= "\tfunction jInsertEditorText( text, editor ) {
|
||||
insertAtCursor( document.getElementById(editor), text );
|
||||
}";
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function _displayButtons($name, $buttons)
|
||||
{
|
||||
// Load modal popup behavior
|
||||
JHTML::_('behavior.modal', 'a.modal-button');
|
||||
|
||||
$args['name'] = $name;
|
||||
$args['event'] = 'onGetInsertMethod';
|
||||
|
||||
$return = '';
|
||||
$results[] = $this->update($args);
|
||||
foreach ($results as $result) {
|
||||
if (is_string($result) && trim($result)) {
|
||||
$return .= $result;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($buttons))
|
||||
{
|
||||
$results = $this->_subject->getButtons($name, $buttons);
|
||||
|
||||
/*
|
||||
* This will allow plugins to attach buttons or change the behavior on the fly using AJAX
|
||||
*/
|
||||
$return .= "\n<div id=\"editor-xtd-buttons\">\n";
|
||||
foreach ($results as $button)
|
||||
{
|
||||
/*
|
||||
* Results should be an object
|
||||
*/
|
||||
if ( $button->get('name') )
|
||||
{
|
||||
$modal = ($button->get('modal')) ? 'class="modal-button"' : null;
|
||||
$href = ($button->get('link')) ? 'href="'.$button->get('link').'"' : null;
|
||||
$onclick = ($button->get('onclick')) ? 'onclick="'.$button->get('onclick').'"' : null;
|
||||
$return .= "<div class=\"button2-left\"><div class=\"".$button->get('name')."\"><a ".$modal." title=\"".$button->get('text')."\" ".$href." ".$onclick." rel=\"".$button->get('options')."\">".$button->get('text')."</a></div></div>\n";
|
||||
}
|
||||
}
|
||||
$return .= "</div>\n";
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
<?xml version="1.0" ?>
|
||||
<install version="1.5" type="plugin" group="editors">
|
||||
<name>Editor - None</name>
|
||||
<version>1.0</version>
|
||||
<creationDate>August 2004</creationDate>
|
||||
<author></author>
|
||||
<authorEmail>N/A</authorEmail>
|
||||
<authorUrl></authorUrl>
|
||||
<copyright>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</copyright>
|
||||
<license>LGPL</license>
|
||||
<description>This loads a basic text entry field</description>
|
||||
<files>
|
||||
<filename plugin="none">none.php</filename>
|
||||
</files>
|
||||
<params/>
|
||||
</install>
|
||||
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,198 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<install version="1.5" type="plugin" group="editors" method="upgrade">
|
||||
<name>Editor - TinyMCE 3</name>
|
||||
<version>3.2.4.1</version>
|
||||
<creationDate>2005-2009</creationDate>
|
||||
<author>Moxiecode Systems AB</author>
|
||||
<authorEmail>N/A</authorEmail>
|
||||
<authorUrl>tinymce.moxiecode.com/</authorUrl>
|
||||
<copyright>Moxiecode Systems AB</copyright>
|
||||
<license>LGPL</license>
|
||||
<description>DESCTINYMCE</description>
|
||||
<files>
|
||||
<filename plugin="tinymce3">tinymce3.php</filename>
|
||||
<folder>tinymce3</folder>
|
||||
</files>
|
||||
<languages>
|
||||
<language tag="en-GB">en-GB.plg_editors_tinymce3.ini</language>
|
||||
</languages>
|
||||
<params>
|
||||
<param name="mode" type="list" default="advanced" label="Functionality" description="Select functionality">
|
||||
<option value="simple">Simple</option>
|
||||
<option value="advanced">Advanced</option>
|
||||
<option value="extended">Extended</option>
|
||||
</param>
|
||||
<param name="skin" type="list" default="0" label="Skin" description="Select skin">
|
||||
<option value="0">Default</option>
|
||||
<option value="1">Office2007 Blue</option>
|
||||
<option value="2">Office2007 Silver</option>
|
||||
<option value="3">Office2007 Black</option>
|
||||
</param>
|
||||
<param name="compressed" type="radio" default="0" label="Compressed Version" description="PARAMCOMPRESSEDVERSION">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="cleanup_startup" type="radio" default="0" label="Code Cleanup on startup" description="Cleans code on editor load">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="cleanup_save" type="radio" default="2" label="Code Cleanup on Save" description="Code Cleanup upon saving article">
|
||||
<option value="0">Never</option>
|
||||
<option value="1">Front Only</option>
|
||||
<option value="2">Always</option>
|
||||
</param>
|
||||
<param name="entity_encoding" type="list" default="raw" label="Entity Encoding" description="Controls how entities get processed by editor">
|
||||
<option value="named">named</option>
|
||||
<option value="numeric">numeric</option>
|
||||
<option value="raw">raw</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="lang_mode" type="radio" default="0" label="Automatic Language Selection" description="DESCLANGMODE">
|
||||
<option value="0">No</option>
|
||||
<option value="1">Yes</option>
|
||||
</param>
|
||||
<param name="lang_code" type="text" default="en" size="2" label="Language Code" description="DESCLANGCODE"/>
|
||||
<param name="text_direction" type="list" default="ltr" label="Text Direction" description="Ability to change text direction">
|
||||
<option value="ltr">Left to Right</option>
|
||||
<option value="rtl">Right to Left</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="content_css" type="radio" default="1" label="Template CSS classes" description="PARAMTEMPLATECSS">
|
||||
<option value="0">No</option>
|
||||
<option value="1">Yes</option>
|
||||
</param>
|
||||
<param name="content_css_custom" type="text" size="30" default="" label="Custom CSS Classes" description="PARAMCUSTOMCSS"/>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="relative_urls" type="list" default="1" label="Urls" description="URL behaviour">
|
||||
<option value="0">Absolute</option>
|
||||
<option value="1">Relative</option>
|
||||
</param>
|
||||
<param name="newlines" type="list" default="0" label="Newlines" description="Newlines will be made into the selected option">
|
||||
<option value="1">BR Elements</option>
|
||||
<option value="0">P Elements</option>
|
||||
</param>
|
||||
<param name="invalid_elements" type="textarea" rows="2" cols="30" default="script,applet,iframe" label="Prohibited Elements" description="Elements that will be cleaned from the text"/>
|
||||
<param name="extended_elements" type="textarea" rows="2" cols="30" default="" label="Extended Valid Elements" description="PARAMEXTVALIDELEMENTS"/>
|
||||
</params>
|
||||
<params group="advanced">
|
||||
<param name="toolbar" type="list" default="top" label="Toolbar" description="Position of the toolbar">
|
||||
<option value="top">Top</option>
|
||||
<option value="bottom">Bottom</option>
|
||||
</param>
|
||||
<param name="toolbar_align" type="list" default="left" label="Toolbar align" description="Alignment of the toolbar">
|
||||
<option value="left">Left</option>
|
||||
<option value="center">Center</option>
|
||||
<option value="right">Right</option>
|
||||
</param>
|
||||
<param name="html_height" type="text" default="550" label="HTML Height" description="PARAMHTMLHEIGHT"/>
|
||||
<param name="html_width" type="text" default="750" label="HTML Width" description="PARAMHTMLWIDTH"/>
|
||||
<param name="element_path" type="radio" default="1" label="Element Path" description="PARAMELEMENTPATH">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="Params Extended Mode" label="" description="" />
|
||||
<param name="fonts" type="radio" default="1" label="Fonts" description="PARAMFONTS">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="paste" type="radio" default="1" label="Paste" description="PARAMPASTE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="searchreplace" type="radio" default="1" label="Search-Replace" description="PARAMSEARCHREPLACE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="insertdate" type="radio" default="1" label="Insert Date" description="PARAMINSERTDATE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="format_date" type="text" default="%Y-%m-%d" label="Date format" description="Format of inserted Date. Only works in Advanced mode"/>
|
||||
<param name="inserttime" type="radio" default="1" label="Insert Time" description="PARAMINSERTTIME">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="format_time" type="text" default="%H:%M:%S" label="Time format" description="Format of inserted Time. Only works in Advanced mode"/>
|
||||
<param name="colors" type="radio" default="1" label="Colors" description="PARAMCOLORS">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="table" type="radio" default="1" label="Table" description="PARAMTABLE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="smilies" type="radio" default="1" label="Smilies" description="PARAMSMILIES">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="media" type="radio" default="1" label="Media" description="PARAMMEDIA">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="hr" type="radio" default="1" label="Horizontal Rule" description="Show/Hide the Horizontal Rule button">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="directionality" type="radio" default="1" label="Directionality" description="PARAMDIRECTIONALITY">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="fullscreen" type="radio" default="1" label="Fullscreen" description="PARAMFULLSCREEN">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="style" type="radio" default="1" label="Style" description="PARAMSTYLE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="layer" type="radio" default="1" label="Layer" description="PARAMLAYER">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="xhtmlxtras" type="radio" default="1" label="XHTMLxtras" description="PARAMXHTMLXTRAS">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="visualchars" type="radio" default="1" label="Visualchars" description="Possibility to see invisible characters">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="nonbreaking" type="radio" default="1" label="Nonbreaking" description="Insert nonbreaking space entities">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="template" type="radio" default="1" label="Template" description="PARAMTEMPLATE">
|
||||
<option value="0">Hide</option>
|
||||
<option value="1">Show</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="advimage" type="radio" default="1" label="Advanced image" description="Turn on/off a more advanced image dialog">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="advlink" type="radio" default="1" label="Advanced link" description="Turn on/off a more advanced link dialog">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="autosave" type="radio" default="1" label="Save Warning" description="Save warning - gives warning if you cancel without saving changes">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="contextmenu" type="radio" default="1" label="Context menu" description="Turn on/off Context menu">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="inlinepopups" type="radio" default="1" label="Inline popups" description="All dialogs to open as floating DIV layers instead of popup windows. This option can be very useful in order to get around popup blockers.">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="safari" type="radio" default="0" label="Safari compatibility" description="Turn on/off Safari compatibility plugin">
|
||||
<option value="0">Off</option>
|
||||
<option value="1">On</option>
|
||||
</param>
|
||||
<param name="@spacer" type="spacer" default="" label="" description="" />
|
||||
<param name="custom_plugin" type="text" default="" label="Custom plugin" description="Add custom plugin(s)"/>
|
||||
<param name="custom_button" type="text" default="" label="Custom button" description="Add custom button(s)"/>
|
||||
</params>
|
||||
</install>
|
||||
@@ -0,0 +1,286 @@
|
||||
<?php
|
||||
/**
|
||||
* @version $Id: xstandard.php 10709 2008-08-21 09:58:52Z eddieajau $
|
||||
* @package Joomla
|
||||
* @copyright Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.
|
||||
* @license GNU/GPL, see LICENSE.php
|
||||
* Joomla! is free software. This version may have been modified pursuant
|
||||
* to the GNU General Public License, and as distributed it includes or
|
||||
* is derivative of works licensed under the GNU General Public License or
|
||||
* other free or open source software licenses.
|
||||
* See COPYRIGHT.php for copyright notices and details.
|
||||
*/
|
||||
|
||||
// Do not allow direct access
|
||||
defined( '_JEXEC' ) or die( 'Restricted access' );
|
||||
|
||||
jimport( 'joomla.plugin.plugin' );
|
||||
|
||||
/**
|
||||
* XStandard Lite for Joomla! WYSIWYG Editor Plugin
|
||||
*
|
||||
* @package Editors
|
||||
* @since 1.5
|
||||
*/
|
||||
class plgEditorXstandard extends JPlugin
|
||||
{
|
||||
/**
|
||||
* Constructor
|
||||
*
|
||||
* For php4 compatability we must not use the __constructor as a constructor for plugins
|
||||
* because func_get_args ( void ) returns a copy of all passed arguments NOT references.
|
||||
* This causes problems with cross-referencing necessary for the observer design pattern.
|
||||
*
|
||||
* @param object $subject The object to observe
|
||||
* @param array $config An array that holds the plugin configuration
|
||||
* @since 1.5
|
||||
*/
|
||||
function plgEditorXstandard(& $subject, $config)
|
||||
{
|
||||
parent::__construct($subject, $config);
|
||||
}
|
||||
|
||||
/**
|
||||
* Method to handle the onInitEditor event.
|
||||
* - Initializes the XStandard Lite WYSIWYG Editor
|
||||
*
|
||||
* @access public
|
||||
* @return string JavaScript Initialization string
|
||||
* @since 1.5
|
||||
*/
|
||||
function onInit()
|
||||
{
|
||||
$html = '';
|
||||
ob_start();
|
||||
?>
|
||||
<script type="text/javascript" src="<?php echo JURI::root() ?>/plugins/editors/xstandard/xstandard.js"></script>
|
||||
<?php
|
||||
$html = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
/**
|
||||
* XStandard Lite WYSIWYG Editor - get the editor content
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onGetContent( $editor ) {
|
||||
return "$('xstandard').value;";
|
||||
}
|
||||
|
||||
/**
|
||||
* XStandard Lite WYSIWYG Editor - set the editor content
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onSetContent( $editor, $html ) {
|
||||
return "$('xstandard').value =". $html .";";
|
||||
}
|
||||
|
||||
/**
|
||||
* XStandard Lite WYSIWYG Editor - copy editor content to form field
|
||||
*
|
||||
* @param string The name of the editor
|
||||
*/
|
||||
function onSave( $editor ) {
|
||||
|
||||
$js = "var editor = $('xstandard');\n";
|
||||
$js .= "editor.EscapeUnicode = true;";
|
||||
$js .= "$('".$editor."').value = editor.value;";
|
||||
|
||||
return $js;
|
||||
}
|
||||
|
||||
/**
|
||||
* XStandard Lite WYSIWYG Editor - display the editor
|
||||
*
|
||||
* @param string The name of the editor area
|
||||
* @param string The content of the field
|
||||
* @param string The name of the form field
|
||||
* @param string The width of the editor area
|
||||
* @param string The height of the editor area
|
||||
* @param int The number of columns for the editor area
|
||||
* @param int The number of rows for the editor area
|
||||
* @param mixed Can be boolean or array.
|
||||
*/
|
||||
function onDisplay( $name, $content, $width, $height, $col, $row, $buttons = true )
|
||||
{
|
||||
// Load modal popup behavior
|
||||
JHTML::_('behavior.modal', 'a.modal-button');
|
||||
|
||||
// Only add "px" to width and height if they are not given as a percentage
|
||||
if (is_numeric( $width )) {
|
||||
$width .= 'px';
|
||||
}
|
||||
if (is_numeric( $height )) {
|
||||
$height .= 'px';
|
||||
}
|
||||
|
||||
jimport('joomla.environment.browser');
|
||||
$instance =& JBrowser::getInstance();
|
||||
$language =& JFactory::getLanguage();
|
||||
$db =& JFactory::getDBO();
|
||||
|
||||
$url = JURI::root();
|
||||
|
||||
$lang = substr( $language->getTag(), 0, strpos( $language->getTag(), '-' ) );
|
||||
|
||||
if ($language->isRTL()) {
|
||||
$direction = 'rtl';
|
||||
} else {
|
||||
$direction = 'ltr';
|
||||
}
|
||||
|
||||
/*
|
||||
* Lets get the default template for the site application
|
||||
*/
|
||||
$query = 'SELECT template'
|
||||
. ' FROM #__templates_menu'
|
||||
. ' WHERE client_id = 0'
|
||||
. ' AND menuid = 0'
|
||||
;
|
||||
$db->setQuery( $query );
|
||||
$template = $db->loadResult();
|
||||
|
||||
$file_path = JPATH_SITE .'/templates/'. $template .'/css/';
|
||||
if ( !file_exists( $file_path .DS. 'editor.css' ) ) {
|
||||
$template = 'system';
|
||||
}
|
||||
|
||||
$css = JURI::root() .'/templates/'. $template . '/css/editor.css';
|
||||
|
||||
$html = '';
|
||||
ob_start();
|
||||
?>
|
||||
|
||||
<div style="border: 1px solid #D5D5D5">
|
||||
<object type="application/x-xstandard" id="xstandard" class="<?php echo $name ?>" width="<?php echo $width ?>" height="<?php echo $height ?>">
|
||||
<param name="Value" value="<?php echo $content ?>" />
|
||||
|
||||
<param name="Lang" value="<?php echo $lang ?>" />
|
||||
<param name="Dir" value="<?php echo $direction ?>" />
|
||||
<param name="EditorCSS" value="<?php echo $css ?>" />
|
||||
<param name="EnablePasteMarkup" value="yes" />
|
||||
<param name="EnableTimestamp" value="no" />
|
||||
<param name="EscapeUnicode" value="no" />
|
||||
<param name="ToolbarWysiwyg" value="line, hyperlink, attachment, directory, undo, , wysiwyg, source, screen-reader, ,expand; strong, em, underline, strikethrough, , align-left, align-center, align-right, , blockquote, undo-blockquote, ,numbering, bullets, , undo, redo, ,layout-table, data-table, draw-layout-table, draw-data-table" />
|
||||
<param name="ToolbarSource" value="indent, whitespace, word-wrap, dim-tags, validate,, wysiwyg, source, screen-reader, , expand" />
|
||||
<param name="ToolbarPreview" value="wysiwyg, source, screen-reader, ,expand" />
|
||||
<param name="ToolbarScreenReader" value="wysiwyg, source, screen-reader, , expand" />
|
||||
<param name="BackgroundColor" value="#F9F9F9" />
|
||||
<param name="Mode" value="<?php echo $this->params->get('mode', 'wysiwyg'); ?>" />
|
||||
<param name="IndentOutput" value="yes" />
|
||||
<param name="Options" value="<?php echo $this->params->get('wrap', '0'); ?>" />
|
||||
<param name="BorderColor" value="#FFF" />
|
||||
<param name="Base" value="<?php echo $url ?>" />
|
||||
<param name="ExpandWidth" value="800" />
|
||||
<param name="ExpandHeight" value="600" />
|
||||
|
||||
<param name="LatestVersion" value="2.0.0.0" />
|
||||
|
||||
<param name="CMSCode" value="065126D6-357D-46FC-AF74-A1F5B2D5036E" />
|
||||
<param name="CMSImageLibraryURL" value="<?php echo $url ?>plugins/editors/xstandard/imagelibrary.php" />
|
||||
<param name="CMSAttachmentLibraryURL" value="<?php echo $url ?>plugins/editors/xstandard/attachmentlibrary.php" />
|
||||
<param name="CMSDirectoryURL" value="<?php echo $url ?>plugins/editors/xstandard/directory.php" />
|
||||
<param name="PreviewXSLT" value="<?php echo $url ?>plugins/editors/xstandard/preview.xsl" />
|
||||
|
||||
<param name="CSS" value="<?php echo $this->_getTemplateCss(); ?>" />
|
||||
|
||||
<textarea name="alternate1" id="alternate1" cols="60" rows="15"><?php echo $content ?></textarea>
|
||||
</object>
|
||||
<input type="hidden" id="<?php echo $name ?>" name="<?php echo $name ?>" value="" />
|
||||
</div>
|
||||
<?php
|
||||
$html = ob_get_contents();
|
||||
ob_end_clean();
|
||||
|
||||
$html .= $this->_displayButtons($name, $buttons);
|
||||
|
||||
return $html;
|
||||
}
|
||||
|
||||
function onGetInsertMethod($name)
|
||||
{
|
||||
$doc = & JFactory::getDocument();
|
||||
|
||||
$js= "function jInsertEditorText( text ) {
|
||||
var editor = document.getElementById('xstandard');
|
||||
editor.InsertXML(text);
|
||||
}";
|
||||
$doc->addScriptDeclaration($js);
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
function _getTemplateCss()
|
||||
{
|
||||
$db =& JFactory::getDBO();
|
||||
|
||||
/*
|
||||
* Lets get the default template for the site application
|
||||
*/
|
||||
$query = 'SELECT template'
|
||||
. ' FROM #__templates_menu'
|
||||
. ' WHERE client_id = 0'
|
||||
. ' AND menuid = 0'
|
||||
;
|
||||
$db->setQuery( $query );
|
||||
$template = $db->loadResult();
|
||||
|
||||
$content_css = JURI::root() .'/templates/'. $template .'/css/';
|
||||
|
||||
$file_path = JPATH_SITE .'/templates/'. $template .'/css/';
|
||||
if ( file_exists( $file_path .DS. 'editor.css' ) ) {
|
||||
$content_css = $content_css . 'editor.css' .'", ';
|
||||
} else {
|
||||
$content_css = $content_css . 'template_css.css", ';
|
||||
}
|
||||
|
||||
return $content_css;
|
||||
}
|
||||
|
||||
function _displayButtons($name, $buttons)
|
||||
{
|
||||
// Load modal popup behavior
|
||||
JHTML::_('behavior.modal', 'a.modal-button');
|
||||
|
||||
$args['name'] = $name;
|
||||
$args['event'] = 'onGetInsertMethod';
|
||||
|
||||
$return = '';
|
||||
$results[] = $this->update($args);
|
||||
foreach ($results as $result) {
|
||||
if (is_string($result) && trim($result)) {
|
||||
$return .= $result;
|
||||
}
|
||||
}
|
||||
|
||||
if(!empty($buttons))
|
||||
{
|
||||
$results = $this->_subject->getButtons($name, $buttons);
|
||||
|
||||
/*
|
||||
* This will allow plugins to attach buttons or change the behavior on the fly using AJAX
|
||||
*/
|
||||
$return .= "\n<div id=\"editor-xtd-buttons\">\n";
|
||||
foreach ($results as $button)
|
||||
{
|
||||
/*
|
||||
* Results should be an object
|
||||
*/
|
||||
if ( $button->get('name') )
|
||||
{
|
||||
$modal = ($button->get('modal')) ? 'class="modal-button"' : null;
|
||||
$href = ($button->get('link')) ? 'href="'.$button->get('link').'"' : null;
|
||||
$onclick = ($button->get('onclick')) ? 'onclick="'.$button->get('onclick').'"' : null;
|
||||
$return .= "<div class=\"button2-left\"><div class=\"".$button->get('name')."\"><a ".$modal." title=\"".$button->get('text')."\" ".$href." ".$onclick." rel=\"".$button->get('options')."\">".$button->get('text')."</a></div></div>\n";
|
||||
}
|
||||
}
|
||||
$return .= "</div>\n";
|
||||
}
|
||||
|
||||
return $return;
|
||||
}
|
||||
}
|
||||
@@ -0,0 +1,27 @@
|
||||
<?xml version="1.0" ?>
|
||||
<install version="1.5" type="plugin" group="editors">
|
||||
<name>Editor - XStandard Lite for Joomla!</name>
|
||||
<version>1.0</version>
|
||||
<creationDate>Aug 2007</creationDate>
|
||||
<author>Joomla! Project</author>
|
||||
<authorEmail>[email protected]</authorEmail>
|
||||
<authorUrl>www.joomla.org</authorUrl>
|
||||
<copyright>Copyright (C) 2005 - 2008 Open Source Matters. All rights reserved.</copyright>
|
||||
<license>http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL</license>
|
||||
<description>DESCXSTANDARD</description>
|
||||
<files>
|
||||
<filename>xstandard_lite/xstandard.js</filename>
|
||||
<filename plugin="xstandard">xstandard.php</filename>
|
||||
</files>
|
||||
<params>
|
||||
<param name="mode" type="list" default="wysiwyg" label="Editor Mode" description="PARAMEDITORMODE">
|
||||
<option value="wysiwyg">Wysiwyg</option>
|
||||
<option value="source">Source</option>
|
||||
<option value="screen-reader">Screen-Reader</option>
|
||||
</param>
|
||||
<param name="wrap" type="list" default="0" label="Word Wrap" description="PARAMEDITORMODE">
|
||||
<option value="0">Off</option>
|
||||
<option value="8">On</option>
|
||||
</param>
|
||||
</params>
|
||||
</install>
|
||||
Reference in New Issue
Block a user