本文整理汇总了PHP中zen_values_name函数的典型用法代码示例。如果您正苦于以下问题:PHP zen_values_name函数的具体用法?PHP zen_values_name怎么用?PHP zen_values_name使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了zen_values_name函数的9个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: actionAddProduct
/**
* Method to handle cart Action - add product
*
* @param string forward destination
* @param url parameters
*/
function actionAddProduct($goto, $parameters)
{
global $db, $messageStack;
if ($this->display_debug_messages) {
$messageStack->add_session('header', 'A: FUNCTION ' . __FUNCTION__, 'caution');
}
if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
// verify attributes and quantity first
if ($this->display_debug_messages) {
$messageStack->add_session('header', 'A2: FUNCTION ' . __FUNCTION__, 'caution');
}
$the_list = '';
$adjust_max = 'false';
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $key => $value) {
$check = zen_get_attributes_valid($_POST['products_id'], $key, $value);
if ($check == false) {
$the_list .= TEXT_ERROR_OPTION_FOR . '<span class="alertBlack">' . zen_options_name($key) . '</span>' . TEXT_INVALID_SELECTION . '<span class="alertBlack">' . ($value == (int) PRODUCTS_OPTIONS_VALUES_TEXT_ID ? TEXT_INVALID_USER_INPUT : zen_values_name($value)) . '</span>' . '<br />';
}
}
}
if (!is_numeric($_POST['cart_quantity']) || $_POST['cart_quantity'] < 0) {
// adjust quantity when not a value
$chk_link = '<a href="' . zen_href_link(zen_get_info_page($_POST['products_id']), 'cPath=' . zen_get_generated_category_path_rev(zen_get_products_category_id($_POST['products_id'])) . '&products_id=' . $_POST['products_id']) . '">' . zen_get_products_name($_POST['products_id']) . '</a>';
$messageStack->add_session('header', ERROR_CORRECTIONS_HEADING . ERROR_PRODUCT_QUANTITY_UNITS_SHOPPING_CART . $chk_link . ' ' . PRODUCTS_ORDER_QTY_TEXT . zen_output_string_protected($_POST['cart_quantity']), 'caution');
$_POST['cart_quantity'] = 0;
}
// verify qty to add
$add_max = zen_get_products_quantity_order_max($_POST['products_id']);
$cart_qty = $this->in_cart_mixed($_POST['products_id']);
if ($this->display_debug_messages) {
$messageStack->add_session('header', 'B: FUNCTION ' . __FUNCTION__ . ' Products_id: ' . $_POST['products_id'] . ' cart_qty: ' . $cart_qty . ' $_POST[cart_quantity]: ' . $_POST['cart_quantity'] . ' <br>', 'caution');
}
$new_qty = $_POST['cart_quantity'];
$new_qty = $this->adjust_quantity($new_qty, $_POST['products_id'], 'shopping_cart');
// bof: adjust new quantity to be same as current in stock
$chk_current_qty = zen_get_products_stock($_POST['products_id']);
$this->flag_duplicate_msgs_set = FALSE;
if (STOCK_ALLOW_CHECKOUT == 'false' && $cart_qty + $new_qty > $chk_current_qty) {
$new_qty = $chk_current_qty;
$messageStack->add_session('shopping_cart', ($this->display_debug_messages ? 'C: FUNCTION ' . __FUNCTION__ . ': ' : '') . WARNING_PRODUCT_QUANTITY_ADJUSTED . zen_get_products_name($_POST['products_id']), 'caution');
$this->flag_duplicate_msgs_set = TRUE;
}
// eof: adjust new quantity to be same as current in stock
if ($add_max == 1 and $cart_qty == 1) {
// do not add
$new_qty = 0;
$adjust_max = 'true';
} else {
// bof: adjust new quantity to be same as current in stock
if (STOCK_ALLOW_CHECKOUT == 'false' && $new_qty + $cart_qty > $chk_current_qty) {
$adjust_new_qty = 'true';
$alter_qty = $chk_current_qty - $cart_qty;
$new_qty = $alter_qty > 0 ? $alter_qty : 0;
if (!$this->flag_duplicate_msgs_set) {
$messageStack->add_session('shopping_cart', ($this->display_debug_messages ? 'D: FUNCTION ' . __FUNCTION__ . ': ' : '') . WARNING_PRODUCT_QUANTITY_ADJUSTED . zen_get_products_name($_POST['products_id']), 'caution');
}
}
// eof: adjust new quantity to be same as current in stock
// adjust quantity if needed
if ($new_qty + $cart_qty > $add_max and $add_max != 0) {
$adjust_max = 'true';
$new_qty = $add_max - $cart_qty;
}
}
if (zen_get_products_quantity_order_max($_POST['products_id']) == 1 and $this->in_cart_mixed($_POST['products_id']) == 1) {
// do not add
} else {
// process normally
// bof: set error message
if ($the_list != '') {
$messageStack->add('product_info', ERROR_CORRECTIONS_HEADING . $the_list, 'caution');
} else {
// process normally
// iii 030813 added: File uploading: save uploaded files with unique file names
$real_ids = isset($_POST['id']) ? $_POST['id'] : "";
if (isset($_GET['number_of_uploads']) && $_GET['number_of_uploads'] > 0) {
/**
* Need the upload class for attribute type that allows user uploads.
*
*/
include DIR_WS_CLASSES . 'upload.php';
for ($i = 1, $n = $_GET['number_of_uploads']; $i <= $n; $i++) {
if (zen_not_null($_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]]) and $_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] != 'none') {
$products_options_file = new upload('id');
$products_options_file->set_destination(DIR_FS_UPLOADS);
$products_options_file->set_output_messages('session');
if ($products_options_file->parse(TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i])) {
$products_image_extension = substr($products_options_file->filename, strrpos($products_options_file->filename, '.'));
if ($_SESSION['customer_id']) {
$db->Execute("insert into " . TABLE_FILES_UPLOADED . " (sesskey, customers_id, files_uploaded_name) values('" . zen_session_id() . "', '" . $_SESSION['customer_id'] . "', '" . zen_db_input($products_options_file->filename) . "')");
} else {
$db->Execute("insert into " . TABLE_FILES_UPLOADED . " (sesskey, files_uploaded_name) values('" . zen_session_id() . "', '" . zen_db_input($products_options_file->filename) . "')");
}
//.........这里部分代码省略.........
示例2: zen_options_name
?>
</td>
<td class="smallText"><?php
echo $products_downloads_query->fields['products_name'];
?>
</td>
<td class="smallText"><?php
echo $products_downloads_query->fields['products_model'];
?>
</td>
<td class="smallText"><?php
echo zen_options_name($products_downloads_query->fields['options_id']);
?>
</td>
<td class="smallText"><?php
echo zen_values_name($products_downloads_query->fields['options_values_id']);
?>
</td>
<td class="smallText"><?php
echo $filename_is_missing . ' ' . $products_downloads_query->fields['products_attributes_filename'];
?>
</td>
<td class="smallText"><?php
echo $products_downloads_query->fields['products_attributes_maxdays'];
?>
</td>
<td class="smallText"><?php
echo $products_downloads_query->fields['products_attributes_maxcount'];
?>
</td>
<td class="dataTableContent" align="right"><?php
示例3: zen_options_name
}
// count deleted attribute
$new_attribute++;
$products_only->MoveNext();
}
// display how many products were updated
if ($new_attribute < 1) {
// nothing was added due to duplicates
$messageStack->add(ERROR_OPTION_VALUES_NONE . zen_options_name($options_id_from) . ' ' . zen_values_name($options_values_values_id_from) . ' for: ' . $zc_categories . ' ' . $new_attribute . ' products', 'caution');
} else {
// successful addition of new attributes that were not duplicates
$messageStack->add(SUCCESS_OPTION_VALUES_DELETE . zen_options_name($options_id_from) . ' ' . zen_values_name($options_values_values_id_from) . ' for: ' . $zc_categories . ' ' . $new_attribute . ' products', 'success');
}
} else {
// warning nothing to copy
$messageStack->add(ERROR_OPTION_VALUES_NONE . TEXT_INFO_FROM . zen_options_name($options_id_from) . ' ' . zen_values_name($options_values_values_id_from) . TEXT_INFO_TO . zen_options_name($options_id_to) . ' ' . zen_values_name($options_values_values_id_to) . $zc_categories, 'warning');
}
}
// mismatch
break;
}
}
?>
<!doctype html public "-//W3C//DTD HTML 4.01 Transitional//EN">
<html <?php
echo HTML_PARAMS;
?>
>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=<?php
echo CHARSET;
示例4: while
</tr>
<tr class="attributeBoxContent">
<td colspan="10" class="dataTableHeadingContent"> </td>
</tr>
<?php
}
$current_options_name = '';
// get products tax id
$product_check = $db->Execute("select products_tax_class_id from " . TABLE_PRODUCTS . " where products_id = '" . $products_filter . "'" . " limit 1");
// echo '$products_filter: ' . $products_filter . ' tax id: ' . $product_check->fields['products_tax_class_id'] . '<br>';
while (!$attributes_values->EOF) {
$current_attributes_products_id = $attributes_values->fields['products_id'];
$current_attributes_options_id = $attributes_values->fields['options_id'];
$products_name_only = zen_get_products_name($attributes_values->fields['products_id']);
$options_name = zen_options_name($attributes_values->fields['options_id']);
$values_name = zen_values_name($attributes_values->fields['options_values_id']);
$rows++;
// delete all option name values
if ($current_options_name != $options_name) {
$current_options_name = $options_name;
?>
<tr>
<td>
<?php
if ($action == '') {
echo '<a href="' . zen_href_link(FILENAME_ATTRIBUTES_CONTROLLER, 'action=delete_option_name_values_confirm&products_options_id_all=' . $current_attributes_options_id . (isset($_GET['option_page']) ? '&option_page=' . $_GET['option_page'] . '&' : '') . (isset($_GET['value_page']) ? '&value_page=' . $_GET['value_page'] . '&' : '') . (isset($_GET['attribute_page']) ? '&attribute_page=' . $_GET['attribute_page'] : '') . '&products_filter=' . $products_filter . '¤t_category_id=' . $current_category_id), '">' . zen_image_button('button_delete.gif', IMAGE_DELETE) . '</a>';
}
?>
</td>
<td class="pageHeading"><?php
echo $current_options_name;
示例5: actionAddProduct
/**
* Method to handle cart Action - add product
*
* @param string forward destination
* @param url parameters
*/
public function actionAddProduct($goto, $parameters)
{
if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
// verify attributes and quantity first
$the_list = '';
$adjust_max = 'false';
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $key => $value) {
$check = zen_get_attributes_valid($_POST['products_id'], $key, $value);
if ($check == false) {
$the_list .= TEXT_ERROR_OPTION_FOR . '<span class="alertBlack">' . zen_options_name($key) . '</span>' . TEXT_INVALID_SELECTION . '<span class="alertBlack">' . (zen_values_name($value) == 'TEXT' ? TEXT_INVALID_USER_INPUT : zen_values_name($value)) . '</span>' . '<br />';
}
}
}
// verify qty to add
$add_max = zen_get_products_quantity_order_max($_POST['products_id']);
$cart_qty = $this->in_cart_mixed($_POST['products_id']);
$new_qty = $_POST['cart_quantity'];
$new_qty = $this->adjust_quantity($new_qty, $_POST['products_id'], 'shopping_cart');
if ($add_max == 1 and $cart_qty == 1) {
// do not add
$new_qty = 0;
$adjust_max = 'true';
} else {
// adjust quantity if needed
if ($new_qty + $cart_qty > $add_max and $add_max != 0) {
$adjust_max = 'true';
$new_qty = $add_max - $cart_qty;
}
}
if (zen_get_products_quantity_order_max($_POST['products_id']) == 1 and $this->in_cart_mixed($_POST['products_id']) == 1) {
// do not add
} else {
// process normally
// bof: set error message
if ($the_list != '') {
$this->getMessageStack()->add('product_info', ERROR_CORRECTIONS_HEADING . $the_list, 'caution');
} else {
// process normally
// iii 030813 added: File uploading: save uploaded files with unique file names
$real_ids = isset($_POST['id']) ? $_POST['id'] : "";
if (isset($_GET['number_of_uploads']) && $_GET['number_of_uploads'] > 0) {
/**
* Need the upload class for attribute type that allows user uploads.
*
*/
include DIR_WS_CLASSES . 'upload.php';
for ($i = 1, $n = $_GET['number_of_uploads']; $i <= $n; $i++) {
if (zen_not_null($_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]]) and $_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] != 'none') {
$products_options_file = new \upload('id');
$products_options_file->set_destination(DIR_FS_UPLOADS);
$products_options_file->set_output_messages('session');
if ($products_options_file->parse(TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i])) {
$products_image_extension = substr($products_options_file->filename, strrpos($products_options_file->filename, '.'));
if ($this->getSessionVar('customer_id')) {
$this->getDb()->Execute("insert into %table.files_uploaded% (sesskey, customers_id, files_uploaded_name) values('" . zen_session_id() . "', '" . $this->getSessionVar('customer_id') . "', '" . addslashes($products_options_file->filename) . "')");
} else {
$this->getDb()->Execute("insert into %table.files_uploaded% (sesskey, files_uploaded_name) values('" . zen_session_id() . "', '" . addslashes($products_options_file->filename) . "')");
}
$insert_id = $this->getDb()->Insert_ID();
$real_ids[TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] = $insert_id . ". " . $products_options_file->filename;
$products_options_file->set_filename("{$insert_id}" . $products_image_extension);
if (!$products_options_file->save()) {
break;
}
} else {
break;
}
} else {
// No file uploaded -- use previous value
$real_ids[TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] = $_POST[TEXT_PREFIX . UPLOAD_PREFIX . $i];
}
}
}
$this->add_cart($_POST['products_id'], $this->get_quantity(zen_get_uprid($_POST['products_id'], $real_ids)) + $new_qty, $real_ids);
// iii 030813 end of changes.
}
// eof: set error message
}
// eof: quantity maximum = 1
if ($adjust_max == 'true') {
$this->getMessageStack()->add_session('shopping_cart', ERROR_MAXIMUM_QTY . zen_get_products_name($_POST['products_id']), 'caution');
}
}
if ($the_list == '') {
// no errors
// display message if all is good and not on shopping_cart page
if (DISPLAY_CART == 'false' && $this->getMainPage() != 'shopping_cart') {
$this->getMessageStack()->add_session('header', SUCCESS_ADDED_TO_CART_PRODUCT, 'success');
}
zen_redirect(zen_href_link($goto, zen_get_all_get_params($parameters)));
} else {
// errors - display popup message
}
//.........这里部分代码省略.........
示例6: actionAJAXAddProduct
function actionAJAXAddProduct()
{
global $messageStack, $db;
if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
// verify attributes and quantity first
$the_list = '';
$adjust_max = 'false';
if (isset($_POST['id'])) {
foreach ($_POST['id'] as $key => $value) {
$check = zen_get_attributes_valid($_POST['products_id'], $key, $value);
if ($check == false) {
$the_list .= TEXT_ERROR_OPTION_FOR . '<span class="alertBlack">' . zen_options_name($key) . '</span>' . TEXT_INVALID_SELECTION . '<span class="alertBlack">' . (zen_values_name($value) == 'TEXT' ? TEXT_INVALID_USER_INPUT : zen_values_name($value)) . '</span>' . '<br />';
}
}
}
// verify qty to add
// $real_ids = $_POST['id'];
//die('I see Add to Cart: ' . $_POST['products_id'] . 'real id ' . zen_get_uprid($_POST['products_id'], $real_ids) . ' add qty: ' . $add_max . ' - cart qty: ' . $cart_qty . ' - newqty: ' . $new_qty);
$add_max = zen_get_products_quantity_order_max($_POST['products_id']);
$cart_qty = $this->in_cart_mixed($_POST['products_id']);
$new_qty = $_POST['cart_quantity'];
if ($new_qty > 400000) {
$new_qty = 400000;
}
//echo 'I SEE actionAddProduct: ' . $_POST['products_id'] . '<br>';
$new_qty = $this->adjust_quantity($new_qty, $_POST['products_id'], 'shopping_cart');
if ($add_max == 1 and $cart_qty == 1) {
// do not add
$new_qty = 0;
$adjust_max = 'true';
} else {
// adjust quantity if needed
if ($new_qty + $cart_qty > $add_max and $add_max != 0) {
$adjust_max = 'true';
$new_qty = $add_max - $cart_qty;
}
}
if (zen_get_products_quantity_order_max($_POST['products_id']) == 1 and $this->in_cart_mixed($_POST['products_id']) == 1) {
// do not add
} else {
// process normally
// bof: set error message
if ($the_list != '') {
$messageStack->add('product_info', ERROR_CORRECTIONS_HEADING . $the_list, 'caution');
// $messageStack->add('header', 'REMOVE ME IN SHOPPING CART CLASS BEFORE RELEASE<br/><BR />' . ERROR_CORRECTIONS_HEADING . $the_list, 'error');
} else {
// process normally
// iii 030813 added: File uploading: save uploaded files with unique file names
$real_ids = isset($_POST['id']) ? $_POST['id'] : "";
if (isset($_GET['number_of_uploads']) && $_GET['number_of_uploads'] > 0) {
/**
* Need the upload class for attribute type that allows user uploads.
*
*/
include DIR_WS_CLASSES . 'upload.php';
for ($i = 1, $n = $_GET['number_of_uploads']; $i <= $n; $i++) {
if (zen_not_null($_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]]) and $_FILES['id']['tmp_name'][TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] != 'none') {
$products_options_file = new upload('id');
$products_options_file->set_destination(DIR_FS_UPLOADS);
$products_options_file->set_output_messages('session');
if ($products_options_file->parse(TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i])) {
$products_image_extension = substr($products_options_file->filename, strrpos($products_options_file->filename, '.'));
if ($_SESSION['customer_id']) {
$db->Execute("insert into " . TABLE_FILES_UPLOADED . " (sesskey, customers_id, files_uploaded_name) values('" . zen_session_id() . "', '" . $_SESSION['customer_id'] . "', '" . zen_db_input($products_options_file->filename) . "')");
} else {
$db->Execute("insert into " . TABLE_FILES_UPLOADED . " (sesskey, files_uploaded_name) values('" . zen_session_id() . "', '" . zen_db_input($products_options_file->filename) . "')");
}
$insert_id = $db->Insert_ID();
$real_ids[TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] = $insert_id . ". " . $products_options_file->filename;
$products_options_file->set_filename("{$insert_id}" . $products_image_extension);
if (!$products_options_file->save()) {
break;
}
} else {
break;
}
} else {
// No file uploaded -- use previous value
$real_ids[TEXT_PREFIX . $_POST[UPLOAD_PREFIX . $i]] = $_POST[TEXT_PREFIX . UPLOAD_PREFIX . $i];
}
}
}
$this->add_cart($_POST['products_id'], $this->get_quantity(zen_get_uprid($_POST['products_id'], $real_ids)) + $new_qty, $real_ids);
// iii 030813 end of changes.
}
// eof: set error message
}
// eof: quantity maximum = 1
if ($adjust_max == 'true') {
// $messageStack->add_session('shopping_cart', ERROR_MAXIMUM_QTY . ' B: - ' . zen_get_products_name($_POST['products_id']), 'caution');
$messageStack->add_session('shopping_cart', ERROR_MAXIMUM_QTY . zen_get_products_name($_POST['products_id']), 'caution');
}
}
}
示例7: zen_get_products_stock
//Check if item is an SBA tracked item, if so, then perform analysis of whether to add or not.
}
if ($stock_id->RecordCount() > 0) {
//Looks like $_SESSION['cart']->in_cart_mixed($prodId) could be used here to pull the attribute related product information to verify same product is being added to cart... This also may help in the shopping_cart routine added for SBA as all SBA products will have this modifier.
// $cart_qty = 0;
$new_qty = $_POST['cart_quantity'];
//Number of items being added (Known to be SBA tracked already)
$new_qty = $_SESSION['cart']->adjust_quantity($new_qty, $_POST['products_id'], 'header');
// bof: adjust new quantity to be same as current in stock
$chk_current_qty = zen_get_products_stock($product_id, $attributes);
$_SESSION['cart']->flag_duplicate_msgs_set = FALSE;
$productAttrAreSBA = zen_get_sba_stock_attribute_id($product_id, $attributes, 'products');
if ($productAttrAreSBA === false) {
$the_list .= PWA_COMBO_OUT_OF_STOCK . "<br />";
foreach ($_POST['id'] as $key2 => $value2) {
$the_list .= TEXT_ERROR_OPTION_FOR . '<span class="alertBlack">' . zen_options_name($key2) . '</span>' . TEXT_INVALID_SELECTION . '<span class="alertBlack">' . ($value == (int) PRODUCTS_OPTIONS_VALUES_TEXT_ID ? TEXT_INVALID_USER_INPUT : zen_values_name($value2)) . '</span>' . '<br />';
}
}
if (STOCK_ALLOW_CHECKOUT == 'false' && $cart_qty + $new_qty > $chk_current_qty) {
$new_qty = $chk_current_qty;
$messageStack->add_session('shopping_cart', ($_SESSION['cart']->display_debug_messages ? 'C: FUNCTION ' . __FUNCTION__ . ': ' : '') . WARNING_PRODUCT_QUANTITY_ADJUSTED . zen_get_products_name($_POST['products_id']), 'caution');
$_SESSION['cart']->flag_duplicate_msgs_set = TRUE;
}
// eof: adjust new quantity to be same as current in stock
if ($add_max == 1 and $cart_qty == 1) {
// do not add
$new_qty = 0;
$adjust_max = 'true';
} else {
// bof: adjust new quantity to be same as current in stock
if (STOCK_ALLOW_CHECKOUT == 'false' && $new_qty + $cart_qty > $chk_current_qty) {
示例8: validate_save
function validate_save($post)
{
global $db;
$errors = array();
// check for duplicate and block them
$query = "select * from " . TABLE_PRODUCTS_ATTRIBUTES . "\n where products_id ='" . $post['products_id'] . "'\n and options_id = '" . $post['options_id'] . "'\n and options_values_id = '" . $post['options_values_id'] . "'";
if ($post['attributes_id']) {
$query .= " and products_attributes_id != '" . $post['attributes_id'] . "'";
}
$check_duplicate = $db->Execute($query);
if ($check_duplicate->RecordCount() > 0) {
$errors[] = ATTRIBUTE_WARNING_DUPLICATE . ' - ' . zen_options_name($post['options_id']) . ' : ' . zen_values_name($post['options_values_id']);
} else {
// Validate options_id and options_value_id
if (!zen_validate_options_to_options_value($post['options_id'], $post['options_values_id'])) {
// do not add invalid match
$errors[] = ATTRIBUTE_WARNING_INVALID_MATCH . ' - ' . zen_options_name($post['options_id']) . ' : ' . zen_values_name($post['options_values_id']);
}
}
return $errors;
}
示例9: zen_redirect
}
zen_redirect(zen_href_link($goto, zen_get_all_get_params($parameters)));
break;
// customer adds a product from the products page
// customer adds a product from the products page
case 'add_product':
if (isset($_POST['products_id']) && is_numeric($_POST['products_id'])) {
// verify attributes and quantity first
$the_list = '';
$adjust_max = 'false';
if (isset($_POST['id'])) {
while (list($key, $value) = each($_POST['id'])) {
$check = zen_get_attributes_valid($_POST['products_id'], $key, $value);
if ($check == false) {
// zen_get_products_name($_POST['products_id']) .
$the_list .= TEXT_ERROR_OPTION_FOR . '<span class="alertBlack">' . zen_options_name($key) . '</span>' . TEXT_INVALID_SELECTION_LABELED . '<span class="alertBlack">' . (zen_values_name($value) == 'TEXT' ? TEXT_INVALID_USER_INPUT : zen_values_name($value)) . '</span>' . '<br />';
}
}
}
// verify qty to add
$add_max = zen_get_products_quantity_order_max($_POST['products_id']);
$cart_qty = $_SESSION['cart']->in_cart_mixed($_POST['products_id']);
$new_qty = $_POST['cart_quantity'];
if ($add_max == 1 and $cart_qty == 1) {
// do not add
$new_qty = 0;
$adjust_max = 'true';
} else {
// adjust quantity if needed
if ($new_qty + $cart_qty > $add_max and $add_max != 0) {
$adjust_max = 'true';