2024.8.23
Loading...
Searching...
No Matches
ActionAddAlias Class Reference

Public Member Functions

 __construct ($args)
 
 processWindow ($window, $id, $ctrl, $param1, $param2)
 

Data Fields

const GAUGE_SAVE = 2
 

Private Attributes

 $wbBtnCancel
 
 $wbBtnDest
 
 $wbBtnSave
 
 $wbInputDest
 
 $wbInputName
 
 $wbLabelDest
 
 $wbLabelExp
 
 $wbLabelName
 
 $wbProgressBar
 
 $wbWindow
 

Detailed Description

Class ActionAddAlias Handles the creation of a new alias in the Bearsampp application.

Definition at line 14 of file class.action.addAlias.php.

Constructor & Destructor Documentation

◆ __construct()

ActionAddAlias::__construct ( $args)

ActionAddAlias constructor. Initializes the window and its controls for adding a new alias.

Parameters
array$argsArguments passed to the constructor.

Definition at line 35 of file class.action.addAlias.php.

36 {
37 global $bearsamppLang, $bearsamppBins, $bearsamppWinbinder;
38
39 $initName = 'test';
40 $initDest = 'C:\\';
41 $apachePortUri = $bearsamppBins->getApache()->getPort() != 80 ? ':' . $bearsamppBins->getApache()->getPort() : '';
42
43 $bearsamppWinbinder->reset();
44 $this->wbWindow = $bearsamppWinbinder->createAppWindow($bearsamppLang->getValue(Lang::ADD_ALIAS_TITLE), 490, 200, WBC_NOTIFY, WBC_KEYDOWN | WBC_KEYUP);
45
46 $this->wbLabelName = $bearsamppWinbinder->createLabel($this->wbWindow, $bearsamppLang->getValue(Lang::ALIAS_NAME_LABEL) . ' :', 15, 15, 85, null, WBC_RIGHT);
47 $this->wbInputName = $bearsamppWinbinder->createInputText($this->wbWindow, $initName, 105, 13, 150, null);
48
49 $this->wbLabelDest = $bearsamppWinbinder->createLabel($this->wbWindow, $bearsamppLang->getValue(Lang::ALIAS_DEST_LABEL) . ' :', 15, 45, 85, null, WBC_RIGHT);
50 $this->wbInputDest = $bearsamppWinbinder->createInputText($this->wbWindow, $initDest, 105, 43, 190, null, null, WBC_READONLY);
51 $this->wbBtnDest = $bearsamppWinbinder->createButton($this->wbWindow, $bearsamppLang->getValue(Lang::BUTTON_BROWSE), 300, 43, 110);
52
53 $this->wbLabelExp = $bearsamppWinbinder->createLabel($this->wbWindow, sprintf($bearsamppLang->getValue(Lang::ALIAS_EXP_LABEL), $apachePortUri, $initName, $initDest), 15, 80, 470, 50);
54
55 $this->wbProgressBar = $bearsamppWinbinder->createProgressBar($this->wbWindow, self::GAUGE_SAVE + 1, 15, 137, 275);
56 $this->wbBtnSave = $bearsamppWinbinder->createButton($this->wbWindow, $bearsamppLang->getValue(Lang::BUTTON_SAVE), 300, 132);
57 $this->wbBtnCancel = $bearsamppWinbinder->createButton($this->wbWindow, $bearsamppLang->getValue(Lang::BUTTON_CANCEL), 387, 132);
58
59 $bearsamppWinbinder->setHandler($this->wbWindow, $this, 'processWindow');
60 $bearsamppWinbinder->mainLoop();
61 $bearsamppWinbinder->reset();
62 }
global $bearsamppBins
global $bearsamppLang
const ALIAS_DEST_LABEL
const ADD_ALIAS_TITLE
const BUTTON_CANCEL
const ALIAS_NAME_LABEL
const BUTTON_SAVE
const ALIAS_EXP_LABEL
const BUTTON_BROWSE

References $bearsamppBins, $bearsamppLang, Lang\ADD_ALIAS_TITLE, Lang\ALIAS_DEST_LABEL, Lang\ALIAS_EXP_LABEL, Lang\ALIAS_NAME_LABEL, Lang\BUTTON_BROWSE, Lang\BUTTON_CANCEL, and Lang\BUTTON_SAVE.

Member Function Documentation

◆ processWindow()

ActionAddAlias::processWindow ( $window,
$id,
$ctrl,
$param1,
$param2 )

Processes window events and handles user interactions.

Parameters
resource$windowThe window resource.
int$idThe control ID.
resource$ctrlThe control resource.
mixed$param1Additional parameter 1.
mixed$param2Additional parameter 2.

Definition at line 73 of file class.action.addAlias.php.

