/[cvs]/nfo/php/libs/org.netfrag.app/WebExplorer/utils.php
ViewVC logotype

Diff of /nfo/php/libs/org.netfrag.app/WebExplorer/utils.php

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.1 by jonen, Sun Apr 6 01:28:04 2003 UTC revision 1.8 by jonen, Sun Dec 14 01:52:26 2003 UTC
# Line 4  Line 4 
4   * $Id$   * $Id$
5   *   *
6   * $Log$   * $Log$
7     * Revision 1.8  2003/12/14 01:52:26  jonen
8     * implemented 'SELECT' mode for selecting existing object-refereneces as child-nodes
9     *
10     * Revision 1.7  2003/07/02 12:32:27  jonen
11     * fixed bugs
12     *
13     * Revision 1.6  2003/05/10 18:17:19  jonen
14     * + added 'create/add new' links
15     *
16     * Revision 1.5  2003/04/18 13:38:40  jonen
17     * + added use of url::short function at 'decode_item_expr'
18     *
19     * Revision 1.4  2003/04/16 16:22:01  joko
20     * + introduced url::short
21     *
22     * Revision 1.3  2003/04/09 07:57:15  joko
23     * revamped 'function decode_item_expr'
24     * introduced shortcut 'link::store'
25     *
26     * Revision 1.2  2003/04/09 00:32:42  jonen
27     * some tests according to form rendering at the decode functions
28     *
29   * Revision 1.1  2003/04/06 01:28:04  jonen   * Revision 1.1  2003/04/06 01:28:04  jonen
30   * + initial commit   * + initial commit
31   * + moved decode functions here   * + moved decode functions here
# Line 30  Line 52 
52    
53    
54      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
55      function decode_item_array($item, $hidden_elements, $options) {      function decode_item_array(&$item, $hidden_elements, $options) {
56        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
57        //print "item: " . Dumper($item);        //print "item: " . Dumper($item);
58        //print "options: " . Dumper($options);        //print "options: " . Dumper($options);
# Line 40  Line 62 
62            // build list for selection form            // build list for selection form
63         if($options['form']) {         if($options['form']) {
64            foreach($item as $key => $value) {            foreach($item as $key => $value) {
65                  $tmp = split($options['seperator'], $value);                  $link_meta = php::untwingle_reference($value, $options);
66                  $ident = $tmp['1'];                  $link_vars = array(
67                  $meta = $tmp['2'];                                      'ecdid' => $link_meta[ident],
68                  $list[$key] = $ident;                                      'ecdm' => $link_meta[type]
69                                        );
70    
71                   foreach($hidden_elements as $label => $value) {
72                     $link_vars[$label] = $value;
73                   }
74    
75                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
76                    $link_guid = link::store($link_vars);
77    
78                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
79                    //$link_guid = url::short('', $link_vars);
80    
81                    $list[$key] = $link_guid;
82                  }                  }
83                  if(is_array($list) ) {                  if(is_array($list) ) {
84                $container = container(                $container = container(
85                    form_open( $item[0], $_SERVER["PHP_SELF"], "POST" ),                    //form_open( $item[0], $_SERVER['PHP_SELF'], "POST" ),
86                    form_hidden("ecdm", $meta),                    form_select("lbid", $list),
                   form_select("ecdid", $list),  
87                    form_submit("submit","view" )                    form_submit("submit","view" )
88                    );                    );
89                 foreach($hidden_elements as $label => $value) {                //$container->add(form_close() );
                  $container->add(form_hidden($label, $value));  
                }  
               $container->add(form_close() );  
90                $item = $container;                $item = $container;
91                }                }
92          } else {          } else {
93            //print "<b>2</b><br/>";            //print "<b>2</b><br/>";
94            $container = container();            $container = container();
95            foreach($item as $key => $value) {            
96                  $tmp = split($options['seperator'], $value);            // add default 'add new' link
97                  $ident = $tmp['1'];                  $link_vars_create = array(
98                  $meta = $tmp['2'];                                      'ecdid' => $options[label],
99                                                            'ecdm' => $options[parent_guid],
100                       $link_vars = array(                                      'ecdmx' => $options[parent_class],
101                                               'ecdid' => $ident,                                      'ecmod' => "create",
102                                               'ecdm' => $meta,                                      'ecat' => 'item'
103                                               );                                      );
104                         foreach($hidden_elements as $label => $value) {
105                           if(!$link_vars_create[$label]) {
106                           $link_vars_create[$label] = $value;
107                         }
108                         }
109                    $url_short = url::short($_SERVER["PHP_SELF"], $link_vars_create);
110                    $container->add(_HTML_SPACE, html_a( $url_short, $key . " add new"), html_br());              
111              
112              if(count($item) != 0) {
113                foreach($item as $key => $value) {
114                    $link_meta = php::untwingle_reference($value, $options);
115                    $link_vars = array(
116                                        'ecdid' => $link_meta[ident],
117                                        'ecdm' => $link_meta[type],
118                                        'ecat' => 'item'
119                                        );
120                                            
121                       foreach($hidden_elements as $label => $value) {                       foreach($hidden_elements as $label => $value) {
122                         $link_vars[$label] = $value;                         if(!$link_vars[$label]) {
123                           $link_vars[$label] = $value;
124                         }
125                         //$tmp_array[] = $label . "=" . $value;                         //$tmp_array[] = $label . "=" . $value;
126                       }                       }
127                                            
128                       //$str_hidden = join("&", $tmp_array);                       //$str_hidden = join("&", $tmp_array);
129                  //$container->add("->", html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, $key . " view"), html_br());                                //$container->add("->", html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, $key . " view"), html_br());              
130    
131                  // create new LinkBuilder instance and get link GUID by saving vars                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
132                  $linkbuilder = new LinkBuilder();                  //$link_guid = link::store($link_vars);
133                  $link_guid = $linkbuilder->save($link_vars);                  //$container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());              
134    
135                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
136                    $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
137                    $container->add( _HTML_SPACE, html_a( $url_short, $key . " - " . " view"), html_br());              
138                                    
139                  $container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());                            }
140            }            }
141            $item = $container;            $item = $container;
142          }          }
143              return $item;              //return $item;
144                return 1;
145        }        }
146      }      }
147    
148      // decodes serialized string representations of object-references      // decodes serialized string representations of object-references
149      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
150      function decode_item_expr($item, $hidden_elements, $options) {      function decode_item_expr(&$item, $hidden_elements, $options) {
151          
152          //return;
153          
154          // debug
155        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
156        //print "item: $item<br/>";        //print "item: $item<br/>";
       if(substr($item, 0, 2) == "o_") {  
           $tmp = split($options['seperator'], $item);  
           $ident = $tmp['1'];  
           $meta = $tmp['2'];  
   
           $link_vars = array(  
                                    'ecdid' => $ident,  
                                    'ecdm' => $meta,  
                                    );  
           foreach($hidden_elements as $label => $value) {  
              $link_vars[$label] = $value;  
              //$tmp_array[] = $label . "=" . $value;  
           }  
             
           //$str_hidden = join("&", $tmp_array);  
           //$item = html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, "view");  
   
           $linkbuilder = new LinkBuilder();  
           $link_guid = $linkbuilder->save($link_vars);  
           $item = html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, "view");  
157    
158            return $item;        if($item == "_REF") {
159            $link_vars_create = array(
160              'ecdid' => $options[label],
161              'ecdm' => $options[parent_guid],
162              'ecdmx' => $options[parent_class],
163              'ecmod' => "create",
164              'ecat' => 'item'
165            );
166            foreach($hidden_elements as $label => $value) {
167              if(!$link_vars_create[$label]) {
168               $link_vars_create[$label] = $value;
169              }
170                 }
171            $url_short = url::short($_SERVER["PHP_SELF"], $link_vars_create);
172            $item = html_a( $url_short,  " create");
173          } elseif($item == "_REF_SELECT") {
174            $link_vars_create = array(
175              'ecdid' => $options[label],
176              'ecdm' => $options[parent_guid],
177              'ecdmx' => $options[parent_class],
178              'ecmod' => "select",
179              'ecat' => 'list'
180            );
181            foreach($hidden_elements as $label => $value) {
182              if(!$link_vars_create[$label]) {
183               $link_vars_create[$label] = $value;
184              }
185                 }
186            $url_short = url::short($_SERVER["PHP_SELF"], $link_vars_create);
187            $item = html_a( $url_short,  " select");
188          } else {
189            // resolve 'o_{guid}_{classname}' - encoded string
190            $link_meta = php::untwingle_reference($item);
191            //print Dumper($link_meta);
192    
193            if (!is_array($link_meta)) {
194              //return $item;
195              //print "NO<br/>";
196              return;
197            }
198    
199            $link_vars = array(
200              'ecdid' => $link_meta[ident],
201              'ecdm' => $link_meta[type],
202              'ecat' => 'item'
203            );
204    
205            foreach($hidden_elements as $label => $value) {
206              if(!$link_vars[$label]) {
207                $link_vars[$label] = $value;
208              }
209            }
210          
211            // V1
212            //$str_hidden = join("&", $tmp_array);
213            //$item = html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, "view");
214    
215            // V2
216            //$link_guid = link::store($link_vars);
217            //$item = html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, "view");
218    
219             // V3 - more flexible - adjustable link shrinking via some constant defined elsewhere
220            $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
221            $item = html_a( $url_short,  " view");
222        }        }
223    
224          return 1;
225      }      }
226    
227    

Legend:
Removed from v.1.1  
changed lines
  Added in v.1.8

MailToCvsAdmin">MailToCvsAdmin
ViewVC Help
Powered by ViewVC 1.1.26 RSS 2.0 feed