/adei/trunk

To get this branch, use:
bzr branch http://darksoft.org/webbzr/adei/trunk

« back to all changes in this revision

Viewing changes to services/menu.php

  • Committer: Suren A. Chilingaryan
  • Date: 2008-07-23 23:08:37 UTC
  • Revision ID: csa@dside.dyndns.org-20080723230837-0ummc05ybybbjlug
Minor refactoring: REQUEST/READER/CACHE listing flags, REQUEST listing functions, eliminating FETCH_BOTH fetches in DATABASE, support for partial menu generation

Show diffs side-by-side

added added

removed removed

Lines of Context:
25
25
 
26
26
try {
27
27
    $req = new REQUEST();
28
 
    $list = $req->GetSourceList(REQUEST::LIST_ALL);
 
28
    $list = $req->GetSources(REQUEST::LIST_ALL);
29
29
    
30
30
    $data = "";
31
31
    $source = "";
32
 
    $range = "";
33
32
    foreach ($list as $sreq) {
34
33
        $src_name = xml_escape($sreq->props['db_server'] . "." . $sreq->props['db_name']);
35
34
        $query = $sreq->props['db_server'] . "__" . $sreq->props['db_name'];
36
35
 
37
 
        $data .= "<MenuItem name=\"$src_name\" id=\"SetQuery__$query\" withoutImages=\"yes\">";
38
 
        $source .= "<MenuItem name=\"$src_name\" id=\"SetSource__$query\" withoutImages=\"yes\">";
 
36
        try {
 
37
            $s_data = "<MenuItem name=\"$src_name\" id=\"SetQuery__$query\" withoutImages=\"yes\">";
 
38
            $s_source = "<MenuItem name=\"$src_name\" id=\"SetSource__$query\" withoutImages=\"yes\">";
39
39
 
40
 
        $reader = $sreq->CreateReader();
41
 
        $groups = $reader->GetGroupList();
 
40
            $reader = $sreq->CreateReader();
 
41
            $groups = $reader->GetGroupList();
42
42
        
43
 
        $glist = $sreq->GetGroupList();
44
 
        foreach ($glist as $gid => $greq) {
45
 
            $group = &$groups[$gid];
46
 
            
47
 
            $gr_name = xml_escape($group['name']);
48
 
            $gquery = $query .  "__" . $gid;
49
 
            $data .= "<MenuItem name=\"$gr_name\" id=\"SetQuery__$gquery\" withoutImages=\"yes\">";
50
 
            $source .= "<MenuItem name=\"$gr_name\" id=\"SetSource__$gquery\" withoutImages=\"yes\">";
51
 
            
52
 
            $cache = $greq->CreateCache($reader);
53
 
            $explist = $cache->GetExperimentList();
54
 
 
55
 
 
56
 
            $mlist = $cache->GetMaskList();
57
 
            foreach ($mlist as $mid => $mask) {
58
 
                $mask_name = xml_escape($mask['name']);
59
 
                $mquery = $gquery .  "__" . $mid;
60
 
                $data .= "<MenuItem name=\"$mask_name\" id=\"SetQuery__$mquery\" withoutImages=\"yes\">";
61
 
                $source .= "<MenuItem name=\"$mask_name\" id=\"SetSource__$mquery\"/>";
62
 
                $data .= ListExperiments($explist, $mquery);
63
 
                $data .= "</MenuItem>";
64
 
            }
65
 
 
66
 
            if ($MENU_SHOW_ITEMS) {
67
 
                $data .= "<MenuItem name=\"" . _("Items") . "\" id=\"folder__$gquery\" withoutImages=\"yes\">";
68
 
                $source .= "<MenuItem name=\"" . _("Items") . "\" id=\"folder__$gquery\" withoutImages=\"yes\">";
69
 
            }
70
 
            
71
 
            $ilist = $cache->GetItemList();
72
 
            unset($aid);
73
 
            foreach ($ilist as $iid => &$item) {
74
 
                if (isset($aid)) $aid .= ",$iid";
75
 
                else $aid = $iid;
76
 
 
 
43
            $glist = $sreq->GetGroups();
 
44
            foreach ($glist as $gid => $greq) {
 
45
                $group = &$groups[$gid];
 
46
            
 
47
                $gr_name = xml_escape($group['name']);
 
48
                $gquery = $query .  "__" . $gid;
 
49
                $s_data .= "<MenuItem name=\"$gr_name\" id=\"SetQuery__$gquery\" withoutImages=\"yes\">";
 
50
                $s_source .= "<MenuItem name=\"$gr_name\" id=\"SetSource__$gquery\" withoutImages=\"yes\">";
 
51
            
 
52
                $cache = $greq->CreateCache($reader);
 
53
                $explist = $cache->GetExperimentList();
 
54
 
 
55
 
 
56
                $mlist = $cache->GetMaskList();
 
57
                foreach ($mlist as $mid => $mask) {
 
58
                    $mask_name = xml_escape($mask['name']);
 
59
                    $mquery = $gquery .  "__" . $mid;
 
60
                    $s_data .= "<MenuItem name=\"$mask_name\" id=\"SetQuery__$mquery\" withoutImages=\"yes\">";
 
61
                    $s_source .= "<MenuItem name=\"$mask_name\" id=\"SetSource__$mquery\"/>";
 
62
                    $s_data .= ListExperiments($explist, $mquery);
 
63
                    $s_data .= "</MenuItem>";
 
64
                }
 
65
 
 
66
                if ($MENU_SHOW_ITEMS) {
 
67
                    $s_data .= "<MenuItem name=\"" . _("Items") . "\" id=\"folder__$gquery\" withoutImages=\"yes\">";
 
68
                    $s_source .= "<MenuItem name=\"" . _("Items") . "\" id=\"folder__$gquery\" withoutImages=\"yes\">";
 
69
                }
 
70
            
 
71
                $ilist = $cache->GetItemList();
 
72
                unset($aid);
 
73
                foreach ($ilist as $iid => &$item) {
 
74
                    if (isset($aid)) $aid .= ",$iid";
 
75
                    else $aid = $iid;
 
76
 
 
77
                    if ($MENU_SHOW_ITEMS) {
 
78
                        $item_name = xml_escape($item["name"]);
 
79
                        $iquery = $gquery .  "__" . $iid;
 
80
                        $s_data .= "<MenuItem name=\"$item_name\" id=\"SetQuery__$iquery\" withoutImages=\"yes\">";
 
81
                        $s_source .= "<MenuItem name=\"$item_name\" id=\"SetSource__$iquery\" />";
 
82
                        $s_data .= ListExperiments($explist, $iquery);
 
83
                        $s_data .= "</MenuItem>";
 
84
                    }
 
85
                }
 
86
            
77
87
                if ($MENU_SHOW_ITEMS) {
78
 
                    $item_name = xml_escape($item["name"]);
79
 
                    $iquery = $gquery .  "__" . $iid;
80
 
                    $data .= "<MenuItem name=\"$item_name\" id=\"SetQuery__$iquery\" withoutImages=\"yes\">";
81
 
                    $source .= "<MenuItem name=\"$item_name\" id=\"SetSource__$iquery\" />";
82
 
                    $data .= ListExperiments($explist, $iquery);
83
 
                    $data .= "</MenuItem>";
 
88
                    $s_data .= "</MenuItem>";
 
89
                    $s_source .= "</MenuItem>";
84
90
                }
85
 
            }
86
 
            
87
 
            if ($MENU_SHOW_ITEMS) {
88
 
                $data .= "</MenuItem>";
89
 
                $source .= "</MenuItem>";
90
 
            }
91
 
 
92
 
            $aquery = $gquery .  "__" . $aid;
93
 
            $data .= "<MenuItem name=\"" . _("All Items") . "\" id=\"SetQuery__$aquery\" withoutImages=\"yes\">";
94
 
            $source .= "<MenuItem name=\"" . _("All Items") . "\" id=\"SetSource__$aquery\" />";
95
 
            $data .= ListExperiments($explist, $aquery);
96
 
            $data .= "</MenuItem>";
97
 
 
98
 
            $data .= "</MenuItem>";
99
 
            $source .= "</MenuItem>";
 
91
 
 
92
                $aquery = $gquery .  "__" . $aid;
 
93
                $s_data .= "<MenuItem name=\"" . _("All Items") . "\" id=\"SetQuery__$aquery\" withoutImages=\"yes\">";
 
94
                $s_source .= "<MenuItem name=\"" . _("All Items") . "\" id=\"SetSource__$aquery\" />";
 
95
                $s_data .= ListExperiments($explist, $aquery);
 
96
                $s_data .= "</MenuItem>";
 
97
 
 
98
                $s_data .= "</MenuItem>";
 
99
                $s_source .= "</MenuItem>";
 
100
            }
 
101
 
 
102
            $s_data .= "</MenuItem>";
 
103
            $s_source .= "</MenuItem>";
 
104
        } catch (ADEIException $ae) {
 
105
            $ae->logInfo(NULL, $req);
 
106
            $errmsg = xml_escape($ae->getInfo());
 
107
 
 
108
            $s_data = "
 
109
                <MenuItem name=\"$src_name\" withoutImages=\"yes\">
 
110
                    <MenuItem name=\"" . translate("Data source is failed, error: %s", $errmsg) . "\" withoutImages=\"yes\"/>
 
111
                </MenuItem>
 
112
            ";
 
113
        
 
114
            $s_source = $s_data;
100
115
        }
101
 
 
102
 
        $data .= "</MenuItem>";
103
 
        $source .= "</MenuItem>";
 
116
        
 
117
        $data .= $s_data;
 
118
        $source .= $s_source;
104
119
    }
105
120
 
106
 
    $range .= "<MenuItem name=\"" . _("All") . "\" id=\"SetWindow__0\"/>";
 
121
 
 
122
    $range = "<MenuItem name=\"" . _("All") . "\" id=\"SetWindow__0\"/>";
107
123
    foreach ($ADEI_TIMINGS as $opt => $value) {
108
124
        $range .= "<MenuItem name=\"$opt\" id=\"SetWindow__$value\"/>";
109
125
    }
131
147
    $export .= "<MenuItem name=\"" . _("Everything") . "\" id=\"SetExportMask__" . EXPORT::MASK_COMPLETE . "\"/>";
132
148
    $export .= "</MenuItem>";
133
149
 
134
 
 
135
150
} catch(ADEIException $ex) {
136
151
    $ex->logInfo(NULL, $req);
137
152
    $err = xml_escape($ex->getInfo());
141
156
    $menu = "<?xml version='1.0' ?>
142
157
<menu maxItems=\"1\" name=\"\">
143
158
 <MenuItem name=\"\" src=\"menu.png\" id=\"main_file\" width=\"20px\" withoutImages=\"yes\">
144
 
  <MenuItem name=\"Menu Generation is failed, error: " . $err . "\" id=\"folder__data\" withoutImages=\"yes\"/>
 
159
  <MenuItem name=\"" . translate("Menu Generation is failed, error: %s", $err) . "\" id=\"folder__data\" withoutImages=\"yes\"/>
145
160
 </MenuItem>
146
161
</menu>";
147
162
    echo $menu;