14 |
* $Id$ |
* $Id$ |
15 |
* |
* |
16 |
* $Log$ |
* $Log$ |
17 |
|
* Revision 1.29 2005/08/11 14:05:42 jonen |
18 |
|
* + added arguments to query |
19 |
|
* |
20 |
|
* Revision 1.28 2004/10/07 14:11:28 jonen |
21 |
|
* + added HACK related to DataList-filters which are mapped to backend now (page-control!) |
22 |
|
* |
23 |
|
* Revision 1.27 2004/06/15 12:50:48 joko |
24 |
|
* disabled caching in "datasource_handler_call" |
25 |
|
* |
26 |
|
* Revision 1.26 2003/12/14 01:53:42 jonen |
27 |
|
* implemented 'SELECT' mode for selecting existing object-refereneces as child-nodes |
28 |
|
* |
29 |
|
* Revision 1.25 2003/11/17 18:01:03 jonen |
30 |
|
* bugfix: php cannot use perl-syntax!! ;-) |
31 |
|
* |
32 |
|
* Revision 1.23 2003/07/14 10:02:32 jonen |
33 |
|
* removed debug dumper |
34 |
|
* |
35 |
* Revision 1.22 2003/06/06 04:25:45 joko |
* Revision 1.22 2003/06/06 04:25:45 joko |
36 |
* fix: query args get encapsulated once more |
* fix: query args get encapsulated once more |
37 |
* |
* |
447 |
*/ |
*/ |
448 |
|
|
449 |
//$this->set_locator( $locator ); |
//$this->set_locator( $locator ); |
450 |
|
//print "query: " . Dumper($query) . "<br>"; |
451 |
$this->set_query( $query ); |
$this->set_query( $query ); |
452 |
|
|
453 |
|
|
708 |
|
|
709 |
|
|
710 |
//$this->set_component_name( $proxy_name ); |
//$this->set_component_name( $proxy_name ); |
711 |
$this->set_component_options( $cache_key, array( key => 1, command => $command, query => $query, remote => 1, rpcinfo => $rpcinfo, cache => array( db => 0, session => 1 ) ) ); |
$this->set_component_options( $cache_key, array( key => 1, command => $command, query => $query, remote => 1, rpcinfo => $rpcinfo, cache => array( db => 0, session => 0 ) ) ); |
712 |
//print Dumper($this); |
//print Dumper($this); |
713 |
//exit; |
//exit; |
714 |
|
|
770 |
$query_args[nodename] = $this->_query[ident]; |
$query_args[nodename] = $this->_query[ident]; |
771 |
$query_args[parent][guid] = $this->_query[parent][guid]; |
$query_args[parent][guid] = $this->_query[parent][guid]; |
772 |
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
773 |
|
} elseif($this->_query[parent]) { |
774 |
|
$query_args[guid] = $this->_query[ident]; |
775 |
|
$query_args[nodename] = $this->_query[nodename]; |
776 |
|
$query_args[parent][guid] = $this->_query[parent][guid]; |
777 |
|
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
778 |
} else { |
} else { |
779 |
$query_args[guid] = $this->_query[ident]; |
$query_args[guid] = $this->_query[ident]; |
780 |
$query_args[nodename] = $this->_query[nodename]; |
$query_args[nodename] = $this->_query[nodename]; |
781 |
|
// 2003-11-17 NEW: use expand flag for real obj expand at backend |
782 |
|
if ($this->_query[expand]) {$query_args[expand] = 1; } |
783 |
} |
} |
784 |
|
//print "generic_source->debug: args " . Dumper($query_args) . "<br>"; |
785 |
break; |
break; |
786 |
case 'list': |
case 'list': |
787 |
if (!$this->_query[nodename]) { |
if (!$this->_query[nodename]) { |
788 |
$msg = "_query[vartype] == 'objects' requires _query[nodename]"; |
$msg = "_query[vartype] == 'objects' requires _query[nodename]"; |
789 |
user_error($msg_prefix . $msg); |
user_error($msg_prefix . $msg); |
790 |
|
} elseif($this->_query[parent]) { |
791 |
|
//if($this->_query[nodename]) { $query_args[node_class] = $this->_query[nodename]; } |
792 |
|
//if($this->_query['hash_key']) { $query_args['hash_key'] = $this->_query['hash_key']; } |
793 |
|
//$query_args[nodename] = $this->_query[ident]; |
794 |
|
$query_args[parent][guid] = $this->_query[parent][guid]; |
795 |
|
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
796 |
} |
} |
797 |
//array_push($query_args, $this->_query[nodename]); |
//array_push($query_args, $this->_query[nodename]); |
798 |
$query_args[nodename] = $this->_query[nodename]; |
$query_args[nodename] = $this->_query[nodename]; |
799 |
if($this->_query[list_meta]) { $query_args[list_meta] = $this->_query[list_meta]; } |
if($this->_query[list_meta]) { $query_args[list_meta] = $this->_query[list_meta]; } |
800 |
|
if(is_array($this->_query[owner])) { $query_args[owner] = $this->_query[owner]; } |
801 |
break; |
break; |
802 |
case 'tree': |
case 'tree': |
803 |
/* |
/* |
816 |
} |
} |
817 |
|
|
818 |
// filter??? |
// filter??? |
819 |
print "Filter: " . Dumper($this->_query[filter]) . "<br>"; |
//print "Filter: " . Dumper($this->_query[filter]) . "<br>"; |
820 |
if ($this->_query[filter]) { |
if ($this->_query[filter]) { |
821 |
$query_args[filter] = $this->_query[filter]; |
$query_args[filter] = $this->_query[filter]; |
822 |
} |
} |
823 |
|
|
824 |
// dispatch action |
// dispatch action |
825 |
print "Action: " . $this->_query[action] . "<br>"; |
//print "Action: " . $this->_query[action] . "<br>"; |
826 |
if ($this->_query[action] == 'write') { |
if ($this->_query[action] == 'write') { |
827 |
$query_args[action] = $this->_query[action]; |
$query_args[action] = $this->_query[action]; |
828 |
$query_args[data] = $this->_query[data]; |
$query_args[data] = $this->_query[data]; |
830 |
$query_args[action] = $this->_query[action]; |
$query_args[action] = $this->_query[action]; |
831 |
} elseif ($this->_query[action] == 'create') { |
} elseif ($this->_query[action] == 'create') { |
832 |
$query_args[action] = $this->_query[action]; |
$query_args[action] = $this->_query[action]; |
833 |
|
} elseif ($this->_query[action] == 'select') { |
834 |
|
$query_args[action] = $this->_query[action]; |
835 |
} |
} |
836 |
|
|
837 |
$args = array( |
$args = array( |
923 |
|
|
924 |
// TODO: ... = $this->poll_handler_result and $this->get_handler_result |
// TODO: ... = $this->poll_handler_result and $this->get_handler_result |
925 |
$proxy = $this->get_proxy(); |
$proxy = $this->get_proxy(); |
926 |
$this->_result = $proxy->getResult(); |
//HACK 2004-10-07: page-filter done by backend now, |
927 |
|
// before offset values filled with empty arrays |
928 |
|
//$this->_result = $proxy->getResult(); |
929 |
|
$result = $proxy->getResult(); |
930 |
|
if($result['total_rows']) { |
931 |
|
// debug |
932 |
|
//print "result: " . Dumper($result); |
933 |
|
$this->_result_count = $result['total_rows']; |
934 |
|
if($result[offset]) { |
935 |
|
$result_new = array(); |
936 |
|
for($i=0;$i<$result[offset];$i++) { |
937 |
|
array_push($result_new, array()); |
938 |
|
} |
939 |
|
foreach($result['payload'] as $key => $value) { |
940 |
|
array_push($result_new, $value); |
941 |
|
} |
942 |
|
$this->_result = $result_new; |
943 |
|
} else { |
944 |
|
$this->_result = $result['payload']; |
945 |
|
} |
946 |
|
} else { |
947 |
|
$this->_result = $result; |
948 |
|
$this->_result_count = sizeof($this->_result); |
949 |
|
} |
950 |
|
//print "result: " . Dumper($this->_result); |
951 |
//print "result: " . Dumper($this->_result); exit; |
//print "result: " . Dumper($this->_result); exit; |
952 |
|
|
|
$this->_result_count = sizeof($this->_result); |
|
953 |
|
|
954 |
// trace |
// trace |
955 |
//if (constants::get('VERBOSE') && $this->_debug[notice]) { |
//if (constants::get('VERBOSE') && $this->_debug[notice]) { |