aliroFullAdminMenu Class Reference

List of all members.

Public Member Functions

 __construct ()
 show ()

Static Public Member Functions

static clearCache ()

Private Member Functions

 showLevel ($parent, $numbers, $liststart)

Private Attributes

 $entries = array()
 $base = ''
 $links = null


Detailed Description

Definition at line 8 of file aliroFullAdminMenu.php.


Constructor & Destructor Documentation

aliroFullAdminMenu::__construct (  ) 

Definition at line 13 of file aliroFullAdminMenu.php.

00013                                    {
00014     }


Member Function Documentation

aliroFullAdminMenu::show (  ) 

Show the menu

Definition at line 19 of file aliroFullAdminMenu.php.

References $_REQUEST, aliroCoreDatabase::getInstance(), aliroSingletonObjectCache::getInstance(), and aliroRequest::getInstance().

00019                            {
00020         $request = mos;
00021         $this->base = aliroRequest::getInstance()->getCfg('admin_site').'/';
00022         $cache = aliroSingletonObjectCache::getInstance();
00023         if ($cachedata = $cache->retrieve('aliroFullAdminMenu')) $results = $cachedata->results;
00024         else {      
00025             $coredatabase = aliroCoreDatabase::getInstance();
00026             $coredatabase->setQuery("SELECT * FROM #__admin_menu WHERE published = 1");
00027             $results = $coredatabase->loadObjectList();
00028             $cachedata = new stdClass();
00029             $cachedata->results = $results;
00030             $cache->store($cachedata, 'aliroFullAdminMenu');
00031         }
00032         $max = $chosen = 0;
00033         if ($results) foreach ($results as $result) {
00034             $mcount = 0;
00035             $this->entries[$result->id] = $result;
00036             $query = substr($result->link, 10);
00037             $elements = explode ('&', $query);
00038             foreach ($elements as $element) {
00039                 $parts = explode ('=', $element);
00040                 if (isset($_REQUEST[$parts[0]]) AND isset($parts[1]) AND $_REQUEST[$parts[0]] == $parts[1]) $mcount++;
00041             }
00042             if ($mcount > $max) {
00043                 $max = $mcount;
00044                 $chosen = $result->id;
00045             }
00046         }
00047         $numbers = array();
00048         while ($chosen) {
00049             $numbers[] = $chosen;
00050             $chosen = $this->entries[$chosen]->parent;
00051         }
00052         $this->showLevel(0, $numbers, "\n<ul id='nav'>");
00053         $html = '';
00054         if ($this->links) {
00055             foreach ($this->links as $link) $html .= $link;
00056         }
00057         return $html;
00058     }

aliroFullAdminMenu::showLevel ( parent,
numbers,
liststart 
) [private]

Definition at line 60 of file aliroFullAdminMenu.php.

References aliroAuthoriser::getInstance().

00060                                                                {
00061         $authoriser = aliroAuthoriser::getInstance();
00062         $trigger = false;
00063         foreach ($this->entries as $entry) {
00064             if ($entry->parent != $parent) continue;
00065             if (!$authoriser->checkUserPermission('see', 'aliroMenu', $entry->id)) continue;
00066             if (!$trigger) {
00067                 $this->links[] = $liststart;
00068                 $trigger = true;
00069             }
00070             if ('placeholder' == $entry->type) $this->links[] = "\n\t<li>$entry->name";
00071             elseif ('url' == $entry->type) $this->links[] = "\n\t<li><a href='{$entry->link}'>$entry->name</a>";
00072             else $this->links[] = "\n\t<li><a href='{$this->base}{$entry->link}'>$entry->name</a>";
00073             $this->showLevel($entry->id, $numbers, "\n<ul>");
00074             $this->links[] = "</li>";
00075         }
00076         if ($trigger) $this->links[] = "\n</ul>";
00077     }

static aliroFullAdminMenu::clearCache (  )  [static]

Definition at line 79 of file aliroFullAdminMenu.php.

References aliroSingletonObjectCache::getInstance().

00079                                          {
00080         $cache = aliroSingletonObjectCache::getInstance();
00081         $cache->delete('aliroFullAdminMenu');
00082     }


Member Data Documentation

aliroFullAdminMenu::$entries = array() [private]

Definition at line 9 of file aliroFullAdminMenu.php.

aliroFullAdminMenu::$base = '' [private]

Definition at line 10 of file aliroFullAdminMenu.php.

aliroFullAdminMenu::$links = null [private]

Definition at line 11 of file aliroFullAdminMenu.php.


The documentation for this class was generated from the following file:

Generated on Wed May 14 13:01:59 2008 for ALIRO by  doxygen 1.5.5