本文整理汇总了PHP中sDB类的典型用法代码示例。如果您正苦于以下问题:PHP sDB类的具体用法?PHP sDB怎么用?PHP sDB使用的例子?那么恭喜您, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了sDB类的20个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于我们的系统推荐出更棒的PHP代码示例。
示例1: screen
public function screen()
{
if (!current_user_can('shopp_promotions')) {
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$table = ShoppDatabaseObject::tablename(ShoppPromo::$table);
$defaults = array('page' => false, 'status' => false, 'type' => false, 'paged' => 1, 'per_page' => 20, 's' => '');
$args = array_merge($defaults, $_GET);
extract($args, EXTR_SKIP);
$url = add_query_arg(array_merge($_GET, array('page' => $this->page)), admin_url('admin.php'));
$f = array('action', 'selected', 's');
$url = remove_query_arg($f, $url);
$pagenum = absint($paged);
$start = $per_page * ($pagenum - 1);
$where = array();
if (!empty($s)) {
$where[] = "name LIKE '%{$s}%'";
}
if ($status) {
$datesql = ShoppPromo::activedates();
switch (strtolower($status)) {
case 'active':
$where[] = "status='enabled' AND {$datesql}";
break;
case 'inactive':
$where[] = "status='enabled' AND NOT {$datesql}";
break;
case 'enabled':
$where[] = "status='enabled'";
break;
case 'disabled':
$where[] = "status='disabled'";
break;
}
}
if ($type) {
switch (strtolower($type)) {
case 'catalog':
$where[] = "target='Catalog'";
break;
case 'cart':
$where[] = "target='Cart'";
break;
case 'cartitem':
$where[] = "target='Cart Item'";
break;
}
}
$select = sDB::select(array('table' => $table, 'columns' => 'SQL_CALC_FOUND_ROWS *', 'where' => $where, 'orderby' => 'created DESC', 'limit' => "{$start},{$per_page}"));
$Promotions = sDB::query($select, 'array');
$count = sDB::found();
$num_pages = ceil($count / $per_page);
$ListTable = ShoppUI::table_set_pagination($this->id, $count, $num_pages, $per_page);
$states = array('active' => __('Active', 'Shopp'), 'inactive' => __('Not Active', 'Shopp'), 'enabled' => __('Enabled', 'Shopp'), 'disabled' => __('Disabled', 'Shopp'));
$types = array('catalog' => __('Catalog Discounts', 'Shopp'), 'cart' => __('Cart Discounts', 'Shopp'), 'cartitem' => __('Cart Item Discounts', 'Shopp'));
$num_pages = ceil($count / $per_page);
$page_links = paginate_links(array('base' => add_query_arg('pagenum', '%#%'), 'format' => '', 'total' => $num_pages, 'current' => $pagenum));
include $this->ui('discounts.php');
}
开发者ID:msigley,项目名称:shopp,代码行数:59,代码来源:Discounts.php
示例2: query
function query()
{
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where = join(" AND ", $where);
$id = $this->timecolumn('o.created');
$orders_table = ShoppDatabaseObject::tablename('purchase');
$purchased_table = ShoppDatabaseObject::tablename('purchased');
$query = "SELECT CONCAT({$id}) AS id,\n\t\t\t\t\t\t\tUNIX_TIMESTAMP(o.created) as period,\n\t\t\t\t\t\t\tSUM( ( SELECT SUM(p.quantity) FROM {$purchased_table} AS p WHERE o.id = p.purchase ) ) AS items,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.id) AS orders,\n\t\t\t\t\t\t\tSUM(o.subtotal) as subtotal,\n\t\t\t\t\t\t\tSUM(o.discount) as discounts\n\t\t\t\t\tFROM {$orders_table} AS o\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY CONCAT({$id})";
return $query;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:12,代码来源:discounts.php
示例3: delete
public function delete()
{
if (empty($this->id)) {
return;
}
$price = $this->id;
parent::delete();
// clean up meta entries for deleted price
$metatable = ShoppDatabaseObject::tablename('meta');
$query = "DELETE FROM {$metatable} WHERE context='price' and parent={$price}";
sDB::query($query);
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:12,代码来源:Price.php
示例4: query
function query()
{
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where[] = "o.txnstatus IN ('authed', 'captured', 'CHARGED')";
$where = join(" AND ", $where);
$id = $this->timecolumn('o.created');
$orders_table = ShoppDatabaseObject::tablename('purchase');
$purchased_table = ShoppDatabaseObject::tablename('purchased');
$query = "SELECT CONCAT({$id}) AS id,\n\t\t\t\t\t\t\tUNIX_TIMESTAMP(o.created) AS period,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.id) AS orders,\n\t\t\t\t\t\t\tSUM(o.subtotal) AS subtotal,\n\t\t\t\t\t\t\tSUM(o.tax) AS tax,\n\t\t\t\t\t\t\tSUM(o.freight) AS shipping,\n\t\t\t\t\t\t\tSUM(o.discount) AS discounts,\n\t\t\t\t\t\t\tSUM(o.total) AS total,\n\t\t\t\t\t\t\tAVG(o.total) AS orderavg,\n\t\t\t\t\t\t\tSUM( (SELECT SUM(p.quantity) FROM {$purchased_table} AS p WHERE o.id = p.purchase) ) AS items,\n\t\t\t\t\t\t\t(SELECT AVG(p.unitprice) FROM {$purchased_table} AS p WHERE o.id = p.purchase) AS itemavg\n\t\t\t\t\tFROM {$orders_table} AS o\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY CONCAT({$id})";
return $query;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:13,代码来源:sales.php
示例5: query
public function query()
{
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where[] = "o.txnstatus IN ('authed', 'captured', 'CHARGED')";
$where = join(" AND ", $where);
$id = $this->timecolumn('o.created');
$orders_table = ShoppDatabaseObject::tablename('purchase');
$purchased_table = ShoppDatabaseObject::tablename('purchased');
$query = "SELECT CONCAT({$id}) AS id,\n\t\t\t\t\t\t\tUNIX_TIMESTAMP(o.created) as period,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.id) AS orders,\n\t\t\t\t\t\t\tSUM(o.subtotal) as subtotal,\n\t\t\t\t\t\t\tSUM(o.tax) as tax,\n\t\t\t\t\t\t\tSUM(p1.taxable) as taxable,\n\t\t\t\t\t\t\tAVG(p2.rate) as rate\n\t\t\t\t\tFROM {$orders_table} AS o\n\t\t\t\t\tLEFT JOIN (SELECT purchase, SUM(p.total) as taxable FROM {$purchased_table} AS p WHERE p.unittax > 0 GROUP BY purchase) p1 ON p1.purchase = o.id\n\t\t\t\t\tLEFT JOIN (SELECT purchase, AVG(p.unittax/p.unitprice) as rate FROM {$purchased_table} AS p WHERE p.unittax > 0 GROUP BY purchase) p2 ON p2.purchase = o.id\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY CONCAT({$id})";
return $query;
}
开发者ID:crunnells,项目名称:shopp,代码行数:13,代码来源:tax.php
示例6: screen
public function screen()
{
$Shopp = Shopp::object();
if (!current_user_can('shopp_settings_checkout')) {
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$purchasetable = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$next = sDB::query("SELECT IF ((MAX(id)) > 0,(MAX(id)+1),1) AS id FROM {$purchasetable} LIMIT 1");
$next_setting = shopp_setting('next_order_id');
if ($next->id > $next_setting) {
$next_setting = $next->id;
}
$term_recount = false;
if (!empty($_POST['save'])) {
check_admin_referer('shopp-setup-management');
$next_order_id = $_POST['settings']['next_order_id'] = intval($_POST['settings']['next_order_id']);
if ($next_order_id >= $next->id) {
if (sDB::query("ALTER TABLE {$purchasetable} AUTO_INCREMENT=" . sDB::escape($next_order_id))) {
$next_setting = $next_order_id;
}
}
$_POST['settings']['order_shipfee'] = Shopp::floatval($_POST['settings']['order_shipfee']);
// Recount terms when this setting changes
if (isset($_POST['settings']['inventory']) && $_POST['settings']['inventory'] != shopp_setting('inventory')) {
$term_recount = true;
}
shopp_set_formsettings();
$this->notice(Shopp::__('Management settings saved.'), 'notice', 20);
}
if ($term_recount) {
$taxonomy = ProductCategory::$taxon;
$terms = get_terms($taxonomy, array('hide_empty' => 0, 'fields' => 'ids'));
if (!empty($terms)) {
wp_update_term_count_now($terms, $taxonomy);
}
}
$states = array(__('Map the label to an order state:', 'Shopp') => array_merge(array('' => ''), Lookup::txnstatus_labels()));
$statusLabels = shopp_setting('order_status');
$statesLabels = shopp_setting('order_states');
$reasonLabels = shopp_setting('cancel_reasons');
if (empty($reasonLabels)) {
$reasonLabels = array(__('Not as described or expected', 'Shopp'), __('Wrong size', 'Shopp'), __('Found better prices elsewhere', 'Shopp'), __('Product is missing parts', 'Shopp'), __('Product is defective or damaaged', 'Shopp'), __('Took too long to deliver', 'Shopp'), __('Item out of stock', 'Shopp'), __('Customer request to cancel', 'Shopp'), __('Item discontinued', 'Shopp'), __('Other reason', 'Shopp'));
}
$promolimit = array('1', '2', '3', '4', '5', '6', '7', '8', '9', '10', '15', '20', '25');
$lowstock = shopp_setting('lowstock_level');
if (empty($lowstock)) {
$lowstock = 0;
}
include $this->ui('management.php');
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:50,代码来源:OrdersSettings.php
示例7: shopp_orders
/**
* shopp_orders - get a list of purchases
*
* @api
* @since 1.2
*
* @param mixed $from (optional) mktime or SQL datetime, get purchases after this date/time.
* @param mixed $to (optional) mktime or SQL datetime, get purchased before this date/time.
* @param bool $items (optional default:true) load purchased items into the records, slightly slower operation
* @param array $customers (optional) list of int customer ids to limit the purchases to. All customers by default.
* @param int $limit (optional default:false) maximimum number of results to get, false for no limit
* @param string $order (optional default:DESC) DESC or ASC, for sorting in ascending or descending order.
* @param string $orderby (optional) The column used to sort records
* @param bool $paidonly (optional) Restrict to orders where payment has been completed
* @param bool $downloads (optional) Restrict to orders that have downloads
* @return array of Purchase objects
**/
function shopp_orders($from = false, $to = false, $items = true, array $customers = array(), $limit = false, $order = 'DESC', $orderby = 'id', $paidonly = false, $downloads = false)
{
$pt = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$pd = ShoppDatabaseObject::tablename(ShoppPurchased::$table);
$op = '<';
$where = array();
$dateregex = '/^([0-9]{2,4})-([0-1][0-9])-([0-3][0-9]) (?:([0-2][0-9]):([0-5][0-9]):([0-5][0-9]))?$/';
foreach (array($from, $to) as $datetime) {
if (!$datetime) {
continue;
}
if (1 == preg_match($dateregex, $datetime)) {
$where[] = "'{$datetime}' {$op} p.created";
} else {
if (is_int($datetime)) {
$where[] = "FROM_UNIXTIME({$datetime}) {$op} p.created";
}
}
$op = '>=';
}
if (!empty($customers)) {
$set = sDB::escape(implode(',', $customers));
$where[] = "0 < FIND_IN_SET(p.customer,'" . $set . "')";
}
if ($paidonly) {
$where[] = "p.txnstatus='captured'";
}
if ($items && $downloads) {
$where[] = " pd.download > 0";
}
$where = empty($where) ? '' : 'WHERE ' . implode(' AND ', $where);
if ((int) $limit > 0) {
$limit = " LIMIT {$limit}";
} else {
$limit = '';
}
if (!in_array(strtolower($orderby), array('id', 'created', 'modified'))) {
$orderby = 'id';
}
if ($items) {
$query = "SELECT pd.* FROM {$pd} AS pd INNER JOIN {$pt} AS p ON pd.purchase = p.id {$where} " . $limit;
$purchased = sDB::query($query, 'array', '_shopp_order_purchased');
$orders = sDB::query("SELECT * FROM {$pt} WHERE FIND_IN_SET(id,'" . join(',', array_keys($purchased)) . "') ORDER BY {$orderby} " . ('DESC' == $order ? 'DESC' : 'ASC'), 'array', '_shopp_order_purchase', $purchased);
} else {
$query = "SELECT * FROM {$pt} AS p {$where} ORDER BY {$orderby} " . ('DESC' == $order ? 'DESC' : 'ASC') . $limit;
$orders = sDB::query($query, 'array', '_shopp_order_purchase');
}
return $orders;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:66,代码来源:order.php
示例8: query
function query()
{
$this->options = array_merge(array('orderby' => 'orders', 'order' => 'desc'), $this->options);
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where[] = "o.txnstatus IN ('authed','captured')";
$where = join(" AND ", $where);
if (!in_array($order, array('asc', 'desc'))) {
$order = 'desc';
}
if (!in_array($orderby, array('orders', 'sold', 'grossed'))) {
$orderby = 'orders';
}
$ordercols = "{$orderby} {$order}";
$id = "o.cardtype";
$purchase_table = ShoppDatabaseObject::tablename('purchase');
$query = "SELECT CONCAT({$id}) AS id,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.id) AS orders,\n\t\t\t\t\t\t\tSUM(o.total) AS grossed\n\t\t\t\t\tFROM {$purchase_table} AS o\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY CONCAT({$id}) ORDER BY {$ordercols}";
return $query;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:20,代码来源:payment-types.php
示例9: query
function query()
{
$this->options = array_merge(array('orderby' => 'orders', 'order' => 'desc'), $this->options);
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where = join(" AND ", $where);
if (!in_array($order, array('asc', 'desc'))) {
$order = 'desc';
}
if (!in_array($orderby, array('orders', 'sold', 'grossed'))) {
$orderby = 'orders';
}
$ordercols = "{$orderby} {$order}";
$id = 'c.id';
$purchase_table = ShoppDatabaseObject::tablename('purchase');
$purchased_table = ShoppDatabaseObject::tablename('purchased');
$customer_table = ShoppDatabaseObject::tablename('customer');
$query = "SELECT {$id} AS id,\n\t\t\t\t\t\t\tCONCAT(c.firstname,' ',c.lastname) AS customer,\n\t\t\t\t\t\t\tSUM( (SELECT SUM(p.quantity) FROM {$purchased_table} AS p WHERE o.id = p.purchase) ) AS sold,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.id) AS orders,\n\t\t\t\t\t\t\tSUM(o.total) AS grossed\n\t\t\t\t\tFROM {$purchase_table} as o\n\t\t\t\t\tINNER JOIN {$customer_table} AS c ON c.id=o.customer\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY {$id} ORDER BY {$ordercols}";
return $query;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:21,代码来源:customers.php
示例10: query
public function query()
{
$this->options = array_merge(array('orderby' => 'orders', 'order' => 'desc'), $this->options);
extract($this->options, EXTR_SKIP);
$where = array();
$where[] = "o.created BETWEEN '" . sDB::mkdatetime($starts) . "' AND '" . sDB::mkdatetime($ends) . "'";
$where[] = "orders.txnstatus IN ('authed','captured')";
$where = join(" AND ", $where);
if (!in_array($order, array('asc', 'desc'))) {
$order = 'desc';
}
if (!in_array($orderby, array('orders', 'sold', 'grossed'))) {
$orderby = 'orders';
}
$ordercols = "{$orderby} {$order}";
$id = "o.product,' ',o.price";
$purchase_table = ShoppDatabaseObject::tablename('purchase');
$purchased_table = ShoppDatabaseObject::tablename('purchased');
$product_table = WPDatabaseObject::tablename(ShoppProduct::$table);
$price_table = ShoppDatabaseObject::tablename('price');
$query = "SELECT CONCAT({$id}) AS id,\n\t\t\t\t\t\t\tCONCAT(p.post_title,' ', IF(pr.context != 'product',pr.label,'')) AS product,\n\t\t\t\t\t\t\tpr.sku as sku,\n\t\t\t\t\t\t\tSUM(o.quantity) AS sold,\n\t\t\t\t\t\t\tCOUNT(DISTINCT o.purchase) AS orders,\n\t\t\t\t\t\t\tSUM(o.total) AS grossed\n\t\t\t\t\tFROM {$purchased_table} AS o INNER JOIN {$purchase_table} AS orders ON orders.id=o.purchase\n\t\t\t\t\tJOIN {$product_table} AS p ON p.ID=o.product\n\t\t\t\t\tJOIN {$price_table} AS pr ON pr.id=o.price\n\t\t\t\t\tWHERE {$where}\n\t\t\t\t\tGROUP BY CONCAT({$id}) ORDER BY {$ordercols}";
return $query;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:23,代码来源:products.php
示例11: status_counts
/**
* Retrieves the number of orders in each customized order status label
*
* @author Jonathan Davis
* @return void
**/
public function status_counts()
{
$table = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$labels = shopp_setting('order_status');
if (empty($labels)) {
return false;
}
$status = array();
$alltotal = sDB::query("SELECT count(*) AS total FROM {$table}", 'auto', 'col', 'total');
$r = sDB::query("SELECT status,COUNT(status) AS total FROM {$table} GROUP BY status ORDER BY status ASC", 'array', 'index', 'status');
$all = array('' => __('All Orders', 'Shopp'));
$labels = $all + $labels;
foreach ($labels as $id => $label) {
$_ = new StdClass();
$_->label = $label;
$_->id = $id;
$_->total = 0;
if (isset($r[$id])) {
$_->total = (int) $r[$id]->total;
}
if ('' === $id) {
$_->total = $alltotal;
}
$status[$id] = $_;
}
return $status;
}
开发者ID:jonathandavis,项目名称:shopp,代码行数:33,代码来源:Service.php
示例12: shopp_empty_search_index
/**
* Destroy the entire product search index
*
* @api
* @since 1.3
*
* @return void
**/
function shopp_empty_search_index()
{
$index_table = ShoppDatabaseObject::tablename(ContentIndex::$table);
if (sDB::query("DELETE FROM {$index_table}")) {
return true;
}
return false;
}
开发者ID:BlessySoftwares,项目名称:anvelocom,代码行数:16,代码来源:core.php
示例13: query
public function query($request = array())
{
$defaults = array('status' => false, 's' => false, 'start' => false, 'end' => false);
$request = array_merge($defaults, $_GET);
extract($request);
if (!empty($start)) {
list($month, $day, $year) = explode('/', $start);
$start = mktime(0, 0, 0, $month, $day, $year);
}
if (!empty($end)) {
list($month, $day, $year) = explode('/', $end);
$end = mktime(23, 59, 59, $month, $day, $year);
}
$where = array();
$joins = array();
if (!empty($status) || $status === '0') {
$where[] = "status='" . sDB::escape($status) . "'";
}
if (!empty($s)) {
$s = stripslashes($s);
$search = array();
if (preg_match_all('/(\\w+?)\\:(?="(.+?)"|(.+?)\\b)/', $s, $props, PREG_SET_ORDER) > 0) {
foreach ($props as $query) {
$keyword = sDB::escape(!empty($query[2]) ? $query[2] : $query[3]);
switch (strtolower($query[1])) {
case "txn":
$search[] = "txnid='{$keyword}'";
break;
case "company":
$search[] = "company LIKE '%{$keyword}%'";
break;
case "gateway":
$search[] = "gateway LIKE '%{$keyword}%'";
break;
case "cardtype":
$search[] = "cardtype LIKE '%{$keyword}%'";
break;
case "address":
$search[] = "(address LIKE '%{$keyword}%' OR xaddress='%{$keyword}%')";
break;
case "city":
$search[] = "city LIKE '%{$keyword}%'";
break;
case "province":
case "state":
$search[] = "state='{$keyword}'";
break;
case "zip":
case "zipcode":
case "postcode":
$search[] = "postcode='{$keyword}'";
break;
case "country":
$search[] = "country='{$keyword}'";
break;
case "promo":
case "discount":
$meta_table = ShoppDatabaseObject::tablename(ShoppMetaObject::$table);
$joins[$meta_table] = "INNER JOIN {$meta_table} AS discounts ON discounts.parent = o.id AND discounts.name='discounts' AND discounts.context='purchase'";
$search[] = "discounts.value LIKE '%{$keyword}%'";
break;
}
}
if (empty($search)) {
$search[] = "(o.id='{$s}' OR CONCAT(firstname,' ',lastname) LIKE '%{$s}%')";
}
$where[] = "(" . join(' OR ', $search) . ")";
} elseif (strpos($s, '@') !== false) {
$where[] = "email='" . sDB::escape($s) . "'";
} else {
$where[] = "(o.id='{$s}' OR CONCAT(firstname,' ',lastname) LIKE '%" . sDB::escape($s) . "%')";
}
}
if (!empty($start) && !empty($end)) {
$where[] = '(UNIX_TIMESTAMP(o.created) >= ' . $start . ' AND UNIX_TIMESTAMP(o.created) <= ' . $end . ')';
}
if (!empty($customer)) {
$where[] = "customer=" . intval($customer);
}
$where = !empty($where) ? "WHERE " . join(' AND ', $where) : '';
$purchasetable = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$purchasedtable = ShoppDatabaseObject::tablename(ShoppPurchased::$table);
$offset = $this->set * $this->limit;
$c = 0;
$columns = array();
$purchasedcols = false;
$discountcols = false;
$addoncols = false;
foreach ($this->selected as $column) {
$columns[] = "{$column} AS col" . $c++;
if (false !== strpos($column, 'p.')) {
$purchasedcols = true;
}
if (false !== strpos($column, 'discounts')) {
$discountcols = true;
}
if (false !== strpos($column, 'addons')) {
$addoncols = true;
}
}
//.........这里部分代码省略.........
开发者ID:borkweb,项目名称:shopp,代码行数:101,代码来源:Purchase.php
示例14: copydata
/**
* Copy property values into the current DatbaseObject from another object
*
* Copies the property values from a specified object into the current
* ShoppDatabaseObject where the property names match.
*
* @author Jonathan Davis
* @since 1.0
*
* @param object $data The source object or array to copy from
* @param string $prefix (optional) A property prefix
* @param array $ignores (optional) List of property names to ignore copying from
* @return void
**/
public function copydata($data, $prefix = '', array $ignores = array('_datatypes', '_table', '_key', '_lists', '_map', 'id', 'created', 'modified'))
{
if (!is_array($ignores)) {
$ignores = array();
}
$properties = is_object($data) ? get_object_vars($data) : $data;
foreach ((array) $properties as $property => $value) {
$property = $prefix . $property;
if (property_exists($this, $property) && !in_array($property, $ignores)) {
$this->{$property} = sDB::clean($value);
}
}
}
开发者ID:crunnells,项目名称:shopp,代码行数:27,代码来源:DB.php
示例15: orders_widget
/**
* Renders the recent orders dashboard widget
*
* @author Jonathan Davis
* @since 1.0
*
* @return void
**/
public static function orders_widget($args = false)
{
$defaults = array('before_widget' => '', 'before_title' => '', 'widget_name' => '', 'after_title' => '', 'after_widget' => '');
$args = array_merge($defaults, (array) $args);
extract($args, EXTR_SKIP);
$statusLabels = shopp_setting('order_status');
echo $before_widget;
echo $before_title;
echo $widget_name;
echo $after_title;
$purchasetable = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$purchasedtable = ShoppDatabaseObject::tablename(Purchased::$table);
$txnlabels = Lookup::txnstatus_labels();
if (!($Orders = get_transient('shopp_dashboard_orders'))) {
$Orders = sDB::query("SELECT p.*,count(*) as items FROM (SELECT * FROM {$purchasetable} WHERE txnstatus != 'purchased' AND txnstatus != 'invoiced' ORDER BY created DESC LIMIT 6) AS p LEFT JOIN {$purchasedtable} AS i ON i.purchase=p.id GROUP BY p.id ORDER BY p.id DESC", 'array');
set_transient('shopp_dashboard_orders', $Orders, 90);
// Keep for the next 1 minute
}
if (!empty($Orders)) {
echo '<table class="widefat">' . '<thead>' . ' <tr>' . ' <th scope="col">' . __('Name', 'Shopp') . '</th>' . ' <th scope="col">' . __('Date', 'Shopp') . '</th>' . ' <th scope="col" class="num">' . Shopp::__('Items') . '</th>' . ' <th scope="col" class="num">' . Shopp::__('Total') . '</th>' . ' <th scope="col" class="num">' . Shopp::__('Status') . '</th>' . ' </tr>' . '</thead>' . ' <tbody id="orders" class="list orders">';
$even = false;
foreach ($Orders as $Order) {
$classes = array();
if ($even = !$even) {
$classes[] = 'alternate';
}
$txnstatus = isset($txnlabels[$Order->txnstatus]) ? $txnlabels[$Order->txnstatus] : $Order->txnstatus;
$status = isset($statusLabels[$Order->status]) ? $statusLabels[$Order->status] : $Order->status;
$contact = '' == $Order->firstname . $Order->lastname ? '(no contact name)' : $Order->firstname . ' ' . $Order->lastname;
$url = add_query_arg(array('page' => ShoppAdmin()->pagename('orders'), 'id' => $Order->id), admin_url('admin.php'));
$classes[] = strtolower(preg_replace('/[^\\w]/', '_', $Order->txnstatus));
echo '<tr class="' . join(' ', $classes) . '">' . ' <td><a class="row-title" href="' . $url . '" title="View "Order ' . $Order->id . '"">' . (empty($Order->firstname) && empty($Order->lastname) ? '(no contact name)' : $Order->firstname . ' ' . $Order->lastname) . '</a></td>' . ' <td>' . date("Y/m/d", mktimestamp($Order->created)) . '</td>' . ' <td class="num items">' . $Order->items . '</td>' . ' <td class="num total">' . money($Order->total) . '</td>' . ' <td class="num status">' . $statusLabels[$Order->status] . '</td>' . '</tr>';
}
echo '</tbody></table>';
} else {
echo '<p>' . Shopp::__('No orders, yet.') . '</p>';
}
echo $after_widget;
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:47,代码来源:Dashboard.php
示例16: images
public function images()
{
if (!current_user_can('shopp_settings')) {
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$defaults = array('paged' => 1, 'per_page' => 25, 'action' => false, 'selected' => array());
$args = array_merge($defaults, $_REQUEST);
extract($args, EXTR_SKIP);
$edit = false;
if (isset($_GET['id'])) {
$edit = (int) $_GET['id'];
if ('new' == $_GET['id']) {
$edit = 'new';
}
}
if (isset($_GET['delete']) || 'delete' == $action) {
check_admin_referer('shopp-settings-images');
if (!empty($_GET['delete'])) {
$selected[] = (int) $_GET['delete'];
}
$selected = array_filter($selected);
foreach ($selected as $delete) {
$Record = new ImageSetting((int) $delete);
$Record->delete();
}
}
if (!empty($_POST['save'])) {
check_admin_referer('shopp-settings-images');
$ImageSetting = new ImageSetting($edit);
$_POST['name'] = sanitize_title_with_dashes($_POST['name']);
$_POST['sharpen'] = floatval(str_replace('%', '', $_POST['sharpen']));
$ImageSetting->updates($_POST);
if (!empty($ImageSetting->name)) {
$ImageSetting->save();
}
}
$start = $per_page * ($paged - 1);
$ImageSetting = new ImageSetting($edit);
$table = $ImageSetting->_table;
$columns = 'SQL_CALC_FOUND_ROWS *';
$where = array("type='{$ImageSetting->type}'", "context='{$ImageSetting->context}'");
$limit = "{$start},{$per_page}";
$options = compact('columns', 'useindex', 'table', 'joins', 'where', 'groupby', 'having', 'limit', 'orderby');
$query = sDB::select($options);
$settings = sDB::query($query, 'array', array($ImageSetting, 'loader'));
$total = sDB::found();
$num_pages = ceil($total / $per_page);
$ListTable = ShoppUI::table_set_pagination($this->screen, $total, $num_pages, $per_page);
$fit_menu = $ImageSetting->fit_menu();
$quality_menu = $ImageSetting->quality_menu();
$actions_menu = array('delete' => __('Delete', 'Shopp'));
$json_settings = array();
$skip = array('created', 'modified', 'numeral', 'context', 'type', 'sortorder', 'parent');
foreach ($settings as &$Setting) {
if (method_exists($Setting, 'json')) {
$json_settings[$Setting->id] = $Setting->json($skip);
}
}
include $this->ui('images.php');
}
开发者ID:BlessySoftwares,项目名称:anvelocom,代码行数:60,代码来源:Setup.php
示例17: query
public function query($request = array())
{
if (empty($request)) {
$request = $_GET;
}
if (!empty($request['start'])) {
list($month, $day, $year) = explode("/", $request['start']);
$starts = mktime(0, 0, 0, $month, $day, $year);
}
if (!empty($request['end'])) {
list($month, $day, $year) = explode("/", $request['end']);
$ends = mktime(0, 0, 0, $month, $day, $year);
}
$where = "WHERE c.id IS NOT NULL ";
if (isset($request['s']) && !empty($request['s'])) {
$where .= " AND (id='{$request['s']}' OR firstname LIKE '%{$request['s']}%' OR lastname LIKE '%{$request['s']}%' OR CONCAT(firstname,' ',lastname) LIKE '%{$request['s']}%' OR transactionid LIKE '%{$request['s']}%')";
}
if (!empty($request['start']) && !empty($request['end'])) {
$where .= " AND (UNIX_TIMESTAMP(c.created) >= {$starts} AND UNIX_TIMESTAMP(c.created) <= {$ends})";
}
$customer_table = ShoppDatabaseObject::tablename(Customer::$table);
$billing_table = ShoppDatabaseObject::tablename(BillingAddress::$table);
$shipping_table = ShoppDatabaseObject::tablename(ShippingAddress::$table);
$offset = $this->set * $this->limit;
$c = 0;
$columns = array();
foreach ($this->selected as $column) {
$columns[] = "{$column} AS col" . $c++;
}
$query = "SELECT " . join(",", $columns) . " FROM {$customer_table} AS c LEFT JOIN {$billing_table} AS b ON c.id=b.customer LEFT JOIN {$shipping_table} AS s ON c.id=s.customer {$where} GROUP BY c.id ORDER BY c.created ASC LIMIT {$offset},{$this->limit}";
$this->data = sDB::query($query, 'array');
}
开发者ID:BlessySoftwares,项目名称:anvelocom,代码行数:32,代码来源:Customer.php
示例18: load
/**
* Load the report data
*
* @author Jonathan Davis
* @since 1.3
*
* @return void
**/
public function load()
{
extract($this->options);
// Map out time period based reports with index matching keys and period values
if ($this->periods) {
$this->timereport($starts, $ends, $scale);
}
$this->setup();
$query = $this->query();
if (empty($query)) {
return;
}
$loaded = sDB::query($query, 'array', array($this, 'process'));
if ($this->periods && $this->Chart) {
foreach ($this->data as $index => &$record) {
if (count(get_object_vars($record)) <= 1) {
foreach ($this->columns as $column) {
$record->{$column} = null;
}
}
foreach ($this->chartseries as $series => $column) {
$data = isset($record->{$column}) ? $record->{$column} : 0;
$this->chartdata($series, $record->period, $data);
}
}
} else {
$this->data = $loaded;
$this->total = count($loaded);
}
}
开发者ID:msigley,项目名称:shopp,代码行数:38,代码来源:Reports.php
示例19: screen
/**
* Interface processor for the customer editor
*
* Handles rendering the interface, processing updated customer details
* and handing saving them back to the database
*
* @author Jonathan Davis
* @return void
**/
public function screen()
{
if (!current_user_can('shopp_customers')) {
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$Customer = $this->load();
if ($Customer->exists()) {
$purchase_table = ShoppDatabaseObject::tablename(ShoppPurchase::$table);
$r = sDB::query("SELECT count(id) AS purchases,SUM(total) AS total FROM {$purchase_table} WHERE customer='{$Customer->id}' LIMIT 1");
$Customer->orders = $r->purchases;
$Customer->total = $r->total;
}
$regions = ShoppLookup::country_zones();
include $this->ui('editor.php');
}
开发者ID:forthrobot,项目名称:inuvik,代码行数:24,代码来源:Customers.php
示例20: load_purchased
/**
* Loads or constructs item properties from a purchased product
*
* @author Jonathan Davis
* @since 1.3
*
* @return void
**/
public function load_purchased($Purchased)
{
$this->load(new ShoppProduct($Purchased->product), $Purchased->price, false);
// Copy matching properties
$properties = get_object_vars($Purchased);
foreach ((array) $properties as $property => $value) {
if (property_exists($this, $property)) {
$this->{$property} = sDB::clean($value);
}
}
}
开发者ID:borkweb,项目名称:shopp,代码行数:19,代码来源:Item.php
注:本文中的sDB类示例整理自Github/MSDocs等源码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。 |
请发表评论