?
Path : /home/admin/domains/happytokorea.com/public_html_bk/promice/plugins/editors/ |
Current File : /home/admin/domains/happytokorea.com/public_html_bk/promice/plugins/editors/none.php |
<?php /** * @version $Id: none.php 14401 2010-01-26 14:10:00Z louis $ * @package Joomla * @copyright Copyright (C) 2005 - 2010 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; } }