File:
0.00.1a/core/request/RequestFactory.php (
View as Code)
1: 2: /* -------------------------------------------------------------
3: This file is part of FreeDESK
4:
5: FreeDESK is (C) Copyright 2012 David Cutting
6:
7: FreeDESK is free software: you can redistribute it and/or modify
8: it under the terms of the GNU General Public License as published by
9: the Free Software Foundation, either version 3 of the License, or
10: (at your option) any later version.
11:
12: FreeDESK is distributed in the hope that it will be useful,
13: but WITHOUT ANY WARRANTY; without even the implied warranty of
14: MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15: GNU General Public License for more details.
16:
17: You should have received a copy of the GNU General Public License
18: along with FreeDESK. If not, see www.gnu.org/licenses
19:
20: For more information see www.purplepixie.org/freedesk/
21: -------------------------------------------------------------- */
22:
23: /**
24: * Request Factory - create a request of the correct class
25: **/
26: class RequestFactory
27: {
28: /**
29: * Register ourselves with FreeDESK
30: * @param mixed $desk FreeDESK instance
31: **/
32: static function Exec(&$desk)
33: {
34: $desk->PluginManager->Register(new Plugin(
35: "Request Factory", "0.01", "Core", "" ));
36: }
37:
38: /**
39: * Create an instance of the required request class
40: * @param mixed &$desk FreeDESK instance
41: * @param string $classname Request class
42: * @return mixed Request object
43: **/
44: static function Create(&$desk, $classname)
45: {
46: $default = "Request"; // fail-safe
47:
48: if (class_exists($classname))
49: return new $classname($desk);
50: else
51: return new $default($desk);
52: }
53:
54: }
55: ?>
56: