Current File : /home/pacjaorg/public_html/km/administrator/components/com_djclassifieds/controllers/fields.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');

class DJClassifiedsControllerFields extends JControllerAdmin
{
	public function getModel($name = 'Field', $prefix = 'DJClassifiedsModel', $config = array())
	{
		$model = parent::getModel($name, $prefix, array('ignore_request' => true));
		return $model;
	}

	function copyDefaultOrdering()
	{
		$app  = JFactory::getApplication();
		$db   = JFactory::getDBO();
		$cid  = $app->input->get('cid', array (), '', 'array');		

		$query = "UPDATE #__djcf_fields_xref fx "
				."JOIN #__djcf_fields f ON fx.field_id = f.id "
				."SET fx.ordering = f.ordering"
				.($cid ? " WHERE fx.field_id IN ( ".implode(',', $cid)." )" : "");
		$db->setQuery($query);
		$db->execute();

		$app->enqueueMessage(JText::_($cid ? 'COM_DJCLASSIFIEDS_FIELDS_CATEGORIES_ORDERING_CHANGED' : 'COM_DJCLASSIFIEDS_FIELDS_CATEGORIES_ORDERING_ALL_CHANGED'), 'success');
		$app->redirect('index.php?option=com_djclassifieds&view=fields');
	}

	function recreateThumbnails()
	{	
		$app = JFactory::getApplication();
		$cid = $app->input->get('cid', array());

		if (!$cid) {
			$this->recreateThumbnailsAll();
			return true;
		}

		$field_id = $cid[0];
		unset($cid[0]);		

		$this->_recreateFieldThumbnails($field_id);
	    
		if (!$cid) {
			$this->setRedirect( 'index.php?option=com_djclassifieds&view=fields', JText::_('COM_DJCLASSIFIEDS_THUMBNAILS_RECREATED') );	
		} else {	        
			$cids = '';
			foreach ($cid as $value) {
				$cids .= '&cid[]='.$value; 
			}
			header("refresh: 0; url=".JURI::base().'index.php?option=com_djclassifieds&task=fields.recreateThumbnails'.$cids);				        
	    }
	}

	function recreateThumbnailsAll()
	{
		$app = JFactory::getApplication();
		$db = JFactory::getDBO();
		$prev_img_id = $app->input->get('img_id', '0');

		$query = "SELECT * FROM #__djcf_images WHERE type LIKE '%_field_%' AND id > ".$prev_img_id." ORDER BY id ASC LIMIT 1";
		$db->setQuery($query);
		$img = $db->loadObject();

		if(!$img){
			$this->setRedirect('index.php?option=com_djclassifieds&view=fields', JText::_('COM_DJCLASSIFIEDS_THUMBNAILS_RECREATED'));
		}else{
			$field_type_arr = explode('_field_', $img->type);
			$field_id = end($field_type_arr);
			$this->_recreateFieldThumbnails($field_id);
			header("refresh: 0; url=".JURI::base().'index.php?option=com_djclassifieds&task=fields.recreateThumbnailsAll&img_id='.$img->id);	
		}
	}

	function _recreateFieldThumbnails($field_id)
	{
		JToolBarHelper::title(JText::_('COM_DJCLASSIFIEDS_RECREATING_THUMBNAILS'), 'generic.png');
		echo '<h3>'.JTEXT::_('COM_DJCLASSIFIEDS_RESIZING_ITEM').' '.$field_id.'... '.JTEXT::_('COM_DJCLASSIFIEDS_PLEASE_WAIT').'</h3>';

		$db = JFactory::getDBO();
		$query = "SELECT * FROM #__djcf_images WHERE type LIKE '%_field_".$field_id."'";
		$db->setQuery($query);
		$images = $db->loadObjectList();

		if($images){
			$query = "SELECT * FROM #__djcf_fields WHERE id = ".$field_id;
			$db->setQuery($query);
			$field = $db->loadObject();

			$f_par = new JRegistry();
			$f_par->loadString($field->params);
			$nw = (int)$f_par->get('image_th_width', 150);
			$nh = (int)$f_par->get('image_th_height', 0);

			foreach($images as $image){
				$path = JPATH_SITE.$image->path.$image->name;	
				if (JFile::exists($path.'.'.$image->ext)){ 
					if (JFile::exists($path.'_th.'.$image->ext)){
						JFile::delete($path.'_th.'.$image->ext);
					}
					DJClassifiedsImage::makeThumb($path.'.'.$image->ext,$path.'_th.'.$image->ext, $nw, $nh);
					echo '<img src="'.JUri::root(true).$image->path.$image->name.'_th.'.$image->ext.'" style="margin-right:3px">';
				}
			}
		}
	}

	public function batch()
	{
		$app  = JFactory::getApplication();
	    $db   = JFactory::getDBO();
		$user = JFactory::getUser();
		$redirect = 'index.php?option=com_djclassifieds&view=fields';

		if (!$user->authorise('core.admin', 'com_djclassifieds')) {
	    	$this->setMessage(JText::_('JGLOBAL_BATCH_CANNOT_EDIT'), 'error');
	    	$this->setRedirect($redirect);
	    	return false;
	    }
		
		$cid_arr = $app->input->get('cid', array());

		$display_cols = array(
			'in_table',
			'in_blog',
			'in_item',
			'in_module',
			'in_registration'
		);

		$updated = false;
	    if($cid_arr){
	        $ids = implode(',', $cid_arr);

			if($app->input->get('batch_gid') != ''){
				$query = "UPDATE #__djcf_fields SET group_id=".$app->input->getInt('batch_gid')." WHERE id IN (".$ids.")";
				$db->setQuery($query);
				$db->execute();
				$updated = true;
			}

			foreach($display_cols as $display_col){
				if($app->input->get('batch_'.$display_col) != ''){
					$query = "UPDATE #__djcf_fields SET ".$display_col."=".$app->input->getInt('batch_'.$display_col)." WHERE id IN (".$ids.")";
					$db->setQuery($query);
					$db->execute();
					$updated = true;
				}
			}
		}		

		if($updated){
			$app->enqueueMessage(JText::sprintf('COM_DJCLASSIFIEDS_BATCH_FIELDS_UPDATED', count($cid_arr)), 'success');
		}
	    $app->redirect($redirect);
	}
}
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

Site will be available soon. Thank you for your patience!