Xaraya / Postnuke CVS Notices - Message

Note: this list is kept only as a demonstration for CVSNotice. For the latest CVS notices, see the Xaraya and Postnuke sites

View Statistics - Next Notice - Previous Notice

Directory filter : [ all ] / postnuke_official / html / modules / categories [ view in CVS ]

Date Directory [filter] File(s) [view] Author [filter]
29 Jul 2002 11:00:55postnuke_official/html/modules/categoriespnvisualapi.php,1.4,1.5Mike
 add visual listarray function (<ul><li>...</li> style)

Update of /home/cvsroot/postnuke_official/html/modules/categories
In directory ns7.hostnuke.net:/tmp/cvs-serv7664

Modified Files:
	pnvisualapi.php 
Log Message:
add visual listarray function (<ul><li>...</li> style)


Index: pnvisualapi.php
===================================================================
RCS file: /home/cvsroot/postnuke_official/html/modules/categories/pnvisualapi.php,v
retrieving revision 1.4
retrieving revision 1.5
diff -C2 -d -r1.4 -r1.5
*** pnvisualapi.php	29 Jul 2002 09:45:49 -0000	1.4
--- pnvisualapi.php	29 Jul 2002 11:00:53 -0000	1.5
***************
*** 284,287 ****
--- 284,382 ----
  
  /**
+  * Build array with visual tree of categories (<ul><li>...</li> style)
+  * for use in view maps etc.
+  *
+  *  -- INPUT --
+  * @param $args['cid'] The ID of the root category used for the tree
+  * @param $args['eid'] optional ID to exclude from the tree (e.g. the ID of
+  *                     your current category)
+  *
+  *  -- OUTPUT --
+  * @returns array
+  * @return array of array('id' => 123,
+  *                        'name' => 'My Cat',
+  *                        'beforetags' => '<ul><li> ',
+  *                        'aftertags' => ' </li></ul></ul>')
+  */
+ function categories_visualapi_listarray ($args)
+ {
+     // Load User API
+     if (!pnModAPILoad('categories', 'user')) {
+        pnSessionSetVar('errormsg', _LOADFAILED);
+        return false;
+     }
+ 
+     // Getting categories Array
+     $categories = pnModAPIFunc
+     (
+      'categories',
+      'user',
+      'getcat',
+      Array
+      (
+       'eid' => (isset($args['eid']))?$args['eid']:false,
+       'cid' => (isset($args['cid']))?$args['cid']:false,
+       'return_itself' => true,
+       'getchildren' => true
+      )
+     );
+ 
+     if ($categories === false) {// If it returned false
+        pnSessionSetVar('errormsg', _CATEGORYPROBLEM);
+        return false;
+     }
+ 
+     if (!empty($args['cid']) && is_numeric($args['cid'])) {
+         $root = $args['cid'];
+     } else {
+         $root = 0;
+         $startindent = 0;
+     }
+     $oldcid = 0;
+     $oldindent = 0;
+ 
+     $items = array();
+     $itemlist = array();
+     foreach ($categories as $category)
+     {
+         $itemlist[] = $category['cid'];
+         $items[$category['cid']] = array();
+         $items[$category['cid']]['id'] = $category['cid'];
+         $items[$category['cid']]['name'] = $category['name'];
+         $items[$category['cid']]['beforetags'] = '';
+         $items[$category['cid']]['aftertags'] = '';
+         if ($category['cid'] == $root) {
+             $startindent = $category['indentation'];
+         } else {
+             if ($category['indentation'] > $oldindent) {
+                 for ($i=$oldindent;$i<$category['indentation'];$i++) {
+                     $items[$category['cid']]['beforetags'] .= '<ul>';
+                 }
+             } elseif ($category['indentation'] < $oldindent && $oldcid > 0) {
+                 for ($i=$category['indentation'];$i<$oldindent;$i++) {
+                     $items[$oldcid]['aftertags'] .= '</ul>';
+                 }
+             }
+             $items[$category['cid']]['beforetags'] .= '<li> ';
+             $items[$category['cid']]['aftertags'] .= ' </li>';
+         }
+         $oldindent = $category['indentation'];
+         $oldcid = $category['cid'];
+     }
+     if ($oldcid > 0 && $oldindent > $startindent) {
+         for ($i=$startindent;$i<$oldindent;$i++) {
+             $items[$oldcid]['aftertags'] .= '</ul>';
+         }
+     }
+ 
+     $list_data = Array ();
+     foreach ($itemlist as $cid) {
+         $list_data[] = $items[$cid];
+     }
+ 
+     return $list_data;
+ }
+ 
+ /**
   * Visual Menu with Selects for the location of the category
   *


Directory filter : [ all ] / postnuke_official / html / modules / categories [ view in CVS ]

View Statistics - Next Notice - Previous Notice


Visit Developer Site - Browse CVS Repository Syndicate via backend.rss
(max. once per hour please)
Powered by CVSNotice 0.1.3