Cheetah
ChWsbUpgradeController.php
Go to the documentation of this file.
1 <?php
2 
9 {
10  var $oDb;
11  var $oUtil;
12 
13  function __construct()
14  {
15  $this->oDb = new ChWsbUpgradeDb();
16  $this->oUtil = new ChWsbUpgradeUtil($this->oDb);
17  }
18 
20  {
21  $aTemplateFolders = array ();
22  $aFolders = $this->oUtil->readUpgrades();
23  foreach ($aFolders as $sFolder) {
24  $this->oUtil->setFolder($sFolder);
25  $aTemplateFolders[$sFolder] = $this->oUtil->executeCheck ();
26  }
27 
28  require (CH_UPGRADE_DIR_TEMPLATES . 'show_available_updates.php');
29  }
30 
31  function runUpgrade ($sFolder)
32  {
33  // set current folder
34  $this->oUtil->setFolder($sFolder);
35 
36  // precheck
37  $mixedResult = $this->oUtil->executeCheck ();
38  if (true !== $mixedResult) {
39  $sTemplateMessage = $mixedResult;
40  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
41  return;
42  } else {
43  $sTemplateMessage = "$sFolder upgrade can be applied";
44  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
45  }
46 
47  // run system SQL upgrade
48  $mixedResult = $this->oUtil->isExecuteSQLAvail ();
49  if (true === $mixedResult) {
50 
51  $mixedResult = $this->oUtil->executeSQL ();
52  if (true !== $mixedResult) {
53  $sTemplateMessage = $mixedResult;
54  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
55  return;
56  } else {
57  $sTemplateMessage = "System SQL script was successfully executed.";
58  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
59  }
60 
61  } elseif (false === $mixedResult) {
62  // just skip if not available found
63  } else {
64  $sTemplateMessage = $mixedResult;
65  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
66  return;
67  }
68 
69  // get list of available language files updates
70  if (false === ($aLangs = $this->oUtil->readLangs ())) {
71  $sTemplateMessage = 'Error reading the directory with language updates.';
72  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
73  return;
74  } else {
75  $sTemplateMessage = 'The following languages will be affected for system: <br />';
76  if (!$aLangs)
77  $sTemplateMessage .= " - No languages will be affected.";
78  else
79  foreach ($aLangs as $sLang) {
80  $sTemplateMessage .= ' - ' . $sLang . '<br />';
81  }
82  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
83  }
84 
85  // run system langs upgrade
86  if ($aLangs) {
87 
88  $mixedResult = $this->oUtil->executeLangsAdd ();
89  if (true !== $mixedResult) {
90  $sTemplateMessage = $mixedResult;
91  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
92  return;
93  } else {
94  $sTemplateMessage = "System language strings were successfully added.";
95  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
96  }
97 
98  }
99 
100  // run system custom script upgrade
101  $mixedResult = $this->oUtil->isExecuteScriptAvail ();
102  if (true === $mixedResult) {
103 
104  $mixedResult = $this->oUtil->executeScript ();
105  if (true !== $mixedResult) {
106  $sTemplateMessage = $mixedResult;
107  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
108  return;
109  } else {
110  $sTemplateMessage = "System after update custom script was successfully executed.";
111  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
112  }
113 
114  } elseif (false === $mixedResult) {
115  // just skip if not available found
116  } else {
117  $sTemplateMessage = $mixedResult;
118  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
119  return;
120  }
121 
122  // get list of modules updates
123  if (false === ($aModules = $this->oUtil->readModules ())) {
124  $sTemplateMessage = 'Error reading modules updates.';
125  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
126  return;
127  } else {
128  $sTemplateMessage = 'The following modules will be updated: <br />';
129  if (!$aModules)
130  $sTemplateMessage .= " - No modules will be updated.";
131  else
132  foreach ($aModules as $sModule) {
133  $sTemplateMessage .= ' - ' . $sModule . '<br />';
134  }
135  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
136  }
137 
138  foreach ($aModules as $sModule) {
139 
140  // run module SQL upgrade
141  $mixedResult = $this->oUtil->isExecuteSQLAvail ($sModule);
142  if (true === $mixedResult) {
143 
144  $mixedResult = $this->oUtil->executeSQL ($sModule);
145  if (true !== $mixedResult) {
146  $sTemplateMessage = $mixedResult;
147  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
148  return;
149  } else {
150  $sTemplateMessage = "<b>$sModule</b> module SQL script was successfully executed.";
151  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
152  }
153 
154  } elseif (false === $mixedResult) {
155  // just skip if not available found
156  } else {
157  $sTemplateMessage = $mixedResult;
158  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
159  return;
160  }
161 
162  // get list of available language files updates
163  if (false === ($aLangs = $this->oUtil->readLangs ($sModule))) {
164  $sTemplateMessage = 'Error reading the directory with language updates.';
165  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
166  return;
167  } else {
168  $sTemplateMessage = "The following languages will be affected for <b>$sModule</b> module: <br />";
169  if (!$aLangs)
170  $sTemplateMessage .= " - No languages will be affected.";
171  else
172  foreach ($aLangs as $sLang) {
173  $sTemplateMessage .= ' - ' . $sLang . '<br />';
174  }
175  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
176  }
177 
178  // run module langs upgrade
179  if ($aLangs) {
180 
181  $mixedResult = $this->oUtil->executeLangsAdd ($sModule);
182  if (true !== $mixedResult) {
183  $sTemplateMessage = $mixedResult;
184  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
185  return;
186  } else {
187  $sTemplateMessage = "<b>$sModule</b> module language strings were successfully added.";
188  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
189  }
190 
191  }
192 
193  // run module custom script upgrade
194  $mixedResult = $this->oUtil->isExecuteScriptAvail ($sModule);
195  if (true === $mixedResult) {
196 
197  $mixedResult = $this->oUtil->executeScript ($sModule);
198  if (true !== $mixedResult) {
199  $sTemplateMessage = $mixedResult;
200  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
201  return;
202  } else {
203  $sTemplateMessage = "<b>$sModule</b> module after update custom script was successfully executed.";
204  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
205  }
206 
207  } elseif (false === $mixedResult) {
208  // just skip if not available
209  } else {
210  $sTemplateMessage = $mixedResult;
211  require (CH_UPGRADE_DIR_TEMPLATES . 'message_error.php');
212  return;
213  }
214 
215  // run module custom script upgrade
216  $sResult = $this->oUtil->executeConclusion ($sModule);
217  if ($sResult) {
218  $sTemplateMessage = $sResult;
219  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
220  }
221 
222  }
223 
224  // run module custom script upgrade
225  $sResult = $this->oUtil->executeConclusion ();
226  if ($sResult) {
227  $sTemplateMessage = $sResult;
228  require (CH_UPGRADE_DIR_TEMPLATES . 'message_success_step.php');
229  }
230 
231  }
232 
233 }
ChWsbUpgradeController\runUpgrade
runUpgrade($sFolder)
Definition: ChWsbUpgradeController.php:31
ChWsbUpgradeController
Definition: ChWsbUpgradeController.php:9
$sResult
$sResult
Definition: advanced_settings.php:26
CH_UPGRADE_DIR_TEMPLATES
const CH_UPGRADE_DIR_TEMPLATES
Definition: index.php:13
php
$sModule
if(!file_exists($sRayHeaderPath)) $sModule
Definition: index.php:14
ChWsbUpgradeDb
Definition: ChWsbUpgradeDb.php:12
$sFolder
$sFolder
Definition: index.php:15
$aModules
$aModules
Definition: constants.inc.php:29
ChWsbUpgradeController\$oUtil
$oUtil
Definition: ChWsbUpgradeController.php:11
ChWsbUpgradeController\showAvailableUpgrades
showAvailableUpgrades()
Definition: ChWsbUpgradeController.php:19
ChWsbUpgradeUtil
Definition: ChWsbUpgradeUtil.php:9
as
as
Definition: Filter.ExtractStyleBlocks.Escaping.txt:10
ChWsbUpgradeController\$oDb
$oDb
Definition: ChWsbUpgradeController.php:10
ChWsbUpgradeController\__construct
__construct()
Definition: ChWsbUpgradeController.php:13