/** * wpsc_convert_categories function. * * @access public * @param int $parent_category. (default: 0) * @return void */ function wpsc_convert_categories($new_parent_category, $group_id, $old_parent_category = 0) { global $wpdb, $user_ID; if ($old_parent_category > 0) { $categorisation = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `active` IN ('1') AND `group_id` IN ('{$group_id}') AND `category_parent` IN ('{$old_parent_category}')"); } else { $categorisation = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `active` IN ('1') AND `group_id` IN ('{$group_id}') AND `category_parent` IN (0)"); } if ($categorisation > 0) { foreach ((array) $categorisation as $category) { $category_id = wpsc_get_meta($category->id, 'category_id', 'wpsc_old_category'); if (!is_numeric($category_id) || $category_id < 1) { $new_category = wp_insert_term($category->name, 'wpsc_product_category', array('description' => $category->description, 'parent' => $new_parent_category)); if (!is_wp_error($new_category)) { $category_id = $new_category['term_id']; } } if (is_numeric($category_id)) { wpsc_update_meta($category->id, 'category_id', $category_id, 'wpsc_old_category'); wpsc_update_categorymeta($category_id, 'category_id', $category->id); wpsc_update_categorymeta($category_id, 'image', $category->image); wpsc_update_categorymeta($category_id, 'display_type', $category->display_type); wpsc_update_categorymeta($category_id, 'image_height', $category->image_height); wpsc_update_categorymeta($category_id, 'image_width', $category->image_width); $use_additonal_form_set = wpsc_get_categorymeta($category->id, 'use_additonal_form_set'); if ($use_additonal_form_set != '') { wpsc_update_categorymeta($category_id, 'use_additonal_form_set', $use_additonal_form_set); } else { wpsc_delete_categorymeta($category_id, 'use_additonal_form_set'); } wpsc_update_categorymeta($category_id, 'uses_billing_address', (bool) (int) wpsc_get_categorymeta($category->id, 'uses_billing_address')); } if ($category_id > 0) { wpsc_convert_categories($category_id, $group_id, $category->id); } } } }
/** * wpsc_save_category_set, Saves the category set data * @param nothing * @return nothing */ function wpsc_save_category_set($category_id, $tt_id) { global $wpdb; if (!empty($_POST)) { /* Image Processing Code*/ if (!empty($_FILES['image']) && preg_match("/\\.(gif|jp(e)*g|png){1}\$/i", $_FILES['image']['name'])) { if (function_exists("getimagesize")) { if (isset($_POST['width']) && ((int) $_POST['width'] > 10 && (int) $_POST['width'] < 512) && ((int) $_POST['height'] > 10 && (int) $_POST['height'] < 512)) { $width = (int) $_POST['width']; $height = (int) $_POST['height']; image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name'], $width, $height, 'image'); } else { image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name'], null, null, 'image'); } $image = esc_sql($_FILES['image']['name']); } else { $new_image_path = WPSC_CATEGORY_DIR . basename($_FILES['image']['name']); move_uploaded_file($_FILES['image']['tmp_name'], $new_image_path); $stat = stat(dirname($new_image_path)); $perms = $stat['mode'] & 0666; @chmod($new_image_path, $perms); $image = esc_sql($_FILES['image']['name']); } } else { $image = ''; } //Good to here if (isset($_POST['tag_ID'])) { //Editing $category_id = (int) $_POST['tag_ID']; $category = get_term_by('id', $category_id, 'wpsc_product_category'); $url_name = $category->slug; } if (isset($_POST['deleteimage']) && $_POST['deleteimage'] == 1) { wpsc_delete_categorymeta($category_id, 'image'); } else { if ($image != '') { wpsc_update_categorymeta($category_id, 'image', $image); } } if (!empty($_POST['height']) && is_numeric($_POST['height']) && !empty($_POST['width']) && is_numeric($_POST['width']) && $image == null) { $imagedata = wpsc_get_categorymeta($category_id, 'image'); if ($imagedata != null) { $height = (int) $_POST['height']; $width = (int) $_POST['width']; $imagepath = WPSC_CATEGORY_DIR . $imagedata; $image_output = WPSC_CATEGORY_DIR . $imagedata; image_processing($imagepath, $image_output, $width, $height); } } wpsc_update_categorymeta($category_id, 'fee', '0'); wpsc_update_categorymeta($category_id, 'active', '1'); wpsc_update_categorymeta($category_id, 'order', '0'); if (isset($_POST['display_type'])) { wpsc_update_categorymeta($category_id, 'display_type', esc_sql(stripslashes($_POST['display_type']))); } if (isset($_POST['image_height'])) { wpsc_update_categorymeta($category_id, 'image_height', (int) $_POST['image_height']); } if (isset($_POST['image_width'])) { wpsc_update_categorymeta($category_id, 'image_width', (int) $_POST['image_width']); } if (!empty($_POST['use_additional_form_set'])) { wpsc_update_categorymeta($category_id, 'use_additional_form_set', absint($_POST['use_additional_form_set'])); } else { wpsc_delete_categorymeta($category_id, 'use_additional_form_set'); } if (!empty($_POST['uses_billing_address'])) { wpsc_update_categorymeta($category_id, 'uses_billing_address', 1); $uses_additional_forms = true; } else { wpsc_update_categorymeta($category_id, 'uses_billing_address', 0); $uses_additional_forms = false; } if (!empty($_POST['countrylist2']) && $category_id > 0) { $AllSelected = false; $countryList = $wpdb->get_col("SELECT `id` FROM `" . WPSC_TABLE_CURRENCY_LIST . "`"); if ($AllSelected != true) { $posted_countries = array_map('intval', $_POST['countrylist2']); $unselectedCountries = array_diff($countryList, $posted_countries); //find the countries that are selected $selectedCountries = array_intersect($countryList, $posted_countries); wpsc_update_categorymeta($category_id, 'target_market', $selectedCountries); } } elseif (!isset($_POST['countrylist2'])) { wpsc_update_categorymeta($category_id, 'target_market', ''); $AllSelected = true; } } }
function wpsc_display_groups_page() { global $wpdb, $wp_rewrite; if (!is_numeric($_GET['category_group']) || (int) $_GET['category_group'] == null) { $current_categorisation = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` WHERE `active` IN ('1') AND `default` IN ('1') LIMIT 1 ", ARRAY_A); } else { $current_categorisation = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` WHERE `active` IN ('1') AND `id` IN ('" . (int) $_GET['category_group'] . "') LIMIT 1 ", ARRAY_A); } if ($_POST['submit_action'] == "add") { //exit("<pre>".print_r($_POST,true)."</pre>"); if ($_FILES['image'] != null && preg_match("/\\.(gif|jp(e)*g|png){1}\$/i", $_FILES['image']['name'])) { if (function_exists("getimagesize")) { if ((int) $_POST['width'] > 10 && (int) $_POST['width'] < 512 && ((int) $_POST['height'] > 10 && (int) $_POST['height'] < 512)) { $width = (int) $_POST['width']; $height = (int) $_POST['height']; image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name'], $width, $height); } else { image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name']); } $image = $wpdb->escape($_FILES['image']['name']); } else { $new_image_path = WPSC_CATEGORY_DIR . basename($_FILES['image']['name']); move_uploaded_file($_FILES['image']['tmp_name'], $new_image_path); $stat = stat(dirname($new_image_path)); $perms = $stat['mode'] & 0666; @chmod($new_image_path, $perms); $image = $wpdb->escape($_FILES['image']['name']); } } else { $image = ''; } if (is_numeric($_POST['category_parent'])) { $parent_category = (int) $_POST['category_parent']; } else { $parent_category = 0; } //$tidied_name = sanitize_title(); //$tidied_name = strtolower($tidied_name); $url_name = sanitize_title($_POST['name']); $similar_names = $wpdb->get_row("SELECT COUNT(*) AS `count`, MAX(REPLACE(`nice-name`, '{$url_name}', '')) AS `max_number` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `nice-name` REGEXP '^({$url_name}){1}(\\d)*\$' ", ARRAY_A); $extension_number = ''; if ($similar_names['count'] > 0) { $extension_number = (int) $similar_names['max_number'] + 1; } $url_name .= $extension_number; switch ($_POST['display_type']) { case "grid": $display_type = 'grid'; break; case "list": $display_type = 'list'; break; case "default": $display_type = 'default'; break; default: $display_type = ''; break; } if ($_POST['product_height'] > 0) { $product_height = (int) $_POST['product_height']; } else { $product_height = ''; } if ($_POST['product_width'] > 0) { $product_width = (int) $_POST['product_width']; } else { $product_width = ''; } if (trim($_POST['name']) != null) { //$_POST['name'] = "test"; $insertsql = "INSERT INTO `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` (`group_id`, `name` , `nice-name` , `description`, `image`, `fee` , `active`, `category_parent`, `order` ) VALUES ( '" . (int) $_POST['categorisation_group'] . "', '" . $wpdb->escape(stripslashes($_POST['name'])) . "', '" . $url_name . "', '" . $wpdb->escape(stripslashes($_POST['description'])) . "', '{$image}', '0', '1' ,'{$parent_category}', '0')"; $wp_rewrite->flush_rules(); if ($wpdb->query($insertsql)) { $category_id = $wpdb->get_var("SELECT LAST_INSERT_ID() AS `id` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` LIMIT 1"); if ($_POST['use_additonal_form_set'] != '') { wpsc_update_categorymeta($category_id, 'use_additonal_form_set', $_POST['use_additonal_form_set']); } else { wpsc_delete_categorymeta($category_id, 'use_additonal_form_set'); } if ((bool) (int) $_POST['uses_billing_address'] == true) { wpsc_update_categorymeta($category_id, 'uses_billing_address', 1); $uses_additional_forms = true; } else { wpsc_update_categorymeta($category_id, 'uses_billing_address', 0); $uses_additional_forms = false; } // if($uses_additional_forms == true) { // $checkout_form_sets = get_option('wpsc_checkout_form_sets'); // $checkout_form_sets[$url_name] = $wpdb->escape(stripslashes($_POST['name'])); // update_option('wpsc_checkout_form_sets', $checkout_form_sets); // } echo "<div class='updated'><p align='center'>" . __('The item has been added', 'wpsc') . "</p></div>"; } else { echo "<div class='updated'><p align='center'>" . __('The item has not been added', 'wpsc') . "</p></div>"; } update_option('wpsc_category_url_cache', array()); $wp_rewrite->flush_rules(); } else { echo "<div class='updated'><p align='center'>" . __('The item has not been added', 'wpsc') . "</p></div>"; } // Jeff 15-04-09 Used for category target market options if ($_POST['countrylist2'] != null && $category_id > 0) { $AllSelected = false; $countryList = $wpdb->get_col("SELECT `id` FROM `" . WPSC_TABLE_CURRENCY_LIST . "`"); if (in_array('all', $_POST['countrylist2'])) { foreach ($countryList as $country) { $wpdb->query("INSERT INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$country}', '{$category_id}' )"); //echo "REPLACE INTO `".WPSC_TABLE_CATEGORY_TM."`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$country}', '{$category_id}' )<br />"; } $AllSelected = true; } if (in_array('none', $_POST['countrylist2'])) { foreach ($countryList as $country) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('0','{$country}', '{$category_id}' )"); } $AllSelected = true; } if ($AllSelected != true) { $unselectedCountries = array_diff($countryList, $_POST['countrylist2']); foreach ($unselectedCountries as $unselected) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('0','{$unselected}', '{$category_id}' )"); //echo "REPLACE INTO `".WPSC_TABLE_CATEGORY_TM."`(`visible`, `countryid`, `categoryid`) VALUES ('0','{$unselected}', '{$category_id}' )<br />"; } //find the countries that are selected $selectedCountries = array_intersect($countryList, $_POST['countrylist2']); foreach ($selectedCountries as $selected) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$selected}', '{$category_id}' )"); //echo "REPLACE INTO `".WPSC_TABLE_CATEGORY_TM."`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$unselected}', '{$category_id}' )<br />"; } } } } if ($_POST['submit_action'] == "edit" && is_numeric($_POST['prodid'])) { $category_id = absint($_POST['prodid']); if ($_FILES['image'] != null && preg_match("/\\.(gif|jp(e)*g|png){1}\$/i", $_FILES['image']['name'])) { if (function_exists("getimagesize")) { if ((int) $_POST['width'] >= 10 && (int) $_POST['width'] <= 512 && ((int) $_POST['height'] >= 10 && (int) $_POST['height'] <= 512)) { $width = (int) $_POST['width']; $height = (int) $_POST['height']; image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name'], $width, $height); } else { image_processing($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name']); } $image = $wpdb->escape($_FILES['image']['name']); } else { move_uploaded_file($_FILES['image']['tmp_name'], WPSC_CATEGORY_DIR . $_FILES['image']['name']); $image = $wpdb->escape($_FILES['image']['name']); } } else { $image = ''; } if (is_numeric($_POST['height']) && is_numeric($_POST['width']) && $image == null) { $imagedata = $wpdb->get_var("SELECT `image` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `id`=" . (int) $_POST['prodid'] . " LIMIT 1"); if ($imagedata != null) { $height = $_POST['height']; $width = $_POST['width']; $imagepath = WPSC_CATEGORY_DIR . $imagedata; $image_output = WPSC_CATEGORY_DIR . $imagedata; image_processing($imagepath, $image_output, $width, $height); } } $category_data = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `id` IN ('" . (int) $_POST['prodid'] . "')", ARRAY_A); if ($_POST['title'] != $category_data['name'] && trim($_POST['title']) != null) { $category_name = $_POST['title']; $category_sql_list[] = "`name` = '{$category_name}' "; /* creates and checks the tidy URL name */ // $tidied_name = trim($category_name); // $tidied_name = strtolower($tidied_name); $url_name = sanitize_title($category_name); if ($url_name != $category_data['nice-name']) { $similar_names = $wpdb->get_row("SELECT COUNT(*) AS `count`, MAX(REPLACE(`nice-name`, '{$url_name}', '')) AS `max_number` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` WHERE `nice-name` REGEXP '^({$url_name}){1}(0-9)*\$' AND `id` NOT IN ('" . (int) $category_data['id'] . "') ", ARRAY_A); //exit("<pre>".print_r($similar_names,true)."</pre>"); $extension_number = ''; if ($similar_names['count'] > 0) { $extension_number = (int) $similar_names['max_number'] + 1; } $url_name .= $extension_number; } /* checks again, just in case */ if ($url_name != $category_data['nice-name']) { $category_sql_list[] = "`nice-name` = '{$url_name}' "; } update_option('wpsc_category_url_cache', array()); $wp_rewrite->flush_rules(); } // Jeff 15-04-09 Used for category target market options if ($_POST['countrylist2'] != null) { $countryList = $wpdb->get_col("SELECT `id` FROM `" . WPSC_TABLE_CURRENCY_LIST . "`"); $AllSelected = false; if (in_array('all', $_POST['countrylist2'])) { foreach ($countryList as $country) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$country}', '{$category_id}' )"); } $AllSelected = true; } if (in_array('none', $_POST['countrylist2'])) { $wpdb->query("UPDATE `" . WPSC_TABLE_CATEGORY_TM . "` SET `visible` = '0' WHERE `categoryid`='{$category_id}'"); $AllSelected = true; } if ($AllSelected != true) { $unselectedCountries = array_diff($countryList, $_POST['countrylist2']); foreach ($unselectedCountries as $unselected) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "` (`visible`, `countryid`, `categoryid`) VALUES (0,'{$unselected}', '{$category_id}' )"); } //find the countries that are selected $selectedCountries = array_intersect($countryList, $_POST['countrylist2']); foreach ($selectedCountries as $selected) { $wpdb->query("REPLACE INTO `" . WPSC_TABLE_CATEGORY_TM . "`(`visible`, `countryid`, `categoryid`) VALUES ('1','{$selected}', '{$category_id}' )"); } } } if ($_POST['description'] != $category_data['description']) { $description = $_POST['description']; $category_sql_list[] = "`description` = '{$description}' "; } if (is_numeric($_POST['category_parent']) and $_POST['category_parent'] != $category_data['category_parent']) { $parent_category = (int) $_POST['category_parent']; $category_sql_list[] = "`category_parent` = '{$parent_category}' "; } if ($_POST['deleteimage'] == 1) { $category_sql_list[] = "`image` = ''"; } else { if ($image != null) { $category_sql_list[] = "`image` = '{$image}'"; } } if ($_POST['display_type'] != $category_data['display_type']) { switch ($_POST['display_type']) { case "grid": $display_type = 'grid'; break; case "list": $display_type = 'list'; break; case "default": $display_type = 'default'; break; default: $display_type = ''; break; } $category_sql_list[] = "`display_type` = '{$display_type}' "; } //echo "<pre>".print_r($category_sql_list,true)."</pre>"; if ($_POST['product_height'] > 0) { $product_height = (int) $_POST['product_height']; } else { $product_height = ''; } $category_sql_list[] = "`image_height` = '{$product_height}' "; if ($_POST['product_width'] > 0) { $product_width = (int) $_POST['product_width']; } else { $product_width = ''; } $category_sql_list[] = "`image_width` = '{$product_width}' "; if (count($category_sql_list) > 0) { $category_sql = implode(", ", $category_sql_list); $wpdb->query("UPDATE `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` SET {$category_sql} WHERE `id`='" . (int) $_POST['prodid'] . "' LIMIT 1"); $category_id = absint($_POST['prodid']); update_option('wpsc_category_url_cache', array()); if ($_POST['use_additonal_form_set'] != '') { wpsc_update_categorymeta($category_id, 'use_additonal_form_set', $_POST['use_additonal_form_set']); } else { wpsc_delete_categorymeta($category_id, 'use_additonal_form_set'); } if ((bool) (int) $_POST['uses_billing_address'] == true) { wpsc_update_categorymeta($category_id, 'uses_billing_address', 1); $uses_additional_forms = true; } else { wpsc_update_categorymeta($category_id, 'uses_billing_address', 0); $uses_additional_forms = false; } // if($uses_additional_forms == true) { // $category_name = $wpdb->escape(stripslashes($_POST['title'])); // $url_name = sanitize_title($category_name); // $checkout_form_sets = get_option('wpsc_checkout_form_sets'); // $checkout_form_sets[$url_name] = $category_name; // //print_r($checkout_form_sets); // //exit(); // update_option('wpsc_checkout_form_sets', $checkout_form_sets); // } $wp_rewrite->flush_rules(); } echo "<div class='updated'><p align='center'>" . __('The product group has been edited.', 'wpsc') . "</p></div>"; } if ($_POST['submit_action'] == "add_categorisation") { $wpdb->query("INSERT INTO `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` ( `name`, `description`, `active`, `default`) VALUES ( '" . $wpdb->escape(stripslashes($_POST['name'])) . "', '" . $wpdb->escape(stripslashes($_POST['description'])) . "', '1', '0')"); echo "<div class='updated'><p align='center'>" . __('The group has been added.', 'wpsc') . "</p></div>"; } if ($_POST['submit_action'] == "edit_categorisation") { $edit_group_id = $_POST['group_id']; $wpdb->query("UPDATE `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` SET `name` = '" . $wpdb->escape(stripslashes($_POST['name'])) . "', `description` = '" . $wpdb->escape(stripslashes($_POST['description'])) . "' WHERE `id` IN('{$edit_group_id}') LIMIT 1 "); echo "<div class='updated'><p align='center'>" . __('The group has been edited.', 'wpsc') . "</p></div>"; if (!is_numeric($_GET['category_group']) || (int) $_GET['category_group'] == null) { $current_categorisation = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` WHERE `active` IN ('1') AND `default` IN ('1') LIMIT 1 ", ARRAY_A); } else { $current_categorisation = $wpdb->get_row("SELECT * FROM `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` WHERE `active` IN ('1') AND `id` IN ('" . (int) $_GET['category_group'] . "') LIMIT 1 ", ARRAY_A); } } if (is_numeric($_GET['category_delete_id'])) { $delete_id = (int) $_GET['category_delete_id']; $deletesql = "UPDATE `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` SET `active` = '0' WHERE `id`='{$delete_id}' AND `default` IN ('0') LIMIT 1"; $wpdb->query($deletesql); $delete_subcat_sql = "UPDATE `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` SET `active` = '0', `nice-name` = '' WHERE `group_id`='{$delete_id}'"; $wpdb->query($delete_subcat_sql); update_option('wpsc_category_url_cache', array()); $wp_rewrite->flush_rules(); } if (is_numeric($_GET['deleteid'])) { $delete_id = absint($_GET['deleteid']); $deletesql = "UPDATE `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` SET `active` = '0', `nice-name` = '' WHERE `id`='{$delete_id}' LIMIT 1"; if ($wpdb->query($deletesql)) { $delete_subcat_sql = "UPDATE `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` SET `active` = '0', `nice-name` = '' WHERE `category_parent`='{$delete_id}'"; $wpdb->query($delete_subcat_sql); // if this is the default category, we need to find a new default category if ($delete_id == get_option('wpsc_default_category')) { // select the category that is not deleted with the greatest number of products in it $new_default = $wpdb->get_var("SELECT `cat`.`id` FROM `" . WPSC_TABLE_PRODUCT_CATEGORIES . "` AS `cat`\r\n\t\t\t\tLEFT JOIN `" . WPSC_TABLE_ITEM_CATEGORY_ASSOC . "` AS `assoc` ON `cat`.`id` = `assoc`.`category_id`\r\n\t\t\t\tWHERE `cat`.`active` IN ( '1' )\r\n\t\t\t\tGROUP BY `cat`.`id`\r\n\t\t\t\tORDER BY COUNT( `assoc`.`id` ) DESC\r\n\t\t\t\tLIMIT 1"); if ($new_default > 0) { update_option('wpsc_default_category', $new_default); } } update_option('wpsc_category_url_cache', array()); $wp_rewrite->flush_rules(); } } unset($GLOBALS['wpsc_category_url_cache']); update_option('wpsc_category_url_cache', array()); ?> <script language='javascript' type='text/javascript'> function conf() { var check = confirm("<?php echo __('Are you sure you want to delete this category? If the category has any subcategories, they will be deleted too.', 'wpsc'); ?> "); if(check) { return true; } else { return false; } } function categorisation_conf() { var check = confirm("<?php echo __('Are you sure you want to delete this product group? All categories it contains will be deleted too.', 'wpsc'); ?> "); if(check) { return true; } else { return false; } } <?php if (is_numeric($_POST['prodid'])) { echo "fillcategoryform(" . $_POST['prodid'] . ");"; } ?> </script> <div class="wrap"> <h2><?php echo __('Categories', 'wpsc'); ?> </h2> <?php if (function_exists('add_object_page')) { echo "<div id='dashboard-widgets' class='metabox-holder'>"; } ?> <span><?php echo __('Categorizing your products into groups help your customers find them. For instance if you sell hats and trousers you might want to setup a Group called clothes and add hats and trousers to that group.', 'wpsc'); ?> </span> <?php if (function_exists('add_object_page')) { echo "<div class='wpsc_products_nav27'>"; } else { echo "<div class='tablenav wpsc_groups_nav' >"; } ?> <div class="alignleft product_group" style='width: 500px;'> <form action='' method='GET' id='submit_categorisation_form' > <input type='hidden' value='<?php echo $_GET['page']; ?> ' name='page' /> <?php $categorisation_groups = $wpdb->get_results("SELECT * FROM `" . WPSC_TABLE_CATEGORISATION_GROUPS . "` WHERE `active` IN ('1')", ARRAY_A); //echo "<ul class='categorisation_links'>\n\r"; echo "<label for='select_categorisation_group' class='select_categorisation_group'>" . __('Select a Group to Manage', 'wpsc') . ": </label>"; echo "<select name='category_group' id='select_categorisation_group' onchange='submit_status_form(\"submit_categorisation_form\")'>"; foreach ((array) $categorisation_groups as $categorisation_group) { $selected = ''; if ($current_categorisation['id'] == $categorisation_group['id']) { //$selected = "class='selected'"; $selected = "selected='selected'"; } echo "<option value='{$categorisation_group['id']}' {$selected} >{$categorisation_group['name']}</option>"; //echo " <li $selected >\n\r"; //echo " <a href='?page={$_GET['page']}&category_group={$categorisation_group['id']}'>{$categorisation_group['name']}</a> "; //echo " </li>\n\r"; } echo "</select>"; //echo "<li>- <a href='' onclick='return showadd_categorisation_form()'><span>".__('Add New Group', 'wpsc')."</span></a></li>"; //echo "</ul>\n\r"; ?> <span><?php _e('or'); ?> </span> <?php echo "<a class='button add_categorisation_group' href='#' onclick='return showadd_categorisation_form()'><span>" . __('Add New Group', 'wpsc') . "</span></a>"; ?> </form> </div> <!-- <div class="alignright"> <a target="_blank" href='http://www.instinct.co.nz/e-commerce/product-groups/' class='about_this_page'><span><?php //echo __('About This Page', 'wpsc'); ?> </span> </a> </div> --> <br class="clear"/> </div> <div id='add_categorisation'> <strong><?php echo __('Add New Group', 'wpsc'); ?> </strong> <form method='POST' enctype='multipart/form-data'> <fieldset> <label for='add_categorisation_name'>Name</label> <input type='text' name='name' value='' id='add_categorisation_name' /> </fieldset> <fieldset> <label for='add_categorisation_description'>Description</label> <input type='text' name='description' value='' id='add_categorisation_description' /> </fieldset> <fieldset> <label> </label> <input type='hidden' name='submit_action' value='add_categorisation' /> <input type='submit' name='submit_form' value='<?php echo __('Submit', 'wpsc'); ?> ' /> </fieldset> </form> <br/> </div> <div id='edit_categorisation'> <strong><?php echo __('Edit Group', 'wpsc'); ?> </strong> <form method='POST' enctype='multipart/form-data'> <fieldset> <label for='add_categorisation_name'>Name</label> <input type='text' name='name' value='<?php echo $current_categorisation['name']; ?> ' id='add_categorisation_name' /> </fieldset> <fieldset> <label for='add_categorisation_description'>Description</label> <input type='text' name='description' value='<?php echo $current_categorisation['description']; ?> ' id='add_categorisation_description' /> </fieldset> <fieldset> <label> </label> <input type='hidden' name='group_id' value='<?php echo $current_categorisation['id']; ?> ' /> <input type='hidden' name='submit_action' value='edit_categorisation' /> <input type='submit' name='submit_form' value='<?php echo __('Submit', 'wpsc'); ?> ' /> <?php if ($current_categorisation['default'] != 1) { ?> <a href='<?php echo "?page={$_GET['page']}&category_delete_id={$current_categorisation['id']}"; ?> ' onclick='return categorisation_conf()' > <?php echo __('Delete', 'wpsc'); ?> </a> <?php } ?> </fieldset> </form> <br/> </div> <?php $num = 0; echo " <table id='productpage' style='margin-top: 1ex;'>\n\r"; echo " <tr><td class='firstcol' style='width: 297px;'>\n\r"; if (function_exists('add_object_page')) { echo "<div class='postbox' style='margin-right: 15px; min-width:255px;'>"; echo "<h3 class='hndle'>" . str_replace("[categorisation]", $current_categorisation['name'], __('"[categorisation]" Group', 'wpsc')) . "</h3>"; echo "<div class='inside'>"; } //echo "<div class='categorisation_title'><a href='' onclick='return showaddform()' class='add_category_link'><span>". __('+ Add new category to the "[categorisation]" Group', 'wpsc')."</span></a><strong class='form_group'>".str_replace("[categorisation]", $current_categorisation['name'], __('Manage "[categorisation]"', 'wpsc'))." <a href='#' onclick='return showedit_categorisation_form()'>[".__('Edit', 'wpsc')."]</a> </strong></div>"; echo " <table id='itemlist'>\n\r"; if (function_exists('add_object_page')) { echo "<tr></tr>"; } else { echo " <tr class='firstrow categorisation_title'>\n\r"; echo " <td>\n\r"; echo __('Image', 'wpsc'); echo " </td>\n\r"; echo " <td>\n\r"; echo __('Name', 'wpsc'); echo " </td>\n\r"; echo " <td>\n\r"; //echo __('Description', 'wpsc'); echo " </td>\n\r"; echo " <td>\n\r"; echo __('Edit', 'wpsc'); echo " </td>\n\r"; echo " </tr>\n\r"; } echo " <tr>\n\r"; echo " <td colspan='4' class='colspan'>\n\r"; echo "<div class='editing_this_group'><p>"; echo str_replace("[categorisation]", $current_categorisation['name'], __('You are editing the "[categorisation]" Group', 'wpsc')); echo " <a href='#' onclick='return showedit_categorisation_form()'>" . __('Edit', 'wpsc') . "</a>"; echo "</p></div>"; echo " </td>\n\r"; echo " <tr>\n\r"; display_categories($current_categorisation['id']); if (function_exists('add_object_page')) { echo "</table>"; echo "</div>"; //class inside ends echo "</div>"; //class postbox ends } else { echo "</table>\n\r"; } echo " </td><td id='poststuff' class='secondcol product_groups_page'>\n\r"; echo " <div id='productform' class='postbox'>"; echo "<form method='POST' enctype='multipart/form-data' name='editproduct{$num}'>\n\r"; if (function_exists('add_object_page')) { echo "<h3 class='hndle'>" . str_replace("[categorisation]", $current_categorisation['name'], __('You are editing an item in the "[categorisation]" Group', 'wpsc')) . "</h3>"; echo "<div class='inside'>"; } else { echo "<div class='categorisation_title'><strong class='form_group'>" . __('Edit Details', 'wpsc') . " </strong></div>\n\r"; echo "<div class='editing_this_group'><p>" . str_replace("[categorisation]", $current_categorisation['name'], __('You are editing an item in the "[categorisation]" Group', 'wpsc')) . "</p></div>"; } echo " <div id='formcontent'>\n\r"; echo " </div>\n\r"; if (function_exists('add_object_page')) { echo "</div>"; } echo "</form>\n\r"; echo " </div>\n\r"; ?> <div id="blank_item"> <h3 class="form_heading"><?php echo str_replace("[categorisation]", $current_categorisation['name'], __('Add Category', 'wpsc')); ?> </h3> <div class="inside"> <a href='' onclick='return showaddform()' class='add_category_link'><span><?php echo str_replace("[categorisation]", $current_categorisation['name'], __('+ Add new category to the "[categorisation]" Group', 'wpsc')); ?> </span></a> <span class="setting-description"><?php echo __('Adding a new category here will make it available when you add or edit a product.', 'wpsc'); ?> </span> </div> </div> <div id='additem' class='postbox'> <h3 class='hndle'><?php echo str_replace("[categorisation]", $current_categorisation['name'], __('You are adding a new item to the "[categorisation]" Group', 'wpsc')); ?> </h3> <div class='inside'> <form method='post' enctype='multipart/form-data' class='additem'> <div class='editing_this_group'><p> <?php echo "" . str_replace("[categorisation]", $current_categorisation['name'], __('You are adding a new item to the "[categorisation]" Group', 'wpsc')) . ""; ?> </p></div> <table class='category_forms form_table'> <tr> <td> <?php echo __('Name', 'wpsc'); ?> : </td> <td> <input type='text' class="text" name='name' value='' /> </td> </tr> <tr> <td> <?php echo __('Description', 'wpsc'); ?> : </td> <td> <textarea name='description' rows='8'></textarea> </td> </tr> <tr> <td> <?php echo __('Group Parent', 'wpsc'); ?> : </td> <td> <?php echo wpsc_parent_category_list($current_categorisation['id'], 0, 0); ?> </td> </tr> <tr> <td> <?php echo __('Group Image', 'wpsc'); ?> : </td> <td> <input type='file' name='image' value='' /> </td> </tr> <?php if (function_exists("getimagesize")) { ?> <tr> <td> </td> <td> <?php echo __('Height', 'wpsc'); ?> :<input type='text' size='6' name='height' value='<?php echo get_option('category_image_height'); ?> ' /> <?php echo __('Width', 'wpsc'); ?> :<input type='text' size='6' name='width' value='<?php echo get_option('category_image_width'); ?> ' /> <br /> <span class='wpscsmall description'><?php echo __('You can upload thumbnail images for each group. To display Group details in your shop you must configure these settings under <a href="admin.php?page=wpsc-settings&tab=presentation">Presentation Settings</a>.', 'wpsc'); ?> </span> </td> </tr> <?php } ?> <?php wpsc_category_tm(); //category target market checkbox ?> <tr> <td colspan='2' class='category_presentation_settings'> <h4><?php echo __('Presentation Settings', 'wpsc'); ?> </h4> <span class='small'><?php echo __('To over-ride the presentation settings for this group you can enter in your prefered settings here', 'wpsc'); ?> </span> </td> </tr> <tr> <td> <?php echo __('Catalog View', 'wpsc'); ?> : </td> <td> <select name='product_view'> <option value='default' <?php echo $product_view1; ?> ><?php echo __('Default View', 'wpsc'); ?> </option> <?php if (function_exists('product_display_list')) { ?> <option value='list' <?php echo $product_view2; ?> ><?php echo __('List View', 'wpsc'); ?> </option> <?php } else { ?> <option value='list' disabled='disabled' <?php echo $product_view2; ?> ><?php echo __('List View', 'wpsc'); ?> </option> <?php } if (function_exists('product_display_grid')) { ?> <option value='grid' <?php echo $product_view3; ?> ><?php echo __('Grid View', 'wpsc'); ?> </option> <?php } else { ?> <option value='grid' disabled='disabled' <?php echo $product_view3; ?> ><?php echo __('Grid View', 'wpsc'); ?> </option> <?php } ?> </select> </td> </tr> <tr> <td colspan='2'> <?php echo __('Thumbnail Size', 'wpsc'); ?> : <?php echo __('Height', 'wpsc'); ?> : <input type='text' value='' name='product_height' size='6'/> <?php echo __('Width', 'wpsc'); ?> : <input type='text' value='' name='product_width' size='6'/> <br/> </td> </tr> <tr> <td colspan='2' class='category_presentation_settings'> <h4><?php _e('Checkout Settings', 'wpsc'); ?> </h4> <?php /* <span class='small'><?php _e('To over-ride the presentation settings for this group you can enter in your prefered settings here', 'wpsc'); ?></span> */ ?> </td> </tr> <tr> <td><?php _e("This category requires additional checkout form fields", 'wpsc'); ?> :</td> <td> <select name='use_additonal_form_set'> <option value=''>None</option> <?php $checkout_sets = get_option('wpsc_checkout_form_sets'); unset($checkout_sets[0]); foreach ((array) $checkout_sets as $key => $value) { $selected_state = ""; if ($_GET['checkout-set'] == $key) { $selected_state = "selected='selected'"; } echo "<option {$selected_state} value='{$key}'>" . stripslashes($value) . "</option>"; } ?> </select> <?php /* <label><input type="radio" name="uses_additonal_forms" value="1"/><?php _e("Yes",'wpsc'); ?></label> */ /* <label><input type="radio" checked="checked" name="uses_additonal_forms" value="0"/><?php _e("No",'wpsc'); ?></label>*/ ?> </td> </tr> <tr> <td colspan='2'> </td> </tr> <tr> <td><?php _e("Products in this category use the billing address to calculate shipping", 'wpsc'); ?> :</td> <td> <label><input type="radio" name="uses_billing_address" value="1"/><?php _e("Yes", 'wpsc'); ?> </label> <label><input type="radio" checked="checked" name="uses_billing_address" value="0"/><?php _e("No", 'wpsc'); ?> </label> </td> </tr> <tr> <td> </td> <td class='last_row'> <input type='hidden' name='categorisation_group' value='<?php echo $current_categorisation['id']; ?> ' /> <input type='hidden' name='submit_action' value='add' /> <input class='button-primary' type='submit' name='submit' value='<?php echo __('Add Category', 'wpsc'); ?> ' /> </td> </tr> </table> </form> </div> </div> </td></tr> </table> </div> <?php }