本文整理汇总了PHP中Price::delete方法的典型用法代码示例。如果您正苦于以下问题:PHP Price::delete方法的具体用法?PHP Price::delete怎么用?PHP Price::delete使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Price
的用法示例。
在下文中一共展示了Price::delete方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
function save_product($Product)
{
global $Shopp;
$db = DB::get();
check_admin_referer('shopp-save-product');
if (!current_user_can(SHOPP_USERLEVEL)) {
wp_die(__('You do not have sufficient permissions to access this page.'));
}
$this->settings_save();
// Save workflow setting
$base = $Shopp->Settings->get('base_operations');
$taxrate = 0;
if ($base['vat']) {
$taxrate = $Shopp->Cart->taxrate();
}
if (!$_POST['options']) {
$Product->options = array();
} else {
$_POST['options'] = stripslashes_deep($_POST['options']);
}
if (empty($Product->slug)) {
$Product->slug = sanitize_title_with_dashes($_POST['name']);
}
// Check for an existing product slug
$exclude_product = !empty($Product->id) ? "AND id != {$Product->id}" : "";
$existing = $db->query("SELECT slug FROM {$Product->_table} WHERE slug='{$Product->slug}' {$exclude_product} LIMIT 1");
if ($existing) {
$suffix = 2;
while ($existing) {
$altslug = substr($Product->slug, 0, 200 - (strlen($suffix) + 1)) . "-{$suffix}";
$existing = $db->query("SELECT slug FROM {$Product->_table} WHERE slug='{$altslug}' {$exclude_product} LIMIT 1");
$suffix++;
}
$Product->slug = $altslug;
}
if (isset($_POST['content'])) {
$_POST['description'] = $_POST['content'];
}
$Product->updates($_POST, array('categories'));
$Product->save();
$Product->save_categories($_POST['categories']);
$Product->save_tags(explode(",", $_POST['taglist']));
if (!empty($_POST['price']) && is_array($_POST['price'])) {
// Delete prices that were marked for removal
if (!empty($_POST['deletePrices'])) {
$deletes = array();
if (strpos($_POST['deletePrices'], ",")) {
$deletes = explode(',', $_POST['deletePrices']);
} else {
$deletes = array($_POST['deletePrices']);
}
foreach ($deletes as $option) {
$Price = new Price($option);
$Price->delete();
}
}
// Save prices that there are updates for
foreach ($_POST['price'] as $i => $option) {
if (empty($option['id'])) {
$Price = new Price();
$option['product'] = $Product->id;
} else {
$Price = new Price($option['id']);
}
$option['sortorder'] = array_search($i, $_POST['sortorder']) + 1;
// Remove VAT amount to save in DB
if ($base['vat'] && $option['tax'] == "on") {
$option['price'] = number_format(floatnum($option['price']) / (1 + $taxrate), 2);
$option['saleprice'] = number_format(floatnum($option['saleprice']) / (1 + $taxrate), 2);
}
$Price->updates($option);
$Price->save();
if (!empty($option['download'])) {
$Price->attach_download($option['download']);
}
if (!empty($option['downloadpath'])) {
$basepath = trailingslashit($Shopp->Settings->get('products_path'));
$download = $basepath . ltrim($option['downloadpath'], "/");
if (file_exists($download)) {
$File = new Asset();
$File->parent = 0;
$File->context = "price";
$File->datatype = "download";
$File->name = basename($download);
$File->value = substr(dirname($download), strlen($basepath));
$File->size = filesize($download);
$File->properties = array("mimetype" => file_mimetype($download, $File->name));
$File->save();
$Price->attach_download($File->id);
}
}
}
unset($Price);
}
// No variation options at all, delete all variation-pricelines
if (empty($Product->options) && !empty($Product->prices) && is_array($Product->prices)) {
foreach ($Product->prices as $priceline) {
// Skip if not tied to variation options
if ($priceline->optionkey == 0) {
continue;
//.........这里部分代码省略.........
示例2: substr
/**
* Handles saving updates from the product editor
*
* Saves all product related information which includes core product data
* and supporting elements such as images, digital downloads, tags,
* assigned categories, specs and pricing variations.
*
* @return void
**/
function save_product ($Product) {
$db = DB::get();
$Settings = &EcartSettings();
check_admin_referer('ecart-save-product');
if ( !(is_ecart_userlevel() || current_user_can('ecart_products')) )
wp_die(__('You do not have sufficient permissions to access this page.'));
$Settings->saveform(); // Save workflow setting
$base = $Settings->get('base_operations');
$taxrate = 0;
if ($base['vat']) $taxrate = ecart_taxrate(null,true,$Product);
if (empty($_POST['options'])) $Product->options = array();
else $_POST['options'] = stripslashes_deep($_POST['options']);
if (empty($Product->slug)) $Product->slug = sanitize_title_with_dashes($_POST['name']);
// Check for an existing product slug
$exclude_product = !empty($Product->id)?"AND id != $Product->id":"";
$existing = $db->query("SELECT slug FROM $Product->_table WHERE slug='$Product->slug' $exclude_product LIMIT 1");
if ($existing) {
$suffix = 2;
while($existing) {
$altslug = substr($Product->slug, 0, 200-(strlen($suffix)+1)). "-".$suffix++;
$existing = $db->query("SELECT slug FROM $Product->_table WHERE slug='$altslug' $exclude_product LIMIT 1");
}
$Product->slug = $altslug;
}
if ($_POST['status'] == "publish") {
$publishfields = array('month' => '','date' => '','year' => '','hour'=>'','minute'=>'','meridiem'=>'');
$publishdate = join('',array_merge($publishfields,$_POST['publish']));
if (!empty($publishdate)) {
if ($_POST['publish']['meridiem'] == "PM" && $_POST['publish']['hour'] < 12)
$_POST['publish']['hour'] += 12;
$_POST['publish'] = mktime($_POST['publish']['hour'],$_POST['publish']['minute'],0,$_POST['publish']['month'],$_POST['publish']['date'],$_POST['publish']['year']);
} else {
unset($_POST['publish']);
// Auto set the publish date if not set (or more accurately, if set to an irrelevant timestamp)
if ($Product->publish <= 86400) $Product->publish = time();
}
} else {
unset($_POST['publish']);
$Product->publish = 0;
}
if (isset($_POST['content'])) $_POST['description'] = $_POST['content'];
$Product->updates($_POST,array('categories','prices'));
$Product->save();
$Product->save_categories($_POST['categories']);
$Product->save_tags(explode(",",$_POST['taglist']));
if (!empty($_POST['price']) && is_array($_POST['price'])) {
// Delete prices that were marked for removal
if (!empty($_POST['deletePrices'])) {
$deletes = array();
if (strpos($_POST['deletePrices'],",")) $deletes = explode(',',$_POST['deletePrices']);
else $deletes = array($_POST['deletePrices']);
foreach($deletes as $option) {
$Price = new Price($option);
$Price->delete();
}
}
// Save prices that there are updates for
foreach($_POST['price'] as $i => $option) {
if (empty($option['id'])) {
$Price = new Price();
$option['product'] = $Product->id;
} else $Price = new Price($option['id']);
$option['sortorder'] = array_search($i,$_POST['sortorder'])+1;
// Remove VAT amount to save in DB
if ($base['vat'] && isset($option['tax']) && $option['tax'] == "on") {
$option['price'] = (floatvalue($option['price'])/(1+$taxrate));
$option['saleprice'] = (floatvalue($option['saleprice'])/(1+$taxrate));
}
$option['shipfee'] = floatvalue($option['shipfee']);
$option['weight'] = floatvalue($option['weight']);
if (isset($options['dimensions']) && is_array($options['dimensions']))
foreach ($option['dimensions'] as &$dimension)
$dimension = floatvalue($dimension);
$Price->updates($option);
//.........这里部分代码省略.........