74 {
75 global $bearsamppRoot, $bearsamppBins, $bearsamppLang, $bearsamppWinbinder;
76
77 $apachePortUri = $bearsamppBins->getApache()->getPort() != 80 ? ':' . $bearsamppBins->getApache()->getPort() : '';
78 $aliasName = $bearsamppWinbinder->getText($this->wbInputName[WinBinder::CTRL_OBJ]);
79 $aliasDest = $bearsamppWinbinder->getText($this->wbInputDest[WinBinder::CTRL_OBJ]);
80
81 switch ($id) {
82 case $this->wbInputName[WinBinder::CTRL_ID]:
83 $bearsamppWinbinder->setText(
84 $this->wbLabelExp[WinBinder::CTRL_OBJ],
85 sprintf($bearsamppLang->getValue(Lang::ALIAS_EXP_LABEL), $apachePortUri, $aliasName, $aliasDest)
86 );
87 $bearsamppWinbinder->setEnabled($this->wbBtnSave[WinBinder::CTRL_OBJ], empty($aliasName) ? false : true);
88 break;
89 case $this->wbBtnDest[WinBinder::CTRL_ID]:
90 $aliasDest = $bearsamppWinbinder->sysDlgPath($window, $bearsamppLang->getValue(Lang::ALIAS_DEST_PATH), $aliasDest);
91 if ($aliasDest && is_dir($aliasDest)) {
92 $bearsamppWinbinder->setText($this->wbInputDest[WinBinder::CTRL_OBJ], $aliasDest . '\\');
93 $bearsamppWinbinder->setText(
94 $this->wbLabelExp[WinBinder::CTRL_OBJ],
95 sprintf($bearsamppLang->getValue(Lang::ALIAS_EXP_LABEL), $apachePortUri, $aliasName, $aliasDest . '\\')
96 );
97 }
98 break;
99 case $this->wbBtnSave[WinBinder::CTRL_ID]:
100 $bearsamppWinbinder->setProgressBarMax($this->wbProgressBar, self::GAUGE_SAVE + 1);
101 $bearsamppWinbinder->incrProgressBar($this->wbProgressBar);
102
103 if (!ctype_alnum($aliasName)) {
104 $bearsamppWinbinder->messageBoxError(
105 sprintf($bearsamppLang->getValue(Lang::ALIAS_NOT_VALID_ALPHA), $aliasName),
107 $bearsamppWinbinder->resetProgressBar($this->wbProgressBar);
108 break;
109 }
110
111 if (is_file($bearsamppRoot->getAliasPath() . '/' . $aliasName . '.conf')) {
112 $bearsamppWinbinder->messageBoxError(
113 sprintf($bearsamppLang->getValue(Lang::ALIAS_ALREADY_EXISTS), $aliasName),
115 $bearsamppWinbinder->resetProgressBar($this->wbProgressBar);
116 break;
117 }
118 if (file_put_contents($bearsamppRoot->getAliasPath() . '/' . $aliasName . '.conf', $bearsamppBins->getApache()->getAliasContent($aliasName, $aliasDest)) !== false) {
119 $bearsamppWinbinder->incrProgressBar($this->wbProgressBar);
120
121 $bearsamppBins->getApache()->getService()->restart();
122 $bearsamppWinbinder->incrProgressBar($this->wbProgressBar);
123
124 $bearsamppWinbinder->messageBoxInfo(
125 sprintf($bearsamppLang->getValue(Lang::ALIAS_CREATED), $aliasName, $apachePortUri, $aliasName, $aliasDest),
127 $bearsamppWinbinder->destroyWindow($window);
128 } else {
129 $bearsamppWinbinder->messageBoxError($bearsamppLang->getValue(Lang::ALIAS_CREATED_ERROR), $bearsamppLang->getValue(Lang::ADD_ALIAS_TITLE));
130 $bearsamppWinbinder->resetProgressBar($this->wbProgressBar);
131 }
132 break;
133 case IDCLOSE:
134 case $this->wbBtnCancel[WinBinder::CTRL_ID]:
135 $bearsamppWinbinder->destroyWindow($window);
136 break;
137 }
138 }
global $bearsamppRoot
const ALIAS_DEST_PATH
const ALIAS_CREATED
const ALIAS_NOT_VALID_ALPHA
const ALIAS_ALREADY_EXISTS
const ALIAS_CREATED_ERROR

References $bearsamppBins, $bearsamppLang, $bearsamppRoot, Lang\ADD_ALIAS_TITLE, Lang\ALIAS_ALREADY_EXISTS, Lang\ALIAS_CREATED, Lang\ALIAS_CREATED_ERROR, Lang\ALIAS_DEST_PATH, Lang\ALIAS_EXP_LABEL, Lang\ALIAS_NOT_VALID_ALPHA, WinBinder\CTRL_ID, and WinBinder\CTRL_OBJ.

Field Documentation

◆ $wbBtnCancel

ActionAddAlias::$wbBtnCancel
private

Definition at line 25 of file class.action.addAlias.php.

◆ $wbBtnDest

ActionAddAlias::$wbBtnDest
private

Definition at line 21 of file class.action.addAlias.php.

◆ $wbBtnSave

ActionAddAlias::$wbBtnSave
private

Definition at line 24 of file class.action.addAlias.php.

◆ $wbInputDest

ActionAddAlias::$wbInputDest
private

Definition at line 20 of file class.action.addAlias.php.

◆ $wbInputName

ActionAddAlias::$wbInputName
private

Definition at line 18 of file class.action.addAlias.php.

◆ $wbLabelDest

ActionAddAlias::$wbLabelDest
private

Definition at line 19 of file class.action.addAlias.php.

◆ $wbLabelExp

ActionAddAlias::$wbLabelExp
private

Definition at line 22 of file class.action.addAlias.php.

◆ $wbLabelName

ActionAddAlias::$wbLabelName
private

Definition at line 17 of file class.action.addAlias.php.

◆ $wbProgressBar

ActionAddAlias::$wbProgressBar
private

Definition at line 23 of file class.action.addAlias.php.

◆ $wbWindow

ActionAddAlias::$wbWindow
private

Definition at line 16 of file class.action.addAlias.php.

◆ GAUGE_SAVE

const ActionAddAlias::GAUGE_SAVE = 2

Definition at line 27 of file class.action.addAlias.php.


The documentation for this class was generated from the following file: