function product_tag_cloud()
{
    product_tag_init();
    $defaults = array('smallest' => 8, 'largest' => 22, 'unit' => 'pt', 'number' => 45, 'format' => 'flat', 'orderby' => 'name', 'order' => 'ASC', 'exclude' => '', 'include' => '');
    $args = wp_parse_args($args, $defaults);
    $tags = get_product_tags(array_merge($args, array('orderby' => 'count', 'order' => 'DESC')));
    // Always query top tags
    //var_dump($tags);
    if (empty($tags)) {
        return;
    }
    $return = wp_generate_product_tag_cloud($tags, $args);
    // Here's where those top tags get sorted according to $args
    if (is_wp_error($return)) {
        return false;
    } else {
        echo apply_filters('product_tag_cloud', $return, $args);
    }
}
Ejemplo n.º 2
0
/**
 Function and action for deleting single products 
*/
function wpsc_delete_product()
{
    global $wpdb;
    $deleted = 0;
    $product_id = absint($_GET['product']);
    check_admin_referer('delete_product_' . $product_id);
    if ($wpdb->query("UPDATE `" . WPSC_TABLE_PRODUCT_LIST . "` SET  `active` = '0' WHERE `id`='{$product_id}' LIMIT 1")) {
        $wpdb->query("DELETE FROM `" . WPSC_TABLE_PRODUCTMETA . "` WHERE `product_id` = '{$product_id}' AND `meta_key` IN ('url_name')");
        product_tag_init();
        $term = wp_get_object_terms($product_id, 'product_tag');
        if ($term->errors == '') {
            wp_delete_object_term_relationships($product_id, 'product_tag');
        }
        $deleted = 1;
        do_action('wpsc_delete_product', $product_id);
    }
    $sendback = wp_get_referer();
    if (isset($deleted)) {
        $sendback = add_query_arg('deleted', $deleted, $sendback);
    }
    wp_redirect($sendback);
    exit;
}
function wpsc_add_product($product_values)
{
    global $wpdb;
    // takes an array, inserts it into the database as a product
    $success = false;
    $insertsql = "INSERT INTO `" . WPSC_TABLE_PRODUCT_LIST . "` SET";
    $insertsql .= "`name` = '" . $wpdb->escape($product_values['name']) . "',";
    $insertsql .= "`description`  = '" . $wpdb->escape($product_values['description']) . "',";
    $insertsql .= "`additional_description`  = '" . $wpdb->escape($product_values['additional_description']) . "',";
    $insertsql .= "`price` = '" . $wpdb->escape($product_values['price']) . "',";
    $insertsql .= "`quantity_limited` = '" . $wpdb->escape($product_values['quantity_limited']) . "',";
    $insertsql .= "`quantity` = '" . $wpdb->escape($product_values['quantity']) . "',";
    $insertsql .= "`special` = '" . $wpdb->escape($product_values['special']) . "',";
    $insertsql .= "`special_price` = '" . $wpdb->escape($product_values['special_price']) . "',";
    $insertsql .= "`weight` = '" . $wpdb->escape($product_values['weight']) . "',";
    $insertsql .= "`weight_unit` = '" . $wpdb->escape($product_values['weight_unit']) . "',";
    $insertsql .= "`no_shipping` = '" . $wpdb->escape($product_values['no_shipping']) . "',";
    $insertsql .= "`pnp` = '" . $wpdb->escape($product_values['pnp']) . "',";
    $insertsql .= "`international_pnp` = '" . $wpdb->escape($product_values['international_pnp']) . "',";
    $insertsql .= "`donation` = '" . $wpdb->escape($product_values['donation']) . "',";
    $insertsql .= "`display_frontpage` = '" . $wpdb->escape($product_values['display_frontpage']) . "',";
    $insertsql .= "`notax` = '" . $wpdb->escape($product_values['notax']) . "',";
    $insertsql .= "`image` = '0',";
    $insertsql .= "`file` = '0',";
    $insertsql .= "`thumbnail_state` = '0' ;";
    //Insert the data
    if ($wpdb->query($insertsql)) {
        // if we succeeded, we have a product id, we wants it for the next stuff
        $product_id = $wpdb->get_var("SELECT LAST_INSERT_ID() AS `id` FROM `" . WPSC_TABLE_PRODUCT_LIST . "` LIMIT 1");
        // add the tags
        if (function_exists('wp_insert_term')) {
            product_tag_init();
            $tags = $product_values['product_tag'];
            if ($tags != "") {
                $tags = explode(',', $tags);
                foreach ($tags as $tag) {
                    $tt = wp_insert_term((string) $tag, 'product_tag');
                }
                $return = wp_set_object_terms($product_id, $tags, 'product_tag');
            }
        }
        $image = wpsc_item_process_image($product_id, $product_values['image_path'], basename($product_values['image_path']), $product_values['width'], $product_values['height'], $product_values['image_resize']);
        if ($image != null) {
            $wpdb->query("UPDATE `" . WPSC_TABLE_PRODUCT_LIST . "` SET `image` = '" . $wpdb->escape($image) . "' WHERE `id`='" . $product_id . "' LIMIT 1");
        }
        // add the product meta values
        if ($product_values['productmeta_values'] != null) {
            foreach ((array) $product_values['productmeta_values'] as $key => $value) {
                if (get_product_meta($product_id, $key) != false) {
                    update_product_meta($product_id, $key, $value);
                } else {
                    add_product_meta($product_id, $key, $value);
                }
            }
        }
        // and the custom meta values
        if ($product_values['new_custom_meta'] != null) {
            foreach ((array) $product_values['new_custom_meta']['name'] as $key => $name) {
                $value = $product_values['new_custom_meta']['value'][(int) $key];
                if ($name != '' && $value != '') {
                    add_product_meta($product_id, $name, $value, false, true);
                }
            }
        }
        // Add the tidy url name
        $tidied_name = trim($product_values['name']);
        $tidied_name = strtolower($tidied_name);
        $url_name = sanitize_title($tidied_name);
        $similar_names = $wpdb->get_row("SELECT COUNT(*) AS `count`, MAX(REPLACE(`meta_value`, '" . $wpdb->escape($url_name) . "', '')) AS `max_number` FROM `" . WPSC_TABLE_PRODUCTMETA . "` WHERE `meta_key` IN ('url_name') AND `meta_value` REGEXP '^(" . $wpdb->escape($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;
        add_product_meta($product_id, 'url_name', $url_name, true);
        // Add the varations and associated values
        $variations_procesor = new nzshpcrt_variations();
        if ($product_values['variation_values'] != null) {
            $variations_procesor->add_to_existing_product($product_id, $product_values['variation_values']);
        }
        if ($product_values['variation_priceandstock'] != null) {
            $variations_procesor->update_variation_values($product_id, $product_values['variation_priceandstock']);
        }
        // Add the selelcted categories
        $item_list = '';
        if (count($product_values['category']) > 0) {
            foreach ($product_values['category'] as $category_id) {
                $category_id = (int) $category_id;
                $check_existing = $wpdb->get_var("SELECT `id` FROM `" . WPSC_TABLE_ITEM_CATEGORY_ASSOC . "` WHERE `product_id` = " . $product_id . " AND `category_id` = '{$category_id}' LIMIT 1");
                if ($check_existing == null) {
                    $wpdb->query("INSERT INTO `" . WPSC_TABLE_ITEM_CATEGORY_ASSOC . "` ( `product_id` , `category_id` ) VALUES ( '" . $product_id . "', '" . $category_id . "');");
                }
            }
        }
        $success = true;
    }
    return $success;
}
/**
 * wpsc_update_product_tags function 
 *
 * @param integer product ID
 * @param string comma separated tags
 */
function wpsc_update_product_tags($product_id, $product_tags, $existing_tags)
{
    if (isset($existing_tags)) {
        $tags = explode(',', $existing_tags);
        if (is_array($tags)) {
            foreach ((array) $tags as $tag) {
                $tt = wp_insert_term((string) $tag, 'product_tag');
            }
        }
    }
    wp_set_object_terms($product_id, $tags, 'product_tag');
    if (isset($product_tags) && $product_tags != 'Add new tag') {
        $tags = explode(',', $product_tags);
        product_tag_init();
        if (is_array($tags)) {
            foreach ((array) $tags as $tag) {
                $tt = wp_insert_term((string) $tag, 'product_tag');
            }
        }
        wp_set_object_terms($product_id, $tags, 'product_tag');
    }
}
Ejemplo n.º 5
0
 if (function_exists('edit_extra_images')) {
     $var = edit_extra_images($id);
 }
 $file_name = null;
 if ($_POST['file_url'] != null) {
     $url_array = array_reverse(explode("/", $_POST['file_url']));
     //exit("<pre>".print_r($url_array,true)."</pre>");
     if (is_file(WPSC_FILE_DIR . $url_array[0])) {
         $file_name = $url_array[0];
     }
 }
 //written by allen
 if (isset($_POST['product_tags'])) {
     $imtags = $_POST['product_tags'];
     $tags = explode(',', $imtags);
     product_tag_init();
     if (is_array($tags)) {
         foreach ((array) $tags as $tag) {
             $tt = wp_insert_term((string) $tag, 'product_tag');
         }
     }
     wp_set_object_terms($id, $tags, 'product_tag');
 }
 //end of written by allen
 if (isset($_POST['external_link'])) {
     add_product_meta($_POST['prodid'], 'external_link', $_POST['external_link'], true);
 }
 if (isset($_POST['merchant_notes'])) {
     $id = (int) $_POST['prodid'];
     $notes = $_POST['merchant_notes'];
     $updatelink_sql = "SELECT * FROM `" . $wpdb->prefix . "wpsc_productmeta` WHERE `product_id` = '{$id}' AND `meta_key`='merchant_notes'";