Файловый менеджер - Редактировать - /home/digilove/public_html/plugins/system/marketplace/marketplace.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'; } if (!class_exists('CurrencyDisplay')) { include JPATH_ADMINISTRATOR . '/components/com_virtuemart/helpers/currencydisplay.php'; } if (!class_exists('MarketplaceHelper')) { include JPATH_ADMINISTRATOR.DIRECTORY_SEPARATOR.'components'. DIRECTORY_SEPARATOR.'com_marketplace'.DIRECTORY_SEPARATOR.'helpers'. DIRECTORY_SEPARATOR.'marketplace.php'; } if (!class_exists('vmPSPlugin')) { include JPATH_VM_PLUGINS . DIRECTORY_SEPARATOR . 'vmpsplugin.php'; } VmConfig::loadConfig(); /** * SystemMarketplace 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 plgSystemMarketplace extends vmPSPlugin { /** * __construct function * * @param [type] $subject var * @param [type] $config var */ public function __construct( $subject, $config ) { $style="@media only screen and (min-width: 769px){ .hidden-desktop{ display:none!important; } } @media only screen and (max-width: 769px){ .visible-desktop{ display:none!important; } }"; parent::__construct($subject, $config); $document=JFactory::getDocument(); $document->addStyleDeclaration($style); } /** * VmOnDeleteProduct function * * @param [type] $id var * @param [type] $ok var * * @return void */ function plgVmOnDeleteProduct($id, $ok) { $db=JFactory::getDBO(); $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_product')) ->where($db->quoteName('virtuemart_product_id')."=".$db->quote($id)); $db->setQuery($query); try{ $ok=$db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } /** * VmOnProductDisplayPayment function * * @param obnject $product var * @param [type] $productDisplayPayments var * * @return void */ public function plgVmOnProductDisplayPayment($product, &$productDisplayPayments) { if (MarketplaceHelper::checkSeller($product->created_by)) { $fields=array( 'u.name', 's.screenname' ); $sellInfo = MarketplaceHelper::getSeller($product->created_by, $fields); $plugin = JPluginHelper::getPlugin('system', 'marketplace'); $params = new JRegistry($plugin->params); $wk_sellert_attach_class=trim($params->get('wk_Seller_attach_class')); if (isset($wk_sellert_attach_class)) { $class_to_add=$wk_sellert_attach_class; } else { $class_to_add='addtocart-area'; } $name = $sellInfo->screenname == "" ?$sellInfo->name:$sellInfo->screenname; $script=" jQuery(document).ready(function(){ jQuery('#seller_info').remove(); jQuery('.".$class_to_add."').before('<div id=\"seller_info\">Seller : <a style=\"text-decoration:none;\" href=\"".JRoute::_('index.php?option=com_marketplace&view=sellerprofile&seller_id='.$product->created_by, false)."\">".$name."</a></div>'); });"; vmJsApi::addJScript('getSeller', $script); /* Code Product View Count */ $user = JFactory::getUser(); // condition to check it product is viewed from user other then Owner if ($user->id != $product->created_by) { $db =JFactory::getDbo(); $query = $db->getQuery(true); $query->select($db->quoteName('viewed')) ->from($db->quoteName('#__marketplace_product')) ->where($db->quoteName('virtuemart_product_id')."=".$product->virtuemart_product_id); $db->setQuery($query); $pro_data = $db->loadObject(); $object = new stdClass(); $object->virtuemart_product_id = $product->virtuemart_product_id; $object->viewed = 1 + (int)$pro_data->viewed; $result = $db->updateObject( '#__marketplace_product', $object, 'virtuemart_product_id' ); } } } /** * UserAfterDelete function * * @param array $user var * @param boolean $success var * @param string $msg var * * @return void */ function onUserAfterDelete($user, $success, $msg) { $checkseller=MarketplaceHelper::checkSeller($user['id']); if (isset($checkseller) && strlen(trim($checkseller))) { self::OnSellerDeleteFromJoomla($user['id']); } } /** * OnSellerDeleteFromJoomla function * * @param integer $id var * * @return void */ public static function OnSellerDeleteFromJoomla($id) { $user=JFactory::getUser($id); $db=JFactory::getDBO(); $db = JFactory::getDBO(); $params = JComponentHelper::getParams('com_marketplace'); $product_action_seller_delete = trim( $params->get( 'product_action_seller_delete' ) ); $query=$db->getQuery(true); $query->select($db->quoteName('virtuemart_product_id')) ->from($db->quoteName('#__virtuemart_products')) ->where($db->quoteName('created_by')."=".$db->quote($id)); $db->setQuery($query); $results=$db->loadObjectList(); if ($product_action_seller_delete == 'pd') { $productModel=VmModel::getModel('product'); $productsArr=array(); foreach ($results as $key => $value) { $productsArr[]=$value->virtuemart_product_id; } $productModel->remove($productsArr); $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_product')) ->where($db->quoteName('created_by')."=".$db->quote($id)); $db->setQuery($query); try { $db->execute(); } catch (Exception $e) { JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } else { $query=$db->getQuery(true); $query->select($db->quoteName("user_id")) ->from($db->quoteName("#__user_usergroup_map")) ->where($db->quoteName("group_id").'='.$db->quote("8")); $db->setQuery($query); $res=$db->loadObject(); $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_product')) ->where($db->quoteName('created_by')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->update($db->quoteName('#__virtuemart_products')) ->set($db->quoteName('published')."=0") ->set($db->quoteName('created_by')."=".$db->quote($res->user_id)) ->where($db->quoteName('created_by')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } //Code required for Marketplace Downloadable product $query = $db->getQuery(true); $query->select($db->quoteName('extension_id')) ->from($db->quoteName('#__extensions')) ->where( $db->quoteName('element')."=". $db->quote('virtuemart_mp_downloadable_product') ); $db->setQuery($query); try{ $results=$db->loadObject(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } if (isset($results->extension_id) && $results->extension_id != '') { $query = $db->getQuery(true); $query->delete($db->quoteName('#__marketplace_downloadable_product')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__virtuemart_product_customfields')) ->where( $db->quoteName('customfield_value'). "=".$db->quote('Downloadable') ) ->where( $db->quoteName('created_by'). "=".$db->quote($id). 'OR'.$db->quoteName('modified_by'). "=".$db->quote($id) ); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_category_request')) ->where($db->quoteName('requested_by')."=".$db->quote($user->email)); $db->setQuery($query); try { $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_commision')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_favourite_products')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_feedback')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_orderlist')) ->where($db->quoteName('virtuemart_seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_payments')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_sellerprofile')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $query=$db->getQuery(true); $query->delete($db->quoteName('#__marketplace_seller_follower')) ->where($db->quoteName('seller_id')."=".$db->quote($id)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } /* Getting email template */ $params = JComponentHelper::getParams('com_marketplace'); $body = trim($params->get('mp_temp_seller_removed')); $subject = trim($params->get('mp_sub_seller_removed')); $mailer=JFactory::getMailer(); $config=JFactory::getConfig(); $user=JFactory::getUser($id); $email=$user->email; $body = str_replace( '{[SELLER_NAME]}', ucwords($user->name), $body ); $subject= str_replace( '{[SELLER_NAME]}', ucwords($user->name), $subject ); $body = str_replace( '{[SITE_FROM_NAME]}', ucwords($config->get('fromname')), $body ); $subject= str_replace( '{[SITE_FROM_NAME]}', ucwords($config->get('fromname')), $subject ); $mailer->setSender($config->get('mailfrom')); $mailer->addRecipient($email); $mailer->setSubject($subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($body); /* Send mail */ $send = $mailer->Send(); } /** * VmOnPaymentResponseReceived function * * @param [type] $html var * * @return void */ function plgVmOnPaymentResponseReceived(&$html) { $app = JFactory::getApplication(); $response=$app->input->post->getArray(); if (isset($response[ "payment_status" ]) && $response[ "payment_status" ] == "Completed" ) { if (!class_exists('VirtueMartCart')) { include JPATH_VM_SITE . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'cart.php'; } if (!class_exists('shopFunctionsF')) { include JPATH_VM_SITE . DIRECTORY_SEPARATOR . 'helpers' . DIRECTORY_SEPARATOR . 'shopfunctionsf.php'; } if (!class_exists('VirtueMartModelOrders')) { include JPATH_VM_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . 'orders.php'; } $itemName=$response[ "item_name" ]; $item = explode(":", $itemName); $orderNo = trim($item[1]); $vmOrder=new VirtueMartModelOrders(); $orderid=$vmOrder->getOrderIdByOrderNumber($orderNo); $order=$vmOrder->getOrder($orderid); $db=JFactory::getDBO(); $query=$db->getQuery(true); $query->select($db->quoteName('update_status')) ->from($db->quoteName('#__marketplace_orderlist')) ->where( $db->quoteName('virtuemart_order_id'). "=".$db->quote($orderid) ); $db->setQuery($query); $res = $db->loadResult(); if ($res == null || $res == 0) { $this->updateCommision($order); } } } /** * VmOnUpdateOrderPayment function * * @param [type] $data var * @param [type] $old_order_status var * * @return void */ function plgVmOnUpdateOrderPayment($data,$old_order_status) { $params = JComponentHelper::getParams('com_marketplace'); $status=$params->get('commisionUpdateOn'); if (in_array($data->order_status, $status)) { $db=JFactory::getDBO(); $query=$db->getQuery(true); $query->select($db->quoteName('update_status')) ->from($db->quoteName('#__marketplace_orderlist')) ->where( $db->quoteName('virtuemart_order_id'). "=".$db->quote($data->virtuemart_order_id) ); $db->setQuery($query); $res = $db->loadResult(); if ($res == null || $res == 0) { $vmOrder=new VirtueMartModelOrders(); $order=$vmOrder->getOrder($data->virtuemart_order_id); $this->updateCommision($order); } } } /** * VmConfirmedOrder function * * @param [type] $cart Cart Object * @param [type] $order var * * @return void */ function plgVmConfirmedOrder($cart, $order) { MarketplaceHelper::ordermailSend($order); } /** * GetMenuId function * * @param string $link string * * @return void */ public static function getMenuId( $link="index.php?option=com_marketplace&view=mpregistration" ) { $db=JFactory::getDBO(); $query=$db->getQuery(true); $query->select($db->quoteName('id')) ->from($db->quoteName('#__menu')) ->where($db->quoteName('link')."=".$db->quote($link)); $db->setQuery($query); $res=null; try{ $res=$db->loadResult(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } return $res; } /** * BeforeCompileHead function * * @return void */ function onBeforeCompileHead() { $document = JFactory::getDocument(); $app = JFactory::getApplication(); $option=$app->input->get('option'); $view = $app->input->get('view'); $wk_js_chk="if(typeof( google)=='undefined'){var s = document.createElement(\"script\");s.type = \"text/javascript\";s.src = \"https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=false&libraries=places&key=AIzaSyDqHOK6L8erT9orE311Bq6iLdOzau1274c\";jQuery(\"head\").append(s);}else{if(typeof( google.maps)=='undefined'){var s = document.createElement(\"script\");s.type = \"text/javascript\";s.src = \"https://maps.googleapis.com/maps/api/js?v=3.exp&signed_in=false&libraries=places&key=AIzaSyDqHOK6L8erT9orE311Bq6iLdOzau1274c\";jQuery(\"head\").append(s);}}"; if ($option=='com_marketplace' && $view!='dashboard' && !$app->isAdmin() ) { $document->addScriptDeclaration($wk_js_chk); } } /** * Undocumented function * Function to manage Membership Account product * * @param integer $user_id Id * * @return void */ public function MshipPlanExpMailSend($user_id) { $db = JFactory::getDBO(); $que = $db->getQuery(true); $que->select($db->quoteName(array('username','email'))) ->from($db->quoteName('#__users')) ->where($db->quoteName('id'. "=" .$db->quote($user_id))); // TODO Check and remove the commented query // $que = 'SELECT `username`,`email` FROM `#__users` WHERE `id` = "' .$user_id.'"'; $db->setQuery($que); $userdetails = $db->loadObjectList(); $partnername = $userdetails[0]->username; $partneremail = $userdetails[0]->email; $qu = $db->getQuery(true); $qu->select('*') ->from($db->quoteName('#__virtuemart_userinfos')) ->where($db->quoteName('virtuemart_user_id'. "=" .$db->quote($user_id))); // TODO Check and remove the commented query // $qu = 'SELECT * FROM `#__virtuemart_userinfos` WHERE `virtuemart_user_id` = "' .$user_id.'"'; $db->setQuery($qu); try{ $sellerinfo = $db->loadObject(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $mailfrom = $sellerinfo->first_name; $sellername = $sellerinfo->first_name." ".$sellerinfo->last_name; $mailer = JFactory::getMailer(); $config = JFactory::getConfig(); $mainframe = JFactory::getApplication(); $adminemail = $mainframe->getCfg('mailfrom'); $recipient = array( $partneremail,$adminemail ); $mailer->addRecipient($recipient); $sender = array( $config->getvalue('config.mailfrom'), $config->getvalue('config.fromname') ); $mailer->setSender($adminemail); $subject = "The Plan Subscribed by Seller : ".' '.$sellername. ','.' '."has been expired. "; $mail_content ="<div style='background:#f2f2f2;word-wrap: break-word;padding:20px;'> Hello <strong>".$partnername."</strong>,<br/> Your Previous plan has been expired and Your products are Disable because you have no any plan right Now. <br/> So that, You need to Subscribed any plan to enable or add more Products.</br> To go on the Plan Subscription page Please Click on this button Here.<a href='".juri::root()."index.php?option=com_mpmembership&view=membership'><span id='email-view-detail' style='background-color: #c0392b; color: #fff; display: inline-block; height: 20px; padding: 7px; width: 100px; cursor: pointer;border-radius: 9px;'><input type ='Button' value ='View Details' name ='view_details' id='view_details' /></span></a></div></br> <div style='text-align:center;'><strong> Thank You </strong></div>"; $mailer->setSubject($subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($mail_content); $send = $mailer->Send(); } /** * CreateSeller function * * @param [type] $ret var * @param [type] $data var * * @return void */ public function createSeller($ret,$data) { $params = JComponentHelper::getParams('com_marketplace'); $create_seller = trim($params->get('create_seller')); $db = JFactory::getDBO(); $seller_id=$ret['user']->id; $selleraccess=$data['selleraccess']; if ($selleraccess== 1 && $create_seller == 1) { $profile = new stdClass(); $profile->seller_id = $seller_id; $profile->is_seller=1; try{ $result = $db->insertObject( '#__marketplace_sellerprofile', $profile ); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } elseif ($selleraccess == 1 && $create_seller== 0 ) { $profile = new stdClass(); $profile->seller_id = $seller_id; $profile->is_seller=0; $db->setQuery($query); try{ $result = $db->insertObject( '#__marketplace_sellerprofile', $profile ); } catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } } /** * UpdateCommision function * * @param [type] $order var * * @return void */ public static function updateCommision($order) { $db = JFactory::getDBO(); $virtuemart_order_id = $order['details']['BT']->virtuemart_order_id; $order_model = MarketplaceHelper::getMarketModelS('Orderhistory'); $virtuemart_paymentmethod_id = $order['details']['BT']->virtuemart_paymentmethod_id; $virtuemart_order_userinfo_id = $order['details']['BT']->virtuemart_order_userinfo_id; $query=$db->getQuery(true); $query->select($db->quoteName('payment_element')); $query->from($db->quoteName('#__virtuemart_paymentmethods')); $query->where( $db->quoteName('virtuemart_paymentmethod_id'). "=".$db->quote($db->escape($virtuemart_paymentmethod_id)) ); $db->setQuery($query); $payment_element = $db->loadResult(); if (($payment_element!='adaptivepaypal' && $payment_element!='stripeconnect') && ($payment_element!='mangopaymarketplace' && $payment_element!='braintreemarketplace') && $payment_element!='remitasplit' ) { foreach ($order['items'] as $item) { $virtuemart_product_id = $item->virtuemart_product_id; $product_quantity = $item->product_quantity; $order_status = $item->order_status; $product_item_price = $item->product_item_price; $order_item_name = $item->order_item_name; $product_final_price = $item->product_final_price; $product_total_amount = $product_final_price*$product_quantity; $product_subtotal = $item->product_subtotal_with_tax; $query=$db->getQuery(true); $query->select($db->quoteName('created_by')) ->from($db->quoteName('#__virtuemart_products')) ->where( $db->quoteName('virtuemart_product_id'). "=".$db->quote($db->escape($virtuemart_product_id)) ); $db->setQuery($query); try{ $seller_id = $db->loadResult(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } if (isset($seller_id)) { $curr_stat = $order_model->getOrderStatus( $seller_id, $virtuemart_order_id ); if ($curr_stat == null || $curr_stat == false) { $res_status = $order_model->setOrderStatus( $seller_id, $virtuemart_order_id, $order_status ); } $query=$db->getQuery(true); $query->select('*'); $query->from($db->quoteName('#__marketplace_commision')); $query->where($db->quoteName('seller_id')."=".$db->quote($db->escape($seller_id))); $db->setQuery($query); try{ $commision_fetch = $db->loadObject(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } if (is_object($commision_fetch)) { $virtuemart_real_order_id=$commision_fetch->commision_type; if ($commision_fetch->commision_type=='r') { $total_sales = $product_total_amount +$commision_fetch->total_sales; $commision = $commision_fetch->commision; $commision_id = $commision_fetch->commision_id; $comm_total = ($product_total_amount*$commision/100); $commision_total = $product_subtotal - ( ($product_subtotal*$commision)/100 ); $amount_remain= $commision_fetch->amount_remain +$product_total_amount-$comm_total; } else { $total_sales = $product_total_amount +$commision_fetch->total_sales; $commision = $commision_fetch->commision; $commision_id = $commision_fetch->commision_id; $comm_total = $commision*$product_quantity; $commision_total = $product_subtotal-$commision; $amount_remain = $commision_fetch->amount_remain +$product_total_amount-$comm_total; } $query=$db->getQuery(true); $query->update($db->quoteName('#__marketplace_commision')) ->set( $db->quoteName('amount_remain'). "=".$db->quote($amount_remain) ) ->set( $db->quoteName('total_sales'). "=".$db->quote($total_sales) ) ->where( $db->quoteName('seller_id'). "=".$db->quote($db->escape($seller_id)) ); $db->setQuery($query); $db->execute(); $query=$db->getQuery(true); $columns=array( $db->quoteName('orderlist_id'), $db->quoteName('virtuemart_product_id'), $db->quoteName('virtuemart_order_id'), $db->quoteName('virtuemart_commision_id'), $db->quoteName('virtuemart_real_order_id'), $db->quoteName('virtuemart_product_quantity'), $db->quoteName('virtuemart_seller_id'), $db->quoteName('virtuemart_product_order_status'), $db->quoteName('virtuemart_buyerid'), $db->quoteName('virtuemart_product_price'), $db->quoteName('virtuemart_product_name'), $db->quoteName('virtuemart_product_total_amount'), $db->quoteName('virtuemart_seller_commision_rate'), $db->quoteName('virtuemart_seller_total_commision'), $db->quoteName('actual_parter_product_cost'), $db->quoteName('cleared_at'), $db->quoteName('modified_on'), $db->quoteName('update_status') ); $values=array( $db->quote(''), $db->quote($virtuemart_product_id), $db->quote($virtuemart_order_id), $db->quote($commision_id), $db->quote($virtuemart_real_order_id), $db->quote($product_quantity), $db->quote($seller_id), $db->quote($order_status), $db->quote($virtuemart_order_userinfo_id), $db->quote($product_item_price), $db->quote($order_item_name), $db->quote($product_total_amount), $db->quote($commision), $db->quote($comm_total), $db->quote(''), $db->quote('0000-00-00 00:00:00'), $db->quote('0000-00-00 00:00:00'), $db->quote('1') ); $query->insert($db->quoteName('#__marketplace_orderlist')); $query->columns($columns); $query->values(implode(',', $values)); $db->setQuery($query); try{ $db->execute(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } } } } } /** * ProductOrderDetails function * * @param [type] $id var * * @return void */ public function productOrderDetails($id) { $db = JFactory::getDBO(); $query=$db->getQuery(true); $query->select('*'); $query->from($db->quoteName('#__virtuemart_order_items')); $query->where( $db->quoteName('virtuemart_order_id')."=".$db->quote($db->escape($id)) ); $db->setQuery($query); try { return $db->loadObjectList(); } catch (Exception $e) { JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } /** * GetPaypalType function * * @param [type] $id var * * @return void */ public function getPaypalType($id) { $db = JFactory::getDbo(); $query = $db->getQuery(true); $query->select('payment_mode'); $query->from($db->quoteName('#__marketplace_sellerprofile')); $query->where($db->quoteName('seller_id')." = ".$id); $db->setQuery($query); try{ return $result = $db->loadResult(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } /** * AdaptiveCommision function * * @param [type] $orderid var * * @return void */ public function adaptiveCommision($orderid) { $db = JFactory::getDbo(); $items = plgSystemMarketplace::productOrderDetails($orderid); foreach ($items as $key => $item) { $virtuemart_product_id = $item->virtuemart_product_id; $product_subtotal = $item->product_subtotal_with_tax; $query=$db->getQuery(true); $query->select($db->quoteName('created_by')); $query->from($db->quoteName('#__marketplace_product')); $query->where( $db->quoteName('virtuemart_product_id'). "=".$db->quote($db->escape($virtuemart_product_id)) ); $db->setQuery($query); try{ $seller_id = $db->loadResult(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } if (isset($seller_id)&& JString::strlen($seller_id)) { $query=$db->getQuery(true); $query->select('*'); $query->from('#__marketplace_commision'); $query->where( $db->quoteName('seller_id')."=".$db->quote($seller_id) ); $db->setQuery($query); try{ $commision_fetch = $db->loadObjectList(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage($e->getMessage(), 'error'); return false; } if (isset($commision_fetch[0])) { $seller_payment_type =plgSystemMarketplace::getPaypalType($temp[0]); $seller_pay_type= explode('-', $seller_payment_type); if ($seller_pay_type['1']='adaptivepaypal') { $total_sales = $product_subtotal+$commision_fetch[0]->total_sales; $commision = $commision_fetch[0]->commision; $product_seller_subtotal = $product_subtotal - (($product_subtotal*$commision)/100); $amount_recieved = $commision_fetch[0]->amount_recieved + $product_seller_subtotal; $amount_paid = $product_seller_subtotal; $query=$db->getQuery(true); $query->update($db->quoteName('#__marketplace_commision')); $query->set( $db->quoteName('amount_recieved'). "=".$db->quote($amount_recieved) ); $query->set( $db->quoteName('amount_paid'). "=".$db->quote($amount_paid) ); $query->set( $db->quoteName('total_sales'). "=".$db->quote($total_sales) ); $query->where( $db->quoteName('seller_id'). "=".$db->quote($total_sales) ); $db->setQuery($commision_update); try{ $db->query(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } else { $total_sales = $product_subtotal+$commision_fetch[0]->total_sales; $commision = $commision_fetch[0]->commision; $commision_total = $product_subtotal - (($product_subtotal*$commision)/100); $amount_remain = $commision_total +$commision_fetch[0]->amount_remain; $query=$db->getQuery(true); $query->update($db->quoteName('#__marketplace_commision')) ->set( $db->quoteName('amount_remain'). "=".$db->quote($amount_remain) ) ->set( $db->quoteName('total_sales'). "=".$db->quote($total_sales) ) ->where( $db->quoteName('seller_id'). "=".$db->quote($total_sales) ); $db->setQuery($commision_update); try{ $db->query(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } } } } } } /** * MshipPlanUpdateMailSend function * * @param [type] $created_by seller Id * * @deprecated 5.2 use memberShipPlanUpdateMailSend($created_by) * * @return void */ public function MshipPlanUpdateMailSend($created_by) { JFactory::getApplication()->enqueueMessage( 'Method Deprecated use memberShipPlanUpdateMailSend Instead', 'notice' ); $this->memberShipPlanUpdateMailSend($created_by); } /** * MemberShipPlanUpdateMailSend function * * @param integer $created_by seller Id * * @return void */ public function memberShipPlanUpdateMailSend($created_by) { $db = JFactory::getDBO(); $query = $db->getQuery(true); $query->select('*') ->from($db->quoteName('#__mpmembership_members')) ->where($db->quoteName('seller_id').'='. $created_by); $db->setQuery($query); try{ $update_result = $db->loadObject(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $seller_name = $update_result->seller_name; $account_name = $update_result->account_name; $no_of_products = $update_result->no_of_products; $membership_fee = $update_result->membership_fee; $months = $update_result->months; $que = $db->getQuery(true); $que->select($db->quoteName(array('username', 'email'))) ->from($db->quoteName('#__users')) ->where($db->quoteName('id').'='. $created_by); $db->setQuery($que); try{ $userdetails = $db->loadObjectList(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $partnername = $userdetails[0]->username; $partneremail = $userdetails[0]->email; $qu = $db->getQuery(true); $qu->select('*') ->from($db->quoteName('#__virtuemart_userinfos')) ->where($db->quoteName('virtuemart_user_id').'='. $created_by); $db->setQuery($qu); try{ $sellerinfo = $db->loadObject(); }catch(Exception $e){ JFactory::getApplication()->enqueueMessage( $e->getMessage(), 'error' ); return false; } $mailfrom = $sellerinfo->first_name; $sellername = $sellerinfo->first_name." ".$sellerinfo->last_name; $mailer = JFactory::getMailer(); $config = JFactory::getConfig(); $mainframe = JFactory::getApplication(); $adminemail = $mainframe->getCfg('mailfrom'); $recipient = array( $partneremail,$adminemail ); $mailer->addRecipient($recipient); $sender = array( $config->getvalue('config.mailfrom'), $config->getvalue('config.fromname') ); $mailer->setSender($adminemail); $subject = "Update Membership Plan By Seller : ".' '.$sellername." "; $mail_content ="<div style='background:#f2f2f2;word-wrap: break-word;padding:20px;'> Hello <strong>".$partnername."</strong>,<br/> <strong>".$sellername."</strong> Update His Plan which Account Name: ".$account_name."<br/> <h2>Plan Acciunt Details</h2> <table width='100%' cellspacing='0' cellpadding='0' border='0'> <tbody> <tr align='left'> <th align='left'>Seller Name</th> <th align='left'>Account Name</th> <th align='left'>Num Of Product</th> <th align='right'>Membership Fee</th> <th align='right'>Valid For Months</th> </tr> <tr valign='top'> <td align='left'></td> <td align='left'></td> <td align='left'></td> <td align='right'></td> <td align='right'></td> </tr> <tr valign='top'> <td align='left'>".$seller_name."</td> <td align='left'>".$account_name."</td> <td align='left'>".$no_of_products."</td> <td align='right'>".$membership_fee."</td> <td align='right'>".$months."</td> </tr> </tbody> </table> <br/><br/> <div style='text-align:center;'><strong>Thank You</strong></div> </div>"; $mailer->setSubject($subject); $mailer->isHTML(true); $mailer->Encoding = 'base64'; $mailer->setBody($mail_content); //exit(); $send = $mailer->Send(); } /** * Sample functions for Mp triggers */ /* * Uncomment the functions and test; * Override the functions to perform task as per your need. * Do not write the functions in this marketplace plugin, * create the plugin for your own extension and override the required functions * NOTE**: These methods will be triggered in System PLugin only */ /* // For Add Product View return value of title and content function onSellerAddProductView($virtuemart_product_id, $data){ $a="Custom Field"; $b="<div style='color:red;'>here</div>"; return array("title"=>$a,"content"=> $b); }*/ /* // For Add Product before save validate product data and return true or false, // false will not allow the product to be saved function onSellerBeforeAddProduct(&$data){ return false; }*/ /* // For Add Product after save, Save your extension data here function onSellerAfterAddProduct($data,$product_data){ die("here"); }*/ /* // For Seller Profile View return value of title and content function onSellerProfileRender($sellerId){ $a="Check "; $b="<div style='color:red;'>here</div>"; return array("title"=>$a,"content"=> $b); } */ /* // For Marketplace Menu add a menu link, return complete link as in example function onMarketplaceMenuRender(){ $a="Check "; return "<a href=".JRoute::_("index.php?option=com_marketplace&view=sellerlist", false)."><span><i class=\"fa fa-eye\"></i></span><span>".$a."</span></a>"; } */ /* // For Profile Edit View return value of title and content function onSellerEditProfileView($data){ $a="Custom Tab"; $b="<div style='color:red;'>here</div>"; return array("title"=>$a,"content"=> $b); } */ /* // For Profile Edit before save validate data and return true or false, // false will not allow the profile to be saved function onSellerBeforeProfileSave(&$data){ return false; } */ /* // For Profile Edit after save, Save your extension data here function onSellerAfterProfileSave($data){ die("here"); } */ }
| ver. 1.4 |
Github
|
.
| PHP 7.4.33 | Генерация страницы: 0 |
proxy
|
phpinfo
|
Настройка