Current File : /home/pacjaorg/wpt.pacja.org/km/modules/mod_djclassifieds_items/mod_djclassifieds_items.php |
<?php
/**
* @package DJ-Classifieds
* @copyright Copyright (C) DJ-Extensions.com, All rights reserved.
* @license http://www.gnu.org/licenses GNU/GPL
* @author url: http://dj-extensions.com
* @author email contact@dj-extensions.com
*/
defined ('_JEXEC') or die('Restricted access');
require_once (dirname(__FILE__).'/helper.php');
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djtheme.php');
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djseo.php');
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djimage.php');
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djfield.php');
require_once(JPATH_ROOT.'/administrator/components/com_djclassifieds/lib/djtype.php');
require_once(JPATH_ROOT.'/components/com_djclassifieds/model.php');
$djmodel = new DJClassifiedsModel();
JPluginHelper::importPlugin('djclassifieds');
$app = JFactory::getApplication();
$document = JFactory::getDocument();
$user = JFactory::getUser();
$cfpar = JComponentHelper::getParams('com_djclassifieds');
if($app->input->getVar('option')!='com_djclassifieds'){
DJClassifiedsTheme::includeMainScript();
DJClassifiedsTheme::includeCSSfiles();
DJClassifiedsTheme::loadLanguage();
}
if($params->get('ajax_load','0') == '1' && $params->get('slider', '0') == '0' && $params->get('layout') != '_:slider' && !$app->getUserState($module->name.$module->id.'.ajaxload')){
$layout = new JLayoutFile('moduleajaxload', JPATH_ROOT .'/components/com_djclassifieds/layouts');
echo $layout->render(array('module' => $module));
}else{
$app->setUserState($module->name.$module->id.'.ajaxload', null);
$items = modDjClassifiedsItemsHelper::getItems($params, $cfpar);
if(!$items){
return;
}
if($params->get('show_type','1')){ // view backward compatibility
$types = DJClassifiedsType::getTypes();
}
if($params->get('show_default_img','1')){
$cat_images = DJClassifiedsImage::getCatImages();
}
if($params->get('custom_fields','0')){
$fields = modDjClassifiedsItemsHelper::getFields(implode(',', array_map(function($v){return $v->id;}, $items)), $params, $cfpar);
}
foreach($items as $item){
$item->event = new stdClass();
$item->event->DJClassifiedsDisplayCategory = trim(implode("\n", $app->triggerEvent('onDJClassifiedsDisplayCategory', array(&$item, &$params, 'module.items'))));
$temp_par = clone $cfpar;
$app->triggerEvent('onDJClassifiedsPrepareItem', array(&$item, &$temp_par, 'module.items'));
$item->auction = $item->auction && $temp_par->get('auctions') ? '1' : '0';
$item->buynow = $item->buynow && $temp_par->get('buynow') ? '1' : '0';
$item->type_id = $item->type_id && $temp_par->get('show_types') ? $item->type_id : '0';
}
$slider = false;
if($params->get('slider', '0') && $params->get('layout') != '_:slider'){
$slider = true;
$dir = $document->direction ? $document->direction : 'ltr';
if(isset($_COOKIE["jmfdirection"])){
$dir = $_COOKIE["jmfdirection"];
}elseif(isset($_COOKIE["djdirection"])){
$dir = $_COOKIE["djdirection"];
}
JHTML::_('jquery.framework');
$document->addScript(JUri::base(true).'/modules/mod_djclassifieds_items/assets/js/djslider.js', array('version' => 'auto'));
$document->addScriptDeclaration("
jQuery(document).ready(function(){
djslider(".$module->id.", ".$params->get('columns_nr','1').", ".count($items).", '".$dir."', ".$params->get('autoslide', '0').");
});
jQuery(window).on('resize', function(){
".($params->get('autoslide', '0') ? "clearTimeout(window['djSliderTimout".$module->id."']);" : "")."
djslider(".$module->id.", ".$params->get('columns_nr','1').", ".count($items).", '".$dir."', ".$params->get('autoslide', '0').");
});
");
// shrinking items (except first) to avoid module height change on init
$document->addStyleDeclaration("
#mod_djclassifieds_items".$module->id." .item-box:not(:first-of-type) {
position: absolute;
}
");
$params->set('items_dir','vertical');
}
require(JModuleHelper::getLayoutPath('mod_djclassifieds_items', $params->get('layout', 'default')));
}