* @link http://www.nonumber.nl * @copyright Copyright (C) 2010 NoNumber! All Rights Reserved * @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL */ // Ensure this file is being included by a parent file defined( '_JEXEC' ) or die( 'Restricted access' ); /** * Articles Element */ class JElementArticles extends JElement { /** * Element name * * @access protected * @var string */ var $_name = 'Articles'; function fetchElement( $name, $value, &$node, $control_name ) { JHTML::_( 'behavior.modal', 'a.modal' ); $_size = $node->attributes( 'size' ); $_multiple = $this->def( $node->attributes( 'multiple'), 1 ); $value = html_entity_decoder( JText::_( $value ) ); $_doc =& JFactory::getDocument(); if ( $_multiple ) { $_js = " function jSelectArticle( id, title, object ) { document.getElementById(object).value = document.getElementById(object).value.trim(); if ( document.getElementById(object).value ) { document.getElementById(object).value += ','; } document.getElementById(object).value += id; document.getElementById('sbox-window').close(); }"; } else { $_js = " function jSelectArticle( id, title, object ) { document.getElementById(object).value = id; document.getElementById(object+'_text').value = title; document.getElementById('sbox-window').close(); }"; } $_doc->addScriptDeclaration( $_js ); $_link = 'index.php?option=com_content&task=element&tmpl=component&object='.$control_name.$name; $html = "\n".'
'; if( !$_multiple ) { $value_name = $value; if ( $value ) { $db =& JFactory::getDBO(); // load the list of menu types $query = 'SELECT title' . ' FROM #__content' . ' WHERE id = '.$value. ' LIMIT 1'; $db->setQuery( $query ); $value_name = $db->loadResult(); $value_name .= ' ['.$value.']'; } $html .= ''; $html .= ''; } else { $html .= ''; } $html .= '
'; $html .= '
'.JText::_('Select').'
'."\n"; return $html; } function def( $val, $default ) { return ( $val == '' ) ? $default : $val; } }