public function execute()
 {
     $model_settings = new waAppSettingsModel();
     $settings = $model_settings->get($key = array('shop', 'deliveryshop'));
     $model = new waModel();
     $domains = $model->query("SELECT * FROM site_domain")->fetchAll();
     $prices = $model->query("SELECT * FROM shop_deliveryshop_delivery")->fetchAll('domain');
     foreach ($domains as $d) {
         $tab = explode('.', $d['name']);
         $info[$d['name']]['tab_name'] = $tab[0];
         $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka' . $d['id'] . '.html', false, 'shop', true);
         $change_tpl[$d['name']] = true;
         if (!file_exists($template_path)) {
             $template_path = wa()->getAppPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka.html', 'shop');
             $change_tpl[$d['name']] = false;
         }
         $template_content[$d['name']] = file_get_contents($template_path);
         unset($template_path);
     }
     $this->view->assign('info', $info);
     $this->view->assign('prices', $prices);
     $this->view->assign('change_tpl', $change_tpl);
     $this->view->assign('template', $template_content);
     $this->view->assign('settings', $settings);
 }
 public function execute()
 {
     $model = new waModel();
     $payment_model = new wacabPaymentModel();
     $payments = $payment_model->getAll();
     $apps_model = new wacabAppsModel();
     $apps = $apps_model->getByField('stat', 1, true);
     $total = $model->query('SELECT SUM(pay) FROM wacab_payment WHERE `apps_id` is not null')->fetchAll();
     $plugins_stat = array();
     foreach ($apps as $app) {
         $app_total = $model->query('SELECT SUM(pay) FROM wacab_payment WHERE `apps_id` = ' . $app['id'])->fetch();
         $app_count = $model->query('SELECT COUNT(*) FROM wacab_payment WHERE `pay` >= 0 AND `apps_id` = ' . $app['id'])->fetch();
         $app_return = $model->query('SELECT COUNT(*) FROM wacab_payment WHERE `pay` < 0 AND `apps_id` = ' . $app['id'])->fetch();
         $names = json_decode($app['name'], true);
         if ($app['parent'] == 'no_parent' || $app['parent'] == '') {
             $pname = $names[0];
         } else {
             $pname = $names[0] . " (" . $app['parent'] . ")";
         }
         $plugins_stat[] = array('id' => $app['app_id'], 'total' => $app_total[0], 'name' => $pname, 'count' => $app_count[0], 'return' => $app_return[0]);
     }
     $this->view->assign('total', $total);
     $this->view->assign('apps', $plugins_stat);
     $this->setTemplate(wacabHelper::getAppPath() . '/templates/actions/statistic/stat_page.html');
 }
 public function execute()
 {
     $url = waRequest::param('url');
     $domain = waRequest::server('HTTP_HOST');
     $model = new waModel();
     //    $main_domain = $model->query("SELECT value FROM wa_app_settings WHERE app_id = 'webasyst' AND name = 'url'")->fetchField();
     $app_settings_model = new waAppSettingsModel();
     $main_domain = trim(str_replace(array('https', 'http', '://'), '', $app_settings_model->get('webasyst', 'url')), "/");
     $data = $model->query("\nSELECT\n  shop_deliveryshop_city_description.*\n, shop_deliveryshop_city.city\n, shop_deliveryshop_city.region\nFROM\n  shop_deliveryshop_city_description\nLEFT JOIN\n  shop_deliveryshop_city ON shop_deliveryshop_city_description.cityCode = shop_deliveryshop_city.cityCode\nLEFT JOIN\n  wa_region ON wa_region.code = shop_deliveryshop_city.region AND wa_region.country_iso3='rus'\nWHERE\n  (url = '{$url}' OR city = '{$url}')\nAND\n  domain IN ('{$domain}', '{$main_domain}')\nLIMIT 1\n  ")->fetchAssoc();
     // Уменьшаем стоимость доставки на сумму указанную в настройках плагина
     $delivery_compensation = $model->query("SELECT price FROM shop_deliveryshop_delivery WHERE domain = '" . $domain . "'")->fetchField();
     $delivery_compensation = intval($delivery_compensation);
     $delivery_price = intval($data['delivery_price']);
     $courier_price = intval($data['courier_price']);
     if ($delivery_price > $delivery_compensation) {
         $data['delivery_price'] = (int) (($delivery_price - $delivery_compensation) / 50) * 50;
         //Уменьшаем до ближайшего полтинника
     } else {
         $data['delivery_price'] = 0;
     }
     if ($courier_price > $delivery_compensation) {
         $data['courier_price'] = (int) (($courier_price - $delivery_compensation) / 50) * 50;
         //Уменьшаем до ближайшего полтинника
     } else {
         $data['courier_price'] = 0;
     }
     foreach (array('meta_title' => $main_domain, 'meta_description' => '', 'meta_keywords' => '', 'delivery_time' => '', 'courier_time' => '') as $key => $value) {
         $data[$key] = isset($data[$key]) ? $data[$key] : $value;
     }
     wa()->getResponse()->setTitle($data['meta_title']);
     wa()->getResponse()->setMeta('description', $data['meta_description']);
     wa()->getResponse()->setMeta('keywords', $data['meta_keywords']);
     $city_code = isset($data['cityCode']) ? $data['cityCode'] : 0;
     $pvz = $model->query("\nSELECT\n  shop_deliveryshop_pvz.*\nFROM\n  shop_deliveryshop_pvz\nWHERE\n  cityCode = {$city_code}\nAND\n  status = 'completed'\nAND\n  (domain IN ('{$domain}', '{$main_domain}') OR domain IS NULL)\n")->fetchAll();
     //$site_model = new siteDomainModel();
     //$domain_id = $site_model->getByName($domain);
     $domain_id = $model->query("SELECT id FROM site_domain WHERE name = '" . $domain . "'")->fetchField();
     $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka' . $domain_id . '.html', false, 'shop', true);
     if (!file_exists($template_path)) {
         $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka.html', false, 'shop', true);
     }
     if (!file_exists($template_path)) {
         $template_path = wa()->getAppPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka.html', 'shop');
     }
     $this->view->assign('data', $data);
     $this->view->assign('pvz', $pvz);
     $this->view->assign('page', array('id' => null, 'name' => '', 'content' => $this->view->fetch($template_path)));
     $this->setThemeTemplate('page.html');
     waSystem::popActivePlugin();
 }
 public function execute()
 {
     $plugin_id = array('shop', 'deliveryshop');
     try {
         $app_settings_model = new waAppSettingsModel();
         $settings = waRequest::post('settings');
         $app_settings_model->set($plugin_id, 'status', (int) $settings['status']);
         $model = new waModel();
         $domains = $model->query("SELECT * FROM site_domain")->fetchAll();
         $reset_tpls = waRequest::post('reset_tpls');
         $template = waRequest::post('template');
         $prices = waRequest::post('prices');
         $this->response['pri'] = $prices;
         foreach ($domains as $d) {
             $id_price = $model->query("SELECT id FROM shop_deliveryshop_delivery WHERE domain = '" . $d['name'] . "'")->fetchField();
             if ($id_price) {
                 $model->query("UPDATE shop_deliveryshop_delivery SET price = '" . $prices[$d['name']]['price'] . "' WHERE domain = '" . $d['name'] . "'");
             } else {
                 $model->query("INSERT INTO shop_deliveryshop_delivery (domain, price)\n                                   VALUES ('" . $d['name'] . "', '" . $prices[$d['name']]['price'] . "')");
             }
             if (isset($reset_tpls[$d['name']])) {
                 $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka' . $d['id'] . '.html', false, 'shop', true);
                 @unlink($template_path);
             } else {
                 if (!isset($template[$d['name']])) {
                     throw new waException('Не определён шаблон');
                 }
                 $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka' . $d['id'] . '.html', false, 'shop', true);
                 if (!file_exists($template_path)) {
                     $template_path = wa()->getAppPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka.html', 'shop');
                 }
                 $template_content = file_get_contents($template_path);
                 if ($template_content != $template[$d['name']]) {
                     $template_path = wa()->getDataPath('plugins/deliveryshop/templates/actions/frontend/FrontendDostavka' . $d['id'] . '.html', false, 'shop', true);
                     $f = fopen($template_path, 'w');
                     if (!$f) {
                         throw new waException('Не удаётся сохранить шаблон. Проверьте права на запись ' . $template_path);
                     }
                     fwrite($f, $template[$d['name']]);
                     fclose($f);
                 }
             }
             $this->response['template'] = $template;
         }
         $this->response['message'] = "Сохранено";
     } catch (Exception $e) {
         $this->setError($e->getMessage());
     }
 }
 public function postPublishAction($params)
 {
     $post_id = (int) $params['id'];
     $blog_id = (int) $params['blog_id'];
     // check rights for this blog at first and unsubscribe user if he hasn't
     $sql = "SELECT c.id FROM blog_emailsubscription s\n        JOIN wa_contact c ON s.contact_id = c.id\n        WHERE s.blog_id = " . $blog_id;
     $model = new waModel();
     $unsubscribe_contact_ids = array();
     foreach ($model->query($sql) as $row) {
         $rights = 1;
         try {
             $rights = blogHelper::checkRights($blog_id, $row['id'], blogRightConfig::RIGHT_READ);
         } catch (Exception $e) {
             $rights = 0;
         }
         if (!$rights) {
             $unsubscribe_contact_ids[] = $row['id'];
         }
     }
     if ($unsubscribe_contact_ids) {
         $em = new blogEmailsubscriptionModel();
         $em->deleteByField(array('contact_id' => $unsubscribe_contact_ids, 'blog_id' => $blog_id));
     }
     // add subscribers to queue
     $sql = "REPLACE INTO blog_emailsubscription_log (post_id, contact_id, name, email, datetime)\n                SELECT " . $post_id . ", c.id, c.name, e.email, '" . date('Y-m-d H:i:s') . "' FROM blog_emailsubscription s\n                JOIN wa_contact c ON s.contact_id = c.id\n                JOIN wa_contact_emails e ON c.id = e.contact_id AND e.sort = 0\n                WHERE s.blog_id = " . $blog_id;
     $model->exec($sql);
     // save backend url for cron
     $app_settings_model = new waAppSettingsModel();
     $app_settings_model->set(array($this->app_id, $this->id), 'backend_url', wa()->getRootUrl(true) . wa()->getConfig()->getBackendUrl());
 }
 public function execute()
 {
     try {
         $data = waRequest::post();
         $model = new waModel();
         foreach ($data['data'] as $k => $v) {
             if ($v['id'] != 'new') {
                 $is = $model->query("SELECT * FROM shop_deliveryshop_pvz WHERE code = '" . $v['id'] . "' AND domain = '" . $k . "'")->fetchAssoc();
                 if (!$is) {
                     $d = $model->query("SELECT * FROM shop_deliveryshop_pvz WHERE code = '" . $v['id'] . "'")->fetchAssoc();
                     if ($d && $d['domain'] == '') {
                         $model->query("UPDATE shop_deliveryshop_pvz SET \n                                           address = '" . $v['address'] . "',\n                                           workTime = '" . $v['workTime'] . "',\n                                           email = '" . $v['email'] . "',\n                                           TK = '" . $v['TK'] . "',\n                                           note = '" . $v['note'] . "',\n                                           phone = '" . $v['phone'] . "',\n                                           domain = '" . $k . "'\n                                           WHERE id = '" . $d['id'] . "'");
                     } else {
                         $model->query("INSERT INTO shop_deliveryshop_pvz \n                                           (code, name, city, cityCode, workTime, address, phone, note, coordX, coordY, \n                                           weightMin, weightMax, TK, domain, status, email)\n                                           VALUES ('" . $v['id'] . "', '" . $d['name'] . "', '" . $d['city'] . "',\n                                           '" . $d['cityCode'] . "', '" . $v['workTime'] . "',\n                                           '" . $v['address'] . "', '" . $v['phone'] . "', '" . $v['note'] . "',\n                                           '" . $d['coordX'] . "', '" . $d['coordY'] . "', '" . $d['weightMin'] . "',\n                                           '" . $d['weightMax'] . "', '" . $v['TK'] . "', '" . $k . "', '" . $d['status'] . "', '" . $v['email'] . "')");
                     }
                 } else {
                     $model->query("UPDATE shop_deliveryshop_pvz SET \n                                       address = '" . $v['address'] . "',\n                                       workTime = '" . $v['workTime'] . "',\n                                       email = '" . $v['email'] . "',\n                                       TK = '" . $v['TK'] . "',\n                                       note = '" . $v['note'] . "',\n                                       phone = '" . $v['phone'] . "'\n                                       WHERE id = '" . $is['id'] . "' AND domain = '" . $k . "'");
                 }
             } else {
                 if ($v['city']) {
                     $city = $model->query("SELECT city FROM shop_deliveryshop_city WHERE cityCode = '" . $v['city'] . "'")->fetchField();
                     $model->query("INSERT INTO shop_deliveryshop_pvz \n                                       (code, name, city, cityCode, workTime, address, phone, note, coordX, coordY, \n                                       weightMin, weightMax, TK, domain, status, email)\n                                       VALUES ('" . $v['code'] . "', '" . $v['name'] . "', '" . $city . "',\n                                       '" . $v['city'] . "', '" . $v['workTime'] . "',\n                                       '" . $v['address'] . "', '" . $v['phone'] . "', '" . $v['note'] . "',\n                                       '" . $v['coordX'] . "', '" . $v['coordY'] . "', '" . $v['weightMin'] . "',\n                                       '" . $v['weightMax'] . "', '" . $v['TK'] . "', '" . $k . "', 'new', '" . $v['email'] . "')");
                 } else {
                     $this->response['stat'] = 'error';
                 }
             }
         }
         $this->response['message'] = 'ok';
     } catch (Exception $e) {
         $this->setError($e->getMessage());
     }
 }
 protected function query($sql, $one = true)
 {
     $q = $this->source->query($sql);
     if ($one) {
         return $q->fetch();
     } else {
         return $q->fetchAll();
     }
 }
 public function execute(&$params)
 {
     $master_id = $params['id'];
     $merge_ids = $params['contacts'];
     $all_ids = array_merge($merge_ids, array($master_id));
     $m = new waModel();
     //
     // All the simple cases: update contact_id in tables
     //
     foreach (array(array('shop_cart_items', 'contact_id'), array('shop_checkout_flow', 'contact_id'), array('shop_order', 'contact_id'), array('shop_order_log', 'contact_id'), array('shop_product', 'contact_id'), array('shop_product_reviews', 'contact_id'), array('shop_affiliate_transaction', 'contact_id')) as $pair) {
         list($table, $field) = $pair;
         $sql = "UPDATE {$table} SET {$field} = :master WHERE {$field} in (:ids)";
         $m->exec($sql, array('master' => $master_id, 'ids' => $merge_ids));
     }
     //
     // shop_affiliate_transaction
     //
     $balance = 0.0;
     $sql = "SELECT * FROM shop_affiliate_transaction WHERE contact_id=? ORDER BY id";
     foreach ($m->query($sql, $master_id) as $row) {
         $balance += $row['amount'];
         if ($row['balance'] != $balance) {
             $m->exec("UPDATE shop_affiliate_transaction SET balance=? WHERE id=?", $balance, $row['id']);
         }
     }
     $affiliate_bonus = $balance;
     //
     // shop_customer
     //
     // Make sure it exists
     $cm = new shopCustomerModel();
     $cm->createFromContact($master_id);
     $sql = "SELECT SUM(number_of_orders) FROM shop_customer WHERE contact_id IN (:ids)";
     $number_of_orders = $m->query($sql, array('ids' => $all_ids))->fetchField();
     $sql = "SELECT MAX(last_order_id) FROM shop_customer WHERE contact_id IN (:ids)";
     $last_order_id = $m->query($sql, array('ids' => $all_ids))->fetchField();
     $sql = "UPDATE shop_customer SET number_of_orders=?, last_order_id=?, affiliate_bonus=? WHERE contact_id=?";
     $m->exec($sql, ifempty($number_of_orders, 0), ifempty($last_order_id, null), ifempty($affiliate_bonus, 0), $master_id);
     if ($number_of_orders) {
         shopCustomers::recalculateTotalSpent($master_id);
     }
     wa('shop')->event('customers_merge', $params);
     return null;
 }
 public function execute()
 {
     try {
         $id = waRequest::post('id');
         $status = waRequest::post('status');
         $g = waRequest::post('g');
         $model = new waModel();
         if ($g == 'shop') {
             $model->query("UPDATE shop_deliveryshop_city SET status='" . $status . "' WHERE cityCode='" . $id . "'");
         } else {
             if ($g == 'delivery') {
                 $model->query("UPDATE shop_deliveryshop_pvz SET status='" . $status . "' WHERE code='" . $id . "'");
             }
         }
         $this->response['message'] = 'ok';
     } catch (Exception $e) {
         $this->setError($e->getMessage());
     }
 }
 protected function generateSchema($app_id, $tables = array())
 {
     $plugin_id = false;
     if (strpos($app_id, '/') !== false) {
         list($app_id, $plugin_id) = explode('/', $app_id, 2);
         $path = wa()->getConfig()->getAppsPath($app_id, 'plugins/' . $plugin_id . '/lib/config/db.php');
     } else {
         $path = wa()->getConfig()->getAppsPath($app_id, 'lib/config/db.php');
     }
     if (waRequest::param('update') !== null) {
         $schema = (include $path);
         if (!$tables) {
             $tables = array_keys($schema);
         }
     } elseif ($tables) {
         if (!is_array($tables)) {
             $tables = array($tables);
         }
     } else {
         $prefix = $app_id == 'webasyst' ? 'wa' : $app_id;
         if ($plugin_id) {
             $prefix .= '_' . $plugin_id;
         }
         // @todo: use db adapter to get tables
         $sql = "SHOW TABLES LIKE '" . $prefix . "\\_%'";
         $tables = $this->model->query($sql)->fetchAll(null, true);
         $sql = "SHOW TABLES LIKE '" . $prefix . "'";
         $tables = array_merge($tables, $this->model->query($sql)->fetchAll(null, true));
     }
     $schema = array();
     foreach ($tables as $t) {
         echo $t . "\n";
         try {
             $schema[$t] = $this->model->describe($t, 1);
         } catch (waDbException $ex) {
             print "\tError: " . $ex->getMessage() . "\n";
         }
     }
     if ($schema) {
         // save schema to lib/config/db.php of the app
         waUtils::varExportToFile($this->schemaToString($schema), $path, false);
     }
 }
 protected function getTables($prefix)
 {
     // @todo: use db adapter to get tables
     $tables = array();
     $prefix = $this->model->escape($prefix, 'l');
     $sql = "SHOW TABLES LIKE '{$prefix}'";
     $tables = array_merge($tables, $this->model->query($sql)->fetchAll(null, true));
     $sql = "SHOW TABLES LIKE '{$prefix}\\_%'";
     $tables = array_merge($tables, $this->model->query($sql)->fetchAll(null, true));
     return $tables;
 }
 public function execute()
 {
     $id = waRequest::post('id');
     $name = waRequest::post('name');
     $content = waRequest::post('content');
     $model = new waModel();
     if (is_numeric($id)) {
         $model->query("UPDATE shop_notifier_template SET name = '" . $name . "' WHERE id = '" . $id . "'");
     } else {
         $result = $model->query("INSERT INTO shop_notifier_template (name) VALUES ('" . $name . "')");
         $id = $result->lastInsertId();
     }
     $template_path = shopNotifierPlugin::path($id);
     $f = fopen($template_path, 'w');
     if (!$f) {
         throw new waException('Не удаётся сохранить шаблон. Проверьте права на запись ' . $template_path);
     }
     fwrite($f, $content);
     fclose($f);
     $this->response['result'] = array('id' => $id, 'name' => $name);
 }
 public function execute()
 {
     switch (waRequest::get('event')) {
         case 'del_trans':
             $model = new waModel();
             $model->query('TRUNCATE TABLE  `wacab_payment`');
             break;
         case 'del_reviews':
             $model = new waModel();
             $model->query('TRUNCATE TABLE  `wacab_review`');
             break;
     }
 }
 public function execute()
 {
     $this->setLayout(new shopBackendLayout());
     $id = waRequest::get('id');
     $model = new waModel();
     $city['new'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='new'")->fetchField();
     $city['completed'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='completed'")->fetchField();
     $city['flag-white'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='flag-white'")->fetchField();
     $city['refunded'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='refunded'")->fetchField();
     $city['all'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz")->fetchField();
     $domains = $model->query("SELECT * FROM site_domain")->fetchAll();
     if ($id == 'new') {
         $description = $model->query("SELECT * FROM shop_deliveryshop_city ORDER BY city ASC")->fetchAll('cityCode');
         foreach ($domains as $d) {
             $info[$d['name']]['city'] = $description;
             $tab = explode('.', $d['name']);
             $info[$d['name']]['tab_name'] = $tab[0];
         }
     } else {
         foreach ($domains as $d) {
             $description = $model->query("SELECT * FROM shop_deliveryshop_pvz WHERE code='" . $id . "' AND domain='" . $d['name'] . "'")->fetchAssoc();
             if (!$description) {
                 $description = $model->query("SELECT * FROM shop_deliveryshop_pvz WHERE code='" . $id . "'")->fetchAssoc();
             }
             $description = $description ? $description : array();
             $id_city = $description['cityCode'];
             $info[$d['name']] = $description;
             $tab = explode('.', $d['name']);
             $info[$d['name']]['tab_name'] = $tab[0];
         }
         $pvz['data'] = $model->query("SELECT * FROM shop_deliveryshop_pvz WHERE cityCode = '" . $id_city . "' AND code NOT IN ('" . $id . "')")->fetchAll();
         $this->view->assign('pv', $pvz);
     }
     $this->view->assign('info', $info);
     $this->view->assign('id', $id);
     $this->view->assign('pvz', $city);
 }
Example #15
0
 public static function getUserCategoryId($contact_id = null)
 {
     if ($contact_id === null) {
         $contact_id = wa()->getUser()->getId();
     }
     $model = new waModel();
     $sql = "SELECT * FROM `wa_contact_categories` WHERE `contact_id` = '" . $model->escape($contact_id) . "'";
     $categories = $model->query($sql)->fetchAll();
     $category_ids = array();
     $category_ids[] = 0;
     foreach ($categories as $category) {
         $category_ids[] = $category['category_id'];
     }
     return $category_ids;
 }
 public function execute()
 {
     try {
         $PvzList = simplexml_load_file('http://gw.edostavka.ru:11443/pvzlist.php');
         $model = new waModel();
         $update = 0;
         $insert = 0;
         if ($PvzList) {
             foreach ($PvzList->Pvz as $pvz) {
                 if (!($weight = $pvz->WeightLimit)) {
                     $weight['WeightMin'] = '';
                     $weight['WeightMax'] = '';
                 }
                 $id = $model->query("SELECT id FROM shop_deliveryshop_pvz WHERE code='" . (string) $pvz['Code'] . "'")->fetchField();
                 $id_city = $model->query("SELECT cityCode FROM shop_deliveryshop_city WHERE cityCode='" . (string) $pvz['CityCode'] . "'")->fetchField();
                 $youcity = new shopDeliveryshopPluginHelper();
                 $data = $youcity->getCitySearch($pvz[0]['City']);
                 if ($data[2] != 0 && is_numeric($data[2])) {
                     $region = $data[2];
                 } else {
                     if ($data[4] == 'ukr') {
                         $region = 'Украина';
                     } else {
                         if ($data[4] == 'kaz') {
                             $region = 'Казахстан';
                         }
                     }
                 }
                 if ($id_city) {
                     $model->query("UPDATE shop_deliveryshop_city SET \n                                       cityCode='" . mysql_escape_string((string) $pvz[0]['CityCode']) . "',\n                                       city='" . mysql_escape_string((string) $pvz[0]['City']) . "',\n                                       region='" . $region . "'\n                                       WHERE cityCode='" . $id_city . "'");
                 } else {
                     $model->query("INSERT INTO shop_deliveryshop_city\n                                       (cityCode, city, region, status)\n                                        VALUES ('" . mysql_escape_string((string) $pvz[0]['CityCode']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['City']) . "', '" . $region . "', 'new')");
                 }
                 if ($id) {
                     $model->query("UPDATE shop_deliveryshop_pvz SET\n                                       code='" . mysql_escape_string((string) $pvz['Code']) . "',\n                                       name='" . mysql_escape_string((string) $pvz[0]['Name']) . "',\n                                       cityCode='" . mysql_escape_string((string) $pvz[0]['CityCode']) . "',\n                                       city='" . mysql_escape_string((string) $pvz[0]['City']) . "',\n                                       workTime='" . mysql_escape_string((string) $pvz[0]['WorkTime']) . "',\n                                       address='" . mysql_escape_string((string) $pvz[0]['Address']) . "',\n                                       phone='" . mysql_escape_string((string) $pvz[0]['Phone']) . "',\n                                       note='" . mysql_escape_string((string) $pvz[0]['Note']) . "',\n                                       coordX='" . mysql_escape_string((string) $pvz[0]['coordX']) . "',\n                                       coordY='" . mysql_escape_string((string) $pvz[0]['coordY']) . "',\n                                       weightMin='" . mysql_escape_string((string) $weight['WeightMin']) . "',\n                                       weightMax='" . mysql_escape_string((string) $weight['WeightMax']) . "'\n                                       WHERE id='" . $id . "'");
                     $update++;
                 } else {
                     $model->query("INSERT INTO shop_deliveryshop_pvz\n                                       (code, name, cityCode, city, workTime, address, phone, note, coordX, coordY, weightMin, weightMax, status)\n                                        VALUES ('" . mysql_escape_string((string) $pvz['Code']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['Name']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['CityCode']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['City']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['WorkTime']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['Address']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['Phone']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['Note']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['coordX']) . "',\n                                        '" . mysql_escape_string((string) $pvz[0]['coordY']) . "',\n                                        '" . mysql_escape_string((string) $weight['WeightMin']) . "',\n                                        '" . mysql_escape_string((string) $weight['WeightMax']) . "',\n                                        'new')");
                 }
             }
         }
         $this->response['message'] = 'Импортировано';
         $this->response['update'] = $update;
         $this->response['ins'] = $insert;
     } catch (Exception $e) {
         $this->setError($e->getMessage());
     }
 }
 public function execute()
 {
     switch (waRequest::get('event')) {
         case 'del_trans':
             $model = new waModel();
             $model->query('TRUNCATE TABLE  `wacab_payment`');
             break;
         case 'del_reviews':
             $model = new waModel();
             $model->query('TRUNCATE TABLE  `wacab_review`');
             break;
         case 'del_areports':
             $model = new waModel();
             $model->query('TRUNCATE TABLE  `wacab_areport`');
             break;
         case 'print_report':
             $model = new wacabAgentModel();
             $report = $model->getByField('rid', waRequest::get('rid'));
             echo $report['html'];
             break;
     }
 }
 public function execute()
 {
     try {
         $data = waRequest::post();
         $model = new waModel();
         foreach ($data['data'] as $k => $v) {
             $delivery_time = '{$delivery_time}';
             $delivery_price = '{$delivery_price}';
             $courier_time = '{$courier_time}';
             $courier_price = '{$courier_price}';
             if ($v['description'] == '<p><br></p>' || $v['description'] == '') {
                 $v['description'] = '';
             }
             if ($v['anons_shop'] == '<p><br></p>' || $v['anons_shop'] == '') {
                 $v['anons_shop'] = '';
             }
             if ($v['anons_delivery'] == '<p><br></p>' || $v['anons_delivery'] == '') {
                 $v['anons_delivery'] = '';
             }
             if ($v['id'] != 'new') {
                 $id = $model->query("SELECT id FROM shop_deliveryshop_city_description \n                                         WHERE cityCode='" . $v['id'] . "' AND domain='" . $k . "'")->fetchField();
                 $model->query("UPDATE shop_deliveryshop_city SET region = '" . $v['region'] . "' WHERE cityCode = '" . $v['id'] . "'");
                 if ($id) {
                     $model->query("UPDATE shop_deliveryshop_city_description SET\n                                       ID_TK = '" . $v['ID_TK'] . "',\n                                       delivery_time = '" . $v['delivery_time'] . "',\n                                       delivery_price = '" . $v['delivery_price'] . "',\n                                       courier_time = '" . $v['courier_time'] . "',\n                                       courier_price = '" . $v['courier_price'] . "',\n                                       description = '" . $v['description'] . "',\n                                       url = '" . $v['url'] . "',\n                                       anons_shop = '" . $v['anons_shop'] . "',\n                                       anons_delivery = '" . $v['anons_delivery'] . "',\n                                       meta_title = '" . $v['meta_title'] . "',\n                                       meta_keywords = '" . $v['meta_keywords'] . "',\n                                       meta_description = '" . $v['meta_description'] . "'\n                                       WHERE cityCode = '" . $v['id'] . "' AND domain = '" . $k . "'");
                 } else {
                     $model->query("INSERT INTO shop_deliveryshop_city_description\n                                       (cityCode, ID_TK, delivery_time, delivery_price, \n                                       courier_time, courier_price, description, meta_title,\n                                       meta_keywords, meta_description, domain, url, anons_shop, anons_delivery) VALUES\n                                       ('" . $v['id'] . "', '" . $v['ID_TK'] . "', '" . $v['delivery_time'] . "',\n                                       '" . $v['delivery_price'] . "', '" . $v['courier_time'] . "',\n                                       '" . $v['courier_price'] . "', '" . $v['description'] . "', '" . $v['meta_title'] . "',\n                                       '" . $v['meta_keywords'] . "', '" . $v['meta_description'] . "', '" . $k . "',\n                                       '" . $v['url'] . "', '" . $v['anons_shop'] . "', '" . $v['anons_delivery'] . "')");
                 }
             } else {
                 if ($v['region']) {
                     $model->query("INSERT INTO shop_deliveryshop_city_description\n                                       (cityCode, ID_TK, delivery_time, delivery_price, \n                                       courier_time, courier_price, description, meta_title,\n                                       meta_keywords, meta_description, domain, url, anons_shop, anons_delivery) VALUES\n                                       ('" . $v['IDcity'] . "', '" . $v['ID_TK'] . "', '" . $v['delivery_time'] . "',\n                                       '" . $v['delivery_price'] . "', '" . $v['courier_time'] . "',\n                                       '" . $v['courier_price'] . "', '" . $v['description'] . "', '" . $v['meta_title'] . "',\n                                       '" . $v['meta_keywords'] . "', '" . $v['meta_description'] . "', '" . $k . "',\n                                       '" . $v['url'] . "', '" . $v['anons_shop'] . "', '" . $v['anons_delivery'] . "')");
                     $model->query("INSERT INTO shop_deliveryshop_city \n                                       (cityCode, city, region, status) VALUES\n                                       ('" . $v['IDcity'] . "', '" . $v['city'] . "', '" . $v['region'] . "', 'new')");
                 } else {
                     $this->response['stat'] = 'error';
                 }
             }
         }
         $this->response['message'] = 'ok';
     } catch (Exception $e) {
         $this->setError($e->getMessage());
     }
 }
Example #19
0
<?php

$model = new waModel();
$plugin_model = new shopPluginModel();
$plugings = $plugin_model->getByField('plugin', 'invoicejur', true);
if ($plugings) {
    foreach ($plugings as $p) {
        $settings = $model->query("SELECT name, value FROM shop_plugin_settings WHERE id = i:0", $p['id'])->fetchAll('name', true);
        $company = !empty($settings['cust_company']) ? $settings['cust_company'] : 'company';
        $inn = !empty($settings['cust_inn']) ? $settings['cust_inn'] : 'inn';
        $model->exec("UPDATE shop_order_params SET name = 'payment_params_" . $company . "' WHERE name = 'billing_" . $company . "'");
        $model->exec("UPDATE shop_order_params SET name = 'payment_params_" . $inn . "' WHERE name = 'billing_" . $inn . "'");
    }
}
Example #20
0
<?php

$model = new waModel();
try {
    $model->query("SELECT moderation FROM `photos_photo` WHERE 0");
} catch (waException $e) {
    // 0 - waited
    // 1 - approved
    // -1 - declined
    $sql = "ALTER TABLE `photos_photo` ADD COLUMN moderation TINYINT(1) NOT NULL DEFAULT 1";
    $model->query($sql);
}
try {
    $model->query("SELECT `votes_count` FROM `photos_photo` WHERE 0");
} catch (waException $e) {
    $model->exec("ALTER TABLE `photos_photo` ADD COLUMN votes_count INT(11) NOT NULL DEFAULT 0");
}
$contact_id = wa()->getUser()->getId();
$photo_model = new photosPhotoModel();
$data = array();
foreach ($photo_model->select('id, rate')->where('rate > 0')->fetchAll() as $item) {
    $data[] = array('photo_id' => $item['id'], 'contact_id' => $contact_id, 'rate' => $item['rate'], 'datetime' => date('Y-m-d H:i:s'), 'ip' => waRequest::getIp(true));
}
$vote_model = new photosPublicgalleryVoteModel();
$vote_model->multipleInsert($data);
$model->exec("UPDATE `photos_photo` SET votes_count = 1 WHERE rate > 0");
Example #21
0
<?php

$model = new waModel();
try {
    $model->exec("SELECT keywords FROM `shop_product_pages` WHERE 0");
} catch (waDbException $e) {
    $model->exec("ALTER TABLE `shop_product_pages` ADD keywords TEXT NULL");
}
try {
    $model->exec("SELECT description FROM `shop_product_pages` WHERE 0");
} catch (waDbException $e) {
    $model->exec("ALTER TABLE `shop_product_pages` ADD description TEXT NULL");
}
try {
    $model->exec("SELECT * FROM `shop_product_page_params` WHERE 0");
    $data = array();
    foreach ($model->query("SELECT * FROM `shop_product_page_params` WHERE name IN ('keywords', 'description')") as $item) {
        $data[$item['page_id']][$item['name']] = $item['value'];
    }
    $page_model = new shopProductPagesModel();
    foreach ($data as $page_id => $item) {
        $page_model->updateById($page_id, $item);
    }
    $model->exec("DROP TABLE `shop_product_page_params`");
} catch (waDbException $e) {
}
 public function execute()
 {
     $this->setLayout(new shopBackendLayout());
     $status = waRequest::get('status');
     $tab = waRequest::get('tab');
     $model = new waModel();
     $cities = $model->query("SELECT * FROM shop_deliveryshop_city ORDER BY city ASC")->fetchAll();
     $city['data'] = $cities;
     $city['new'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_city WHERE status='new'")->fetchField();
     $city['completed'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_city WHERE status='completed'")->fetchField();
     $city['flag-white'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_city WHERE status='flag-white'")->fetchField();
     $city['refunded'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_city WHERE status='refunded'")->fetchField();
     $city['all'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_city")->fetchField();
     foreach ($city['data'] as $key => &$c) {
         if (is_numeric($c['region'])) {
             $c['region'] = $model->query("SELECT name FROM wa_region WHERE code='" . $c['region'] . "' AND country_iso3='rus'")->fetchField();
         }
         if ($status && $status != $c['status'] && $tab == 'shop') {
             unset($city['data'][$key]);
         }
     }
     $pvz['data'] = $model->query("SELECT * FROM shop_deliveryshop_pvz ORDER BY city ASC")->fetchAll();
     $pvz['new'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='new'")->fetchField();
     $pvz['completed'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='completed'")->fetchField();
     $pvz['flag-white'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='flag-white'")->fetchField();
     $pvz['refunded'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz WHERE status='refunded'")->fetchField();
     $pvz['all'] = $model->query("SELECT COUNT(*) FROM shop_deliveryshop_pvz")->fetchField();
     $this->view->assign('cities', $city);
     $this->view->assign('pvz', $pvz);
 }
Example #23
0
<?php

$model = new waModel();
// correct tag counters
$sql = "\n    UPDATE `shop_tag` t JOIN (\n            SELECT t.id, t.name, t.count, COUNT(pt.product_id) AS product_count\n            FROM `shop_tag` t\n            LEFT JOIN `shop_product_tags` pt ON t.id = pt.tag_id\n            GROUP BY t.id\n    ) r ON t.id = r.id\n    SET t.count = r.product_count\n";
$model->exec($sql);
$sql = "\n    SELECT DISTINCT pt.tag_id\n    FROM `shop_product_tags` pt\n    LEFT JOIN `shop_tag` t ON pt.tag_id = t.id\n    WHERE t.id IS NULL\n";
// delete hanging product-tag items
$ids = array_keys($model->query($sql)->fetchAll('tag_id'));
if ($ids) {
    $shop_product_tag = new shopProductTagsModel();
    $shop_product_tag->deleteByField('tag_id', $ids);
}
Example #24
0
<?php

try {
    $model = new waModel();
    $sql = "SELECT contact_id, MAX(id) id FROM wa_login_log WHERE datetime_out IS NULL GROUP BY contact_id HAVING count(*) > 1";
    $rows = $model->query($sql)->fetchAll();
    foreach ($rows as $row) {
        $sql = "UPDATE wa_login_log SET datetime_out = datetime_in\n                WHERE  datetime_out IS NULL AND contact_id = " . (int) $row['contact_id'] . " AND id != " . (int) $row['id'];
        $model->exec($sql);
    }
} catch (waDbException $e) {
}
Example #25
0
<?php

$model = new waModel();
try {
    $model->query("SELECT sku_count FROM shop_product WHERE 0");
} catch (waDbException $e) {
    $model->exec("ALTER TABLE shop_product ADD sku_count INT (11) NOT NULL DEFAULT 1");
}
$model->exec("UPDATE shop_product p JOIN (\n    SELECT product_id, COUNT( * ) sku_count\n    FROM shop_product_skus\n    GROUP BY product_id HAVING count(*) > 1\n) t ON p.id = t.product_id SET p.sku_count = t.sku_count");
<?php

$model = new waModel();
try {
    $model->query("SELECT moderation FROM `photos_photo` WHERE 0");
    $model->exec("ALTER TABLE `photos_photo` DROP COLUMN moderation");
} catch (waException $e) {
}
try {
    $model->query("SELECT votes_count FROM `photos_photo` WHERE 0");
    $model->exec("ALTER TABLE `photos_photo` DROP COLUMN votes_count");
} catch (waException $e) {
}
Example #27
0
<?php

$model = new waModel();
try {
    $model->query("SELECT route FROM shop_category WHERE 0");
} catch (waDbException $e) {
    $model->exec("ALTER TABLE shop_category ADD route VARCHAR(255) NULL DEFAULT NULL");
}
Example #28
0
<?php

$model = new waModel();
try {
    $model->query("SELECT type FROM shop_affiliate_transaction WHERE 0");
} catch (waDbException $e) {
    $model->exec("ALTER TABLE shop_affiliate_transaction ADD type VARCHAR (32) NULL DEFAULT NULL");
    // order_bonus
    $model->exec("UPDATE shop_affiliate_transaction SET type='order_bonus'\n                  WHERE type IS NULL AND order_id IS NOT NULL AND amount > 0");
    // deposit
    $model->exec("UPDATE shop_affiliate_transaction SET type='deposit'\n                  WHERE type IS NULL AND order_id IS NULL AND amount > 0");
    // order_cancel
    $model->exec("UPDATE shop_affiliate_transaction SET type='order_cancel'\n                  WHERE type IS NULL AND order_id IS NOT NULL AND (comment IS NULL OR comment = '') AND amount < 0");
    // order_discount
    $model->exec("UPDATE shop_affiliate_transaction SET type='order_discount'\n                  WHERE type IS NULL AND order_id IS NOT NULL AND amount < 0");
    // withdrawal
    $model->exec("UPDATE shop_affiliate_transaction SET type='withdrawal'\n                  WHERE type IS NULL AND order_id IS NULL AND amount < 0");
}
Example #29
0
<?php

$model = new waModel();
try {
    $model->query("SELECT sort FROM shop_service WHERE 0");
} catch (waDbException $e) {
    $sql = 'ALTER TABLE `shop_service` ADD `sort` INT(11) NOT NULL DEFAULT 0';
    $model->exec($sql);
}
$i = 0;
foreach ($model->query("SELECT * FROM shop_service ORDER BY sort, id") as $item) {
    $model->exec("UPDATE shop_service SET sort = {$i} WHERE id = " . $item['id']);
    $i++;
}
try {
    $model->query("SELECT sort FROM shop_service_variants WHERE 0");
} catch (Exception $e) {
    $model->exec("ALTER TABLE shop_service_variants ADD COLUMN `sort` INT(11) NOT NULL DEFAULT 0");
    $model->exec("UPDATE shop_service_variants SET sort = id");
}
 /**
  * @return waDbResultSelect
  */
 protected function query()
 {
     return $this->model->query($this->getSQL());
 }