function &schGetVariantsForSearch($categoryID, $optionID, $variants = null) { if (is_null($variants)) { $variants = optGetOptionValues($optionID); } $r_VariantID2Variant = array(); $r_VariantID = array(); $TC = count($variants); $tTC = 0; for ($j = 0; $j < $TC; $j++) { $r_VariantID[$variants[$j]['variantID']] =& $variants[$j]; $tTC++; if (count($r_VariantID) > 299 || $j + 1 == $TC) { $SQL = 'select s.variantID, t.variantID FROM ?#CATEGORY_PRODUCT_OPTION_VARIANTS as s left join ?#PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE as t on(s.variantID=t.variantID) WHERE s.categoryID=? AND s.optionID=? AND s.variantID IN(?@) order by t.sort_order '; $Result = db_phquery($SQL, (int) $categoryID, (int) $optionID, array_keys($r_VariantID)); while ($Row = db_fetch_assoc($Result)) { $r_VariantID2Variant[$Row['variantID']] =& $r_VariantID[$Row['variantID']]; } $tTC = 0; $r_VariantID = array(); } } return $r_VariantID2Variant; }
Redirect(ADMIN_FILE . "?dpt=catalog&sub=extra&optionID=" . $_GET["optionID"]); } //delete extra option? if (isset($_GET["kill_option"])) { if (CONF_BACKEND_SAFEMODE) { Redirect(ADMIN_FILE . "?dpt=catalog&sub=extra&safemode=yes"); } $optionid = (int) $_GET["kill_option"]; db_query("delete from " . PRODUCT_OPTIONS_TABLE . " where optionID=" . $optionid); db_query("delete from " . PRODUCTS_OPTIONS_VALUES_VARIANTS_TABLE . " where optionID=" . $optionid); db_query("delete from " . PRODUCT_OPTIONS_VALUES_TABLE . " where optionID=" . $optionid); db_query("delete from " . PRODUCTS_OPTIONS_SET_TABLE . " where optionID=" . $optionid); db_query("delete from " . CATEGORY_PRODUCT_OPTIONS_TABLE . " where optionID=" . $optionid); Redirect(ADMIN_FILE . "?dpt=catalog&sub=extra"); } if (!isset($_GET["optionID"])) { //now select all available product options $options = optGetOptions(); $smarty->assign("options", $options); } else { $option = optGetOptionById((int) $_GET["optionID"]); $values = optGetOptionValues((int) $_GET["optionID"]); $smarty->assign("optionID", (int) $_GET["optionID"]); $smarty->assign("values", $values); $smarty->assign("option_name", $option["name"]); $smarty->assign("value_count", count($values)); } //set sub-department template $smarty->assign("admin_sub_dpt", "catalog_extra.tpl"); } }
update_psCount(1); } // update serarch option settings $categoryID = (int) $pid; schUnSetOptionsToSearch($categoryID); $data = ScanPostVariableWithId(array("checkbox_param")); foreach ($data as $optionID => $val) { schUnSetVariantsToSearch($categoryID, $optionID); if (isset($_POST["select_arbitrarily_" . $optionID])) { $set_arbitrarily = $_POST["select_arbitrarily_" . $optionID]; } else { $set_arbitrarily = 1; } schSetOptionToSearch($categoryID, $optionID, $set_arbitrarily); if ($set_arbitrarily == 0) { $variants = optGetOptionValues($optionID); foreach ($variants as $var) { if (isset($_POST["checkbox_variant_" . $var["variantID"]])) { schSetVariantToSearch($categoryID, $optionID, $var["variantID"]); } } } } if (isset($_FILES["picture"]) && $_FILES["picture"]["name"] && $_FILES["picture"]["size"] > 0) { //upload category thumbnail //old picture $q = db_query("select picture FROM " . CATEGORIES_TABLE . " WHERE categoryID=" . (int) $pid); $row = db_fetch_row($q); //upload new photo $picture_name = str_replace(" ", "_", $_FILES["picture"]["name"]); $lastdot = strrpos($picture_name, ".");
function _getOptions() { $options = optGetOptions(); for ($i = 0; $i < count($options); $i++) { if (isset($_GET["categoryID"])) { $res = schOptionIsSetToSearch($_GET["categoryID"], $options[$i]["optionID"]); } else { $res = array("isSet" => true, "set_arbitrarily" => 1); } if ($res["isSet"]) { $options[$i]["isSet"] = true; $options[$i]["set_arbitrarily"] = $res["set_arbitrarily"]; } else { $options[$i]["isSet"] = false; $options[$i]["set_arbitrarily"] = 1; } $options[$i]["variants"] = optGetOptionValues($options[$i]["optionID"]); for ($j = 0; $j < count($options[$i]["variants"]); $j++) { $isSet = false; if (isset($_GET["categoryID"])) { $isSet = schVariantIsSetToSearch($_GET["categoryID"], $options[$i]["optionID"], $options[$i]["variants"][$j]["variantID"]); } $options[$i]["variants"][$j]["isSet"] = $isSet; } } return $options; }