Example #1
0
 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;
     }
 }