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'))); }
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(); }
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; }