WordPress.org

Plugin Directory

Changeset 422889


Ignore:
Timestamp:
08/13/11 10:45:52 (6 years ago)
Author:
lonewolfonline
Message:
 
Location:
folding-category-widget/trunk
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • folding-category-widget/trunk/focal_wp28.php

    r398546 r422889  
    88  var $pageCatCF = 'category';            // Custom field for pages 
    99  var $cacheVersion = '1.1.0';            // This does not change unless cache format changes 
    10   var $focalVersion = 'v2.0.1'; 
     10  var $focalVersion = 'v2.0.2'; 
    1111  var $debug = false; 
    1212  var $defaultOptions; 
     
    5454        if ($this->defaultOptions['IncludeAccordianJS']) 
    5555        { 
    56           wp_enqueue_script('accordian', WP_PLUGIN_URL . '/folding-category-widget/js/accordian.js', array('jquery')); 
     56        wp_enqueue_script('accordian', WP_PLUGIN_URL . '/folding-category-widget/js/accordian.js', array('jquery')); 
    5757          $this->add_action('wp_footer', 'accordian_activator'); 
    5858        } 
     
    7676  function widget($args, $instance)  
    7777  { 
    78     if ($this->debug) echo "<!-- FoCal Debug: Start Widget -->"; 
    79     extract($args, EXTR_SKIP); 
     78      if ($this->debug) echo "<!-- FoCal Debug: Start Widget -->"; 
     79      extract($args, EXTR_SKIP); 
    8080    $title = $instance['title']; 
    8181    $this->setting_number = $instance['definition']; 
     
    314314  {   
    315315    global $wpdb, $wp_query, $post; 
    316     $result = array(); 
    317     $a = 0; 
    318  
    319     $categorylist = get_categories(); 
     316      $result = array(); 
     317     
     318    $args = array( 
     319      'type'                     => 'post', 
     320      'hide_empty'               => 0, 
     321      'taxonomy'                 => 'category' 
     322    );             
     323 
     324      $categorylist = get_categories($args); 
    320325     
    321326    foreach ($categorylist as $item) 
    322327    { 
    323       $count = $this->GetCount($item->term_id); 
     328      $count = $this->GetCount($item->term_id); 
    324329      $countu = $count[1]; 
    325330      $counta = $count[0]; 
    326331       
    327       $subcategories = get_categories("parent=".$item->term_id); 
     332        $args = array( 
     333        'type'                     => 'post', 
     334        'hide_empty'               => 0, 
     335        'taxonomy'                 => 'category', 
     336        'parent'                   => $item->term_id 
     337      ); 
     338     
     339      $subcategories = get_categories($args); 
    328340 
    329341      if (count($subcategories) > 0) 
     
    337349        $description = '';        
    338350       
    339       $linkurl = get_category_link($item->term_id);  
    340       if (has_filter('focal_cat_link_url')) 
    341       { 
    342         $linkurl = apply_filters('focal_cat_link_url', $linkurl); 
    343       } 
    344  
    345       $result[] = $item->term_id . '#|#' . $item->cat_name . '#|#' . $description . '#|#' . $item->parent . '#|#' . $counta . '#|#' . $countu . '#|#' . $item->slug . '#|#' . $linkurl . '#|#' . $haschildren;  
     351        $linkurl = get_category_link($item->term_id);    
     352        if (has_filter('focal_cat_link_url')) 
     353        { 
     354            $linkurl = apply_filters('focal_cat_link_url', $linkurl); 
     355        } 
     356 
     357      $result[] = $item->term_id . '#|#' . $item->cat_name . '#|#' . $description . '#|#' . $item->parent . '#|#' . $counta . '#|#' . $countu . '#|#' . $item->slug . '#|#' . $linkurl . '#|#' . $haschildren . '#|#' . $item->term_order;  
    346358    }           
    347      
    348     $this->SaveATree($result); 
     359                      
     360    $this->SaveATree($result);  
    349361    return $result;   
    350362  } 
     
    374386            
    375387    /* sort if required */  
    376     if ($this->widgetOptions['OrderBy'] != 'mycategoryorder') 
    377     { 
    378       if (($this->widgetOptions['OrderBy'] != 'name') || ($this->widgetOptions['OrderByDirection'] != 'asc')) 
    379       { 
    380         switch ($this->widgetOptions['OrderBy']) 
    381         { 
    382           case 'name': $sortby = 1; break;  
    383           case 'id': $sortby = 0; break;  
    384           case 'description': $sortby = 2; break;  
    385           case 'slug': $sortby = 6; break;  
    386           case 'titlelength': $sortby = 7; break;  
    387           case 'postcount':  
    388             if ($this->widgetOptions['ShowPostCountUnique']) 
    389               $sortby = 5;  
    390             else 
    391               $sortby = 4;  
    392             break;  
    393           default: $sortby = 1; 
    394         }  
    395    
    396         if (is_array($this->theTree)) 
    397         { 
    398           foreach ($this->theTree as $menuitem) 
    399             $itemsexpanded[] = explode('#|#', $menuitem);   
    400      
    401           $itemsexpanded = $this->QuicksortTheTree($itemsexpanded, $sortby, 0, $this->widgetOptions['OrderByDirection']); 
    402          
    403           foreach ($itemsexpanded as $menuitem) 
    404             $newtree[] = implode('#|#', $menuitem); 
    405              
    406           $this->theTree = $newtree; 
    407         }   
    408       } 
     388    if (($this->widgetOptions['OrderBy'] != 'name') || ($this->widgetOptions['OrderByDirection'] != 'asc')) 
     389    { 
     390      switch ($this->widgetOptions['OrderBy']) 
     391      { 
     392        case 'name': $sortby = 1; break;  
     393        case 'id': $sortby = 0; break;  
     394        case 'description': $sortby = 2; break;  
     395        case 'slug': $sortby = 6; break;  
     396        case 'titlelength': $sortby = 7; break;  
     397        case 'mycategoryorder': $sortby = 9; break;  
     398        case 'postcount':  
     399          if ($this->widgetOptions['ShowPostCountUnique']) 
     400            $sortby = 5;  
     401          else 
     402            $sortby = 4;  
     403          break;  
     404        default: $sortby = 1; 
     405      }  
     406 
     407      if (is_array($this->theTree)) 
     408      { 
     409        foreach ($this->theTree as $menuitem) 
     410          $itemsexpanded[] = explode('#|#', $menuitem);   
     411   
     412        $itemsexpanded = $this->QuicksortTheTree($itemsexpanded, $sortby, 0, $this->widgetOptions['OrderByDirection']); 
     413       
     414        foreach ($itemsexpanded as $menuitem) 
     415          $newtree[] = implode('#|#', $menuitem); 
     416           
     417        $this->theTree = $newtree; 
     418      }   
    409419    } 
    410420     
    411421    $tree_id = $this->TreeID(); 
    412     if ($this->debug) echo "<!-- FoCal Debug: Pre Output Tree -->"; 
     422      if ($this->debug) echo "<!-- FoCal Debug: Pre Output Tree -->"; 
    413423    if ($this->debug) echo "<!-- FoCal Debug: Root Category = ".$this->widgetOptions['RootCategory']." -->"; 
    414     return $this->OutputTheTree($tree_id,$this->widgetOptions['RootCategory'],0); 
    415     $this->theTreeParental = null; 
     424 
     425    return $this->OutputTheTree($tree_id,$this->widgetOptions['RootCategory'],0); 
    416426  } 
    417427   
     
    943953    $post_count = 0; 
    944954   
    945     $children = get_categories('child_of=' . $category); 
     955    $children = get_categories('pad_counts=false&child_of=' . $category); 
    946956    $children[] = get_category($category); 
    947957    $subcatposts = array(); 
     
    10311041    { 
    10321042      $selectedWidget = $_POST['focalNumber'];      
    1033       $this->UpdateOptions($selectedWidget); 
     1043        $this->UpdateOptions($selectedWidget); 
    10341044    }  
    10351045    else if(!empty($_POST['focalDeleteSetting'])) 
     
    10381048      $this->RemoveWidgetOptions($selectedWidget);  
    10391049    }  
    1040     else if (!empty($_POST['focalNewDefinitionSubmit'])) 
    1041     { 
    1042       if (!empty($_POST['focalNewDefinition'])) 
     1050      else if (!empty($_POST['focalNewDefinitionSubmit'])) 
    10431051      { 
    1044         $newInstance = $_POST['focalNewDefinition']; 
     1052        if (!empty($_POST['focalNewDefinition'])) 
     1053        { 
     1054          $newInstance = $_POST['focalNewDefinition']; 
    10451055        $newInstance = strip_tags($newInstance); 
    1046         $newInstance = preg_replace('/[^a-zA-Z0-9\s]/', '', $newInstance); 
    1047         $newInstance = str_replace(' ', '', $newInstance); 
    1048  
    1049         // Load options into new instance 
    1050         $this->GetOptions($newInstance); 
     1056            $newInstance = preg_replace('/[^a-zA-Z0-9\s]/', '', $newInstance); 
     1057            $newInstance = str_replace(' ', '', $newInstance); 
     1058 
     1059            // Load options into new instance 
     1060            $this->GetOptions($newInstance); 
    10511061         
    1052         // Save instance so it can be modified later 
    1053         $this->UpdateOptions($newInstance); 
     1062            // Save instance so it can be modified later 
     1063            $this->UpdateOptions($newInstance); 
     1064        } 
    10541065      } 
    1055     } 
    1056   } 
     1066  } 
     1067   
    10571068  function RebuildCache() 
    10581069  { 
     
    11721183      $this->widgetOptions['ShowPostCount'] = ($_POST['focal_ShowPostCount'] == 'on'); 
    11731184      $this->widgetOptions['ShowPostCountUnique'] = ($_POST['focal_ShowPostCountUnique'] == 'on'); 
    1174       $this->widgetOptions['OutputCatIDs'] = ($_POST['focal_OutputCatIDs'] == 'on'); 
     1185      $this->widgetOptions['OutputCatIDs'] = ($_POST['focal_OutputCatIDs'] == 'on');    
    11751186      $this->widgetOptions['ShowEmptyCats'] = ($_POST['focal_ShowEmptyCats'] == 'on'); 
    11761187      $this->widgetOptions['NoFollowAllLinks'] = ($_POST['focal_NoFollowAllLinks'] == 'on'); 
     
    12411252    global $wpdb; 
    12421253     
    1243     // TODO - Escape this properly. $wpdb->prepare does not like LIKE % atm 
    1244     $querystr = 'SELECT option_name FROM '.$wpdb->prefix.'options WHERE option_name LIKE "'.$this->wdOptions.'%"'; 
     1254      // TODO - Escape this properly. $wpdb->prepare does not like LIKE % atm 
     1255    $querystr = 'SELECT option_name FROM '.$wpdb->prefix.'options WHERE option_name LIKE "'.$this->wdOptions.'%"'; 
    12451256    $result = $wpdb->get_results($querystr, ARRAY_A); 
    12461257     
    1247     $first = ''; 
    1248      
    1249     if ($result) 
     1258      $first = ''; 
     1259      $found = false; 
     1260       
     1261      if ($result) 
    12501262    { 
    12511263      foreach($result as $widgets) 
    12521264      { 
    1253         $name = $widgets['option_name']; 
     1265            $name = $widgets['option_name']; 
    12541266        $name = str_replace($this->wdOptions, '', $name); 
    1255         $name = strtolower($name); 
    1256          
    1257         if ($name) 
    1258         { 
    1259            if ($selectedWidget == $name) 
     1267            $name = strtolower($name); 
     1268 
     1269            if (($name != null) && ($name != '')) 
     1270        {          
     1271           if ($name == $selectedWidget) 
     1272           { 
    12601273             $sel = 'selected="selected"'; 
     1274             $found = true; 
     1275           } 
    12611276           else 
    1262              $sel = '';  
     1277           { 
     1278             $sel = ''; 
     1279           }  
    12631280           
    12641281           $options .= '<option value="' . $name . '" ' . $sel . '>' . $name . '</option>'; 
    12651282            
    1266            if (!empty($first)) 
    1267              $first = $name; 
     1283               if ($first == '') 
     1284                 $first = $name; 
    12681285        } 
    12691286      } 
    12701287    } 
    12711288     
    1272     if ($selectedWidget != '') 
    1273       $first = $selectedWidget; 
     1289      if (($selectedWidget != '') && ($found)) 
     1290        $first = $selectedWidget; 
    12741291       
    1275     return array($first, $options); 
     1292      return array($first, $options); 
    12761293  } 
    12771294   
     
    12871304    else 
    12881305      $selectedWidget = $_POST['focal_selectedWidget']; 
    1289      
     1306       
     1307      if (empty($selectedWidget)) 
     1308        $selectedWidget = 'default'; 
     1309         
    12901310    $definitions = $this->widget_GetSettingDefinitions($selectedWidget); 
    1291     $selectedWidget = $definitions[0]; 
     1311  $selectedWidget = $definitions[0]; 
    12921312    $options = $definitions[1]; 
    1293          
    1294     if (empty($selectedWidget)) 
    1295       $selectedWidget = 'default'; 
    1296          
    1297     $this->GetOptions($selectedWidget);  
     1313  $this->GetOptions($selectedWidget);  
    12981314?> 
    12991315    <div><div class="wrap"> 
  • folding-category-widget/trunk/readme.txt

    r398546 r422889  
    44Tags: categories, folding, category list, category management, category navigation, widget, sidebar, expanding, focal 
    55Requires at least: 2.8.0 
    6 Tested up to: 3.1.3 
    7 Stable tag: 2.0.1 
    8 Date: 17/06/2011 
     6Tested up to: 3.2.1 
     7Stable tag: 2.0.2 
     8Date: 13/08/2011 
    99 
    1010Enhanced Folding Category List for Wordpress 2.8+ 
  • folding-category-widget/trunk/wp23_folding_cats.php

    r398546 r422889  
    55Description: Enhanced Folding Category List for Wordpress  
    66Author: Tim Trott 
    7 Version: 2.0.1 
     7Version: 2.0.2 
    88Author URI: http://azuliadesigns.com/ 
    99 
Note: See TracChangeset for help on using the changeset viewer.