joomla_test/modules/mod_yahoostylenewsslider/yahoostylenewsslider/fields/item.php

217 lines
9.5 KiB
PHP
Raw Normal View History

2020-01-02 22:20:31 +07:00
<?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&amp;view=items&amp;task=element&amp;tmpl=component&amp;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&amp;view=items&amp;task=element&amp;tmpl=component&amp;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;