WordPress.org

Plugin Directory

Changeset 337351


Ignore:
Timestamp:
01/26/11 05:43:03 (3 years ago)
Author:
JustinSainton
Message:

Enqueuing stuff, fixed some taxonomy HTML and CSS, deprecated groups file, refactored most of categories display, added labels for product category. Left to do - make sure create/edit works for categories, make sure sort works...hint...it doesn't.

Location:
wp-e-commerce/branches/3.8-development
Files:
8 edited

Legend:

Unmodified
Added
Removed
  • wp-e-commerce/branches/3.8-development/wpsc-admin/admin.php

    r337335 r337351  
    254254        $pages = array( 'index.php', 'options-general.php', 'edit.php', 'post.php', 'post-new.php' ); 
    255255 
    256           if ( ( in_array( $pagehook, $pages ) && $post_type == 'wpsc-product' )  || $current_screen->id == 'dashboard_page_wpsc-sales-logs' || $current_screen->id == 'settings_page_wpsc-settings' || $current_screen->id == 'wpsc-product_page_wpsc-edit-coupons') { 
     256          if ( ( in_array( $pagehook, $pages ) && $post_type == 'wpsc-product' )  || $current_screen->id == 'edit-wpsc_product_category' || $current_screen->id == 'dashboard_page_wpsc-sales-logs' || $current_screen->id == 'settings_page_wpsc-settings' || $current_screen->id == 'wpsc-product_page_wpsc-edit-coupons') { 
    257257            wp_enqueue_script( 'livequery',                      WPSC_URL . '/wpsc-admin/js/jquery.livequery.js',             array( 'jquery' ), '1.0.3' ); 
    258258            wp_enqueue_script( 'wp-e-commerce-admin-parameters', $siteurl . '/wp-admin/admin.php?wpsc_admin_dynamic_js=true', false,             $version_identifier ); 
     
    267267        if('dashboard_page_wpsc-upgrades' == $pagehook) 
    268268            wp_enqueue_style( 'wp-e-commerce-admin',    WPSC_URL . '/wpsc-admin/css/admin.css', false, $version_identifier, 'all' ); 
    269         // Prototype breaks dragging and dropping, I need it gone 
    270     wp_deregister_script( 'prototype' ); 
     269       wp_deregister_script( 'prototype' ); 
    271270 
    272271        // remove the old javascript and CSS, we want it no more, it smells bad 
  • wp-e-commerce/branches/3.8-development/wpsc-admin/ajax-and-init.php

    r336734 r337351  
    18931893        $price = ''; 
    18941894 
    1895     if(isset($_GET['action']) && 'add' == $_GET['action']){ 
     1895    if( !isset( $_GET['action'] ) ) { 
    18961896    ?> 
    18971897    <div class="form-field"> 
    18981898        <label for="variation_price"><?php _e( 'Variation Price', 'wpsc' ); ?></label> 
    1899  
    19001899        <input type="text" name="variation_price" id="variation_price" style="width:50px;" value="<?php echo $price; ?>"><br /> 
    19011900        <span class="description"><?php _e( 'You can list a default price here for this variation.  You can list a regular price (18.99), differential price (+1.99 / -2) or even a percentage-based price (+50% / -25%).', 'wpsc' ); ?></span> 
    19021901    </div> 
    19031902    <?php 
    1904     }else{ 
     1903    } else{ 
    19051904    ?> 
    19061905    <tr class="form-field"> 
    1907         <th scope="row" valign="top"> 
     1906            <th scope="row" valign="top"> 
    19081907        <label for="variation_price"><?php _e( 'Variation Price', 'wpsc' ); ?></label> 
    1909         </td> 
    1910         <td> 
     1908            </th> 
     1909            <td> 
    19111910        <input type="text" name="variation_price" id="variation_price" style="width:50px;" value="<?php echo $price; ?>"><br /> 
    19121911        <span class="description"><?php _e( 'You can list a default price here for this variation.  You can list a regular price (18.99), differential price (+1.99 / -2) or even a percentage-based price (+50% / -25%).', 'wpsc' ); ?></span> 
    1913         </td> 
     1912            </td> 
    19141913    </tr> 
    19151914    <?php  
  • wp-e-commerce/branches/3.8-development/wpsc-admin/css/admin.css

    r337334 r337351  
    16971697    display:none; 
    16981698} 
    1699  
    1700 .wpsc_ie_field, .wpsc_inline_actions{ 
     1699input.wpsc_cat_image_size { 
     1700    width:40px 
     1701} 
     1702input.wpsc_cat_box { 
     1703    width:auto; 
     1704    margin:6px; 
     1705} 
     1706.wpsc_ie_field, .wpsc_inline_actions { 
    17011707    display:none; 
    17021708} 
    1703  
    17041709.wpsc_ie_field{ 
    17051710    width:100%; 
    17061711} 
    1707  
    1708 .wpsc_inline_actions .loading_indicator{ 
     1712.wpsc_inline_actions .loading_indicator { 
    17091713    position:relative; 
    17101714    top:3px; 
  • wp-e-commerce/branches/3.8-development/wpsc-admin/display-groups.page.php

    r334402 r337351  
    11<?php 
    2 /** 
    3  * WP eCommerce edit and add product category page functions 
    4  * 
    5  * These are the main WPSC Admin functions 
    6  * 
    7  * @package wp-e-commerce 
    8  * @since 3.7 
     2/* 
     3 * Deprecated file 
     4 * @since 3.8 
    95 */ 
    106 
    11 function wpsc_ajax_set_category_order(){ 
    12   global $wpdb; 
    13   $sort_order = $_POST['sort_order']; 
    14   $parent_id  = $_POST['parent_id']; 
    15    
    16   $result = true; 
    17   foreach($sort_order as $key=>$value){ 
    18     if(!wpsc_update_meta($value, 'sort_order', $key, 'wpsc_category')){ 
    19       $result = false;  
    20     } 
    21   } 
    22 } 
    23  
    24  
    25 /** 
    26  * wpsc_display_categories_page, assembles the category page 
    27  * @param nothing 
    28  * @return nothing 
    29  */ 
    30  
    31 function wpsc_display_categories_page() { 
    32     $output = ""; 
    33     $columns = array( 
    34         'img' =>  __('Image', 'wpsc'), 
    35         'title' => __('Name', 'wpsc') 
    36     ); 
    37     register_column_headers('display-categories-list', $columns);    
    38      
    39     ?> 
    40     <script language='javascript' type='text/javascript'> 
    41         function conf() { 
    42             var check = confirm("<?php _e('Are you sure you want to delete this category?', 'wpsc');?>"); 
    43             if(check) { 
    44                 return true; 
    45             } else { 
    46                 return false; 
    47             } 
    48         } 
    49            function categorySort(order, parent){ 
    50             var data = { 
    51                 action: 'category_sort_order', 
    52                 sort_order: order, 
    53                 parent_id: parent 
    54             }; 
    55  
    56             var id = '#debugData_'; 
    57             // Send an Ajax Request to get the WinRetail SQL Dump good for Debugging 
    58             jQuery.post(ajaxurl, data, function(response) { 
    59                 jQuery(id).append(response); 
    60             }); 
    61             return false; 
    62            } 
    63  
    64     </script> 
    65     <noscript></noscript> 
    66      
    67     <div class="wrap"> 
    68  
    69         <h2><?php echo esc_html( __('Product Categories', 'wpsc') );  
    70             if ( isset( $_GET["category_id"] ) ) { 
    71                 $sendback = remove_query_arg('category_id'); 
    72                 echo "<a class='button add-new-h2' href='".$sendback."' title='Add New'>".__('Add New', 'wpsc')."</a>"; 
    73             } 
    74         ?> </h2> 
    75              
    76     <?php if (isset($_GET['deleted']) || isset($_GET['message'])) { ?> 
    77             <div id="message" class="updated fade"> 
    78                 <p> 
    79                     <?php        
    80                     if ( isset($_GET['deleted']) ) { 
    81                         _e("Thanks, the category has been deleted", 'wpsc'); 
    82                         remove_query_arg('deleted'); 
    83                         unset($_GET['deleted']); 
    84                     } 
    85                      
    86                      
    87                     if ( isset($_GET['message']) ) { 
    88                         if ( 'empty_term_name' == $_GET['message'] ) 
    89                             _e("Please give a category name", 'wpsc'); 
    90                         elseif( 'term_exists' == $_GET['message']) 
    91                             _e('A term with the name provided already exists with this parent.','wpsc'); 
    92                         else 
    93                             _e("Thanks, the category has been edited", 'wpsc'); 
    94                         unset($_GET['message']); 
    95                         remove_query_arg('message'); 
    96                     } 
    97                      
    98                     $sendback = remove_query_arg( array('deleted', 'message') ); 
    99                     ?> 
    100                 </p> 
    101             </div> 
    102     <?php } ?> 
    103      
    104         <div id="col-container"> 
    105          
    106             <div id="col-right" style="width:39%"> 
    107                 <div class="col-wrap">       
    108                     <?php wpsc_admin_category_group_list();?> 
    109                 </div> 
    110             </div> 
    111              
    112             <div id="col-left" style="width:59%">            
    113                 <div class="col-wrap"> 
    114                     <div class="form-wrap"> 
    115                  
    116                 <?php if ( isset( $_GET["category_id"] ) ) { 
    117  
    118                         $product = get_term($_GET["category_id"], "wpsc_product_category" ); 
    119                          
    120                         $output .= "<h3 class='hndle'>".str_replace("[categorisation]", (stripslashes($product->name)), __('You are editing the &quot;[categorisation]&quot; Category', 'wpsc'))."</h3>\n\r";    
    121                         echo $output; 
    122                         }else{ 
    123                             echo "<h3>" . __('Add New Category', 'wpsc')."</h3>"; 
    124                         } ?> 
    125                 <form id="modify-category-groups" method="post" action="" enctype="multipart/form-data" > 
    126                     <?php 
    127                         $category_id = null; 
    128                         if (isset($_GET['category_id'])) 
    129                             $category_id = $_GET['category_id']; 
    130                         wpsc_admin_category_forms($category_id); 
    131                     ?> 
    132                 </form> 
    133                 <?php if ( isset( $category_id ) ) { echo "</div>";} ?> 
    134                         </div> 
    135                     </div><!-- form-wrap --> 
    136                 </div><!-- col-wrap" --> 
    137             </div><!-- col-left --> 
    138         </div>  <!-- col-container -->       
    139 <?php 
    140 } 
    141  
    142 /** 
    143  * wpsc_admin_category_group_list, prints the right hand side of the edit categories page 
    144  * @param nothing 
    145  * @return nothing 
    146  */ 
    147  
    148 function wpsc_admin_category_group_list() { 
    149    global $wpdb; 
    150   $category_list = wpsc_admin_get_category_array(); 
    151    
    152   ?> 
    153   <script type="text/javascript"> 
    154     jQuery(document).ready(function(){ 
    155       jQuery('#category_list_li').sortable({ 
    156         axis: 'y', 
    157         containment: 'parent', 
    158         handle: '.handle', 
    159         tolerance: 'pointer', 
    160         update: function(event, ui){ 
    161           categorySort(jQuery('#category_list_li').sortable('toArray'), 0); 
    162         } 
    163       }); 
    164     }); 
    165   </script> 
    166   <div id='poststuff' class='postbox'> 
    167     <h3 class='hndle'><?php _e('Product Categories', 'wpsc'); ?></h3> 
    168     <div class="inside"> 
    169       <ul id='category_list_li' class='ui-sortable'> 
    170         <?php  
    171  
    172         print wpsc_admin_list_category_array($category_list); ?> 
    173       </ul> 
    174     </div> 
    175   </div> 
    176   <?php 
    177 } 
    178  
    179 /** 
    180  *  Create the actual drag and drop list used for the admin category view 
    181  *  
    182  * @param array $categories 
    183  * @param int $level 
    184  * @return string $output 
    185  */ 
    186 function wpsc_admin_list_category_array($categories, $level = 0){ 
    187   $output = ''; 
    188   foreach($categories as $cat){ 
    189      
    190     $output .= "<li id='".$cat['id']."'>"; 
    191     $output .= "<div id='category-".$cat['id']."-container'>"; 
    192  
    193     $output .= "<div class='category_admin_list_img' id='category-".$cat['id']."-imgs'>"; 
    194     $output .= "<span title='click and drag to move' class='handle'>↕</span>"; 
    195     if($level > 0){ 
    196       $output .= "<img class='category_indenter' src='".WPSC_CORE_IMAGES_URL."/indenter.gif' alt='' title='' />"; 
    197     } 
    198     $output .= "<a class='row-title' href='".add_query_arg('category_id', $cat['id'])."'>"; 
    199     if(isset($cat['image'])){ 
    200       $output .= "<img src=\"".WPSC_CATEGORY_URL.stripslashes($cat['image'])."\" title='".$cat['name']."' alt='".$cat['name']."' width='30' height='30' />"; 
    201     }else{ 
    202       $output .= "<img src='".WPSC_CORE_IMAGES_URL."/no-image-uploaded.gif' title='".$cat['name']."' alt='".$cat['name']."' width='30' height='30' />"; 
    203     } 
    204     $output .= stripslashes($cat['name'])."</a>"; 
    205  
    206     $output .= "<div class='row-actions'><span class='edit'><a class='edit-product' style='cursor:pointer;' title='Edit This Category' href='".add_query_arg('category_id', $cat['id'])."'>". __('Edit', 'wpsc')."</a>"; 
    207     $output .= "</span> | <span class='edit'>"; 
    208     $nonced_url = wp_nonce_url("admin.php?wpsc_admin_action=wpsc-delete-category&amp;deleteid={$cat['id']}", 'delete-category'); 
    209     $output .=  "<a class='delete_button' style='text-decoration:none;' href='".$nonced_url."' onclick=\"return conf();\" >". __('Delete', 'wpsc')."</a>";  
    210     $output .=  "</span></div>"; 
    211     $output .= "</div>";     
    212     if(is_array($cat['children'])){ 
    213       $newhandle = "category-".$cat['id']."-children"; 
    214       $output .= <<<EOT 
    215   <script type="text/javascript"> 
    216     jQuery(document).ready(function(){ 
    217       jQuery('#{$newhandle}').sortable({ 
    218         axis: 'y', 
    219         containment: 'parent', 
    220         handle: '.handle', 
    221         tolerance: 'pointer', 
    222         update: function(event, ui){ 
    223           categorySort(jQuery('#{$newhandle}').sortable('toArray'), 0); 
    224         } 
    225       }); 
    226     }); 
    227   </script> 
    228 EOT; 
    229       $output .= "<ul id='{$newhandle}' class='ui-sortable'>"; 
    230       $output .= wpsc_admin_list_category_array($cat['children'], ($level + 1)); 
    231       $output .= "</ul>"; 
    232     } 
    233     $output .= "</div></li>"; 
    234  
    235   } 
    236   return $output; 
    237 } 
    238  
    239 /** 
    240  * wpsc_admin_get_category_array 
    241  * Recursively step through the categories and return it in a clean multi demensional array 
    242  * for use in other list functions 
    243  * @param int $parent_id 
    244  */ 
    245 function wpsc_admin_get_category_array($parent_id = null){ 
    246   global $wpdb; 
    247   
    248   $orderedList = array(); 
    249   if(!isset($parent_id)) $parent_id = 0; 
    250   $category_list = get_terms('wpsc_product_category','hide_empty=0&parent='.$parent_id); 
    251   if(!is_array($category_list)){ 
    252     return false; 
    253   } 
    254   foreach($category_list as $category){ 
    255     $category_order = wpsc_get_categorymeta($category->term_id, 'order'); 
    256     $category_image = wpsc_get_categorymeta($category->term_id, 'image'); 
    257     if(!isset($category_order) || $category_order == 0) $category_order = (count($orderedList) +1); 
    258     print "<!-- setting category Order number to ".$category_order."-->"; 
    259     $orderedList[$category_order]['id'] = $category->term_id; 
    260     $orderedList[$category_order]['name'] = $category->name; 
    261     $orderedList[$category_order]['image'] = $category_image; 
    262     $orderedList[$category_order]['parent_id'] = $parent_id; 
    263     $orderedList[$category_order]['children'] = wpsc_admin_get_category_array($category->term_id); 
    264   } 
    265  
    266   ksort($orderedList); 
    267   return($orderedList); 
    268 } 
    269   
    270  
    271  
    272 /* 
    273  * wpsc_admin_category_group_list, prints the left hand side of the edit categories page 
    274  * @param int $category_id the category ID 
    275  * nothing returned 
    276  */ 
    277 function wpsc_admin_category_forms($category_id =  null) { 
    278     global $wpdb; 
    279     $category_value_count = 0; 
    280     $category_name = ''; 
    281     $category = array(); 
    282      
    283     if($category_id > 0 ) { 
    284         $category_id = absint($category_id);         
    285              
    286         $category = get_term($category_id, 'wpsc_product_category', ARRAY_A); 
    287         $category['nice-name'] = wpsc_get_categorymeta($category['term_id'], 'nice-name'); 
    288         $category['description'] = wpsc_get_categorymeta($category['term_id'], 'description'); 
    289         $category['image'] = wpsc_get_categorymeta($category['term_id'], 'image'); 
    290         $category['fee'] = wpsc_get_categorymeta($category['term_id'], 'fee'); 
    291         $category['active'] = wpsc_get_categorymeta($category['term_id'], 'active'); 
    292         $category['order'] = wpsc_get_categorymeta($category['term_id'], 'order');   
    293         $category['display_type'] = wpsc_get_categorymeta($category['term_id'], 'display_type');     
    294         $category['image_height'] = wpsc_get_categorymeta($category['term_id'], 'image_height');     
    295         $category['image_width'] = wpsc_get_categorymeta($category['term_id'], 'image_width');   
    296     } 
    297      
    298     ?> 
    299  
    300     <div class="form-field"> 
    301         <label for="tag-name"><?php _e('Name', 'wpsc'); ?></label> 
    302         <input type='text'  class="text" size='40' name='name' value='<?php if(isset($category['name'])) echo $category['name']; ?>' /> 
    303     </div> 
    304      
    305     <div class="form-field"> 
    306         <label for="cat-parent"><?php _e('Description', 'wpsc'); ?></label> 
    307         <textarea name='description' cols='40' rows='8' ><?php if (isset($category['description'])) echo stripslashes($category['description']); ?></textarea> 
    308     </div> 
    309      
    310     <div class="form-field"> 
    311         <label for="parent"><?php _e('Category Parent', 'wpsc'); ?></label><?php 
    312                 $taxonomies = array('wpsc_product_category'); 
    313                 $args = array('orderby'=>'name', 'hide_empty' => 0); 
    314                 $parent = ''; 
    315                 $current_term_id = ''; 
    316                  
    317                 if (isset($category['parent'])) 
    318                     $parent = $category['parent']; 
    319                  
    320                 if (isset($category['term_id'])) 
    321                     $current_term_id = $category['term_id']; 
    322                  
    323                 $select = wpsc_parent_category_list($taxonomies, $args,$parent,$current_term_id); 
    324                 echo $select;?> 
    325     </div> 
    326  
    327     <h3><?php _e('Advanced Settings', 'wpsc'); ?></h3>   
    328  
    329     <div id="poststuff" class="postbox"> 
    330         <h3 class="hndle"><?php _e('Presentation Settings'); ?></h3> 
    331          
    332         <div class="inside"> 
    333             <input type='file' name='image' value='' /><br /><br /> 
    334          
    335                 <tr> 
    336                     <td> 
    337                         <?php _e('Catalog View', 'wpsc'); ?> 
    338                     </td> 
    339                     <td> 
    340                         <?php 
    341                     if (!isset($category['display_type'])) $category['display_type'] = ''; 
    342                          
    343                         if ($category['display_type'] == 'grid') { 
    344                             $display_type1="selected='selected'"; 
    345                         } else if ($category['display_type'] == 'default') { 
    346                             $display_type2="selected='selected'"; 
    347                         } 
    348                          
    349                         switch($category['display_type']) { 
    350                             case "default": 
    351                                 $category_view1 = "selected ='selected'"; 
    352                             break; 
    353                              
    354                             case "grid": 
    355                             if(function_exists('product_display_grid')) { 
    356                                 $category_view3 = "selected ='selected'"; 
    357                                 break; 
    358                             } 
    359                              
    360                             case "list": 
    361                             if(function_exists('product_display_list')) { 
    362                                 $category_view2 = "selected ='selected'"; 
    363                                 break; 
    364                             } 
    365                              
    366                             default: 
    367                                 $category_view0 = "selected ='selected'"; 
    368                             break; 
    369                         }?> 
    370                             <span class='small'><?php _e('To over-ride the presentation settings for this group you can enter in your prefered settings here', 'wpsc'); ?></span><br /><br /> 
    371      
    372                         <select name='display_type'>     
    373                             <option value=''<?php echo $category_view0; ?> ><?php _e('Please select', 'wpsc'); ?></option>   
    374                             <option value='default' <?php if (isset($category_view1)) echo $category_view1; ?> ><?php _e('Default View', 'wpsc'); ?></option>    
    375                              
    376                             <?php   if(function_exists('product_display_list')) {?>  
    377                                         <option value='list' <?php echo  $category_view2; ?>><?php _e('List View', 'wpsc'); ?></option>  
    378                             <?php   } else { ?> 
    379                                         <option value='list' disabled='disabled' <?php if (isset($category_view2)) echo $category_view2; ?>><?php _e('List View', 'wpsc'); ?></option> 
    380                             <?php   } ?> 
    381                             <?php if(function_exists('product_display_grid')) { ?> 
    382                                         <option value='grid' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php _e('Grid View', 'wpsc'); ?></option> 
    383                             <?php   } else { ?> 
    384                                         <option value='grid' disabled='disabled' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php  _e('Grid View', 'wpsc'); ?></option> 
    385                             <?php   } ?>     
    386                         </select><br /><br /> 
    387                     </td> 
    388                 </tr> 
    389              
    390              
    391             <?php   if(function_exists("getimagesize")) { ?> 
    392             <tr> 
    393                 <td> 
    394                     <?php _e('Thumbnail&nbsp;Size', 'wpsc'); ?>  
    395                 </td> 
    396                 <td> 
    397                     <?php _e('Height', 'wpsc'); ?> <input type='text' value='<?php if (isset($category['image_height'])) echo $category['image_height']; ?>' name='image_height' size='6'/>  
    398             <?php _e('Width', 'wpsc'); ?> <input type='text' value='<?php if (isset($category['image_width'])) echo $category['image_width']; ?>' name='image_width' size='6'/> <br/> 
    399                 </td> 
    400             </tr> 
    401             <?php   }  
    402              _e('Delete Image', 'wpsc'); ?><input type='checkbox' name='deleteimage' value='1' /><br/><br/> 
    403         </div> 
    404     </div>  
    405      
    406 <!--  SHORT CODE META BOX only display if product has been created --> 
    407   
    408 <?php if ( isset( $_GET["category_id"] ) ) {?> 
    409  
    410         <div id="poststuff" class="postbox"> 
    411             <h3 class="hndle"><?php _e('Shortcodes and Template Tags'); ?></h3> 
    412             <div class="inside"> 
    413                 <?php 
    414                 $output = ''; 
    415                 $product = get_term($_GET["category_id"], "wpsc_product_category" ); 
    416                 $output .= " <span class='wpscsmall description'>Template tags and Shortcodes are used to display a particular category or group within your theme / template or any wordpress page or post.</span>\n\r"; 
    417                 $output .="<div class='inside'>\n\r";   
    418                 $output .="<div class='editing_this_group form_table'>"; 
    419                 $output .="<dl>\n\r"; 
    420                 $output .="<dt>Display Category Shortcode: </dt>\n\r"; 
    421                 $output .="<dd> [wpsc_products category_url_name='{$product->slug}']</dd>\n\r"; 
    422                 $output .="<dt>Display Category Template Tag: </dt>\n\r"; 
    423                 $output .="<dd> &lt;?php echo wpsc_display_products_page(array('category_url_name'=>'{$product->slug}')); ?&gt;</dd>\n\r"; 
    424                 $output .="</dl>\n\r"; 
    425                 $output .= "</div></div>"; 
    426             $output .= "</div>"; 
    427         $output .= "</div>"; 
    428         echo $output;    
    429 }?> 
    430  
    431 <!-- START OF TARGET MARKET SELECTION --> 
    432 <div id="poststuff" class="postbox"> 
    433     <h3 class="hndle"><?php _e('Target Market Restrictions'); ?></h3> 
    434     <div class="inside"><?php 
    435         $category_id = '';   
    436         if (isset($_GET["category_id"])) $category_id = $_GET["category_id"];        
    437         $countrylist = $wpdb->get_results("SELECT id,country,visible FROM `".WPSC_TABLE_CURRENCY_LIST."` ORDER BY country ASC ",ARRAY_A); 
    438         $selectedCountries = wpsc_get_meta($category_id,'target_market','wpsc_category'); 
    439         $output = ''; 
    440         $output .= " <tr>\n\r"; 
    441         $output .= "    <td>\n\r"; 
    442         $output .= __('Target Markets', 'wpsc').":\n\r"; 
    443         $output .= "    </td>\n\r"; 
    444         $output .= "    <td>\n\r"; 
    445          
    446         if(@extension_loaded('suhosin')) { 
    447             $output .= "<em>".__("The Target Markets feature has been disabled because you have the Suhosin PHP extension installed on this server. If you need to use the Target Markets feature then disable the suhosin extension, if you can not do this, you will need to contact your hosting provider. 
    448             ",'wpsc')."</em>"; 
    449          
    450         } else { 
    451             $output .= "<span>Select: <a href='' class='wpsc_select_all'>All</a>&nbsp; <a href='' class='wpsc_select_none'>None</a></span><br />"; 
    452             $output .= "    <div id='resizeable' class='ui-widget-content multiple-select'>\n\r"; 
    453             foreach($countrylist as $country){ 
    454                 if(in_array($country['id'], (array)$selectedCountries)){ 
    455                     $output .= " <input type='checkbox' name='countrylist2[]' value='".$country['id']."'  checked='".$country['visible']."' />".$country['country']."<br />\n\r"; 
    456                 } else { 
    457                     $output .= " <input type='checkbox' name='countrylist2[]' value='".$country['id']."'  />".$country['country']."<br />\n\r"; 
    458                 } 
    459             } 
    460             $output .= " </div><br /><br />"; 
    461             $output .= " <span class='wpscsmall description'>Select the markets you are selling this category to.<span>\n\r"; 
    462         } 
    463         $output .= "   </td>\n\r"; 
    464         $output .= " </tr>\n\r"; 
    465  
    466         echo $output; 
    467         ?> 
    468     </div> 
    469 </div> 
    470  
    471 <!-- Checkout settings --> 
    472 <div id="poststuff" class="postbox"> 
    473     <h3 class="hndle"><?php _e('Checkout Settings', 'wpsc'); ?></h3> 
    474     <div class="inside"> 
    475         <table class='category_forms'> 
    476             <?php        
    477             if (!isset($category['term_id'])) $category['term_id'] = ''; 
    478                 $used_additonal_form_set = wpsc_get_categorymeta($category['term_id'], 'use_additonal_form_set'); ?> 
    479                 <tr> 
    480                     <td> 
    481                         <?php _e("This category requires additional checkout form fields",'wpsc'); ?> 
    482                     </td> 
    483                     <td> 
    484                         <select name='use_additonal_form_set'> 
    485                             <option value=''><?php _e("None",'wpsc'); ?></option> 
    486                             <?php        
    487                             $checkout_sets = get_option('wpsc_checkout_form_sets'); 
    488                             unset($checkout_sets[0]); 
    489                              
    490                             foreach((array)$checkout_sets as $key => $value) { 
    491                                 $selected_state = ""; 
    492                             if($used_additonal_form_set == $key) 
    493                                 $selected_state = "selected='selected'"; 
    494                              ?> 
    495                                 <option <?php echo $selected_state; ?> value='<?php echo $key; ?>'><?php echo stripslashes($value); ?></option> 
    496                             <?php  
    497                             }  
    498                             ?> 
    499                         </select> 
    500                     </td> 
    501                 </tr> 
    502             <?php $uses_billing_address = (bool)wpsc_get_categorymeta($category['term_id'], 'uses_billing_address'); ?> 
    503                 <tr> 
    504                     <td> 
    505                         <?php _e("Products in this category use the billing address to calculate shipping",'wpsc'); ?>  
    506                     </td> 
    507                     <td> 
    508                         <input type='radio' value='1' name='uses_billing_address' <?php echo (($uses_billing_address == true) ? "checked='checked'" : ""); ?> /><?php _e("Yes",'wpsc'); ?> 
    509                         <input type='radio' value='0' name='uses_billing_address' <?php echo (($uses_billing_address != true) ? "checked='checked'" : ""); ?> /><?php _e("No",'wpsc'); ?> 
    510                     </td> 
    511                 </tr> 
    512         </table> 
    513     </div> 
    514 </div> 
    515  
    516 <table class="category_forms"> 
    517     <tr> 
    518         <td> 
    519             <?php wp_nonce_field('edit-category', 'wpsc-edit-category'); ?> 
    520             <input type='hidden' name='wpsc_admin_action' value='wpsc-category-set' /> 
    521              
    522             <?php if($category_id > 0) { ?> 
    523             <?php 
    524                     $nonced_url = wp_nonce_url("admin.php?wpsc_admin_action=wpsc-delete-category&amp;deleteid={$category_id}", 'delete-category'); 
    525                     ?> 
    526                     <input type='hidden' name='category_id' value='<?php echo $category_id; ?>' /> 
    527                     <input type='hidden' name='submit_action' value='edit' /> 
    528                     <input class='button-primary' style='float:left;'  type='submit' name='submit' value='<?php _e('Edit Category', 'wpsc'); ?>' /> 
    529                     <a class='delete_button' style="text-decoration:none;" href='<?php echo $nonced_url; ?>' onclick="return conf();" ><?php _e('Delete', 'wpsc'); ?></a> 
    530             <?php } else { ?> 
    531                     <input type='hidden' name='submit_action' value='add' /> 
    532                     <input class='button-primary'  type='submit' name='submit' value='<?php _e('Add Category', 'wpsc');?>' /> 
    533             <?php } ?>     
    534         </td> 
    535     </tr> 
    536 </table> 
    537   <?php 
    538 } 
    539  
    540  
    5417?> 
  • wp-e-commerce/branches/3.8-development/wpsc-admin/includes/save-data.functions.php

    r334402 r337351  
    22 
    33/** 
    4  * WP eCommerce form and other data saving functions 
     4 * This file used for adding fields to the products category taxonomy page and saving those values correctly :) 
    55 * 
    6  * This is used for functions that save things like variation sets and product groups that would be too large to have in the ajax.php file. 
     6 * @package wp-e-commerce 
     7 * @since 3.8 
     8 * @todo UI needs a lot of loving - lots of padding issues, if we have these boxes, they should be sortable, closable, hidable, etc. 
     9 */ 
     10 
     11/** 
     12 * WP eCommerce edit and add product category page functions 
     13 * 
     14 * These are the main WPSC Admin functions 
    715 * 
    816 * @package wp-e-commerce 
    917 * @since 3.7 
    1018 */ 
    11   
    12   
     19 
     20function wpsc_ajax_set_category_order(){ 
     21  global $wpdb; 
     22  $sort_order = $_POST['sort_order']; 
     23  $parent_id  = $_POST['parent_id']; 
     24 
     25  $result = true; 
     26  foreach( $sort_order as $key=>$value ){ 
     27    if( !wpsc_update_meta( $value, 'sort_order', $key, 'wpsc_category' ) ) 
     28      $result = false; 
     29  } 
     30   
     31} 
     32 
    1333/** 
    14  * Saves the variation set data 
     34 * wpsc_display_categories_page, assembles the category page 
    1535 * @param nothing 
    1636 * @return nothing 
    1737 */ 
    18 function wpsc_save_variation_set() { 
    19     global $wpdb, $wp_rewrite; 
     38 
     39add_filter( 'manage_edit-wpsc_product_category_columns', 'wpsc_custom_category_columns' ); 
     40add_filter( 'manage_wpsc_product_category_custom_column', 'wpsc_custom_category_column_data', 10, 2); 
     41add_action( 'wpsc_product_category_add_form_fields', 'wpsc_admin_category_forms_add' ); // After left-col 
     42add_action( 'wpsc_product_category_edit_form_fields', 'wpsc_admin_category_forms_edit' ); // After left-col 
     43 
     44//add_action("created_wpsc_product_category", $term_id, $tt_id); //After created 
     45//add_action("edited_wpsc_product_category", $term_id, $tt_id); //After Saved 
     46 
     47/** 
     48 * wpsc_custom_category_columns 
     49 * Adds images column to category column. 
     50 * @internal Don't feel handle column is necessary, but you would add it here if you wanted to 
     51 * @param (array) columns | Array of columns assigned to this taxonomy 
     52 * @return (array) columns | Modified array of columns 
     53 */ 
     54 
     55function wpsc_custom_category_columns( $columns ) { 
     56    // Doing it this funny way to ensure that image stays in far left, even if other items are added via plugin. 
     57 
     58    $custom_array = array( 
     59        'image' => __( 'Image' ) 
     60    ); 
     61     
     62    $columns = array_merge( $custom_array, $columns ); 
     63     
     64    return $columns; 
     65} 
     66/** 
     67 * wpsc_custom_category_column_data 
     68 * Adds images to the custom category column 
     69 * @param (array) column_name | column name 
     70 * @return nada 
     71 */ 
     72 
     73function wpsc_custom_category_column_data( $column_name, $term_id ) { 
     74   global $current_screen; 
     75 
     76   echo '<img title="Drag to a new position" src="http://wpec.zaowebdesign.com/wp-content/plugins/wp-e-commerce/wpsc-core/images/no-image-uploaded.gif" alt="" width="38" height="38">'; 
     77 
     78} 
     79/** 
     80 *  Create the actual drag and drop list used for the admin category view 
     81 * 
     82 * @param array $categories 
     83 * @param int $level 
     84 * @return string $output 
     85 */ 
     86function wpsc_admin_list_category_array($categories, $level = 0){ 
     87  $output = ''; 
     88  foreach($categories as $cat){ 
     89 
     90    $output .= "<li id='".$cat['id']."'>"; 
     91    $output .= "<div id='category-".$cat['id']."-container'>"; 
     92 
     93    $output .= "<div class='category_admin_list_img' id='category-".$cat['id']."-imgs'>"; 
     94    $output .= "<span title='click and drag to move' class='handle'>↕</span>"; 
     95    if($level > 0){ 
     96      $output .= "<img class='category_indenter' src='".WPSC_CORE_IMAGES_URL."/indenter.gif' alt='' title='' />"; 
     97    } 
     98    $output .= "<a class='row-title' href='".add_query_arg('category_id', $cat['id'])."'>"; 
     99    if(isset($cat['image'])){ 
     100      $output .= "<img src=\"".WPSC_CATEGORY_URL.stripslashes($cat['image'])."\" title='".$cat['name']."' alt='".$cat['name']."' width='30' height='30' />"; 
     101    }else{ 
     102      $output .= "<img src='".WPSC_CORE_IMAGES_URL."/no-image-uploaded.gif' title='".$cat['name']."' alt='".$cat['name']."' width='30' height='30' />"; 
     103    } 
     104    $output .= stripslashes($cat['name'])."</a>"; 
     105 
     106    $output .= "<div class='row-actions'><span class='edit'><a class='edit-product' style='cursor:pointer;' title='Edit This Category' href='".add_query_arg('category_id', $cat['id'])."'>". __('Edit', 'wpsc')."</a>"; 
     107    $output .= "</span> | <span class='edit'>"; 
     108    $nonced_url = wp_nonce_url("admin.php?wpsc_admin_action=wpsc-delete-category&amp;deleteid={$cat['id']}", 'delete-category'); 
     109    $output .=  "<a class='delete_button' style='text-decoration:none;' href='".$nonced_url."' onclick=\"return conf();\" >". __('Delete', 'wpsc')."</a>"; 
     110    $output .=  "</span></div>"; 
     111    $output .= "</div>"; 
     112    if(is_array($cat['children'])){ 
     113      $newhandle = "category-".$cat['id']."-children"; 
     114      $output .= <<<EOT 
     115  <script type="text/javascript"> 
     116    jQuery(document).ready(function(){ 
     117      jQuery('#{$newhandle}').sortable({ 
     118        axis: 'y', 
     119        containment: 'parent', 
     120        handle: '.handle', 
     121        tolerance: 'pointer', 
     122        update: function(event, ui){ 
     123          categorySort(jQuery('#{$newhandle}').sortable('toArray'), 0); 
     124        } 
     125      }); 
     126    }); 
     127  </script> 
     128EOT; 
     129      $output .= "<ul id='{$newhandle}' class='ui-sortable'>"; 
     130      $output .= wpsc_admin_list_category_array($cat['children'], ($level + 1)); 
     131      $output .= "</ul>"; 
     132    } 
     133    $output .= "</div></li>"; 
     134 
     135  } 
     136  return $output; 
     137} 
     138 
     139/** 
     140 * wpsc_admin_get_category_array 
     141 * Recursively step through the categories and return it in a clean multi demensional array 
     142 * for use in other list functions 
     143 * @param int $parent_id 
     144 */ 
     145function wpsc_admin_get_category_array($parent_id = null){ 
     146  global $wpdb; 
     147 
     148  $orderedList = array(); 
     149  if(!isset($parent_id)) $parent_id = 0; 
     150  $category_list = get_terms('wpsc_product_category','hide_empty=0&parent='.$parent_id); 
     151  if(!is_array($category_list)){ 
     152    return false; 
     153  } 
     154  foreach($category_list as $category){ 
     155    $category_order = wpsc_get_categorymeta($category->term_id, 'order'); 
     156    $category_image = wpsc_get_categorymeta($category->term_id, 'image'); 
     157    if(!isset($category_order) || $category_order == 0) $category_order = (count($orderedList) +1); 
     158    print "<!-- setting category Order number to ".$category_order."-->"; 
     159    $orderedList[$category_order]['id'] = $category->term_id; 
     160    $orderedList[$category_order]['name'] = $category->name; 
     161    $orderedList[$category_order]['image'] = $category_image; 
     162    $orderedList[$category_order]['parent_id'] = $parent_id; 
     163    $orderedList[$category_order]['children'] = wpsc_admin_get_category_array($category->term_id); 
     164  } 
     165 
     166  ksort($orderedList); 
     167  return($orderedList); 
     168} 
     169 
     170/** 
     171 * wpsc_admin_category_group_list, prints the left hand side of the add categories page 
     172 * nothing returned 
     173 */ 
     174function wpsc_admin_category_forms_add() { 
     175    global $wpdb; 
     176    $category_value_count = 0; 
     177    ?> 
     178 
     179    <h3><?php _e('Advanced Settings', 'wpsc'); ?></h3> 
     180 
     181    <div id="poststuff" class="postbox"> 
     182        <h3 class="hndle"><?php _e('Presentation Settings'); ?></h3> 
     183 
     184        <div class="inside"> 
     185            <input type='file' name='image' value='' /><br /><br /> 
     186 
     187                <tr> 
     188                    <td> 
     189                        <?php _e('Catalog View', 'wpsc'); ?> 
     190                    </td> 
     191                    <td> 
     192                        <?php 
     193                    if (!isset($category['display_type'])) $category['display_type'] = ''; 
     194 
     195                        if ($category['display_type'] == 'grid') { 
     196                            $display_type1="selected='selected'"; 
     197                        } else if ($category['display_type'] == 'default') { 
     198                            $display_type2="selected='selected'"; 
     199                        } 
     200 
     201                        switch($category['display_type']) { 
     202                            case "default": 
     203                                $category_view1 = "selected ='selected'"; 
     204                            break; 
     205 
     206                            case "grid": 
     207                            if(function_exists('product_display_grid')) { 
     208                                $category_view3 = "selected ='selected'"; 
     209                                break; 
     210                            } 
     211 
     212                            case "list": 
     213                            if(function_exists('product_display_list')) { 
     214                                $category_view2 = "selected ='selected'"; 
     215                                break; 
     216                            } 
     217 
     218                            default: 
     219                                $category_view0 = "selected ='selected'"; 
     220                            break; 
     221                        }?> 
     222                            <span class='small'><?php _e('To over-ride the presentation settings for this group you can enter in your prefered settings here', 'wpsc'); ?></span><br /><br /> 
     223 
     224                        <select name='display_type'> 
     225                            <option value=''<?php echo $category_view0; ?> ><?php _e('Please select', 'wpsc'); ?></option> 
     226                            <option value='default' <?php if (isset($category_view1)) echo $category_view1; ?> ><?php _e('Default View', 'wpsc'); ?></option> 
     227 
     228                            <?php   if(function_exists('product_display_list')) {?> 
     229                                        <option value='list' <?php echo  $category_view2; ?>><?php _e('List View', 'wpsc'); ?></option> 
     230                            <?php   } else { ?> 
     231                                        <option value='list' disabled='disabled' <?php if (isset($category_view2)) echo $category_view2; ?>><?php _e('List View', 'wpsc'); ?></option> 
     232                            <?php   } ?> 
     233                            <?php if(function_exists('product_display_grid')) { ?> 
     234                                        <option value='grid' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php _e('Grid View', 'wpsc'); ?></option> 
     235                            <?php   } else { ?> 
     236                                        <option value='grid' disabled='disabled' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php  _e('Grid View', 'wpsc'); ?></option> 
     237                            <?php   } ?> 
     238                        </select><br /><br /> 
     239                    </td> 
     240                </tr> 
     241 
     242 
     243            <?php   if(function_exists("getimagesize")) { ?> 
     244            <tr> 
     245                <td> 
     246                    <?php _e('Thumbnail&nbsp;Size', 'wpsc'); ?> 
     247                </td> 
     248                <td> 
     249                    <?php _e('Width', 'wpsc'); ?> <input type='text' value='<?php if (isset($category['image_width'])) echo $category['image_width']; ?>' name='image_width' size='6'/> 
     250                                        <?php _e('Height', 'wpsc'); ?> <input type='text' value='<?php if (isset($category['image_height'])) echo $category['image_height']; ?>' name='image_height' size='6'/><br/> 
     251                                </td> 
     252            </tr> 
     253            <?php   } 
     254             _e('Delete Image', 'wpsc'); ?><input type='checkbox' name='deleteimage' value='1' /><br/><br/> 
     255        </div> 
     256    </div> 
     257 
     258<!--  SHORT CODE META BOX only display if product has been created --> 
     259 
     260<?php if ( isset( $_GET["tag_ID"] ) ) {?> 
     261 
     262        <div id="poststuff" class="postbox"> 
     263            <h3 class="hndle"><?php _e('Shortcodes and Template Tags'); ?></h3> 
     264            <div class="inside"> 
     265                <?php 
     266                $output = ''; 
     267                $product = get_term($_GET["category_id"], "wpsc_product_category" ); 
     268                $output .= " <span class='wpscsmall description'>Template tags and Shortcodes are used to display a particular category or group within your theme / template or any wordpress page or post.</span>\n\r"; 
     269                $output .="<div class='inside'>\n\r"; 
     270                $output .="<div class='editing_this_group form_table'>"; 
     271                $output .="<dl>\n\r"; 
     272                $output .="<dt>Display Category Shortcode: </dt>\n\r"; 
     273                $output .="<dd> [wpsc_products category_url_name='{$product->slug}']</dd>\n\r"; 
     274                $output .="<dt>Display Category Template Tag: </dt>\n\r"; 
     275                $output .="<dd> &lt;?php echo wpsc_display_products_page(array('category_url_name'=>'{$product->slug}')); ?&gt;</dd>\n\r"; 
     276                $output .="</dl>\n\r"; 
     277                $output .= "</div></div>"; 
     278            $output .= "</div>"; 
     279        $output .= "</div>"; 
     280        echo $output; 
     281}?> 
     282 
     283<!-- START OF TARGET MARKET SELECTION --> 
     284<div id="poststuff" class="postbox"> 
     285    <h3 class="hndle"><?php _e('Target Market Restrictions'); ?></h3> 
     286    <div class="inside"><?php 
     287        $category_id = ''; 
     288        if (isset($_GET["tag_ID"])) $category_id = $_GET["tag_ID"]; 
     289        $countrylist = $wpdb->get_results("SELECT id,country,visible FROM `".WPSC_TABLE_CURRENCY_LIST."` ORDER BY country ASC ",ARRAY_A); 
     290        $selectedCountries = wpsc_get_meta($category_id,'target_market','wpsc_category'); 
     291        $output = ''; 
     292        $output .= " <tr>\n\r"; 
     293        $output .= "    <td>\n\r"; 
     294        $output .= __('Target Markets', 'wpsc').":\n\r"; 
     295        $output .= "    </td>\n\r"; 
     296        $output .= "    <td>\n\r"; 
     297 
     298        if(@extension_loaded('suhosin')) { 
     299            $output .= "<em>".__("The Target Markets feature has been disabled because you have the Suhosin PHP extension installed on this server. If you need to use the Target Markets feature then disable the suhosin extension, if you can not do this, you will need to contact your hosting provider. 
     300            ",'wpsc')."</em>"; 
     301 
     302        } else { 
     303            $output .= "<span>Select: <a href='' class='wpsc_select_all'>All</a>&nbsp; <a href='' class='wpsc_select_none'>None</a></span><br />"; 
     304            $output .= "    <div id='resizeable' class='ui-widget-content multiple-select'>\n\r"; 
     305            foreach($countrylist as $country){ 
     306                if(in_array($country['id'], (array)$selectedCountries)){ 
     307                    $output .= " <input type='checkbox' name='countrylist2[]' value='".$country['id']."'  checked='".$country['visible']."' />".$country['country']."<br />\n\r"; 
     308                } else { 
     309                    $output .= " <input type='checkbox' name='countrylist2[]' value='".$country['id']."'  />".$country['country']."<br />\n\r"; 
     310                } 
     311            } 
     312            $output .= " </div><br /><br />"; 
     313            $output .= " <span class='wpscsmall description'>Select the markets you are selling this category to.<span>\n\r"; 
     314        } 
     315        $output .= "   </td>\n\r"; 
     316        $output .= " </tr>\n\r"; 
     317 
     318        echo $output; 
     319        ?> 
     320    </div> 
     321</div> 
     322 
     323<!-- Checkout settings --> 
     324<div id="poststuff" class="postbox"> 
     325    <h3 class="hndle"><?php _e('Checkout Settings', 'wpsc'); ?></h3> 
     326    <div class="inside"> 
     327        <table class='category_forms'> 
     328            <?php 
     329            if (!isset($category['term_id'])) $category['term_id'] = ''; 
     330                $used_additonal_form_set = wpsc_get_categorymeta($category['term_id'], 'use_additonal_form_set'); ?> 
     331                <tr> 
     332                    <td> 
     333                        <?php _e("This category requires additional checkout form fields",'wpsc'); ?> 
     334                    </td> 
     335                    <td> 
     336                        <select name='use_additonal_form_set'> 
     337                            <option value=''><?php _e("None",'wpsc'); ?></option> 
     338                            <?php 
     339                            $checkout_sets = get_option('wpsc_checkout_form_sets'); 
     340                            unset($checkout_sets[0]); 
     341 
     342                            foreach((array)$checkout_sets as $key => $value) { 
     343                                $selected_state = ""; 
     344                            if($used_additonal_form_set == $key) 
     345                                $selected_state = "selected='selected'"; 
     346                             ?> 
     347                                <option <?php echo $selected_state; ?> value='<?php echo $key; ?>'><?php echo stripslashes($value); ?></option> 
     348                            <?php 
     349                            } 
     350                            ?> 
     351                        </select> 
     352                    </td> 
     353                </tr> 
     354            <?php $uses_billing_address = (bool)wpsc_get_categorymeta($category['term_id'], 'uses_billing_address'); ?> 
     355                <tr> 
     356                    <td> 
     357                        <?php _e("Products in this category use the billing address to calculate shipping",'wpsc'); ?> 
     358                    </td> 
     359                    <td> 
     360                        <input type='radio' value='1' name='uses_billing_address' <?php echo (($uses_billing_address == true) ? "checked='checked'" : ""); ?> /><?php _e("Yes",'wpsc'); ?> 
     361                        <input type='radio' value='0' name='uses_billing_address' <?php echo (($uses_billing_address != true) ? "checked='checked'" : ""); ?> /><?php _e("No",'wpsc'); ?> 
     362                    </td> 
     363                </tr> 
     364        </table> 
     365    </div> 
     366</div> 
     367 
     368<table class="category_forms"> 
     369    <tr> 
     370        <td> 
     371            <?php wp_nonce_field('edit-category', 'wpsc-edit-category'); ?> 
     372            <input type='hidden' name='wpsc_admin_action' value='wpsc-category-set' /> 
     373        </td> 
     374    </tr> 
     375</table> 
     376  <?php 
     377} 
     378 
     379function wpsc_admin_category_forms_edit() { 
     380    global $wpdb; 
     381 
     382    $category_value_count = 0; 
     383    $category_name = ''; 
     384    $category = array(); 
     385            
     386        $category_id = absint( $_REQUEST["tag_ID"] ); 
     387        $category = get_term($category_id, 'wpsc_product_category', ARRAY_A); 
     388        $category['nice-name'] = wpsc_get_categorymeta($category['term_id'], 'nice-name'); 
     389        $category['description'] = wpsc_get_categorymeta($category['term_id'], 'description'); 
     390        $category['image'] = wpsc_get_categorymeta($category['term_id'], 'image'); 
     391        $category['fee'] = wpsc_get_categorymeta($category['term_id'], 'fee'); 
     392        $category['active'] = wpsc_get_categorymeta($category['term_id'], 'active'); 
     393        $category['order'] = wpsc_get_categorymeta($category['term_id'], 'order'); 
     394        $category['display_type'] = wpsc_get_categorymeta($category['term_id'], 'display_type'); 
     395        $category['image_height'] = wpsc_get_categorymeta($category['term_id'], 'image_height'); 
     396        $category['image_width'] = wpsc_get_categorymeta($category['term_id'], 'image_width'); 
    20397     
    21      
    22  
    23     /*  delete variation_value */ 
    24     if($_GET['delete_value'] == 'true') { 
    25         if(is_numeric($_GET['value_id'])) { 
    26             $value_id = absint($_GET['value_id']); 
    27             check_admin_referer("delete-variation-$value_id"); 
    28              
    29             $return_value = wp_delete_term($value_id, 'wpsc-variation'); 
    30             if($_POST['ajax'] == 'true') { 
    31                 echo (string)$value_id; 
    32                 exit(); 
    33             } 
    34         } 
    35     } 
    36      
    37     if(($_POST['submit_action'] == "add") || ($_POST['submit_action'] == "edit")) { 
    38         check_admin_referer('edit-variation', 'wpsc-edit-variation'); 
    39            
    40         /* add variation */ 
    41         if($_POST['submit_action'] == "add") { 
    42             $name = $_POST['name']; 
    43             $term = get_term_by('name', $name, 'wpsc-variation', ARRAY_A); 
    44             if(empty($term)) { 
    45                 $term = wp_insert_term( $name, 'wpsc-variation',array('parent' => 0)); 
    46             } 
    47              
    48             if(!empty($term)) {  
    49                 $variation_id = $term['term_id']; 
    50                 $variation_values = $_POST['new_variation_values']; 
    51                 $variation_value_sql_items = array(); 
    52                 foreach($variation_values as $variation_value) { 
    53                     $term = get_term_by('name', $variation_value, 'wpsc-variation', ARRAY_A); 
    54                     if(empty($term)) { 
    55                         $term = wp_insert_term( $variation_value, 'wpsc-variation',array('parent' => $variation_id)); 
    56                     } 
    57                 } 
    58             } 
    59         } 
    60          
    61         /* edit variation */ 
    62         if(($_POST['submit_action'] == "edit") && is_numeric($_POST['variation_id'])) { 
    63             $variation_id = absint($_POST['variation_id']); 
    64              
    65             $variation_set_name = $_POST['name']; 
    66             $term = get_term_by('name', $name, 'wpsc-variation', ARRAY_A); 
    67             if(empty($term)) { 
    68                 $term = wp_insert_term( $name, 'wpsc-variation',array('parent' => 0)); 
    69             } else { 
    70                 wp_update_term($variation_id, 'wpsc-variation', array( 
    71                     'name' => $variation_set_name 
    72                 )); 
    73             } 
    74              
    75             foreach($_POST['variation_values'] as $variation_value_id => $variation_value_name) { 
    76                 if(is_numeric($variation_value_id)) { 
    77                     $variation_value_id = absint($variation_value_id); 
    78                     wp_update_term($variation_value_id, 'wpsc-variation', array( 
    79                         'name' => $variation_value_name 
    80                     )); 
    81                 } 
    82                  
    83                 if($variation_value_state != $variation_value) { 
    84                 } 
    85             } 
    86              
    87             if($_POST['new_variation_values'] != null) { 
    88                 foreach($_POST['new_variation_values'] as $variation_value) { 
    89                     $term = get_term_by('name', $variation_value, 'wpsc-variation', ARRAY_A); 
    90                     if(empty($term)) { 
    91                         $term = wp_insert_term( $variation_value, 'wpsc-variation',array('parent' => $variation_id)); 
    92                     } 
    93                 } 
    94             } 
    95         } 
    96     } 
    97     $sendback = remove_query_arg(array( 
    98         'wpsc_admin_action', 
    99         'delete_value', 
    100         '_wpnonce', 
    101         'value_id' 
    102     )); 
    103      
    104     if($_GET['page'] == null) { 
    105         $sendback = add_query_arg('page', 'wpsc-edit-variations', $sendback); 
    106     } 
    107     $sendback = add_query_arg('message', 1, $sendback); 
    108     wp_redirect($sendback); 
    109 } 
    110  
     398 
     399    ?> 
     400 
     401        <tr> 
     402            <td colspan="2"> 
     403                <h3><?php _e( 'Advanced Settings', 'wpsc' ); ?></h3> 
     404            </td> 
     405        </tr> 
     406 
     407    <tr class="form-field"> 
     408            <th scope="row" valign="top"> 
     409        <label for="image"><?php _e( 'Category Image', 'wpsc' ); ?></label> 
     410            </th> 
     411            <td> 
     412        <input type='file' name='image' value='' /><br /> 
     413        <span class="description"><?php _e( 'You can set an image for the category here.', 'wpsc' ); ?></span> 
     414            </td> 
     415    </tr> 
     416 
     417    <tr class="form-field"> 
     418            <th scope="row" valign="top"> 
     419        <label for="display_type"><?php _e( 'Catalog View', 'wpsc' ); ?></label> 
     420            </th> 
     421            <td> 
     422        <?php 
     423                    //Could probably be *heavily* refactored later just to use do_action here and in GoldCart.  Baby steps. 
     424                    if (!isset($category['display_type'])) $category['display_type'] = ''; 
     425 
     426                        if ($category['display_type'] == 'grid') { 
     427                            $display_type1="selected='selected'"; 
     428                        } else if ($category['display_type'] == 'default') { 
     429                            $display_type2="selected='selected'"; 
     430                        } 
     431 
     432                        switch($category['display_type']) { 
     433                            case "default": 
     434                                $category_view1 = "selected ='selected'"; 
     435                            break; 
     436 
     437                            case "grid": 
     438                            if(function_exists('product_display_grid')) { 
     439                                $category_view3 = "selected ='selected'"; 
     440                                break; 
     441                            } 
     442 
     443                            case "list": 
     444                            if(function_exists('product_display_list')) { 
     445                                $category_view2 = "selected ='selected'"; 
     446                                break; 
     447                            } 
     448 
     449                            default: 
     450                                $category_view0 = "selected ='selected'"; 
     451                            break; 
     452                        } 
     453                                                ?> 
     454                        <select name='display_type'> 
     455                                <option value=''<?php echo $category_view0; ?> ><?php _e('Please select', 'wpsc'); ?></option> 
     456                                <option value='default' <?php if (isset($category_view1)) echo $category_view1; ?> ><?php _e( 'Default View', 'wpsc' ); ?></option> 
     457 
     458                                <?php   if(function_exists('product_display_list')) {?> 
     459                                                        <option value='list' <?php echo  $category_view2; ?>><?php _e('List View', 'wpsc'); ?></option> 
     460                                <?php   } else { ?> 
     461                                                        <option value='list' disabled='disabled' <?php if (isset($category_view2)) echo $category_view2; ?>><?php _e( 'List View', 'wpsc' ); ?></option> 
     462                                <?php   } ?> 
     463                                <?php if(function_exists('product_display_grid')) { ?> 
     464                                                        <option value='grid' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php _e( 'Grid View', 'wpsc' ); ?></option> 
     465                                <?php   } else { ?> 
     466                                                        <option value='grid' disabled='disabled' <?php if (isset($category_view3)) echo  $category_view3; ?>><?php  _e( 'Grid View', 'wpsc' ); ?></option> 
     467                                <?php   } ?> 
     468                        </select><br /> 
     469        <span class="description"><?php _e( 'To over-ride the presentation settings for this group you can enter in your prefered settings here', 'wpsc' ); ?></span> 
     470            </td> 
     471    </tr> 
     472        <tr class="form-field"> 
     473            <th scope="row" valign="top"> 
     474        <label for="image"><?php _e( 'Category Image', 'wpsc' ); ?></label> 
     475            </th> 
     476            <td> 
     477        <input type='file' name='image' value='' /><br /> 
     478                <label><input type='checkbox' name='deleteimage' class="wpsc_cat_box" value='1' /><?php _e( 'Delete Image', 'wpsc' ); ?></label><br/> 
     479        <span class="description"><?php _e( 'You can set an image for the category here.  If one exists, check the box to delete.', 'wpsc' ); ?></span> 
     480            </td> 
     481    </tr> 
     482        <?php if( function_exists( "getimagesize" ) ) : ?> 
     483        <tr class="form-field"> 
     484            <th scope="row" valign="top"> 
     485        <label for="image"><?php _e( 'Thumbnail Size', 'wpsc' ); ?></label> 
     486            </th> 
     487            <td> 
     488                <?php _e( 'Width', 'wpsc' ); ?> <input type='text' class="wpsc_cat_image_size" value='<?php if (isset($category['image_width'])) echo $category['image_width']; ?>' name='image_width' size='6' /> 
     489                <?php _e( 'Height', 'wpsc' ); ?> <input type='text' class="wpsc_cat_image_size" value='<?php if (isset($category['image_height'])) echo $category['image_height']; ?>' name='image_height' size='6' /><br/> 
     490           </td> 
     491    </tr> 
     492        <?php endif; // 'getimagesize' condition ?> 
     493    <tr> 
     494            <td colspan="2"><h3><?php _e( 'Shortcodes and Template Tags', 'wpsc' ); ?></h3></td> 
     495        </tr> 
     496 
     497        <tr class="form-field"> 
     498            <th scope="row" valign="top"> 
     499        <label for="image"><?php _e( 'Display Category Shortcode', 'wpsc' ); ?>:</label> 
     500            </th> 
     501            <td> 
     502                <span>[wpsc_products category_url_name='<?php echo $category["slug"]; ?>']</span><br /> 
     503        <span class="description"><?php _e( 'Shortcodes are used to display a particular category or group within any WordPress page or post.', 'wpsc' ); ?></span> 
     504            </td> 
     505    </tr> 
     506        <tr class="form-field"> 
     507            <th scope="row" valign="top"> 
     508        <label for="image"><?php _e( 'Display Category Template Tag', 'wpsc' ); ?>:</label> 
     509            </th> 
     510            <td> 
     511                <span>&lt;?php echo wpsc_display_products_page( array( 'category_url_name'=>'<?php echo $category["slug"]; ?>' ) ); ?&gt;</span><br /> 
     512        <span class="description"><?php _e( 'Template tags are used to display a particular category or group within your theme / template.', 'wpsc' ); ?></span> 
     513            </td> 
     514    </tr> 
     515 
     516<!-- START OF TARGET MARKET SELECTION --> 
     517 
     518        <tr> 
     519            <td colspan="2"> 
     520                <h3><?php _e( 'Target Market Restrictions', 'wpsc' ); ?></h3> 
     521            </td> 
     522        </tr> 
     523        <?php 
     524            $countrylist = $wpdb->get_results( "SELECT id,country,visible FROM `".WPSC_TABLE_CURRENCY_LIST."` ORDER BY country ASC ",ARRAY_A ); 
     525            $selectedCountries = wpsc_get_meta( $category_id,'target_market','wpsc_category' ); 
     526        ?> 
     527        <tr class="form-field"> 
     528            <th scope="row" valign="top"> 
     529        <label for="image"><?php _e( 'Target Markets', 'wpsc' ); ?>:</label> 
     530            </th> 
     531            <td> 
     532                <?php 
     533                    if ( @extension_loaded( 'suhosin' ) ) : 
     534                 ?> 
     535                <em><?php _e( 'The Target Markets feature has been disabled because you have the Suhosin PHP extension installed on this server. If you need to use the Target Markets feature, then disable the suhosin extension. If you can not do this, you will need to contact your hosting provider.','wpsc'); ?></em> 
     536 
     537                <?php 
     538                    else : 
     539                ?> 
     540        <span><?php _e( 'Select', 'wpsc' ); ?>: <a href='' class='wpsc_select_all'><?php _e( 'All', 'wpsc' ); ?></a>&nbsp; <a href='' class='wpsc_select_none'><?php _e( 'None', 'wpsc' ); ?></a></span><br /> 
     541        <div id='resizeable' class='ui-widget-content multiple-select'> 
     542                    <?php 
     543            foreach( $countrylist as $country ) { 
     544                            if( in_array( $country['id'], (array)$selectedCountries ) ) 
     545                                echo " <input type='checkbox' class='wpsc_cat_box' name='countrylist2[]' value='".$country['id']."'  checked='".$country['visible']."' />".$country['country']."<br />"; 
     546                            else 
     547                                echo " <input type='checkbox' class='wpsc_cat_box' name='countrylist2[]' value='".$country['id']."'  />".$country['country']."<br />"; 
     548                        } 
     549                    ?> 
     550        </div> 
     551                <? 
     552                    endif; 
     553                ?><br /> 
     554        <span class="description"><?php _e( 'Select the markets you are selling this category to.', 'wpsc' ); ?></span> 
     555            </td> 
     556    </tr> 
     557<!-- Checkout settings --> 
     558 
     559        <tr> 
     560            <td colspan="2"> 
     561                <h3><?php _e( 'Checkout Settings', 'wpsc' ); ?></h3> 
     562            </td> 
     563        </tr> 
     564        <?php 
     565            if ( !isset( $category['term_id'] ) ) 
     566                $category['term_id'] = ''; 
     567            $used_additonal_form_set = wpsc_get_categorymeta( $category['term_id'], 'use_additonal_form_set' ); 
     568            $checkout_sets = get_option('wpsc_checkout_form_sets'); 
     569            unset($checkout_sets[0]); 
     570            $uses_billing_address = (bool)wpsc_get_categorymeta( $category['term_id'], 'uses_billing_address' ); 
     571        ?> 
     572        <tr class="form-field"> 
     573            <th scope="row" valign="top"> 
     574        <label for="image"><?php _e( 'Category requires additional checkout form fields', 'wpsc' ); ?></label> 
     575            </th> 
     576            <td> 
     577                <select name='use_additonal_form_set'> 
     578                    <option value=''><?php _e( 'None', 'wpsc' ); ?></option> 
     579                    <?php 
     580                        foreach( (array) $checkout_sets as $key => $value ) { 
     581                            $selected_state = ""; 
     582                            if( $used_additonal_form_set == $key ) 
     583                                $selected_state = "selected='selected'"; 
     584                     ?> 
     585                    <option <?php echo $selected_state; ?> value='<?php echo $key; ?>'><?php echo stripslashes( $value ); ?></option> 
     586                    <?php 
     587                        } 
     588                    ?> 
     589                </select><br /> 
     590              </td> 
     591    </tr> 
     592 
     593        <tr class="form-field"> 
     594            <th scope="row" valign="top"> 
     595        <label for="image"><?php _e( 'Products in this category use the billing address to calculate shipping', 'wpsc' ); ?></label> 
     596            </th> 
     597            <td> 
     598                <input type='radio' class="wpsc_cat_box" value='1' name='uses_billing_address' <?php echo ( ( $uses_billing_address == true ) ? "checked='checked'" : "" ); ?> /><?php _e( 'Yes','wpsc' ); ?> 
     599                <input type='radio' class="wpsc_cat_box" value='0' name='uses_billing_address' <?php echo (($uses_billing_address != true) ? "checked='checked'" : ""); ?> /><?php _e( 'No','wpsc' ); ?> 
     600                <br /> 
     601      </td> 
     602    </tr> 
     603    <tr> 
     604        <td> 
     605            <?php wp_nonce_field('edit-category', 'wpsc-edit-category'); ?> 
     606            <input type='hidden' name='wpsc_admin_action' value='wpsc-category-set' /> 
     607        </td> 
     608    </tr> 
     609  <?php 
     610}  
    111611 
    112612/** 
     
    300800        'category_id' 
    301801    )); 
    302      
    303     if($_GET['page'] == null) { 
    304         $sendback = add_query_arg('page', 'wpsc-edit-variations', $sendback); 
    305     } 
    306      
    307802    $sendback = add_query_arg('message', 1, $sendback); 
    308803    wp_redirect($sendback); 
  • wp-e-commerce/branches/3.8-development/wpsc-admin/js/admin.js

    r337334 r337351  
    275275 
    276276    }); 
     277         if( pagenow == 'edit-wpsc_product_category' ) { 
     278          jQuery('table.tags').sortable({ 
     279            axis: 'y', 
     280            items : 'tr', 
     281            containment: 'table.tags tbody', 
     282            placeholder: 'product-placeholder', 
     283            cursor: 'move', 
     284            tolerance: 'pointer', 
     285            update: function(event, ui){ 
     286              categorySort(jQuery('table.tags').sortable('toArray'), 0); 
     287            } 
     288          }); 
     289 
     290          function categorySort(order, parent){ 
     291            var data = { 
     292                    action: 'category_sort_order', 
     293                    sort_order: order, 
     294                    parent_id: parent 
     295            }; 
     296 
     297            var id = '#debugData_'; 
     298 
     299            jQuery.post(ajaxurl, data, function(response) { 
     300                    jQuery(id).append(response); 
     301            }); 
     302            return false; 
     303       } 
     304 
     305          jQuery('form#addtag').attr('enctype', 'multipart/form-data'); 
     306      } 
    277307 
    278308    //Added for inline editing capabilities 
  • wp-e-commerce/branches/3.8-development/wpsc-core/wpsc-deprecated.php

    r334402 r337351  
    374374} 
    375375 
    376  
     376/** 
     377 * Saves the variation set data 
     378 * @param nothing 
     379 * @return nothing 
     380 */ 
     381function wpsc_save_variation_set() { 
     382    global $wpdb, $wp_rewrite; 
     383 
     384 
     385 
     386    /*  delete variation_value */ 
     387    if($_GET['delete_value'] == 'true') { 
     388        if(is_numeric($_GET['value_id'])) { 
     389            $value_id = absint($_GET['value_id']); 
     390            check_admin_referer("delete-variation-$value_id"); 
     391 
     392            $return_value = wp_delete_term($value_id, 'wpsc-variation'); 
     393            if($_POST['ajax'] == 'true') { 
     394                echo (string)$value_id; 
     395                exit(); 
     396            } 
     397        } 
     398    } 
     399 
     400    if(($_POST['submit_action'] == "add") || ($_POST['submit_action'] == "edit")) { 
     401        check_admin_referer('edit-variation', 'wpsc-edit-variation'); 
     402 
     403        /* add variation */ 
     404        if($_POST['submit_action'] == "add") { 
     405            $name = $_POST['name']; 
     406            $term = get_term_by('name', $name, 'wpsc-variation', ARRAY_A); 
     407            if(empty($term)) { 
     408                $term = wp_insert_term( $name, 'wpsc-variation',array('parent' => 0)); 
     409            } 
     410 
     411            if(!empty($term)) { 
     412                $variation_id = $term['term_id']; 
     413                $variation_values = $_POST['new_variation_values']; 
     414                $variation_value_sql_items = array(); 
     415                foreach($variation_values as $variation_value) { 
     416                    $term = get_term_by('name', $variation_value, 'wpsc-variation', ARRAY_A); 
     417                    if(empty($term)) { 
     418                        $term = wp_insert_term( $variation_value, 'wpsc-variation',array('parent' => $variation_id)); 
     419                    } 
     420                } 
     421            } 
     422        } 
     423 
     424        /* edit variation */ 
     425        if(($_POST['submit_action'] == "edit") && is_numeric($_POST['variation_id'])) { 
     426            $variation_id = absint($_POST['variation_id']); 
     427 
     428            $variation_set_name = $_POST['name']; 
     429            $term = get_term_by('name', $name, 'wpsc-variation', ARRAY_A); 
     430            if(empty($term)) { 
     431                $term = wp_insert_term( $name, 'wpsc-variation',array('parent' => 0)); 
     432            } else { 
     433                wp_update_term($variation_id, 'wpsc-variation', array( 
     434                    'name' => $variation_set_name 
     435                )); 
     436            } 
     437 
     438            foreach($_POST['variation_values'] as $variation_value_id => $variation_value_name) { 
     439                if(is_numeric($variation_value_id)) { 
     440                    $variation_value_id = absint($variation_value_id); 
     441                    wp_update_term($variation_value_id, 'wpsc-variation', array( 
     442                        'name' => $variation_value_name 
     443                    )); 
     444                } 
     445 
     446                if($variation_value_state != $variation_value) { 
     447                } 
     448            } 
     449 
     450            if($_POST['new_variation_values'] != null) { 
     451                foreach($_POST['new_variation_values'] as $variation_value) { 
     452                    $term = get_term_by('name', $variation_value, 'wpsc-variation', ARRAY_A); 
     453                    if(empty($term)) { 
     454                        $term = wp_insert_term( $variation_value, 'wpsc-variation',array('parent' => $variation_id)); 
     455                    } 
     456                } 
     457            } 
     458        } 
     459    } 
     460    $sendback = remove_query_arg(array( 
     461        'wpsc_admin_action', 
     462        'delete_value', 
     463        '_wpnonce', 
     464        'value_id' 
     465    )); 
     466 
     467    if($_GET['page'] == null) { 
     468        $sendback = add_query_arg('page', 'wpsc-edit-variations', $sendback); 
     469    } 
     470    $sendback = add_query_arg('message', 1, $sendback); 
     471    wp_redirect($sendback); 
     472} 
    377473 
    378474?> 
  • wp-e-commerce/branches/3.8-development/wpsc-core/wpsc-functions.php

    r334402 r337351  
    297297 
    298298    // Product categories, is heirarchical and can use permalinks 
    299      
     299    $labels = array( 
     300        'name' => _x( 'Product Categories', 'taxonomy general name' ), 
     301        'singular_name' => _x( 'Product Category', 'taxonomy singular name' ), 
     302        'search_items' => __( 'Search Product Categories' ), 
     303        'all_items' => __( 'All Product Categories' ), 
     304        'parent_item' => __( 'Parent Product Category' ), 
     305        'parent_item_colon' => __( 'Parent Product Category:' ), 
     306        'edit_item' => __( 'Edit Product Category' ), 
     307        'update_item' => __( 'Update Product Category' ), 
     308        'add_new_item' => __( 'Add New Product Category' ), 
     309        'new_item_name' => __( 'New Product Category Name' ) 
     310    ); 
    300311    register_taxonomy( 'wpsc_product_category', 'wpsc-product', array( 
    301312        'hierarchical' => true, 
     
    303314            'slug' => $wpsc_page_titles['products'], 
    304315            'with_front' => false 
    305         ) 
     316        ), 
     317            'labels' => $labels 
    306318    ) ); 
    307319    $labels = array( 
     
    329341    $role->add_cap( 'read_wpsc-product' ); 
    330342    $role->add_cap( 'read_wpsc-product-file' ); 
    331  
    332343} 
    333344add_action( 'init', 'wpsc_register_post_types', 8 ); 
Note: See TracChangeset for help on using the changeset viewer.