示例#1
0
 function viewAction()
 {
     $clearArray = array();
     $this->filter($clearArray);
     $pagination = new Pagination(array('action' => $this->action, 'controller' => $this->controller, 'params' => $this->params, 'ajax' => true));
     $models = AFActiveDataProvider::models('CCombo', $this->params, $pagination);
     $dataProvider = $models->getAll();
     $filterFields = $models->getoutFilterFields($clearArray);
     // set ajax table
     if (AF::isAjaxRequestModels()) {
         $this->view->includeFile('_table', array('application', 'views', 'ccombo'), array('access' => $this->access, 'controller' => $this->controller, 'dataProvider' => $dataProvider, 'pagination' => $pagination, 'filterFields' => $filterFields));
         die;
     }
     $connectCampaignIDs = array();
     foreach ($dataProvider as $item) {
         if (!in_array($item->campaign1_id, $connectCampaignIDs)) {
             $connectCampaignIDs[] = $item->campaign1_id;
         }
         if (!in_array($item->campaign2_id, $connectCampaignIDs)) {
             $connectCampaignIDs[] = $item->campaign2_id;
         }
     }
     CCombos::getDoubleShippingSKUArray($connectCampaignIDs, AF::get($this->params, 'campaign_id'));
     $this->addToPageTitle('Campaigns Shipping');
     Assets::js('jquery.form');
     $this->render('view', array('dataProvider' => $dataProvider, 'pagination' => $pagination, 'models' => $models, 'filterFields' => $filterFields, 'campaign_id' => AF::get($this->params, 'campaign_id')));
 }
示例#2
0
 public static function getDoubleShippingSKUArray($campaignArray, $campaignID)
 {
     self::$DoubleShippingSKUArray = array();
     if (!$campaignArray) {
         return array();
     }
     $db = SafeMySQL::getInstance();
     $sql = "SELECT cp.`campaign_id`\n                FROM `products` as p\n                JOIN `campaigns_products` as cp ON p.`product_id` = cp.`product_id`\n                WHERE cp.`campaign_id` IN (?a)\n                AND p.`product_shipping_sku` != ''";
     $result = $db->getAll($sql, $campaignArray);
     $resultArray = array();
     foreach ($result as $item) {
         $resultArray[] = $item['campaign_id'];
     }
     self::$DoubleShippingSKUArray = in_array($campaignID, $resultArray) ? $resultArray : array();
 }
示例#3
0
 public function beforeDelete()
 {
     // if there are orders for this campaign, do not allow deletion
     if ($this->getCountOrders()) {
         return false;
     }
     // No orders are present for this camp.  delete any and all associated camp values
     // upsell products
     $campUpsells = new Upsells('Upsell');
     $campUpsells->loadUpsellsByCampaignId($this->campaign_id);
     $campUpsells->deleteUpsellsFromDb();
     unset($campUpsells);
     // camp products
     $campProducts = new CampaignProducts('CampaignProduct');
     $campProducts->load($this->campaign_id);
     $campProducts->deleteCampaignProductsFromDb();
     unset($campProducts);
     // camp shipping
     $campShip = new CampaignShippings('CampaignShipping');
     $campShip->load($this->campaign_id);
     $campShip->deleteCampaignShippingsFromDb();
     unset($campShip);
     // attach
     $campAttach = new CampaignAttachs('CampaignAttach');
     $campAttach->load($this->campaign_id);
     $campAttach->deleteCampaignAttachsFromDb();
     unset($campAttach);
     // combo
     $campCombos = new CCombos('CCombo');
     $campCombos->load($this->campaign_id);
     $campCombos->deleteCampaignCombosFromDb();
     unset($campCombos);
     // emails
     $campEmail = new CampaignEmails('CampaignEmail');
     $campEmail->load($this->campaign_id);
     $campEmail->deleteCampaignEmailsFromDb();
     unset($campEmail);
     // pixels
     $campPixels = new Pixels('Pixel');
     $campPixels->load($this->campaign_id);
     $campPixels->deleteCampaignPixelsFromDb();
     unset($campPixels);
     // pixel rates
     $sql = "DELETE FROM pixel_rates WHERE campaign_id = ?i";
     self::$_msql->query($sql, $this->campaign_id);
     /*$campPixelRates = new PixelRates('PixelRate');
     		$campPixelRates->load($this->campaign_id);
     		$campPixelRates->deleteCampaignPixelRatesFromDb();
     		unset($campPixelRates);*/
     return TRUE;
 }