Esempio n. 1
0
 public static function updateSites($campaignID)
 {
     $modelCampaign = Campaign::model()->with('domain')->cache()->findByPk($campaignID);
     if (!$modelCampaign) {
         return false;
     }
     $db = SafeMySQL::getInstance();
     $sql = "SELECT c.`url`,\n                        c.`campaign_id`,\n                        c.`country_id`,\n                        c.`currency_id`\n                FROM `campaigns` as c\n                WHERE c.`domain_id` = ?i";
     $campaigns = $db->getAll($sql, $modelCampaign->domain_id);
     $rArray = array();
     $cIDs = array();
     foreach ($campaigns as $campaign) {
         $cIDs[] = $campaign['campaign_id'];
         $rArray[$campaign['campaign_id']] = array('main' => array('path' => $campaign['url'], 'campaign_id' => $campaign['campaign_id'], 'country_id' => $campaign['country_id'], 'currency_id' => $campaign['currency_id']), 'products' => array(), 'custom_fields' => array());
         $sql = "SELECT `name`, `value`\n                FROM `site_variables`\n                WHERE (`domain_id`=?i AND`campaign_id`=?i)\n                OR (`domain_id`=?i AND `campaign_id` IS NULL)\n                OR (`domain_id` IS NULL AND `campaign_id` IS NULL)";
         $customFields = $db->getAll($sql, $modelCampaign->domain_id, $campaign['campaign_id'], $modelCampaign->domain_id);
         if ($customFields) {
             foreach ($customFields as $field) {
                 $rArray[$campaign['campaign_id']]['custom_fields'][$field['name']] = $field['value'];
             }
         }
     }
     $sql = "SELECT p.`product_id`,\n                        p.`prodcat_id`,\n                        p.`product_name`,\n                        p.`product_price`,\n                        p.`product_weight`,\n                        p.`product_next_id`,\n                        p.`subscription_days`,\n                        cp.`campaign_id`\n                FROM `products` as p\n                JOIN `campaigns_products` as cp USING (`product_id`)\n                WHERE cp.`campaign_id` IN (?a)\n                AND cp.`enabled` = 1\n                AND cp.`upsell_id` IS NULL";
     $products = $db->getAll($sql, $cIDs);
     if ($products) {
         foreach ($products as $product) {
             $campaignID = $product['campaign_id'];
             unset($product['campaign_id']);
             array_push($rArray[$campaignID]['products'], $product);
         }
     }
     $siteApi = new SiteApi();
     if (!$siteApi->createFile(json_encode($rArray))) {
         //save an error to the log file
         //..
         return false;
     }
     $siteApi->domain = $modelCampaign->domain->url;
     $siteApi->update();
 }
Esempio n. 2
0
 public function updateSites()
 {
     $sql = "SELECT campaign_id FROM campaigns_products WHERE product_id = ?i";
     $result = self::$_msql->getCol($sql, $this->product_id);
     SiteApi::executeUpdate();
 }
Esempio n. 3
0
<?php

@(include_once '../settings/autoload.php');
$campaignID = AF::get($_GET, 'campaign_id');
if (!$campaignID) {
    exit('Incorrect Campaign ID');
}
SiteApi::updateSites($campaignID);
echo 'done...';