Current File : /home/pacjaorg/public_html/km/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();
}
}