/** This function save the store detail. * USED IN PLUGIN:: ACCORDING TO REGISTERED USER ACCESS LAVEL , NEW SOTRE IS CREATD FOR THAT USER * @param object $post post * @param integer userid. * @return userid number * */ function store($post, $userid = '') { $params = JComponentHelper::getParams('com_quick2cart'); $email = $post->get('email', '', 'RAW'); if (!empty($email)) { $db = JFactory::getDBO(); $user = JFactory::getUser(); $oldData = ''; // Get old data if exists $id = $post->get('id'); if (!empty($id)) { $query = "SELECT `id`, store_avatar, header\n\t\t\t\t FROM #__kart_store\n\t\t\t\t WHERE `id`=" . $id; $db->setQuery($query); $oldData = $db->loadAssoc($query); } $oldAvtarPath = !empty($oldData) ? $oldData['store_avatar'] : ''; $oldHeaderPath = !empty($oldData) ? $oldData['header'] : ''; $row = new stdClass(); $row->owner = $user->id; if ($userid != '') { $row->owner = $userid; } $row->description = $post->get('description', '', 'RAW'); $row->company_name = $post->get('companyname', '', 'RAW'); $row->address = $post->get('address', '', 'RAW'); $row->phone = $post->get('phone'); $row->store_email = $post->get('email', '', 'RAW'); $row->length_id = $post->get('qtc_length_class', '', 'INTEGER'); $row->weight_id = $post->get('qtc_weight_class', '', 'INTEGER'); $row->taxprofile_id = $post->get('taxprofile_id', '', 'INTEGER'); $row->shipprofile_id = $post->get('qtc_shipProfile', '', 'INTEGER'); // Added by vbmundhe Dont remove as it is require on install script $helper_path = JPATH_SITE . '/components/com_quick2cart/helper.php'; if (!class_exists('comquick2cartHelper')) { JLoader::register('comquick2cartHelper', $helper_path); JLoader::load('comquick2cartHelper'); } $comquick2cartHelper = new comquick2cartHelper(); // STORE LOGO IMGE $avatar = $post->get('avatar', '', 'RAW'); if (!empty($avatar)) { $avtar_path = $avatar; } else { $img_dimensions = array(); $img_dimensions[] = 'storeavatar'; // upload avtar // name of file field $file_field = "avatar"; $avtar_path = $comquick2cartHelper->imageupload($file_field, $img_dimensions, 0); } if (!empty($avtar_path)) { // AVOID IMAGE OVERWRITE TO NULL WHILE UPDATE $row->store_avatar = $avtar_path; } // STORE STOREHEADER IMGE /*if (!empty($post['storeheader'])) { $header_path=$post['storeheader']; } else { // upload header img $file_field="storeheader"; // name of file field in from view eg <input type="file" name="avatar" id="avatar" /> $header_path=$comquick2cartHelper->uploadImage($file_field,$oldHeaderPath); }*/ $header_path = ''; $row->header = $header_path; $extra = $post->get('extra', '', 'RAW'); if (!empty($extra)) { // While update , AVOID DONT MAKE EMPTY $row->extra = $extra; } $row->payment_mode = $post->get('paymentMode'); if (empty($row->payment_mode)) { $row->pay_detail = $post->get('paypalemail', '', 'RAW'); } else { $row->pay_detail = $post->get('otherPayMethod', '', 'RAW'); } $quick2cartModelVendor = new quick2cartModelVendor(); //$row->live =$post['title']; //$row->extra= $id = ""; $title = $post->get('title', '', 'RAW'); $storeVanityUrl = $post->get('storeVanityUrl', '', 'RAW'); $id = $post->get('id', '', 'RAW'); // If already present then update if (!empty($oldData)) { $row->title = $quick2cartModelVendor->formatttedTitle($title, $id); $row->vanityurl = $quick2cartModelVendor->formatttedVanityURL($storeVanityUrl, $title, $id); $row->id = $id = $oldData['id']; $row->mdate = date("Y-m-d"); try { $db->updateObject('#__kart_store', $row, 'id'); } catch (RuntimeException $e) { $this->setError($e->getMessage()); return 0; } $mail_on_store_edit = (int) $params->get('mail_on_store_edit'); if ($mail_on_store_edit === 1) { // Send store edited email to admin $this->SendMailAdminOnStoreEdit($row); } $role = 1; $quick2cartModelVendor->addRoleEntry($id, $role, $row->owner); return $id; } else { // Insert $row->title = $quick2cartModelVendor->formatttedTitle($title); $row->vanityurl = $quick2cartModelVendor->formatttedVanityURL($storeVanityUrl, $title); $row->cdate = date("Y-m-d"); $row->mdate = date("Y-m-d"); $mail_on_store_create = (int) $params->get('mail_on_store_create'); if ($mail_on_store_create == 1) { $row->live = 0; } if (!$db->insertObject('#__kart_store', $row, 'id')) { echo $db->stderr(); return 0; } if ($mail_on_store_create === 1) { // Send Approval mail to admin $this->SendMailAdminOnCreateStore($row); $this->SendMailOwnerOnCreateStore($row); } $id = $db->insertid(); global $mainframe; $mainframe = JFactory::getApplication(); $socialintegration = $params->get('integrate_with', 'none'); $streamOnCeateStore = $params->get('streamCeateStore', 1); // If (!$mainframe->isAdmin() && $streamOnCeateStore && $socialintegration != 'none') if ($socialintegration != 'none') { $user = JFactory::getUser(); $libclass = $comquick2cartHelper->getQtcSocialLibObj(); // Add in activity. if ($streamOnCeateStore) { $action = 'addstore'; $storeLink = '<a class="" href="' . JUri::root() . substr(JRoute::_('index.php?option=com_quick2cart&view=vendor&layout=store&store_id=' . $id), strlen(JUri::base(true)) + 1) . '">' . $title . '</a>'; $originalMsg = JText::sprintf('QTC_ACTIVITY_ADD_STORE', $storeLink); $libclass->pushActivity($user->id, $act_type = '', $act_subtype = '', $originalMsg, $act_link = '', $title = '', $act_access = 0); } // Add points $point_system = $params->get('point_system'); $options['extension'] = 'com_quick2cart'; if ($socialintegration == "EasySocial") { $options['command'] = 'create_store'; $libclass->addpoints($user, $options); } elseif ($socialintegration == "JomSocial") { $options['command'] = 'CreateStore.points'; $libclass->addpoints($user, $options); } } } $role = 1; $uid = $user->id; if ($userid != '') { $uid = $userid; } $quick2cartModelVendor = new quick2cartModelVendor(); $quick2cartModelVendor->addRoleEntry($id, $role, $uid); // Add only on creating store insted of edit return $id; } else { return 0; } }
<?php /** * @version SVN: <svn_id> * @package Quick2cart * @author Techjoomla <*****@*****.**> * @copyright Copyright (c) 2009-2015 TechJoomla. All rights reserved. * @license GNU General Public License version 2 or later. */ // No direct access. defined('_JEXEC') or die; JHtml::_('behavior.modal'); //jimport( 'activity.socialintegration.profiledata' ); $comquick2cartHelper = new comquick2cartHelper(); $libclass = $comquick2cartHelper->getQtcSocialLibObj(); $mainframe = JFactory::getApplication(); $input = $mainframe->input; $layout = $input->get('layout'); $params = JComponentHelper::getParams('com_quick2cart'); // Get store Owner. if (!class_exists('storeHelper')) { $path = JPATH_SITE . DS . 'components' . DS . 'com_quick2cart' . DS . 'helpers' . DS . 'storeHelper.php'; JLoader::register('storeHelper', $path); JLoader::load('storeHelper'); } $storeHelper = new storeHelper(); $storeOwner = $storeHelper->getStoreOwner($this->store_id); $integrate_with = $params->get('integrate_with', 'none'); if ($integrate_with != 'none') { $profile_url = $libclass->getProfileUrl(JFactory::getUser($storeOwner)); $UserName = JFactory::getUser($storeOwner)->name;
public function storeInKartItem($operation, $images, $price, $curr_post) { $db = JFactory::getDbo(); $params = JComponentHelper::getParams('com_quick2cart'); $on_editor = $params->get('enable_editor', 0); $kart_item = new stdClass(); $kart_item->parent = $curr_post->get('client', '', 'STRING'); $kart_item->store_id = $curr_post->get('store_id', '', 'INT'); //@TODO check - ^manoj //$kart_item->store_id = $curr_post->get('current_store','','INT'); $kart_item->product_id = $curr_post->get('pid', '', 'INT'); $kart_item->name = $curr_post->get('item_name', '', 'STRING'); $kart_item->price = $price; $kart_item->category = $curr_post->get('prod_cat', '', 'INT'); $kart_item->sku = $curr_post->get('sku', '', 'RAW'); $des = $curr_post->get('description', array(), 'ARRAY'); if (!$on_editor) { // Remove html when editor is OFF $kart_item->description = !empty($des['data']) ? strip_tags($des['data']) : ''; } else { $kart_item->description = !empty($des['data']) ? $des['data'] : ''; } $kart_item->video_link = $curr_post->get('youtube_link', '', 'STRING'); // #40581 = temporary fix (For zoo state field is overlapping with item's state field) $stateField = $curr_post->get('qtcProdState', '', 'INT'); if ($stateField === 0 || $stateField === 1) { $kart_item->state = $stateField; } else { $kart_item->state = $curr_post->get('state', '0', 'INT'); } $stock = $curr_post->get('stock'); // @HAVE TO CODE TO STORE IMAGES if ($stock !== "") { $kart_item->stock = $stock; } $kart_item->metadesc = $curr_post->get('metadesc', '', 'STRING'); $kart_item->metakey = $curr_post->get('metakey', '', 'STRING'); // Added by sanjivani $kart_item->item_length = $curr_post->get('qtc_item_length', '', 'FLOAT'); $kart_item->item_width = $curr_post->get('qtc_item_width', '', 'FLOAT'); $kart_item->item_height = $curr_post->get('qtc_item_height', '', 'FLOAT'); $kart_item->item_length_class_id = $curr_post->get('length_class_id', '', 'INT'); $kart_item->item_weight = $curr_post->get('qtc_item_weight', '', 'FLOAT'); $kart_item->item_weight_class_id = $curr_post->get('weigth_class_id', '', 'INT'); $kart_item->taxprofile_id = $curr_post->get('taxprofile_id', '', 'INT'); $kart_item->shipProfileId = $curr_post->get('qtc_shipProfile', '', 'INT'); $min_quantity = $curr_post->get('min_item', 1, 'INT'); $max_quantity = $curr_post->get('max_item', 999, 'INT'); if ($min_quantity == 0) { $kart_item->min_quantity = 1; } else { $kart_item->min_quantity = $min_quantity; } if ($max_quantity == 0) { $kart_item->max_quantity = 999; } else { $kart_item->max_quantity = $max_quantity; } $kart_item->slab = $curr_post->get('item_slab', '', 'INT'); if ($operation == 'insert') { if (!empty($images)) { $kart_item->images = $images; } $kart_item->cdate = date("Y-m-d"); $kart_item->mdate = date("Y-m-d"); if (!$db->insertObject('#__kart_items', $kart_item, 'item_id')) { $messagetype = 'notice'; $message = JText::_('QTC_PARAMS_SAVE_FAIL') . " - " . $db->stderr(); } else { $inserid = $db->insertid(); if ($kart_item->parent == "com_quick2cart") { $quick2cartModelAttributes = new quick2cartModelAttributes(); $quick2cartModelAttributes->copyItemidToProdid($inserid); } // Add point to Community extension when product added into Quick2cart $params = JComponentHelper::getParams('com_quick2cart'); $integrate_with = $params->get('integrate_with', 'none'); $user = JFactory::getUser(); if ($integrate_with != 'none') { $streamAddProd = $params->get('streamAddProd', 1); $point_system = $params->get('point_system', '0'); // According to integration create social lib class obj. $comquick2cartHelper = new comquick2cartHelper(); $libclass = $comquick2cartHelper->getQtcSocialLibObj(); // Add in activity. if ($streamAddProd) { $prodLink = '<a class="" href="' . $comquick2cartHelper->getProductLink($inserid) . '">' . $kart_item->name . '</a>'; $store_info = $comquick2cartHelper->getSoreInfo($kart_item->store_id); $storeLink = '<a class="" href="' . JUri::root() . substr(JRoute::_('index.php?option=com_quick2cart&view=vendor&layout=store&store_id=' . $kart_item->store_id), strlen(JUri::base(true)) + 1) . '">' . $store_info['title'] . '</a>'; $originalMsg = JText::sprintf('QTC_ACTIVITY_ADD_PROD', $prodLink, $storeLink); $libclass->pushActivity($user->id, $act_type = '', $act_subtype = '', $originalMsg, $act_link = '', $title = '', $act_access = ''); } // Add points $point_system = $params->get('point_system'); $options['extension'] = 'com_quick2cart'; if ($integrate_with == "EasySocial") { $options['command'] = 'add_product'; } elseif ($integrate_with == "JomSocial") { $options['command'] = 'addproduct.points'; } $libclass->addpoints($user, $options); } } return !empty($inserid) ? $inserid : ""; } elseif ($operation == 'update') { $kart_item->images = $images; $kart_item->mdate = date("Y-m-d"); $pid = $curr_post->get('pid', '', 'STRING'); $client = $curr_post->get('client', '', 'STRING'); $sku = $curr_post->get('sku', '', 'RAW'); $res = ''; $quick2cartModelAttributes = new quick2cartModelAttributes(); $item_id = $quick2cartModelAttributes->getitemid($pid, $client); $db = JFactory::getDBO(); $kart_item->item_id = $item_id; if (!$db->updateObject('#__kart_items', $kart_item, 'item_id')) { $message = JText::_('QTC_PARAMS_SAVE_FAIL') . " - " . $db->stderr(); } return $item_id; //return $message; } }
function addSaveOrderItems($insert_order_id, $cart_itemsdata, $data, $updateOrderstatus) { $productHelper = new productHelper(); // GET BILLING AND SHIPPING ADDRESS $bill = $data->get('bill', array(), "ARRAY"); $ship = $data->get('ship', array(), "ARRAY"); $comquick2cartHelper = new comquick2cartHelper(); $data->set('order_id', $insert_order_id); // row_id= last insert id $store_info = array(); $itemsTaxDetail = $data->get('itemsTaxDetail', array(), 'ARRAY'); $itemShipMethDetail = $data->get('itemShipMethDetail', array(), 'ARRAY'); foreach ($cart_itemsdata as $cart_items) { $item_id = $cart_items['item_id']; $taxdetail = ''; $shipdetail = ''; // Get item tax detail if (!empty($itemsTaxDetail[$item_id])) { // Get current item tax detail $taxdetail = $itemsTaxDetail[$item_id]; } // Get item ship detail if (!empty($itemShipMethDetail[$item_id])) { // Get current item tax detail $shipdetail = $itemShipMethDetail[$item_id]; } $items = new stdClass(); $items->order_id = $insert_order_id; $items->item_id = $item_id; // Getting store id from item_id $items->store_id = $comquick2cartHelper->getSoreID($cart_items['item_id']); $items->product_attributes = $cart_items['product_attributes']; $items->product_attribute_names = $cart_items['options']; $items->order_item_name = $cart_items['title']; $items->product_quantity = $cart_items['qty']; $items->product_item_price = $cart_items['amt']; $items->product_attributes_price = $cart_items['opt_amt']; // This field store price without cop, tax,shipp etc //~ $originalProdPrice = ($items->product_item_price + $items->product_attributes_price ) * $items->product_quantity; //~ $items->original_price = isset($cart_items['original_price']) ? $cart_items['original_price'] : $originalProdPrice; $items->original_price = $cart_items['original_price']; $items->item_tax = !empty($taxdetail['taxAmount']) ? $taxdetail['taxAmount'] : 0; $items->item_tax_detail = !empty($taxdetail) ? json_encode($taxdetail) : ''; $items->item_shipcharges = !empty($shipdetail['totalShipCost']) ? $shipdetail['totalShipCost'] : 0; $items->item_shipDetail = !empty($shipdetail) ? json_encode($shipdetail) : ''; $items->product_final_price = $cart_items['tamt'] + $items->item_tax + $items->item_shipcharges; $items->params = $cart_items['params']; $items->cdate = date("Y-m-d H:i:s"); //$cart_items['cdate']; $items->mdate = date("Y-m-d H:i:s"); //$cart_items['mdate']; $items->status = 'P'; if (!$this->_db->insertObject('#__kart_order_item', $items, 'order_item_id')) { echo $this->_db->stderr(); return 0; } // Add entry in order_itemattributes $query = "Select *\n\t\t\t FROM #__kart_cartitemattributes\n\t\t\t WHERE cart_item_id=" . (int) $cart_items['id']; // cart_item_id as id $this->_db->setQuery($query); $cartresult = $this->_db->loadAssocList(); if (!empty($cartresult)) { foreach ($cartresult as $key => $cart_itemopt) { $items_opt = new stdClass(); $items_opt->order_item_id = $items->order_item_id; $items_opt->itemattributeoption_id = $cart_itemopt['itemattributeoption_id']; $items_opt->orderitemattribute_name = $cart_itemopt['cartitemattribute_name']; $attopprice = $this->getAttrOptionPrice($cart_itemopt['itemattributeoption_id']); $items_opt->orderitemattribute_price = $attopprice; $items_opt->orderitemattribute_prefix = $cart_itemopt['cartitemattribute_prefix']; if (!$this->_db->insertObject('#__kart_order_itemattributes', $items_opt, 'orderitemattribute_id')) { echo $this->_db->stderr(); return 0; } } } $params = JComponentHelper::getParams('com_quick2cart'); $socialintegration = $params->get('integrate_with', 'none'); $streamBuyProd = $params->get('streamBuyProd', 0); //$libclass = new activityintegrationstream(); if ($streamBuyProd && $socialintegration != 'none') { // adding msg in stream $user = JFactory::getUser(); $action = 'buyproduct'; $prodLink = '<a class="" href="' . $comquick2cartHelper->getProductLink($cart_items['item_id']) . '">' . $cart_items['title'] . '</a>'; $store_info[$items->store_id] = $comquick2cartHelper->getSoreInfo($items->store_id); $storeLink = '<a class="" href="' . JUri::root() . substr(JRoute::_('index.php?option=com_quick2cart&view=vendor&layout=store&store_id=' . $items->store_id), strlen(JUri::base(true)) + 1) . '">' . $store_info[$items->store_id]['title'] . '</a>'; $originalMsg = JText::sprintf('QTC_ACTIVITY_BUY_PROD', $prodLink, $storeLink); $title = '{actor} ' . $originalMsg; // According to integration create social lib class obj. $libclass = $comquick2cartHelper->getQtcSocialLibObj(); $libclass->pushActivity($user->id, $act_type = '', $act_subtype = '', $originalMsg, $act_link = '', $title = '', $act_access = ''); } if (0) { // add to JS stream if (JFile::exists(JPATH_SITE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php')) { @$comquick2cartHelper->addJSstream($user->id, $user->id, $title, '', $action, 0); require_once JPATH_SITE . DS . 'components' . DS . 'com_community' . DS . 'libraries' . DS . 'core.php'; $userid = JFactory::getUser()->id; if ($userid) { $userLink = '<a class="" href="' . JUri::root() . substr(CRoute::_('index.php?option=com_community&view=profile&userid=' . $userid), strlen(JUri::base(true)) + 1) . '">' . JFactory::getUser()->name . '</a>'; } else { $userLink = $bill['email1']; } //Get connected Users of logged in user $jsuser = CFactory::getUser($userid); $connections_aa = $jsuser->getFriendIds(); if (!empty($connections_aa)) { foreach ($connections_aa as $connections) { $notification_subject = JText::sprintf('QTC_NOTIFIY_BUY_PROD_FRN', $userLink, $prodLink); @$comquick2cartHelper->addJSnotify($userid, $connections, $notification_subject, 'notif_system_messaging', '0', ''); } } $groupIDs = explode(",", $jsuser->_groups); if (empty($groupIDs)) { $query = "SELECT groupid FROM #__community_groups_members " . "WHERE memberid=" . $userid; $this->_db->setQuery($query); $groupIDs = $this->_db->loadColumn(); } if (!empty($groupIDs)) { foreach ($groupIDs as $groupID) { if (!empty($groupID)) { $query = "SELECT name FROM #__community_groups " . " WHERE id=" . $groupID; $this->_db->setQuery($query); $groupName = $this->_db->loadResult(); $query = "SELECT memberid " . "FROM #__community_groups_members " . "WHERE groupid=" . $groupID . " AND approved=1 AND memberid<>" . $userid . ""; $this->_db->setQuery($query); $group_ids = $this->_db->loadColumn(); if (!empty($group_ids)) { foreach ($group_ids as $group_id) { $notification_subject = JText::sprintf('QTC_NOTIFIY_BUY_PROD_GRP', $userLink, $groupName, $prodLink); $comquick2cartHelper->addJSnotify($userid, $group_id, $notification_subject, 'notif_system_messaging', '0', ''); } } } } } } } // end of if (0) // REMOVED JS CODE /* end add to JS stream*/ } // ENd of cart item for each // For JS notification is sent if (!empty($storeLink) && JFile::exists(JPATH_SITE . '/components/com_community/libraries/core.php')) { require_once JPATH_SITE . '/components/com_community/libraries/core.php'; $commented_by_userid = JFactory::getUser()->id; if ($commented_by_userid) { $userLink = '<a class="" href="' . JUri::root() . substr(CRoute::_('index.php?option=com_community&view=profile&userid=' . $commented_by_userid), strlen(JUri::base(true)) + 1) . '">' . JFactory::getUser()->name . '</a>'; } else { $userLink = $bill['email1']; } foreach ($store_info as $store_id => $storeinfo) { $storeLink = '<a class="" href="' . JUri::root() . substr(JRoute::_('index.php?option=com_quick2cart&view=vendor&layout=store&store_id=' . $store_id), strlen(JUri::base(true)) + 1) . '">' . $storeinfo['title'] . '</a>'; $notification_subject = JText::sprintf('QTC_NOTIFIY_BUY_STORE', $userLink, $storeLink); @$comquick2cartHelper->addJSnotify($commented_by_userid, $storeinfo['owner'], $notification_subject, 'notif_system_messaging', '0', ''); } } }
/** * After Order Confirm Add point to buyer * count of order item X point allocate to action perform * * @param INT $oid oid * * @return VOID */ public function addPoint($oid) { $db = JFactory::getDBO(); $query = 'SELECT sum( `product_quantity` ) as count FROM `#__kart_order_item` WHERE `order_id`="' . $oid . '"'; $db->setQuery($query); $count_item = $db->loadResult(); // Add point to Community extension when product added into Quick2cart $params = JComponentHelper::getParams('com_quick2cart'); $point_system = $params->get('point_system'); $integrate_with = $params->get('integrate_with'); $user = JFactory::getUser(); if ($point_system === '1') { // According to integration create social lib class obj. $comquick2cartHelper = new comquick2cartHelper(); $libclass = $comquick2cartHelper->getQtcSocialLibObj(); $options['extension'] = 'com_quick2cart'; if ($integrate_with === 'JomSocial') { $options['command'] = 'BuyProduct'; for ($i = 0; $i < $count_item; $i++) { $libclass->addpoints($user, $options); } } elseif ($integrate_with === 'EasySocial') { $options['command'] = 'buy_product'; for ($i = 0; $i < $count_item; $i++) { $libclass->addpoints($user, $options); } } } }