first commit

This commit is contained in:
alazhar
2020-01-02 22:20:31 +07:00
commit 10eb3340ad
5753 changed files with 631345 additions and 0 deletions

View File

@ -0,0 +1,647 @@
<?php
/**
* @version $Id: categories.php 1937 2013-03-07 15:19:16Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelCategories extends K2Model
{
function getData()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', 'c.ordering', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', '', 'word');
$filter_trash = $mainframe->getUserStateFromRequest($option.$view.'filter_trash', 'filter_trash', 0, 'int');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', -1, 'int');
$language = $mainframe->getUserStateFromRequest($option.$view.'language', 'language', '', 'string');
$filter_category = $mainframe->getUserStateFromRequest($option.$view.'filter_category', 'filter_category', 0, 'int');
$query = "SELECT c.*, g.name AS groupname, exfg.name as extra_fields_group FROM #__k2_categories as c LEFT JOIN #__groups AS g ON g.id = c.access LEFT JOIN #__k2_extra_fields_groups AS exfg ON exfg.id = c.extraFieldsGroup WHERE c.id>0";
if (!$filter_trash)
{
$query .= " AND c.trash=0";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( c.name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if ($filter_state > -1)
{
$query .= " AND c.published={$filter_state}";
}
if ($language)
{
$query .= " AND (c.language = ".$db->Quote($language)." OR c.language = '*')";
}
if ($filter_category)
{
K2Model::addIncludePath(JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'models');
$ItemlistModel = K2Model::getInstance('Itemlist', 'K2Model');
$tree = $ItemlistModel->getCategoryTree($filter_category);
$query .= " AND c.id IN (".implode(',', $tree).")";
}
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}";
if (K2_JVERSION != '15')
{
$query = JString::str_ireplace('#__groups', '#__viewlevels', $query);
$query = JString::str_ireplace('g.name AS groupname', 'g.title AS groupname', $query);
}
$db->setQuery($query);
$rows = $db->loadObjectList();
if (K2_JVERSION != '15')
{
foreach ($rows as $row)
{
$row->parent_id = $row->parent;
$row->title = $row->name;
}
}
$categories = array();
if ($search)
{
foreach ($rows as $row)
{
$row->treename = $row->name;
$categories[] = $row;
}
}
else
{
if ($filter_category)
{
$db->setQuery('SELECT parent FROM #__k2_categories WHERE id = '.$filter_category);
$root = $db->loadResult();
}
else
{
$root = 0;
}
$categories = $this->indentRows($rows, $root);
}
if (isset($categories))
{
$total = count($categories);
}
else
{
$total = 0;
}
jimport('joomla.html.pagination');
$pageNav = new JPagination($total, $limitstart, $limit);
$categories = @array_slice($categories, $pageNav->limitstart, $pageNav->limit);
foreach ($categories as $category)
{
$category->parameters = class_exists('JParameter') ? new JParameter($category->params) : new JRegistry($category->params);
if ($category->parameters->get('inheritFrom'))
{
$db->setQuery("SELECT name FROM #__k2_categories WHERE id = ".(int)$category->parameters->get('inheritFrom'));
$category->inheritFrom = $db->loadResult();
}
else
{
$category->inheritFrom = '';
}
}
return $categories;
}
function getTotal()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$filter_trash = $mainframe->getUserStateFromRequest($option.$view.'filter_trash', 'filter_trash', 0, 'int');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', 1, 'int');
$language = $mainframe->getUserStateFromRequest($option.$view.'language', 'language', '', 'string');
$filter_category = $mainframe->getUserStateFromRequest($option.$view.'filter_category', 'filter_category', 0, 'int');
$query = "SELECT COUNT(*) FROM #__k2_categories WHERE id>0";
if (!$filter_trash)
{
$query .= " AND trash=0";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if ($filter_state > -1)
{
$query .= " AND published={$filter_state}";
}
if ($language)
{
$query .= " AND (language = ".$db->Quote($language)." OR language = '*')";
}
if ($filter_category)
{
K2Model::addIncludePath(JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'models');
$ItemlistModel = K2Model::getInstance('Itemlist', 'K2Model');
$tree = $ItemlistModel->getCategoryTree($filter_category);
$query .= " AND id IN (".implode(',', $tree).")";
}
$db->setQuery($query);
$total = $db->loadResult();
return $total;
}
function indentRows(&$rows, $root = 0)
{
$children = array();
if (count($rows))
{
foreach ($rows as $v)
{
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push($list, $v);
$children[$pt] = $list;
}
}
$categories = JHTML::_('menu.treerecurse', $root, '', array(), $children);
return $categories;
}
function publish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load($id);
$row->publish($id, 1);
}
JPluginHelper::importPlugin('finder');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onFinderChangeState', array('com_k2.category', $cid, 1));
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=categories');
}
function unpublish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load($id);
$row->publish($id, 0);
}
JPluginHelper::importPlugin('finder');
$dispatcher = JDispatcher::getInstance();
$dispatcher->trigger('onFinderChangeState', array('com_k2.category', $cid, 0));
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=categories');
}
function saveorder()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid', array(0), 'post', 'array');
$total = count($cid);
$order = JRequest::getVar('order', array(0), 'post', 'array');
JArrayHelper::toInteger($order, array(0));
$groupings = array();
for ($i = 0; $i < $total; $i++)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load(( int )$cid[$i]);
$groupings[] = $row->parent;
if ($row->ordering != $order[$i])
{
$row->ordering = $order[$i];
if (!$row->store())
{
JError::raiseError(500, $db->getErrorMsg());
}
}
}
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
{
$groupings = array_unique($groupings);
foreach ($groupings as $group)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->reorder('parent = '.( int )$group.' AND trash=0');
}
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
return true;
}
function orderup()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2Category', 'Table');
$row->load($cid[0]);
$row->move(-1, 'parent = '.$row->parent.' AND trash=0');
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
$row->reorder('parent = '.$row->parent.' AND trash=0');
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ORDERING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=categories', $msg);
}
function orderdown()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2Category', 'Table');
$row->load($cid[0]);
$row->move(1, 'parent = '.$row->parent.' AND trash=0');
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
$row->reorder('parent = '.$row->parent.' AND trash=0');
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ORDERING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=categories', $msg);
}
function accessregistered()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$row = JTable::getInstance('K2Category', 'Table');
$cid = JRequest::getVar('cid');
$row->load($cid[0]);
$row->access = 1;
if (!$row->check())
{
return $row->getError();
}
if (!$row->store())
{
return $row->getError();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ACCESS_SETTING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=categories', $msg);
}
function accessspecial()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$row = JTable::getInstance('K2Category', 'Table');
$cid = JRequest::getVar('cid');
$row->load($cid[0]);
$row->access = 2;
if (!$row->check())
{
return $row->getError();
}
if (!$row->store())
{
return $row->getError();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ACCESS_SETTING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=categories', $msg);
}
function accesspublic()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$row = JTable::getInstance('K2Category', 'Table');
$cid = JRequest::getVar('cid');
$row->load($cid[0]);
$row->access = 0;
if (!$row->check())
{
return $row->getError();
}
if (!$row->store())
{
return $row->getError();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ACCESS_SETTING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=categories', $msg);
}
function trash()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2Category', 'Table');
JArrayHelper::toInteger($cid);
K2Model::addIncludePath(JPATH_SITE.DS.'components'.DS.'com_k2'.DS.'models');
$model = K2Model::getInstance('Itemlist', 'K2Model');
$categories = $model->getCategoryTree($cid);
$sql = @implode(',', $categories);
$db = JFactory::getDBO();
$query = "UPDATE #__k2_categories SET trash=1 WHERE id IN ({$sql})";
$db->setQuery($query);
$db->query();
$query = "UPDATE #__k2_items SET trash=1 WHERE catid IN ({$sql})";
$db->setQuery($query);
$db->query();
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=categories', JText::_('K2_CATEGORIES_MOVED_TO_TRASH'));
}
function restore()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
$warning = false;
$restored = array();
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load($id);
if ((int)$row->parent == 0)
{
$row->trash = 0;
$row->store();
$restored[] = $id;
}
else
{
$query = "SELECT COUNT(*) FROM #__k2_categories WHERE id={$row->parent} AND trash = 0";
$db->setQuery($query);
$result = $db->loadResult();
if ($result)
{
$row->trash = 0;
$row->store();
$restored[] = $id;
}
else
{
$warning = true;
}
}
}
// Restore also the items of the categories
if (count($restored))
{
JArrayHelper::toInteger($restored);
$db->setQuery('UPDATE #__k2_items SET trash = 0 WHERE catid IN ('.implode(',', $restored).') AND trash = 1');
$db->query();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
if ($warning)
$mainframe->enqueueMessage(JText::_('K2_SOME_OF_THE_CATEGORIES_HAVE_NOT_BEEN_RESTORED_BECAUSE_THEIR_PARENT_CATEGORY_IS_IN_TRASH'), 'notice');
$mainframe->redirect('index.php?option=com_k2&view=categories', JText::_('K2_CATEGORIES_RESTORED'));
}
function remove()
{
$mainframe = JFactory::getApplication();
jimport('joomla.filesystem.file');
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
JPluginHelper::importPlugin('finder');
$dispatcher = JDispatcher::getInstance();
$warningItems = false;
$warningChildren = false;
$cid = array_reverse($cid);
for ($i = 0; $i < sizeof($cid); $i++)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load($cid[$i]);
$query = "SELECT COUNT(*) FROM #__k2_items WHERE catid={$cid[$i]}";
$db->setQuery($query);
$num = $db->loadResult();
if ($num > 0)
{
$warningItems = true;
}
$query = "SELECT COUNT(*) FROM #__k2_categories WHERE parent={$cid[$i]}";
$db->setQuery($query);
$children = $db->loadResult();
if ($children > 0)
{
$warningChildren = true;
}
if ($children == 0 && $num == 0)
{
if ($row->image)
{
JFile::delete(JPATH_ROOT.DS.'media'.DS.'k2'.DS.'categories'.DS.$row->image);
}
$row->delete($cid[$i]);
$dispatcher->trigger('onFinderAfterDelete', array('com_k2.category', $row));
}
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
if ($warningItems)
{
$mainframe->enqueueMessage(JText::_('K2_SOME_OF_THE_CATEGORIES_HAVE_NOT_BEEN_DELETED_BECAUSE_THEY_HAVE_ITEMS'), 'notice');
}
if ($warningChildren)
{
$mainframe->enqueueMessage(JText::_('K2_SOME_OF_THE_CATEGORIES_HAVE_NOT_BEEN_DELETED_BECAUSE_THEY_HAVE_CHILD_CATEGORIES'), 'notice');
}
$mainframe->redirect('index.php?option=com_k2&view=categories', JText::_('K2_DELETE_COMPLETED'));
}
function categoriesTree($row = NULL, $hideTrashed = false, $hideUnpublished = true)
{
$db = JFactory::getDBO();
if (isset($row->id))
{
$idCheck = ' AND id != '.( int )$row->id;
}
else
{
$idCheck = null;
}
if (!isset($row->parent))
{
if (is_null($row))
{
$row = new stdClass;
}
$row->parent = 0;
}
$query = "SELECT m.* FROM #__k2_categories m WHERE id > 0 {$idCheck}";
if ($hideUnpublished)
{
$query .= " AND published=1 ";
}
if ($hideTrashed)
{
$query .= " AND trash=0 ";
}
$query .= " ORDER BY parent, ordering";
$db->setQuery($query);
$mitems = $db->loadObjectList();
$children = array();
if ($mitems)
{
foreach ($mitems as $v)
{
if (K2_JVERSION != '15')
{
$v->title = $v->name;
$v->parent_id = $v->parent;
}
$pt = $v->parent;
$list = @$children[$pt] ? $children[$pt] : array();
array_push($list, $v);
$children[$pt] = $list;
}
}
$list = JHTML::_('menu.treerecurse', 0, '', array(), $children, 9999, 0, 0);
$mitems = array();
foreach ($list as $item)
{
$item->treename = JString::str_ireplace('&#160;', '- ', $item->treename);
if ($item->trash)
$item->treename .= ' [**'.JText::_('K2_TRASHED_CATEGORY').'**]';
if (!$item->published)
$item->treename .= ' [**'.JText::_('K2_UNPUBLISHED_CATEGORY').'**]';
$mitems[] = JHTML::_('select.option', $item->id, $item->treename);
}
return $mitems;
}
function copy()
{
jimport('joomla.filesystem.file');
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
foreach ($cid as $id)
{
//Load source category
$category = JTable::getInstance('K2Category', 'Table');
$category->load($id);
//Save target category
$row = JTable::getInstance('K2Category', 'Table');
$row = $category;
$row->id = NULL;
$row->name = JText::_('K2_COPY_OF').' '.$category->name;
$row->published = 0;
$row->store();
//Target image
if ($category->image && JFile::exists(JPATH_SITE.DS.'media'.DS.'k2'.DS.'categories'.DS.$category->image))
{
JFile::copy(JPATH_SITE.DS.'media'.DS.'k2'.DS.'categories'.DS.$category->image, JPATH_SITE.DS.'media'.DS.'k2'.DS.'categories'.DS.$row->id.'.jpg');
$row->image = $row->id.'.jpg';
$row->store();
}
}
$mainframe->redirect('index.php?option=com_k2&view=categories', JText::_('K2_COPY_COMPLETED'));
}
function move()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
$catid = JRequest::getInt('category');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Category', 'Table');
$row->load($id);
$row->parent = $catid;
$row->ordering = $row->getNextOrder('parent = '.$row->parent.' AND published = 1');
$row->store();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=categories', JText::_('K2_MOVE_COMPLETED'));
}
}

View File

@ -0,0 +1,170 @@
<?php
/**
* @version $Id: category.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelCategory extends K2Model
{
function getData()
{
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2Category', 'Table');
$row->load($cid);
return $row;
}
function save()
{
$mainframe = JFactory::getApplication();
jimport('joomla.filesystem.file');
require_once (JPATH_COMPONENT.DS.'lib'.DS.'class.upload.php');
$row = JTable::getInstance('K2Category', 'Table');
$params = JComponentHelper::getParams('com_k2');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=categories', $row->getError(), 'error');
}
$isNew = ($row->id) ? false : true;
//Trigger the finder before save event
$dispatcher = JDispatcher::getInstance();
JPluginHelper::importPlugin('finder');
$results = $dispatcher->trigger('onFinderBeforeSave', array('com_k2.category', $row, $isNew));
$row->description = JRequest::getVar('description', '', 'post', 'string', 2);
if ($params->get('xssFiltering'))
{
$filter = new JFilterInput( array(), array(), 1, 1, 0);
$row->description = $filter->clean($row->description);
}
if (!$row->id)
{
$row->ordering = $row->getNextOrder('parent = '.$row->parent.' AND trash=0');
}
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=category&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=categories', $row->getError(), 'error');
}
if (!$params->get('disableCompactOrdering'))
$row->reorder('parent = '.$row->parent.' AND trash=0');
if ((int)$params->get('imageMemoryLimit'))
{
ini_set('memory_limit', (int)$params->get('imageMemoryLimit').'M');
}
$files = JRequest::get('files');
$savepath = JPATH_ROOT.DS.'media'.DS.'k2'.DS.'categories'.DS;
$existingImage = JRequest::getVar('existingImage');
if (($files['image']['error'] === 0 || $existingImage) && !JRequest::getBool('del_image'))
{
if ($files['image']['error'] === 0)
{
$image = $files['image'];
}
else
{
$image = JPATH_SITE.DS.JPath::clean($existingImage);
}
$handle = new Upload($image);
if ($handle->uploaded)
{
$handle->file_auto_rename = false;
$handle->jpeg_quality = $params->get('imagesQuality', '85');
$handle->file_overwrite = true;
$handle->file_new_name_body = $row->id;
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = $params->get('catImageWidth', '100');
$handle->Process($savepath);
if ($files['image']['error'] === 0)
$handle->Clean();
}
else
{
$mainframe->redirect('index.php?option=com_k2&view=categories', $handle->error, 'error');
}
$row->image = $handle->file_dst_name;
}
if (JRequest::getBool('del_image'))
{
$currentRow = JTable::getInstance('K2Category', 'Table');
$currentRow->load($row->id);
if (JFile::exists(JPATH_ROOT.DS.'media'.DS.'k2'.DS.'categories'.DS.$currentRow->image))
{
JFile::delete(JPATH_ROOT.DS.'media'.DS.'k2'.DS.'categories'.DS.$currentRow->image);
}
$row->image = '';
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=categories', $row->getError(), 'error');
}
//Trigger the finder after save event
$dispatcher = JDispatcher::getInstance();
JPluginHelper::importPlugin('finder');
$results = $dispatcher->trigger('onFinderAfterSave', array('com_k2.category', $row, $isNew));
$cache = JFactory::getCache('com_k2');
$cache->clean();
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_CATEGORY_SAVED');
$link = 'index.php?option=com_k2&view=category&cid='.$row->id;
break;
case 'saveAndNew' :
$msg = JText::_('K2_CATEGORY_SAVED');
$link = 'index.php?option=com_k2&view=category';
break;
case 'save' :
default :
$msg = JText::_('K2_CATEGORY_SAVED');
$link = 'index.php?option=com_k2&view=categories';
break;
}
$mainframe->redirect($link, $msg);
}
function countCategoryItems($catid, $trash = 0)
{
$db = JFactory::getDBO();
$catid = (int)$catid;
$query = "SELECT COUNT(*) FROM #__k2_items WHERE catid={$catid} AND trash = ".(int)$trash;
$db->setQuery($query);
$result = $db->loadResult();
return $result;
}
}

View File

@ -0,0 +1,938 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<name>K2_CATEGORY_EDIT_FORM</name>
<params group="category-item-layout" addpath="/administrator/components/com_k2/elements">
<param name="" type="header" default="K2_LAYOUT_TEMPLATE" label="" description=""/>
<param name="theme" type="template" default="default" label="K2_SELECT_A_TEMPLATE"/>
<param name="" type="header" default="K2_LAYOUT_GRID" label="" description=""/>
<param name="num_leading_items" type="text" size="4" default="2" label="K2_LEADING_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_LEADING"/>
<param name="num_leading_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_LEADING" description=""/>
<param name="leadingImgSize" type="list" default="Large" label="K2_IMAGE_SIZE_FOR_LEADING_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</param>
<param name="@spacer" type="spacer" default="" label="" description=""/>
<param name="num_primary_items" type="text" size="4" default="4" label="K2_PRIMARY_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_PRIMARY"/>
<param name="num_primary_columns" type="text" size="4" default="2" label="K2_COLUMNS_FOR_PRIMARY" description=""/>
<param name="primaryImgSize" type="list" default="Medium" label="K2_IMAGE_SIZE_FOR_PRIMARY_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</param>
<param name="@spacer" type="spacer" default="" label="" description=""/>
<param name="num_secondary_items" type="text" size="4" default="4" label="K2_SECONDARY_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_SECONDARY"/>
<param name="num_secondary_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_SECONDARY" description=""/>
<param name="secondaryImgSize" type="list" default="Small" label="K2_IMAGE_SIZE_FOR_SECONDARY_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</param>
<param name="@spacer" type="spacer" default="" label="" description=""/>
<param name="num_links" type="text" size="4" default="4" label="K2_LINKS_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_LINKS"/>
<param name="num_links_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_LINKS" description=""/>
<param name="linksImgSize" type="list" default="XSmall" label="K2_IMAGE_SIZE_FOR_LINK_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</param>
<param name="" type="header" default="K2_OTHER_LAYOUT_OPTIONS" label="" description=""/>
<param name="catCatalogMode" type="list" default="0" label="K2_CATALOG_MODE" description="K2_IF_YOU_SELECT_YES_THEN_ONLY_THE_ITEMS_DIRECTLY_BELONGING_TO_THIS_CATEGORY_WILL_BE_RETRIEVED_IF_YOU_SELECT_NO_THEN_ITEMS_FROM_ALL_SUBCATEGORIES_WILL_BE_RETRIEVED_SETTING_THIS_OPTION_TO_NO_IS_IDEAL_FOR_NEWSPORTALMAGAZINEBLOG_LAYOUTS">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="catFeaturedItems" type="list" default="1" label="K2_FEATURED_ITEMS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
<option value="2">K2_SHOW_ONLY_FEATURED_ITEMS</option>
</param>
<param name="catOrdering" type="list" default="" label="K2_ITEM_ORDERING" description="">
<option value="">K2_DEFAULT</option>
<option value="date">K2_OLDEST_FIRST</option>
<option value="rdate">K2_MOST_RECENT_FIRST</option>
<option value="publishUp">K2_RECENTLY_PUBLISHED</option>
<option value="alpha">K2_TITLE_ALPHABETICAL</option>
<option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
<option value="order">K2_ORDERING</option>
<option value="rorder">K2_ORDERING_REVERSE</option>
<option value="featured">K2_FEATURED_FIRST</option>
<option value="hits">K2_MOST_POPULAR</option>
<option value="best">K2_HIGHEST_RATED</option>
<option value="modified">K2_LATEST_MODIFIED</option>
<option value="rand">K2_RANDOM_ORDERING</option>
</param>
<param name="catPagination" type="list" default="2" label="K2_PAGINATION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
<option value="2">K2_AUTO</option>
</param>
<param name="catPaginationResults" type="radio" default="1" label="K2_PAGINATION_RESULTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
</params>
<params group="category-view-options" addpath="/administrator/components/com_k2/elements">
<param name="catTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catTitleItemCounter" type="radio" default="1" label="K2_ITEM_COUNTER_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catDescription" type="radio" default="1" label="K2_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catFeedLink" type="radio" default="1" label="K2_RSS_FEED_LINK" description="">
<option value="0">K2_DISABLE</option>
<option value="1">K2_ENABLE</option>
</param>
<param name="catFeedIcon" type="radio" default="1" label="K2_RSS_FEED_ICON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_SUBCATEGORY_HANDLING" label="" description=""/>
<param name="subCategories" type="radio" default="1" label="K2_SUBCATEGORY_BLOCKS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="subCatColumns" type="text" default="2" size="4" label="K2_COLUMNS" description=""/>
<param name="subCatOrdering" type="list" default="" label="K2_SUBCATEGORY_ORDERING" description="">
<option value="">K2_DEFAULT_BY_ID_ASCENDING</option>
<option value="reversedefault">K2_REVERSE_DEFAULT_BY_ID_DESCENDING</option>
<option value="alpha">K2_TITLE_ALPHABETICAL</option>
<option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
<option value="order">K2_ORDERING</option>
</param>
<param name="subCatTitle" type="radio" default="1" label="K2_SUBCATEGORY_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="subCatTitleItemCounter" type="radio" default="1" label="K2_ITEM_COUNTER_NEXT_TO_SUBCATEGORY_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="subCatDescription" type="radio" default="1" label="K2_SUBCATEGORY_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="subCatImage" type="radio" default="1" label="K2_SUBCATEGORY_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
</params>
<params group="item-image-options" addpath="/administrator/components/com_k2/elements">
<param name="itemImageXS" type="text" default="" label="K2_XSMALL_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<param name="itemImageS" type="text" default="" label="K2_SMALL_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<param name="itemImageM" type="text" default="" label="K2_MEDIUM_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<param name="itemImageL" type="text" default="" label="K2_LARGE_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<param name="itemImageXL" type="text" default="" label="K2_XLARGE_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
</params>
<params group="item-view-options-listings" addpath="/administrator/components/com_k2/elements">
<param name="catItemTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemTitleLinked" type="radio" default="1" label="K2_LINK_ON_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemFeaturedNotice" type="radio" default="0" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAuthor" type="radio" default="1" label="K2_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemDateCreated" type="radio" default="1" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemRating" type="radio" default="0" label="K2_RATING_VOTING" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemIntroText" type="radio" default="1" label="K2_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemIntroTextWordLimit" type="text" default="" size="4" label="K2_INTROTEXT_WORD_LIMIT" description="K2_IF_THIS_OPTION_IS_ENABLED_ALL_HTML_TAGS_IN_THE_INTROTEXT_WILL_BE_CLEANED_UP_TO_MAKE_SURE_THE_SITE_MARKUP_WILL_NOT_BREAK"/>
<param name="catItemExtraFields" type="radio" default="0" label="K2_EXTRA_FIELDS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemHits" type="radio" default="0" label="K2_HITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemCategory" type="radio" default="1" label="K2_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemTags" type="radio" default="1" label="K2_TAGS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAttachments" type="radio" default="0" label="K2_ATTACHMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAttachmentsCounter" type="radio" default="0" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemVideo" type="radio" default="0" label="K2_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<param name="catItemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<param name="catItemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<param name="catItemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<param name="catItemVideoAutoPlay" type="radio" default="0" label="K2_MEDIA_AUTOPLAY" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="catItemImageGallery" type="radio" default="0" label="K2_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemDateModified" type="radio" default="0" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemReadMore" type="radio" default="1" label="K2_READ_MORE_LINK" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemCommentsAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_ITEMS_COMMENT_FORM" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_ADVANCED" label="" description=""/>
<param name="catItemK2Plugins" type="radio" default="1" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
</params>
<params group="item-view-options" addpath="/administrator/components/com_k2/elements">
<param name="itemDateCreated" type="radio" default="1" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFeaturedNotice" type="radio" default="1" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthor" type="radio" default="1" label="K2_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFontResizer" type="radio" default="1" label="K2_FONT_RESIZER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemPrintButton" type="radio" default="1" label="K2_PRINT_BUTTON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemEmailButton" type="radio" default="1" label="K2_EMAIL_BUTTON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemSocialButton" type="radio" default="1" label="K2_SOCIAL_BUTTON_LIKE_SHARETHIS_ADDTHIS_ETC" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_TO_VIDEO" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageGalleryAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_TO_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemCommentsAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_COMMENT_FORM" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRating" type="radio" default="1" label="K2_RATING_VOTING" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImgSize" type="list" default="Large" label="K2_IMAGE_SIZE" description="">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</param>
<param name="itemImageMainCaption" type="radio" default="1" label="K2_IMAGE_CAPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageMainCredits" type="radio" default="1" label="K2_IMAGE_CREDITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemIntroText" type="radio" default="1" label="K2_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFullText" type="radio" default="1" label="K2_FULLTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemExtraFields" type="radio" default="1" label="K2_EXTRA_FIELDS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemDateModified" type="radio" default="1" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemHits" type="radio" default="1" label="K2_HITS_PAGE_VIEWS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemCategory" type="radio" default="1" label="K2_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemTags" type="radio" default="1" label="K2_TAGS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAttachments" type="radio" default="1" label="K2_ATTACHMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAttachmentsCounter" type="radio" default="1" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideo" type="radio" default="1" label="K2_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<param name="itemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<param name="itemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<param name="itemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<param name="itemVideoAutoPlay" type="radio" default="0" label="K2_MEDIA_AUTOPLAY" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="itemVideoCaption" type="radio" default="1" label="K2_MEDIA_CAPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoCredits" type="radio" default="1" label="K2_MEDIA_CREDITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageGallery" type="radio" default="1" label="K2_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemNavigation" type="radio" default="1" label="K2_ITEM_NAVIGATION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemComments" type="radio" default="1" label="K2_COMMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_SOCIAL_SHARING" label="" description=""/>
<param name="itemTwitterButton" type="radio" default="1" label="K2_TWITTER_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFacebookButton" type="radio" default="1" label="K2_FACEBOOK_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemGooglePlusOneButton" type="radio" default="1" label="K2_GOOGLEPLUSONE_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_AUTHOR_OPTIONS" label="" description=""/>
<param name="itemAuthorBlock" type="radio" default="1" label="K2_DISPLAY_EXTENDED_AUTHOR_INFO" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorImage" type="radio" default="1" label="K2_AUTHOR_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorDescription" type="radio" default="1" label="K2_AUTHOR_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorURL" type="radio" default="1" label="K2_AUTHOR_URL" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorEmail" type="radio" default="0" label="K2_AUTHOR_EMAIL" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorLatest" type="radio" default="1" label="K2_LATEST_ITEMS_FROM_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorLatestLimit" type="text" default="5" size="4" label="K2_LIMIT_FOR_LATEST_ITEMS_FROM_AUTHOR" description=""/>
<param name="" type="header" default="K2_RELATED_ITEMS" label="" description=""/>
<param name="itemRelated" type="radio" default="1" label="K2_RELATED_ITEMS_BY_TAG" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedLimit" type="text" default="5" size="4" label="K2_RELATED_ITEMS_LIMIT" description=""/>
<param name="itemRelatedTitle" type="radio" default="1" label="K2_RELATED_ITEMS_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedCategory" type="radio" default="0" label="K2_RELATED_ITEMS_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedImageSize" type="list" default="0" label="K2_RELATED_ITEMS_IMAGE" description="">
<option value="0">K2_NONE_SELECTED</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</param>
<param name="itemRelatedIntrotext" type="radio" default="0" label="K2_RELATED_ITEMS_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedFulltext" type="radio" default="0" label="K2_RELATED_ITEMS_FULLTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedAuthor" type="radio" default="0" label="K2_RELATED_ITEMS_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedMedia" type="radio" default="0" label="K2_RELATED_ITEMS_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedImageGallery" type="radio" default="0" label="K2_RELATED_ITEMS_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_ADVANCED" label="" description=""/>
<param name="itemK2Plugins" type="radio" default="1" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
</params>
<!-- Metadata Information -->
<params group="category-metadata-information" addpath="/administrator/components/com_k2/elements">
<param name="catMetaDesc" type="textarea" default="" label="K2_DESCRIPTION" description="" rows="4" cols="25" />
<param name="catMetaKey" type="textarea" default="" label="K2_KEYWORDS" description="" rows="4" cols="25" />
<param name="catMetaRobots" type="text" default="" label="K2_ROBOTS" description=""/>
<param name="catMetaAuthor" type="text" default="" label="K2_AUTHOR" description=""/>
</params>
<fields name="params">
<fieldset name="category-item-layout" addfieldpath="/administrator/components/com_k2/elements">
<param name="" type="header" default="K2_LAYOUT_TEMPLATE" label="" description=""/>
<field name="theme" type="template" default="default" label="K2_SELECT_A_TEMPLATE"/>
<field name="" type="header" default="K2_LAYOUT_GRID" label="" description=""/>
<field name="num_leading_items" type="text" size="4" default="2" label="K2_LEADING_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_LEADING"/>
<field name="num_leading_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_LEADING" description=""/>
<field name="leadingImgSize" type="list" default="Large" label="K2_IMAGE_SIZE_FOR_LEADING_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</field>
<field name="@spacer" type="spacer" default="" label="" description=""/>
<field name="num_primary_items" type="text" size="4" default="4" label="K2_PRIMARY_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_PRIMARY"/>
<field name="num_primary_columns" type="text" size="4" default="2" label="K2_COLUMNS_FOR_PRIMARY" description=""/>
<field name="primaryImgSize" type="list" default="Medium" label="K2_IMAGE_SIZE_FOR_PRIMARY_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</field>
<field name="@spacer" type="spacer" default="" label="" description=""/>
<field name="num_secondary_items" type="text" size="4" default="4" label="K2_SECONDARY_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_SECONDARY"/>
<field name="num_secondary_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_SECONDARY" description=""/>
<field name="secondaryImgSize" type="list" default="Small" label="K2_IMAGE_SIZE_FOR_SECONDARY_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</field>
<field name="@spacer" type="spacer" default="" label="" description=""/>
<field name="num_links" type="text" size="4" default="4" label="K2_LINKS_COUNT" description="K2_NUMBER_OF_ITEMS_TO_DISPLAY_AS_LINKS"/>
<field name="num_links_columns" type="text" size="4" default="1" label="K2_COLUMNS_FOR_LINKS" description=""/>
<field name="linksImgSize" type="list" default="XSmall" label="K2_IMAGE_SIZE_FOR_LINK_ITEMS" description="K2_YOU_CAN_OVERRIDE_THE_GLOBAL_DIMENSIONS_FOR_EACH_SIZE_BY_ADJUSTING_THE_RELATED_SETTING_IN_THE_ITEM_IMAGE_OPTIONS_PANE_BELOW">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
<option value="none">K2_NO_IMAGE</option>
</field>
<field name="" type="header" default="K2_OTHER_LAYOUT_OPTIONS" label="" description=""/>
<field name="catCatalogMode" type="list" default="0" label="K2_CATALOG_MODE" description="K2_IF_YOU_SELECT_YES_THEN_ONLY_THE_ITEMS_DIRECTLY_BELONGING_TO_THIS_CATEGORY_WILL_BE_RETRIEVED_IF_YOU_SELECT_NO_THEN_ITEMS_FROM_ALL_SUBCATEGORIES_WILL_BE_RETRIEVED_SETTING_THIS_OPTION_TO_NO_IS_IDEAL_FOR_NEWSPORTALMAGAZINEBLOG_LAYOUTS">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="catFeaturedItems" type="list" default="1" label="K2_FEATURED_ITEMS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
<option value="2">K2_SHOW_ONLY_FEATURED_ITEMS</option>
</field>
<field name="catOrdering" type="list" default="" label="K2_ITEM_ORDERING" description="">
<option value="">K2_DEFAULT</option>
<option value="date">K2_OLDEST_FIRST</option>
<option value="rdate">K2_MOST_RECENT_FIRST</option>
<option value="publishUp">K2_RECENTLY_PUBLISHED</option>
<option value="alpha">K2_TITLE_ALPHABETICAL</option>
<option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
<option value="order">K2_ORDERING</option>
<option value="rorder">K2_ORDERING_REVERSE</option>
<option value="featured">K2_FEATURED_FIRST</option>
<option value="hits">K2_MOST_POPULAR</option>
<option value="best">K2_HIGHEST_RATED</option>
<option value="modified">K2_LATEST_MODIFIED</option>
<option value="rand">K2_RANDOM_ORDERING</option>
</field>
<field name="catPagination" type="list" default="2" label="K2_PAGINATION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
<option value="2">K2_AUTO</option>
</field>
<field name="catPaginationResults" type="radio" default="1" label="K2_PAGINATION_RESULTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
</fieldset>
<fieldset name="category-view-options" addfieldpath="/administrator/components/com_k2/elements">
<field name="catTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catTitleItemCounter" type="radio" default="1" label="K2_ITEM_COUNTER_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catDescription" type="radio" default="1" label="K2_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catFeedLink" type="radio" default="1" label="K2_RSS_FEED_LINK" description="">
<option value="0">K2_DISABLE</option>
<option value="1">K2_ENABLE</option>
</field>
<field name="catFeedIcon" type="radio" default="1" label="K2_RSS_FEED_ICON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_SUBCATEGORY_HANDLING" label="" description=""/>
<field name="subCategories" type="radio" default="1" label="K2_SUBCATEGORY_BLOCKS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="subCatColumns" type="text" default="2" size="4" label="K2_COLUMNS" description=""/>
<field name="subCatOrdering" type="list" default="" label="K2_SUBCATEGORY_ORDERING" description="">
<option value="">K2_DEFAULT_BY_ID_ASCENDING</option>
<option value="reversedefault">K2_REVERSE_DEFAULT_BY_ID_DESCENDING</option>
<option value="alpha">K2_TITLE_ALPHABETICAL</option>
<option value="ralpha">K2_TITLE_REVERSEALPHABETICAL</option>
<option value="order">K2_ORDERING</option>
</field>
<field name="subCatTitle" type="radio" default="1" label="K2_SUBCATEGORY_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="subCatTitleItemCounter" type="radio" default="1" label="K2_ITEM_COUNTER_NEXT_TO_SUBCATEGORY_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="subCatDescription" type="radio" default="1" label="K2_SUBCATEGORY_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="subCatImage" type="radio" default="1" label="K2_SUBCATEGORY_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
</fieldset>
<fieldset name="item-image-options" addfieldpath="/administrator/components/com_k2/elements">
<field name="itemImageXS" type="text" default="" label="K2_XSMALL_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<field name="itemImageS" type="text" default="" label="K2_SMALL_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<field name="itemImageM" type="text" default="" label="K2_MEDIUM_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<field name="itemImageL" type="text" default="" label="K2_LARGE_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
<field name="itemImageXL" type="text" default="" label="K2_XLARGE_IMAGE_WIDTH_IN_PX" size="4" description="K2_IF_NO_VALUE_IS_ENTERED_THE_RELATED_SETTING_FROM_THE_COMPONENTS_GLOBAL_PARAMETERS_WILL_BE_RETRIEVED"/>
</fieldset>
<fieldset name="item-view-options-listings" addfieldpath="/administrator/components/com_k2/elements">
<field name="catItemTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemTitleLinked" type="radio" default="1" label="K2_LINK_ON_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemFeaturedNotice" type="radio" default="0" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAuthor" type="radio" default="1" label="K2_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemDateCreated" type="radio" default="1" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemRating" type="radio" default="0" label="K2_RATING_VOTING" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemIntroText" type="radio" default="1" label="K2_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemIntroTextWordLimit" type="text" default="" size="4" label="K2_INTROTEXT_WORD_LIMIT" description="K2_IF_THIS_OPTION_IS_ENABLED_ALL_HTML_TAGS_IN_THE_INTROTEXT_WILL_BE_CLEANED_UP_TO_MAKE_SURE_THE_SITE_MARKUP_WILL_NOT_BREAK"/>
<field name="catItemExtraFields" type="radio" default="0" label="K2_EXTRA_FIELDS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemHits" type="radio" default="0" label="K2_HITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemCategory" type="radio" default="1" label="K2_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemTags" type="radio" default="1" label="K2_TAGS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAttachments" type="radio" default="0" label="K2_ATTACHMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAttachmentsCounter" type="radio" default="0" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemVideo" type="radio" default="0" label="K2_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<field name="catItemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<field name="catItemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<field name="catItemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<field name="catItemVideoAutoPlay" type="radio" default="0" label="K2_MEDIA_AUTOPLAY" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="catItemImageGallery" type="radio" default="0" label="K2_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemDateModified" type="radio" default="0" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemReadMore" type="radio" default="1" label="K2_READ_MORE_LINK" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemCommentsAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_ITEMS_COMMENT_FORM" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_ADVANCED" label="" description=""/>
<field name="catItemK2Plugins" type="radio" default="1" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
</fieldset>
<fieldset name="item-view-options" addfieldpath="/administrator/components/com_k2/elements">
<field name="itemDateCreated" type="radio" default="1" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemTitle" type="radio" default="1" label="K2_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFeaturedNotice" type="radio" default="1" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthor" type="radio" default="1" label="K2_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFontResizer" type="radio" default="1" label="K2_FONT_RESIZER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemPrintButton" type="radio" default="1" label="K2_PRINT_BUTTON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemEmailButton" type="radio" default="1" label="K2_EMAIL_BUTTON" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemSocialButton" type="radio" default="1" label="K2_SOCIAL_BUTTON_LIKE_SHARETHIS_ADDTHIS_ETC" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_TO_VIDEO" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageGalleryAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_TO_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemCommentsAnchor" type="radio" default="1" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_COMMENT_FORM" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRating" type="radio" default="1" label="K2_RATING_VOTING" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImage" type="radio" default="1" label="K2_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImgSize" type="list" default="Large" label="K2_IMAGE_SIZE" description="">
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</field>
<field name="itemImageMainCaption" type="radio" default="1" label="K2_IMAGE_CAPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageMainCredits" type="radio" default="1" label="K2_IMAGE_CREDITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemIntroText" type="radio" default="1" label="K2_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFullText" type="radio" default="1" label="K2_FULLTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemExtraFields" type="radio" default="1" label="K2_EXTRA_FIELDS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemDateModified" type="radio" default="1" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemHits" type="radio" default="1" label="K2_HITS_PAGE_VIEWS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemCategory" type="radio" default="1" label="K2_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemTags" type="radio" default="1" label="K2_TAGS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAttachments" type="radio" default="1" label="K2_ATTACHMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAttachmentsCounter" type="radio" default="1" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideo" type="radio" default="1" label="K2_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<field name="itemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<field name="itemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<field name="itemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<field name="itemVideoAutoPlay" type="radio" default="0" label="K2_MEDIA_AUTOPLAY" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="itemVideoCaption" type="radio" default="1" label="K2_MEDIA_CAPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoCredits" type="radio" default="1" label="K2_MEDIA_CREDITS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageGallery" type="radio" default="1" label="K2_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemNavigation" type="radio" default="1" label="K2_ITEM_NAVIGATION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemComments" type="radio" default="1" label="K2_COMMENTS" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_SOCIAL_SHARING" label="" description=""/>
<field name="itemTwitterButton" type="radio" default="1" label="K2_TWITTER_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFacebookButton" type="radio" default="1" label="K2_FACEBOOK_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemGooglePlusOneButton" type="radio" default="1" label="K2_GOOGLEPLUSONE_SHARE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_AUTHOR_OPTIONS" label="" description=""/>
<field name="itemAuthorBlock" type="radio" default="1" label="K2_DISPLAY_EXTENDED_AUTHOR_INFO" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorImage" type="radio" default="1" label="K2_AUTHOR_IMAGE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorDescription" type="radio" default="1" label="K2_AUTHOR_DESCRIPTION" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorURL" type="radio" default="1" label="K2_AUTHOR_URL" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorEmail" type="radio" default="0" label="K2_AUTHOR_EMAIL" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorLatest" type="radio" default="1" label="K2_LATEST_ITEMS_FROM_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorLatestLimit" type="text" default="5" size="4" label="K2_LIMIT_FOR_LATEST_ITEMS_FROM_AUTHOR" description=""/>
<field name="" type="header" default="K2_RELATED_ITEMS" label="" description=""/>
<field name="itemRelated" type="radio" default="1" label="K2_RELATED_ITEMS_BY_TAG" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedLimit" type="text" default="5" size="4" label="K2_RELATED_ITEMS_LIMIT" description=""/>
<field name="itemRelatedTitle" type="radio" default="1" label="K2_RELATED_ITEMS_TITLE" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedCategory" type="radio" default="0" label="K2_RELATED_ITEMS_CATEGORY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedImageSize" type="list" default="0" label="K2_RELATED_ITEMS_IMAGE" description="">
<option value="0">K2_NONE_SELECTED</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</field>
<field name="itemRelatedIntrotext" type="radio" default="0" label="K2_RELATED_ITEMS_INTROTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedFulltext" type="radio" default="0" label="K2_RELATED_ITEMS_FULLTEXT" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedAuthor" type="radio" default="0" label="K2_RELATED_ITEMS_AUTHOR" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedMedia" type="radio" default="0" label="K2_RELATED_ITEMS_MEDIA" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedImageGallery" type="radio" default="0" label="K2_RELATED_ITEMS_IMAGE_GALLERY" description="">
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_ADVANCED" label="" description=""/>
<field name="itemK2Plugins" type="radio" default="1" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
</fieldset>
<!-- Metadata Information -->
<fieldset name="category-metadata-information" addfieldpath="/administrator/components/com_k2/elements">
<field name="catMetaDesc" type="textarea" default="" label="K2_DESCRIPTION" description="" rows="4" cols="25" />
<field name="catMetaKey" type="textarea" default="" label="K2_KEYWORDS" description="" rows="4" cols="25" />
<field name="catMetaRobots" type="text" default="" label="K2_ROBOTS" description="" />
<field name="catMetaAuthor" type="text" default="" label="K2_AUTHOR" description="" />
</fieldset>
</fields>
</form>

View File

@ -0,0 +1,313 @@
<?php
/**
* @version $Id: comments.php 1992 2013-07-04 16:36:38Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelComments extends K2Model {
function getData() {
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', 'c.id', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', 'DESC', 'word');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', -1, 'int');
$filter_category = $mainframe->getUserStateFromRequest($option.$view.'filter_category', 'filter_category', 0, 'int');
$filter_author = $mainframe->getUserStateFromRequest($option.$view.'filter_author', 'filter_author', 0, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT c.*, i.title , i.catid, i.alias AS itemAlias, i.created_by, cat.alias AS catAlias, cat.name as catName FROM #__k2_comments AS c LEFT JOIN #__k2_items AS i ON c.itemID=i.id LEFT JOIN #__k2_categories AS cat ON cat.id=i.catid WHERE c.id>0";
if ($filter_state > - 1) {
$query .= " AND c.published={$filter_state}";
}
if ($filter_category) {
$query .= " AND i.catid={$filter_category}";
}
if ($filter_author) {
$query .= " AND i.created_by={$filter_author}";
}
if ($search) {
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( c.commentText ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if (!$filter_order) {
$filter_order = "c.commentDate";
}
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}";
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
return $rows;
}
function getTotal() {
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', 1, 'int');
$filter_category = $mainframe->getUserStateFromRequest($option.$view.'filter_category', 'filter_category', 0, 'int');
$filter_author = $mainframe->getUserStateFromRequest($option.$view.'filter_author', 'filter_author', 0, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT COUNT(*) FROM #__k2_comments AS c LEFT JOIN #__k2_items AS i ON c.itemID=i.id WHERE c.id>0";
if ($filter_state > - 1) {
$query .= " AND c.published={$filter_state}";
}
if ($filter_category) {
$query .= " AND i.catid={$filter_category}";
}
if ($filter_author) {
$query .= " AND i.created_by={$filter_author}";
}
if ($search) {
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( c.commentText ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
$db->setQuery($query);
$total = $db->loadresult();
return $total;
}
function publish() {
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$cid = JRequest::getVar('cid');
if(!count($cid)){
$cid[]=JRequest::getInt('commentID');
}
foreach ($cid as $id) {
$row = JTable::getInstance('K2Comment', 'Table');
$row->load($id);
if($mainframe->isSite()){
$item = JTable::getInstance('K2Item', 'Table');
$item->load($row->itemID);
if ($item->created_by != $user->id) {
JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
$mainframe->close();
}
}
$row->publish($id, 1);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
if(JRequest::getCmd('format')=='raw'){
echo 'true';
$mainframe->close();
}
$mainframe->redirect('index.php?option=com_k2&view=comments');
}
function unpublish() {
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$cid = JRequest::getVar('cid');
foreach ($cid as $id) {
$row = JTable::getInstance('K2Comment', 'Table');
$row->load($id);
if($mainframe->isSite()){
$item = JTable::getInstance('K2Item', 'Table');
$item->load($row->itemID);
if ($item->created_by != $user->id) {
JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
$mainframe->close();
}
}
$row->publish($id, 0);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=comments');
}
function remove() {
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
if(!count($cid)){
$cid[]=JRequest::getInt('commentID');
}
foreach ($cid as $id) {
$row = JTable::getInstance('K2Comment', 'Table');
$row->load($id);
if($mainframe->isSite()){
$item = JTable::getInstance('K2Item', 'Table');
$item->load($row->itemID);
if ($item->created_by != $user->id) {
JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
$mainframe->close();
}
}
$row->delete($id);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
if(JRequest::getCmd('format')=='raw'){
echo 'true';
$mainframe->close();
}
$mainframe->redirect('index.php?option=com_k2&view=comments', JText::_('K2_DELETE_COMPLETED'));
}
function deleteUnpublished() {
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$user = JFactory::getUser();
$userID = $user->id;
if($mainframe->isSite()){
$query = "SELECT c.id FROM #__k2_comments AS c
LEFT JOIN #__k2_items AS i ON c.itemID=i.id
WHERE i.created_by = {$userID} AND c.published=0";
$db->setQuery($query);
$ids = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();
if (count($ids)){
$query = "DELETE FROM #__k2_comments WHERE id IN(".implode(',', $ids).")";
$db->setQuery($query);
$db->query();
}
}
else {
$query = "DELETE FROM #__k2_comments WHERE published=0";
$db->setQuery($query);
$db->query();
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=comments', JText::_('K2_DELETE_COMPLETED'));
}
function save() {
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$db = JFactory::getDBO();
$id = JRequest::getInt('commentID');
$item = JTable::getInstance('K2Item', 'Table');
$row = JTable::getInstance('K2Comment', 'Table');
$row->load($id);
if($mainframe->isSite()){
$item->load($row->itemID);
if ($item->created_by != $user->id) {
JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
}
}
$row->commentText = JRequest::getVar('commentText', '', 'default', 'string', 4);
$row->store();
$cache = JFactory::getCache('com_k2');
$cache->clean();
$response = new JObject;
$response->comment = $row->commentText;
$response->message = JText::_('K2_COMMENT_SAVED');
unset($response->_errors);
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
echo $json->encode($response);
$mainframe->close();
}
function report(){
$id = $this->getState('id');
$name = JString::trim($this->getState('name'));
$reportReason = JString::trim($this->getState('reportReason'));
$params = &K2HelperUtilities::getParams('com_k2');
$user = JFactory::getUser();
$row = JTable::getInstance('K2Comment', 'Table');
$row->load($id);
if(!$row->published){
$this->setError(JText::_('K2_COMMENT_NOT_FOUND'));
return false;
}
if(empty($name)){
$this->setError(JText::_('K2_PLEASE_TYPE_YOUR_NAME'));
return false;
}
if(empty($reportReason)){
$this->setError(JText::_('K2_PLEASE_TYPE_THE_REPORT_REASON'));
return false;
}
if (($params->get('antispam') == 'recaptcha' || $params->get('antispam') == 'both') && $user->guest) {
if(!function_exists('_recaptcha_qsencode'))
{
require_once (JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'lib'.DS.'recaptchalib.php');
}
$privatekey = $params->get('recaptcha_private_key');
$resp = recaptcha_check_answer($privatekey, $_SERVER["REMOTE_ADDR"], $_POST["recaptcha_challenge_field"], $_POST["recaptcha_response_field"]);
if (!$resp->is_valid) {
$this->setError(JText::_('K2_THE_WORDS_YOU_TYPED_DID_NOT_MATCH_THE_ONES_DISPLAYED_PLEASE_TRY_AGAIN'));
return false;
}
}
$mainframe = JFactory::getApplication();
$mail = JFactory::getMailer();
$senderEmail = $mainframe->getCfg('mailfrom');
$senderName = $mainframe->getCfg('fromname');
$mail->setSender(array($senderEmail, $senderName));
$mail->setSubject(JText::_('K2_COMMENT_REPORT'));
$mail->IsHTML(true);
switch(substr(strtoupper(PHP_OS), 0, 3)) {
case 'WIN':
$mail->LE = "\r\n";
break;
case 'MAC':
case 'DAR':
$mail->LE = "\r";
default:
break;
}
$body = "
<strong>".JText::_('K2_NAME')."</strong>: ".$name." <br/>
<strong>".JText::_('K2_REPORT_REASON')."</strong>: ".$reportReason." <br/>
<strong>".JText::_('K2_COMMENT')."</strong>: ".nl2br($row->commentText)." <br/>
";
$mail->setBody($body);
$mail->ClearAddresses();
$mail->AddAddress($params->get('commentsReportRecipient', $mainframe->getCfg('mailfrom')));
$mail->Send();
return true;
}
}

View File

@ -0,0 +1,457 @@
<?php
/**
* @version $Id: extrafield.php 1965 2013-04-29 16:01:44Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelExtraField extends K2Model
{
function getData()
{
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($cid);
return $row;
}
function save()
{
$mainframe = JFactory::getApplication();
$row = JTable::getInstance('K2ExtraField', 'Table');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=extrafields', $row->getError(), 'error');
}
$isNewGroup = JRequest::getInt('isNew');
if ($isNewGroup)
{
$group = JTable::getInstance('K2ExtraFieldsGroup', 'Table');
$group->set('name', JRequest::getVar('group'));
$group->store();
$row->group = $group->id;
}
if (!$row->id)
{
$row->ordering = $row->getNextOrder("`group` = {$row->group}");
}
$objects = array();
$values = JRequest::getVar('option_value', null, 'default', 'none', 4);
$names = JRequest::getVar('option_name');
$target = JRequest::getVar('option_target');
$editor = JRequest::getVar('option_editor');
$rows = JRequest::getVar('option_rows');
$cols = JRequest::getVar('option_cols');
$alias = JRequest::getWord('alias');
$required = JRequest::getInt('required');
$showNull = JRequest::getInt('showNull');
$displayInFrontEnd = JRequest::getInt('displayInFrontEnd');
if (JString::strtolower($alias) == 'this')
{
$alias = '';
}
for ($i = 0; $i < sizeof($values); $i++)
{
$object = new JObject;
$object->set('name', $names[$i]);
if ($row->type == 'select' || $row->type == 'multipleSelect' || $row->type == 'radio')
{
$object->set('value', $i + 1);
}
elseif ($row->type == 'link')
{
if (substr($values[$i], 0, 7) == 'http://')
{
$values[$i] = $values[$i];
}
else
{
$values[$i] = 'http://'.$values[$i];
}
$object->set('value', $values[$i]);
}
elseif ($row->type == 'csv')
{
$file = JRequest::getVar('csv_file', NULL, 'FILES');
$csvFile = $file['tmp_name'];
if (!empty($csvFile) && JFile::getExt($file['name']) == 'csv')
{
$handle = @fopen($csvFile, 'r');
$csvData = array();
while (($data = fgetcsv($handle, 1000)) !== FALSE)
{
$csvData[] = $data;
}
fclose($handle);
$object->set('value', $csvData);
}
else
{
require_once (JPATH_COMPONENT.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
$object->set('value', $json->decode($values[$i]));
if (JRequest::getBool('K2ResetCSV'))
$object->set('value', null);
}
}
elseif ($row->type == 'textarea')
{
$object->set('value', $values[$i]);
$object->set('editor', $editor[$i]);
$object->set('rows', $rows[$i]);
$object->set('cols', $cols[$i]);
}
elseif ($row->type == 'image')
{
$object->set('value', $values[$i]);
}
elseif ($row->type == 'header')
{
$object->set('value', JRequest::getString('name'));
$object->set('displayInFrontEnd', $displayInFrontEnd);
}
else
{
$object->set('value', $values[$i]);
}
$object->set('target', $target[$i]);
$object->set('alias', $alias);
$object->set('required', $required);
$object->set('showNull', $showNull);
unset($object->_errors);
$objects[] = $object;
}
require_once (JPATH_COMPONENT.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
$row->value = $json->encode($objects);
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=extrafield&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=extrafields', $row->getError(), 'error');
}
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
$row->reorder("`group` = {$row->group}");
$cache = JFactory::getCache('com_k2');
$cache->clean();
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_EXTRA_FIELD_SAVED');
$link = 'index.php?option=com_k2&view=extrafield&cid='.$row->id;
break;
case 'save' :
default :
$msg = JText::_('K2_EXTRA_FIELD_SAVED');
$link = 'index.php?option=com_k2&view=extrafields';
break;
}
$mainframe->redirect($link, $msg);
}
function getExtraFieldsByGroup($group)
{
$db = JFactory::getDBO();
$group = (int)$group;
$query = "SELECT * FROM #__k2_extra_fields WHERE `group`={$group} AND published=1 ORDER BY ordering";
$db->setQuery($query);
$rows = $db->loadObjectList();
return $rows;
}
function renderExtraField($extraField, $itemID = NULL)
{
$mainframe = JFactory::getApplication();
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
if (!is_null($itemID))
{
$item = JTable::getInstance('K2Item', 'Table');
$item->load($itemID);
}
$defaultValues = $json->decode($extraField->value);
foreach ($defaultValues as $value)
{
$required = isset($value->required) ? $value->required : 0;
$showNull = isset($value->showNull) ? $value->showNull : 0;
if ($extraField->type == 'textfield' || $extraField->type == 'csv' || $extraField->type == 'labels' || $extraField->type == 'date')
{
$active = $value->value;
}
elseif ($extraField->type == 'textarea')
{
$active[0] = $value->value;
$active[1] = $value->editor;
$active[2] = (int)$value->rows ? (int)$value->rows : 10;
$active[3] = (int)$value->cols ? (int)$value->cols : 40;
}
elseif ($extraField->type == 'link')
{
$active[0] = $value->name;
$active[1] = $value->value;
$active[2] = $value->target;
}
else
{
$active = '';
}
}
if (!isset($active))
{
$active = '';
}
if (isset($item))
{
$currentValues = $json->decode($item->extra_fields);
if (count($currentValues))
{
foreach ($currentValues as $value)
{
if ($value->id == $extraField->id)
{
if ($extraField->type == 'textarea')
{
$active[0] = $value->value;
}
else if ($extraField->type == 'date')
{
$active = (is_array($value->value)) ? $value->value[0] : $value->value;
}
else if ($extraField->type == 'header')
{
continue;
}
else
{
$active = $value->value;
}
}
}
}
}
$attributes = '';
if ($required)
{
$attributes .= 'class="k2Required"';
}
if ($showNull && in_array($extraField->type, array(
'select',
'multipleSelect'
)))
{
$nullOption = new stdClass;
$nullOption->name = JText::_('K2_PLEASE_SELECT');
$nullOption->value = '';
array_unshift($defaultValues, $nullOption);
}
if (in_array($extraField->type, array(
'textfield',
'labels',
'date',
'image'
)))
{
$active = htmlspecialchars($active, ENT_QUOTES, 'UTF-8');
}
switch ($extraField->type)
{
case 'textfield' :
$output = '<input type="text" name="K2ExtraField_'.$extraField->id.'" id="K2ExtraField_'.$extraField->id.'" value="'.$active.'" '.$attributes.' />';
break;
case 'labels' :
$output = '<input type="text" name="K2ExtraField_'.$extraField->id.'" id="K2ExtraField_'.$extraField->id.'" value="'.$active.'" '.$attributes.' /> '.JText::_('K2_COMMA_SEPARATED_VALUES');
break;
case 'textarea' :
if ($active[1])
{
if ($required)
{
$attributes = 'class="k2ExtraFieldEditor k2Required"';
}
else
{
$attributes = 'class="k2ExtraFieldEditor"';
}
}
$output = '<textarea name="K2ExtraField_'.$extraField->id.'" id="K2ExtraField_'.$extraField->id.'" rows="'.$active[2].'" cols="'.$active[3].'" '.$attributes.'>'.htmlspecialchars($active[0], ENT_QUOTES, 'UTF-8').'</textarea>';
break;
case 'select' :
$attributes .= ' id="'.$extraField->id.'.$extraField->id"';
$output = JHTML::_('select.genericlist', $defaultValues, 'K2ExtraField_'.$extraField->id, $attributes, 'value', 'name', $active);
break;
case 'multipleSelect' :
$attributes .= ' id="'.$extraField->id.'.$extraField->id" multiple="multiple"';
$output = JHTML::_('select.genericlist', $defaultValues, 'K2ExtraField_'.$extraField->id.'[]', $attributes, 'value', 'name', $active);
break;
case 'radio' :
if (!$active && isset($defaultValues[0]))
{
$active = $defaultValues[0]->value;
}
$output = JHTML::_('select.radiolist', $defaultValues, 'K2ExtraField_'.$extraField->id, $attributes, 'value', 'name', $active);
break;
case 'link' :
$output = '<label>'.JText::_('K2_TEXT').'</label>';
$output .= '<input type="text" name="K2ExtraField_'.$extraField->id.'[]" value="'.htmlspecialchars($active[0], ENT_QUOTES, 'UTF-8').'" />';
$output .= '<label>'.JText::_('K2_URL').'</label>';
$output .= '<input type="text" name="K2ExtraField_'.$extraField->id.'[]" id="K2ExtraField_'.$extraField->id.'" value="'.htmlspecialchars($active[1], ENT_QUOTES, 'UTF-8').'" '.$attributes.'/>';
$output .= '<label>'.JText::_('K2_OPEN_IN').'</label>';
$targetOptions[] = JHTML::_('select.option', 'same', JText::_('K2_SAME_WINDOW'));
$targetOptions[] = JHTML::_('select.option', 'new', JText::_('K2_NEW_WINDOW'));
$targetOptions[] = JHTML::_('select.option', 'popup', JText::_('K2_CLASSIC_JAVASCRIPT_POPUP'));
$targetOptions[] = JHTML::_('select.option', 'lightbox', JText::_('K2_LIGHTBOX_POPUP'));
$output .= JHTML::_('select.genericlist', $targetOptions, 'K2ExtraField_'.$extraField->id.'[]', '', 'value', 'text', $active[2]);
break;
case 'csv' :
if ($active)
{
$attributes = '';
}
$output = '<input type="file" id="K2ExtraField_'.$extraField->id.'" name="K2ExtraField_'.$extraField->id.'[]" '.$attributes.' />';
if (is_array($active) && count($active))
{
$output .= '<input type="hidden" name="K2CSV_'.$extraField->id.'" value="'.htmlspecialchars($json->encode($active)).'"/>';
$output .= '<table class="csvTable">';
foreach ($active as $key => $row)
{
$output .= '<tr>';
foreach ($row as $cell)
{
$output .= ($key > 0) ? '<td>'.$cell.'</td>' : '<th>'.$cell.'</th>';
}
$output .= '</tr>';
}
$output .= '</table>';
$output .= '<label>'.JText::_('K2_DELETE_CSV_DATA').'</label>';
$output .= '<input type="checkbox" name="K2ResetCSV_'.$extraField->id.'"/>';
}
break;
case 'date' :
$output = JHTML::_('calendar', $active, 'K2ExtraField_'.$extraField->id, 'K2ExtraField_'.$extraField->id, '%Y-%m-%d', $attributes);
break;
case 'image' :
$output = '<input type="text" name="K2ExtraField_'.$extraField->id.'" id="K2ExtraField_'.$extraField->id.'" value="'.$active.'" '.$attributes.' />
<a class="k2ExtraFieldImageButton" href="'.JRoute::_('index.php?option=com_k2&view=media&type=image&tmpl=component&fieldID=K2ExtraField_'.$extraField->id).'">'.JText::_('K2_SELECT').'</a>';
break;
case 'header' :
$output = '';
break;
}
return $output;
}
function getExtraFieldInfo($fieldID)
{
$db = JFactory::getDBO();
$fieldID = (int)$fieldID;
$query = "SELECT * FROM #__k2_extra_fields WHERE published=1 AND id = ".$fieldID;
$db->setQuery($query, 0, 1);
$row = $db->loadObject();
return $row;
}
function getSearchValue($id, $currentValue)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($id);
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
$jsonObject = $json->decode($row->value);
$value = '';
if ($row->type == 'textfield' || $row->type == 'textarea')
{
$value = $currentValue;
}
else if ($row->type == 'multipleSelect')
{
foreach ($jsonObject as $option)
{
if (in_array($option->value, $currentValue))
$value .= $option->name.' ';
}
}
else if ($row->type == 'link')
{
$value .= $currentValue[0].' ';
$value .= $currentValue[1].' ';
}
else if ($row->type == 'labels')
{
$parts = explode(',', $currentValue);
$value .= implode(' ', $parts);
}
else
{
foreach ($jsonObject as $option)
{
if ($option->value == $currentValue)
$value .= $option->name;
}
}
return $value;
}
}

View File

@ -0,0 +1,361 @@
<?php
/**
* @version $Id: extrafields.php 1937 2013-03-07 15:19:16Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelExtraFields extends K2Model
{
function getData()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', 'groupname', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', 'ASC', 'word');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', -1, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$filter_type = $mainframe->getUserStateFromRequest($option.$view.'filter_type', 'filter_type', '', 'string');
$filter_group = $mainframe->getUserStateFromRequest($option.$view.'filter_group', 'filter_group', 0, 'int');
$query = "SELECT exf.*, exfg.name as groupname FROM #__k2_extra_fields AS exf LEFT JOIN #__k2_extra_fields_groups exfg ON exf.group=exfg.id WHERE exf.id>0";
if ($filter_state > -1)
{
$query .= " AND published={$filter_state}";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( exf.name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if ($filter_type)
{
$query .= " AND `type`=".$db->Quote($filter_type);
}
if ($filter_group)
{
$query .= " AND `group`={$filter_group}";
}
if (!$filter_order)
{
$filter_order = '`group`';
}
if ($filter_order == 'ordering')
{
$query .= " ORDER BY `group`, ordering {$filter_order_Dir}";
}
else
{
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}, `group`, ordering";
}
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
return $rows;
}
function getTotal()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', 1, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$filter_type = $mainframe->getUserStateFromRequest($option.$view.'filter_type', 'filter_type', '', 'string');
$filter_group = $mainframe->getUserStateFromRequest($option.$view.'filter_group', 'filter_group', '', 'string');
$query = "SELECT COUNT(*) FROM #__k2_extra_fields WHERE id>0";
if ($filter_state > -1)
{
$query .= " AND published={$filter_state}";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if ($filter_type)
{
$query .= " AND `type`=".$db->Quote($filter_type);
}
if ($filter_group)
{
$query .= " AND `group`=".$db->Quote($filter_group);
}
$db->setQuery($query);
$total = $db->loadresult();
return $total;
}
function publish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($id);
$row->publish($id, 1);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=extrafields');
}
function unpublish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($id);
$row->publish($id, 0);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=extrafields');
}
function saveorder()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid', array(0), 'post', 'array');
$total = count($cid);
$order = JRequest::getVar('order', array(0), 'post', 'array');
JArrayHelper::toInteger($order, array(0));
$groupings = array();
for ($i = 0; $i < $total; $i++)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load((int)$cid[$i]);
$groupings[] = $row->group;
if ($row->ordering != $order[$i])
{
$row->ordering = $order[$i];
if (!$row->store())
{
JError::raiseError(500, $db->getErrorMsg());
}
}
}
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
{
$groupings = array_unique($groupings);
foreach ($groupings as $group)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->reorder("`group` = {$group}");
}
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
return true;
}
function orderup()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($cid[0]);
$row->move(-1, "`group` = '{$row->group}'");
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
$row->reorder("`group` = '{$row->group}'");
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ORDERING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=extrafields', $msg);
}
function orderdown()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($cid[0]);
$row->move(1, "`group` = '{$row->group}'");
$params = JComponentHelper::getParams('com_k2');
if (!$params->get('disableCompactOrdering'))
$row->reorder("`group` = '{$row->group}'");
$cache = JFactory::getCache('com_k2');
$cache->clean();
$msg = JText::_('K2_NEW_ORDERING_SAVED');
$mainframe->redirect('index.php?option=com_k2&view=extrafields', $msg);
}
function remove()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2ExtraField', 'Table');
$row->load($id);
$row->delete($id);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=extrafields', JText::_('K2_DELETE_COMPLETED'));
}
function getExtraFieldsGroup()
{
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2ExtraFieldsGroup', 'Table');
$row->load($cid);
return $row;
}
function getGroups($filter = false)
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$db = JFactory::getDBO();
$query = "SELECT * FROM #__k2_extra_fields_groups ORDER BY `name`";
if ($filter)
{
$db->setQuery($query);
}
else
{
$db->setQuery($query, $limitstart, $limit);
}
$rows = $db->loadObjectList();
for ($i = 0; $i < sizeof($rows); $i++)
{
$query = "SELECT name FROM #__k2_categories WHERE extraFieldsGroup=".(int)$rows[$i]->id;
$db->setQuery($query);
$categories = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();
if (is_array($categories))
{
$rows[$i]->categories = implode(', ', $categories);
}
else
{
$rows[$i]->categories = '';
}
}
return $rows;
}
function getTotalGroups()
{
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__k2_extra_fields_groups";
$db->setQuery($query);
$total = $db->loadResult();
return $total;
}
function saveGroup()
{
$mainframe = JFactory::getApplication();
$id = JRequest::getInt('id');
$row = JTable::getInstance('K2ExtraFieldsGroup', 'Table');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=extrafieldsgroups', $row->getError(), 'error');
}
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=extrafieldsgroup&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=extrafieldsgroup', $row->getError(), 'error');
}
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_GROUP_SAVED');
$link = 'index.php?option=com_k2&view=extrafieldsgroup&cid='.$row->id;
break;
case 'save' :
default :
$msg = JText::_('K2_GROUP_SAVED');
$link = 'index.php?option=com_k2&view=extrafieldsgroups';
break;
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect($link, $msg);
}
function removeGroups()
{
$mainframe = JFactory::getApplication();
$db = &JFactory::getDBO();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
foreach ($cid as $id)
{
$row = JTable::getInstance('K2ExtraFieldsGroup', 'Table');
$row->load($id);
$query = "DELETE FROM #__k2_extra_fields WHERE `group`={$id}";
$db->setQuery($query);
$db->query();
$row->delete($id);
}
$cache = &JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=extrafieldsgroups', JText::_('K2_DELETE_COMPLETED'));
}
}

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,778 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<name>K2_ITEM_EDIT_FORM</name>
<params group="item-view-options-listings" addpath="/administrator/components/com_k2/elements">
<param name="catItemTitle" type="list" default="" label="K2_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemTitleLinked" type="list" default="" label="K2_LINK_ON_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemFeaturedNotice" type="list" default="" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAuthor" type="list" default="" label="K2_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemDateCreated" type="list" default="" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemRating" type="list" default="" label="K2_RATING_VOTING" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemImage" type="list" default="" label="K2_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemIntroText" type="list" default="" label="K2_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemExtraFields" type="list" default="" label="K2_EXTRA_FIELDS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemHits" type="list" default="" label="K2_HITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemCategory" type="list" default="" label="K2_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemTags" type="list" default="" label="K2_TAGS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAttachments" type="list" default="" label="K2_ATTACHMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemAttachmentsCounter" type="list" default="" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemVideo" type="list" default="" label="K2_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<param name="catItemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<param name="catItemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<param name="catItemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<param name="catItemVideoAutoPlay" type="list" default="" label="K2_MEDIA_AUTOPLAY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="catItemImageGallery" type="list" default="" label="K2_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemDateModified" type="list" default="" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemReadMore" type="list" default="" label="K2_READ_MORE_LINK" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="catItemCommentsAnchor" type="list" default="" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_ITEMS_COMMENT_FORM" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_ADVANCED" label="" description=""/>
<param name="catItemK2Plugins" type="list" default="" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
</params>
<params group="item-view-options" addpath="/administrator/components/com_k2/elements">
<param name="itemDateCreated" type="list" default="" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemTitle" type="list" default="" label="K2_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFeaturedNotice" type="list" default="" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthor" type="list" default="" label="K2_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFontResizer" type="list" default="" label="K2_FONT_RESIZER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemPrintButton" type="list" default="" label="K2_PRINT_BUTTON" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemEmailButton" type="list" default="" label="K2_EMAIL_BUTTON" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemSocialButton" type="list" default="" label="K2_SOCIAL_BUTTON_LIKE_SHARETHIS_ADDTHIS_ETC" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoAnchor" type="list" default="" label="K2_ANCHOR_LINK_TO_VIDEO" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageGalleryAnchor" type="list" default="" label="K2_ANCHOR_LINK_TO_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemCommentsAnchor" type="list" default="" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_COMMENT_FORM" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRating" type="list" default="" label="K2_RATING_VOTING" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImage" type="list" default="" label="K2_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImgSize" type="list" default="" label="K2_IMAGE_SIZE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</param>
<param name="itemImageMainCaption" type="list" default="" label="K2_IMAGE_CAPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageMainCredits" type="list" default="" label="K2_IMAGE_CREDITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemIntroText" type="list" default="" label="K2_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFullText" type="list" default="" label="K2_FULLTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemExtraFields" type="list" default="" label="K2_EXTRA_FIELDS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemDateModified" type="list" default="" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemHits" type="list" default="" label="K2_HITS_PAGE_VIEWS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemCategory" type="list" default="" label="K2_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemTags" type="list" default="" label="K2_TAGS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAttachments" type="list" default="" label="K2_ATTACHMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAttachmentsCounter" type="list" default="" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideo" type="list" default="" label="K2_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<param name="itemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<param name="itemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<param name="itemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<param name="itemVideoAutoPlay" type="list" default="" label="K2_MEDIA_AUTOPLAY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="itemVideoCaption" type="list" default="" label="K2_MEDIA_CAPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemVideoCredits" type="list" default="" label="K2_MEDIA_CREDITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemImageGallery" type="list" default="" label="K2_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemNavigation" type="list" default="" label="K2_ITEM_NAVIGATION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemComments" type="list" default="" label="K2_COMMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_SOCIAL_SHARING" label="" description=""/>
<param name="itemTwitterButton" type="list" default="" label="K2_TWITTER_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemFacebookButton" type="list" default="" label="K2_FACEBOOK_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemGooglePlusOneButton" type="list" default="" label="K2_GOOGLEPLUSONE_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_AUTHOR_OPTIONS" label="" description=""/>
<param name="itemAuthorBlock" type="list" default="" label="K2_DISPLAY_EXTENDED_AUTHOR_INFO" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorImage" type="list" default="" label="K2_AUTHOR_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorDescription" type="list" default="" label="K2_AUTHOR_DESCRIPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorURL" type="list" default="" label="K2_AUTHOR_URL" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorEmail" type="list" default="" label="K2_AUTHOR_EMAIL" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorLatest" type="list" default="" label="K2_LATEST_ITEMS_FROM_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemAuthorLatestLimit" type="text" default="" size="4" label="K2_LIMIT_FOR_LATEST_ITEMS_FROM_AUTHOR" description="K2_LEAVE_BLANK_TO_INHERIT_FROM_CATEGORY"/>
<param name="" type="header" default="K2_RELATED_ITEMS" label="" description=""/>
<param name="itemRelated" type="list" default="" label="K2_RELATED_ITEMS_BY_TAG" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedLimit" type="text" default="" size="4" label="K2_RELATED_ITEMS_LIMIT" description=""/>
<param name="itemRelatedTitle" type="list" default="" label="K2_RELATED_ITEMS_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedCategory" type="list" default="" label="K2_RELATED_ITEMS_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedImageSize" type="list" default="" label="K2_RELATED_ITEMS_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NONE_SELECTED</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</param>
<param name="itemRelatedIntrotext" type="list" default="" label="K2_RELATED_ITEMS_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedFulltext" type="list" default="" label="K2_RELATED_ITEMS_FULLTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedAuthor" type="list" default="" label="K2_RELATED_ITEMS_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedMedia" type="list" default="" label="K2_RELATED_ITEMS_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="itemRelatedImageGallery" type="list" default="" label="K2_RELATED_ITEMS_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</param>
<param name="" type="header" default="K2_ADVANCED" label="" description=""/>
<param name="itemK2Plugins" type="list" default="" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
</params>
<fields name="params">
<fieldset name="item-view-options-listings" addfieldpath="/administrator/components/com_k2/elements">
<field name="catItemTitle" type="list" default="" label="K2_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemTitleLinked" type="list" default="" label="K2_LINK_ON_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemFeaturedNotice" type="list" default="" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAuthor" type="list" default="" label="K2_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemDateCreated" type="list" default="" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemRating" type="list" default="" label="K2_RATING_VOTING" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemImage" type="list" default="" label="K2_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemIntroText" type="list" default="" label="K2_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemExtraFields" type="list" default="" label="K2_EXTRA_FIELDS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemHits" type="list" default="" label="K2_HITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemCategory" type="list" default="" label="K2_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemTags" type="list" default="" label="K2_TAGS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAttachments" type="list" default="" label="K2_ATTACHMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemAttachmentsCounter" type="list" default="" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemVideo" type="list" default="" label="K2_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<field name="catItemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<field name="catItemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<field name="catItemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<field name="catItemVideoAutoPlay" type="list" default="" label="K2_MEDIA_AUTOPLAY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="catItemImageGallery" type="list" default="" label="K2_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemDateModified" type="list" default="" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemReadMore" type="list" default="" label="K2_READ_MORE_LINK" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="catItemCommentsAnchor" type="list" default="" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_ITEMS_COMMENT_FORM" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_ADVANCED" label="" description=""/>
<field name="catItemK2Plugins" type="list" default="" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
</fieldset>
<fieldset name="item-view-options" addfieldpath="/administrator/components/com_k2/elements">
<field name="itemDateCreated" type="list" default="" label="K2_ITEM_CREATED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemTitle" type="list" default="" label="K2_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFeaturedNotice" type="list" default="" label="K2_FEATURED_NOTICE_NEXT_TO_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthor" type="list" default="" label="K2_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFontResizer" type="list" default="" label="K2_FONT_RESIZER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemPrintButton" type="list" default="" label="K2_PRINT_BUTTON" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemEmailButton" type="list" default="" label="K2_EMAIL_BUTTON" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemSocialButton" type="list" default="" label="K2_SOCIAL_BUTTON_LIKE_SHARETHIS_ADDTHIS_ETC" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoAnchor" type="list" default="" label="K2_ANCHOR_LINK_TO_VIDEO" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageGalleryAnchor" type="list" default="" label="K2_ANCHOR_LINK_TO_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemCommentsAnchor" type="list" default="" label="K2_ANCHOR_LINK_WITH_COMMENTS_COUNTER_TO_COMMENT_FORM" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRating" type="list" default="" label="K2_RATING_VOTING" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImage" type="list" default="" label="K2_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImgSize" type="list" default="" label="K2_IMAGE_SIZE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</field>
<field name="itemImageMainCaption" type="list" default="" label="K2_IMAGE_CAPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageMainCredits" type="list" default="" label="K2_IMAGE_CREDITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemIntroText" type="list" default="" label="K2_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFullText" type="list" default="" label="K2_FULLTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemExtraFields" type="list" default="" label="K2_EXTRA_FIELDS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemDateModified" type="list" default="" label="K2_ITEM_MODIFIED_DATE_AND_TIME" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemHits" type="list" default="" label="K2_HITS_PAGE_VIEWS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemCategory" type="list" default="" label="K2_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemTags" type="list" default="" label="K2_TAGS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAttachments" type="list" default="" label="K2_ATTACHMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAttachmentsCounter" type="list" default="" label="K2_ATTACHMENTS_COUNTER" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideo" type="list" default="" label="K2_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoWidth" type="text" default="" size="4" label="K2_VIDEO_WIDTH" description=""/>
<field name="itemVideoHeight" type="text" default="" size="4" label="K2_VIDEO_HEIGHT" description=""/>
<field name="itemAudioWidth" type="text" default="" size="4" label="K2_AUDIO_WIDTH" description=""/>
<field name="itemAudioHeight" type="text" default="" size="4" label="K2_AUDIO_HEIGHT" description=""/>
<field name="itemVideoAutoPlay" type="list" default="" label="K2_MEDIA_AUTOPLAY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="itemVideoCaption" type="list" default="" label="K2_MEDIA_CAPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemVideoCredits" type="list" default="" label="K2_MEDIA_CREDITS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemImageGallery" type="list" default="" label="K2_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemNavigation" type="list" default="" label="K2_ITEM_NAVIGATION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemComments" type="list" default="" label="K2_COMMENTS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_SOCIAL_SHARING" label="" description=""/>
<field name="itemTwitterButton" type="list" default="" label="K2_TWITTER_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemFacebookButton" type="list" default="" label="K2_FACEBOOK_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemGooglePlusOneButton" type="list" default="" label="K2_GOOGLEPLUSONE_SHARE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_AUTHOR_OPTIONS" label="" description=""/>
<field name="itemAuthorBlock" type="list" default="" label="K2_DISPLAY_EXTENDED_AUTHOR_INFO" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorImage" type="list" default="" label="K2_AUTHOR_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorDescription" type="list" default="" label="K2_AUTHOR_DESCRIPTION" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorURL" type="list" default="" label="K2_AUTHOR_URL" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorEmail" type="list" default="" label="K2_AUTHOR_EMAIL" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorLatest" type="list" default="" label="K2_LATEST_ITEMS_FROM_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemAuthorLatestLimit" type="text" default="" size="4" label="K2_LIMIT_FOR_LATEST_ITEMS_FROM_AUTHOR" description="K2_LEAVE_BLANK_TO_INHERIT_FROM_CATEGORY"/>
<field name="" type="header" default="K2_RELATED_ITEMS" label="" description=""/>
<field name="itemRelated" type="list" default="" label="K2_RELATED_ITEMS_BY_TAG" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedLimit" type="text" default="" size="4" label="K2_RELATED_ITEMS_LIMIT" description=""/>
<field name="itemRelatedTitle" type="list" default="" label="K2_RELATED_ITEMS_TITLE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedCategory" type="list" default="" label="K2_RELATED_ITEMS_CATEGORY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedImageSize" type="list" default="" label="K2_RELATED_ITEMS_IMAGE" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NONE_SELECTED</option>
<option value="XSmall">K2_XSMALL</option>
<option value="Small">K2_SMALL</option>
<option value="Medium">K2_MEDIUM</option>
<option value="Large">K2_LARGE</option>
<option value="XLarge">K2_XLARGE</option>
</field>
<field name="itemRelatedIntrotext" type="list" default="" label="K2_RELATED_ITEMS_INTROTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedFulltext" type="list" default="" label="K2_RELATED_ITEMS_FULLTEXT" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedAuthor" type="list" default="" label="K2_RELATED_ITEMS_AUTHOR" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedMedia" type="list" default="" label="K2_RELATED_ITEMS_MEDIA" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="itemRelatedImageGallery" type="list" default="" label="K2_RELATED_ITEMS_IMAGE_GALLERY" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_HIDE</option>
<option value="1">K2_SHOW</option>
</field>
<field name="" type="header" default="K2_ADVANCED" label="" description=""/>
<field name="itemK2Plugins" type="list" default="" label="K2_ENABLE_K2_PLUGINS" description="">
<option value="">K2_INHERIT_FROM_CATEGORY</option>
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
</fieldset>
</fields>
</form>

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,49 @@
<?php
/**
* @version $Id: model.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
if (version_compare(JVERSION, '3.0', 'ge'))
{
class K2Model extends JModelLegacy
{
public static function addIncludePath($path = '', $prefix = '')
{
return parent::addIncludePath($path, $prefix);
}
}
}
else if (version_compare(JVERSION, '2.5', 'ge'))
{
class K2Model extends JModel
{
public static function addIncludePath($path = '', $prefix = '')
{
return parent::addIncludePath($path, $prefix);
}
}
}
else
{
class K2Model extends JModel
{
public function addIncludePath($path = '', $prefix = '')
{
return parent::addIncludePath($path);
}
}
}

View File

@ -0,0 +1,50 @@
<?php
/**
* @version $Id: settings.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
class K2ModelSettings extends K2Model
{
function save()
{
$mainframe = JFactory::getApplication();
$component = JTable::getInstance('component');
$component->loadByOption('com_k2');
$post = JRequest::get('post');
$component->bind($post);
if (!$component->check())
{
$mainframe->enqueueMessage($component->getError(), 'error');
return false;
}
if (!$component->store())
{
$mainframe->enqueueMessage($component->getError(), 'error');
return false;
}
return true;
}
function & getParams()
{
static $instance;
if ($instance == null)
{
$component = JTable::getInstance('component');
$component->loadByOption('com_k2');
$instance = new JParameter($component->params, JPATH_ADMINISTRATOR.DS.'components'.DS.'com_k2'.DS.'config.xml');
}
return $instance;
}
}

View File

@ -0,0 +1,146 @@
<?php
/**
* @version $Id: tag.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelTag extends K2Model
{
function getData()
{
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2Tag', 'Table');
$row->load($cid);
return $row;
}
function save()
{
$mainframe = JFactory::getApplication();
$row = JTable::getInstance('K2Tag', 'Table');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=tags', $row->getError(), 'error');
}
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=tag&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=tags', $row->getError(), 'error');
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_TAG_SAVED');
$link = 'index.php?option=com_k2&view=tag&cid='.$row->id;
break;
case 'save' :
default :
$msg = JText::_('K2_TAG_SAVED');
$link = 'index.php?option=com_k2&view=tags';
break;
}
$mainframe->redirect($link, $msg);
}
function addTag()
{
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$params = JComponentHelper::getParams('com_k2');
if ($user->gid < 24 && $params->get('lockTags'))
JError::raiseError(403, JText::_('K2_ALERTNOTAUTH'));
$tag = JRequest::getString('tag');
$tag = str_replace('-', '', $tag);
$tag = str_replace('.', '', $tag);
$response = new JObject;
$response->set('name', $tag);
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
if (empty($tag))
{
$response->set('msg', JText::_('K2_YOU_NEED_TO_ENTER_A_TAG', true));
echo $json->encode($response);
$mainframe->close();
}
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__k2_tags WHERE name=".$db->Quote($tag);
$db->setQuery($query);
$result = $db->loadResult();
if ($result > 0)
{
$response->set('msg', JText::_('K2_TAG_ALREADY_EXISTS', true));
echo $json->encode($response);
$mainframe->close();
}
$row = JTable::getInstance('K2Tag', 'Table');
$row->name = $tag;
$row->published = 1;
$row->store();
$cache = JFactory::getCache('com_k2');
$cache->clean();
$response->set('id', $row->id);
$response->set('status', 'success');
$response->set('msg', JText::_('K2_TAG_ADDED_TO_AVAILABLE_TAGS_LIST', true));
echo $json->encode($response);
$mainframe->close();
}
function tags()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$word = JRequest::getString('q', null);
if (K2_JVERSION == '15')
{
$word = $db->Quote($db->getEscaped($word, true).'%', false);
}
else
{
$word = $db->Quote($db->escape($word, true).'%', false);
}
$query = "SELECT name FROM #__k2_tags WHERE name LIKE ".$word;
$db->setQuery($query);
$result = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();
require_once (JPATH_COMPONENT_ADMINISTRATOR.DS.'lib'.DS.'JSON.php');
$json = new Services_JSON;
echo $json->encode($result);
$mainframe->close();
}
}

View File

@ -0,0 +1,175 @@
<?php
/**
* @version $Id: tags.php 1947 2013-03-11 11:46:13Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelTags extends K2Model
{
function getData()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', 'id', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', 'DESC', 'word');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', -1, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT #__k2_tags.*, (SELECT COUNT(*) FROM #__k2_tags_xref WHERE #__k2_tags_xref.tagID = #__k2_tags.id) AS numOfItems FROM #__k2_tags";
$conditions = array();
if ($filter_state > -1)
{
$conditions[] = "published={$filter_state}";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$conditions[] = "LOWER( name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
if (count($conditions))
{
$query .= " WHERE ".implode(' AND ', $conditions);
}
if (!$filter_order)
{
$filter_order = "name";
}
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}";
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
return $rows;
}
function getTotal()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
$filter_state = $mainframe->getUserStateFromRequest($option.$view.'filter_state', 'filter_state', 1, 'int');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT COUNT(*) FROM #__k2_tags WHERE id>0";
if ($filter_state > -1)
{
$query .= " AND published={$filter_state}";
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND LOWER( name ) LIKE ".$db->Quote('%'.$escaped.'%', false);
}
$db->setQuery($query);
$total = $db->loadresult();
return $total;
}
function publish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Tag', 'Table');
$row->load($id);
$row->publish($id, 1);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=tags');
}
function unpublish()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Tag', 'Table');
$row->load($id);
$row->publish($id, 0);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=tags');
}
function remove()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2Tag', 'Table');
$row->load($id);
$row->delete($id);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=tags', JText::_('K2_DELETE_COMPLETED'));
}
function getFilter()
{
$db = JFactory::getDBO();
$query = "SELECT name, id FROM #__k2_tags ORDER BY name";
$db->setQuery($query, 0, 1000);
$rows = $db->loadObjectList();
return $rows;
}
function countTagItems($id)
{
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__k2_tags_xref WHERE tagID = ".(int)$id;
$db->setQuery($query);
$result = $db->loadResult();
return $result;
}
function removeOrphans()
{
$db = JFactory::getDBO();
$db->setQuery("DELETE FROM #__k2_tags WHERE id NOT IN (SELECT DISTINCT tagID FROM #__k2_tags_xref)");
$db->query();
$mainframe = JFactory::getApplication();
$mainframe->redirect('index.php?option=com_k2&view=tags', JText::_('K2_DELETE_COMPLETED'));
}
}

View File

@ -0,0 +1,196 @@
<?php
/**
* @version $Id: user.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelUser extends K2Model
{
function getData()
{
$cid = JRequest::getInt('cid');
$db = JFactory::getDBO();
$query = "SELECT * FROM #__k2_users WHERE userID = ".$cid;
$db->setQuery($query);
$row = $db->loadObject();
if (!$row)
{
$row = JTable::getInstance('K2User', 'Table');
}
return $row;
}
function save()
{
$mainframe = JFactory::getApplication();
jimport('joomla.filesystem.file');
require_once (JPATH_COMPONENT.DS.'lib'.DS.'class.upload.php');
$row = JTable::getInstance('K2User', 'Table');
$params = JComponentHelper::getParams('com_k2');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=users', $row->getError(), 'error');
}
$row->description = JRequest::getVar('description', '', 'post', 'string', 2);
if ($params->get('xssFiltering'))
{
$filter = new JFilterInput( array(), array(), 1, 1, 0);
$row->description = $filter->clean($row->description);
}
$jUser = JFactory::getUser($row->userID);
$row->userName = $jUser->name;
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=users', $row->getError(), 'error');
}
//Image
if ((int)$params->get('imageMemoryLimit'))
{
ini_set('memory_limit', (int)$params->get('imageMemoryLimit').'M');
}
$file = JRequest::get('files');
$savepath = JPATH_ROOT.DS.'media'.DS.'k2'.DS.'users'.DS;
if ($file['image']['error'] == 0 && !JRequest::getBool('del_image'))
{
$handle = new Upload($file['image']);
if ($handle->uploaded)
{
$handle->file_auto_rename = false;
$handle->file_overwrite = true;
$handle->file_new_name_body = $row->id;
$handle->image_resize = true;
$handle->image_ratio_y = true;
$handle->image_x = $params->get('userImageWidth', '100');
$handle->Process($savepath);
$handle->Clean();
}
else
{
$mainframe->redirect('index.php?option=com_k2&view=users', $handle->error, 'error');
}
$row->image = $handle->file_dst_name;
}
if (JRequest::getBool('del_image'))
{
$current = JTable::getInstance('K2User', 'Table');
$current->load($row->id);
if (JFile::exists(JPATH_ROOT.DS.'media'.DS.'k2'.DS.'users'.DS.$current->image))
{
JFile::delete(JPATH_ROOT.DS.'media'.DS.'k2'.DS.'users'.DS.$current->image);
}
$row->image = '';
}
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=user&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=users', $row->getError(), 'error');
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_USER_SAVED');
$link = 'index.php?option=com_k2&view=user&cid='.$row->userID;
break;
case 'save' :
default :
$msg = JText::_('K2_USER_SAVED');
$link = 'index.php?option=com_k2&view=users';
break;
}
$mainframe->redirect($link, $msg);
}
function getUserGroups()
{
$db = JFactory::getDBO();
$query = "SELECT * FROM #__k2_user_groups";
$db->setQuery($query);
$rows = $db->loadObjectList();
return $rows;
}
function reportSpammer()
{
$mainframe = JFactory::getApplication();
$params = JComponentHelper::getParams('com_k2');
$id = (int)$this->getState('id');
if (!$id)
{
return false;
}
$user = JFactory::getUser();
if ($user->id == $id)
{
$mainframe->enqueueMessage(JText::_('K2_YOU_CANNOT_REPORT_YOURSELF'), 'error');
return false;
}
$db = JFactory::getDBO();
// Unpublish user comments
$db->setQuery("UPDATE #__k2_comments SET published = 0 WHERE userID = ".$id);
$db->query();
$mainframe->enqueueMessage(JText::_('K2_USER_COMMENTS_UNPUBLISHED'));
// Unpublish user items
$db->setQuery("UPDATE #__k2_items SET published = 0 WHERE created_by = ".$id);
$db->query();
$mainframe->enqueueMessage(JText::_('K2_USER_ITEMS_UNPUBLISHED'));
// Report the user to http://www.stopforumspam.com/
// We need the IP for this, so the user has to be a registered K2 user
$spammer = JFactory::getUser($id);
$db->setQuery("SELECT ip FROM #__k2_users WHERE userID=".$id, 0, 1);
$ip = $db->loadResult();
if ($ip && function_exists('fsockopen') && $params->get('stopForumSpamApiKey'))
{
$data = "username=".$spammer->username."&ip_addr=".$ip."&email=".$spammer->email."&api_key=".$params->get('stopForumSpamApiKey');
$fp = fsockopen("www.stopforumspam.com", 80);
fputs($fp, "POST /add.php HTTP/1.1\n");
fputs($fp, "Host: www.stopforumspam.com\n");
fputs($fp, "Content-type: application/x-www-form-urlencoded\n");
fputs($fp, "Content-length: ".strlen($data)."\n");
fputs($fp, "Connection: close\n\n");
fputs($fp, $data);
fclose($fp);
$mainframe->enqueueMessage(JText::_('K2_USER_DATA_SUBMITTED_TO_STOPFORUMSPAM'));
}
// Finally block the user
$db->setQuery("UPDATE #__users SET block = 1 WHERE id=".$id);
$db->query();
$mainframe->enqueueMessage(JText::_('K2_USER_BLOCKED'));
return true;
}
}

View File

@ -0,0 +1,66 @@
<?php
/**
* @version $Id: usergroup.php 1812 2013-01-14 18:45:06Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelUserGroup extends K2Model
{
function getData()
{
$cid = JRequest::getVar('cid');
$row = JTable::getInstance('K2UserGroup', 'Table');
$row->load($cid);
return $row;
}
function save()
{
$mainframe = JFactory::getApplication();
$row = JTable::getInstance('K2UserGroup', 'Table');
if (!$row->bind(JRequest::get('post')))
{
$mainframe->redirect('index.php?option=com_k2&view=usergroups', $row->getError(), 'error');
}
if (!$row->check())
{
$mainframe->redirect('index.php?option=com_k2&view=usergroup&cid='.$row->id, $row->getError(), 'error');
}
if (!$row->store())
{
$mainframe->redirect('index.php?option=com_k2&view=usergroups', $row->getError(), 'error');
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
switch(JRequest::getCmd('task'))
{
case 'apply' :
$msg = JText::_('K2_CHANGES_TO_USER_GROUP_SAVED');
$link = 'index.php?option=com_k2&view=usergroup&cid='.$row->id;
break;
case 'save' :
default :
$msg = JText::_('K2_USER_GROUP_SAVED');
$link = 'index.php?option=com_k2&view=usergroups';
break;
}
$mainframe->redirect($link, $msg);
}
}

View File

@ -0,0 +1,66 @@
<?xml version="1.0" encoding="utf-8"?>
<form>
<name>K2_USER_GROUP_EDIT_FORM</name>
<params addpath="/administrator/components/com_k2/elements">
<param name="comment" type="radio" default="1" label="K2_POST_COMMENTS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="frontEdit" type="radio" default="0" label="K2_FRONTEND_ITEM_EDITING" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="add" type="radio" default="0" label="K2_ADD_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="editOwn" type="radio" default="0" label="K2_EDIT_OWN_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="editAll" type="radio" default="0" label="K2_EDIT_ANY_ITEM" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="publish" type="radio" default="0" label="K2_PUBLISH_ITEMS" description="K2_PERMISSION_TO_PUBLISH_NEW_OR_EDITED_ITEMS">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
<param name="editPublished" type="radio" default="0" label="K2_ALLOW_EDITING_OF_ALREADY_PUBLISHED_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</param>
</params>
<fields name="params">
<fieldset name="user-permissions" addfieldpath="/administrator/components/com_k2/elements">
<field name="comment" type="radio" default="1" label="K2_POST_COMMENTS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="frontEdit" type="radio" default="0" label="K2_FRONTEND_ITEM_EDITING" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="add" type="radio" default="0" label="K2_ADD_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="editOwn" type="radio" default="0" label="K2_EDIT_OWN_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="editAll" type="radio" default="0" label="K2_EDIT_ANY_ITEM" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="publish" type="radio" default="0" label="K2_PUBLISH_ITEMS" description="K2_PERMISSION_TO_PUBLISH_NEW_OR_EDITED_ITEMS">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
<field name="editPublished" type="radio" default="0" label="K2_ALLOW_EDITING_OF_ALREADY_PUBLISHED_ITEMS" description="">
<option value="0">K2_NO</option>
<option value="1">K2_YES</option>
</field>
</fieldset>
</fields>
</form>

View File

@ -0,0 +1,78 @@
<?php
/**
* @version $Id: usergroups.php 1937 2013-03-07 15:19:16Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelUserGroups extends K2Model
{
function getData()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', '', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', '', 'word');
$query = "SELECT userGroup.*, (SELECT COUNT(DISTINCT userID) FROM #__k2_users WHERE `group`=userGroup.id) AS numOfUsers FROM #__k2_user_groups AS userGroup";
if (!$filter_order)
{
$filter_order = "name";
}
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}";
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
return $rows;
}
function getTotal()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$query = "SELECT COUNT(*) FROM #__k2_user_groups";
$db->setQuery($query);
$total = $db->loadresult();
return $total;
}
function remove()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
foreach ($cid as $id)
{
$row = JTable::getInstance('K2UserGroup', 'Table');
$row->load($id);
$row->delete($id);
}
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=usergroups', JText::_('K2_DELETE_COMPLETED'));
}
}

View File

@ -0,0 +1,560 @@
<?php
/**
* @version $Id: users.php 1937 2013-03-07 15:19:16Z lefteris.kavadas $
* @package K2
* @author JoomlaWorks http://www.joomlaworks.net
* @copyright Copyright (c) 2006 - 2013 JoomlaWorks Ltd. All rights reserved.
* @license GNU/GPL license: http://www.gnu.org/copyleft/gpl.html
*/
// no direct access
defined('_JEXEC') or die ;
jimport('joomla.application.component.model');
JTable::addIncludePath(JPATH_COMPONENT.DS.'tables');
class K2ModelUsers extends K2Model
{
function getData()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.$view.'.limitstart', 'limitstart', 0, 'int');
$filter_order = $mainframe->getUserStateFromRequest($option.$view.'filter_order', 'filter_order', 'juser.name', 'cmd');
$filter_order_Dir = $mainframe->getUserStateFromRequest($option.$view.'filter_order_Dir', 'filter_order_Dir', '', 'word');
$filter_status = $mainframe->getUserStateFromRequest($option.$view.'filter_status', 'filter_status', -1, 'int');
$filter_group = $mainframe->getUserStateFromRequest($option.$view.'filter_group', 'filter_group', '', 'string');
$filter_group_k2 = $mainframe->getUserStateFromRequest($option.$view.'filter_group_k2', 'filter_group_k2', '', 'string');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT juser.*, k2user.group, k2group.name as groupname FROM #__users as juser "."LEFT JOIN #__k2_users as k2user ON juser.id=k2user.userID "."LEFT JOIN #__k2_user_groups as k2group ON k2user.group=k2group.id ";
if (K2_JVERSION != '15')
{
$query .= " LEFT JOIN #__user_usergroup_map as `map` ON juser.id=map.user_id ";
}
$query .= " WHERE juser.id>0";
if ($filter_status > -1)
{
$query .= " AND juser.block = {$filter_status}";
}
if ($filter_group)
{
if (K2_JVERSION != '15')
{
$query .= " AND `map`.group_id =".(int)$filter_group;
}
else
{
switch($filter_group)
{
case 'Public Frontend' :
$query .= " AND juser.usertype IN ('Registered', 'Author', 'Editor', 'Publisher')";
break;
case 'Public Backend' :
$query .= " AND juser.usertype IN ('Manager', 'Administrator', 'Super Administrator')";
break;
default :
$filter_group = strtolower(trim($filter_group));
$query .= " AND juser.usertype = ".$db->Quote($filter_group);
}
}
}
if ($filter_group_k2)
{
$query .= " AND k2user.group = ".$db->Quote($filter_group_k2);
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND (LOWER( juser.name ) LIKE ".$db->Quote('%'.$escaped.'%', false)." OR LOWER( juser.email ) LIKE ".$db->Quote('%'.$escaped.'%', false).")";
}
if (!$filter_order)
{
$filter_order = "juser.name";
}
if (K2_JVERSION != '15')
{
$query .= " GROUP BY juser.id ";
}
$query .= " ORDER BY {$filter_order} {$filter_order_Dir}";
$db->setQuery($query, $limitstart, $limit);
$rows = $db->loadObjectList();
if (K2_JVERSION != '15' && count($rows))
{
foreach ($rows as $row)
{
$IDs[] = $row->id;
}
$query = "SELECT map.user_id, COUNT(map.group_id) AS group_count,GROUP_CONCAT(g2.title SEPARATOR '\n') AS group_names
FROM #__user_usergroup_map AS map
LEFT JOIN #__usergroups AS g2
ON g2.id = map.group_id
WHERE map.user_id IN (".implode(',', $IDs).")
GROUP BY map.user_id";
$db->setQuery($query);
$groups = $db->loadObjectList();
foreach ($rows as $row)
{
foreach ($groups as $group)
{
if ($row->id == $group->user_id)
{
$row->usertype = nl2br($group->group_names);
}
}
}
}
return $rows;
}
function getTotal()
{
$mainframe = JFactory::getApplication();
$option = JRequest::getCmd('option');
$view = JRequest::getCmd('view');
$db = JFactory::getDBO();
$limit = $mainframe->getUserStateFromRequest('global.list.limit', 'limit', $mainframe->getCfg('list_limit'), 'int');
$limitstart = $mainframe->getUserStateFromRequest($option.'.limitstart', 'limitstart', 0, 'int');
$filter_status = $mainframe->getUserStateFromRequest($option.$view.'filter_status', 'filter_status', -1, 'int');
$filter_group = $mainframe->getUserStateFromRequest($option.$view.'filter_group', 'filter_group', '', 'string');
$filter_group_k2 = $mainframe->getUserStateFromRequest($option.$view.'filter_group_k2', 'filter_group_k2', '', 'string');
$search = $mainframe->getUserStateFromRequest($option.$view.'search', 'search', '', 'string');
$search = JString::strtolower($search);
$query = "SELECT COUNT(DISTINCT juser.id) FROM #__users as juser "."LEFT JOIN #__k2_users as k2user ON juser.id=k2user.userID "."LEFT JOIN #__k2_user_groups as k2group ON k2user.group=k2group.id ";
if (K2_JVERSION != '15')
{
$query .= " LEFT JOIN #__user_usergroup_map as `map` ON juser.id=map.user_id ";
}
$query .= " WHERE juser.id>0";
if ($filter_status > -1)
{
$query .= " AND juser.block = {$filter_status}";
}
if ($filter_group)
{
if (K2_JVERSION != '15')
{
$query .= " AND `map`.group_id =".(int)$filter_group;
}
else
{
switch($filter_group)
{
case 'Public Frontend' :
$query .= " AND juser.usertype IN ('Registered', 'Author', 'Editor', 'Publisher')";
break;
case 'Public Backend' :
$query .= " AND juser.usertype IN ('Manager', 'Administrator', 'Super Administrator')";
break;
default :
$filter_group = strtolower(trim($filter_group));
$query .= " AND juser.usertype = ".$db->Quote($filter_group);
}
}
}
if ($filter_group_k2)
{
$query .= " AND k2user.group = ".$db->Quote($filter_group_k2);
}
if ($search)
{
$escaped = K2_JVERSION == '15' ? $db->getEscaped($search, true) : $db->escape($search, true);
$query .= " AND (LOWER( juser.name ) LIKE ".$db->Quote('%'.$escaped.'%', false)." OR LOWER( juser.email ) LIKE ".$db->Quote('%'.$escaped.'%', false).")";
}
$db->setQuery($query);
$total = $db->loadResult();
return $total;
}
function remove()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
$db = JFactory::getDBO();
$query = "DELETE FROM #__k2_users WHERE userID IN(".implode(',', $cid).")";
$db->setQuery($query);
$db->query();
$cache = JFactory::getCache('com_k2');
$cache->clean();
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_USER_PROFILE_DELETED'));
}
function getUserGroups($type = 'joomla')
{
$db = JFactory::getDBO();
if ($type == 'joomla')
{
$query = 'SELECT (lft - 3) AS lft, name AS value, name AS text'.' FROM #__core_acl_aro_groups'.' WHERE name != "ROOT"'.' AND name != "USERS"'.' ORDER BY `lft` ASC';
if (K2_JVERSION != '15')
{
$query = "SELECT a.lft AS lft, a.id AS value, a.title AS text, COUNT(DISTINCT b.id) AS level
FROM #__usergroups AS a
LEFT JOIN #__usergroups AS b
ON a.lft > b.lft
AND a.rgt < b.rgt
GROUP BY a.id
ORDER BY a.lft ASC";
}
$db->setQuery($query);
$groups = $db->loadObjectList();
$userGroups = array();
foreach ($groups as $group)
{
if ($group->lft >= 10)
$group->lft = (int)$group->lft - 10;
if (K2_JVERSION != '15')
{
$group->text = $this->indent($group->level, '- ').$group->text;
}
else
{
$group->text = $this->indent($group->lft).$group->text;
}
array_push($userGroups, $group);
}
}
else
{
$query = "SELECT * FROM #__k2_user_groups";
$db->setQuery($query);
$userGroups = $db->loadObjectList();
}
return $userGroups;
}
function indent($times, $char = '&nbsp;&nbsp;&nbsp;&nbsp;', $start_char = '', $end_char = '')
{
$return = $start_char;
for ($i = 0; $i < $times; $i++)
$return .= $char;
$return .= $end_char;
return $return;
}
function checkLogin($id)
{
$db = JFactory::getDBO();
$query = "SELECT COUNT(s.userid) FROM #__session AS s WHERE s.userid = ".(int)$id;
$db->setQuery($query);
$result = $db->loadResult();
return $result;
}
function hasProfile($id)
{
$db = JFactory::getDBO();
$query = "SELECT id FROM #__k2_users WHERE userID = ".(int)$id;
$db->setQuery($query);
$result = $db->loadResult();
return $result;
}
function enable()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
$db = JFactory::getDBO();
$query = "UPDATE #__users SET block=0 WHERE id IN(".implode(',', $cid).")";
$db->setQuery($query);
$db->query();
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_USERS_ENABLED'));
}
function disable()
{
$mainframe = JFactory::getApplication();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
$db = JFactory::getDBO();
$query = "UPDATE #__users SET block=1 WHERE id IN(".implode(',', $cid).")";
$db->setQuery($query);
$db->query();
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_USERS_DISABLED'));
}
function delete()
{
$mainframe = JFactory::getApplication();
$user = JFactory::getUser();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
$db = JFactory::getDBO();
if (in_array($user->id, $cid))
{
foreach ($cid as $key => $id)
{
if ($id == $user->id)
{
unset($cid[$key]);
}
}
$mainframe->enqueueMessage(JText::_('K2_YOU_CANNOT_DELETE_YOURSELF'), 'notice');
}
if (count($cid) < 1)
{
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_DELETE_COMPLETED'));
}
if (K2_JVERSION != '15')
{
JPluginHelper::importPlugin('user');
$dispatcher = JDispatcher::getInstance();
$iAmSuperAdmin = $user->authorise('core.admin');
foreach ($cid as $key => $id)
{
$table = JTable::getInstance('user');
$table->load($id);
$allow = $user->authorise('core.delete', 'com_users');
// Don't allow non-super-admin to delete a super admin
$allow = (!$iAmSuperAdmin && JAccess::check($id, 'core.admin')) ? false : $allow;
if ($allow)
{
// Get users data for the users to delete.
$user_to_delete = JFactory::getUser($id);
// Fire the onUserBeforeDelete event.
$dispatcher->trigger('onUserBeforeDelete', array($table->getProperties()));
if (!$table->delete($id))
{
$this->setError($table->getError());
return false;
}
else
{
// Trigger the onUserAfterDelete event.
$dispatcher->trigger('onUserAfterDelete', array($user_to_delete->getProperties(), true, $this->getError()));
}
}
else
{
// Prune items that you can't change.
unset($cid[$key]);
JError::raiseWarning(403, JText::_('JERROR_CORE_DELETE_NOT_PERMITTED'));
}
}
$IDsToDelete = $cid;
}
else
{
$query = "SELECT * FROM #__users WHERE id IN(".implode(',', $cid).") AND gid<={$user->gid}";
$db->setQuery($query);
$IDsToDelete = K2_JVERSION == '30' ? $db->loadColumn() : $db->loadResultArray();
$query = "DELETE FROM #__users WHERE id IN(".implode(',', $IDsToDelete).") AND id!={$user->id}";
$db->setQuery($query);
$db->query();
}
$query = "DELETE FROM #__k2_users WHERE userID IN(".implode(',', $IDsToDelete).") AND userID!={$user->id}";
$db->setQuery($query);
$db->query();
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_DELETE_COMPLETED'));
}
function saveMove()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
$cid = JRequest::getVar('cid');
JArrayHelper::toInteger($cid);
$group = JRequest::getVar('group');
$k2group = JRequest::getInt('k2group');
if (K2_JVERSION != '15')
{
JArrayHelper::toInteger($group);
$group = array_filter($group);
if (count($group))
{
foreach ($cid as $id)
{
$query = "DELETE FROM #__user_usergroup_map WHERE user_id = ".$id;
$db->setQuery($query);
$db->query();
$query = "INSERT INTO #__user_usergroup_map VALUES (".$id.", ".implode("), (".$id.", ", $group).")";
$db->setQuery($query);
$db->query();
}
}
}
else
{
if ($group)
{
$query = "SELECT id FROM #__core_acl_aro_groups WHERE name=".$db->Quote($group);
$db->setQuery($query);
$gid = $db->loadResult();
$query = "UPDATE #__users SET gid={$gid}, usertype=".$db->Quote($group)." WHERE id IN(".implode(',', $cid).")";
$db->setQuery($query);
$db->query();
}
}
if ($k2group)
{
foreach ($cid as $id)
{
$query = "SELECT COUNT(*) FROM #__k2_users WHERE userID = ".$id;
$db->setQuery($query);
$result = $db->loadResult();
if ($result)
{
$query = "UPDATE #__k2_users SET `group`={$k2group} WHERE userID = ".$id;
}
else
{
$user = JFactory::getUser($id);
$query = "INSERT INTO #__k2_users VALUES ('', {$id}, {$db->Quote($user->username)}, '', '', '', '', {$k2group}, '')";
}
$db->setQuery($query);
$db->query();
}
}
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_MOVE_COMPLETED'));
}
function import()
{
$mainframe = JFactory::getApplication();
$db = JFactory::getDBO();
if (K2_JVERSION != '15')
{
$db->setQuery("SELECT id, title AS name FROM #__usergroups");
$usergroups = $db->loadObjectList();
$xml = new JXMLElement(JFile::read(JPATH_COMPONENT.DS.'models'.DS.'usergroup.xml'));
$permissions = class_exists('JParameter') ? new JParameter('') : new JRegistry('');
foreach ($xml->params as $paramGroup)
{
foreach ($paramGroup->param as $param)
{
$attribute = K2_JVERSION == '30' ? $param->attributes()->type : $param->getAttribute('type');
if ($attribute != 'spacer')
{
if (K2_JVERSION == '30')
{
$permissions->set((string)$param->attributes()->name, (string)$param->attributes()->default);
}
else
{
$permissions->set($param->getAttribute('name'), $param->getAttribute('default'));
}
}
}
}
}
else
{
$acl = JFactory::getACL();
$frontEndGroups = $acl->_getBelow('#__core_acl_aro_groups', 'g1.id, g1.name, COUNT(g2.name) AS level', 'g1.name', false, 'Public Frontend', false);
$backEndGroups = $acl->_getBelow('#__core_acl_aro_groups', 'g1.id, g1.name, COUNT(g2.name) AS level', 'g1.name', false, 'Public Backend', false);
$usergroups = array_merge($frontEndGroups, $backEndGroups);
$xml = new JSimpleXML;
$xml->loadFile(JPATH_COMPONENT.DS.'models'.DS.'usergroup.xml');
$permissions = class_exists('JParameter') ? new JParameter('') : new JRegistry('');
foreach ($xml->document->params as $paramGroup)
{
foreach ($paramGroup->param as $param)
{
if ($param->attributes('type') != 'spacer')
{
$permissions->set($param->attributes('name'), $param->attributes('default'));
}
}
}
}
$permissions->set('inheritance', 0);
$permissions->set('categories', 'all');
$permissions = $permissions->toString();
foreach ($usergroups as $usergroup)
{
$K2UserGroup = JTable::getInstance('K2UserGroup', 'Table');
$K2UserGroup->name = JString::trim($usergroup->name)." (Imported from Joomla!)";
$K2UserGroup->permissions = $permissions;
$K2UserGroup->store();
if (K2_JVERSION != '15')
{
$query = "SELECT * FROM #__users AS user JOIN #__user_usergroup_map AS map ON user.id = map.user_id
WHERE map.group_id = ".$usergroup->id;
}
else
{
$query = "SELECT * FROM #__users WHERE gid={$usergroup->id}";
}
$db->setQuery($query);
$users = $db->loadObjectList();
foreach ($users as $user)
{
$query = "SELECT COUNT(*) FROM #__k2_users WHERE userID={$user->id}";
$db->setQuery($query);
$result = $db->loadResult();
if (!$result)
{
$K2User = JTable::getInstance('K2User', 'Table');
$K2User->userID = $user->id;
$K2User->group = $K2UserGroup->id;
$K2User->store();
}
}
}
$mainframe->redirect('index.php?option=com_k2&view=users', JText::_('K2_IMPORT_COMPLETED'));
}
}