Current File : /home/pacjaorg/public_html/km/administrator/components/com_djclassifieds/controllers/offers.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;
class DJClassifiedsControllerOffers extends JControllerAdmin
{
public function getModel($name = 'Offer', $prefix = 'DJClassifiedsModel', $config = array('ignore_request' => true))
{
$model = parent::getModel($name, $prefix, $config);
return $model;
}
function changeStatus()
{
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$ids = $app->input->get('cid', array());
if(isset($ids[0])){
$id = $ids[0];
$status = $app->input->get('change_status_'.$id,'');
}else{
$redirect = 'index.php?option=com_djclassifieds&view=offers';
$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_WRONG_OFFER'), 'error');
$app->redirect($redirect);
}
$query = "SELECT o.* FROM #__djcf_offers o WHERE o.id=".$id." LIMIT 1";
$db->setQuery($query);
$offer = $db->loadObject();
$query = "SELECT i.*, c.name as c_name,c.alias as c_alias, u.name as u_name, u.email as u_email FROM #__djcf_items i, #__djcf_categories c, #__users u "
."WHERE c.id=i.cat_id AND u.id=i.user_id AND i.id= ".$offer->item_id." LIMIT 1 ";
$db->setQuery($query);
$item = $db->loadObject();
if($status==6){
$query="UPDATE #__djcf_offers SET status=1, paid=1, confirmed=1,request=1,admin_paid=1 "
." WHERE id=".$id;
}else if($status==5){
$query="UPDATE #__djcf_offers SET status=1, paid=1, confirmed=1,request=1,admin_paid=0 "
." WHERE id=".$id;
}else if($status==4){
$query="UPDATE #__djcf_offers SET status=1, paid=1, confirmed=1,request=0,admin_paid=0 "
." WHERE id=".$id;
$bidder = JFactory::getUser($offer->user_id);
DJClassifiedsNotify::notifyConfirmOfferAuthor($offer->item_id,$bidder,$offer->price,$offer->quantity);
}else if($status==3){
$query="UPDATE #__djcf_offers SET status=1, paid=1, confirmed=0,request=0,admin_paid=0 "
." WHERE id=".$id;
}else if($status==2){
$query="UPDATE #__djcf_offers SET status=2, paid=0, confirmed=0,request=0,admin_paid=0 "
." WHERE id=".$id;
$bidder = JFactory::getUser($offer->user_id);
$offer_info = array();
$offer_info['price'] = $offer->price;
$offer_info['quantity'] = $offer->quantity;
$offer_info['msg'] = $offer->message;
$offer_info['offerer_name'] = $bidder->name;
$offer_info['offerer_email'] = $bidder->email;
$offer_info['status'] = 2;
$offer_info['response'] = $offer->response;
DJClassifiedsNotify::messageOfferAuthorToOfferer($id,$bidder,$item,$offer_info);
}else if($status==1){
$query="UPDATE #__djcf_offers SET status=1, paid=0, confirmed=0,request=0,admin_paid=0 "
." WHERE id=".$id;
$bidder = JFactory::getUser($offer->user_id);
$offer_info = array();
$offer_info['price'] = $offer->price;
$offer_info['quantity'] = $offer->quantity;
$offer_info['msg'] = $offer->message;
$offer_info['offerer_name'] = $bidder->name;
$offer_info['offerer_email'] = $bidder->email;
$offer_info['status'] = 1;
$offer_info['response'] = $offer->response;
DJClassifiedsNotify::messageOfferAuthorToOfferer($id,$bidder,$item,$offer_info);
}else{
$query="UPDATE #__djcf_offers SET status=0, paid=0, confirmed=0,request=0,admin_paid=0 "
." WHERE id=".$id;
}
$db->setQuery($query);
$db->execute();
$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_STATUS_CHANGED'), 'success');
$app->redirect('index.php?option=com_djclassifieds&view=offers');
}
function sendMessage()
{
$app = JFactory::getApplication();
$config = JFactory::getConfig();
$mailto = $app->input->getVar('djmsg_email', '');
$subject = $app->input->getVar('djmsg_title', '');
$message = $app->input->get('djmsg_description', '', 'RAW');
$mailfrom = $app->getCfg('mailfrom');
$fromname = $config->get('sitename');
$mailer = JFactory::getMailer();
$mailer->sendMail($mailfrom, $fromname, $mailto, $subject, $message, $mode=1);
$app->enqueueMessage(JText::_('COM_DJCLASSIFIEDS_MESSAGE_SENT'), 'success');
$app->redirect('index.php?option=com_djclassifieds&view=offers');
}
public function exportCSV()
{
$app = JFactory::getApplication();
$db = JFactory::getDBO();
$ids = implode(',', $app->input->get('cid'));
$db= JFactory::getDBO();
$query = "SELECT o.*, i.name as i_name, u.name as u_name, u.email as u_email, i.ui_name, i.ui_email,ui_id, p.date as p_date, p.id as p_id FROM #__djcf_offers o "
."LEFT JOIN (SELECT i.*, u.name as ui_name, u.email as ui_email, u.id as ui_id FROM #__djcf_items i, #__users u
WHERE u.id=i.user_id ) i ON i.id=o.item_id "
."LEFT JOIN (SELECT p.* FROM #__djcf_payments p
WHERE p.type=5 AND p.status='Completed' ) p ON p.item_id=o.id "
."LEFT JOIN #__users u ON u.id=o.user_id "
."WHERE o.id IN (".$ids.") ORDER BY o.id DESC";
$db->setQuery($query);
$offers = $db->loadObjectList();
$fh = fopen('php://output', 'w');
ob_start();
foreach ($offers as $offer) {
$line = array('','paypal',$offer->u_name,$offer->p_date,$offer->item_id,$offer->p_id,$offer->price,$offer->currency,$offer->date,'response_code','vendor_name','vendor_bank_info');
fputcsv($fh, $line);
}
$csv_content = ob_get_clean();
$filename = 'DJ-Classifieds_offers_' . date('Y-m-d_His');
header('Pragma: public');
header('Expires: 0');
header('Cache-Control: must-revalidate, post-check=0, pre-check=0');
header('Cache-Control: private', false);
header('Content-Type: application/octet-stream');
header('Content-Disposition: attachment; filename="' . $filename . '.csv";');
header('Content-Transfer-Encoding: binary');
exit($csv_content);
}
}