/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 classes/request.php

  • Committer: Suren A. Chilingaryan
  • Date: 2009-02-07 08:54:17 UTC
  • Revision ID: csa@dside.dyndns.org-20090207085417-b088uxuvcz49ezqy
Massive rewrite of DRAW (unfinished): multiple groups and axis

Show diffs side-by-side

added added

removed removed

Lines of Context:
69
69
 }
70
70
}
71
71
 
 
72
class REQUESTListConstructor implements Iterator {
 
73
 var $list;
 
74
 var $func;
 
75
 
 
76
 function __construct(REQUESTList $list, $func) {
 
77
    $this->list = $list;
 
78
    $this->func = $func;
 
79
 }
 
80
  
 
81
 function rewind() {
 
82
    $this->list->rewind();
 
83
 }
 
84
 
 
85
 function current() {
 
86
    $req = $this->list->current();
 
87
    return call_user_func(array($req, $this->func));
 
88
 }
 
89
 
 
90
 function key() {
 
91
    return $this->list->key();
 
92
 }
 
93
 
 
94
 function next() {
 
95
    $this->list->next();
 
96
 }
 
97
 
 
98
 function valid() {
 
99
    return $this->list->valid();
 
100
 }
 
101
}
 
102
 
 
103
 
 
104
 
72
105
class BASICRequest {
73
106
 var $props;
74
107
 
117
150
            return $default;
118
151
    }
119
152
 }
120
 
 
 
153
 
 
154
 static function GetGlobalOption($opt, $default = false) {
 
155
//    $opt = strtoupper($opt);
 
156
    if (isset($_GLOBALS[$opt])) return $_GLOBALS[$opt];
 
157
    return $default;
 
158
 }
 
159
  
121
160
 function GetProp($prop, $default = false) {
122
161
    if (isset($this->props[$prop])) return $this->props[$prop];
123
162
    return $default;
226
265
 }
227
266
 
228
267
 function CreateImageHelper() {
 
268
    global $ADEI;
 
269
    $ADEI->RequireClass("welcome", true);
229
270
    return new WELCOME($this);
230
271
 }
231
272
 
232
273
 function CreateTextPlotter() {
 
274
    global $ADEI;
 
275
    $ADEI->RequireClass("draw/drawtext");
233
276
    return new DRAWText($this);
234
277
 }
235
278
 
236
279
 function CreateSearcher() {
237
 
    global $ADEI_ROOTDIR;
238
 
    
239
 
    require_once($ADEI_ROOTDIR . "/classes/search.php");
240
 
    
 
280
    global $ADEI;
 
281
    $ADEI->RequireClass("search");
241
282
    return new SEARCH($this);
242
283
 }
243
284
 
268
309
 const NEED_COUNT = 0x0008;
269
310
 const NEED_ITEMINFO = 0x0010;
270
311
 const NEED_AXISINFO = 0x0020;
 
312
 const ONLY_AXISINFO = 0x0040;
271
313
 const LIST_VIRTUAL = 0x0100;
272
314
 const LIST_COMPLEX = 0x0200;
273
315
 const SKIP_UNCACHED = 0x0400;
799
841
 function GetLocationString() {
800
842
    return "Server: \"" . $this->props['db_server'] . "\" Database: \"" . $this->props['db_name'] . "\"";
801
843
 }
 
844
 
 
845
 function CreateGroupRequest(LOGGROUP $grp = NULL) {
 
846
    if ($grp) {
 
847
        $props = $this->props;
 
848
        $props['db_group'] = $grp->gid;
 
849
        return new GROUPRequest($props);
 
850
    }
 
851
 
 
852
    return parent::CreateGroupRequest();
 
853
 }
802
854
}
803
855
 
804
856
class GROUPRequest extends SOURCERequest {
839
891
    return $rdr->CreateGroup($ginfo);
840
892
 }
841
893
 
842
 
 function CreateCache(READER &$rdr = NULL) {
 
894
 function CreateCache(READER $rdr = NULL) {
843
895
    if ($this->srv['virtual']) {
844
896
        if (!$rdr) $rdr = $this->CreateReader();
845
897
        return $rdr->CreateCache();
848
900
    return new CACHE($this, $rdr);
849
901
 }
850
902
 
851
 
 function CreateCacheUpdater(READER &$rdr = NULL) {
 
903
 function CreateSimpleCacheSet(MASK $mask = NULL, CACHE $cache = NULL) {
 
904
    if (!$cache) $cache = $this->CreateCache();
 
905
    return new SIMPLECacheSet($cache, $mask);
 
906
 }
 
907
 
 
908
 function CreateCacheSet(REQUESTList $list) {
 
909
    return new REQUESTListCacheSet($list);
 
910
 }
 
911
 
 
912
 function CreateSimpleRequestSet(MASK $mask = NULL, LOGGROUP $grp = NULL) {
 
913
    $props = $this->props;
 
914
    if ($grp) $props['db_name'] = $grp->GetProp();
 
915
    if ($mask) $props['db_mask'] = $mask->GetProp();
 
916
    return new REQUESTList(array($props));
 
917
 }
 
918
 
 
919
 function CreateRequestSet(REQUESTList $list) {
 
920
    return $list;
 
921
 }
 
922
 
 
923
 function CreateCacheUpdater(READER $rdr = NULL) {
852
924
    if ($this->srv['virtual']) {
853
925
        if (!$rdr) $rdr = $this->CreateReader();
854
926
        return $rdr->CreateCache(NULL, CACHE::CREATE_UPDATER);
882
954
 }
883
955
 
884
956
 function CreatePlotter() {
 
957
    global $ADEI;
 
958
    $ADEI->RequireClass("draw");
 
959
 
885
960
    return new DRAW($this);
886
961
 }
887
962
 
908
983
 }
909
984
 
910
985
 function CreateExporter(STREAMObjectInterface &$h = NULL, &$format = NULL) {
 
986
    global $ADEI;
 
987
    $ADEI->RequireClass("export");
 
988
 
911
989
    return new EXPORT($this, $h, $format);
912
990
 }
913
991
}