本文整理汇总了PHP中waModel::exec方法的典型用法代码示例。如果您正苦于以下问题:PHP waModel::exec方法的具体用法?PHP waModel::exec怎么用?PHP waModel::exec使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类waModel
的用法示例。
在下文中一共展示了waModel::exec方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postPublishAction
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());
}
示例2: execute
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;
}
示例3: execute
public function execute(&$params)
{
$master_id = $params['id'];
$merge_ids = $params['contacts'];
$m = new waModel();
foreach (array(array('blog_comment', '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));
}
return null;
}
示例4: postPublishAction
public function postPublishAction($params)
{
$post_id = (int) $params['id'];
$blog_id = (int) $params['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 = new waModel();
$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());
}
示例5: array
<?php
$sqls = array();
$sqls[] = 'ALTER TABLE `blog_comment` CHANGE `email` `email` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL';
$sqls[] = 'ALTER TABLE `blog_comment` CHANGE `name` `name` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL';
$sqls[] = 'ALTER TABLE `blog_comment` CHANGE `site` `site` VARCHAR( 255 ) CHARACTER SET utf8 COLLATE utf8_general_ci NULL DEFAULT NULL';
$sqls[] = 'ALTER TABLE `blog_post` CHANGE `text` `text` MEDIUMTEXT CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL';
$model = new waModel();
foreach ($sqls as $sql) {
try {
$model->exec($sql);
} catch (Exception $ex) {
if (class_exists('waLog')) {
waLog::log(basename(__FILE__) . ': ' . $ex->getMessage(), 'blog-update.log');
}
}
}
示例6: waModel
<?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");
}
示例7: waModel
<?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 . "'");
}
}
示例8: waModel
<?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");
示例9: waModel
<?php
$mod = new waModel();
$mod->exec("UPDATE wa_contact_data SET field='address:region' WHERE field='address:state'");
示例10: waModel
<?php
$model = new waModel();
try {
$model->exec("ALTER TABLE shop_order_log ADD INDEX `order_id` (`order_id`)");
} catch (waDbException $e) {
}
try {
$model->exec("ALTER TABLE shop_order_items DROP INDEX product");
} catch (waDbException $e) {
}
try {
$model->exec("ALTER TABLE shop_order_items ADD INDEX product_order (product_id, order_id)");
} catch (waDbException $e) {
}
try {
$model->exec("ALTER TABLE shop_order_items ADD INDEX `order_type` (`order_id`, `type`)");
} catch (waDbException $e) {
}
try {
$model->exec("ALTER TABLE shop_product_features DROP INDEX sku");
} catch (waDbException $e) {
}
try {
$model->exec("ALTER TABLE shop_product_features ADD INDEX product_feature (product_id, feature_id, feature_value_id)");
} catch (waDbException $e) {
}
示例11: waModel
<?php
$model = new waModel();
$model->exec("CREATE TABLE IF NOT EXISTS `wa_contact_field_values` (\n `id` int(11) NOT NULL AUTO_INCREMENT,\n `parent_field` varchar(64) NOT NULL,\n `parent_value` varchar(255) NOT NULL,\n `field` varchar(64) NOT NULL,\n `value` varchar(255) NOT NULL,\n `sort` int(11) NOT NULL DEFAULT '0',\n PRIMARY KEY (`id`),\n KEY `parent_field` (`parent_field`,`parent_value`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8");
示例12: waModel
<?php
$model = new waModel();
try {
$model->exec("ALTER TABLE `checklists_list` CHANGE `color_class` `color_class` VARCHAR(32) NOT NULL DEFAULT 'c-white'");
} catch (waDbException $e) {
}
示例13: waModel
<?php
$model = new waModel();
$model->exec("CREATE TABLE IF NOT EXISTS `shop_product_features_selectable` (\n `product_id` int(11) NOT NULL,\n `feature_id` int(11) NOT NULL,\n `value_id` int(11) NOT NULL,\n PRIMARY KEY (`product_id`,`feature_id`,`value_id`)\n) ENGINE=MyISAM DEFAULT CHARSET=utf8;");
示例14: waModel
<?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");
}
示例15: waModel
<?php
$mod = new waModel();
try {
$mod->exec("SELECT fav_sort FROM wa_region LIMIT 0");
} catch (waDbException $e) {
$mod->exec("ALTER TABLE `wa_region` ADD `fav_sort` INT NULL DEFAULT NULL");
}
try {
$mod->exec("SELECT fav_sort FROM wa_country LIMIT 0");
} catch (waDbException $e) {
$mod->exec("ALTER TABLE `wa_country` ADD `fav_sort` INT NULL DEFAULT NULL");
}