Example #1
0
/**
 * 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);
            }
        }
    }
}
function wpsc_install()
{
    global $wpdb, $user_level, $wp_rewrite, $wp_version, $wpsc_page_titles;
    $table_name = $wpdb->prefix . "wpsc_product_list";
    if ($wpdb->get_var("SHOW TABLES LIKE '{$table_name}'") !== $table_name) {
        // Table doesn't exist
        add_option('wpsc_purchaselogs_fixed', true);
    }
    // the only consistent and reliable way to detect whether this is a fresh install is by checking
    // whether WPSC_TABLE_CART_CONTENTS exists. This is an unfortunate hack, but we can do away with
    // it in 3.9 as we'll drop support for 3.7.x then
    if ($wpdb->get_var("SHOW TABLES LIKE '" . WPSC_TABLE_CART_CONTENTS . "'") != WPSC_TABLE_CART_CONTENTS) {
        add_option('wpsc_db_version', WPSC_DB_VERSION, '', 'no');
    }
    // run the create or update code here.
    wpsc_create_or_update_tables();
    wpsc_create_upload_directories();
    // All code to add new database tables and columns must be above here
    $wpsc_version = get_option('wpsc_version', 0);
    $wpsc_minor_version = get_option('wpsc_minor_version', 0);
    if ($wpsc_version === false) {
        add_option('wpsc_version', WPSC_VERSION, '', 'no');
    } else {
        update_option('wpsc_version', WPSC_VERSION);
    }
    if ($wpsc_minor_version === false) {
        add_option('wpsc_minor_version', WPSC_MINOR_VERSION, '', 'no');
    } else {
        update_option('wpsc_minor_version', WPSC_MINOR_VERSION);
    }
    if (version_compare($wpsc_version, '3.8', '<')) {
        update_option('wpsc_needs_update', true);
    } else {
        update_option('wpsc_needs_update', false);
    }
    if ('' == get_option('show_subcatsprods_in_cat')) {
        update_option('show_subcatsprods_in_cat', 0);
    }
    if ('' == get_option('wpsc_share_this')) {
        update_option('wpsc_share_this', 0);
    }
    if ('' == get_option('wpsc_crop_thumbnails')) {
        update_option('wpsc_crop_thumbnails', 0);
    }
    if ('' == get_option('wpsc_products_per_page')) {
        update_option('wpsc_products_per_page', 0);
    }
    if ('' == get_option('wpsc_force_ssl')) {
        update_option('wpsc_force_ssl', 0);
    }
    if ('' == get_option('use_pagination')) {
        update_option('use_pagination', 0);
    }
    if ('' == get_option('hide_name_link')) {
        update_option('hide_name_link', 0);
    }
    if ('' == get_option('wpsc_enable_comments')) {
        update_option('wpsc_enable_comments', 0);
    }
    if ('' == get_option('multi_add')) {
        update_option('multi_add', 1);
    }
    if ('' == get_option('hide_addtocart_button')) {
        update_option('hide_addtocart_button', 0);
    }
    if ('' == get_option('wpsc_addtocart_or_buynow')) {
        update_option('wpsc_addtocart_or_buynow', 0);
    }
    add_option('show_thumbnails', 1, '', 'no');
    add_option('show_thumbnails_thickbox', 1, '', 'no');
    require_once WPSC_FILE_PATH . '/wpsc-core/wpsc-functions.php';
    require_once WPSC_FILE_PATH . '/wpsc-includes/wpsc-theme-engine-bootstrap.php';
    if (!_wpsc_maybe_activate_theme_engine_v2()) {
        add_option('product_list_url', '', '', 'no');
        add_option('shopping_cart_url', '', '', 'no');
        add_option('checkout_url', '', '', 'no');
        add_option('transact_url', '', '', 'no');
        /*
         * This part creates the pages and automatically puts their URLs into the options page.
         * As you can probably see, it is very easily extendable, just pop in your page and the deafult content in the array and you are good to go.
         */
        $post_date = date("Y-m-d H:i:s");
        $post_date_gmt = gmdate("Y-m-d H:i:s");
        $pages = array('products-page' => array('name' => 'products-page', 'title' => __('Products Page', 'wpsc'), 'tag' => '[productspage]', 'option' => 'product_list_url'), 'checkout' => array('name' => 'checkout', 'title' => __('Checkout', 'wpsc'), 'tag' => '[shoppingcart]', 'option' => 'shopping_cart_url'), 'transaction-results' => array('name' => 'transaction-results', 'title' => __('Transaction Results', 'wpsc'), 'tag' => '[transactionresults]', 'option' => 'transact_url'), 'your-account' => array('name' => 'your-account', 'title' => __('Your Account', 'wpsc'), 'tag' => '[userlog]', 'option' => 'user_account_url'));
        //indicator. if we will create any new pages we need to flush.. :)
        $newpages = false;
        //get products page id. if there's no products page then create one
        $products_page_id = $wpdb->get_var("SELECT id FROM `" . $wpdb->posts . "` WHERE `post_content` LIKE '%" . $pages['products-page']['tag'] . "%'\tAND `post_type` != 'revision'");
        if (empty($products_page_id)) {
            $products_page_id = wp_insert_post(array('post_title' => $pages['products-page']['title'], 'post_type' => 'page', 'post_name' => $pages['products-page']['name'], 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_content' => $pages['products-page']['tag'], 'post_status' => 'publish', 'post_author' => 1, 'menu_order' => 0));
            $newpages = true;
        }
        update_option($pages['products-page']['option'], _get_page_link($products_page_id));
        //done. products page created. no we can unset products page data and create all other pages.
        //unset products page
        unset($pages['products-page']);
        //create other pages
        foreach ((array) $pages as $page) {
            //check if page exists and get it's ID
            $page_id = $wpdb->get_var("SELECT id FROM `" . $wpdb->posts . "` WHERE `post_content` LIKE '%" . $page['tag'] . "%'\tAND `post_type` != 'revision'");
            //if there's no page - create
            if (empty($page_id)) {
                $page_id = wp_insert_post(array('post_title' => $page['title'], 'post_type' => 'page', 'post_name' => $page['name'], 'comment_status' => 'closed', 'ping_status' => 'closed', 'post_content' => $page['tag'], 'post_status' => 'publish', 'post_author' => 1, 'menu_order' => 0, 'post_parent' => $products_page_id));
                $newpages = true;
            }
            //update option
            update_option($page['option'], get_permalink($page_id));
            //also if this is shopping_cart, then update checkout url option
            if ($page['option'] == 'shopping_cart_url') {
                update_option('checkout_url', get_permalink($page_id));
            }
        }
        //if we have created any new pages, then flush... do we need to do this? probably should be removed
        if ($newpages) {
            wp_cache_delete('all_page_ids', 'pages');
            wpsc_update_permalink_slugs();
        }
    }
    add_option('payment_gateway', '', '', 'no');
    $default_payment_gateways_names = array('chronopay' => '', 'wpsc_merchant_paypal_express' => '', 'wpsc_merchant_paypal_pro' => '', 'wpsc_merchant_paypal_standard' => '');
    $existing_payment_gateways_names = get_option('payment_gateway_names');
    $new_payment_gatewats_name = array_merge($default_payment_gateways_names, (array) $existing_payment_gateways_names);
    update_option('payment_gateway_names', $new_payment_gatewats_name);
    if (function_exists('register_sidebar')) {
        add_option('cart_location', '4', '', 'no');
    } else {
        add_option('cart_location', '1', '', 'no');
    }
    add_option('currency_type', '156', '', 'no');
    add_option('currency_sign_location', '3', '', 'no');
    add_option('gst_rate', '1', '', 'no');
    add_option('max_downloads', '1', '', 'no');
    add_option('display_pnp', '1', '', 'no');
    add_option('display_specials', '1', '', 'no');
    add_option('do_not_use_shipping', '1', '', 'no');
    add_option('postage_and_packaging', '0', '', 'no');
    add_option('shipwire', '0', '', 'no');
    add_option('shipwire_test_server', '0', '', 'no');
    add_option('purch_log_email', '', '', 'no');
    add_option('return_email', '', '', 'no');
    add_option('terms_and_conditions', '', '', 'no');
    add_option('default_brand', 'none', '', 'no');
    add_option('wpsc_default_category', 'all', '', 'no');
    add_option('product_view', 'default', "", 'no');
    add_option('add_plustax', 'default', "", '1');
    if (!(get_option('show_categorybrands') > 0 && get_option('show_categorybrands') < 3)) {
        update_option('show_categorybrands', 2);
    }
    // PayPal options
    add_option('paypal_business', '', '', 'no');
    add_option('paypal_url', '', '', 'no');
    add_option('paypal_ipn', '1', '', 'no');
    add_option('paypal_multiple_business', '', '', 'no');
    add_option('paypal_multiple_url', "https://www.paypal.com/cgi-bin/webscr");
    add_option('product_ratings', '0', '', 'no');
    add_option('wpsc_email_receipt', __('Thank you for purchasing with %shop_name%, any items to be shipped will be processed as soon as possible, any items that can be downloaded can be downloaded using the links on this page. All prices include tax and postage and packaging where applicable.
You ordered these items:
%product_list%%total_shipping%%total_price%', 'wpsc'), '', 'no');
    add_option('wpsc_email_admin', __('%product_list%%total_shipping%%total_price%', 'wpsc'), '', 'no');
    add_option('wpsc_selected_theme', 'default', '', 'no');
    add_option('product_image_height', 148);
    add_option('product_image_width', 148);
    add_option('category_image_height', 148);
    add_option('category_image_width', 148);
    add_option('single_view_image_height', 148);
    add_option('single_view_image_width', 148);
    add_option('wpsc_gallery_image_height', 31);
    add_option('wpsc_gallery_image_width', 31);
    add_option('wpsc_thousands_separator', ',');
    add_option('wpsc_decimal_separator', '.');
    add_option('custom_gateway_options', array('wpsc_merchant_testmode'), '', 'no');
    add_option('wpsc_category_url_cache', array(), '', 'no');
    // add in some default tax settings
    add_option('wpec_taxes_inprice', 'exclusive');
    add_option('wpec_taxes_product', 'replace');
    add_option('wpec_taxes_logic', 'billing');
    wpsc_product_files_htaccess();
    // Product categories, temporarily register them to create first default category if none exist
    // @todo: investigate those require once lines and move them to right place (not from here, but from their original location, which seems to be wrong, since i cant access wpsc_register_post_types and wpsc_update_categorymeta here) - Vales <*****@*****.**>
    wpsc_core_load_page_titles();
    wpsc_register_post_types();
    $category_list = get_terms('wpsc_product_category', 'hide_empty=0&parent=0');
    if (count($category_list) == 0) {
        require_once WPSC_FILE_PATH . '/wpsc-includes/meta.functions.php';
        $new_category = wp_insert_term(__('Product Category', 'wpsc'), 'wpsc_product_category', "parent=0");
        $category_id = $new_category['term_id'];
        $term = get_term_by('id', $new_category['term_id'], 'wpsc_product_category');
        $url_name = $term->slug;
        wpsc_update_categorymeta($category_id, 'nice-name', $url_name);
        wpsc_update_categorymeta($category_id, 'description', __("This is a description", 'wpsc'));
        wpsc_update_categorymeta($category_id, 'image', '');
        wpsc_update_categorymeta($category_id, 'fee', '0');
        wpsc_update_categorymeta($category_id, 'active', '1');
        wpsc_update_categorymeta($category_id, 'order', '0');
    }
    flush_rewrite_rules(false);
    wpsc_theme_engine_v2_activate();
}
/**
 * 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') . ":&nbsp;&nbsp;</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']}&amp;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>&nbsp;</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>&nbsp;</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>&nbsp;</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']}&amp;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'], __('&quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; Group', 'wpsc')."</span></a><strong class='form_group'>".str_replace("[categorisation]", $current_categorisation['name'], __('Manage &quot;[categorisation]&quot;', '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 &quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; 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 &quot;[categorisation]&quot; 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&nbsp;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&nbsp;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 
}