git-svn-id: https://192.168.0.254/svn/Proyectos.FundacionLQDVI_WebCongresos/trunk@2 94ccb1af-fd9d-d947-8d90-7f70ea60afc8
83 lines
2.4 KiB
PHP
83 lines
2.4 KiB
PHP
<?php
|
|
/**
|
|
* @version $Id: readmore.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' );
|
|
|
|
/**
|
|
* Editor Readmore buton
|
|
*
|
|
* @package Editors-xtd
|
|
* @since 1.5
|
|
*/
|
|
class plgButtonReadmore 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 plgButtonReadmore(& $subject, $config)
|
|
{
|
|
parent::__construct($subject, $config);
|
|
}
|
|
|
|
/**
|
|
* readmore button
|
|
* @return array A two element array of ( imageName, textToInsert )
|
|
*/
|
|
function onDisplay($name)
|
|
{
|
|
global $mainframe;
|
|
|
|
$doc =& JFactory::getDocument();
|
|
$template = $mainframe->getTemplate();
|
|
|
|
// button is not active in specific content components
|
|
|
|
$getContent = $this->_subject->getContent($name);
|
|
$present = JText::_('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->set('modal', false);
|
|
$button->set('onclick', 'insertReadmore(\''.$name.'\');return false;');
|
|
$button->set('text', JText::_('Readmore'));
|
|
$button->set('name', 'readmore');
|
|
// TODO: The button writer needs to take into account the javascript directive
|
|
//$button->set('link', 'javascript:void(0)');
|
|
$button->set('link', '#');
|
|
|
|
return $button;
|
|
}
|
|
} |