| Current Path : /home/digilove/public_html/components/com_marketplace/controllers/ |
| Current File : /home/digilove/public_html/components/com_marketplace/controllers/orderhistory.php |
<?php
/**
* Marketplace - Component Marketplace
* ******************************************************************
*
* PHP version 7.0
*
* @category Component
* @package Joomla
* @author WebKul software private limited <support@webkul.com>
* @copyright 2010 WebKul software private limited
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @version GIT:5.2
* @filesource http://store.webkul.com
* @link Technical Support: webkul.uvdesk.com
* ******************************************************************
*/
// no direct access
defined('_JEXEC') or die('Restricted access');
if (!class_exists('VmConfig')) {
include JPATH_ADMINISTRATOR.'/components/com_virtuemart/helpers/config.php';
}
$vmconfig=VmConfig::loadConfig();
/**
* MarketplaceControllerOrderhistory class
*
* @category Component
* @package Joomla
* @author WebKul software private limited <support@webkul.com>
* @license http://www.gnu.org/licenses/gpl-2.0.html GNU/GPL
* @link Technical Support: webkul.uvdesk.com
*/
class MarketplaceControllerOrderhistory extends JControllerLegacy
{
/**
* __construct function
*/
function __construct()
{
parent::__construct();
}
/**
* Display function
*
* @param boolean $cachable var
* @param array $urlparams var
*
* @return void
*/
function display($cachable = false, $urlparams = array())
{
parent::display();
}
/**
* Editorder function
*
* @return void
*/
function editorder()
{
$app = JFactory::getApplication();
$_input = $app->input;
$orderhistorymenu=plgSystemMarketplace::getMenuId(
'index.php?option=com_marketplace&view=orderhistory'
);
$cid = $_input->getInt('cid', 0);
if (!is_array($cid) || !array_key_exists(0, $cid)) {
$this->setRedirect(
JRoute::_(
'index.php?option=com_marketplace&view=orderhistory&Itemid='
.$orderhistorymenu,
JText::_('INCORRECT_ID'),
'error'
)
);
}
$_input->set('view', 'orderlist');
$_input->set('id', $cid[0]);
$_input->set('layout', 'form');
$_input->set('hidemainmenu', 1);
$this->display();
}
/**
* MultipleOrderUpdate function
*
* @return void
*/
function multipleOrderUpdate()
{
VmConfig::loadJLang('com_virtuemart');
$app = JFactory::getApplication();
$_input = $app->input;
$vmconfig=VmConfig::loadConfig();
$orderMod=VmModel::getModel("orders");
$order_id = $_input->getInt('ids', 0);
$status_val= $_input->get('val', "");
$seller_name=$_input->get('sel_name');
$seller_email=$_input->get('sel_email');
$virtuemart_order_id=$_input->get('vm_ordr_id');
$orderHis = $this->getModel('Orderhistory');
$db = JFactory::getDBO();
if ($status_val != "") {
$res = $orderHis->setOrderStatus(
JFactory::getUser()->id,
$virtuemart_order_id,
$status_val
);
echo $res;
}
if ($order_id == null) {
JFactory::getApplication()->close();
}
foreach ($order_id as $k => $v) {
$query=$db->getQuery(true);
$fields = array(
$db->quoteName('order_status') . ' = ' . $db->quote($status_val));
$conditions=array(
$db->quoteName('virtuemart_order_item_id').
' = '.$db->quote($v)
);
$query->update(
$db->quoteName('#__virtuemart_order_items')
)
->set($fields)
->where($conditions);
$db->setQuery($query);
try{
$success=$db->execute();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('a.user_id').",".$db->quoteName('b.email')
.",".$db->quoteName('b.name')
)
->from($db->quoteName('#__user_usergroup_map')." as a")
->join("LEFT", $db->quoteName('#__users')." as b ON a.user_id=b.id")
->where($db->quoteName('a.group_id')."=8");
$db->setQuery($query);
try{
$users=$db->loadObjectList();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$or_m=array();
foreach ($order_id as $k => $v) {
$query=$db->getQuery(true);
$query->select(
$db->quoteName('virtuemart_order_id').","
.$db->quoteName('virtuemart_product_id').","
.$db->quoteName('order_item_name').",".$db->quoteName('order_status')
)
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_item_id')."=".$db->quote($v)
);
$db->setQuery($query);
try{
$or=$db->loadObject();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$or_m[]=$or;
}
$or_name=array();
$common_line='<h4>'.JText::_('ORDER_STATUS_CHANGED').'</h4>';
$mst='<div style="border-bottom:5x solid black;"><span st'.
'yle="width:48%;display:inline-block"><strong>'.
JText::_('PRODUCT_NAME').'</strong></span><span style="wi'.
'dth:48%;display:inline-block"><strong>'.JText::_('STATUS_CHANGED_TO').
'</strong></span></div>';
$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$sender = $config->get('mailfrom');
$mailer->setSender($sender);
$status_val='';
foreach ($or_m as $key => $value) {
$query=$db->getQuery(true);
$query->select(
$db->quoteName('order_number').",".$db->quoteName('created_by')
)
->from($db->quoteName('#__virtuemart_orders'))
->where(
$db->quoteName('virtuemart_order_id')."=".
$db->quote($value->virtuemart_order_id)
);
$db->setQuery($query);
try{
$or_no=$db->loadObject();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select($db->quoteName('name').",".$db->quoteName('email'))
->from($db->quoteName('#__users'))
->where($db->quotename('id')."=".$db->quote($or_no->created_by));
$db->setQuery($query);
try{
$buyer=$db->loadObject();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$status_val='';
$status_val=ShopFunctions::getOrderStatusName($value->order_status);
$mst=$mst.'<div style="padding-top:10px;"><span style="w'.
'idth:48%;display:inline-block">'.$value->order_item_name.
'</span><span style="width:48%;display:inline-block">'
.vmText::_($status_val).'</span></div>';
$or_name[]=$value->order_item_name;
}
/* Getting email template */
$params = JComponentHelper::getParams('com_marketplace');
$template = trim($params->get('mp_temp_mail_order_status'));
$subject_temp = trim($params->get('mp_sub_mail_order_status'));
$to=$buyer->email;
$from=$seller_email;
$sub=$subject_temp;
$body = $template;
/* Replacing Value in Templates*/
$body = str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$body
);
$sub= str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$sub
);
$body = str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$body
);
$sub= str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$sub
);
$body = str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$body
);
$sub= str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$sub
);
$body = str_replace(
'{[ORDER_PRODUCT_STATUS_CHANGES]}', $mst,
$body
);
$mailer->addRecipient($to);
$mailer->setSubject($sub);
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
$mailer->setBody($body);
$send1 = $mailer->Send();
$mailer1 = JFactory::getMailer();
$sender1 =$config->get('mailfrom');
$to='';
$body=$template;
$to=$users[0]->email;
$from=$seller_email;
$sub=$subject_temp;
/* Replacing Value in Templates*/
$body = str_replace(
'{[RECEPIENT_NAME]}', ucwords($users[0]->name),
$body
);
$sub= str_replace(
'{[RECEPIENT_NAME]}', ucwords($users[0]->name),
$sub
);
$body = str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$body
);
$sub= str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$sub
);
$body = str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$body
);
$sub= str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$sub
);
$body = str_replace(
'{[ORDER_PRODUCT_STATUS_CHANGES]}', $mst,
$body
);
$mailer1->addRecipient($to);
$mailer1->setSubject($sub);
$mailer1->isHTML(true);
$mailer1->Encoding = 'base64';
$mailer1->setBody($body);
$send1 = $mailer1->Send();
$query=$db->getQuery(true);
$query->select($db->quoteName('virtuemart_order_id'))
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_item_id').
"=".$db->quote($order_id[0])
);
$db->setQuery($query);
try{
$virtuemart_order_id=$db->loadResult();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('virtuemart_order_item_id').","
.$db->quoteName('order_status')
)
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_id').
"=".$db->quote($virtuemart_order_id)
);
$db->setQuery($query);
try{
$common_order=$db->loadObjectList();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$limit=count($common_order);
$f=0;
$i=0;
foreach ($common_order as $key => $v) {
if ($i<$limit-1) {
if ($common_order[$i]->order_status!=$common_order[$i+1]->order_status) {
$f=1;
break;
}
}
$or_sts=$v->order_status;
$f=0;
$i++;
}
if ($f!=1) {
$ord=$orderMod->getOrder($virtuemart_order_id);
$fields=array(
$db->quoteName('order_status').
"=".$db->quote($or_sts)
);
$conditions=array(
$db->quoteName('virtuemart_order_id').
"=".$db->quote($virtuemart_order_id)
);
$query->update(
$db->quoteName('#__virtuemart_orders')
)
->set($fields)
->where($conditions);
$db->setQuery($query);
try{
$success=$db->execute();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
if (!class_exists('plgSystemMarketplace')) {
include JPATH_SITE.'/plugins/system/marketplace/marketplace.php';
}
$query=$db->getQuery(true);
$query->select($db->quoteName('update_status'))
->from($db->quoteName('#__marketplace_orderlist'))
->where(
$db->quoteName('virtuemart_order_id')."=".
$db->quote($virtuemart_order_id)
);
$db->setQuery($query);
try{
$res = $db->loadResult();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
if ($res == null || $res == 0) {
plgSystemMarketplace::updateCommision($ord);
}
}
echo $success;die;
}
/**
* Undocumented function
*
* @return void
*/
function singleOrderUpdate()
{
VmConfig::loadJLang('com_virtuemart');
$orderstatus=VmModel::getModel('orderstatus');
$app = JFactory::getApplication();
$_input = $app->input;
$order_id= $_input->getInt('id', 0);
$status_val= $_input->get('val', "");
$seller_name=$_input->get('sel_name');
$seller_email=$_input->get('sel_email');
$path=JURI::root();
$path=explode("components", $path);
$db = JFactory::getDBO();
$query=$db->getQuery(true);
$fields = array(
$db->quoteName('order_status') . ' = ' . $db->quote($status_val));
$conditions=array(
$db->quoteName('virtuemart_order_item_id').' = '.$db->quote($order_id)
);
$query->update($db->quoteName('#__virtuemart_order_items'))
->set($fields)
->where($conditions);
$db->setQuery($query);
try{
$success=$db->execute();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('a.user_id').",".$db->quoteName('b.email')
.",".$db->quoteName('b.name')
)
->from($db->quoteName('#__user_usergroup_map')." as a")
->join("LEFT", $db->quoteName('#__users')." as b ON a.user_id=b.id")
->where($db->quoteName('a.group_id')."=8");
$db->setQuery($query);
try{
$users=$db->loadObjectList();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('virtuemart_order_id').",".
$db->quoteName('virtuemart_product_id').",".
$db->quoteName('order_item_name').",".
$db->quoteName('order_status')
)
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_item_id')."=".$db->quote($order_id)
);
$db->setQuery($query);
try{
$or=$db->loadObject();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('order_number').",".$db->quoteName('created_by')
)
->from($db->quoteName('#__virtuemart_orders'))
->where(
$db->quoteName('virtuemart_order_id').
"=".$db->quote($or->virtuemart_order_id)
);
$db->setQuery($query);
$or_no=$db->loadObject();
$query=$db->getQuery(true);
$query->select($db->quoteName('virtuemart_media_id'))
->from($db->quoteName('#__virtuemart_product_medias'))
->where(
$db->quoteName('virtuemart_product_id').
"=".$db->quote($or->virtuemart_product_id)
);
$db->setQuery($query);
try{
$m_id=$db->loadResult();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
if (isset($m_id)) {
$query=$db->getQuery(true);
$query->select($db->quoteName('file_url'))
->from($db->quoteName('#__virtuemart_medias'))
->where(
$db->quoteName('virtuemart_media_id').
"=".$db->quote($m_id)
);
$db->setQuery($query);
try{
$m_url=$db->loadResult();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
} else {
$m_url=$vmconfig->get("assets_general_path").
"images/vmgeneral/".$vmconfig->get("no_image_set");
}
$query=$db->getQuery(true);
$query->select($db->quoteName('name').",".$db->quoteName('email'))
->from($db->quoteName('#__users'))
->where(
$db->quotename('id')."=".$db->quote($or_no->created_by)
);
$db->setQuery($query);
try{
$buyer=$db->loadObject();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
/* Getting email template */
$params = JComponentHelper::getParams('com_marketplace');
$template = trim($params->get('mp_temp_mail_order_status'));
$subject_temp = trim($params->get('mp_sub_mail_order_status'));
$status_val=ShopFunctions::getOrderStatusName($status_val);
$mailer = JFactory::getMailer();
$config = JFactory::getConfig();
$sender = $config->get('mailfrom');
$mailer->setSender($sender);
$instance=JURI::getInstance();
$host=$instance->getHost();
$path=JUri::base(true);
$sub=$subject_temp;
$body = $template;
/* Replacing Value in Templates*/
$body = str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$body
);
$sub= str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$sub
);
$body = str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$body
);
$sub= str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$sub
);
$body = str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$body
);
$sub= str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$sub
);
$message2='<div style="padding-top:10px;"><span style="w'.
'idth:48%;display:inline-block">'.$or->order_item_name.
'</span><span style="width:48%;display:inline-block">'
.vmText::_($status_val).'</span></div>';
$body = str_replace(
'{[ORDER_PRODUCT_STATUS_CHANGES]}', $message2,
$body
);
$to=$buyer->email;
$mailer->addRecipient($to);
$mailer->setSubject($sub);
$mailer->isHTML(true);
$mailer->Encoding = 'base64';
$mailer->setBody($body);
$send2 = $mailer->Send();
$mailer1 = JFactory::getMailer();
$sender1 = $config->get('mailfrom');
$to='';
$message='';
$to=$users[0]->email;
$mailer1->addRecipient($to);
$sub=$subject_temp;
$body = $template;
/* Replacing Value in Templates*/
$body = str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$body
);
$sub= str_replace(
'{[RECEPIENT_NAME]}', ucwords($buyer->name),
$sub
);
$body = str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$body
);
$sub= str_replace(
'{[SELLER_NAME]}', ucwords($seller_name),
$sub
);
$body = str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$body
);
$sub= str_replace(
'{[ORDER_NO]}', $or_no->order_number,
$sub
);
$body = str_replace(
'{[ORDER_PRODUCT_STATUS_CHANGES]}', $message2,
$body
);
$mailer1->setSubject($sub);
$mailer1->isHTML(true);
$mailer1->Encoding = 'base64';
$mailer1->setBody($body);
$send1 = $mailer1->Send();
$query=$db->getQuery(true);
$query->select($db->quoteName('virtuemart_order_id'))
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_item_id')."=".$db->quote($order_id)
);
$db->setQuery($query);
try{
$virtuemart_order_id=$db->loadResult();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$query=$db->getQuery(true);
$query->select(
$db->quoteName('virtuemart_order_item_id').
",".$db->quoteName('order_status')
)
->from($db->quoteName('#__virtuemart_order_items'))
->where(
$db->quoteName('virtuemart_order_id').
"=".$db->quote($virtuemart_order_id)
);
$db->setQuery($query);
try{
$common_order=$db->loadObjectList();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
$limit=count($common_order);
$f=0;
$i=0;
foreach ($common_order as $key => $v) {
if ($i<$limit-1) {
if ($common_order[$i]->order_status!=$common_order[$i+1]->order_status) {
$f=1;
break;
}
}
$or_sts=$v->order_status;
$f=0;
$i++;
}
if ($f!=1) {
$query=$db->getQuery(true);
$fields=array($db->quoteName('order_status')."=".$db->quote($or_sts));
$conditions=array(
$db->quoteName('virtuemart_order_id').
"=".$db->quote($virtuemart_order_id)
);
$query->update(
$db->quoteName('#__virtuemart_orders')
)->set($fields)->where($conditions);
$db->setQuery($query);
try{
$success=$db->execute();
}catch(Exception $e){
JFactory::getApplication()->enqueueMessage(
$e->getMessage(),
'error'
);
return false;
}
}
echo $success;die;
}
/**
* Cancel function
*
* @return void
*/
function cancel()
{
$orderhistorymenu=plgSystemMarketplace::getMenuId(
'index.php?option=com_marketplace&view=orderhistory'
);
$this->setRedirect(
JRoute::_(
'index.php?option=com_marketplace&view=orderhistory&Itemid='
.$orderhistorymenu
)
);
}
}