joomla_test/plugins/editors-xtd/readmore/readmore.php

74 lines
1.7 KiB
PHP
Raw Normal View History

2020-01-02 22:20:31 +07:00
<?php
/**
* @package Joomla.Plugin
* @subpackage Editors-xtd.readmore
*
* @copyright Copyright (C) 2005 - 2013 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
{
/**
* Load the language file on instantiation.
*
* @var boolean
* @since 3.1
*/
protected $autoloadLanguage = true;
/**
* Readmore button
*
* @param string $name The name of the button to add
*
* @return array A two element array of (imageName, textToInsert)
*/
public function onDisplay($name)
{
$doc = JFactory::getDocument();
// 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->class = 'btn';
$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;
}
}