/[cvs]/nfo/php/libs/org.netfrag.glib/Application/Request/Tracker.php
ViewVC logotype

Contents of /nfo/php/libs/org.netfrag.glib/Application/Request/Tracker.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Sat Mar 1 15:30:38 2003 UTC (21 years, 6 months ago) by joko
Branch: MAIN
+ initial commit, refactored from Application::RequestTracker

1 <?
2 /*
3 ## -----------------------------------------------------------------------------
4 ## $Id: RequestTracker.php,v 1.2 2003/03/01 15:17:26 jonen Exp $
5 ## -----------------------------------------------------------------------------
6 ## $Log: RequestTracker.php,v $
7 ## Revision 1.2 2003/03/01 15:17:26 jonen
8 ## + explorer pointers
9 ## + new proposal for internal data structure
10 ##
11 ## Revision 1.1 2003/02/28 04:14:48 joko
12 ## + initial commit
13 ##
14 ## -----------------------------------------------------------------------------
15 */
16
17
18 class Application_Request_Tracker {
19
20 // raw - $_GET and $_POST (merged)
21 var $request;
22
23 // variables to hold some stacks and pointers - two features / specs
24 // 1. are kept persistent (session!) under the hood (automagically)
25 // 2. plugin-namespace - this applies:
26 // $this->pointers[$name][...][...] =
27 // $this->stacks[$name][...][...] =
28 //var $pointers;
29 //var $stacks;
30 var $data;
31
32 function Application_Request_Tracker() {
33 session_register_safe('Application_Request_Tracker_data');
34 $this->load();
35 }
36
37 function load() {
38 global $Application_Request_Tracker_data;
39 $this->data = $Application_Request_Tracker_data;
40 if (!is_array($this->data)) {
41 $this->data = array();
42 }
43 }
44
45 function save() {
46 global $Application_Request_Tracker_data;
47 $Application_Request_Tracker_data = $this->data;
48 }
49
50 function setMark($data) {
51 $this->data[history][] = $data;
52 $this->setPointer();
53 $this->save();
54 }
55
56 function getHistory() {
57 return $this->data[history];
58 }
59
60 function setPointer($explicit = null) {
61 if (!$explicit) {
62 $this->data['pointer'] = $this->data[history][sizeof($this->data[history]) - 1];
63 }
64 //print "pointer: " . Dumper($this->data[pointer]) . "<br/>";
65 }
66
67 function _resetPointer() {
68 unset($this->data[pointer]);
69 }
70
71 function getPointer() {
72 return $this->data[pointer];
73 }
74
75 function getPointerAsString($pointer = null) {
76 if (!$pointer) {
77 $pointer = $this->data[pointer];
78 }
79 if (is_array($pointer[component])) {
80 $s_component = "<b>component:</b> " . join(', ', $pointer[component]);
81 }
82 if (is_array($pointer[request])) {
83 $s_request = "<b>request:</b> " . join(', ', $pointer[request]);
84 }
85 unset($pointer[component]);
86 unset($pointer[request]);
87 $buf = array();
88 foreach ($pointer as $key => $val) {
89 array_push($buf, "$key=$val");
90 }
91 $s_keys = "<b>keys:</b> " . join(', ', $buf);
92 $pser = join( '<br/>', array( $s_keys, $s_component, $s_request ) );
93 return $pser;
94 }
95
96 function addExplorer($data) {
97 $this->data['explorer'][] = $data;
98 $this->setExplorerPointer();
99 $this->save();
100 }
101
102 function setExplorerPointer($explicit = null) {
103 if (!$explicit) {
104 $this->data['explorer_pointer'] = $this->data['explorer'][sizeof($this->data['explorer']) - 1];
105 }
106 }
107
108 function getExplorerPointer($pointer = null) {
109 if(!$pointer) {
110 return $this->data['explorer_pointer'];
111 }
112 }
113
114 function resetExplorer() {
115 unset($this->data['explorer']);
116 unset($this->data['explorer_pointer']);
117 }
118
119
120
121 /*
122 function register_plugin($name) {
123 // reserve slot for plugin
124 $this->pointers[$name][...][...] =
125 $this->stacks[$name][...][...] =
126 }
127 */
128
129 }
130
131 ?>

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