/[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.2 by jonen, Wed Apr 9 00:32:42 2003 UTC revision 1.6 by jonen, Sat May 10 18:17:19 2003 UTC
# Line 4  Line 4 
4   * $Id$   * $Id$
5   *   *
6   * $Log$   * $Log$
7     * Revision 1.6  2003/05/10 18:17:19  jonen
8     * + added 'create/add new' links
9     *
10     * Revision 1.5  2003/04/18 13:38:40  jonen
11     * + added use of url::short function at 'decode_item_expr'
12     *
13     * Revision 1.4  2003/04/16 16:22:01  joko
14     * + introduced url::short
15     *
16     * Revision 1.3  2003/04/09 07:57:15  joko
17     * revamped 'function decode_item_expr'
18     * introduced shortcut 'link::store'
19     *
20   * Revision 1.2  2003/04/09 00:32:42  jonen   * Revision 1.2  2003/04/09 00:32:42  jonen
21   * some tests according to form rendering at the decode functions   * some tests according to form rendering at the decode functions
22   *   *
# Line 33  Line 46 
46    
47    
48      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
49      function decode_item_array($item, $hidden_elements, $options) {      function decode_item_array(&$item, $hidden_elements, $options) {
50        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
51        //print "item: " . Dumper($item);        //print "item: " . Dumper($item);
52        //print "options: " . Dumper($options);        //print "options: " . Dumper($options);
# Line 43  Line 56 
56            // build list for selection form            // build list for selection form
57         if($options['form']) {         if($options['form']) {
58            foreach($item as $key => $value) {            foreach($item as $key => $value) {
59                  $tmp = split($options['seperator'], $value);                  $link_meta = php::untwingle_reference($value, $options);
                 $ident = $tmp['1'];  
                 $meta = $tmp['2'];  
   
60                  $link_vars = array(                  $link_vars = array(
61                                      'ecdid' => $ident,                                      'ecdid' => $link_meta[ident],
62                                      'ecdm' => $meta                                      'ecdm' => $link_meta[type]
63                                      );                                      );
64    
65                 foreach($hidden_elements as $label => $value) {                 foreach($hidden_elements as $label => $value) {
66                   $link_vars[$label] = $value;                   $link_vars[$label] = $value;
67                 }                 }
68    
69                  // create new LinkBuilder instance and get link GUID by saving vars                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
70                  $linkbuilder = new LinkBuilder();                  $link_guid = link::store($link_vars);
71                  $link_guid = $linkbuilder->save($link_vars);  
72                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
73                    //$link_guid = url::short('', $link_vars);
74    
75                  $list[$key] = $link_guid;                  $list[$key] = $link_guid;
76                  }                  }
# Line 74  Line 86 
86          } else {          } else {
87            //print "<b>2</b><br/>";            //print "<b>2</b><br/>";
88            $container = container();            $container = container();
89            foreach($item as $key => $value) {            
90                  $tmp = split($options['seperator'], $value);            // add default 'add new' link
91                  $ident = $tmp['1'];                  $link_vars_create = array(
92                  $meta = $tmp['2'];                                      'ecdid' => $options[label],
93                                                            'ecdm' => $options[parent_guid],
94                       $link_vars = array(                                      'ecdmx' => $options[parent_class],
95                                               'ecdid' => $ident,                                      'ecmod' => "create",
96                                               'ecdm' => $meta,                                      );
97                                               );                       foreach($hidden_elements as $label => $value) {
98                           if(!$link_vars_create[$label]) {
99                           $link_vars_create[$label] = $value;
100                         }
101                         }
102                    $url_short = url::short($_SERVER["PHP_SELF"], $link_vars_create);
103                    $container->add(_HTML_SPACE, html_a( $url_short, $key . " add new"), html_br());              
104              
105              if(count($item) != 0) {
106                foreach($item as $key => $value) {
107                    $link_meta = php::untwingle_reference($value, $options);
108                    $link_vars = array(
109                                        'ecdid' => $link_meta[ident],
110                                        'ecdm' => $link_meta[type]
111                                        );
112                                            
113                       foreach($hidden_elements as $label => $value) {                       foreach($hidden_elements as $label => $value) {
114                         $link_vars[$label] = $value;                         if(!$link_vars[$label]) {
115                           $link_vars[$label] = $value;
116                         }
117                         //$tmp_array[] = $label . "=" . $value;                         //$tmp_array[] = $label . "=" . $value;
118                       }                       }
119                                            
120                       //$str_hidden = join("&", $tmp_array);                       //$str_hidden = join("&", $tmp_array);
121                  //$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());              
122    
123                  // create new LinkBuilder instance and get link GUID by saving vars                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
124                  $linkbuilder = new LinkBuilder();                  //$link_guid = link::store($link_vars);
125                  $link_guid = $linkbuilder->save($link_vars);                  //$container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());              
126    
127                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
128                    $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
129                    $container->add( _HTML_SPACE, html_a( $url_short, $key . " - " . " view"), html_br());              
130                                    
131                  $container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());                            }
132            }            }
133            $item = $container;            $item = $container;
134          }          }
135              return $item;              //return $item;
136                return 1;
137        }        }
138      }      }
139    
140      // decodes serialized string representations of object-references      // decodes serialized string representations of object-references
141      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
142      function decode_item_expr($item, $hidden_elements, $options) {      function decode_item_expr(&$item, $hidden_elements, $options) {
143          
144          //return;
145          
146          // debug
147        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
148        //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");  
149    
150            return $item;        if($item == "_REF") {
151            $link_vars_create = array(
152              'ecdid' => $options[label],
153              'ecdm' => $options[parent_guid],
154              'ecdmx' => $options[parent_class],
155              'ecmod' => "create",
156            );
157            foreach($hidden_elements as $label => $value) {
158              if(!$link_vars_create[$label]) {
159               $link_vars_create[$label] = $value;
160              }
161                 }
162            $url_short = url::short($_SERVER["PHP_SELF"], $link_vars_create);
163            $item = html_a( $url_short,  " create");
164          } else {
165            // resolve 'o_{guid}_{classname}' - encoded string
166            $link_meta = php::untwingle_reference($item);
167            //print Dumper($link_meta);
168    
169            if (!is_array($link_meta)) {
170              //return $item;
171              //print "NO<br/>";
172              return;
173            }
174    
175            $link_vars = array(
176              'ecdid' => $link_meta[ident],
177              'ecdm' => $link_meta[type],
178            );
179    
180            foreach($hidden_elements as $label => $value) {
181              if(!$link_vars[$label]) {
182                $link_vars[$label] = $value;
183              }
184            }
185          
186            // V1
187            //$str_hidden = join("&", $tmp_array);
188            //$item = html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, "view");
189    
190            // V2
191            //$link_guid = link::store($link_vars);
192            //$item = html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, "view");
193    
194             // V3 - more flexible - adjustable link shrinking via some constant defined elsewhere
195            $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
196            $item = html_a( $url_short,  " view");
197        }        }
198    
199          return 1;
200      }      }
201    
202    

Legend:
Removed from v.1.2  
changed lines
  Added in v.1.6

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