Merge lp:~dangarner/xibo/client-163 into lp:xibo/1.7
- client-163
- Merge into tuttle
Proposed by
Dan Garner
Status: | Needs review |
---|---|
Proposed branch: | lp:~dangarner/xibo/client-163 |
Merge into: | lp:xibo/1.7 |
Diff against target: |
1542 lines (+683/-171) (has conflicts) 41 files modified
client/dotNET/DataSetView.cs (+3/-1) client/dotNET/Properties/Settings.Designer.cs (+8/-0) client/dotNET/Properties/Settings.settings (+8/-0) client/dotNET/Rss.cs (+2/-1) client/dotNET/app.config (+8/-0) default.pot (+8/-0) server/config/config.class.php (+12/-2) server/install.php (+12/-0) server/install/database/71.sql (+4/-0) server/install/master/data.sql (+4/-0) server/install/master/structure.sql (+10/-0) server/lib/app/kit.class.php (+1/-1) server/lib/app/pdoconnect.class.php (+11/-1) server/lib/data/dataset.data.class.php (+1/-2) server/lib/data/datasetdata.data.class.php (+1/-1) server/lib/data/displaygroup.data.class.php (+9/-5) server/lib/data/region.data.class.php (+19/-8) server/lib/data/userdata.data.class.php (+28/-0) server/lib/data/usergroup.data.class.php (+1/-1) server/lib/include.php (+4/-0) server/lib/modules/module.class.php (+8/-5) server/lib/pages/admin.class.php (+7/-7) server/lib/pages/content.class.php (+1/-1) server/lib/pages/display.class.php (+7/-5) server/lib/pages/displaygroup.class.php (+1/-1) server/lib/pages/schedule.class.php (+17/-12) server/lib/pages/statusdashboard.class.php (+1/-1) server/lib/pages/timeline.class.php (+6/-0) server/lib/pages/user.class.php (+5/-17) server/lib/service/xmdssoap.class.php (+6/-0) server/locale/dbtranslate.php (+43/-0) server/manual/content/admin/api_layouts.php (+39/-16) server/manual/content/admin/release_notes_1.6.2.php (+162/-76) server/manual/content/admin/release_notes_1.6.3.php (+83/-0) server/manual/template.php (+4/-0) server/modules/preview/HtmlTemplateForGetResource.html (+4/-0) server/modules/preview/html-preview.js (+12/-4) server/modules/preview/xibo-text-render.js (+31/-0) server/modules/preview/xibo-webpage-render.js (+73/-1) server/theme/default/html/status_dashboard.php (+7/-2) server/upgrade.php (+12/-0) Text conflict in client/dotNET/Properties/Settings.Designer.cs Text conflict in client/dotNET/Properties/Settings.settings Text conflict in client/dotNET/app.config Contents conflict in default.mo Text conflict in default.pot Text conflict in server/config/config.class.php Text conflict in server/install.php Text conflict in server/install/master/data.sql Text conflict in server/lib/data/region.data.class.php Text conflict in server/lib/include.php Text conflict in server/lib/service/xmdssoap.class.php Text conflict in server/manual/content/admin/release_notes_1.6.2.php Text conflict in server/manual/template.php Text conflict in server/modules/preview/HtmlTemplateForGetResource.html Text conflict in server/modules/preview/html-preview.js Text conflict in server/modules/preview/xibo-text-render.js Text conflict in server/modules/preview/xibo-webpage-render.js Text conflict in server/theme/default/html/status_dashboard.php Text conflict in server/upgrade.php |
To merge this branch: | bzr merge lp:~dangarner/xibo/client-163 |
Related bugs: |
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Xibo Maintainters | Pending | ||
Review via email: mp+231789@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
Unmerged revisions
- 347. By Dan Garner
-
[dotnetclient] Bumped Version (1.6.3, 85)
[dotnetclient] Always re-download resource when layout changes - 346. By Dan Garner
-
Merged ~dangarner/
xibo/server- 163-final/
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === modified file 'client/dotNET/DataSetView.cs' |
2 | --- client/dotNET/DataSetView.cs 2013-11-09 12:14:38 +0000 |
3 | +++ client/dotNET/DataSetView.cs 2014-08-21 19:12:24 +0000 |
4 | @@ -40,6 +40,8 @@ |
5 | private string _backgroundColor; |
6 | private string _backgroundTop; |
7 | private string _backgroundLeft; |
8 | + |
9 | + private RegionOptions _options; |
10 | |
11 | // File paths |
12 | private string _filePath; |
13 | @@ -113,7 +115,7 @@ |
14 | // It exists - therefore we want to get the last time it was updated |
15 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(filePath); |
16 | |
17 | - if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0) |
18 | + if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0 || _options.LayoutModifiedDate.CompareTo(lastWriteDate) > 0) |
19 | return false; |
20 | else |
21 | return true; |
22 | |
23 | === modified file 'client/dotNET/Properties/Settings.Designer.cs' |
24 | --- client/dotNET/Properties/Settings.Designer.cs 2014-06-29 16:11:23 +0000 |
25 | +++ client/dotNET/Properties/Settings.Designer.cs 2014-08-21 19:12:24 +0000 |
26 | @@ -271,7 +271,11 @@ |
27 | |
28 | [global::System.Configuration.ApplicationScopedSettingAttribute()] |
29 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
30 | +<<<<<<< TREE |
31 | [global::System.Configuration.DefaultSettingValueAttribute("1.6.2")] |
32 | +======= |
33 | + [global::System.Configuration.DefaultSettingValueAttribute("1.6.3")] |
34 | +>>>>>>> MERGE-SOURCE |
35 | public string ClientVersion { |
36 | get { |
37 | return ((string)(this["ClientVersion"])); |
38 | @@ -535,7 +539,11 @@ |
39 | |
40 | [global::System.Configuration.ApplicationScopedSettingAttribute()] |
41 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
42 | +<<<<<<< TREE |
43 | [global::System.Configuration.DefaultSettingValueAttribute("84")] |
44 | +======= |
45 | + [global::System.Configuration.DefaultSettingValueAttribute("85")] |
46 | +>>>>>>> MERGE-SOURCE |
47 | public int ClientCodeVersion { |
48 | get { |
49 | return ((int)(this["ClientCodeVersion"])); |
50 | |
51 | === modified file 'client/dotNET/Properties/Settings.settings' |
52 | --- client/dotNET/Properties/Settings.settings 2014-06-29 16:11:23 +0000 |
53 | +++ client/dotNET/Properties/Settings.settings 2014-08-21 19:12:24 +0000 |
54 | @@ -69,7 +69,11 @@ |
55 | <Value Profile="(Default)">cacheManager.xml</Value> |
56 | </Setting> |
57 | <Setting Name="ClientVersion" Type="System.String" Scope="Application"> |
58 | +<<<<<<< TREE |
59 | <Value Profile="(Default)">1.6.2</Value> |
60 | +======= |
61 | + <Value Profile="(Default)">1.6.3</Value> |
62 | +>>>>>>> MERGE-SOURCE |
63 | </Setting> |
64 | <Setting Name="scrollStepAmount" Type="System.Decimal" Scope="User"> |
65 | <Value Profile="(Default)">1</Value> |
66 | @@ -138,7 +142,11 @@ |
67 | <Value Profile="(Default)">Bottom Right</Value> |
68 | </Setting> |
69 | <Setting Name="ClientCodeVersion" Type="System.Int32" Scope="Application"> |
70 | +<<<<<<< TREE |
71 | <Value Profile="(Default)">84</Value> |
72 | +======= |
73 | + <Value Profile="(Default)">85</Value> |
74 | +>>>>>>> MERGE-SOURCE |
75 | </Setting> |
76 | <Setting Name="ClientInformationKeyCode" Type="System.String" Scope="User"> |
77 | <Value Profile="(Default)">I</Value> |
78 | |
79 | === modified file 'client/dotNET/Rss.cs' |
80 | --- client/dotNET/Rss.cs 2014-02-09 14:58:41 +0000 |
81 | +++ client/dotNET/Rss.cs 2014-08-21 19:12:24 +0000 |
82 | @@ -614,7 +614,8 @@ |
83 | // It exists - therefore we want to get the last time it was updated |
84 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(_filePath); |
85 | |
86 | - if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0) |
87 | + // Either the update interval has expired or the layout has been modified. |
88 | + if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0 || _options.LayoutModifiedDate.CompareTo(lastWriteDate) > 0) |
89 | return false; |
90 | else |
91 | return true; |
92 | |
93 | === modified file 'client/dotNET/app.config' |
94 | --- client/dotNET/app.config 2014-06-29 16:11:23 +0000 |
95 | +++ client/dotNET/app.config 2014-08-21 19:12:24 +0000 |
96 | @@ -144,7 +144,11 @@ |
97 | <value>cacheManager.xml</value> |
98 | </setting> |
99 | <setting name="ClientVersion" serializeAs="String"> |
100 | +<<<<<<< TREE |
101 | <value>1.6.2</value> |
102 | +======= |
103 | + <value>1.6.3</value> |
104 | +>>>>>>> MERGE-SOURCE |
105 | </setting> |
106 | <setting name="xmdsResetTimeout" serializeAs="String"> |
107 | <value>900</value> |
108 | @@ -156,7 +160,11 @@ |
109 | <value>True</value> |
110 | </setting> |
111 | <setting name="ClientCodeVersion" serializeAs="String"> |
112 | +<<<<<<< TREE |
113 | <value>84</value> |
114 | +======= |
115 | + <value>85</value> |
116 | +>>>>>>> MERGE-SOURCE |
117 | </setting> |
118 | </XiboClient.Properties.Settings> |
119 | </applicationSettings> |
120 | |
121 | === renamed file 'default.mo' => 'default.mo.OTHER' |
122 | Binary files default.mo 2014-07-15 16:00:50 +0000 and default.mo.OTHER 2014-08-21 19:12:24 +0000 differ |
123 | === modified file 'default.pot' |
124 | --- default.pot 2014-07-15 16:00:50 +0000 |
125 | +++ default.pot 2014-08-21 19:12:24 +0000 |
126 | @@ -2,7 +2,11 @@ |
127 | msgstr "" |
128 | "Project-Id-Version: Xibo Digital Signage\n" |
129 | "Report-Msgid-Bugs-To: \n" |
130 | +<<<<<<< TREE |
131 | "POT-Creation-Date: 2014-07-15 17:00-0000\n" |
132 | +======= |
133 | +"POT-Creation-Date: 2014-07-15 16:44-0000\n" |
134 | +>>>>>>> MERGE-SOURCE |
135 | "PO-Revision-Date: \n" |
136 | "Last-Translator: Dan Garner <dan@xibo.org.uk>\n" |
137 | "Language-Team: <info@xibo.org.uk>\n" |
138 | @@ -10,7 +14,11 @@ |
139 | "MIME-Version: 1.0\n" |
140 | "Content-Type: text/plain; charset=UTF-8\n" |
141 | "Content-Transfer-Encoding: 8bit\n" |
142 | +<<<<<<< TREE |
143 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.7.0-alpha\n" |
144 | +======= |
145 | +"X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.6.2\n" |
146 | +>>>>>>> MERGE-SOURCE |
147 | "X-Poedit-KeywordsList: __;Translate\n" |
148 | "X-Generator: Poedit 1.5.5\n" |
149 | "X-Poedit-SearchPath-0: server\n" |
150 | |
151 | === modified file 'server/config/config.class.php' |
152 | --- server/config/config.class.php 2014-06-28 16:12:52 +0000 |
153 | +++ server/config/config.class.php 2014-08-21 19:12:24 +0000 |
154 | @@ -1,7 +1,7 @@ |
155 | <?php |
156 | /* |
157 | * Xibo - Digital Signage - http://www.xibo.org.uk |
158 | - * Copyright (C) 2006-2013 Daniel Garner and James Packer |
159 | + * Copyright (C) 2006-2014 Daniel Garner and James Packer |
160 | * |
161 | * This file is part of Xibo. |
162 | * |
163 | @@ -22,6 +22,8 @@ |
164 | |
165 | class Config |
166 | { |
167 | + public static $VERSION_REQUIRED = '5.3.3'; |
168 | + |
169 | private $extensions; |
170 | private $envTested; |
171 | private $envFault; |
172 | @@ -129,7 +131,7 @@ |
173 | // Check for PHP version |
174 | $message = __('PHP Version'); |
175 | |
176 | - if ($this->CheckPHP() == 1) |
177 | + if ($this->CheckPHP()) |
178 | { |
179 | $output .= $imgGood.$message.'<br />'; |
180 | } |
181 | @@ -138,7 +140,11 @@ |
182 | $this->envFault = true; |
183 | |
184 | $output .= $imgBad.$message.'<br />'; |
185 | +<<<<<<< TREE |
186 | $output .= '<div class="check_explain"> <p>' . __("PHP version 5.3.3 or later required.") . '. Detected ' . phpversion() . '</p></div>'; |
187 | +======= |
188 | + $output .= '<div class="check_explain"> <p>' . sprintf(__("PHP version %s or later required."), Config::$VERSION_REQUIRED) . '. Detected ' . phpversion() . '</p></div>'; |
189 | +>>>>>>> MERGE-SOURCE |
190 | } |
191 | |
192 | // Check for file system permissions |
193 | @@ -463,7 +469,11 @@ |
194 | */ |
195 | function CheckPHP() |
196 | { |
197 | +<<<<<<< TREE |
198 | return ((version_compare('5.3.3', phpversion(), '>='))) ? 1 : 0; |
199 | +======= |
200 | + return (version_compare(phpversion(), Config::$VERSION_REQUIRED) != -1); |
201 | +>>>>>>> MERGE-SOURCE |
202 | } |
203 | |
204 | /** |
205 | |
206 | === modified file 'server/install.php' |
207 | --- server/install.php 2014-07-15 15:59:36 +0000 |
208 | +++ server/install.php 2014-08-21 19:12:24 +0000 |
209 | @@ -20,11 +20,14 @@ |
210 | */ |
211 | DEFINE('XIBO', true); |
212 | |
213 | +<<<<<<< TREE |
214 | if (! checkPHP()) |
215 | { |
216 | die('Xibo requires PHP 5.3.3 or later'); |
217 | } |
218 | |
219 | +======= |
220 | +>>>>>>> MERGE-SOURCE |
221 | error_reporting(0); |
222 | ini_set('display_errors', 0); |
223 | |
224 | @@ -33,6 +36,12 @@ |
225 | include('config/config.class.php'); |
226 | include('config/db_config.php'); |
227 | |
228 | +$config = new Config(); |
229 | + |
230 | +if (!$config->CheckPHP()) { |
231 | + die(sprintf('Xibo required PHP version %s.', Config::$VERSION_REQUIRED)); |
232 | +} |
233 | + |
234 | // Setup for the Translations using Gettext. |
235 | // There is normally a class that will do this for us - but it requires a DB object (which we do not have at install time) |
236 | // Would be nice to include a method on the TranslationEngine that did this for us - but without the debugging |
237 | @@ -691,11 +700,14 @@ |
238 | return $key; |
239 | } |
240 | |
241 | +<<<<<<< TREE |
242 | function checkPHP() |
243 | { |
244 | return (version_compare("5.3.3",phpversion(), "<=")); |
245 | } |
246 | |
247 | +======= |
248 | +>>>>>>> MERGE-SOURCE |
249 | function CheckGettext() |
250 | { |
251 | return extension_loaded("gettext"); |
252 | |
253 | === added file 'server/install/database/71.sql' |
254 | --- server/install/database/71.sql 1970-01-01 00:00:00 +0000 |
255 | +++ server/install/database/71.sql 2014-08-21 19:12:24 +0000 |
256 | @@ -0,0 +1,4 @@ |
257 | + |
258 | +UPDATE `version` SET `app_ver` = '1.6.3', `XmdsVersion` = 3; |
259 | +UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE'; |
260 | +UPDATE `version` SET `DBVersion` = '71'; |
261 | |
262 | === modified file 'server/install/master/data.sql' |
263 | --- server/install/master/data.sql 2014-07-15 15:35:22 +0000 |
264 | +++ server/install/master/data.sql 2014-08-21 19:12:24 +0000 |
265 | @@ -1,5 +1,9 @@ |
266 | INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES |
267 | +<<<<<<< TREE |
268 | ('1.6.2', 3, 1, 70); |
269 | +======= |
270 | +('1.6.3', 3, 1, 71); |
271 | +>>>>>>> MERGE-SOURCE |
272 | |
273 | INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES |
274 | (1, 'Users', 0, 0), |
275 | |
276 | === modified file 'server/install/master/structure.sql' |
277 | --- server/install/master/structure.sql 2014-03-09 14:41:56 +0000 |
278 | +++ server/install/master/structure.sql 2014-08-21 19:12:24 +0000 |
279 | @@ -34,6 +34,7 @@ |
280 | `DataSet` varchar(50) NOT NULL, |
281 | `Description` varchar(254) DEFAULT NULL, |
282 | `UserID` int(11) NOT NULL, |
283 | + `LastDataEdit` int(11) NOT NULL DEFAULT '0', |
284 | PRIMARY KEY (`DataSetID`), |
285 | KEY `UserID` (`UserID`) |
286 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
287 | @@ -602,6 +603,15 @@ |
288 | PRIMARY KEY (`id`) |
289 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='File associations directly to Display Groups' AUTO_INCREMENT=1 ; |
290 | |
291 | +CREATE TABLE IF NOT EXISTS `lkdatasetlayout` ( |
292 | + `LkDataSetLayoutID` int(11) NOT NULL AUTO_INCREMENT, |
293 | + `DataSetID` int(11) NOT NULL, |
294 | + `LayoutID` int(11) NOT NULL, |
295 | + `RegionID` varchar(50) NOT NULL, |
296 | + `MediaID` varchar(50) NOT NULL, |
297 | + PRIMARY KEY (`LkDataSetLayoutID`) |
298 | +) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; |
299 | + |
300 | -- |
301 | -- Constraints for dumped tables |
302 | -- |
303 | |
304 | === modified file 'server/lib/app/kit.class.php' |
305 | --- server/lib/app/kit.class.php 2014-05-26 09:09:06 +0000 |
306 | +++ server/lib/app/kit.class.php 2014-08-21 19:12:24 +0000 |
307 | @@ -372,7 +372,7 @@ |
308 | */ |
309 | public static function GetURL($page = "") |
310 | { |
311 | - $page = $this->ValidateParam($page, _WORD); |
312 | + $page = Kit::ValidateParam($page, _WORD); |
313 | $fullUrl = 'http'; |
314 | |
315 | if(isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') |
316 | |
317 | === modified file 'server/lib/app/pdoconnect.class.php' |
318 | --- server/lib/app/pdoconnect.class.php 2014-01-18 09:47:41 +0000 |
319 | +++ server/lib/app/pdoconnect.class.php 2014-08-21 19:12:24 +0000 |
320 | @@ -34,8 +34,18 @@ |
321 | global $dbpass; |
322 | global $dbname; |
323 | |
324 | + $dbport = ''; |
325 | + |
326 | + if (strstr($dbhost, ':')) { |
327 | + $hostParts = explode(':', $dbhost); |
328 | + $dsn = 'mysql:host=' . $hostParts[0] . ';port=' . $hostParts[1] . ';dbname=' . $dbname . ';'; |
329 | + } |
330 | + else { |
331 | + $dsn = 'mysql:host=' . $dbhost . ';dbname=' . $dbname . ';'; |
332 | + } |
333 | + |
334 | // Open the connection and set the error mode |
335 | - self::$conn = new PDO('mysql:host=' . $dbhost . ';dbname=' . $dbname . ';', $dbuser, $dbpass); |
336 | + self::$conn = new PDO($dsn, $dbuser, $dbpass); |
337 | self::$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
338 | |
339 | self::$conn->query("SET NAMES 'utf8'"); |
340 | |
341 | === modified file 'server/lib/data/dataset.data.class.php' |
342 | --- server/lib/data/dataset.data.class.php 2014-07-08 14:45:16 +0000 |
343 | +++ server/lib/data/dataset.data.class.php 2014-08-21 19:12:24 +0000 |
344 | @@ -441,8 +441,7 @@ |
345 | |
346 | Debug::LogEntry('audit', $SQL); |
347 | |
348 | - if (!$rows = $db->GetArray($SQL, $associative)) |
349 | - trigger_error($db->error()); |
350 | + $rows = $db->GetArray($SQL, $associative); |
351 | |
352 | if (!is_array($rows)) |
353 | $rows = array(); |
354 | |
355 | === modified file 'server/lib/data/datasetdata.data.class.php' |
356 | --- server/lib/data/datasetdata.data.class.php 2014-07-12 13:54:51 +0000 |
357 | +++ server/lib/data/datasetdata.data.class.php 2014-08-21 19:12:24 +0000 |
358 | @@ -377,4 +377,4 @@ |
359 | } |
360 | } |
361 | } |
362 | -?> |
363 | \ No newline at end of file |
364 | +?> |
365 | |
366 | === modified file 'server/lib/data/displaygroup.data.class.php' |
367 | --- server/lib/data/displaygroup.data.class.php 2014-04-19 09:11:34 +0000 |
368 | +++ server/lib/data/displaygroup.data.class.php 2014-08-21 19:12:24 +0000 |
369 | @@ -151,7 +151,8 @@ |
370 | */ |
371 | public function Delete($displayGroupID) |
372 | { |
373 | - Debug::LogEntry('audit', 'IN', 'DisplayGroup', 'Delete'); |
374 | + if ($displayGroupID == NULL || $displayGroupID == 0) |
375 | + return $this->SetError(__('Missing displayGroupId')); |
376 | |
377 | try { |
378 | $dbh = PDOConnect::init(); |
379 | @@ -162,6 +163,13 @@ |
380 | if (!$schedule->DeleteScheduleForDisplayGroup($displayGroupID)) |
381 | throw new Exception('Unable to DeleteScheduleForDisplayGroup'); |
382 | |
383 | + // Remove all permissions |
384 | + Kit::ClassLoader('displaygroupsecurity'); |
385 | + $security = new DisplayGroupSecurity($this->db); |
386 | + |
387 | + if (!$security->UnlinkAll($displayGroupID)) |
388 | + throw new Exception('Unable to Unlink all Display Group Permissions'); |
389 | + |
390 | // Delete the Display Group |
391 | $sth = $dbh->prepare('DELETE FROM displaygroup WHERE DisplayGroupID = :displaygroupid'); |
392 | $sth->execute(array( |
393 | @@ -414,10 +422,6 @@ |
394 | |
395 | try { |
396 | $dbh = PDOConnect::init(); |
397 | - |
398 | - // Check that some media assignments have been made |
399 | - if (count($mediaList) == 0) |
400 | - $this->ThrowError(25006, __('No media to assign')); |
401 | |
402 | // Drop all current assignments |
403 | if (!$link->UnlinkAllFromDisplayGroup($displayGroupId)) |
404 | |
405 | === modified file 'server/lib/data/region.data.class.php' |
406 | --- server/lib/data/region.data.class.php 2014-07-01 17:12:06 +0000 |
407 | +++ server/lib/data/region.data.class.php 2014-08-21 19:12:24 +0000 |
408 | @@ -22,10 +22,19 @@ |
409 | |
410 | class Region extends Data |
411 | { |
412 | - // Caching |
413 | - private $layoutXml; |
414 | - private $layoutDocument; |
415 | - |
416 | +<<<<<<< TREE |
417 | + // Caching |
418 | + private $layoutXml; |
419 | + private $layoutDocument; |
420 | + |
421 | +======= |
422 | + // Caching |
423 | + private $layoutXml; |
424 | + private $layoutDocument; |
425 | + |
426 | + public $delayFinalise = false; |
427 | + |
428 | +>>>>>>> MERGE-SOURCE |
429 | public function __construct(database $db) |
430 | { |
431 | $this->db =& $db; |
432 | @@ -632,10 +641,12 @@ |
433 | if (!$this->SetLayoutXml($layoutid, $xml->saveXML())) |
434 | return false; |
435 | |
436 | - // Update layout status |
437 | - Kit::ClassLoader('Layout'); |
438 | - $layout = new Layout($this->db); |
439 | - $layout->SetValid($layoutid, true); |
440 | + if (!$this->delayFinalise) { |
441 | + // Update layout status |
442 | + Kit::ClassLoader('Layout'); |
443 | + $layout = new Layout($this->db); |
444 | + $layout->SetValid($layoutid, true); |
445 | + } |
446 | |
447 | //Its swapped |
448 | return true; |
449 | |
450 | === modified file 'server/lib/data/userdata.data.class.php' |
451 | --- server/lib/data/userdata.data.class.php 2014-01-18 09:47:41 +0000 |
452 | +++ server/lib/data/userdata.data.class.php 2014-08-21 19:12:24 +0000 |
453 | @@ -34,6 +34,34 @@ |
454 | |
455 | class Userdata extends Data |
456 | { |
457 | + public $userId; |
458 | + |
459 | + public function Delete() { |
460 | + if (!isset($this->userId) || $this->userId == 0) |
461 | + return $this->SetError(__('Missing userId')); |
462 | + |
463 | + try { |
464 | + $dbh = PDOConnect::init(); |
465 | + |
466 | + $sth = $dbh->prepare('DELETE FROM `user` WHERE userid = :userid'); |
467 | + $sth->execute(array('userid' => $this->userId)); |
468 | + |
469 | + $sth = $dbh->prepare('DELETE FROM `session` WHERE userid = :userid'); |
470 | + $sth->execute(array('userid' => $this->userId)); |
471 | + |
472 | + return true; |
473 | + } |
474 | + catch (Exception $e) { |
475 | + |
476 | + Debug::LogEntry('error', $e->getMessage(), get_class(), __FUNCTION__); |
477 | + |
478 | + if (!$this->IsError()) |
479 | + $this->SetError(1, __('Unknown Error')); |
480 | + |
481 | + return false; |
482 | + } |
483 | + } |
484 | + |
485 | /** |
486 | * Change a users password |
487 | * @param <type> $userId |
488 | |
489 | === modified file 'server/lib/data/usergroup.data.class.php' |
490 | --- server/lib/data/usergroup.data.class.php 2014-01-18 09:47:41 +0000 |
491 | +++ server/lib/data/usergroup.data.class.php 2014-08-21 19:12:24 +0000 |
492 | @@ -255,7 +255,7 @@ |
493 | |
494 | $sth = $dbh->prepare('DELETE FROM lkusergroup WHERE UserID = :userid'); |
495 | $sth->execute(array( |
496 | - 'userid' => $userID |
497 | + 'userid' => $userId |
498 | )); |
499 | |
500 | Debug::LogEntry('audit', 'OUT', 'UserGroup', 'UnlinkAllGroups'); |
501 | |
502 | === modified file 'server/lib/include.php' |
503 | --- server/lib/include.php 2014-07-15 15:36:06 +0000 |
504 | +++ server/lib/include.php 2014-08-21 19:12:24 +0000 |
505 | @@ -20,7 +20,11 @@ |
506 | */ |
507 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
508 | |
509 | +<<<<<<< TREE |
510 | define('WEBSITE_VERSION', 70); |
511 | +======= |
512 | +define('WEBSITE_VERSION', 71); |
513 | +>>>>>>> MERGE-SOURCE |
514 | |
515 | // No errors reported until we read the settings from the DB |
516 | error_reporting(0); |
517 | |
518 | === modified file 'server/lib/modules/module.class.php' |
519 | --- server/lib/modules/module.class.php 2014-07-01 17:12:06 +0000 |
520 | +++ server/lib/modules/module.class.php 2014-08-21 19:12:24 +0000 |
521 | @@ -52,6 +52,7 @@ |
522 | protected $showRegionOptions; |
523 | protected $originalUserId; |
524 | protected $storedAs; |
525 | + protected $originalFilename; |
526 | |
527 | // Track the error state |
528 | private $error; |
529 | @@ -237,7 +238,7 @@ |
530 | $dbh = PDOConnect::init(); |
531 | |
532 | // Load what we know about this media into the object |
533 | - $sth = $dbh->prepare('SELECT duration, name, UserId, storedAs FROM media WHERE mediaID = :media_id'); |
534 | + $sth = $dbh->prepare('SELECT duration, name, UserId, storedAs, originalFilename FROM media WHERE mediaID = :media_id'); |
535 | $sth->execute(array( |
536 | 'media_id' => $mediaid |
537 | )); |
538 | @@ -252,6 +253,7 @@ |
539 | $this->name = $rows[0]['name']; |
540 | $this->originalUserId = $rows[0]['UserId']; |
541 | $this->storedAs = $rows[0]['storedAs']; |
542 | + $this->originalFilename = $rows[0]['originalFilename']; |
543 | } |
544 | catch (Exception $e) { |
545 | |
546 | @@ -1203,9 +1205,6 @@ |
547 | |
548 | Debug::LogEntry('audit', sprintf('Replacing mediaid %s with mediaid %s in all layouts', $oldMediaId, $newMediaId), 'module', 'ReplaceMediaInAllLayouts'); |
549 | |
550 | - // Create a region object for later use |
551 | - $region = new region($db); |
552 | - |
553 | try { |
554 | $dbh = PDOConnect::init(); |
555 | |
556 | @@ -1231,6 +1230,9 @@ |
557 | |
558 | Debug::LogEntry('audit', sprintf('%d linked media items for layoutid %d', count($results), $layoutId), 'module', 'ReplaceMediaInAllLayouts'); |
559 | |
560 | + // Create a region object for later use (new one each time) |
561 | + $region = new region($db); |
562 | + |
563 | // Loop through each media link for this layout |
564 | foreach ($results as $row) |
565 | { |
566 | @@ -1958,13 +1960,14 @@ |
567 | } |
568 | |
569 | $download = Kit::GetParam('download', _REQUEST, _BOOLEAN, false); |
570 | + $downloadFromLibrary = Kit::GetParam('downloadFromLibrary', _REQUEST, _BOOLEAN, false); |
571 | |
572 | $size = filesize($fileName); |
573 | |
574 | if ($download) { |
575 | header('Content-Type: application/octet-stream'); |
576 | header("Content-Transfer-Encoding: Binary"); |
577 | - header("Content-disposition: attachment; filename=\"" . basename($fileName) . "\""); |
578 | + header("Content-disposition: attachment; filename=\"" . (($downloadFromLibrary) ? $this->originalFilename : basename($fileName)) . "\""); |
579 | } |
580 | else { |
581 | $fi = new finfo( FILEINFO_MIME_TYPE ); |
582 | |
583 | === modified file 'server/lib/pages/admin.class.php' |
584 | --- server/lib/pages/admin.class.php 2014-06-30 15:15:17 +0000 |
585 | +++ server/lib/pages/admin.class.php 2014-08-21 19:12:24 +0000 |
586 | @@ -262,13 +262,13 @@ |
587 | // Monthly bandwidth - optionally tested against limits |
588 | $xmdsLimit = Config::GetSetting('MONTHLY_XMDS_TRANSFER_LIMIT_KB'); |
589 | $startOfMonth = strtotime(date('m').'/01/'.date('Y').' 00:00:00'); |
590 | - |
591 | - $sql = sprintf('SELECT IFNULL(SUM(Size), 0) AS BandwidthUsage FROM `bandwidth` WHERE Month = %d', $startOfMonth); |
592 | - $bandwidthUsage = $this->db->GetSingleValue($sql, 'BandwidthUsage', _INT); |
593 | - |
594 | - Debug::LogEntry('audit', $sql); |
595 | - |
596 | - $usagePcnt = ($xmdsLimit > 0) ? (($bandwidthUsage / ($xmdsLimit * 1024)) * 100) : ''; |
597 | + |
598 | + $sql = sprintf('SELECT IFNULL(SUM(Size), 0) AS BandwidthUsage FROM `bandwidth` WHERE Month > %d AND Month < %d', $startOfMonth, $startOfMonth + (86400 * 2)); |
599 | + $bandwidthUsage = $this->db->GetSingleValue($sql, 'BandwidthUsage', _DOUBLE); |
600 | + |
601 | + Debug::LogEntry('audit', $sql . '. Usage: ' . $bandwidthUsage); |
602 | + |
603 | + $usagePcnt = ($xmdsLimit > 0) ? (((double)$bandwidthUsage / ($xmdsLimit * 1024)) * 100) : ''; |
604 | |
605 | $output .= '<p>' . sprintf(__('You have used %s of bandwidth this month.'), $this->FormatByteSize($bandwidthUsage)) . (($xmdsLimit > 0) ? sprintf(__(' This is %d %% of your %s limit.'), $usagePcnt, $this->FormatByteSize($xmdsLimit * 1024)) : '') . '</p>'; |
606 | } |
607 | |
608 | === modified file 'server/lib/pages/content.class.php' |
609 | --- server/lib/pages/content.class.php 2014-03-08 14:41:11 +0000 |
610 | +++ server/lib/pages/content.class.php 2014-08-21 19:12:24 +0000 |
611 | @@ -151,7 +151,7 @@ |
612 | // Download |
613 | $row['buttons'][] = array( |
614 | 'id' => 'content_button_download', |
615 | - 'url' => 'index.php?p=module&mod=' . $row['mediatype'] . '&q=Exec&method=GetResource&download=1&mediaid=' . $row['mediaid'], |
616 | + 'url' => 'index.php?p=module&mod=' . $row['mediatype'] . '&q=Exec&method=GetResource&download=1&downloadFromLibrary=1&mediaid=' . $row['mediaid'], |
617 | 'text' => __('Download') |
618 | ); |
619 | |
620 | |
621 | === modified file 'server/lib/pages/display.class.php' |
622 | --- server/lib/pages/display.class.php 2014-07-12 12:09:34 +0000 |
623 | +++ server/lib/pages/display.class.php 2014-08-21 19:12:24 +0000 |
624 | @@ -338,11 +338,13 @@ |
625 | $row['mediainventorystatus'] = ($row['mediainventorystatus'] == 1) ? 'success' : (($row['mediainventorystatus'] == 2) ? 'error' : 'warning'); |
626 | |
627 | // Schedule Now |
628 | - $row['buttons'][] = array( |
629 | - 'id' => 'display_button_schedulenow', |
630 | - 'url' => 'index.php?p=schedule&q=ScheduleNowForm&displayGroupId=' . $row['displaygroupid'], |
631 | - 'text' => __('Schedule Now') |
632 | - ); |
633 | + if ($row['edit'] == 1 || Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'Yes') { |
634 | + $row['buttons'][] = array( |
635 | + 'id' => 'display_button_schedulenow', |
636 | + 'url' => 'index.php?p=schedule&q=ScheduleNowForm&displayGroupId=' . $row['displaygroupid'], |
637 | + 'text' => __('Schedule Now') |
638 | + ); |
639 | + } |
640 | |
641 | // Media Inventory |
642 | $row['buttons'][] = array( |
643 | |
644 | === modified file 'server/lib/pages/displaygroup.class.php' |
645 | --- server/lib/pages/displaygroup.class.php 2014-06-30 15:15:17 +0000 |
646 | +++ server/lib/pages/displaygroup.class.php 2014-08-21 19:12:24 +0000 |
647 | @@ -775,7 +775,7 @@ |
648 | $response = new ResponseManager(); |
649 | |
650 | $displayGroupId = Kit::GetParam('displaygroupid', _GET, _INT); |
651 | - $mediaList = Kit::GetParam('MediaID', _POST, _ARRAY_INT, array(), false); |
652 | + $mediaList = Kit::GetParam('MediaID', _POST, _ARRAY_INT, NULL, false); |
653 | |
654 | if ($displayGroupId == 0) |
655 | trigger_error(__('Display Group not selected'), E_USER_ERROR); |
656 | |
657 | === modified file 'server/lib/pages/schedule.class.php' |
658 | --- server/lib/pages/schedule.class.php 2014-07-09 17:27:29 +0000 |
659 | +++ server/lib/pages/schedule.class.php 2014-08-21 19:12:24 +0000 |
660 | @@ -1100,8 +1100,9 @@ |
661 | // Determine if we are authed against this group. |
662 | $auth = $this->user->DisplayGroupAuth($displayGroupID, true); |
663 | |
664 | - if (!$auth->view) |
665 | - continue; |
666 | + // We should only be able to schedule if we have edit permission or if the SCHEDULE_WITH_VIEW permission is ON |
667 | + if (!$auth->edit && Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'No') |
668 | + continue; |
669 | |
670 | // Do we need to nest yet? We only nest display specific groups |
671 | if ($isDisplaySpecific == 1 && !$nested) |
672 | @@ -1760,19 +1761,23 @@ |
673 | * @return |
674 | * @param $eventDGIDs Object |
675 | */ |
676 | - private function IsEventEditable($eventDGIDs) |
677 | - { |
678 | - $db =& $this->db; |
679 | - $user =& $this->user; |
680 | + private function IsEventEditable($eventDGIDs) { |
681 | + |
682 | + $scheduleWithView = (Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'Yes'); |
683 | |
684 | // Work out if this event is editable or not. To do this we need to compare the permissions |
685 | // of each display group this event is associated with |
686 | - foreach ($eventDGIDs as $dgID) |
687 | - { |
688 | - if (!$user->DisplayGroupAuth($dgID)) |
689 | - { |
690 | - return false; |
691 | - } |
692 | + foreach ($eventDGIDs as $dgID) { |
693 | + // Permissions for display group |
694 | + $auth = $this->user->DisplayGroupAuth($dgID, true); |
695 | + |
696 | + // Can schedule with view, but no view permissions |
697 | + if ($scheduleWithView && !$auth->view) |
698 | + return false; |
699 | + |
700 | + // Can't schedule with view, but no edit permissions |
701 | + if (!$scheduleWithView && !$auth->edit) |
702 | + return false; |
703 | } |
704 | |
705 | return true; |
706 | |
707 | === modified file 'server/lib/pages/statusdashboard.class.php' |
708 | --- server/lib/pages/statusdashboard.class.php 2014-06-29 14:37:07 +0000 |
709 | +++ server/lib/pages/statusdashboard.class.php 2014-08-21 19:12:24 +0000 |
710 | @@ -45,7 +45,7 @@ |
711 | |
712 | foreach ($results as $row) { |
713 | |
714 | - $points['data'][] = array($row['month'], ((double)$row['size']) / 1024 / 1024 / 1024); |
715 | + $points['data'][] = array(__($row['month']), ((double)$row['size']) / 1024 / 1024 / 1024); |
716 | } |
717 | |
718 | $points['label'] = __('GB'); |
719 | |
720 | === modified file 'server/lib/pages/timeline.class.php' |
721 | --- server/lib/pages/timeline.class.php 2014-06-30 15:15:17 +0000 |
722 | +++ server/lib/pages/timeline.class.php 2014-08-21 19:12:24 +0000 |
723 | @@ -293,6 +293,7 @@ |
724 | |
725 | Kit::ClassLoader('region'); |
726 | $regionObject = new region($db); |
727 | + $regionObject->delayFinalise = true; |
728 | $ownerId = $regionObject->GetOwnerId($layoutid, $regionid); |
729 | |
730 | $regionAuth = $this->user->RegionAssignmentAuth($ownerId, $layoutid, $regionid, true); |
731 | @@ -302,6 +303,11 @@ |
732 | if (!$regionObject->EditRegion($layoutid, $regionid, $width, $height, $top, $left)) |
733 | trigger_error($regionObject->GetErrorMessage(), E_USER_ERROR); |
734 | } |
735 | + |
736 | + // Set the layout status |
737 | + Kit::ClassLoader('Layout'); |
738 | + $layout = new Layout($this->db); |
739 | + $layout->SetValid($layoutid, true); |
740 | |
741 | $response->SetFormSubmitResponse(''); |
742 | $response->hideMessage = true; |
743 | |
744 | === modified file 'server/lib/pages/user.class.php' |
745 | --- server/lib/pages/user.class.php 2014-06-30 15:15:17 +0000 |
746 | +++ server/lib/pages/user.class.php 2014-08-21 19:12:24 +0000 |
747 | @@ -430,23 +430,11 @@ |
748 | trigger_error($userGroupObject->GetErrorMessage(), E_USER_ERROR); |
749 | |
750 | // Delete the user |
751 | - $sqldel = "DELETE FROM user"; |
752 | - $sqldel .= " WHERE UserID = %d"; |
753 | - |
754 | - if (!$db->query(sprintf($sqldel, $userid))) |
755 | - { |
756 | - trigger_error($db->error()); |
757 | - trigger_error(__("This user has been active, you may only retire them."), E_USER_ERROR); |
758 | - } |
759 | - |
760 | - // We should delete this users sessions record. |
761 | - $SQL = "DELETE FROM session WHERE userID = %d "; |
762 | - |
763 | - if (!$db->query(sprintf($SQL, $userid))) |
764 | - { |
765 | - trigger_error($db->error()); |
766 | - trigger_error(__("If logged in, this user will be deleted once they log out."), E_USER_ERROR); |
767 | - } |
768 | + Kit::ClassLoader('userdata'); |
769 | + $user = new UserData($this->db); |
770 | + $user->userId = $userid; |
771 | + if (!$user->Delete()) |
772 | + trigger_error($user->GetErrorMessage(), E_USER_ERROR); |
773 | |
774 | $response->SetFormSubmitResponse(__('User Deleted.')); |
775 | $response->Respond(); |
776 | |
777 | === modified file 'server/lib/service/xmdssoap.class.php' |
778 | --- server/lib/service/xmdssoap.class.php 2014-07-08 12:46:48 +0000 |
779 | +++ server/lib/service/xmdssoap.class.php 2014-08-21 19:12:24 +0000 |
780 | @@ -1128,8 +1128,14 @@ |
781 | |
782 | // See if the client was offline and if appropriate send an alert |
783 | // to say that it has come back online |
784 | +<<<<<<< TREE |
785 | if ($row[5] == 0 && $row[6] == 1 && Config::GetSetting('MAINTENANCE_ENABLED') == 'On' && |
786 | (Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On' || Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'Protected')) |
787 | +======= |
788 | + if ($row[5] == 0 && $row[6] == 1 |
789 | + && (Config::GetSetting('MAINTENANCE_ENABLED') == 'On' || Config::GetSetting('MAINTENANCE_ENABLED') == 'Protected') |
790 | + && Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On') |
791 | +>>>>>>> MERGE-SOURCE |
792 | { |
793 | $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD); |
794 | $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD); |
795 | |
796 | === modified file 'server/locale/dbtranslate.php' |
797 | --- server/locale/dbtranslate.php 2014-06-30 14:41:38 +0000 |
798 | +++ server/locale/dbtranslate.php 2014-08-21 19:12:24 +0000 |
799 | @@ -116,4 +116,47 @@ |
800 | echo __('Value'); |
801 | echo __('Formula'); |
802 | |
803 | + |
804 | +echo __('Media will be created with these settings. If public everyone will be able to view and use this media.'); |
805 | +echo __('New layouts will be created with these settings. If public everyone will be able to view and use this layout.'); |
806 | +echo __('Sets the default user type selected when creating a user.\r\n<br />\r\nWe recommend that this is set to "User"'); |
807 | +echo __('Sets whether debug information is recorded when an error occurs.\r\n<br />\r\nThis should be set to "off" to ensure smaller log sizes'); |
808 | +echo __('This sets which user authentication module is currently being used.'); |
809 | +echo __('Sets the admin message to be displayed on the client page at all times'); |
810 | +echo __('Set the default timezone for the application'); |
811 | +echo __('Errors will be mailed here'); |
812 | +echo __('Mail will be sent from this address'); |
813 | +echo __('This is the fully qualified URI of the site. e.g http://www.xibo.co.uk/'); |
814 | +echo __('Default length for JPG files (in seconds)'); |
815 | +echo __('Default length for PPT files'); |
816 | +echo __('Default height for PPT files'); |
817 | +echo __('Default length for PPT files (in seconds)'); |
818 | +echo __('Default length for SWF files'); |
819 | +echo __('Turn on the auditing information. Warning this will quickly fill up the log'); |
820 | +echo __('Should the server send anonymous statistics back to the Xibo project?'); |
821 | +echo __('Key used to distinguish each Xibo instance. This is generated randomly based on the time you first installed Xibo, and is completely untraceable.'); |
822 | +echo __('The URL to connect to to PHONE_HOME (if enabled)'); |
823 | +echo __('The last time we PHONED_HOME in seconds since the epoch'); |
824 | +echo __('This should only be set if you want to display the maximum allowed error messaging through the user interface. <br /> Useful for capturing critical php errors and environment issues.'); |
825 | +echo __('Allow the maintenance script to run if it is called?'); |
826 | +echo __('Global switch for email alerts to be sent'); |
827 | +echo __('String appended to the maintenance script to prevent malicious calls to the script.'); |
828 | +echo __('Maximum age for log entries. Set to 0 to keep logs indefinitely.'); |
829 | +echo __('Maximum age for statistics entries. Set to 0 to keep statistics indefinitely.'); |
830 | +echo __('How long in minutes after the last time a client connects should we send an alert? Can be overridden on a per client basis.'); |
831 | + |
832 | + |
833 | +echo __('January'); |
834 | +echo __('February'); |
835 | +echo __('March'); |
836 | +echo __('April'); |
837 | +echo __('May'); |
838 | +echo __('June'); |
839 | +echo __('July'); |
840 | +echo __('August'); |
841 | +echo __('September'); |
842 | +echo __('October'); |
843 | +echo __('November'); |
844 | +echo __('December'); |
845 | + |
846 | ?> |
847 | |
848 | === modified file 'server/manual/content/admin/api_layouts.php' |
849 | --- server/manual/content/admin/api_layouts.php 2014-01-12 20:46:20 +0000 |
850 | +++ server/manual/content/admin/api_layouts.php 2014-08-21 19:12:24 +0000 |
851 | @@ -82,8 +82,8 @@ |
852 | </li><li> left |
853 | </li><li> ownerid |
854 | </li><li> permission_edit |
855 | -</li><li> permission_del |
856 | -</li><li> permission_update_permissions |
857 | +</li><li> permissions_del |
858 | +</li><li> permissions_update_permissions |
859 | </li></ul> |
860 | <p>Error Codes |
861 | </p> |
862 | @@ -157,7 +157,7 @@ |
863 | </p> |
864 | <ul><li> mediaid |
865 | </li><li> lkid |
866 | -</li><li> type |
867 | +</li><li> mediatype |
868 | </li><li> duration |
869 | </li><li> permission_edit |
870 | </li><li> permission_del |
871 | @@ -168,19 +168,42 @@ |
872 | </p> |
873 | <ul><li> 1 - Access Denied |
874 | </li></ul> |
875 | -<h3> <span class="mw-headline" id="LayoutRegionMediaDetails"> LayoutRegionMediaDetails </span></h3> |
876 | -<p>Parameters |
877 | -</p> |
878 | -<ul><li> layoutId |
879 | -</li><li> regionId |
880 | -</li><li> mediaId |
881 | -</li></ul> |
882 | -<p>Response |
883 | -The XLF for the provided media id (XML format) |
884 | -</p><p>Error Codes |
885 | -</p> |
886 | -<ul><li> 1 - Access Denied |
887 | -</li></ul> |
888 | + |
889 | +<h2 class="api-method-call-doc" id="LayoutRegionMediaDetails">LayoutRegionMediaDetails</h2> |
890 | +<h3>Parameters</h3> |
891 | +<dl> |
892 | + <dt>layoutId</dt> |
893 | + <dd>The ID for this Layout. Required.</dd> |
894 | +</dl> |
895 | +<dl> |
896 | + <dt>regionId</dt> |
897 | + <dd>The ID for this Region. Required</dd> |
898 | +</dl> |
899 | +<dl> |
900 | + <dt>mediaId</dt> |
901 | + <dd>The ID for this media. Required</dd> |
902 | +</dl> |
903 | +<dl> |
904 | + <dt>type</dt> |
905 | + <dd>The media type. Required</dd> |
906 | +</dl> |
907 | + |
908 | +<h3>Response</h3> |
909 | +The XLF for the provided media id (XML format). Base 64 encoded. |
910 | +<pre> |
911 | +{ |
912 | + "media": { |
913 | + "id": "1", |
914 | + "base64Xlf": "base64" |
915 | + }, |
916 | + "status": "ok" |
917 | +} |
918 | +</pre> |
919 | + |
920 | +<h3>Errors</h3> |
921 | +<p>General Errors Only. |
922 | +</p> |
923 | + |
924 | <h3> <span class="mw-headline" id="LayoutRegionMediaAdd"> LayoutRegionMediaAdd </span></h3> |
925 | <p>Parameters |
926 | </p> |
927 | |
928 | === modified file 'server/manual/content/admin/release_notes_1.6.2.php' |
929 | --- server/manual/content/admin/release_notes_1.6.2.php 2014-07-12 13:54:51 +0000 |
930 | +++ server/manual/content/admin/release_notes_1.6.2.php 2014-08-21 19:12:24 +0000 |
931 | @@ -1,76 +1,162 @@ |
932 | -<?php |
933 | -/* |
934 | - * Xibo - Digital Signage - http://www.xibo.org.uk |
935 | - * Copyright (C) 2006-2014 Daniel Garner |
936 | - * |
937 | - * This file is part of Xibo. |
938 | - * |
939 | - * Xibo is free software: you can redistribute it and/or modify |
940 | - * it under the terms of the GNU Affero General Public License as published by |
941 | - * the Free Software Foundation, either version 3 of the License, or |
942 | - * any later version. |
943 | - * |
944 | - * Xibo is distributed in the hope that it will be useful, |
945 | - * but WITHOUT ANY WARRANTY; without even the implied warranty of |
946 | - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
947 | - * GNU Affero General Public License for more details. |
948 | - * |
949 | - * You should have received a copy of the GNU Affero General Public License |
950 | - * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
951 | - */ |
952 | -defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
953 | - |
954 | -$LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; |
955 | -?> |
956 | -<h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> |
957 | -<p><strong>This is a bug fixing release of the 1.6 Series of Xibo</strong>. We recommend everyone using 1.6 series upgrade to this release.</p> |
958 | -<p>You can download this release from <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
959 | - |
960 | -<div id="toctitle"><h2>Contents</h2></div> |
961 | - |
962 | -<ol> |
963 | - <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> |
964 | - <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> |
965 | - <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> |
966 | - <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> |
967 | - <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> |
968 | - <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> |
969 | -</ol> |
970 | - |
971 | - |
972 | -<h2 id="Requirements">Requirements</h2> |
973 | -<p>You must use the 1.6.2 version of the Windows and Ubuntu Display Clients with this version of the Xibo CMS.</p> |
974 | - |
975 | -<p>Xibo requires PHP 5.3.3 or higher. A full list of module requirements is presented at the point of installation - we'll even tell you which modules you're missing!</p> |
976 | - |
977 | -<h2 id="Upgrading">Upgrading</h2> |
978 | -<p>There are significant database schema changes between the 1.4 series of Xibo and prior released. The upgrade wizard will take a prior database and convert it to a schema suitable for the 1.4 series to date. Note that this is a one-way conversion. Please do not upgrade your production database to test Xibo 1.6 functionality, and then expect to run a prior series code base against that database.</p> |
979 | - |
980 | -<p>Instructions for cloning a Xibo database are available here <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Clone Database</a>.</p> |
981 | - |
982 | -<ul> |
983 | - <li>Clone your existing Xibo database and grant permissions (see <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Release Notes:Clone Database</a> for details)</li> |
984 | - <li>Backup settings.php from your installation</li> |
985 | - <li>Manually take a backup of your database</li> |
986 | - <li>Replace your existing installation with the new version from the tar.gz or zip file</li> |
987 | - <li>Replace your backup settings.php file in your Xibo installation directory</li> |
988 | - <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> |
989 | - <li>You will be prompted that an upgrade is required.</li> |
990 | - <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> |
991 | - <li>The upgrade should run, and finally ask you to log in as you would normally.</li> |
992 | -</ul> |
993 | - |
994 | -<h2 id="Help">Help</h2> |
995 | -<p>Please ask for help / advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a></p> |
996 | - |
997 | -<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (if you're not sure that what you have found is a bug, please ask in the Answers section first!)</p> |
998 | - |
999 | -<p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a></p> |
1000 | - |
1001 | -<p>When asking for assistance with this release, please make it clear that you're using the release candidate and not a stable release of Xibo.</p> |
1002 | - |
1003 | -<h2 id="Bug_Fixes">Bug Fixes</h2> |
1004 | -<p>For a full list of bug fixes please refer to the Release Project Page: <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1005 | - |
1006 | -<h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> |
1007 | -<p>There are plenty of new features in the pipeline, but to provide a stable platform for users wanting Xibo now, the 1.6 series of releases are now feature-frozen (no new features will be implemented). All new development work will go in to the 1.7 series - which will be made available as a BETA.</p> |
1008 | +<<<<<<< TREE |
1009 | +<?php |
1010 | +/* |
1011 | + * Xibo - Digital Signage - http://www.xibo.org.uk |
1012 | + * Copyright (C) 2006-2014 Daniel Garner |
1013 | + * |
1014 | + * This file is part of Xibo. |
1015 | + * |
1016 | + * Xibo is free software: you can redistribute it and/or modify |
1017 | + * it under the terms of the GNU Affero General Public License as published by |
1018 | + * the Free Software Foundation, either version 3 of the License, or |
1019 | + * any later version. |
1020 | + * |
1021 | + * Xibo is distributed in the hope that it will be useful, |
1022 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1023 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1024 | + * GNU Affero General Public License for more details. |
1025 | + * |
1026 | + * You should have received a copy of the GNU Affero General Public License |
1027 | + * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1028 | + */ |
1029 | +defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
1030 | + |
1031 | +$LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; |
1032 | +?> |
1033 | +<h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> |
1034 | +<p><strong>This is a bug fixing release of the 1.6 Series of Xibo</strong>. We recommend everyone using 1.6 series upgrade to this release.</p> |
1035 | +<p>You can download this release from <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1036 | + |
1037 | +<div id="toctitle"><h2>Contents</h2></div> |
1038 | + |
1039 | +<ol> |
1040 | + <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> |
1041 | + <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> |
1042 | + <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> |
1043 | + <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> |
1044 | + <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> |
1045 | + <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> |
1046 | +</ol> |
1047 | + |
1048 | + |
1049 | +<h2 id="Requirements">Requirements</h2> |
1050 | +<p>You must use the 1.6.2 version of the Windows and Ubuntu Display Clients with this version of the Xibo CMS.</p> |
1051 | + |
1052 | +<p>Xibo requires PHP 5.3.3 or higher. A full list of module requirements is presented at the point of installation - we'll even tell you which modules you're missing!</p> |
1053 | + |
1054 | +<h2 id="Upgrading">Upgrading</h2> |
1055 | +<p>There are significant database schema changes between the 1.4 series of Xibo and prior released. The upgrade wizard will take a prior database and convert it to a schema suitable for the 1.4 series to date. Note that this is a one-way conversion. Please do not upgrade your production database to test Xibo 1.6 functionality, and then expect to run a prior series code base against that database.</p> |
1056 | + |
1057 | +<p>Instructions for cloning a Xibo database are available here <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Clone Database</a>.</p> |
1058 | + |
1059 | +<ul> |
1060 | + <li>Clone your existing Xibo database and grant permissions (see <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Release Notes:Clone Database</a> for details)</li> |
1061 | + <li>Backup settings.php from your installation</li> |
1062 | + <li>Manually take a backup of your database</li> |
1063 | + <li>Replace your existing installation with the new version from the tar.gz or zip file</li> |
1064 | + <li>Replace your backup settings.php file in your Xibo installation directory</li> |
1065 | + <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> |
1066 | + <li>You will be prompted that an upgrade is required.</li> |
1067 | + <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> |
1068 | + <li>The upgrade should run, and finally ask you to log in as you would normally.</li> |
1069 | +</ul> |
1070 | + |
1071 | +<h2 id="Help">Help</h2> |
1072 | +<p>Please ask for help / advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a></p> |
1073 | + |
1074 | +<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (if you're not sure that what you have found is a bug, please ask in the Answers section first!)</p> |
1075 | + |
1076 | +<p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a></p> |
1077 | + |
1078 | +<p>When asking for assistance with this release, please make it clear that you're using the release candidate and not a stable release of Xibo.</p> |
1079 | + |
1080 | +<h2 id="Bug_Fixes">Bug Fixes</h2> |
1081 | +<p>For a full list of bug fixes please refer to the Release Project Page: <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1082 | + |
1083 | +<h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> |
1084 | +<p>There are plenty of new features in the pipeline, but to provide a stable platform for users wanting Xibo now, the 1.6 series of releases are now feature-frozen (no new features will be implemented). All new development work will go in to the 1.7 series - which will be made available as a BETA.</p> |
1085 | +======= |
1086 | +<?php |
1087 | +/* |
1088 | + * Xibo - Digital Signage - http://www.xibo.org.uk |
1089 | + * Copyright (C) 2006-2014 Daniel Garner |
1090 | + * |
1091 | + * This file is part of Xibo. |
1092 | + * |
1093 | + * Xibo is free software: you can redistribute it and/or modify |
1094 | + * it under the terms of the GNU Affero General Public License as published by |
1095 | + * the Free Software Foundation, either version 3 of the License, or |
1096 | + * any later version. |
1097 | + * |
1098 | + * Xibo is distributed in the hope that it will be useful, |
1099 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1100 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1101 | + * GNU Affero General Public License for more details. |
1102 | + * |
1103 | + * You should have received a copy of the GNU Affero General Public License |
1104 | + * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1105 | + */ |
1106 | +defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
1107 | + |
1108 | +$LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; |
1109 | +?> |
1110 | +<h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> |
1111 | +<p><strong>This is a bug fixing release of the 1.6 Series of Xibo</strong>. We recommend everyone using 1.6 series upgrade to this release.</p> |
1112 | +<p>You can download this release from <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1113 | + |
1114 | +<div id="toctitle"><h2>Contents</h2></div> |
1115 | + |
1116 | +<ol> |
1117 | + <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> |
1118 | + <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> |
1119 | + <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> |
1120 | + <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> |
1121 | + <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> |
1122 | + <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> |
1123 | +</ol> |
1124 | + |
1125 | + |
1126 | +<h2 id="Requirements">Requirements</h2> |
1127 | +<p>You must use the 1.6.2 version of the Windows and Ubuntu Display Clients with this version of the Xibo CMS.</p> |
1128 | + |
1129 | +<p>Xibo requires PHP 5.3.3 or higher. A full list of module requirements is presented at the point of installation - we'll even tell you which modules you're missing!</p> |
1130 | + |
1131 | +<h3>Xibo for Windows</h3> |
1132 | +<p>Series 1.6 of Xibo has brought about advancements in text formatting, layout scaling and other general presentation improvements. As a result of this the recommended version of IE to have installed is IE9 on the client. IE9 is not supported on Windows XP.</p> |
1133 | + |
1134 | +<p>The Xibo team have made every effort to maintain support for XP as a platform and as a result Xibo will run on Windows XP, but may experience some visual defects and artefacts.</p> |
1135 | + |
1136 | +<p>We are looking to replace IE as a rendering engine in 1.7 Series. More information <a href="https://blueprints.launchpad.net/xibo/+spec/netclient-berkelium-sharp">here</a>.</p> |
1137 | + |
1138 | +<h2 id="Upgrading">Upgrading</h2> |
1139 | +<p>There are significant database schema changes between the 1.4 series of Xibo and prior released. The upgrade wizard will take a prior database and convert it to a schema suitable for the 1.4 series to date. Note that this is a one-way conversion. Please do not upgrade your production database to test Xibo 1.6 functionality, and then expect to run a prior series code base against that database.</p> |
1140 | + |
1141 | +<p>Instructions for cloning a Xibo database are available here <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Clone Database</a>.</p> |
1142 | + |
1143 | +<ul> |
1144 | + <li>Clone your existing Xibo database and grant permissions (see <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Release Notes:Clone Database</a> for details)</li> |
1145 | + <li>Backup settings.php from your installation</li> |
1146 | + <li>Manually take a backup of your database</li> |
1147 | + <li>Replace your existing installation with the new version from the tar.gz or zip file</li> |
1148 | + <li>Replace your backup settings.php file in your Xibo installation directory</li> |
1149 | + <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> |
1150 | + <li>You will be prompted that an upgrade is required.</li> |
1151 | + <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> |
1152 | + <li>The upgrade should run, and finally ask you to log in as you would normally.</li> |
1153 | +</ul> |
1154 | + |
1155 | +<h2 id="Help">Help</h2> |
1156 | +<p>Please ask for help / advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a></p> |
1157 | + |
1158 | +<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (if you're not sure that what you have found is a bug, please ask in the Answers section first!)</p> |
1159 | + |
1160 | +<p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a></p> |
1161 | + |
1162 | +<p>When asking for assistance with this release, please make it clear that you're using the release candidate and not a stable release of Xibo.</p> |
1163 | + |
1164 | +<h2 id="Bug_Fixes">Bug Fixes</h2> |
1165 | +<p>For a full list of bug fixes please refer to the Release Project Page: <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1166 | + |
1167 | +<h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> |
1168 | +<p>There are plenty of new features in the pipeline, but to provide a stable platform for users wanting Xibo now, the 1.6 series of releases are now feature-frozen (no new features will be implemented). All new development work will go in to the 1.7 series - which will be made available as a BETA.</p> |
1169 | +>>>>>>> MERGE-SOURCE |
1170 | |
1171 | === added file 'server/manual/content/admin/release_notes_1.6.3.php' |
1172 | --- server/manual/content/admin/release_notes_1.6.3.php 1970-01-01 00:00:00 +0000 |
1173 | +++ server/manual/content/admin/release_notes_1.6.3.php 2014-08-21 19:12:24 +0000 |
1174 | @@ -0,0 +1,83 @@ |
1175 | +<?php |
1176 | +/* |
1177 | + * Xibo - Digital Signage - http://www.xibo.org.uk |
1178 | + * Copyright (C) 2006-2014 Daniel Garner |
1179 | + * |
1180 | + * This file is part of Xibo. |
1181 | + * |
1182 | + * Xibo is free software: you can redistribute it and/or modify |
1183 | + * it under the terms of the GNU Affero General Public License as published by |
1184 | + * the Free Software Foundation, either version 3 of the License, or |
1185 | + * any later version. |
1186 | + * |
1187 | + * Xibo is distributed in the hope that it will be useful, |
1188 | + * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1189 | + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1190 | + * GNU Affero General Public License for more details. |
1191 | + * |
1192 | + * You should have received a copy of the GNU Affero General Public License |
1193 | + * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1194 | + */ |
1195 | +defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
1196 | + |
1197 | +$LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.3'; |
1198 | +?> |
1199 | +<h1 id="Notes_Title">Xibo 1.6.3 - Codename "Pons-Winnecke"</span></h1> |
1200 | +<p><strong>This is a bug fixing release of the 1.6 Series of Xibo</strong>. We recommend everyone using 1.6 series upgrade to this release.</p> |
1201 | +<p>You can download this release from <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1202 | + |
1203 | +<div id="toctitle"><h2>Contents</h2></div> |
1204 | + |
1205 | +<ol> |
1206 | + <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> |
1207 | + <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> |
1208 | + <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> |
1209 | + <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> |
1210 | + <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> |
1211 | + <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> |
1212 | +</ol> |
1213 | + |
1214 | + |
1215 | +<h2 id="Requirements">Requirements</h2> |
1216 | +<p>You must use the 1.6.3 version of the Windows and Ubuntu Display Clients with this version of the Xibo CMS.</p> |
1217 | + |
1218 | +<p>Xibo requires PHP 5.3.3 or higher. A full list of module requirements is presented at the point of installation - we'll even tell you which modules you're missing!</p> |
1219 | + |
1220 | +<h3>Xibo for Windows</h3> |
1221 | +<p>Series 1.6 of Xibo has brought about advancements in text formatting, layout scaling and other general presentation improvements. As a result of this the recommended version of IE to have installed is IE9 on the client. IE9 is not supported on Windows XP.</p> |
1222 | + |
1223 | +<p>The Xibo team have made every effort to maintain support for XP as a platform and as a result Xibo will run on Windows XP, but may experience some visual defects and artefacts.</p> |
1224 | + |
1225 | +<p>We are looking to replace IE as a rendering engine in 1.7 Series. More information <a href="https://blueprints.launchpad.net/xibo/+spec/netclient-berkelium-sharp">here</a>.</p> |
1226 | + |
1227 | +<h2 id="Upgrading">Upgrading</h2> |
1228 | +<p>There are significant database schema changes between the 1.4 series of Xibo and prior released. The upgrade wizard will take a prior database and convert it to a schema suitable for the 1.4 series to date. Note that this is a one-way conversion. Please do not upgrade your production database to test Xibo 1.6 functionality, and then expect to run a prior series code base against that database.</p> |
1229 | + |
1230 | +<p>Instructions for cloning a Xibo database are available here <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Clone Database</a>.</p> |
1231 | + |
1232 | +<ul> |
1233 | + <li>Clone your existing Xibo database and grant permissions (see <a href="index.php?toc=developer&p=admin/release_notes_clonedb" title="Clone Database">Release Notes:Clone Database</a> for details)</li> |
1234 | + <li>Backup settings.php from your installation</li> |
1235 | + <li>Manually take a backup of your database</li> |
1236 | + <li>Replace your existing installation with the new version from the tar.gz or zip file</li> |
1237 | + <li>Replace your backup settings.php file in your Xibo installation directory</li> |
1238 | + <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> |
1239 | + <li>You will be prompted that an upgrade is required.</li> |
1240 | + <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> |
1241 | + <li>The upgrade should run, and finally ask you to log in as you would normally.</li> |
1242 | +</ul> |
1243 | + |
1244 | +<h2 id="Help">Help</h2> |
1245 | +<p>Please ask for help / advice in the Answers section of Launchpad: <a rel="nofollow" class="external free" href="https://answers.launchpad.net/xibo">https://answers.launchpad.net/xibo</a></p> |
1246 | + |
1247 | +<p>Please report any bugs in the Bugs section of Launchpad: <a rel="nofollow" class="external free" href="https://bugs.launchpad.net/xibo">https://bugs.launchpad.net/xibo</a> (if you're not sure that what you have found is a bug, please ask in the Answers section first!)</p> |
1248 | + |
1249 | +<p>Please report any enhancement requests in the Blueprints section of Launchpad: <a rel="nofollow" class="external free" href="https://blueprints.launchpad.net/xibo">https://blueprints.launchpad.net/xibo</a></p> |
1250 | + |
1251 | +<p>When asking for assistance with this release, please make it clear that you're using the release candidate and not a stable release of Xibo.</p> |
1252 | + |
1253 | +<h2 id="Bug_Fixes">Bug Fixes</h2> |
1254 | +<p>For a full list of bug fixes please refer to the Release Project Page: <a rel="nofollow" class="external free" href="<?php echo $LP_RELEASE_PAGE; ?>"><?php echo $LP_RELEASE_PAGE; ?></a></p> |
1255 | + |
1256 | +<h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> |
1257 | +<p>There are plenty of new features in the pipeline, but to provide a stable platform for users wanting Xibo now, the 1.6 series of releases are now feature-frozen (no new features will be implemented). All new development work will go in to the 1.7 series - which will be made available as a BETA.</p> |
1258 | |
1259 | === modified file 'server/manual/template.php' |
1260 | --- server/manual/template.php 2014-07-12 13:54:51 +0000 |
1261 | +++ server/manual/template.php 2014-08-21 19:12:24 +0000 |
1262 | @@ -7,7 +7,11 @@ |
1263 | define('PRODUCT_NAME', 'Xibo'); |
1264 | |
1265 | # Product Version |
1266 | +<<<<<<< TREE |
1267 | define('PRODUCT_VERSION', '1.6.2'); |
1268 | +======= |
1269 | + define('PRODUCT_VERSION', '1.6.3'); |
1270 | +>>>>>>> MERGE-SOURCE |
1271 | |
1272 | # Home page URL |
1273 | define('PRODUCT_HOME', 'http://xibo.org.uk'); |
1274 | |
1275 | === modified file 'server/modules/preview/HtmlTemplateForGetResource.html' |
1276 | --- server/modules/preview/HtmlTemplateForGetResource.html 2014-07-15 11:42:14 +0000 |
1277 | +++ server/modules/preview/HtmlTemplateForGetResource.html 2014-08-21 19:12:24 +0000 |
1278 | @@ -86,7 +86,11 @@ |
1279 | * You should have received a copy of the GNU Affero General Public License |
1280 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1281 | */ |
1282 | +<<<<<<< TREE |
1283 | jQuery.fn.extend({xiboRender:function(e,t){var n={type:"ticker",direction:"single",duration:"50",durationIsPerItem:false,numItems:0,takeItemsFrom:"start",itemsPerPage:0,scrollSpeed:"2",scaleMode:"scale",previewWidth:0,previewHeight:0,scaleOverride:0};var e=$.extend({},n,e);if(e.previewWidth==0&&e.previewHeight==0){e.width=$(window).width();e.height=$(window).height()}else{e.width=e.previewWidth;e.height=e.previewHeight}e.scaleFactor=Math.min(e.width/e.originalWidth,e.height/e.originalHeight);if(e.scaleOverride!=0){e.originalWidth=e.previewWidth;e.originalHeight=e.previewHeight;e.scaleFactor=e.scaleOverride}this.each(function(){$(this).css({width:e.originalWidth,height:e.originalHeight});if(e.type=="ticker"){if(e.sourceid==undefined){console.error("Source ID undefined - assuming 1");e.sourceid=1}if(e.sourceid==1){if(e.takeItemsFrom=="end"){t.reverse()}if(e.numItems>t.length||e.numItems==0)e.numItems=t.length;t=t.slice(0,e.numItems);if(e.takeItemsFrom=="end"){t.reverse()}}else{e.numItems=t.length}}var n=e.numItems;var r=e.itemsPerPage>0?Math.ceil(e.numItems/e.itemsPerPage):e.numItems;var i=1;var s=this;for(var o=0;o<t.length;o++){if(e.direction=="single"&&e.itemsPerPage>0&&(i>=e.itemsPerPage||o==0)){s=$("<div/>").addClass("page").appendTo(this);i=0}$("<div/>").addClass("item").html(t[o]).appendTo(s);i++}if(e.scaleMode=="fit"){$("*",this).css("font-size","");$(this).fitText(1.75)}if($("body").hasClass("ie7")||$("body").hasClass("ie8")){$(this).css({zoom:e.scaleFactor})}else{$(this).css({transform:"scale("+e.scaleFactor+")","transform-origin":"0 0"})}var u=false;if(e.direction=="single"){var a=e.itemsPerPage>0?"> .page":"> .item";var f=e.itemsPerPage>0?r:n;var l=e.durationIsPerItem?e.duration:e.duration/f;$(this).cycle({fx:e.transition,timeout:l*1e3,slides:a})}else if(e.direction=="left"||e.direction=="right"){u=true;$(" .item",this).css({display:"inline","padding-left":"4px"});$(" .item p",this).css({display:"inline"})}else if(e.direction=="up"||e.direction=="down"){u=true}if(u){var c=$("<div/>").addClass("scroll").attr({scrollamount:e.scrollSpeed,scaleFactor:e.scaleFactor,behaviour:"scroll",direction:e.direction,height:e.originalHeight,width:e.originalWidth});$(this).wrapInner(c);$(this).find(".scroll").marquee()}if(e.direction=="up"||e.direction=="down"){$(this).children().children().css("white-space","normal")}})},dataSetRender:function(e){if(e===undefined||e===null){e={duration:5,transition:"fade",rowsPerPage:0,previewWidth:0,previewHeight:0,scaleOverride:0}}$(this).each(function(){if(e.previewWidth==0&&e.previewHeight==0){e.width=$(window).width();e.height=$(window).height()}else{e.width=e.previewWidth;e.height=e.previewHeight}e.scaleFactor=Math.min(e.width/e.originalWidth,e.height/e.originalHeight);if(e.scaleOverride!=0){e.originalWidth=e.previewWidth;e.originalHeight=e.previewHeight;e.scaleFactor=e.scaleOverride}$("body").css({width:e.originalWidth,height:e.originalHeight});if($("body").hasClass("ie7")||$("body").hasClass("ie8")){$("body").css({zoom:e.scaleFactor})}else{$("body").css({transform:"scale("+e.scaleFactor+")","transform-origin":"0 0"})}var t=$(this).attr("totalPages");if(e.rowsPerPage>0){$(this).cycle({fx:e.transition,timeout:e.duration*1e3/t,slides:"> table"})}})}});if(!window.console){(function(){var e=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"],t,n=e.length;window.console={};for(t=0;t<n;t++){window.console[e[t]]=function(){}}})()} |
1284 | +======= |
1285 | +jQuery.fn.extend({xiboRender:function(e,t){var n={type:"ticker",direction:"single",duration:"50",durationIsPerItem:false,numItems:0,takeItemsFrom:"start",itemsPerPage:0,scrollSpeed:"2",scaleMode:"scale",previewWidth:0,previewHeight:0,scaleOverride:0};var e=$.extend({},n,e);if(e.previewWidth==0&&e.previewHeight==0){e.width=$(window).width();e.height=$(window).height()}else{e.width=e.previewWidth;e.height=e.previewHeight}e.scaleFactor=Math.min(e.width/e.originalWidth,e.height/e.originalHeight);if(e.scaleOverride!=0){e.originalWidth=e.previewWidth;e.originalHeight=e.previewHeight;e.scaleFactor=e.scaleOverride}this.each(function(){$(this).css({width:e.originalWidth,height:e.originalHeight});if(e.type=="ticker"){if(e.sourceid==undefined){console.error("Source ID undefined - assuming 1");e.sourceid=1}if(e.sourceid==1){if(e.takeItemsFrom=="end"){t.reverse()}if(e.numItems>t.length||e.numItems==0)e.numItems=t.length;t=t.slice(0,e.numItems);if(e.takeItemsFrom=="end"){t.reverse()}}else{e.numItems=t.length}}var n=e.numItems;var r=e.itemsPerPage>0?Math.ceil(e.numItems/e.itemsPerPage):e.numItems;var i=1;var s=this;for(var o=0;o<t.length;o++){if(e.direction=="single"&&e.itemsPerPage>0&&(i>=e.itemsPerPage||o==0)){s=$("<div/>").addClass("page").appendTo(this);i=0}$("<div/>").addClass("item").html(t[o]).appendTo(s);i++}if(e.scaleMode=="fit"){$("*",this).css("font-size","");$(this).fitText(1.75)}if($("body").hasClass("ie7")||$("body").hasClass("ie8")){$(this).css({filter:"progid:DXImageTransform.Microsoft.Matrix(M11="+e.scaleFactor+", M12=0, M21=0, M22="+e.scaleFactor+", SizingMethod='auto expand'"})}else{$(this).css({transform:"scale("+e.scaleFactor+")","transform-origin":"0 0"})}var u=false;if(e.direction=="single"){var a=e.itemsPerPage>0?"> .page":"> .item";var f=e.itemsPerPage>0?r:n;var l=e.durationIsPerItem?e.duration:e.duration/f;$(this).cycle({fx:e.transition,timeout:l*1e3,slides:a})}else if(e.direction=="left"||e.direction=="right"){u=true;$(" .item",this).css({display:"inline","padding-left":"4px"});$(" .item p",this).css({display:"inline"})}else if(e.direction=="up"||e.direction=="down"){u=true}if(u){var c=$("<div/>").addClass("scroll").attr({scrollamount:e.scrollSpeed,scaleFactor:e.scaleFactor,behaviour:"scroll",direction:e.direction,height:e.originalHeight,width:e.originalWidth});$(this).wrapInner(c);$(this).find(".scroll").marquee()}if(e.direction=="up"||e.direction=="down"){$(this).children().children().css("white-space","normal")}})},dataSetRender:function(e){if(e===undefined||e===null){e={duration:5,transition:"fade",rowsPerPage:0,previewWidth:0,previewHeight:0,scaleOverride:0}}$(this).each(function(){if(e.previewWidth==0&&e.previewHeight==0){e.width=$(window).width();e.height=$(window).height()}else{e.width=e.previewWidth;e.height=e.previewHeight}e.scaleFactor=Math.min(e.width/e.originalWidth,e.height/e.originalHeight);if(e.scaleOverride!=0){e.originalWidth=e.previewWidth;e.originalHeight=e.previewHeight;e.scaleFactor=e.scaleOverride}$("body").css({width:e.originalWidth,height:e.originalHeight});if($("body").hasClass("ie7")||$("body").hasClass("ie8")){$("body").css({filter:"progid:DXImageTransform.Microsoft.Matrix(M11="+e.scaleFactor+", M12=0, M21=0, M22="+e.scaleFactor+", SizingMethod='auto expand'"})}else{$("body").css({transform:"scale("+e.scaleFactor+")","transform-origin":"0 0"})}var t=$(this).attr("totalPages");if(e.rowsPerPage>0){$(this).cycle({fx:e.transition,timeout:e.duration*1e3/t,slides:"> table"})}})}});if(!window.console){(function(){var e=["log","debug","info","warn","error","assert","dir","dirxml","group","groupEnd","time","timeEnd","count","trace","profile","profileEnd"],t,n=e.length;window.console={};for(t=0;t<n;t++){window.console[e[t]]=function(){}}})()} |
1286 | +>>>>>>> MERGE-SOURCE |
1287 | </script> |
1288 | <!--script type="text/javascript" src="modules/preview/xibo-text-render.js"></script--> |
1289 | |
1290 | |
1291 | === modified file 'server/modules/preview/html-preview.js' |
1292 | --- server/modules/preview/html-preview.js 2014-07-12 14:17:17 +0000 |
1293 | +++ server/modules/preview/html-preview.js 2014-08-21 19:12:24 +0000 |
1294 | @@ -333,10 +333,18 @@ |
1295 | |
1296 | if (oldMedia) { |
1297 | $("#" + oldMedia.containerName).css("display", "none"); |
1298 | - |
1299 | - if (oldMedia.mediaType == "video") { |
1300 | - $("#" + oldMedia.containerName + "-vid").get(0).pause(); |
1301 | - } |
1302 | +<<<<<<< TREE |
1303 | + |
1304 | + if (oldMedia.mediaType == "video") { |
1305 | + $("#" + oldMedia.containerName + "-vid").get(0).pause(); |
1306 | + } |
1307 | +======= |
1308 | + |
1309 | + if (oldMedia.mediaType == "video") { |
1310 | + $("#" + oldMedia.containerName + "-vid").get(0).pause(); |
1311 | + $("#" + oldMedia.containerName + "-vid").get(0).currentTime = 0; |
1312 | + } |
1313 | +>>>>>>> MERGE-SOURCE |
1314 | } |
1315 | |
1316 | $("#" + newMedia.containerName).css("display", "block"); |
1317 | |
1318 | === modified file 'server/modules/preview/xibo-text-render.js' |
1319 | --- server/modules/preview/xibo-text-render.js 2014-07-15 11:42:14 +0000 |
1320 | +++ server/modules/preview/xibo-text-render.js 2014-08-21 19:12:24 +0000 |
1321 | @@ -173,6 +173,7 @@ |
1322 | } |
1323 | |
1324 | // Now make it size correctly |
1325 | +<<<<<<< TREE |
1326 | // What IE are we? |
1327 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1328 | $(this).css({ |
1329 | @@ -185,6 +186,20 @@ |
1330 | "transform-origin": "0 0" |
1331 | }); |
1332 | } |
1333 | +======= |
1334 | + // What IE are we? |
1335 | + if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1336 | + $(this).css({ |
1337 | + "filter": "progid:DXImageTransform.Microsoft.Matrix(M11=" + options.scaleFactor + ", M12=0, M21=0, M22=" + options.scaleFactor + ", SizingMethod='auto expand'" |
1338 | + }); |
1339 | + } |
1340 | + else { |
1341 | + $(this).css({ |
1342 | + "transform": "scale(" + options.scaleFactor + ")", |
1343 | + "transform-origin": "0 0" |
1344 | + }); |
1345 | + } |
1346 | +>>>>>>> MERGE-SOURCE |
1347 | |
1348 | // 4th objective - move the items around, start the timer |
1349 | // settings involved: |
1350 | @@ -296,6 +311,7 @@ |
1351 | height: options.originalHeight |
1352 | }); |
1353 | |
1354 | +<<<<<<< TREE |
1355 | // What IE are we? |
1356 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1357 | $("body").css({ |
1358 | @@ -309,6 +325,21 @@ |
1359 | }); |
1360 | } |
1361 | |
1362 | +======= |
1363 | + // What IE are we? |
1364 | + if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1365 | + $("body").css({ |
1366 | + "filter": "progid:DXImageTransform.Microsoft.Matrix(M11=" + options.scaleFactor + ", M12=0, M21=0, M22=" + options.scaleFactor + ", SizingMethod='auto expand'" |
1367 | + }); |
1368 | + } |
1369 | + else { |
1370 | + $("body").css({ |
1371 | + "transform": "scale(" + options.scaleFactor + ")", |
1372 | + "transform-origin": "0 0" |
1373 | + }); |
1374 | + } |
1375 | + |
1376 | +>>>>>>> MERGE-SOURCE |
1377 | var numberItems = $(this).attr("totalPages"); |
1378 | |
1379 | if (options.rowsPerPage > 0) { |
1380 | |
1381 | === modified file 'server/modules/preview/xibo-webpage-render.js' |
1382 | --- server/modules/preview/xibo-webpage-render.js 2014-06-30 14:28:23 +0000 |
1383 | +++ server/modules/preview/xibo-webpage-render.js 2014-08-21 19:12:24 +0000 |
1384 | @@ -1,3 +1,4 @@ |
1385 | +<<<<<<< TREE |
1386 | $(document).ready(function() { |
1387 | |
1388 | isMSIE = navigator.userAgent.match(/MSIE/), |
1389 | @@ -63,4 +64,75 @@ |
1390 | }); |
1391 | } |
1392 | } |
1393 | -}); |
1394 | \ No newline at end of file |
1395 | +});======= |
1396 | +$(document).ready(function() { |
1397 | + |
1398 | + isMSIE = navigator.userAgent.match(/MSIE/), |
1399 | + MSIEVersion = navigator.userAgent.match(/MSIE (\d\.\d+)/) ? parseInt(RegExp.$1, 10) : null |
1400 | + |
1401 | + if (options.previewWidth == 0 && options.previewHeight == 0) { |
1402 | + options.width = $(window).width(); |
1403 | + options.height = $(window).height(); |
1404 | + } |
1405 | + else { |
1406 | + // We are a preview |
1407 | + options.width = options.previewWidth; |
1408 | + options.height = options.previewHeight; |
1409 | + } |
1410 | + |
1411 | + // Scale Factor |
1412 | + options.scaleFactor = Math.min(options.width / options.originalWidth, options.height / options.originalHeight); |
1413 | + |
1414 | + // We need to scale the scale according to the size difference between the layout designer and the actual request size. |
1415 | + if (options.scale_override != 1) { |
1416 | + options.offsetTop = options.offsetTop * options.scaleFactor; |
1417 | + options.offsetLeft = options.offsetLeft * options.scaleFactor; |
1418 | + options.scale = options.scale * options.scaleFactor; |
1419 | + } |
1420 | + |
1421 | + // Width should take into account the offset |
1422 | + options.width = parseInt(options.width) + parseInt(options.offsetLeft); |
1423 | + options.height = parseInt(options.height) + parseInt(options.offsetTop); |
1424 | + |
1425 | + // Add the width and height on the wrap. |
1426 | + $("#wrap").css({ |
1427 | + "overflow": "hidden", |
1428 | + "width": options.width, |
1429 | + "height": options.height |
1430 | + }); |
1431 | + |
1432 | + // Margins on frame |
1433 | + $("#iframe").css({ |
1434 | + "margin-top": -1 * options.offsetTop, |
1435 | + "margin-left": -1 * options.offsetLeft, |
1436 | + "width": options.width, |
1437 | + "height": options.height |
1438 | + }); |
1439 | + |
1440 | + // Transform on the frame |
1441 | + if (options.scale != 1) { |
1442 | + |
1443 | + if (isMSIE) { |
1444 | + $("#iframe").css({ |
1445 | + zoom: options.scale, |
1446 | + height: parseInt((options.height / options.scale) * (1 / (MSIEVersion >= 9 ? 1 : options.scale)), 10), |
1447 | + width: parseInt((options.width / options.scale) * (1 / (MSIEVersion >= 9 ? 1 : options.scale)), 10) |
1448 | + }) |
1449 | + } |
1450 | + else { |
1451 | + |
1452 | + $("#iframe").css({ |
1453 | + 'transform-origin': "0 0", |
1454 | + '-webkit-transform-origin': "0 0", |
1455 | + '-moz-transform-origin': "0 0", |
1456 | + '-o-transform-origin': "0 0", |
1457 | + 'transform': 'scale(' + options.scale + ')', |
1458 | + '-webkit-transform': 'scale(' + options.scale + ')', |
1459 | + '-moz-transform': 'scale(' + options.scale + ')', |
1460 | + '-o-transform': 'scale(' + options.scale + ')', |
1461 | + "width": options.width / options.scale, |
1462 | + "height": options.height / options.scale |
1463 | + }); |
1464 | + } |
1465 | + } |
1466 | +});>>>>>>> MERGE-SOURCE |
1467 | |
1468 | === modified file 'server/theme/default/html/status_dashboard.php' |
1469 | --- server/theme/default/html/status_dashboard.php 2014-06-29 14:37:07 +0000 |
1470 | +++ server/theme/default/html/status_dashboard.php 2014-08-21 19:12:24 +0000 |
1471 | @@ -28,17 +28,22 @@ |
1472 | ?> |
1473 | <div class="row"> |
1474 | <div class="span6"> |
1475 | - <h3 class="text-center">Bandwidth Usage</h3> |
1476 | + <h3 class="text-center"><?php echo Theme::Translate('Bandwidth Usage'); ?></h3> |
1477 | <div id="flot_bandwidth_chart" style="height: 400px;" class="flot-chart"></div> |
1478 | </div> |
1479 | <div class="span6"> |
1480 | +<<<<<<< TREE |
1481 | <h3 class="text-center">Library Usage</h3> |
1482 | <?php echo Theme::Get('library-widget'); ?> |
1483 | +======= |
1484 | + <h3 class="text-center"><?php echo Theme::Translate('Library Usage'); ?></h3> |
1485 | + <?php echo Theme::Get('library-widget'); ?> |
1486 | +>>>>>>> MERGE-SOURCE |
1487 | </div> |
1488 | </div> |
1489 | <div class="row"> |
1490 | <div class="span6"> |
1491 | - <h3 class="text-center">Display Activity</h3> |
1492 | + <h3 class="text-center"><?php echo Theme::Translate('Display Activity'); ?></h3> |
1493 | <table class="table"> |
1494 | <thead> |
1495 | <tr> |
1496 | |
1497 | === modified file 'server/upgrade.php' |
1498 | --- server/upgrade.php 2014-07-15 15:59:36 +0000 |
1499 | +++ server/upgrade.php 2014-08-21 19:12:24 +0000 |
1500 | @@ -20,10 +20,13 @@ |
1501 | */ |
1502 | DEFINE('XIBO', true); |
1503 | |
1504 | +<<<<<<< TREE |
1505 | if (! checkPHP()) { |
1506 | die("Xibo requires PHP 5.3.3 or later"); |
1507 | } |
1508 | |
1509 | +======= |
1510 | +>>>>>>> MERGE-SOURCE |
1511 | error_reporting(0); |
1512 | ini_set('display_errors', 0); |
1513 | |
1514 | @@ -34,6 +37,12 @@ |
1515 | include('config/db_config.php'); |
1516 | include('config/config.class.php'); |
1517 | |
1518 | +$config = new Config(); |
1519 | + |
1520 | +if (!$config->CheckPHP()) { |
1521 | + die(sprintf('Xibo required PHP version %s.', Config::$VERSION_REQUIRED)); |
1522 | +} |
1523 | + |
1524 | // Setup the translations for gettext |
1525 | require_once("lib/app/translationengine.class.php"); |
1526 | |
1527 | @@ -385,12 +394,15 @@ |
1528 | |
1529 | include('install/footer.inc'); |
1530 | |
1531 | +<<<<<<< TREE |
1532 | # Functions |
1533 | function checkPHP() { |
1534 | # Check PHP version > 5 |
1535 | return (version_compare("5.3.3",phpversion(), "<=")); |
1536 | } |
1537 | |
1538 | +======= |
1539 | +>>>>>>> MERGE-SOURCE |
1540 | function checkMySQL() { |
1541 | # Check PHP has MySQL module installed |
1542 | return extension_loaded("mysql"); |