<?php /** * @version $Id: item.php 1618 2012-09-21 11:23:08Z lefteris.kavadas $ * @package K2 * @author JoomlaWorks http://www.joomlaworks.net * @copyright Copyright (c) 2006 - 2012 JoomlaWorks Ltd. All rights reserved. * @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html */ // no direct access defined('_JEXEC') or die ; if(version_compare(JVERSION,'3.0.0','ge')): require_once (JPATH_ADMINISTRATOR.'/components/com_k2/elements/base.php'); class K2ElementItem extends K2Element { function fetchElement($name, $value, &$node, $control_name) { //var_dump($name); JHtml::_('jquery.framework'); $mainframe = JFactory::getApplication(); $db = JFactory::getDBO(); $doc = JFactory::getDocument(); $fieldName = (K2_JVERSION != '15') ? $name : $control_name.'['.$name.']'; //var_dump($fieldName); JTable::addIncludePath(JPATH_ADMINISTRATOR.DIRECTORY_SEPARATOR.'components'.DIRECTORY_SEPARATOR.'com_k2'.DIRECTORY_SEPARATOR.'tables'); $item = JTable::getInstance('K2Item', 'Table'); if ($value) { $item->load($value); } else { $item->title = JText::_('K2_SELECT_AN_ITEM'); } /*$js = " function jSelectItem(id, title, object) { document.getElementById( '".$name."' + '_id').value = id; console.log(".$name."); document.getElementById('".$name."' + '_name').value = title; if(typeof(window.parent.SqueezeBox.close=='function')){ window.parent.SqueezeBox.close(); } else { document.getElementById('sbox-window').close(); } } "; $doc->addScriptDeclaration($js);*/ if(!defined('CBYNEWSSLIDERJS')){ $js = " jQuery(document).ready(function(){ jQuery('.cbitemSelect').click(function(el){ //console.log(this); //console.log(jQuery(this).attr('val')); window.cbSelectItem = jQuery(this).attr('val'); }); }); function jSelectItem(id, title, object) { //var name = 'jform[params]['+object.split('jformparams')[1]+']'; //console.log(name); //console.log(window.cbSelectItem); name = window.cbSelectItem; document.getElementById( name + '_id').value = id; //console.log(object.split('jformparams')[1]); document.getElementById(name + '_name').value = title; if(typeof(window.parent.SqueezeBox.close=='function')){ window.parent.SqueezeBox.close(); } else { document.getElementById('sbox-window').close(); } }"; $doc->addScriptDeclaration($js); define('CBYNEWSSLIDERJS',1); } $link = 'index.php?option=com_k2&view=items&task=element&tmpl=component&object='.$name; JHTML::_('behavior.modal', 'a.modal'); if (K2_JVERSION == '30') { //var_dump('asdas'); $html = '<span class="input-append"> <input type="text" id="'.$name.'_name" value="'.htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8').'" disabled="disabled" /> <a class="modal btn cbitemSelect" val="'.$name.'" title="'.JText::_('K2_SELECT_AN_ITEM').'" href="'.$link.'" rel="{handler: \'iframe\', size: {x: 700, y: 450}}"><i class="icon-file"></i>'.JText::_('K2_SELECT').'</a> <input type="hidden" class="required modal-value" id="'.$name.'_id" name="'.$fieldName.'" value="'.( int )$value.'" /> </span>'; } else { $html = ' <div style="float:left;"> <input style="background:#fff;margin:3px 0;" type="text" id="'.$name.'_name" value="'.htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8').'" disabled="disabled" /> </div> <div class="button2-left"> <div class="blank"> <a class="modal btn cbitemSelect" val="'.$name.'" title="'.JText::_('K2_SELECT_AN_ITEM').'" href="'.$link.'" rel="{handler: \'iframe\', size: {x: 700, y: 450}}">'.JText::_('K2_SELECT').'</a> </div> </div> <input type="hidden" id="'.$name.'_id" name="'.$fieldName.'" value="'.( int )$value.'" />'; } return $html; } } class JFormFieldItem extends K2ElementItem { var $type = 'item'; } class JElementItem extends K2ElementItem { var $_name = 'item'; } else: $doc = JFactory::getDocument(); $doc->addScript(JURI::root().'modules/mod_yahoostylenewsslider/yahoostylenewsslider/js/jquery.js?v=2'); $doc->addScriptDeclaration('jQuery.noConflict();'); if(K2_JVERSION=='16'){ jimport('joomla.form.formfield'); class JFormFieldItem extends JFormField { var $type = 'item'; function getInput(){ return JElementItem::fetchElement($this->name, $this->value, $this->element, $this->options['control']); } } } jimport('joomla.html.parameter.element'); class JElementItem extends JElement { var $_name = 'Item'; function fetchElement($name, $value, & $node, $control_name) { $mainframe = JFactory::getApplication(); $db = JFactory::getDBO(); $doc = JFactory::getDocument(); $fieldName = (K2_JVERSION=='16')?$name:$control_name.'['.$name.']'; JTable::addIncludePath(JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'tables'); $item = JTable::getInstance('K2Item', 'Table'); if ($value) { $item->load($value); } else { $item->title = JText::_('K2_SELECT_AN_ITEM'); } if(!defined('CBYNEWSSLIDERJS')){ $js = " jQuery(document).ready(function(){ jQuery('.cbitemSelect').click(function(el){ //console.log(this); //console.log(jQuery(this).attr('val')); window.cbSelectItem = jQuery(this).attr('val'); }); }); function jSelectItem(id, title, object) { //var name = 'jform[params]['+object.split('jformparams')[1]+']'; //console.log(name); //console.log(window.cbSelectItem); name = window.cbSelectItem; document.getElementById( name + '_id').value = id; //console.log(object.split('jformparams')[1]); document.getElementById(name + '_name').value = title; if(typeof(window.parent.SqueezeBox.close=='function')){ window.parent.SqueezeBox.close(); } else { document.getElementById('sbox-window').close(); } }"; $doc->addScriptDeclaration($js); define('CBYNEWSSLIDERJS',1); } $link = 'index.php?option=com_k2&view=items&task=element&tmpl=component&object='.$name; JHTML::_('behavior.modal', 'a.modal'); $html = ' <div style="float:left;"> <input style="background:#fff;margin:3px 0;" type="text" id="'.$name.'_name" value="'.htmlspecialchars($item->title, ENT_QUOTES, 'UTF-8').'" disabled="disabled" /> </div> <div class="button2-left"> <div class="blank"> <a class="modal cbitemSelect" val="'.$name.'" title="'.JText::_('K2_SELECT_AN_ITEM').'" href="'.$link.'" rel="{handler: \'iframe\', size: {x: 700, y: 450}}">'.JText::_('K2_SELECT').'</a> </div> </div> <input type="hidden" id="'.$name.'_id" name="'.$fieldName.'" value="'.( int )$value.'" /> '; return $html; } } endif;