/[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.5 by jonen, Fri Apr 18 13:38:40 2003 UTC
# Line 4  Line 4 
4   * $Id$   * $Id$
5   *   *
6   * $Log$   * $Log$
7     * Revision 1.5  2003/04/18 13:38:40  jonen
8     * + added use of url::short function at 'decode_item_expr'
9     *
10     * Revision 1.4  2003/04/16 16:22:01  joko
11     * + introduced url::short
12     *
13     * Revision 1.3  2003/04/09 07:57:15  joko
14     * revamped 'function decode_item_expr'
15     * introduced shortcut 'link::store'
16     *
17     * Revision 1.2  2003/04/09 00:32:42  jonen
18     * some tests according to form rendering at the decode functions
19     *
20   * Revision 1.1  2003/04/06 01:28:04  jonen   * Revision 1.1  2003/04/06 01:28:04  jonen
21   * + initial commit   * + initial commit
22   * + moved decode functions here   * + moved decode functions here
# Line 30  Line 43 
43    
44    
45      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
46      function decode_item_array($item, $hidden_elements, $options) {      function decode_item_array(&$item, $hidden_elements, $options) {
47        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
48        //print "item: " . Dumper($item);        //print "item: " . Dumper($item);
49        //print "options: " . Dumper($options);        //print "options: " . Dumper($options);
# Line 40  Line 53 
53            // build list for selection form            // build list for selection form
54         if($options['form']) {         if($options['form']) {
55            foreach($item as $key => $value) {            foreach($item as $key => $value) {
56                  $tmp = split($options['seperator'], $value);                  $link_meta = php::untwingle_reference($value, $options);
57                  $ident = $tmp['1'];                  $link_vars = array(
58                  $meta = $tmp['2'];                                      'ecdid' => $link_meta[ident],
59                  $list[$key] = $ident;                                      'ecdm' => $link_meta[type]
60                                        );
61    
62                   foreach($hidden_elements as $label => $value) {
63                     $link_vars[$label] = $value;
64                   }
65    
66                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
67                    $link_guid = link::store($link_vars);
68    
69                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
70                    //$link_guid = url::short('', $link_vars);
71    
72                    $list[$key] = $link_guid;
73                  }                  }
74                  if(is_array($list) ) {                  if(is_array($list) ) {
75                $container = container(                $container = container(
76                    form_open( $item[0], $_SERVER["PHP_SELF"], "POST" ),                    //form_open( $item[0], $_SERVER['PHP_SELF'], "POST" ),
77                    form_hidden("ecdm", $meta),                    form_select("lbid", $list),
                   form_select("ecdid", $list),  
78                    form_submit("submit","view" )                    form_submit("submit","view" )
79                    );                    );
80                 foreach($hidden_elements as $label => $value) {                //$container->add(form_close() );
                  $container->add(form_hidden($label, $value));  
                }  
               $container->add(form_close() );  
81                $item = $container;                $item = $container;
82                }                }
83          } else {          } else {
84            //print "<b>2</b><br/>";            //print "<b>2</b><br/>";
85            $container = container();            $container = container();
86            foreach($item as $key => $value) {            foreach($item as $key => $value) {
87                  $tmp = split($options['seperator'], $value);                  $link_meta = php::untwingle_reference($value, $options);
88                  $ident = $tmp['1'];                  $link_vars = array(
89                  $meta = $tmp['2'];                                      'ecdid' => $link_meta[ident],
90                                                            'ecdm' => $link_meta[type]
91                       $link_vars = array(                                      );
                                              'ecdid' => $ident,  
                                              'ecdm' => $meta,  
                                              );  
92                                            
93                       foreach($hidden_elements as $label => $value) {                       foreach($hidden_elements as $label => $value) {
94                         $link_vars[$label] = $value;                         $link_vars[$label] = $value;
# Line 79  Line 98 
98                       //$str_hidden = join("&", $tmp_array);                       //$str_hidden = join("&", $tmp_array);
99                  //$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());              
100    
101                  // create new LinkBuilder instance and get link GUID by saving vars                    // V1 - create new LinkBuilder instance and get link GUID by saving vars  
102                  $linkbuilder = new LinkBuilder();                  //$link_guid = link::store($link_vars);
103                  $link_guid = $linkbuilder->save($link_vars);                  //$container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());              
104    
105                    // V2 - more flexible - adjustable link shrinking via some constant defined elsewhere
106                    $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
107                    $container->add("->", html_a( $url_short, $key . " view"), html_br());              
108                                    
                 $container->add("->", html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, $key . " view"), html_br());                
109            }            }
110            $item = $container;            $item = $container;
111          }          }
112              return $item;              //return $item;
113                return 1;
114        }        }
115      }      }
116    
117      // decodes serialized string representations of object-references      // decodes serialized string representations of object-references
118      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!      // TODO: refactor to Data::Lift - subcomponent: handling will get way more easy!
119      function decode_item_expr($item, $hidden_elements, $options) {      function decode_item_expr(&$item, $hidden_elements, $options) {
120          
121          //return;
122          
123          // debug
124        //$options = $this->_options['decode_args'];        //$options = $this->_options['decode_args'];
125        //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");  
126    
127            return $item;        // resolve 'o_{guid}_{classname}' - encoded string
128          $link_meta = php::untwingle_reference($item);
129          //print Dumper($link_meta);
130    
131          if (!is_array($link_meta)) {
132            //return $item;
133            //print "NO<br/>";
134            return;
135        }        }
136    
137          $link_vars = array(
138            'ecdid' => $link_meta[ident],
139            'ecdm' => $link_meta[type],
140          );
141    
142          foreach($hidden_elements as $label => $value) {
143            $link_vars[$label] = $value;
144          }
145          
146          // V1
147          //$str_hidden = join("&", $tmp_array);
148          //$item = html_a($_SERVER["PHP_SELF"] . "?ecdid=" . $ident . "&ecdm=" . $meta . "&" . $str_hidden, "view");
149    
150          // V2
151          //$link_guid = link::store($link_vars);
152          //$item = html_a($_SERVER["PHP_SELF"] . "?lbid=" . $link_guid, "view");
153    
154           // V3 - more flexible - adjustable link shrinking via some constant defined elsewhere
155          $url_short = url::short($_SERVER["PHP_SELF"], $link_vars);
156          $item = html_a( $url_short,  " view");              
157    
158          return 1;
159      }      }
160    
161    

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

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