📄 ps_product_category.inc
字号:
<?php/* * The ps_product_attribute class * * Copyright (c) Edikon Corporation. All rights reserved. * Distributed under the phpShop Public License (pSPL) Version 1.0. * * $Id: ps_product_category.inc,v 1.4 2000/09/06 15:59:20 pfmartin Exp $ ******************************************************************************* CLASS DESCRIPTION* * ps_product_category** The class is* * propeties: * * methods:* **************************************************************************/class ps_product_category { var $classname = "ps_user"; /************************************************************************** ** name: validate_add() ** created by: ** description: ** parameters: ** returns: ***************************************************************************/ function validate_add(&$d) { if (!$d["category_name"]) { $d["error"] = "ERROR: You must enter a name for the category."; return False; } else { return True; } } /************************************************************************** ** name: validate_delete() ** created by: ** description: ** parameters: ** returns: ***************************************************************************/ function validate_delete(&$d) { $db = new ps_DB; if (!$d["category_id"]) { $d["error"] = "ERROR: Please select a category to delete."; return False; } // Check for children $q = "SELECT * from category_xref where category_parent_id='"; $q .= $d["category_id"] . "'"; $db->query($q); if ($db->next_record()) { $d["error"] = "ERROR: This category has children. "; $d["error"] .= "Please delete children first."; return False; } // Check for products assigned to this category $q = "SELECT * from product_category_xref where category_id='"; $q .= $d["category_id"] . "'"; $db->query($q); if ($db->next_record()) { $d["error"] = "ERROR: This category has products. "; $d["error"] .= "Please delete the products first."; return False; } return True; } /************************************************************************** ** name: validate_update() ** created by: ** description: ** parameters: ** returns: ***************************************************************************/ function validate_update(&$d) { if (!$d["category_name"]) { $d["error"] = "ERROR: You must enter a name for the category."; return False; } elseif ($d["category_id"] == $d["category_parent_id"]) { $d["error"] = "ERROR: Category parent cannot be same category."; return False; } else { return True; } } /************************************************************************** ** name: add() ** created by: pablo ** description: creates a new category record and a category_xref record ** with the appropriate parent and child ids ** parameters: ** returns: ***************************************************************************/ function add(&$d) { global $ps_vendor_id; $hash_secret="PHPShopIsCool"; $db = new ps_DB; $timestamp = time(); if ($this->validate_add($d)) { $category_id = md5(uniqid($hash_secret)); $q = "INSERT INTO category (category_id, vendor_id, category_name, "; $q .= "category_publish, category_description, category_flypage, cdate, mdate) "; $q .= "VALUES ('"; $q .= $category_id . "','"; $q .= $ps_vendor_id . "','"; $q .= $d["category_name"] . "','"; if ($d["category_publish"] != "Y") { $d["category_publish"] = "N"; } $q .= $d["category_publish"] . "','"; $q .= $d["category_description"] . "','"; $q .= $d["category_flypage"] . "','"; $q .= $timestamp . "','"; $q .= $timestamp . "')"; $db->query($q); $db->next_record(); $q = "INSERT INTO category_xref "; $q .= "(category_parent_id, category_child_id) "; $q .= "VALUES ('"; $q .= $d["parent_category_id"] . "','"; $q .= $category_id . "')"; $db->query($q); $db->next_record(); return $category_id; } else { return False; } } /************************************************************************** ** name: update() ** created by: pablo ** description: updates category information ** parameters: ** returns: ***************************************************************************/ function update(&$d) { $db = new ps_DB; global $ps_vendor_id; $timestamp = time(); if ($this->validate_update($d)) { $q = "UPDATE category SET "; $q .= "category_id='" . $d["category_id"]; $q .= "',category_name='" . $d["category_name"]; if ($d["category_publish"] != "Y") { $d["category_publish"] = "N"; } $q .= "',category_publish='" . $d["category_publish"]; $q .= "',category_description='" . $d["category_description"]; $q .= "',category_flypage='" . $d["category_flypage"]; $q .= "', mdate='$timestamp"; $q .= "' WHERE category_id='" . $d["category_id"] . "' "; $q .= "AND vendor_id='$ps_vendor_id' "; $db->query($q); $db->next_record(); /* ** Update category x-reference table with parent-child relationship */ $q = "UPDATE category_xref SET "; $q .= "category_parent_id='" . $d["category_parent_id"]; $q .= "' WHERE category_child_id='" . $d["category_id"] . "'"; $db->query($q); $db->next_record(); return True; } else { return False; } } /************************************************************************** ** name: delete() ** created by: pablo ** description: Should delete a category and and categories under it. ** parameters: ** returns: ***************************************************************************/ function delete(&$d) { $db = new ps_DB; if (!$this->validate_delete($d)) { return False; } $q = "DELETE FROM category WHERE category_id='" . $d["category_id"] . "'"; $db->query($q); $q = "DELETE FROM category_xref "; $q .= "WHERE category_child_id='" . $d["category_id"] . "'"; $db->query($q); return True; } /************************************************************************** ** name: traverse_tree_down() ** created by: ** description: It goes through the category table and establishes ** the category tree based on the parent-child relationships ** defnied in the category_xref table. ** This is VERY recursive... ** ** parameters: ** returns: ***************************************************************************/ function traverse_tree_down($class="",$category_id=0, $level=0) { static $ibg = 0; global $sess,$ps_vendor_id; $db = new ps_DB; $class = "maintext"; $level++; $q = "SELECT * from category,category_xref "; $q .= "WHERE category_xref.category_parent_id='"; $q .= $category_id . "' AND "; $q .= "category.category_id=category_xref.category_child_id "; $q .= "AND category.vendor_id = $ps_vendor_id "; $db->query($q); while ($db->next_record()) { if ($ibg++ % 2) $bgcolor=SEARCH_COLOR_1; else $bgcolor=SEARCH_COLOR_2; echo "<TABLE CELLSPACING=0 CELLPADDING=0 BORDER=0 WIDTH=100%>"; echo "<TR BGCOLOR=$bgcolor><TD CLASS=$class>"; for ($i=0;$i<$level;$i++) { echo " "; } echo "__|$level| "; $url = SECUREURL . "?page=product/product_category_form"; $url .= "&category_id=" . $db->f("category_child_id"); $url .= "&category_parent_id=" . $db->f("category_parent_id"); echo "<A HREF=" . $sess->url($url) . ">";
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -