1 <?php
2 /* --------------------------------------------------------------
3 GXCoreLoaderSettings.inc.php 2015-10-05 gm
4 Gambio GmbH
5 http://www.gambio.de
6 Copyright (c) 2015 Gambio GmbH
7 Released under the GNU General Public License (Version 2)
8 [http://www.gnu.org/licenses/gpl-2.0.html]
9 --------------------------------------------------------------
10 */
11
12 MainFactory::load_class('GXCoreLoaderSettingsInterface');
13
14 /**
15 * Class GXCoreLoaderSettings
16 *
17 * Wraps needed settings from the environment.
18 *
19 * @category System
20 * @package Loaders
21 * @subpackage GXCoreLoader
22 */
23 class GXCoreLoaderSettings implements GXCoreLoaderSettingsInterface
24 {
25 /**
26 * Database User Value
27 *
28 * @var string
29 */
30 protected $databaseUser;
31
32 /**
33 * Database Password Value
34 *
35 * @var string
36 */
37 protected $databasePassword;
38
39 /**
40 * Database Server Value
41 *
42 * @var string
43 */
44 protected $databaseServer;
45
46 /**
47 * Database Name Value
48 *
49 * @var string
50 */
51 protected $databaseName;
52
53 /**
54 * Database Socket Value
55 *
56 * @var string
57 */
58 protected $databaseSocket;
59
60
61 /**
62 * Uses the credentials in configure.php for setting the member variables
63 */
64 public function __construct()
65 {
66 $this->databaseUser = DB_SERVER_USERNAME;
67 $this->databasePassword = DB_SERVER_PASSWORD;
68 $this->databaseServer = DB_SERVER;
69 $this->databaseName = DB_DATABASE;
70
71 if(strpos(DB_SERVER, ':/')) // mysql socket detected
72 {
73 $exploded = explode(':', DB_SERVER);
74 $this->databaseServer = array_shift($exploded);
75 $this->databaseSocket = array_shift($exploded);
76 }
77 }
78
79
80 /**
81 * Get database name value from config.
82 *
83 * @return string
84 */
85 public function getDatabaseName()
86 {
87 return $this->databaseName;
88 }
89
90
91 /**
92 * Get database password value from config.
93 *
94 * @return string
95 */
96 public function getDatabasePassword()
97 {
98 return urlencode($this->databasePassword); // needs to encode slashes and other characters
99 }
100
101
102 /**
103 * Get database server value from config.
104 *
105 * @return string
106 */
107 public function getDatabaseServer()
108 {
109 return $this->databaseServer;
110 }
111
112
113 /**
114 * Get database user value from config.
115 *
116 * @return string
117 */
118 public function getDatabaseUser()
119 {
120 return $this->databaseUser;
121 }
122
123
124 /**
125 * Get database socket value from config.
126 *
127 * @return mixed|string
128 */
129 public function getDatabaseSocket()
130 {
131 return $this->databaseSocket;
132 }
133 }