%PDF- %PDF-
Direktori : /home/lightco1/luminero.com.au/libraries/compojoom/model/ |
Current File : /home/lightco1/luminero.com.au/libraries/compojoom/model/customfieldsconfig.php |
<?php /** * @package Lib_Compojoom * @author DanielDimitrov <daniel@compojoom.com> * @date 23.01.14 * * @copyright Copyright (C) 2008 - 2013 compojoom.com . All rights reserved. * @license GNU General Public License version 2 or later; see LICENSE */ defined('_JEXEC') or die('Restricted access'); jimport('joomla.application.component.modellist'); /** * Class HotspotsModelHotspots * * @since 3.0 */ class CompojoomModelCustomfieldsconfig extends JModelList { /** * Method to get a JDatabaseQuery object for retrieving the data set from a database. * * @param string $component - the component that we want to get the custom fields for (e.x. com_hotspots.xxx where xxx is the item type) * @param int $catid - the category id * @param string $operator - Operator for component (defaults to =) * * @return JDatabaseQuery A JDatabaseQuery object to retrieve the data set. */ public function getFields($component, $catid = null, $operator = "=") { $db = $this->getDbo(); $query = $db->getQuery(true); $cats = array(); $query->select('f.*, c.catid as catid')->from('#__compojoom_customfields as f') ->leftJoin('#__compojoom_customfields_cats AS c ON f.id = c.compojoom_customfields_id') ->where($db->qn('f.show') . '=' . $db->q('all')) ->where($db->qn('f.enabled') . ' = ' . $db->q(1)); if ($operator == "LIKE") { $query->where($db->qn('f.component') . ' LIKE ' . $db->q($component)); } else { $query->where($db->qn('f.component') . ' = ' . $db->q($component)); } $all = $db->setQuery($query)->loadObjectList(); if ($catid) { $query->clear(); $query->select('f.*')->from('#__compojoom_customfields AS f')->where($db->qn('f.show') . '=' . $db->q('category')) ->innerJoin('#__compojoom_customfields_cats AS c ON f.id = c.compojoom_customfields_id') ->where(CompojoomQueryHelper::in('c.catid', is_array($catid) ? $catid : array($catid), $db)) ->where($db->qn('f.enabled') . ' = ' . $db->q(1)); if ($operator == "LIKE") { $query->where($db->qn('f.component') . ' LIKE ' . $db->q($component)); } else { $query->where($db->qn('f.component') . ' = ' . $db->q($component)); } $cats = $db->setQuery($query)->loadObjectList(); } if (count($cats)) { $allFields = array_merge($all, $cats); } else { $allFields = $all; } // Sort by ordering usort( $allFields, function($a, $b){ return $a->ordering - $b->ordering; } ); foreach ($allFields as $i => $field) { // JSON decode params column $allFields[$i]->params = json_decode($field->params); } return $allFields; } }