14 |
* $Id$ |
* $Id$ |
15 |
* |
* |
16 |
* $Log$ |
* $Log$ |
17 |
|
* Revision 1.28 2004/10/07 14:11:28 jonen |
18 |
|
* + added HACK related to DataList-filters which are mapped to backend now (page-control!) |
19 |
|
* |
20 |
|
* Revision 1.27 2004/06/15 12:50:48 joko |
21 |
|
* disabled caching in "datasource_handler_call" |
22 |
|
* |
23 |
|
* Revision 1.26 2003/12/14 01:53:42 jonen |
24 |
|
* implemented 'SELECT' mode for selecting existing object-refereneces as child-nodes |
25 |
|
* |
26 |
* Revision 1.25 2003/11/17 18:01:03 jonen |
* Revision 1.25 2003/11/17 18:01:03 jonen |
27 |
* bugfix: php cannot use perl-syntax!! ;-) |
* bugfix: php cannot use perl-syntax!! ;-) |
28 |
* |
* |
444 |
*/ |
*/ |
445 |
|
|
446 |
//$this->set_locator( $locator ); |
//$this->set_locator( $locator ); |
447 |
|
//print "query: " . Dumper($query) . "<br>"; |
448 |
$this->set_query( $query ); |
$this->set_query( $query ); |
449 |
|
|
450 |
|
|
705 |
|
|
706 |
|
|
707 |
//$this->set_component_name( $proxy_name ); |
//$this->set_component_name( $proxy_name ); |
708 |
$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 ) ) ); |
709 |
//print Dumper($this); |
//print Dumper($this); |
710 |
//exit; |
//exit; |
711 |
|
|
767 |
$query_args[nodename] = $this->_query[ident]; |
$query_args[nodename] = $this->_query[ident]; |
768 |
$query_args[parent][guid] = $this->_query[parent][guid]; |
$query_args[parent][guid] = $this->_query[parent][guid]; |
769 |
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
770 |
|
} elseif($this->_query[parent]) { |
771 |
|
$query_args[guid] = $this->_query[ident]; |
772 |
|
$query_args[nodename] = $this->_query[nodename]; |
773 |
|
$query_args[parent][guid] = $this->_query[parent][guid]; |
774 |
|
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
775 |
} else { |
} else { |
776 |
$query_args[guid] = $this->_query[ident]; |
$query_args[guid] = $this->_query[ident]; |
777 |
$query_args[nodename] = $this->_query[nodename]; |
$query_args[nodename] = $this->_query[nodename]; |
778 |
// 2003-11-17 NEW: use expand flag for real obj expand at backend |
// 2003-11-17 NEW: use expand flag for real obj expand at backend |
779 |
if ($this->_query[expand]) {$query_args[expand] = 1; } |
if ($this->_query[expand]) {$query_args[expand] = 1; } |
780 |
} |
} |
781 |
|
//print "generic_source->debug: args " . Dumper($query_args) . "<br>"; |
782 |
break; |
break; |
783 |
case 'list': |
case 'list': |
784 |
if (!$this->_query[nodename]) { |
if (!$this->_query[nodename]) { |
785 |
$msg = "_query[vartype] == 'objects' requires _query[nodename]"; |
$msg = "_query[vartype] == 'objects' requires _query[nodename]"; |
786 |
user_error($msg_prefix . $msg); |
user_error($msg_prefix . $msg); |
787 |
|
} elseif($this->_query[parent]) { |
788 |
|
//if($this->_query[nodename]) { $query_args[node_class] = $this->_query[nodename]; } |
789 |
|
//if($this->_query['hash_key']) { $query_args['hash_key'] = $this->_query['hash_key']; } |
790 |
|
//$query_args[nodename] = $this->_query[ident]; |
791 |
|
$query_args[parent][guid] = $this->_query[parent][guid]; |
792 |
|
$query_args[parent][nodename] = $this->_query[parent][nodename]; |
793 |
} |
} |
794 |
//array_push($query_args, $this->_query[nodename]); |
//array_push($query_args, $this->_query[nodename]); |
795 |
$query_args[nodename] = $this->_query[nodename]; |
$query_args[nodename] = $this->_query[nodename]; |
826 |
$query_args[action] = $this->_query[action]; |
$query_args[action] = $this->_query[action]; |
827 |
} elseif ($this->_query[action] == 'create') { |
} elseif ($this->_query[action] == 'create') { |
828 |
$query_args[action] = $this->_query[action]; |
$query_args[action] = $this->_query[action]; |
829 |
|
} elseif ($this->_query[action] == 'select') { |
830 |
|
$query_args[action] = $this->_query[action]; |
831 |
} |
} |
832 |
|
|
833 |
$args = array( |
$args = array( |
919 |
|
|
920 |
// TODO: ... = $this->poll_handler_result and $this->get_handler_result |
// TODO: ... = $this->poll_handler_result and $this->get_handler_result |
921 |
$proxy = $this->get_proxy(); |
$proxy = $this->get_proxy(); |
922 |
$this->_result = $proxy->getResult(); |
//HACK 2004-10-07: page-filter done by backend now, |
923 |
|
// before offset values filled with empty arrays |
924 |
|
//$this->_result = $proxy->getResult(); |
925 |
|
$result = $proxy->getResult(); |
926 |
|
if($result['total_rows']) { |
927 |
|
// debug |
928 |
|
//print "result: " . Dumper($result); |
929 |
|
$this->_result_count = $result['total_rows']; |
930 |
|
if($result[offset]) { |
931 |
|
$result_new = array(); |
932 |
|
for($i=0;$i<$result[offset];$i++) { |
933 |
|
array_push($result_new, array()); |
934 |
|
} |
935 |
|
foreach($result['payload'] as $key => $value) { |
936 |
|
array_push($result_new, $value); |
937 |
|
} |
938 |
|
$this->_result = $result_new; |
939 |
|
} else { |
940 |
|
$this->_result = $result['payload']; |
941 |
|
} |
942 |
|
} else { |
943 |
|
$this->_result = $result; |
944 |
|
$this->_result_count = sizeof($this->_result); |
945 |
|
} |
946 |
|
//print "result: " . Dumper($this->_result); |
947 |
//print "result: " . Dumper($this->_result); exit; |
//print "result: " . Dumper($this->_result); exit; |
948 |
|
|
|
$this->_result_count = sizeof($this->_result); |
|
949 |
|
|
950 |
// trace |
// trace |
951 |
//if (constants::get('VERBOSE') && $this->_debug[notice]) { |
//if (constants::get('VERBOSE') && $this->_debug[notice]) { |