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