Bearsampp
2026.9.23
Toggle main menu visibility
Loading...
Searching...
No Matches
class.tpl.app.postgresql.php
Go to the documentation of this file.
1
<?php
2
/*
3
* Copyright (c) 2021-2026 Bearsampp
4
* License: GNU General Public License version 3 or later; see LICENSE.txt
5
* Author: bear
6
* Website: https://bearsampp.com
7
* Github: https://github.com/Bearsampp
8
*/
9
17
class
TplAppPostgresql
18
{
19
const
MENU
=
'postgresql'
;
20
const
MENU_VERSIONS
=
'postgresqlVersions'
;
21
const
MENU_SERVICE
=
'postgresqlService'
;
22
const
MENU_DEBUG
=
'postgresqlDebug'
;
23
24
const
ACTION_ENABLE
=
'enablePostgresql'
;
25
const
ACTION_SWITCH_VERSION
=
'switchPostgresqlVersion'
;
26
const
ACTION_CHANGE_PORT
=
'changePostgresqlPort'
;
27
const
ACTION_CHANGE_ROOT_PWD
=
'changePostgresqlRootPwd'
;
28
const
ACTION_INSTALL_SERVICE
=
'installPostgresqlService'
;
29
const
ACTION_REMOVE_SERVICE
=
'removePostgresqlService'
;
30
39
public
static
function
process
()
40
{
41
global
$bearsamppLang
,
$bearsamppBins
;
42
43
return
TplApp::getMenuEnable
(
$bearsamppLang
->getValue(
Lang::POSTGRESQL
), self::MENU, get_called_class(),
$bearsamppBins
->getPostgresql()->isEnable());
44
}
45
55
public
static
function
getMenuPostgresql
()
56
{
57
global
$bearsamppBins
,
$bearsamppLang
, $bearsamppTools;
58
$resultItems = $resultActions =
''
;
59
60
$isEnabled =
$bearsamppBins
->getPostgresql()->isEnable();
61
62
// Download
63
$resultItems .=
TplAestan::getItemLink
(
64
$bearsamppLang
->getValue(
Lang::DOWNLOAD_MORE
),
65
HttpClient::getWebsiteUrl
(
'module/postgresql'
,
'#releases'
),
66
false
,
67
TplAestan::GLYPH_BROWSER
68
) . PHP_EOL;
69
70
// Enable
71
$tplEnable =
TplApp::getActionMulti
(
72
self::ACTION_ENABLE,
73
array($isEnabled ?
Config::DISABLED
:
Config::ENABLED
),
74
array(
$bearsamppLang
->getValue(
Lang::MENU_ENABLE
), $isEnabled ?
TplAestan::GLYPH_CHECK
:
''
),
75
false
,
76
get_called_class()
77
);
78
$resultItems .= $tplEnable[
TplApp::SECTION_CALL
] . PHP_EOL;
79
$resultActions .= $tplEnable[
TplApp::SECTION_CONTENT
] . PHP_EOL;
80
81
if
($isEnabled) {
82
$resultItems .=
TplAestan::getItemSeparator
() . PHP_EOL;
83
84
// Versions
85
$tplVersions =
TplApp::getMenu
(
$bearsamppLang
->getValue(
Lang::VERSIONS
), self::MENU_VERSIONS, get_called_class());
86
$resultItems .= $tplVersions[
TplApp::SECTION_CALL
] . PHP_EOL;
87
$resultActions .= $tplVersions[
TplApp::SECTION_CONTENT
] . PHP_EOL;
88
89
// Service
90
$tplService =
TplApp::getMenu
(
$bearsamppLang
->getValue(
Lang::SERVICE
), self::MENU_SERVICE, get_called_class());
91
$resultItems .= $tplService[
TplApp::SECTION_CALL
] . PHP_EOL;
92
$resultActions .= $tplService[
TplApp::SECTION_CONTENT
] . PHP_EOL;
93
94
// Debug
95
$tplDebug =
TplApp::getMenu
(
$bearsamppLang
->getValue(
Lang::DEBUG
), self::MENU_DEBUG, get_called_class());
96
$resultItems .= $tplDebug[
TplApp::SECTION_CALL
] . PHP_EOL;
97
$resultActions .= $tplDebug[
TplApp::SECTION_CONTENT
];
98
99
// Console
100
$resultItems .=
TplAestan::getItemPowerShell
(
101
$bearsamppLang
->getValue(
Lang::CONSOLE
),
102
TplAestan::GLYPH_POWERSHELL
,
103
null
,
104
$bearsamppTools->getPowerShell()->getTabTitlePostgresql(),
105
Path::getModuleSymlinkPath
(
$bearsamppBins
->getPostgresql()),
106
null
107
) . PHP_EOL;
108
109
// Conf
110
$resultItems .=
TplAestan::getItemNotepad
(basename(
$bearsamppBins
->getPostgresql()->getConf()),
$bearsamppBins
->getPostgresql()->getConf()) . PHP_EOL;
111
112
// Errors log
113
$resultItems .=
TplAestan::getItemNotepad
(
$bearsamppLang
->getValue(
Lang::MENU_ERROR_LOGS
),
$bearsamppBins
->getPostgresql()->getErrorLog()) . PHP_EOL;
114
}
115
116
return
$resultItems . PHP_EOL . $resultActions;
117
}
118
126
public
static
function
getMenuPostgresqlVersions
()
127
{
128
global
$bearsamppBins
;
129
$items =
''
;
130
$actions =
''
;
131
132
foreach
(
$bearsamppBins
->getPostgresql()->getVersionList() as $version) {
133
$tplSwitchPostgresqlVersion =
TplApp::getActionMulti
(
134
self::ACTION_SWITCH_VERSION,
135
array($version),
136
array($version, $version ==
$bearsamppBins
->getPostgresql()->getVersion() ?
TplAestan::GLYPH_CHECK
:
''
),
137
false
,
138
get_called_class()
139
);
140
141
// Item
142
$items .= $tplSwitchPostgresqlVersion[
TplApp::SECTION_CALL
] . PHP_EOL;
143
144
// Action
145
$actions .= PHP_EOL . $tplSwitchPostgresqlVersion[
TplApp::SECTION_CONTENT
];
146
}
147
148
return
$items . $actions;
149
}
150
160
public
static
function
getActionEnablePostgresql
($enable)
161
{
162
global
$bearsamppBins
;
163
164
return
TplApp::getActionRun
(
Action::ENABLE
, array(
$bearsamppBins
->getPostgresql()->getName(), $enable)) . PHP_EOL .
165
TplAppReload::getActionReload
();
166
}
167
177
public
static
function
getActionSwitchPostgresqlVersion
($version)
178
{
179
global
$bearsamppBins
;
180
181
return
TplApp::getActionRun
(
Action::SWITCH_VERSION
, array(
$bearsamppBins
->getPostgresql()->getName(), $version)) . PHP_EOL .
182
TplAppReload::getActionReload
() . PHP_EOL;
183
}
184
193
public
static
function
getMenuPostgresqlService
()
194
{
195
global
$bearsamppLang
,
$bearsamppBins
;
196
197
$tplChangePort =
TplApp::getActionMulti
(
198
self::ACTION_CHANGE_PORT,
199
null
,
200
array(
$bearsamppLang
->getValue(
Lang::MENU_CHANGE_PORT
),
TplAestan::GLYPH_NETWORK
),
201
false
,
202
get_called_class()
203
);
204
205
$isInstalled =
$bearsamppBins
->getPostgresql()->getService()->isInstalled();
206
207
$result
=
TplAestan::getItemActionServiceStart
(
$bearsamppBins
->getPostgresql()->getService()->getName()) . PHP_EOL .
208
TplAestan::getItemActionServiceStop
(
$bearsamppBins
->getPostgresql()->getService()->getName()) . PHP_EOL .
209
TplAestan::getItemActionServiceRestart
(
$bearsamppBins
->getPostgresql()->getService()->getName()) . PHP_EOL .
210
TplAestan::getItemSeparator
() . PHP_EOL .
211
TplApp::getActionRun
(
212
Action::CHECK_PORT
,
213
array(
$bearsamppBins
->getPostgresql()->getName(),
$bearsamppBins
->getPostgresql()->getPort()),
214
array(sprintf(
$bearsamppLang
->getValue(
Lang::MENU_CHECK_PORT
),
$bearsamppBins
->getPostgresql()->getPort()),
TplAestan::GLYPH_LIGHT
)
215
) . PHP_EOL .
216
$tplChangePort[
TplApp::SECTION_CALL
] . PHP_EOL;
217
218
$tplChangeRootPwd =
null
;
219
if
($isInstalled) {
220
$tplChangeRootPwd =
TplApp::getActionMulti
(
221
self::ACTION_CHANGE_ROOT_PWD,
222
null
,
223
array(
$bearsamppLang
->getValue(
Lang::MENU_CHANGE_ROOT_PWD
),
TplAestan::GLYPH_PASSWORD
),
224
!$isInstalled,
225
get_called_class()
226
);
227
228
$result
.= $tplChangeRootPwd[
TplApp::SECTION_CALL
] . PHP_EOL;
229
}
230
231
if
(!$isInstalled) {
232
$tplInstallService =
TplApp::getActionMulti
(
233
self::ACTION_INSTALL_SERVICE,
234
null
,
235
array(
$bearsamppLang
->getValue(
Lang::MENU_INSTALL_SERVICE
),
TplAestan::GLYPH_SERVICE_INSTALL
),
236
$isInstalled,
237
get_called_class()
238
);
239
240
$result
.= $tplInstallService[
TplApp::SECTION_CALL
] . PHP_EOL . PHP_EOL .
241
$tplInstallService[
TplApp::SECTION_CONTENT
] . PHP_EOL;
242
}
else
{
243
$tplRemoveService =
TplApp::getActionMulti
(
244
self::ACTION_REMOVE_SERVICE,
245
null
,
246
array(
$bearsamppLang
->getValue(
Lang::MENU_REMOVE_SERVICE
),
TplAestan::GLYPH_SERVICE_REMOVE
),
247
!$isInstalled,
248
get_called_class()
249
);
250
251
$result
.= $tplRemoveService[
TplApp::SECTION_CALL
] . PHP_EOL . PHP_EOL .
252
$tplRemoveService[
TplApp::SECTION_CONTENT
] . PHP_EOL;
253
}
254
255
$result
.= $tplChangePort[
TplApp::SECTION_CONTENT
] . PHP_EOL .
256
($tplChangeRootPwd !=
null
? $tplChangeRootPwd[
TplApp::SECTION_CONTENT
] . PHP_EOL :
''
);
257
258
return
$result
;
259
}
260
268
public
static
function
getMenuPostgresqlDebug
()
269
{
270
global
$bearsamppLang
;
271
272
return
TplApp::getActionRun
(
273
Action::DEBUG_POSTGRESQL
,
274
array(
BinPostgresql::CMD_VERSION
),
275
array(
$bearsamppLang
->getValue(
Lang::DEBUG_POSTGRESQL_VERSION
),
TplAestan::GLYPH_DEBUG
)
276
) . PHP_EOL;
277
}
278
286
public
static
function
getActionChangePostgresqlPort
()
287
{
288
global
$bearsamppBins
;
289
290
return
TplApp::getActionRun
(
Action::CHANGE_PORT
, array(
$bearsamppBins
->getPostgresql()->getName())) . PHP_EOL .
291
TplAppReload::getActionReload
();
292
}
293
301
public
static
function
getActionChangePostgresqlRootPwd
()
302
{
303
global
$bearsamppBins
;
304
305
return
TplApp::getActionRun
(
Action::CHANGE_DB_ROOT_PWD
, array(
$bearsamppBins
->getPostgresql()->getName())) . PHP_EOL .
306
TplAppReload::getActionReload
();
307
}
308
314
public
static
function
getActionInstallPostgresqlService
()
315
{
316
return
TplApp::getActionRun
(
Action::SERVICE
, array(
BinPostgresql::SERVICE_NAME
,
ActionService::INSTALL
)) . PHP_EOL .
317
TplAppReload::getActionReload
();
318
}
319
325
public
static
function
getActionRemovePostgresqlService
()
326
{
327
return
TplApp::getActionRun
(
Action::SERVICE
, array(
BinPostgresql::SERVICE_NAME
,
ActionService::REMOVE
)) . PHP_EOL .
328
TplAppReload::getActionReload
();
329
}
330
}
$result
$result
Definition
ajax.apache.php:19
$bearsamppBins
global $bearsamppBins
Definition
ajax.apache.php:16
$bearsamppLang
global $bearsamppLang
Definition
ajax.apache.php:16
Action\SWITCH_VERSION
const SWITCH_VERSION
Definition
class.action.php:56
Action\CHANGE_DB_ROOT_PWD
const CHANGE_DB_ROOT_PWD
Definition
class.action.php:20
Action\SERVICE
const SERVICE
Definition
class.action.php:46
Action\CHANGE_PORT
const CHANGE_PORT
Definition
class.action.php:21
Action\DEBUG_POSTGRESQL
const DEBUG_POSTGRESQL
Definition
class.action.php:28
Action\CHECK_PORT
const CHECK_PORT
Definition
class.action.php:22
Action\ENABLE
const ENABLE
Definition
class.action.php:31
ActionService\REMOVE
const REMOVE
Definition
class.action.service.php:22
ActionService\INSTALL
const INSTALL
Definition
class.action.service.php:21
BinPostgresql\SERVICE_NAME
const SERVICE_NAME
Definition
class.bin.postgresql.php:21
BinPostgresql\CMD_VERSION
const CMD_VERSION
Definition
class.bin.postgresql.php:80
Config\DISABLED
const DISABLED
Definition
class.config.php:36
Config\ENABLED
const ENABLED
Definition
class.config.php:35
HttpClient\getWebsiteUrl
static getWebsiteUrl($path='', $fragment='', $utmSource=true)
Definition
class.httpclient.php:131
Lang\MENU_ENABLE
const MENU_ENABLE
Definition
class.lang.php:97
Lang\MENU_CHANGE_ROOT_PWD
const MENU_CHANGE_ROOT_PWD
Definition
class.lang.php:90
Lang\DEBUG_POSTGRESQL_VERSION
const DEBUG_POSTGRESQL_VERSION
Definition
class.lang.php:336
Lang\SERVICE
const SERVICE
Definition
class.lang.php:66
Lang\DOWNLOAD_MORE
const DOWNLOAD_MORE
Definition
class.lang.php:40
Lang\CONSOLE
const CONSOLE
Definition
class.lang.php:33
Lang\MENU_CHANGE_PORT
const MENU_CHANGE_PORT
Definition
class.lang.php:89
Lang\POSTGRESQL
const POSTGRESQL
Definition
class.lang.php:135
Lang\DEBUG
const DEBUG
Definition
class.lang.php:34
Lang\MENU_ERROR_LOGS
const MENU_ERROR_LOGS
Definition
class.lang.php:98
Lang\MENU_INSTALL_SERVICE
const MENU_INSTALL_SERVICE
Definition
class.lang.php:101
Lang\MENU_REMOVE_SERVICE
const MENU_REMOVE_SERVICE
Definition
class.lang.php:109
Lang\MENU_CHECK_PORT
const MENU_CHECK_PORT
Definition
class.lang.php:91
Lang\VERSIONS
const VERSIONS
Definition
class.lang.php:79
Path\getModuleSymlinkPath
static getModuleSymlinkPath($module)
Definition
class.path.php:57
TplAestan\GLYPH_LIGHT
const GLYPH_LIGHT
Definition
class.tpl.aestan.php:71
TplAestan\getItemPowerShell
static getItemPowerShell($caption, $glyph, $id=null, $title=null, $initDir=null, $command=null)
Definition
class.tpl.aestan.php:143
TplAestan\GLYPH_PASSWORD
const GLYPH_PASSWORD
Definition
class.tpl.aestan.php:87
TplAestan\GLYPH_POWERSHELL
const GLYPH_POWERSHELL
Definition
class.tpl.aestan.php:49
TplAestan\GLYPH_CHECK
const GLYPH_CHECK
Definition
class.tpl.aestan.php:61
TplAestan\GLYPH_NETWORK
const GLYPH_NETWORK
Definition
class.tpl.aestan.php:74
TplAestan\GLYPH_SERVICE_REMOVE
const GLYPH_SERVICE_REMOVE
Definition
class.tpl.aestan.php:55
TplAestan\getItemActionServiceStop
static getItemActionServiceStop($service)
Definition
class.tpl.aestan.php:346
TplAestan\GLYPH_DEBUG
const GLYPH_DEBUG
Definition
class.tpl.aestan.php:76
TplAestan\GLYPH_SERVICE_INSTALL
const GLYPH_SERVICE_INSTALL
Definition
class.tpl.aestan.php:56
TplAestan\GLYPH_BROWSER
const GLYPH_BROWSER
Definition
class.tpl.aestan.php:53
TplAestan\getItemLink
static getItemLink($caption, $link, $local=false, $glyph=self::GLYPH_WEB_PAGE)
Definition
class.tpl.aestan.php:191
TplAestan\getItemNotepad
static getItemNotepad($caption, $path)
Definition
class.tpl.aestan.php:215
TplAestan\getItemActionServiceStart
static getItemActionServiceStart($service)
Definition
class.tpl.aestan.php:322
TplAestan\getItemSeparator
static getItemSeparator()
Definition
class.tpl.aestan.php:126
TplAestan\getItemActionServiceRestart
static getItemActionServiceRestart($service)
Definition
class.tpl.aestan.php:370
TplApp\getActionMulti
static getActionMulti($action, $args=array(), $item=array(), $disabled=false, $class=false)
Definition
class.tpl.app.php:153
TplApp\getMenu
static getMenu($caption, $menu, $class)
Definition
class.tpl.app.php:191
TplApp\getActionRun
static getActionRun($action, $args=array(), $item=array(), $waitUntilTerminated=true)
Definition
class.tpl.app.php:116
TplApp\SECTION_CALL
const SECTION_CALL
Definition
class.tpl.app.php:23
TplApp\SECTION_CONTENT
const SECTION_CONTENT
Definition
class.tpl.app.php:24
TplApp\getMenuEnable
static getMenuEnable($caption, $menu, $class, $enabled=true)
Definition
class.tpl.app.php:213
TplAppPostgresql
Definition
class.tpl.app.postgresql.php:18
TplAppPostgresql\getActionChangePostgresqlPort
static getActionChangePostgresqlPort()
Definition
class.tpl.app.postgresql.php:286
TplAppPostgresql\MENU_DEBUG
const MENU_DEBUG
Definition
class.tpl.app.postgresql.php:22
TplAppPostgresql\getMenuPostgresqlDebug
static getMenuPostgresqlDebug()
Definition
class.tpl.app.postgresql.php:268
TplAppPostgresql\getActionEnablePostgresql
static getActionEnablePostgresql($enable)
Definition
class.tpl.app.postgresql.php:160
TplAppPostgresql\getMenuPostgresqlService
static getMenuPostgresqlService()
Definition
class.tpl.app.postgresql.php:193
TplAppPostgresql\ACTION_ENABLE
const ACTION_ENABLE
Definition
class.tpl.app.postgresql.php:24
TplAppPostgresql\MENU
const MENU
Definition
class.tpl.app.postgresql.php:19
TplAppPostgresql\process
static process()
Definition
class.tpl.app.postgresql.php:39
TplAppPostgresql\ACTION_SWITCH_VERSION
const ACTION_SWITCH_VERSION
Definition
class.tpl.app.postgresql.php:25
TplAppPostgresql\getMenuPostgresqlVersions
static getMenuPostgresqlVersions()
Definition
class.tpl.app.postgresql.php:126
TplAppPostgresql\getMenuPostgresql
static getMenuPostgresql()
Definition
class.tpl.app.postgresql.php:55
TplAppPostgresql\MENU_VERSIONS
const MENU_VERSIONS
Definition
class.tpl.app.postgresql.php:20
TplAppPostgresql\getActionSwitchPostgresqlVersion
static getActionSwitchPostgresqlVersion($version)
Definition
class.tpl.app.postgresql.php:177
TplAppPostgresql\MENU_SERVICE
const MENU_SERVICE
Definition
class.tpl.app.postgresql.php:21
TplAppPostgresql\getActionChangePostgresqlRootPwd
static getActionChangePostgresqlRootPwd()
Definition
class.tpl.app.postgresql.php:301
TplAppPostgresql\ACTION_INSTALL_SERVICE
const ACTION_INSTALL_SERVICE
Definition
class.tpl.app.postgresql.php:28
TplAppPostgresql\ACTION_CHANGE_ROOT_PWD
const ACTION_CHANGE_ROOT_PWD
Definition
class.tpl.app.postgresql.php:27
TplAppPostgresql\ACTION_REMOVE_SERVICE
const ACTION_REMOVE_SERVICE
Definition
class.tpl.app.postgresql.php:29
TplAppPostgresql\getActionInstallPostgresqlService
static getActionInstallPostgresqlService()
Definition
class.tpl.app.postgresql.php:314
TplAppPostgresql\getActionRemovePostgresqlService
static getActionRemovePostgresqlService()
Definition
class.tpl.app.postgresql.php:325
TplAppPostgresql\ACTION_CHANGE_PORT
const ACTION_CHANGE_PORT
Definition
class.tpl.app.postgresql.php:26
TplAppReload\getActionReload
static getActionReload()
Definition
class.tpl.app.reload.php:47
sandbox
core
classes
tpls
app
class.tpl.app.postgresql.php
Generated by
1.17.0