Current File : /home/pacjaorg/public_html/kmm/components/com_djclassifieds/controller.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 DJClassifiedsController extends JControllerLegacy
{
	function __construct($config = array())
	{
		parent::__construct($config);

		$lang = JFactory::getLanguage();
		$lang->load('com_djclassifieds');
	}
	
	function processPayment()
	{
		$app = JFactory::getApplication();

		$app->input->set('view', 'payment');
		$app->input->set('layout', 'process');

		parent::display();
	}
	
	function paymentReturn()
	{
		$app = JFactory::getApplication();
		$djmodel = new DJClassifiedsModel();
		$r = $app->input->get('r');
		$payment_id = $app->input->getInt('id');

		$payment = $djmodel->getPayment($payment_id);

		if($r == 'ok'){
			$message = JTExt::_('COM_DJCLASSIFIEDS_THANKS_FOR_PAYMENT_WAIT_FOR_CONFIRMATION');
			$msg_type = 'success';
			DJClassifiedsPayment::changePaymentReturnStatus($payment_id, 'Pending');
			$redirect = DJClassifiedsPayment::getRedirectPage($payment->type, $payment->item_id);
		}else{					
			$message = JTExt::_('COM_DJCLASSIFIEDS_PAYMENT_CANCELED');
			$msg_type = 'warning';
			DJClassifiedsPayment::changePaymentReturnStatus($payment_id, 'Cancelled');
			$redirect = DJClassifiedsPayment::getRedirectPage($payment->type, $payment->item_id, false);
		}

		JPluginHelper::importPlugin('djclassifiedspayment');
		$app->triggerEvent('onDJClassifiedsPaymentReturnRedirect', array(&$redirect));

		$app->enqueueMessage($message, $msg_type);
		$app->redirect(JRoute::_($redirect, false));
	}
	
	function cronNotifications()
	{
		$app = JFactory::getApplication();
		$par = JComponentHelper::getParams('com_djclassifieds');

		if($par->get('auto_delete_expired_enabled','0') || $par->get('auto_archive_expired_enabled','0')){
			JLoader::register('DJClassifiedsControllerItems', JPATH_ROOT.'/administrator/components/com_djclassifieds/controllers/items.php');
			$controller = new DJClassifiedsControllerItems();

			if($par->get('auto_delete_expired_enabled','0')){
				echo $controller->deleteExpired($par->get('auto_delete_expired','0')).'<br>';
			}
			if($par->get('auto_archive_expired_enabled','0')){
				echo $controller->archiveExpired($par->get('auto_archive_expired','0')).'<br>';
			}
		}

		$notify_days = $par->get('notify_days','0');
		if($notify_days>0 && $par->get('notify_days_trigger','0')==3){
			DJClassifiedsNotify::notifyExpired(0,0);
			if($par->get('notify_prom_exp','0')){
				DJClassifiedsNotify::notifyPromotionsExpired(0,0);
			}
		}
		if($par->get('auctions','0') || JPluginHelper::isEnabled('djclassifieds', 'plans')){ // auctions might be enabled in plans
			DJClassifiedsNotify::notifyAuctions();
		}
		
		$app->triggerEvent('onAfterDJClassifiedsCronNotifications', array());
		
		echo 'done';
		$app->close();
	}

	function cronOptimize()
	{
		$app = JFactory::getApplication();

		$db =  JFactory::getDBO();
		$query = "SELECT * FROM #__djcf_images WHERE optimized=0 LIMIT 1";
		$db->setQuery($query);
		$image = $db->loadObject();
		
		if($image){			
			$path = JPATH_SITE.$image->path.$image->name;
			if (JFile::exists($path.'.'.$image->ext)){
				if (JFile::exists($path.'_thb.'.$image->ext)){
					DJClassifiedsImage::resmushitThumbnails($path.'_thb.'.$image->ext);
				}
				if (JFile::exists($path.'_th.'.$image->ext)){
					DJClassifiedsImage::resmushitThumbnails($path.'_th.'.$image->ext);
				}
				if (JFile::exists($path.'_thm.'.$image->ext)){
					DJClassifiedsImage::resmushitThumbnails($path.'_thm.'.$image->ext);
				}
				if (JFile::exists($path.'_ths.'.$image->ext)){
					DJClassifiedsImage::resmushitThumbnails($path.'_ths.'.$image->ext);
				}						
			}
			$query = "UPDATE #__djcf_images SET optimized=1 WHERE id = ".$image->id;
			$db->setQuery($query);
			$db->execute();
			echo 'Optimizing '.$image->id;						
			header("refresh: 0; url=".JURI::base().'index.php?option=com_djclassifieds&task=cronOptimize');
		}else{
			echo 'done';
		}

		$app->close();
	}	
	
	function cronSearchNotifications()
	{
		$app = JFactory::getApplication();
		
		if($app->triggerEvent('onUpdateSearchAlerts', array()) 
		|| $app->triggerEvent('updateSearchAlerts', array())){ // backward compatibility
			DJClassifiedsNotify::notifySearchAlerts();
		}
		
		echo 'done';
		$app->close();
	}
		
	function cronPayments()
	{
		JPluginHelper::importPlugin('djclassifiedspayment');
		$app = JFactory::getApplication();

		$app->triggerEvent('onDJClassifiedsCronPayments', array());
		
		echo 'done';
		$app->close();
	}
	
	public function imageupload()
	{			
		DJUploadHelper::upload();
		return true;
	}

	public function upload() // backward compatibility
	{			
		return self::imageupload();
	}

	public function fileupload()
	{		
		DJFilesUploadHelper::upload();
		return true;
	}
	
	function download()
	{
		require_once(JPATH_ROOT.'/plugins/djclassifieds/files/helper.php');
		$app = JFactory::getApplication();
		$file_id = $app->input->getInt('fid',0);
	 
		if (!DJClassifiedsFileHelper::getFile($file_id)){
			throw new Exception('file not found', 404);
			return false;
		}

		$app->close();
	}
}
Site is undergoing maintenance

PACJA Events

Maintenance mode is on

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