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

Contents of /nfo/php/libs/org.netfrag.glib/Application/AbstractHandler.php

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.1 - (show annotations)
Tue Feb 4 08:24:37 2003 UTC (21 years, 6 months ago) by joko
Branch: MAIN
+ initial commit
+ refactored from flib/Site/Request.php and flib/Site/Handler.php

1 <?
2 // -------------------------------------------------------------------------
3 // $Id: Handler.php,v 1.2 2002/12/13 00:23:08 jonen Exp $
4 // -------------------------------------------------------------------------
5 // $Log: Handler.php,v $
6 // Revision 1.2 2002/12/13 00:23:08 jonen
7 // - removed $site_state vars
8 // changes related to new Session class
9 //
10 // Revision 1.1 2002/11/12 05:42:31 joko
11 // + initial checkin
12 //
13 // -------------------------------------------------------------------------
14
15
16 class Application_AbstractHandler {
17
18 // parent's instance
19 var $parent;
20
21 var $s = array();
22 var $enc = array(
23 map => array(),
24 id => 70841,
25 enabled => 0,
26 );
27
28 function _getid() {
29 $this->enc[id]++;
30 $dummyId = 's' . $this->enc[id];
31 return $dummyId;
32 }
33
34 function setHandler($ident, $attribs) {
35 //$this->site->log( get_class($this) . "->setHandler( ident $ident, attribs $attribs)", LOG_DEBUG );
36 if (!is_array($attribs)) { $attribs = array(); }
37 $newid = $this->_getid();
38 // store handler
39 $attribs[id] = $newid;
40 $this->s[$ident] = $attribs;
41 // create/store mapping
42 $this->enc[map][$newid] = $ident;
43 }
44
45 function getHandler($ident) {
46 $parent = $this->parent;
47 if (count($this->s) == 0) {
48 $this->$parent->log( get_class($this) . "->getHandler: called before any setHandler", LOG_WARNING );
49 }
50 return $this->s[$ident];
51 }
52
53 function getPageIdentifier() {
54 $parent = $this->parent;
55 //global $site_state;
56 //return $site_state[page];
57 return $this->$parent->session->get('page');
58 }
59
60 function checkIdentifier($ident) {
61 return isset($this->s[$ident]);
62 }
63
64 function decodeIdentifier($arg) {
65 if ($this->enc[enabled]) {
66 $args = split('_', $arg);
67 $ident_enc = array_shift($args);
68 $ident = $this->enc[map][$ident_enc];
69 array_unshift($args, $ident);
70 $result = join('/', $args);
71 return $result;
72 } else {
73 //$arg = str_replace('_', '/', $arg);
74 return $arg;
75 }
76 }
77
78 function encodeIdentifier($arg) {
79 if ($this->enc[enabled]) {
80 $result = $this->s[$arg][id];
81 // strip action from arg, if present
82 if (!$result && (substr($arg, -1) != '/') ) {
83 $divpos = strrpos($arg, '/') + 1;
84 $ident = substr($arg, 0, $divpos);
85 $ident_enc = $this->s[$ident][id];
86 $action = substr($arg, $divpos);
87 $result = $ident_enc . '_' . $action;
88 }
89 return $result;
90 } else {
91 //$arg = str_replace('/', '_', $arg);
92 return $arg;
93 }
94 }
95
96 }
97 ?>

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