📄 general.php
字号:
////
// Return the manufacturers URL in the needed language
// TABLES: manufacturers_info
function zen_get_manufacturer_url($manufacturer_id, $language_id) {
global $db;
$manufacturer = $db->Execute("select manufacturers_url
from " . TABLE_MANUFACTURERS_INFO . "
where manufacturers_id = '" . (int)$manufacturer_id . "'
and languages_id = '" . (int)$language_id . "'");
return $manufacturer->fields['manufacturers_url'];
}
////
// Wrapper for class_exists() function
// This function is not available in all PHP versions so we test it before using it.
function zen_class_exists($class_name) {
if (function_exists('class_exists')) {
return class_exists($class_name);
} else {
return true;
}
}
////
// Count how many products exist in a category
// TABLES: products, products_to_categories, categories
function zen_products_in_category_count($categories_id, $include_deactivated = false, $include_child = true, $limit = false) {
global $db;
$products_count = 0;
if ($limit) {
$limit_count = ' limit 1';
} else {
$limit_count = '';
}
if ($include_deactivated) {
$products = $db->Execute("select count(*) as total
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p2c.categories_id = '" . (int)$categories_id . "'" . $limit_count);
} else {
$products = $db->Execute("select count(*) as total
from " . TABLE_PRODUCTS . " p, " . TABLE_PRODUCTS_TO_CATEGORIES . " p2c
where p.products_id = p2c.products_id
and p.products_status = 1
and p2c.categories_id = '" . (int)$categories_id . "'" . $limit_count);
}
$products_count += $products->fields['total'];
if ($include_child) {
$childs = $db->Execute("select categories_id from " . TABLE_CATEGORIES . "
where parent_id = '" . (int)$categories_id . "'");
if ($childs->RecordCount() > 0 ) {
while (!$childs->EOF) {
$products_count += zen_products_in_category_count($childs->fields['categories_id'], $include_deactivated);
$childs->MoveNext();
}
}
}
return $products_count;
}
////
// Count how many subcategories exist in a category
// TABLES: categories
function zen_childs_in_category_count($categories_id) {
global $db;
$categories_count = 0;
$categories = $db->Execute("select categories_id
from " . TABLE_CATEGORIES . "
where parent_id = '" . (int)$categories_id . "'");
while (!$categories->EOF) {
$categories_count++;
$categories_count += zen_childs_in_category_count($categories->fields['categories_id']);
$categories->MoveNext();
}
return $categories_count;
}
////
// Returns an array with countries
// TABLES: countries
function zen_get_countries($default = '') {
global $db;
$countries_array = array();
if ($default) {
$countries_array[] = array('id' => '',
'text' => $default);
}
$countries = $db->Execute("select countries_id, countries_name
from " . TABLE_COUNTRIES . "
order by countries_name");
while (!$countries->EOF) {
$countries_array[] = array('id' => $countries->fields['countries_id'],
'text' => $countries->fields['countries_name']);
$countries->MoveNext();
}
return $countries_array;
}
////
// return an array with country zones
function zen_get_country_zones($country_id) {
global $db;
$zones_array = array();
$zones = $db->Execute("select zone_id, zone_name
from " . TABLE_ZONES . "
where zone_country_id = '" . (int)$country_id . "'
order by zone_name");
while (!$zones->EOF) {
$zones_array[] = array('id' => $zones->fields['zone_id'],
'text' => $zones->fields['zone_name']);
$zones->MoveNext();
}
return $zones_array;
}
function zen_prepare_country_zones_pull_down($country_id = '') {
// preset the width of the drop-down for Netscape
$pre = '';
if ( (!zen_browser_detect('MSIE')) && (zen_browser_detect('Mozilla/4')) ) {
for ($i=0; $i<45; $i++) $pre .= ' ';
}
$zones = zen_get_country_zones($country_id);
if (sizeof($zones) > 0) {
$zones_select = array(array('id' => '', 'text' => PLEASE_SELECT));
$zones = array_merge($zones_select, $zones);
} else {
$zones = array(array('id' => '', 'text' => TYPE_BELOW));
// create dummy options for Netscape to preset the height of the drop-down
if ( (!zen_browser_detect('MSIE')) && (zen_browser_detect('Mozilla/4')) ) {
for ($i=0; $i<9; $i++) {
$zones[] = array('id' => '', 'text' => $pre);
}
}
}
return $zones;
}
////
// Get list of address_format_id's
function zen_get_address_formats() {
global $db;
$address_format_values = $db->Execute("select address_format_id
from " . TABLE_ADDRESS_FORMAT . "
order by address_format_id");
$address_format_array = array();
while (!$address_format_values->EOF) {
$address_format_array[] = array('id' => $address_format_values->fields['address_format_id'],
'text' => $address_format_values->fields['address_format_id']);
$address_format_values->MoveNext();
}
return $address_format_array;
}
////
function zen_cfg_select_coupon_id($coupon_id, $key = '') {
global $db;
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
$coupons = $db->execute("select cd.coupon_name, c.coupon_id from " . TABLE_COUPONS ." c, ". TABLE_COUPONS_DESCRIPTION . " cd where cd.coupon_id = c.coupon_id and cd.language_id = '" . $_SESSION['languages_id'] . "'");
$coupon_array[] = array('id' => '0',
'text' => 'None');
while (!$coupons->EOF) {
$coupon_array[] = array('id' => $coupons->fields['coupon_id'],
'text' => $coupons->fields['coupon_name']);
$coupons->MoveNext();
}
return zen_draw_pull_down_menu($name, $coupon_array, $coupon_id);
}
////
// Alias function for Store configuration values in the Administration Tool
function zen_cfg_pull_down_country_list($country_id, $key = '') {
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_pull_down_menu($name, zen_get_countries(), $country_id);
}
////
function zen_cfg_pull_down_country_list_none($country_id, $key = '') {
$country_array = zen_get_countries('None');
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_pull_down_menu($name, $country_array, $country_id);
}
////
function zen_cfg_pull_down_zone_list($zone_id, $key = '') {
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_pull_down_menu($name, zen_get_country_zones(STORE_COUNTRY), $zone_id);
}
////
function zen_cfg_pull_down_tax_classes($tax_class_id, $key = '') {
global $db;
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
$tax_class_array = array(array('id' => '0', 'text' => TEXT_NONE));
$tax_class = $db->Execute("select tax_class_id, tax_class_title
from " . TABLE_TAX_CLASS . "
order by tax_class_title");
while (!$tax_class->EOF) {
$tax_class_array[] = array('id' => $tax_class->fields['tax_class_id'],
'text' => $tax_class->fields['tax_class_title']);
$tax_class->MoveNext();
}
return zen_draw_pull_down_menu($name, $tax_class_array, $tax_class_id);
}
////
// Function to read in text area in admin
function zen_cfg_textarea($text, $key = '') {
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_textarea_field($name, false, 60, 5, $text);
}
////
// Function to read in text area in admin
function zen_cfg_textarea_small($text, $key = '') {
$name = (($key) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_textarea_field($name, false, 35, 1, $text);
}
function zen_cfg_get_zone_name($zone_id) {
global $db;
$zone = $db->Execute("select zone_name
from " . TABLE_ZONES . "
where zone_id = '" . (int)$zone_id . "'");
if ($zone->RecordCount() < 1) {
return $zone_id;
} else {
return $zone->fields['zone_name'];
}
}
////
// Sets the status of a product
function zen_set_product_status($products_id, $status) {
global $db;
if ($status == '1') {
return $db->Execute("update " . TABLE_PRODUCTS . "
set products_status = 1, products_last_modified = now()
where products_id = '" . (int)$products_id . "'");
} elseif ($status == '0') {
return $db->Execute("update " . TABLE_PRODUCTS . "
set products_status = 0, products_last_modified = now()
where products_id = '" . (int)$products_id . "'");
} else {
return -1;
}
}
////
// Sets timeout for the current script.
// Cant be used in safe mode.
function zen_set_time_limit($limit) {
if (!get_cfg_var('safe_mode')) {
@set_time_limit($limit);
}
}
////
// Alias function for Store configuration values in the Administration Tool
function zen_cfg_select_option($select_array, $key_value, $key = '') {
$string = '';
for ($i=0, $n=sizeof($select_array); $i<$n; $i++) {
$name = ((zen_not_null($key)) ? 'configuration[' . $key . ']' : 'configuration_value');
$string .= '<br><input type="radio" name="' . $name . '" value="' . $select_array[$i] . '"';
if ($key_value == $select_array[$i]) $string .= ' CHECKED';
$string .= '> ' . $select_array[$i];
}
return $string;
}
function zen_cfg_select_drop_down($select_array, $key_value, $key = '') {
$string = '';
$name = ((zen_not_null($key)) ? 'configuration[' . $key . ']' : 'configuration_value');
return zen_draw_pull_down_menu($name, $select_array, (int)$key_value);
}
////
// Alias function for module configuration keys
function zen_mod_select_option($select_array, $key_name, $key_value) {
reset($select_array);
while (list($key, $value) = each($select_array)) {
if (is_int($key)) $key = $value;
$string .= '<br><input type="radio" name="configuration[' . $key_name . ']" value="' . $key . '"';
if ($key_value == $key) $string .= ' CHECKED';
$string .= '> ' . $value;
}
return $string;
}
////
// Retreive server information
function zen_get_system_information() {
global $db, $_SERVER;
$db_query = $db->Execute("select now() as datetime");
list($system, $host, $kernel) = preg_split('/[\s,]+/', @exec('uname -a'), 5);
return array('date' => zen_datetime_short(date('Y-m-d H:i:s')),
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -