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

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

Parent Directory Parent Directory | Revision Log Revision Log


Revision 1.3 - (hide annotations)
Mon Mar 10 22:58:48 2003 UTC (21 years, 4 months ago) by joko
Branch: MAIN
CVS Tags: HEAD
Changes since 1.2: +23 -1 lines
+ fixed metadata for phpDocumentor

1 joko 1.1 <?
2 joko 1.3 /**
3     * This file contains the Application::AbstractHandler class.
4     *
5     * @author Andreas Motl <andreas.motl@ilo.de>
6     * @package org.netfrag.glib
7     * @name Application::AbstractHandler
8     *
9     */
10    
11    
12 joko 1.1 // -------------------------------------------------------------------------
13 joko 1.3 // $Id: AbstractHandler.php,v 1.2 2003/02/09 16:58:01 joko Exp $
14 joko 1.1 // -------------------------------------------------------------------------
15 joko 1.2 // $Log: AbstractHandler.php,v $
16 joko 1.3 // Revision 1.2 2003/02/09 16:58:01 joko
17     // + minor update related to new log level constants
18     //
19 joko 1.2 // Revision 1.1 2003/02/04 08:24:37 joko
20     // + initial commit
21     // + refactored from flib/Site/Request.php and flib/Site/Handler.php
22     //
23 joko 1.1 // Revision 1.2 2002/12/13 00:23:08 jonen
24     // - removed $site_state vars
25     // changes related to new Session class
26     //
27     // Revision 1.1 2002/11/12 05:42:31 joko
28     // + initial checkin
29     //
30     // -------------------------------------------------------------------------
31    
32    
33 joko 1.3 /**
34     * --- Application::AbstractHandler
35     *
36     * @author Andreas Motl <andreas.motl@ilo.de>
37     * @package org.netfrag.glib
38     * @subpackage Application
39     * @name Application::AbstractHandler
40     *
41     */
42 joko 1.1 class Application_AbstractHandler {
43    
44     // parent's instance
45     var $parent;
46    
47     var $s = array();
48     var $enc = array(
49     map => array(),
50     id => 70841,
51     enabled => 0,
52     );
53    
54     function _getid() {
55     $this->enc[id]++;
56     $dummyId = 's' . $this->enc[id];
57     return $dummyId;
58     }
59    
60     function setHandler($ident, $attribs) {
61     //$this->site->log( get_class($this) . "->setHandler( ident $ident, attribs $attribs)", LOG_DEBUG );
62     if (!is_array($attribs)) { $attribs = array(); }
63     $newid = $this->_getid();
64     // store handler
65     $attribs[id] = $newid;
66     $this->s[$ident] = $attribs;
67     // create/store mapping
68     $this->enc[map][$newid] = $ident;
69     }
70    
71     function getHandler($ident) {
72     $parent = $this->parent;
73     if (count($this->s) == 0) {
74 joko 1.2 $this->$parent->log( get_class($this) . "->getHandler: called before any setHandler", PEAR_LOG_WARNING );
75 joko 1.1 }
76     return $this->s[$ident];
77     }
78    
79     function getPageIdentifier() {
80     $parent = $this->parent;
81     //global $site_state;
82     //return $site_state[page];
83     return $this->$parent->session->get('page');
84     }
85    
86     function checkIdentifier($ident) {
87     return isset($this->s[$ident]);
88     }
89    
90     function decodeIdentifier($arg) {
91     if ($this->enc[enabled]) {
92     $args = split('_', $arg);
93     $ident_enc = array_shift($args);
94     $ident = $this->enc[map][$ident_enc];
95     array_unshift($args, $ident);
96     $result = join('/', $args);
97     return $result;
98     } else {
99     //$arg = str_replace('_', '/', $arg);
100     return $arg;
101     }
102     }
103    
104     function encodeIdentifier($arg) {
105     if ($this->enc[enabled]) {
106     $result = $this->s[$arg][id];
107     // strip action from arg, if present
108     if (!$result && (substr($arg, -1) != '/') ) {
109     $divpos = strrpos($arg, '/') + 1;
110     $ident = substr($arg, 0, $divpos);
111     $ident_enc = $this->s[$ident][id];
112     $action = substr($arg, $divpos);
113     $result = $ident_enc . '_' . $action;
114     }
115     return $result;
116     } else {
117     //$arg = str_replace('/', '_', $arg);
118     return $arg;
119     }
120     }
121    
122     }
123     ?>

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