/plugins/editors-xtd/readmore/readmore.php
https://bitbucket.org/eternaware/joomus · PHP · 75 lines · 41 code · 7 blank · 27 comment · 1 complexity · 0b7aa0168f72b8730bbbff3aa2a59477 MD5 · raw file
- <?php
- /**
- * @package Joomla.Plugin
- * @subpackage Editors-xtd.readmore
- *
- * @copyright Copyright (C) 2005 - 2012 Open Source Matters, Inc. All rights reserved.
- * @license GNU General Public License version 2 or later; see LICENSE.txt
- */
- defined('_JEXEC') or die;
- /**
- * Editor Readmore buton
- *
- * @package Joomla.Plugin
- * @subpackage Editors-xtd.readmore
- * @since 1.5
- */
- class plgButtonReadmore extends JPlugin
- {
- /**
- * Constructor
- *
- * @access protected
- * @param object $subject The object to observe
- * @param array $config An array that holds the plugin configuration
- * @since 1.5
- */
- public function __construct(& $subject, $config)
- {
- parent::__construct($subject, $config);
- $this->loadLanguage();
- }
- /**
- * readmore button
- * @return array A two element array of (imageName, textToInsert)
- */
- public function onDisplay($name)
- {
- $app = JFactory::getApplication();
- $doc = JFactory::getDocument();
- $template = $app->getTemplate();
- // button is not active in specific content components
- $getContent = $this->_subject->getContent($name);
- $present = JText::_('PLG_READMORE_ALREADY_EXISTS', true);
- $js = "
- function insertReadmore(editor) {
- var content = $getContent
- if (content.match(/<hr\s+id=(\"|')system-readmore(\"|')\s*\/*>/i)) {
- alert('$present');
- return false;
- } else {
- jInsertEditorText('<hr id=\"system-readmore\" />', editor);
- }
- }
- ";
- $doc->addScriptDeclaration($js);
- $button = new JObject;
- $button->modal = false;
- $button->onclick = 'insertReadmore(\''.$name.'\');return false;';
- $button->text = JText::_('PLG_READMORE_BUTTON_READMORE');
- $button->name = 'arrow-down';
- // TODO: The button writer needs to take into account the javascript directive
- //$button->link', 'javascript:void(0)');
- $button->link = '#';
- return $button;
- }
- }