AnonSec Shell
Server IP : 54.36.91.62  /  Your IP : 216.73.217.112
Web Server : Apache
System : Linux webm013.cluster127.gra.hosting.ovh.net 5.15.206-ovh-vps-grsec-zfs-classid #1 SMP Fri May 15 02:41:25 UTC 2026 x86_64
User : coopiak ( 151928)
PHP Version : 8.3.23
Disable Function : _dyuweyrj4,_dyuweyrj4r,dl
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /home/coopiak/amisdesseniors-fr/nice/components/com_djcatalog2/models/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ HOME ]     

Current File : /home/coopiak/amisdesseniors-fr/nice/components/com_djcatalog2/models/producer.php
<?php
/**
 * @package DJ-Catalog2
 * @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');
use Joomla\Registry\Registry;
use Joomla\CMS\Factory;
use Joomla\CMS\MVC\Model\BaseDatabaseModel;
jimport('joomla.application.component.model');

class DJCatalog2ModelProducer extends BaseDatabaseModel {	
	protected $view_item = 'producer';
	protected $_item = null;
	protected $_context = 'com_djcatalog2.producer';
	protected $_attributes = array();
	
	protected function populateState()
	{
		$app = Factory::getApplication('site');
		
		// Load state from the request.
		$pk = $app->input->getInt('pid');
		$this->setState('item.id', $pk);
		
		// Load the parameters.
		$params = $app->getParams();
		$this->setState('params', $params);
		
	}
	
	public function &getItem($pk = null)
	{
		// Initialise variables.
		$pk = (!empty($pk)) ? $pk : (int) $this->getState('item.id');
		
		if ($this->_item === null) {
			$this->_item = array();
		}
		
		$bound = true;
		if (!isset($this->_item[$pk])) {
			try
			{
				$db = Factory::getDbo();
				$query = $db -> getQuery(true);
				
				//$attributes = $this -> getAttributes();
				
				$query -> select('i.*');
				$query -> from('#__djc2_producers as i');
				
				$query -> select('c.id as _category_id, c.name as category, c.published as publish_category, c.alias as category_alias');
				$query -> join('left', '#__djc2_producer_categories AS c ON c.id = i.cat_id');
				
				$query -> select('ua.name AS author, ua.email AS author_email');
				$query -> join('left', '#__users AS ua ON ua.id = i.created_by');
				
				$date = Factory::getDate();
				
				$query->where('i.id ='.(int)$pk);
				
				$query -> group('i.id');
				//echo str_replace('#_','jos',$query).'<br/>';die();
				$db -> setQuery($query);
				$item = $db -> loadObject();
				
				if (!empty($item)) {
					$item->slug = $item->prodslug = (empty($item->alias)) ? $item->id : $item->id.':'.$item->alias;
					$item->catslug = (empty($item->category_alias)) ? $item->cat_id : $item->cat_id.':'.$item->category_alias;
				}
				
				$this->_item[$pk] = $item;
				$bound = false;
			}
			catch (JException $e)
			{
				$this->setError($e);
				$this->_item[$pk] = false;
			}
			
		}
		if ($this->_item[$pk] && !$bound)
		{
			$this->bindAttributes($pk);
		}
		
		return $this->_item[$pk];
		
	}
	
	function getAttributes() {
		if (empty($this->_attributes)) {
			$db = Factory::getDbo();
			$query = $db->getQuery(true);
			$query->select('f.*, group_concat(fo.id separator \'|\') as options');
			$query->from('#__djc2_producers_extra_fields as f');
			$query->join('LEFT', '#__djc2_producers_extra_fields_options as fo ON fo.field_id=f.id');
			
			$query->where('(f.visibility = 1 or f.visibility = 3) and f.published = 1');
			$query->group('f.id');
			$query->order('f.ordering asc');
			$db->setQuery($query);
			
			$this->_attributes = $db->loadObjectList();
		}
		
		return $this->_attributes;
	}
	
	function bindAttributes($id) {
		if (!empty($this->_item[$id])) {
			$db = Factory::getDbo();
			
			$query_int = $db->getQuery(true);
			$query_text = $db->getQuery(true);
			$query_date = $db->getQuery(true);
			
			$query_int->select('fields.alias, fields.type, fields.ordering, fieldvalues.item_id, fieldvalues.field_id, fieldvalues.id as value_id, fieldoptions.id as option_id, fieldoptions.value, fieldoptions.params as option_params');
			$query_int->from('#__djc2_producers_extra_fields_values_int as fieldvalues');
			$query_int->join('inner', '#__djc2_producers as items on items.id=fieldvalues.item_id' );
			$query_int->join('inner','#__djc2_producers_extra_fields as fields ON fields.id = fieldvalues.field_id');
			$query_int->join('left','#__djc2_producers_extra_fields_options as fieldoptions ON fieldoptions.id = fieldvalues.value AND fieldoptions.field_id = fields.id');
			$query_int->where('fieldvalues.item_id='.$id.' AND (fields.visibility = 1 OR fields.visibility = 3) AND fields.published = 1');
			$query_int->order('fields.ordering asc, fieldoptions.ordering asc');
			
			$query_text->select('fields.alias, fields.type, fields.ordering, fieldvalues.item_id, fieldvalues.field_id, fieldvalues.id as value_id, 0 as option_id, fieldvalues.value');
			$query_text->from('#__djc2_producers_extra_fields_values_text as fieldvalues');
			$query_text->join('inner', '#__djc2_producers as items on items.id=fieldvalues.item_id' );
			$query_text->join('inner','#__djc2_producers_extra_fields as fields ON fields.id = fieldvalues.field_id');
			$query_text->where('fieldvalues.item_id='.$id.' AND (fields.visibility = 1 OR fields.visibility = 3) AND fields.published = 1');
			
			$query_date->select('fields.alias, fields.type, fields.ordering, fieldvalues.item_id, fieldvalues.field_id, fieldvalues.id as value_id, 0 as option_id, fieldvalues.value');
			$query_date->from('#__djc2_producers_extra_fields_values_date as fieldvalues');
			$query_date->join('inner', '#__djc2_producers as items on items.id=fieldvalues.item_id' );
			$query_date->join('inner','#__djc2_producers_extra_fields as fields ON fields.id = fieldvalues.field_id');
			$query_date->where('fieldvalues.item_id='.$id.' AND (fields.visibility = 1 OR fields.visibility = 3) AND fields.published = 1');
			$query_date->order('fields.ordering asc');
			
			$db->setQuery($query_int);
			$int_attributes = $db->loadObjectList();
			$db->setQuery($query_text);
			$text_attributes = $db->loadObjectList();
			$db->setQuery($query_date);
			$date_attributes = $db->loadObjectList();

			foreach ($text_attributes as $attribute) {
				if ($attribute->item_id == $id) {
					$field = '_ef_'.$attribute->alias;
					$this->_item[$id]->$field = $attribute->value;
				}
			}
			foreach ($date_attributes as $attribute) {
				if ($attribute->item_id == $id) {
					$field = '_ef_'.$attribute->alias;
					$this->_item[$id]->$field = $attribute->value;
				}
			}
			foreach ($int_attributes as $attribute) {
				if ($attribute->item_id == $id) {
					$field = '_ef_'.$attribute->alias;
					$param_field = '_efp_'.$attribute->alias;
					
					if (!isset($this->_item[$id]->$field) || !is_array($this->_item[$id]->$field)) {
						$this->_item[$id]->$field = array();
					}
					if (!in_array($attribute->value, $this->_item[$id]->$field)) {
						$tmp_arr = $this->_item[$id]->$field;
						$tmp_arr[$attribute->option_id] = $attribute->value;
						$this->_item[$id]->$field = $tmp_arr;
					}
					
					if (!isset($this->_item[$id]->$param_field) || !is_array($this->_item[$id]->$param_field)) {
						$this->_item[$id]->$param_field = array();
					}
					
					$tmp_arr = $this->_item[$id]->$param_field;
					$tmp_arr[$attribute->option_id] = new Registry($attribute->option_params);
					
					$this->_item[$id]->$param_field = $tmp_arr;
				}
			}
		}
	}
}

Anon7 - 2022
AnonSec Team