r1837 + fix browsing "all" objects
authorDenis Ovsienko <infrastation@yandex.ru>
Wed, 26 Mar 2008 18:50:32 +0000 (18:50 +0000)
committerDenis Ovsienko <infrastation@yandex.ru>
Wed, 26 Mar 2008 18:50:32 +0000 (18:50 +0000)
+ fix missing globals

inc/database.php
inc/interface.php
inc/navigation.php
inc/pagetitles.php
index.php

index a3e854e..c4a5622 100644 (file)
@@ -49,11 +49,12 @@ function getObjectTypeList ()
 
 function getObjectList ($type_id = 0, $tagfilter = array())
 {
-       if (!count ($tagfilter))
-               $whereclause = '';
-       else
+       $whereclause = '';
+       if ($type_id != 0)
+               $whereclause = " and objtype_id = '${type_id}' ";
+       if (count ($tagfilter))
        {
-               $whereclause = ' and (';
+               $whereclause .= ' and (';
                $orclause = '';
                foreach ($tagfilter as $tag_id)
                {
@@ -70,7 +71,7 @@ function getObjectList ($type_id = 0, $tagfilter = array())
                "left join RackSpace on RackObject.id = object_id) " .
                "left join Rack on rack_id = Rack.id " .
                "left join TagStorage on RackObject.id = TagStorage.target_id and target_realm = 'object' " .
-               "where objtype_id = '${type_id}' and RackObject.deleted = 'no' and chapter_name = 'RackObjectType' " .
+               "where RackObject.deleted = 'no' and chapter_name = 'RackObjectType' " .
                $whereclause .
                "order by name";
        $result = useSelectBlade ($query);
@@ -639,12 +640,18 @@ function getObjectGroupInfo ()
                'group by dict_key order by dict_value';
        $result = useSelectBlade ($query);
        $ret = array();
+       $ret[0] = array ('id' => 0, 'name' => 'ALL types');
        $clist = array ('id', 'name', 'count');
+       $total = 0;
        while ($row = $result->fetch (PDO::FETCH_ASSOC))
                if ($row['count'] > 0)
+               {
+                       $total += $row['count'];
                        foreach ($clist as $dummy => $cname)
                                $ret[$row['id']][$cname] = $row[$cname];
+               }
        $result->closeCursor();
+       $ret[0]['count'] = $total;
        return $ret;
 }
 
index 66ea020..1371417 100644 (file)
@@ -1520,7 +1520,7 @@ function renderObjectGroupSummary ()
 
 function renderObjectSpace ()
 {
-       global $taglist, $tagtree;
+       global $root, $taglist, $tagtree;
        echo "<table border=0 class=objectview>\n";
        echo "<tr><td class=pcleft width='50%'>";
        startPortlet ('View all by type');
@@ -1580,7 +1580,15 @@ function renderObjectGroup ()
                foreach ($groupInfo as $gi)
                {
                        echo "<li><a href='${root}?page=${pageno}&group_id=${gi['id']}&tagfilter[]=${tagfilter_str}'>";
-                       echo "${gi['name']}</a> (${gi['count']})</li>";
+                       if ($gi['id'] == $group_id)
+                               echo '<strong>';
+                       echo "${gi['name']}</a>";
+                       if ($gi['id'] == $group_id)
+                               echo '</strong>';
+                       echo " (${gi['count']})";
+                       if ($gi['id'] == $group_id)
+                               echo ' &larr;';
+                       echo "</li>";
                }
                echo '</ul></div>';
        }
@@ -4826,6 +4834,7 @@ function renderTagRowForViewer ($taginfo, $realm, $level = 0)
 
 function renderTagRowForCloud ($taginfo, $realm, $level = 0)
 {
+       global $root;
        echo '<tr><td align=left>';
        for ($i = 0; $i < $level; $i++)
                printImageHREF ('spacer');
index c71a967..a799d36 100644 (file)
@@ -65,7 +65,7 @@ $ophandler['rack']['tags']['save'] = 'saveRackTags';
 $page['objgroup']['title_handler'] = 'dynamic_title_objgroup';
 $page['objgroup']['handler'] = 'renderObjectGroup';
 $page['objgroup']['bypass'] = 'group_id';
-$page['objgroup']['bypass_type'] = 'uint';
+$page['objgroup']['bypass_type'] = 'uint0';
 $page['objgroup']['parent'] = 'objects';
 
 $page['object']['title_handler'] = 'dynamic_title_object';
index efedbe7..9e86c05 100644 (file)
@@ -148,7 +148,7 @@ function dynamic_title_objgroup ()
        switch ($pageno)
        {
                case 'objgroup':
-                       assertUIntArg ('group_id');
+                       assertUIntArg ('group_id', TRUE);
                        $group_id = $_REQUEST['group_id'];
                        $groupInfo = getObjectGroupInfo();
                        if ($groupInfo == NULL)
index 62c640a..2058281 100644 (file)
--- a/index.php
+++ b/index.php
@@ -79,6 +79,9 @@ if (isset ($tabhandler[$pageno][$tabno]))
                        case 'uint':
                                assertUIntArg ($page[$pageno]['bypass']);
                                break;
+                       case 'uint0':
+                               assertUIntArg ($page[$pageno]['bypass'], TRUE);
+                               break;
                        default:
                                showError ("Dispatching error for bypass parameter");
                                break;