Proyectos de Subversion Moodle

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
1 efrain 1
<?php
2
 
3
/**
4
 * Licensed to Jasig under one or more contributor license
5
 * agreements. See the NOTICE file distributed with this work for
6
 * additional information regarding copyright ownership.
7
 *
8
 * Jasig licenses this file to you under the Apache License,
9
 * Version 2.0 (the "License"); you may not use this file except in
10
 * compliance with the License. You may obtain a copy of the License at:
11
 *
12
 * http://www.apache.org/licenses/LICENSE-2.0
13
 *
14
 * Unless required by applicable law or agreed to in writing, software
15
 * distributed under the License is distributed on an "AS IS" BASIS,
16
 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17
 * See the License for the specific language governing permissions and
18
 * limitations under the License.
19
 *
20
 * PHP Version 7
21
 *
22
 * @file     CAS/PGTStorage/AbstractStorage.php
23
 * @category Authentication
24
 * @package  PhpCAS
25
 * @author   Pascal Aubry <pascal.aubry@univ-rennes1.fr>
26
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
27
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
28
 */
29
 
30
/**
31
 * Basic class for PGT storage
32
 * The CAS_PGTStorage_AbstractStorage class is a generic class for PGT storage.
33
 * This class should not be instanciated itself but inherited by specific PGT
34
 * storage classes.
35
 *
36
 * @class CAS_PGTStorage_AbstractStorage
37
 * @category Authentication
38
 * @package  PhpCAS
39
 * @author   Pascal Aubry <pascal.aubry@univ-rennes1.fr>
40
 * @license  http://www.apache.org/licenses/LICENSE-2.0  Apache License 2.0
41
 * @link     https://wiki.jasig.org/display/CASC/phpCAS
42
 *
43
 * @ingroup internalPGTStorage
44
 */
45
 
46
abstract class CAS_PGTStorage_AbstractStorage
47
{
48
    /**
49
     * @addtogroup internalPGTStorage
50
     * @{
51
     */
52
 
53
    // ########################################################################
54
    //  CONSTRUCTOR
55
    // ########################################################################
56
 
57
    /**
58
     * The constructor of the class, should be called only by inherited classes.
59
     *
60
     * @param CAS_Client $cas_parent the CAS _client instance that creates the
61
     * current object.
62
     *
63
     * @return void
64
     *
65
     * @protected
66
     */
67
    function __construct($cas_parent)
68
    {
69
        phpCAS::traceBegin();
70
        if ( !$cas_parent->isProxy() ) {
71
            phpCAS::error(
72
                'defining PGT storage makes no sense when not using a CAS proxy'
73
            );
74
        }
75
        phpCAS::traceEnd();
76
    }
77
 
78
    // ########################################################################
79
    //  DEBUGGING
80
    // ########################################################################
81
 
82
    /**
83
     * This virtual method returns an informational string giving the type of storage
84
     * used by the object (used for debugging purposes).
85
     *
86
     * @return string
87
     *
88
     * @public
89
     */
90
    function getStorageType()
91
    {
92
        phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
93
    }
94
 
95
    /**
96
     * This virtual method returns an informational string giving informations on the
97
     * parameters of the storage.(used for debugging purposes).
98
     *
99
     * @return string
100
     *
101
     * @public
102
     */
103
    function getStorageInfo()
104
    {
105
        phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
106
    }
107
 
108
    // ########################################################################
109
    //  ERROR HANDLING
110
    // ########################################################################
111
 
112
    /**
113
     * string used to store an error message. Written by
114
     * PGTStorage::setErrorMessage(), read by PGTStorage::getErrorMessage().
115
     *
116
     * @hideinitializer
117
     * @deprecated not used.
118
     */
119
    var $_error_message=false;
120
 
121
    /**
122
     * This method sets en error message, which can be read later by
123
     * PGTStorage::getErrorMessage().
124
     *
125
     * @param string $error_message an error message
126
     *
127
     * @return void
128
     *
129
     * @deprecated not used.
130
     */
131
    function setErrorMessage($error_message)
132
    {
133
        $this->_error_message = $error_message;
134
    }
135
 
136
    /**
137
     * This method returns an error message set by PGTStorage::setErrorMessage().
138
     *
139
     * @return string an error message when set by PGTStorage::setErrorMessage(), FALSE
140
     * otherwise.
141
     *
142
     * @deprecated not used.
143
     */
144
    function getErrorMessage()
145
    {
146
        return $this->_error_message;
147
    }
148
 
149
    // ########################################################################
150
    //  INITIALIZATION
151
    // ########################################################################
152
 
153
    /**
154
     * a boolean telling if the storage has already been initialized. Written by
155
     * PGTStorage::init(), read by PGTStorage::isInitialized().
156
     *
157
     * @hideinitializer
158
     */
159
    var $_initialized = false;
160
 
161
    /**
162
     * This method tells if the storage has already been intialized.
163
     *
164
     * @return bool
165
     *
166
     * @protected
167
     */
168
    function isInitialized()
169
    {
170
        return $this->_initialized;
171
    }
172
 
173
    /**
174
     * This virtual method initializes the object.
175
     *
176
     * @return void
177
     */
178
    function init()
179
    {
180
        $this->_initialized = true;
181
    }
182
 
183
    // ########################################################################
184
    //  PGT I/O
185
    // ########################################################################
186
 
187
    /**
188
     * This virtual method stores a PGT and its corresponding PGT Iuo.
189
     *
190
     * @param string $pgt     the PGT
191
     * @param string $pgt_iou the PGT iou
192
     *
193
     * @return void
194
     *
195
     * @note Should never be called.
196
     *
197
     */
198
    function write($pgt,$pgt_iou)
199
    {
200
        phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
201
    }
202
 
203
    /**
204
     * This virtual method reads a PGT corresponding to a PGT Iou and deletes
205
     * the corresponding storage entry.
206
     *
207
     * @param string $pgt_iou the PGT iou
208
     *
209
     * @return string
210
     *
211
     * @note Should never be called.
212
     */
213
    function read($pgt_iou)
214
    {
215
        phpCAS::error(__CLASS__.'::'.__FUNCTION__.'() should never be called');
216
    }
217
 
218
    /** @} */
219
 
220
}
221
 
222
?>