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 | 40 | private string _backgroundColor; | 40 | private string _backgroundColor; |
6 | 41 | private string _backgroundTop; | 41 | private string _backgroundTop; |
7 | 42 | private string _backgroundLeft; | 42 | private string _backgroundLeft; |
8 | 43 | |||
9 | 44 | private RegionOptions _options; | ||
10 | 43 | 45 | ||
11 | 44 | // File paths | 46 | // File paths |
12 | 45 | private string _filePath; | 47 | private string _filePath; |
13 | @@ -113,7 +115,7 @@ | |||
14 | 113 | // It exists - therefore we want to get the last time it was updated | 115 | // It exists - therefore we want to get the last time it was updated |
15 | 114 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(filePath); | 116 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(filePath); |
16 | 115 | 117 | ||
18 | 116 | if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0) | 118 | if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0 || _options.LayoutModifiedDate.CompareTo(lastWriteDate) > 0) |
19 | 117 | return false; | 119 | return false; |
20 | 118 | else | 120 | else |
21 | 119 | return true; | 121 | return true; |
22 | 120 | 122 | ||
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 | 271 | 271 | ||
28 | 272 | [global::System.Configuration.ApplicationScopedSettingAttribute()] | 272 | [global::System.Configuration.ApplicationScopedSettingAttribute()] |
29 | 273 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | 273 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
30 | 274 | <<<<<<< TREE | ||
31 | 274 | [global::System.Configuration.DefaultSettingValueAttribute("1.6.2")] | 275 | [global::System.Configuration.DefaultSettingValueAttribute("1.6.2")] |
32 | 276 | ======= | ||
33 | 277 | [global::System.Configuration.DefaultSettingValueAttribute("1.6.3")] | ||
34 | 278 | >>>>>>> MERGE-SOURCE | ||
35 | 275 | public string ClientVersion { | 279 | public string ClientVersion { |
36 | 276 | get { | 280 | get { |
37 | 277 | return ((string)(this["ClientVersion"])); | 281 | return ((string)(this["ClientVersion"])); |
38 | @@ -535,7 +539,11 @@ | |||
39 | 535 | 539 | ||
40 | 536 | [global::System.Configuration.ApplicationScopedSettingAttribute()] | 540 | [global::System.Configuration.ApplicationScopedSettingAttribute()] |
41 | 537 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | 541 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] |
42 | 542 | <<<<<<< TREE | ||
43 | 538 | [global::System.Configuration.DefaultSettingValueAttribute("84")] | 543 | [global::System.Configuration.DefaultSettingValueAttribute("84")] |
44 | 544 | ======= | ||
45 | 545 | [global::System.Configuration.DefaultSettingValueAttribute("85")] | ||
46 | 546 | >>>>>>> MERGE-SOURCE | ||
47 | 539 | public int ClientCodeVersion { | 547 | public int ClientCodeVersion { |
48 | 540 | get { | 548 | get { |
49 | 541 | return ((int)(this["ClientCodeVersion"])); | 549 | return ((int)(this["ClientCodeVersion"])); |
50 | 542 | 550 | ||
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 | 69 | <Value Profile="(Default)">cacheManager.xml</Value> | 69 | <Value Profile="(Default)">cacheManager.xml</Value> |
56 | 70 | </Setting> | 70 | </Setting> |
57 | 71 | <Setting Name="ClientVersion" Type="System.String" Scope="Application"> | 71 | <Setting Name="ClientVersion" Type="System.String" Scope="Application"> |
58 | 72 | <<<<<<< TREE | ||
59 | 72 | <Value Profile="(Default)">1.6.2</Value> | 73 | <Value Profile="(Default)">1.6.2</Value> |
60 | 74 | ======= | ||
61 | 75 | <Value Profile="(Default)">1.6.3</Value> | ||
62 | 76 | >>>>>>> MERGE-SOURCE | ||
63 | 73 | </Setting> | 77 | </Setting> |
64 | 74 | <Setting Name="scrollStepAmount" Type="System.Decimal" Scope="User"> | 78 | <Setting Name="scrollStepAmount" Type="System.Decimal" Scope="User"> |
65 | 75 | <Value Profile="(Default)">1</Value> | 79 | <Value Profile="(Default)">1</Value> |
66 | @@ -138,7 +142,11 @@ | |||
67 | 138 | <Value Profile="(Default)">Bottom Right</Value> | 142 | <Value Profile="(Default)">Bottom Right</Value> |
68 | 139 | </Setting> | 143 | </Setting> |
69 | 140 | <Setting Name="ClientCodeVersion" Type="System.Int32" Scope="Application"> | 144 | <Setting Name="ClientCodeVersion" Type="System.Int32" Scope="Application"> |
70 | 145 | <<<<<<< TREE | ||
71 | 141 | <Value Profile="(Default)">84</Value> | 146 | <Value Profile="(Default)">84</Value> |
72 | 147 | ======= | ||
73 | 148 | <Value Profile="(Default)">85</Value> | ||
74 | 149 | >>>>>>> MERGE-SOURCE | ||
75 | 142 | </Setting> | 150 | </Setting> |
76 | 143 | <Setting Name="ClientInformationKeyCode" Type="System.String" Scope="User"> | 151 | <Setting Name="ClientInformationKeyCode" Type="System.String" Scope="User"> |
77 | 144 | <Value Profile="(Default)">I</Value> | 152 | <Value Profile="(Default)">I</Value> |
78 | 145 | 153 | ||
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 | 614 | // It exists - therefore we want to get the last time it was updated | 614 | // It exists - therefore we want to get the last time it was updated |
84 | 615 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(_filePath); | 615 | DateTime lastWriteDate = System.IO.File.GetLastWriteTime(_filePath); |
85 | 616 | 616 | ||
87 | 617 | if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0) | 617 | // Either the update interval has expired or the layout has been modified. |
88 | 618 | if (DateTime.Now.CompareTo(lastWriteDate.AddHours(_updateInterval * 1.0 / 60.0)) > 0 || _options.LayoutModifiedDate.CompareTo(lastWriteDate) > 0) | ||
89 | 618 | return false; | 619 | return false; |
90 | 619 | else | 620 | else |
91 | 620 | return true; | 621 | return true; |
92 | 621 | 622 | ||
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 | 144 | <value>cacheManager.xml</value> | 144 | <value>cacheManager.xml</value> |
98 | 145 | </setting> | 145 | </setting> |
99 | 146 | <setting name="ClientVersion" serializeAs="String"> | 146 | <setting name="ClientVersion" serializeAs="String"> |
100 | 147 | <<<<<<< TREE | ||
101 | 147 | <value>1.6.2</value> | 148 | <value>1.6.2</value> |
102 | 149 | ======= | ||
103 | 150 | <value>1.6.3</value> | ||
104 | 151 | >>>>>>> MERGE-SOURCE | ||
105 | 148 | </setting> | 152 | </setting> |
106 | 149 | <setting name="xmdsResetTimeout" serializeAs="String"> | 153 | <setting name="xmdsResetTimeout" serializeAs="String"> |
107 | 150 | <value>900</value> | 154 | <value>900</value> |
108 | @@ -156,7 +160,11 @@ | |||
109 | 156 | <value>True</value> | 160 | <value>True</value> |
110 | 157 | </setting> | 161 | </setting> |
111 | 158 | <setting name="ClientCodeVersion" serializeAs="String"> | 162 | <setting name="ClientCodeVersion" serializeAs="String"> |
112 | 163 | <<<<<<< TREE | ||
113 | 159 | <value>84</value> | 164 | <value>84</value> |
114 | 165 | ======= | ||
115 | 166 | <value>85</value> | ||
116 | 167 | >>>>>>> MERGE-SOURCE | ||
117 | 160 | </setting> | 168 | </setting> |
118 | 161 | </XiboClient.Properties.Settings> | 169 | </XiboClient.Properties.Settings> |
119 | 162 | </applicationSettings> | 170 | </applicationSettings> |
120 | 163 | 171 | ||
121 | === renamed file 'default.mo' => 'default.mo.OTHER' | |||
122 | 164 | Binary files default.mo 2014-07-15 16:00:50 +0000 and default.mo.OTHER 2014-08-21 19:12:24 +0000 differ | 172 | 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 | 2 | msgstr "" | 2 | msgstr "" |
128 | 3 | "Project-Id-Version: Xibo Digital Signage\n" | 3 | "Project-Id-Version: Xibo Digital Signage\n" |
129 | 4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
130 | 5 | <<<<<<< TREE | ||
131 | 5 | "POT-Creation-Date: 2014-07-15 17:00-0000\n" | 6 | "POT-Creation-Date: 2014-07-15 17:00-0000\n" |
132 | 7 | ======= | ||
133 | 8 | "POT-Creation-Date: 2014-07-15 16:44-0000\n" | ||
134 | 9 | >>>>>>> MERGE-SOURCE | ||
135 | 6 | "PO-Revision-Date: \n" | 10 | "PO-Revision-Date: \n" |
136 | 7 | "Last-Translator: Dan Garner <dan@xibo.org.uk>\n" | 11 | "Last-Translator: Dan Garner <dan@xibo.org.uk>\n" |
137 | 8 | "Language-Team: <info@xibo.org.uk>\n" | 12 | "Language-Team: <info@xibo.org.uk>\n" |
138 | @@ -10,7 +14,11 @@ | |||
139 | 10 | "MIME-Version: 1.0\n" | 14 | "MIME-Version: 1.0\n" |
140 | 11 | "Content-Type: text/plain; charset=UTF-8\n" | 15 | "Content-Type: text/plain; charset=UTF-8\n" |
141 | 12 | "Content-Transfer-Encoding: 8bit\n" | 16 | "Content-Transfer-Encoding: 8bit\n" |
142 | 17 | <<<<<<< TREE | ||
143 | 13 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.7.0-alpha\n" | 18 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.7.0-alpha\n" |
144 | 19 | ======= | ||
145 | 20 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.6.2\n" | ||
146 | 21 | >>>>>>> MERGE-SOURCE | ||
147 | 14 | "X-Poedit-KeywordsList: __;Translate\n" | 22 | "X-Poedit-KeywordsList: __;Translate\n" |
148 | 15 | "X-Generator: Poedit 1.5.5\n" | 23 | "X-Generator: Poedit 1.5.5\n" |
149 | 16 | "X-Poedit-SearchPath-0: server\n" | 24 | "X-Poedit-SearchPath-0: server\n" |
150 | 17 | 25 | ||
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 | 1 | <?php | 1 | <?php |
156 | 2 | /* | 2 | /* |
157 | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk |
159 | 4 | * Copyright (C) 2006-2013 Daniel Garner and James Packer | 4 | * Copyright (C) 2006-2014 Daniel Garner and James Packer |
160 | 5 | * | 5 | * |
161 | 6 | * This file is part of Xibo. | 6 | * This file is part of Xibo. |
162 | 7 | * | 7 | * |
163 | @@ -22,6 +22,8 @@ | |||
164 | 22 | 22 | ||
165 | 23 | class Config | 23 | class Config |
166 | 24 | { | 24 | { |
167 | 25 | public static $VERSION_REQUIRED = '5.3.3'; | ||
168 | 26 | |||
169 | 25 | private $extensions; | 27 | private $extensions; |
170 | 26 | private $envTested; | 28 | private $envTested; |
171 | 27 | private $envFault; | 29 | private $envFault; |
172 | @@ -129,7 +131,7 @@ | |||
173 | 129 | // Check for PHP version | 131 | // Check for PHP version |
174 | 130 | $message = __('PHP Version'); | 132 | $message = __('PHP Version'); |
175 | 131 | 133 | ||
177 | 132 | if ($this->CheckPHP() == 1) | 134 | if ($this->CheckPHP()) |
178 | 133 | { | 135 | { |
179 | 134 | $output .= $imgGood.$message.'<br />'; | 136 | $output .= $imgGood.$message.'<br />'; |
180 | 135 | } | 137 | } |
181 | @@ -138,7 +140,11 @@ | |||
182 | 138 | $this->envFault = true; | 140 | $this->envFault = true; |
183 | 139 | 141 | ||
184 | 140 | $output .= $imgBad.$message.'<br />'; | 142 | $output .= $imgBad.$message.'<br />'; |
185 | 143 | <<<<<<< TREE | ||
186 | 141 | $output .= '<div class="check_explain"> <p>' . __("PHP version 5.3.3 or later required.") . '. Detected ' . phpversion() . '</p></div>'; | 144 | $output .= '<div class="check_explain"> <p>' . __("PHP version 5.3.3 or later required.") . '. Detected ' . phpversion() . '</p></div>'; |
187 | 145 | ======= | ||
188 | 146 | $output .= '<div class="check_explain"> <p>' . sprintf(__("PHP version %s or later required."), Config::$VERSION_REQUIRED) . '. Detected ' . phpversion() . '</p></div>'; | ||
189 | 147 | >>>>>>> MERGE-SOURCE | ||
190 | 142 | } | 148 | } |
191 | 143 | 149 | ||
192 | 144 | // Check for file system permissions | 150 | // Check for file system permissions |
193 | @@ -463,7 +469,11 @@ | |||
194 | 463 | */ | 469 | */ |
195 | 464 | function CheckPHP() | 470 | function CheckPHP() |
196 | 465 | { | 471 | { |
197 | 472 | <<<<<<< TREE | ||
198 | 466 | return ((version_compare('5.3.3', phpversion(), '>='))) ? 1 : 0; | 473 | return ((version_compare('5.3.3', phpversion(), '>='))) ? 1 : 0; |
199 | 474 | ======= | ||
200 | 475 | return (version_compare(phpversion(), Config::$VERSION_REQUIRED) != -1); | ||
201 | 476 | >>>>>>> MERGE-SOURCE | ||
202 | 467 | } | 477 | } |
203 | 468 | 478 | ||
204 | 469 | /** | 479 | /** |
205 | 470 | 480 | ||
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 | 20 | */ | 20 | */ |
211 | 21 | DEFINE('XIBO', true); | 21 | DEFINE('XIBO', true); |
212 | 22 | 22 | ||
213 | 23 | <<<<<<< TREE | ||
214 | 23 | if (! checkPHP()) | 24 | if (! checkPHP()) |
215 | 24 | { | 25 | { |
216 | 25 | die('Xibo requires PHP 5.3.3 or later'); | 26 | die('Xibo requires PHP 5.3.3 or later'); |
217 | 26 | } | 27 | } |
218 | 27 | 28 | ||
219 | 29 | ======= | ||
220 | 30 | >>>>>>> MERGE-SOURCE | ||
221 | 28 | error_reporting(0); | 31 | error_reporting(0); |
222 | 29 | ini_set('display_errors', 0); | 32 | ini_set('display_errors', 0); |
223 | 30 | 33 | ||
224 | @@ -33,6 +36,12 @@ | |||
225 | 33 | include('config/config.class.php'); | 36 | include('config/config.class.php'); |
226 | 34 | include('config/db_config.php'); | 37 | include('config/db_config.php'); |
227 | 35 | 38 | ||
228 | 39 | $config = new Config(); | ||
229 | 40 | |||
230 | 41 | if (!$config->CheckPHP()) { | ||
231 | 42 | die(sprintf('Xibo required PHP version %s.', Config::$VERSION_REQUIRED)); | ||
232 | 43 | } | ||
233 | 44 | |||
234 | 36 | // Setup for the Translations using Gettext. | 45 | // Setup for the Translations using Gettext. |
235 | 37 | // 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) | 46 | // 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 | 38 | // Would be nice to include a method on the TranslationEngine that did this for us - but without the debugging | 47 | // 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 | 691 | return $key; | 700 | return $key; |
239 | 692 | } | 701 | } |
240 | 693 | 702 | ||
241 | 703 | <<<<<<< TREE | ||
242 | 694 | function checkPHP() | 704 | function checkPHP() |
243 | 695 | { | 705 | { |
244 | 696 | return (version_compare("5.3.3",phpversion(), "<=")); | 706 | return (version_compare("5.3.3",phpversion(), "<=")); |
245 | 697 | } | 707 | } |
246 | 698 | 708 | ||
247 | 709 | ======= | ||
248 | 710 | >>>>>>> MERGE-SOURCE | ||
249 | 699 | function CheckGettext() | 711 | function CheckGettext() |
250 | 700 | { | 712 | { |
251 | 701 | return extension_loaded("gettext"); | 713 | return extension_loaded("gettext"); |
252 | 702 | 714 | ||
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 | 1 | |||
258 | 2 | UPDATE `version` SET `app_ver` = '1.6.3', `XmdsVersion` = 3; | ||
259 | 3 | UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE'; | ||
260 | 4 | UPDATE `version` SET `DBVersion` = '71'; | ||
261 | 0 | 5 | ||
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 | 1 | INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES | 1 | INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES |
267 | 2 | <<<<<<< TREE | ||
268 | 2 | ('1.6.2', 3, 1, 70); | 3 | ('1.6.2', 3, 1, 70); |
269 | 4 | ======= | ||
270 | 5 | ('1.6.3', 3, 1, 71); | ||
271 | 6 | >>>>>>> MERGE-SOURCE | ||
272 | 3 | 7 | ||
273 | 4 | INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES | 8 | INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES |
274 | 5 | (1, 'Users', 0, 0), | 9 | (1, 'Users', 0, 0), |
275 | 6 | 10 | ||
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 | 34 | `DataSet` varchar(50) NOT NULL, | 34 | `DataSet` varchar(50) NOT NULL, |
281 | 35 | `Description` varchar(254) DEFAULT NULL, | 35 | `Description` varchar(254) DEFAULT NULL, |
282 | 36 | `UserID` int(11) NOT NULL, | 36 | `UserID` int(11) NOT NULL, |
283 | 37 | `LastDataEdit` int(11) NOT NULL DEFAULT '0', | ||
284 | 37 | PRIMARY KEY (`DataSetID`), | 38 | PRIMARY KEY (`DataSetID`), |
285 | 38 | KEY `UserID` (`UserID`) | 39 | KEY `UserID` (`UserID`) |
286 | 39 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; | 40 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 AUTO_INCREMENT=1 ; |
287 | @@ -602,6 +603,15 @@ | |||
288 | 602 | PRIMARY KEY (`id`) | 603 | PRIMARY KEY (`id`) |
289 | 603 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='File associations directly to Display Groups' AUTO_INCREMENT=1 ; | 604 | ) ENGINE=InnoDB DEFAULT CHARSET=utf8 COMMENT='File associations directly to Display Groups' AUTO_INCREMENT=1 ; |
290 | 604 | 605 | ||
291 | 606 | CREATE TABLE IF NOT EXISTS `lkdatasetlayout` ( | ||
292 | 607 | `LkDataSetLayoutID` int(11) NOT NULL AUTO_INCREMENT, | ||
293 | 608 | `DataSetID` int(11) NOT NULL, | ||
294 | 609 | `LayoutID` int(11) NOT NULL, | ||
295 | 610 | `RegionID` varchar(50) NOT NULL, | ||
296 | 611 | `MediaID` varchar(50) NOT NULL, | ||
297 | 612 | PRIMARY KEY (`LkDataSetLayoutID`) | ||
298 | 613 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | ||
299 | 614 | |||
300 | 605 | -- | 615 | -- |
301 | 606 | -- Constraints for dumped tables | 616 | -- Constraints for dumped tables |
302 | 607 | -- | 617 | -- |
303 | 608 | 618 | ||
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 | 372 | */ | 372 | */ |
309 | 373 | public static function GetURL($page = "") | 373 | public static function GetURL($page = "") |
310 | 374 | { | 374 | { |
312 | 375 | $page = $this->ValidateParam($page, _WORD); | 375 | $page = Kit::ValidateParam($page, _WORD); |
313 | 376 | $fullUrl = 'http'; | 376 | $fullUrl = 'http'; |
314 | 377 | 377 | ||
315 | 378 | if(isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') | 378 | if(isset($_SERVER['HTTPS']) && strtolower($_SERVER['HTTPS']) == 'on') |
316 | 379 | 379 | ||
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 | 34 | global $dbpass; | 34 | global $dbpass; |
322 | 35 | global $dbname; | 35 | global $dbname; |
323 | 36 | 36 | ||
324 | 37 | $dbport = ''; | ||
325 | 38 | |||
326 | 39 | if (strstr($dbhost, ':')) { | ||
327 | 40 | $hostParts = explode(':', $dbhost); | ||
328 | 41 | $dsn = 'mysql:host=' . $hostParts[0] . ';port=' . $hostParts[1] . ';dbname=' . $dbname . ';'; | ||
329 | 42 | } | ||
330 | 43 | else { | ||
331 | 44 | $dsn = 'mysql:host=' . $dbhost . ';dbname=' . $dbname . ';'; | ||
332 | 45 | } | ||
333 | 46 | |||
334 | 37 | // Open the connection and set the error mode | 47 | // Open the connection and set the error mode |
336 | 38 | self::$conn = new PDO('mysql:host=' . $dbhost . ';dbname=' . $dbname . ';', $dbuser, $dbpass); | 48 | self::$conn = new PDO($dsn, $dbuser, $dbpass); |
337 | 39 | self::$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); | 49 | self::$conn->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); |
338 | 40 | 50 | ||
339 | 41 | self::$conn->query("SET NAMES 'utf8'"); | 51 | self::$conn->query("SET NAMES 'utf8'"); |
340 | 42 | 52 | ||
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 | 441 | 441 | ||
346 | 442 | Debug::LogEntry('audit', $SQL); | 442 | Debug::LogEntry('audit', $SQL); |
347 | 443 | 443 | ||
350 | 444 | if (!$rows = $db->GetArray($SQL, $associative)) | 444 | $rows = $db->GetArray($SQL, $associative); |
349 | 445 | trigger_error($db->error()); | ||
351 | 446 | 445 | ||
352 | 447 | if (!is_array($rows)) | 446 | if (!is_array($rows)) |
353 | 448 | $rows = array(); | 447 | $rows = array(); |
354 | 449 | 448 | ||
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 | 377 | } | 377 | } |
360 | 378 | } | 378 | } |
361 | 379 | } | 379 | } |
362 | 380 | ?> | ||
363 | 381 | \ No newline at end of file | 380 | \ No newline at end of file |
364 | 381 | ?> | ||
365 | 382 | 382 | ||
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 | 151 | */ | 151 | */ |
371 | 152 | public function Delete($displayGroupID) | 152 | public function Delete($displayGroupID) |
372 | 153 | { | 153 | { |
374 | 154 | Debug::LogEntry('audit', 'IN', 'DisplayGroup', 'Delete'); | 154 | if ($displayGroupID == NULL || $displayGroupID == 0) |
375 | 155 | return $this->SetError(__('Missing displayGroupId')); | ||
376 | 155 | 156 | ||
377 | 156 | try { | 157 | try { |
378 | 157 | $dbh = PDOConnect::init(); | 158 | $dbh = PDOConnect::init(); |
379 | @@ -162,6 +163,13 @@ | |||
380 | 162 | if (!$schedule->DeleteScheduleForDisplayGroup($displayGroupID)) | 163 | if (!$schedule->DeleteScheduleForDisplayGroup($displayGroupID)) |
381 | 163 | throw new Exception('Unable to DeleteScheduleForDisplayGroup'); | 164 | throw new Exception('Unable to DeleteScheduleForDisplayGroup'); |
382 | 164 | 165 | ||
383 | 166 | // Remove all permissions | ||
384 | 167 | Kit::ClassLoader('displaygroupsecurity'); | ||
385 | 168 | $security = new DisplayGroupSecurity($this->db); | ||
386 | 169 | |||
387 | 170 | if (!$security->UnlinkAll($displayGroupID)) | ||
388 | 171 | throw new Exception('Unable to Unlink all Display Group Permissions'); | ||
389 | 172 | |||
390 | 165 | // Delete the Display Group | 173 | // Delete the Display Group |
391 | 166 | $sth = $dbh->prepare('DELETE FROM displaygroup WHERE DisplayGroupID = :displaygroupid'); | 174 | $sth = $dbh->prepare('DELETE FROM displaygroup WHERE DisplayGroupID = :displaygroupid'); |
392 | 167 | $sth->execute(array( | 175 | $sth->execute(array( |
393 | @@ -414,10 +422,6 @@ | |||
394 | 414 | 422 | ||
395 | 415 | try { | 423 | try { |
396 | 416 | $dbh = PDOConnect::init(); | 424 | $dbh = PDOConnect::init(); |
397 | 417 | |||
398 | 418 | // Check that some media assignments have been made | ||
399 | 419 | if (count($mediaList) == 0) | ||
400 | 420 | $this->ThrowError(25006, __('No media to assign')); | ||
401 | 421 | 425 | ||
402 | 422 | // Drop all current assignments | 426 | // Drop all current assignments |
403 | 423 | if (!$link->UnlinkAllFromDisplayGroup($displayGroupId)) | 427 | if (!$link->UnlinkAllFromDisplayGroup($displayGroupId)) |
404 | 424 | 428 | ||
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 | 22 | 22 | ||
410 | 23 | class Region extends Data | 23 | class Region extends Data |
411 | 24 | { | 24 | { |
416 | 25 | // Caching | 25 | <<<<<<< TREE |
417 | 26 | private $layoutXml; | 26 | // Caching |
418 | 27 | private $layoutDocument; | 27 | private $layoutXml; |
419 | 28 | 28 | private $layoutDocument; | |
420 | 29 | |||
421 | 30 | ======= | ||
422 | 31 | // Caching | ||
423 | 32 | private $layoutXml; | ||
424 | 33 | private $layoutDocument; | ||
425 | 34 | |||
426 | 35 | public $delayFinalise = false; | ||
427 | 36 | |||
428 | 37 | >>>>>>> MERGE-SOURCE | ||
429 | 29 | public function __construct(database $db) | 38 | public function __construct(database $db) |
430 | 30 | { | 39 | { |
431 | 31 | $this->db =& $db; | 40 | $this->db =& $db; |
432 | @@ -632,10 +641,12 @@ | |||
433 | 632 | if (!$this->SetLayoutXml($layoutid, $xml->saveXML())) | 641 | if (!$this->SetLayoutXml($layoutid, $xml->saveXML())) |
434 | 633 | return false; | 642 | return false; |
435 | 634 | 643 | ||
440 | 635 | // Update layout status | 644 | if (!$this->delayFinalise) { |
441 | 636 | Kit::ClassLoader('Layout'); | 645 | // Update layout status |
442 | 637 | $layout = new Layout($this->db); | 646 | Kit::ClassLoader('Layout'); |
443 | 638 | $layout->SetValid($layoutid, true); | 647 | $layout = new Layout($this->db); |
444 | 648 | $layout->SetValid($layoutid, true); | ||
445 | 649 | } | ||
446 | 639 | 650 | ||
447 | 640 | //Its swapped | 651 | //Its swapped |
448 | 641 | return true; | 652 | return true; |
449 | 642 | 653 | ||
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 | 34 | 34 | ||
455 | 35 | class Userdata extends Data | 35 | class Userdata extends Data |
456 | 36 | { | 36 | { |
457 | 37 | public $userId; | ||
458 | 38 | |||
459 | 39 | public function Delete() { | ||
460 | 40 | if (!isset($this->userId) || $this->userId == 0) | ||
461 | 41 | return $this->SetError(__('Missing userId')); | ||
462 | 42 | |||
463 | 43 | try { | ||
464 | 44 | $dbh = PDOConnect::init(); | ||
465 | 45 | |||
466 | 46 | $sth = $dbh->prepare('DELETE FROM `user` WHERE userid = :userid'); | ||
467 | 47 | $sth->execute(array('userid' => $this->userId)); | ||
468 | 48 | |||
469 | 49 | $sth = $dbh->prepare('DELETE FROM `session` WHERE userid = :userid'); | ||
470 | 50 | $sth->execute(array('userid' => $this->userId)); | ||
471 | 51 | |||
472 | 52 | return true; | ||
473 | 53 | } | ||
474 | 54 | catch (Exception $e) { | ||
475 | 55 | |||
476 | 56 | Debug::LogEntry('error', $e->getMessage(), get_class(), __FUNCTION__); | ||
477 | 57 | |||
478 | 58 | if (!$this->IsError()) | ||
479 | 59 | $this->SetError(1, __('Unknown Error')); | ||
480 | 60 | |||
481 | 61 | return false; | ||
482 | 62 | } | ||
483 | 63 | } | ||
484 | 64 | |||
485 | 37 | /** | 65 | /** |
486 | 38 | * Change a users password | 66 | * Change a users password |
487 | 39 | * @param <type> $userId | 67 | * @param <type> $userId |
488 | 40 | 68 | ||
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 | 255 | 255 | ||
494 | 256 | $sth = $dbh->prepare('DELETE FROM lkusergroup WHERE UserID = :userid'); | 256 | $sth = $dbh->prepare('DELETE FROM lkusergroup WHERE UserID = :userid'); |
495 | 257 | $sth->execute(array( | 257 | $sth->execute(array( |
497 | 258 | 'userid' => $userID | 258 | 'userid' => $userId |
498 | 259 | )); | 259 | )); |
499 | 260 | 260 | ||
500 | 261 | Debug::LogEntry('audit', 'OUT', 'UserGroup', 'UnlinkAllGroups'); | 261 | Debug::LogEntry('audit', 'OUT', 'UserGroup', 'UnlinkAllGroups'); |
501 | 262 | 262 | ||
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 | 20 | */ | 20 | */ |
507 | 21 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); | 21 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); |
508 | 22 | 22 | ||
509 | 23 | <<<<<<< TREE | ||
510 | 23 | define('WEBSITE_VERSION', 70); | 24 | define('WEBSITE_VERSION', 70); |
511 | 25 | ======= | ||
512 | 26 | define('WEBSITE_VERSION', 71); | ||
513 | 27 | >>>>>>> MERGE-SOURCE | ||
514 | 24 | 28 | ||
515 | 25 | // No errors reported until we read the settings from the DB | 29 | // No errors reported until we read the settings from the DB |
516 | 26 | error_reporting(0); | 30 | error_reporting(0); |
517 | 27 | 31 | ||
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 | 52 | protected $showRegionOptions; | 52 | protected $showRegionOptions; |
523 | 53 | protected $originalUserId; | 53 | protected $originalUserId; |
524 | 54 | protected $storedAs; | 54 | protected $storedAs; |
525 | 55 | protected $originalFilename; | ||
526 | 55 | 56 | ||
527 | 56 | // Track the error state | 57 | // Track the error state |
528 | 57 | private $error; | 58 | private $error; |
529 | @@ -237,7 +238,7 @@ | |||
530 | 237 | $dbh = PDOConnect::init(); | 238 | $dbh = PDOConnect::init(); |
531 | 238 | 239 | ||
532 | 239 | // Load what we know about this media into the object | 240 | // Load what we know about this media into the object |
534 | 240 | $sth = $dbh->prepare('SELECT duration, name, UserId, storedAs FROM media WHERE mediaID = :media_id'); | 241 | $sth = $dbh->prepare('SELECT duration, name, UserId, storedAs, originalFilename FROM media WHERE mediaID = :media_id'); |
535 | 241 | $sth->execute(array( | 242 | $sth->execute(array( |
536 | 242 | 'media_id' => $mediaid | 243 | 'media_id' => $mediaid |
537 | 243 | )); | 244 | )); |
538 | @@ -252,6 +253,7 @@ | |||
539 | 252 | $this->name = $rows[0]['name']; | 253 | $this->name = $rows[0]['name']; |
540 | 253 | $this->originalUserId = $rows[0]['UserId']; | 254 | $this->originalUserId = $rows[0]['UserId']; |
541 | 254 | $this->storedAs = $rows[0]['storedAs']; | 255 | $this->storedAs = $rows[0]['storedAs']; |
542 | 256 | $this->originalFilename = $rows[0]['originalFilename']; | ||
543 | 255 | } | 257 | } |
544 | 256 | catch (Exception $e) { | 258 | catch (Exception $e) { |
545 | 257 | 259 | ||
546 | @@ -1203,9 +1205,6 @@ | |||
547 | 1203 | 1205 | ||
548 | 1204 | Debug::LogEntry('audit', sprintf('Replacing mediaid %s with mediaid %s in all layouts', $oldMediaId, $newMediaId), 'module', 'ReplaceMediaInAllLayouts'); | 1206 | Debug::LogEntry('audit', sprintf('Replacing mediaid %s with mediaid %s in all layouts', $oldMediaId, $newMediaId), 'module', 'ReplaceMediaInAllLayouts'); |
549 | 1205 | 1207 | ||
550 | 1206 | // Create a region object for later use | ||
551 | 1207 | $region = new region($db); | ||
552 | 1208 | |||
553 | 1209 | try { | 1208 | try { |
554 | 1210 | $dbh = PDOConnect::init(); | 1209 | $dbh = PDOConnect::init(); |
555 | 1211 | 1210 | ||
556 | @@ -1231,6 +1230,9 @@ | |||
557 | 1231 | 1230 | ||
558 | 1232 | Debug::LogEntry('audit', sprintf('%d linked media items for layoutid %d', count($results), $layoutId), 'module', 'ReplaceMediaInAllLayouts'); | 1231 | Debug::LogEntry('audit', sprintf('%d linked media items for layoutid %d', count($results), $layoutId), 'module', 'ReplaceMediaInAllLayouts'); |
559 | 1233 | 1232 | ||
560 | 1233 | // Create a region object for later use (new one each time) | ||
561 | 1234 | $region = new region($db); | ||
562 | 1235 | |||
563 | 1234 | // Loop through each media link for this layout | 1236 | // Loop through each media link for this layout |
564 | 1235 | foreach ($results as $row) | 1237 | foreach ($results as $row) |
565 | 1236 | { | 1238 | { |
566 | @@ -1958,13 +1960,14 @@ | |||
567 | 1958 | } | 1960 | } |
568 | 1959 | 1961 | ||
569 | 1960 | $download = Kit::GetParam('download', _REQUEST, _BOOLEAN, false); | 1962 | $download = Kit::GetParam('download', _REQUEST, _BOOLEAN, false); |
570 | 1963 | $downloadFromLibrary = Kit::GetParam('downloadFromLibrary', _REQUEST, _BOOLEAN, false); | ||
571 | 1961 | 1964 | ||
572 | 1962 | $size = filesize($fileName); | 1965 | $size = filesize($fileName); |
573 | 1963 | 1966 | ||
574 | 1964 | if ($download) { | 1967 | if ($download) { |
575 | 1965 | header('Content-Type: application/octet-stream'); | 1968 | header('Content-Type: application/octet-stream'); |
576 | 1966 | header("Content-Transfer-Encoding: Binary"); | 1969 | header("Content-Transfer-Encoding: Binary"); |
578 | 1967 | header("Content-disposition: attachment; filename=\"" . basename($fileName) . "\""); | 1970 | header("Content-disposition: attachment; filename=\"" . (($downloadFromLibrary) ? $this->originalFilename : basename($fileName)) . "\""); |
579 | 1968 | } | 1971 | } |
580 | 1969 | else { | 1972 | else { |
581 | 1970 | $fi = new finfo( FILEINFO_MIME_TYPE ); | 1973 | $fi = new finfo( FILEINFO_MIME_TYPE ); |
582 | 1971 | 1974 | ||
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 | 262 | // Monthly bandwidth - optionally tested against limits | 262 | // Monthly bandwidth - optionally tested against limits |
588 | 263 | $xmdsLimit = Config::GetSetting('MONTHLY_XMDS_TRANSFER_LIMIT_KB'); | 263 | $xmdsLimit = Config::GetSetting('MONTHLY_XMDS_TRANSFER_LIMIT_KB'); |
589 | 264 | $startOfMonth = strtotime(date('m').'/01/'.date('Y').' 00:00:00'); | 264 | $startOfMonth = strtotime(date('m').'/01/'.date('Y').' 00:00:00'); |
597 | 265 | 265 | ||
598 | 266 | $sql = sprintf('SELECT IFNULL(SUM(Size), 0) AS BandwidthUsage FROM `bandwidth` WHERE Month = %d', $startOfMonth); | 266 | $sql = sprintf('SELECT IFNULL(SUM(Size), 0) AS BandwidthUsage FROM `bandwidth` WHERE Month > %d AND Month < %d', $startOfMonth, $startOfMonth + (86400 * 2)); |
599 | 267 | $bandwidthUsage = $this->db->GetSingleValue($sql, 'BandwidthUsage', _INT); | 267 | $bandwidthUsage = $this->db->GetSingleValue($sql, 'BandwidthUsage', _DOUBLE); |
600 | 268 | 268 | ||
601 | 269 | Debug::LogEntry('audit', $sql); | 269 | Debug::LogEntry('audit', $sql . '. Usage: ' . $bandwidthUsage); |
602 | 270 | 270 | ||
603 | 271 | $usagePcnt = ($xmdsLimit > 0) ? (($bandwidthUsage / ($xmdsLimit * 1024)) * 100) : ''; | 271 | $usagePcnt = ($xmdsLimit > 0) ? (((double)$bandwidthUsage / ($xmdsLimit * 1024)) * 100) : ''; |
604 | 272 | 272 | ||
605 | 273 | $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>'; | 273 | $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 | 274 | } | 274 | } |
607 | 275 | 275 | ||
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 | 151 | // Download | 151 | // Download |
613 | 152 | $row['buttons'][] = array( | 152 | $row['buttons'][] = array( |
614 | 153 | 'id' => 'content_button_download', | 153 | 'id' => 'content_button_download', |
616 | 154 | 'url' => 'index.php?p=module&mod=' . $row['mediatype'] . '&q=Exec&method=GetResource&download=1&mediaid=' . $row['mediaid'], | 154 | 'url' => 'index.php?p=module&mod=' . $row['mediatype'] . '&q=Exec&method=GetResource&download=1&downloadFromLibrary=1&mediaid=' . $row['mediaid'], |
617 | 155 | 'text' => __('Download') | 155 | 'text' => __('Download') |
618 | 156 | ); | 156 | ); |
619 | 157 | 157 | ||
620 | 158 | 158 | ||
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 | 338 | $row['mediainventorystatus'] = ($row['mediainventorystatus'] == 1) ? 'success' : (($row['mediainventorystatus'] == 2) ? 'error' : 'warning'); | 338 | $row['mediainventorystatus'] = ($row['mediainventorystatus'] == 1) ? 'success' : (($row['mediainventorystatus'] == 2) ? 'error' : 'warning'); |
626 | 339 | 339 | ||
627 | 340 | // Schedule Now | 340 | // Schedule Now |
633 | 341 | $row['buttons'][] = array( | 341 | if ($row['edit'] == 1 || Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'Yes') { |
634 | 342 | 'id' => 'display_button_schedulenow', | 342 | $row['buttons'][] = array( |
635 | 343 | 'url' => 'index.php?p=schedule&q=ScheduleNowForm&displayGroupId=' . $row['displaygroupid'], | 343 | 'id' => 'display_button_schedulenow', |
636 | 344 | 'text' => __('Schedule Now') | 344 | 'url' => 'index.php?p=schedule&q=ScheduleNowForm&displayGroupId=' . $row['displaygroupid'], |
637 | 345 | ); | 345 | 'text' => __('Schedule Now') |
638 | 346 | ); | ||
639 | 347 | } | ||
640 | 346 | 348 | ||
641 | 347 | // Media Inventory | 349 | // Media Inventory |
642 | 348 | $row['buttons'][] = array( | 350 | $row['buttons'][] = array( |
643 | 349 | 351 | ||
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 | 775 | $response = new ResponseManager(); | 775 | $response = new ResponseManager(); |
649 | 776 | 776 | ||
650 | 777 | $displayGroupId = Kit::GetParam('displaygroupid', _GET, _INT); | 777 | $displayGroupId = Kit::GetParam('displaygroupid', _GET, _INT); |
652 | 778 | $mediaList = Kit::GetParam('MediaID', _POST, _ARRAY_INT, array(), false); | 778 | $mediaList = Kit::GetParam('MediaID', _POST, _ARRAY_INT, NULL, false); |
653 | 779 | 779 | ||
654 | 780 | if ($displayGroupId == 0) | 780 | if ($displayGroupId == 0) |
655 | 781 | trigger_error(__('Display Group not selected'), E_USER_ERROR); | 781 | trigger_error(__('Display Group not selected'), E_USER_ERROR); |
656 | 782 | 782 | ||
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 | 1100 | // Determine if we are authed against this group. | 1100 | // Determine if we are authed against this group. |
662 | 1101 | $auth = $this->user->DisplayGroupAuth($displayGroupID, true); | 1101 | $auth = $this->user->DisplayGroupAuth($displayGroupID, true); |
663 | 1102 | 1102 | ||
666 | 1103 | if (!$auth->view) | 1103 | // We should only be able to schedule if we have edit permission or if the SCHEDULE_WITH_VIEW permission is ON |
667 | 1104 | continue; | 1104 | if (!$auth->edit && Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'No') |
668 | 1105 | continue; | ||
669 | 1105 | 1106 | ||
670 | 1106 | // Do we need to nest yet? We only nest display specific groups | 1107 | // Do we need to nest yet? We only nest display specific groups |
671 | 1107 | if ($isDisplaySpecific == 1 && !$nested) | 1108 | if ($isDisplaySpecific == 1 && !$nested) |
672 | @@ -1760,19 +1761,23 @@ | |||
673 | 1760 | * @return | 1761 | * @return |
674 | 1761 | * @param $eventDGIDs Object | 1762 | * @param $eventDGIDs Object |
675 | 1762 | */ | 1763 | */ |
680 | 1763 | private function IsEventEditable($eventDGIDs) | 1764 | private function IsEventEditable($eventDGIDs) { |
681 | 1764 | { | 1765 | |
682 | 1765 | $db =& $this->db; | 1766 | $scheduleWithView = (Config::GetSetting('SCHEDULE_WITH_VIEW_PERMISSION') == 'Yes'); |
679 | 1766 | $user =& $this->user; | ||
683 | 1767 | 1767 | ||
684 | 1768 | // Work out if this event is editable or not. To do this we need to compare the permissions | 1768 | // Work out if this event is editable or not. To do this we need to compare the permissions |
685 | 1769 | // of each display group this event is associated with | 1769 | // of each display group this event is associated with |
692 | 1770 | foreach ($eventDGIDs as $dgID) | 1770 | foreach ($eventDGIDs as $dgID) { |
693 | 1771 | { | 1771 | // Permissions for display group |
694 | 1772 | if (!$user->DisplayGroupAuth($dgID)) | 1772 | $auth = $this->user->DisplayGroupAuth($dgID, true); |
695 | 1773 | { | 1773 | |
696 | 1774 | return false; | 1774 | // Can schedule with view, but no view permissions |
697 | 1775 | } | 1775 | if ($scheduleWithView && !$auth->view) |
698 | 1776 | return false; | ||
699 | 1777 | |||
700 | 1778 | // Can't schedule with view, but no edit permissions | ||
701 | 1779 | if (!$scheduleWithView && !$auth->edit) | ||
702 | 1780 | return false; | ||
703 | 1776 | } | 1781 | } |
704 | 1777 | 1782 | ||
705 | 1778 | return true; | 1783 | return true; |
706 | 1779 | 1784 | ||
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 | 45 | 45 | ||
712 | 46 | foreach ($results as $row) { | 46 | foreach ($results as $row) { |
713 | 47 | 47 | ||
715 | 48 | $points['data'][] = array($row['month'], ((double)$row['size']) / 1024 / 1024 / 1024); | 48 | $points['data'][] = array(__($row['month']), ((double)$row['size']) / 1024 / 1024 / 1024); |
716 | 49 | } | 49 | } |
717 | 50 | 50 | ||
718 | 51 | $points['label'] = __('GB'); | 51 | $points['label'] = __('GB'); |
719 | 52 | 52 | ||
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 | 293 | 293 | ||
725 | 294 | Kit::ClassLoader('region'); | 294 | Kit::ClassLoader('region'); |
726 | 295 | $regionObject = new region($db); | 295 | $regionObject = new region($db); |
727 | 296 | $regionObject->delayFinalise = true; | ||
728 | 296 | $ownerId = $regionObject->GetOwnerId($layoutid, $regionid); | 297 | $ownerId = $regionObject->GetOwnerId($layoutid, $regionid); |
729 | 297 | 298 | ||
730 | 298 | $regionAuth = $this->user->RegionAssignmentAuth($ownerId, $layoutid, $regionid, true); | 299 | $regionAuth = $this->user->RegionAssignmentAuth($ownerId, $layoutid, $regionid, true); |
731 | @@ -302,6 +303,11 @@ | |||
732 | 302 | if (!$regionObject->EditRegion($layoutid, $regionid, $width, $height, $top, $left)) | 303 | if (!$regionObject->EditRegion($layoutid, $regionid, $width, $height, $top, $left)) |
733 | 303 | trigger_error($regionObject->GetErrorMessage(), E_USER_ERROR); | 304 | trigger_error($regionObject->GetErrorMessage(), E_USER_ERROR); |
734 | 304 | } | 305 | } |
735 | 306 | |||
736 | 307 | // Set the layout status | ||
737 | 308 | Kit::ClassLoader('Layout'); | ||
738 | 309 | $layout = new Layout($this->db); | ||
739 | 310 | $layout->SetValid($layoutid, true); | ||
740 | 305 | 311 | ||
741 | 306 | $response->SetFormSubmitResponse(''); | 312 | $response->SetFormSubmitResponse(''); |
742 | 307 | $response->hideMessage = true; | 313 | $response->hideMessage = true; |
743 | 308 | 314 | ||
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 | 430 | trigger_error($userGroupObject->GetErrorMessage(), E_USER_ERROR); | 430 | trigger_error($userGroupObject->GetErrorMessage(), E_USER_ERROR); |
749 | 431 | 431 | ||
750 | 432 | // Delete the user | 432 | // Delete the user |
768 | 433 | $sqldel = "DELETE FROM user"; | 433 | Kit::ClassLoader('userdata'); |
769 | 434 | $sqldel .= " WHERE UserID = %d"; | 434 | $user = new UserData($this->db); |
770 | 435 | 435 | $user->userId = $userid; | |
771 | 436 | if (!$db->query(sprintf($sqldel, $userid))) | 436 | if (!$user->Delete()) |
772 | 437 | { | 437 | trigger_error($user->GetErrorMessage(), E_USER_ERROR); |
756 | 438 | trigger_error($db->error()); | ||
757 | 439 | trigger_error(__("This user has been active, you may only retire them."), E_USER_ERROR); | ||
758 | 440 | } | ||
759 | 441 | |||
760 | 442 | // We should delete this users sessions record. | ||
761 | 443 | $SQL = "DELETE FROM session WHERE userID = %d "; | ||
762 | 444 | |||
763 | 445 | if (!$db->query(sprintf($SQL, $userid))) | ||
764 | 446 | { | ||
765 | 447 | trigger_error($db->error()); | ||
766 | 448 | trigger_error(__("If logged in, this user will be deleted once they log out."), E_USER_ERROR); | ||
767 | 449 | } | ||
773 | 450 | 438 | ||
774 | 451 | $response->SetFormSubmitResponse(__('User Deleted.')); | 439 | $response->SetFormSubmitResponse(__('User Deleted.')); |
775 | 452 | $response->Respond(); | 440 | $response->Respond(); |
776 | 453 | 441 | ||
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 | 1128 | 1128 | ||
782 | 1129 | // See if the client was offline and if appropriate send an alert | 1129 | // See if the client was offline and if appropriate send an alert |
783 | 1130 | // to say that it has come back online | 1130 | // to say that it has come back online |
784 | 1131 | <<<<<<< TREE | ||
785 | 1131 | if ($row[5] == 0 && $row[6] == 1 && Config::GetSetting('MAINTENANCE_ENABLED') == 'On' && | 1132 | if ($row[5] == 0 && $row[6] == 1 && Config::GetSetting('MAINTENANCE_ENABLED') == 'On' && |
786 | 1132 | (Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On' || Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'Protected')) | 1133 | (Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On' || Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'Protected')) |
787 | 1134 | ======= | ||
788 | 1135 | if ($row[5] == 0 && $row[6] == 1 | ||
789 | 1136 | && (Config::GetSetting('MAINTENANCE_ENABLED') == 'On' || Config::GetSetting('MAINTENANCE_ENABLED') == 'Protected') | ||
790 | 1137 | && Config::GetSetting('MAINTENANCE_EMAIL_ALERTS') == 'On') | ||
791 | 1138 | >>>>>>> MERGE-SOURCE | ||
792 | 1133 | { | 1139 | { |
793 | 1134 | $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD); | 1140 | $msgTo = Kit::ValidateParam(Config::GetSetting("mail_to"),_PASSWORD); |
794 | 1135 | $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD); | 1141 | $msgFrom = Kit::ValidateParam(Config::GetSetting("mail_from"),_PASSWORD); |
795 | 1136 | 1142 | ||
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 | 116 | echo __('Value'); | 116 | echo __('Value'); |
801 | 117 | echo __('Formula'); | 117 | echo __('Formula'); |
802 | 118 | 118 | ||
803 | 119 | |||
804 | 120 | echo __('Media will be created with these settings. If public everyone will be able to view and use this media.'); | ||
805 | 121 | echo __('New layouts will be created with these settings. If public everyone will be able to view and use this layout.'); | ||
806 | 122 | echo __('Sets the default user type selected when creating a user.\r\n<br />\r\nWe recommend that this is set to "User"'); | ||
807 | 123 | 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 | 124 | echo __('This sets which user authentication module is currently being used.'); | ||
809 | 125 | echo __('Sets the admin message to be displayed on the client page at all times'); | ||
810 | 126 | echo __('Set the default timezone for the application'); | ||
811 | 127 | echo __('Errors will be mailed here'); | ||
812 | 128 | echo __('Mail will be sent from this address'); | ||
813 | 129 | echo __('This is the fully qualified URI of the site. e.g http://www.xibo.co.uk/'); | ||
814 | 130 | echo __('Default length for JPG files (in seconds)'); | ||
815 | 131 | echo __('Default length for PPT files'); | ||
816 | 132 | echo __('Default height for PPT files'); | ||
817 | 133 | echo __('Default length for PPT files (in seconds)'); | ||
818 | 134 | echo __('Default length for SWF files'); | ||
819 | 135 | echo __('Turn on the auditing information. Warning this will quickly fill up the log'); | ||
820 | 136 | echo __('Should the server send anonymous statistics back to the Xibo project?'); | ||
821 | 137 | 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 | 138 | echo __('The URL to connect to to PHONE_HOME (if enabled)'); | ||
823 | 139 | echo __('The last time we PHONED_HOME in seconds since the epoch'); | ||
824 | 140 | 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 | 141 | echo __('Allow the maintenance script to run if it is called?'); | ||
826 | 142 | echo __('Global switch for email alerts to be sent'); | ||
827 | 143 | echo __('String appended to the maintenance script to prevent malicious calls to the script.'); | ||
828 | 144 | echo __('Maximum age for log entries. Set to 0 to keep logs indefinitely.'); | ||
829 | 145 | echo __('Maximum age for statistics entries. Set to 0 to keep statistics indefinitely.'); | ||
830 | 146 | 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 | 147 | |||
832 | 148 | |||
833 | 149 | echo __('January'); | ||
834 | 150 | echo __('February'); | ||
835 | 151 | echo __('March'); | ||
836 | 152 | echo __('April'); | ||
837 | 153 | echo __('May'); | ||
838 | 154 | echo __('June'); | ||
839 | 155 | echo __('July'); | ||
840 | 156 | echo __('August'); | ||
841 | 157 | echo __('September'); | ||
842 | 158 | echo __('October'); | ||
843 | 159 | echo __('November'); | ||
844 | 160 | echo __('December'); | ||
845 | 161 | |||
846 | 119 | ?> | 162 | ?> |
847 | 120 | 163 | ||
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 | 82 | </li><li> left | 82 | </li><li> left |
853 | 83 | </li><li> ownerid | 83 | </li><li> ownerid |
854 | 84 | </li><li> permission_edit | 84 | </li><li> permission_edit |
857 | 85 | </li><li> permission_del | 85 | </li><li> permissions_del |
858 | 86 | </li><li> permission_update_permissions | 86 | </li><li> permissions_update_permissions |
859 | 87 | </li></ul> | 87 | </li></ul> |
860 | 88 | <p>Error Codes | 88 | <p>Error Codes |
861 | 89 | </p> | 89 | </p> |
862 | @@ -157,7 +157,7 @@ | |||
863 | 157 | </p> | 157 | </p> |
864 | 158 | <ul><li> mediaid | 158 | <ul><li> mediaid |
865 | 159 | </li><li> lkid | 159 | </li><li> lkid |
867 | 160 | </li><li> type | 160 | </li><li> mediatype |
868 | 161 | </li><li> duration | 161 | </li><li> duration |
869 | 162 | </li><li> permission_edit | 162 | </li><li> permission_edit |
870 | 163 | </li><li> permission_del | 163 | </li><li> permission_del |
871 | @@ -168,19 +168,42 @@ | |||
872 | 168 | </p> | 168 | </p> |
873 | 169 | <ul><li> 1 - Access Denied | 169 | <ul><li> 1 - Access Denied |
874 | 170 | </li></ul> | 170 | </li></ul> |
888 | 171 | <h3> <span class="mw-headline" id="LayoutRegionMediaDetails"> LayoutRegionMediaDetails </span></h3> | 171 | |
889 | 172 | <p>Parameters | 172 | <h2 class="api-method-call-doc" id="LayoutRegionMediaDetails">LayoutRegionMediaDetails</h2> |
890 | 173 | </p> | 173 | <h3>Parameters</h3> |
891 | 174 | <ul><li> layoutId | 174 | <dl> |
892 | 175 | </li><li> regionId | 175 | <dt>layoutId</dt> |
893 | 176 | </li><li> mediaId | 176 | <dd>The ID for this Layout. Required.</dd> |
894 | 177 | </li></ul> | 177 | </dl> |
895 | 178 | <p>Response | 178 | <dl> |
896 | 179 | The XLF for the provided media id (XML format) | 179 | <dt>regionId</dt> |
897 | 180 | </p><p>Error Codes | 180 | <dd>The ID for this Region. Required</dd> |
898 | 181 | </p> | 181 | </dl> |
899 | 182 | <ul><li> 1 - Access Denied | 182 | <dl> |
900 | 183 | </li></ul> | 183 | <dt>mediaId</dt> |
901 | 184 | <dd>The ID for this media. Required</dd> | ||
902 | 185 | </dl> | ||
903 | 186 | <dl> | ||
904 | 187 | <dt>type</dt> | ||
905 | 188 | <dd>The media type. Required</dd> | ||
906 | 189 | </dl> | ||
907 | 190 | |||
908 | 191 | <h3>Response</h3> | ||
909 | 192 | The XLF for the provided media id (XML format). Base 64 encoded. | ||
910 | 193 | <pre> | ||
911 | 194 | { | ||
912 | 195 | "media": { | ||
913 | 196 | "id": "1", | ||
914 | 197 | "base64Xlf": "base64" | ||
915 | 198 | }, | ||
916 | 199 | "status": "ok" | ||
917 | 200 | } | ||
918 | 201 | </pre> | ||
919 | 202 | |||
920 | 203 | <h3>Errors</h3> | ||
921 | 204 | <p>General Errors Only. | ||
922 | 205 | </p> | ||
923 | 206 | |||
924 | 184 | <h3> <span class="mw-headline" id="LayoutRegionMediaAdd"> LayoutRegionMediaAdd </span></h3> | 207 | <h3> <span class="mw-headline" id="LayoutRegionMediaAdd"> LayoutRegionMediaAdd </span></h3> |
925 | 185 | <p>Parameters | 208 | <p>Parameters |
926 | 186 | </p> | 209 | </p> |
927 | 187 | 210 | ||
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 @@ | |||
1008 | 1 | <?php | 1 | <<<<<<< TREE |
1009 | 2 | /* | 2 | <?php |
1010 | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk | 3 | /* |
1011 | 4 | * Copyright (C) 2006-2014 Daniel Garner | 4 | * Xibo - Digital Signage - http://www.xibo.org.uk |
1012 | 5 | * | 5 | * Copyright (C) 2006-2014 Daniel Garner |
1013 | 6 | * This file is part of Xibo. | 6 | * |
1014 | 7 | * | 7 | * This file is part of Xibo. |
1015 | 8 | * Xibo is free software: you can redistribute it and/or modify | 8 | * |
1016 | 9 | * it under the terms of the GNU Affero General Public License as published by | 9 | * Xibo is free software: you can redistribute it and/or modify |
1017 | 10 | * the Free Software Foundation, either version 3 of the License, or | 10 | * it under the terms of the GNU Affero General Public License as published by |
1018 | 11 | * any later version. | 11 | * the Free Software Foundation, either version 3 of the License, or |
1019 | 12 | * | 12 | * any later version. |
1020 | 13 | * Xibo is distributed in the hope that it will be useful, | 13 | * |
1021 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | 14 | * Xibo is distributed in the hope that it will be useful, |
1022 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | 15 | * but WITHOUT ANY WARRANTY; without even the implied warranty of |
1023 | 16 | * GNU Affero General Public License for more details. | 16 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
1024 | 17 | * | 17 | * GNU Affero General Public License for more details. |
1025 | 18 | * You should have received a copy of the GNU Affero General Public License | 18 | * |
1026 | 19 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. | 19 | * You should have received a copy of the GNU Affero General Public License |
1027 | 20 | */ | 20 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1028 | 21 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); | 21 | */ |
1029 | 22 | 22 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); | |
1030 | 23 | $LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; | 23 | |
1031 | 24 | ?> | 24 | $LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; |
1032 | 25 | <h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> | 25 | ?> |
1033 | 26 | <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> | 26 | <h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> |
1034 | 27 | <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> | 27 | <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 | 28 | 28 | <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 | 29 | <div id="toctitle"><h2>Contents</h2></div> | 29 | |
1037 | 30 | 30 | <div id="toctitle"><h2>Contents</h2></div> | |
1038 | 31 | <ol> | 31 | |
1039 | 32 | <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> | 32 | <ol> |
1040 | 33 | <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> | 33 | <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> |
1041 | 34 | <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> | 34 | <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> |
1042 | 35 | <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> | 35 | <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> |
1043 | 36 | <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> | 36 | <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> |
1044 | 37 | <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> | 37 | <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> |
1045 | 38 | </ol> | 38 | <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> |
1046 | 39 | 39 | </ol> | |
1047 | 40 | 40 | ||
1048 | 41 | <h2 id="Requirements">Requirements</h2> | 41 | |
1049 | 42 | <p>You must use the 1.6.2 version of the Windows and Ubuntu Display Clients with this version of the Xibo CMS.</p> | 42 | <h2 id="Requirements">Requirements</h2> |
1050 | 43 | 43 | <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 | 44 | <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> | 44 | |
1052 | 45 | 45 | <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 | 46 | <h2 id="Upgrading">Upgrading</h2> | 46 | |
1054 | 47 | <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> | 47 | <h2 id="Upgrading">Upgrading</h2> |
1055 | 48 | 48 | <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 | 49 | <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> | 49 | |
1057 | 50 | 50 | <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 | 51 | <ul> | 51 | |
1059 | 52 | <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> | 52 | <ul> |
1060 | 53 | <li>Backup settings.php from your installation</li> | 53 | <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 | 54 | <li>Manually take a backup of your database</li> | 54 | <li>Backup settings.php from your installation</li> |
1062 | 55 | <li>Replace your existing installation with the new version from the tar.gz or zip file</li> | 55 | <li>Manually take a backup of your database</li> |
1063 | 56 | <li>Replace your backup settings.php file in your Xibo installation directory</li> | 56 | <li>Replace your existing installation with the new version from the tar.gz or zip file</li> |
1064 | 57 | <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> | 57 | <li>Replace your backup settings.php file in your Xibo installation directory</li> |
1065 | 58 | <li>You will be prompted that an upgrade is required.</li> | 58 | <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> |
1066 | 59 | <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> | 59 | <li>You will be prompted that an upgrade is required.</li> |
1067 | 60 | <li>The upgrade should run, and finally ask you to log in as you would normally.</li> | 60 | <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> |
1068 | 61 | </ul> | 61 | <li>The upgrade should run, and finally ask you to log in as you would normally.</li> |
1069 | 62 | 62 | </ul> | |
1070 | 63 | <h2 id="Help">Help</h2> | 63 | |
1071 | 64 | <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> | 64 | <h2 id="Help">Help</h2> |
1072 | 65 | 65 | <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 | 66 | <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> | 66 | |
1074 | 67 | 67 | <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 | 68 | <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> | 68 | |
1076 | 69 | 69 | <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 | 70 | <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> | 70 | |
1078 | 71 | 71 | <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 | 72 | <h2 id="Bug_Fixes">Bug Fixes</h2> | 72 | |
1080 | 73 | <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> | 73 | <h2 id="Bug_Fixes">Bug Fixes</h2> |
1081 | 74 | 74 | <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 | 75 | <h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> | 75 | |
1083 | 76 | <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> | 76 | <h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> |
1084 | 77 | <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 | 78 | ======= | ||
1086 | 79 | <?php | ||
1087 | 80 | /* | ||
1088 | 81 | * Xibo - Digital Signage - http://www.xibo.org.uk | ||
1089 | 82 | * Copyright (C) 2006-2014 Daniel Garner | ||
1090 | 83 | * | ||
1091 | 84 | * This file is part of Xibo. | ||
1092 | 85 | * | ||
1093 | 86 | * Xibo is free software: you can redistribute it and/or modify | ||
1094 | 87 | * it under the terms of the GNU Affero General Public License as published by | ||
1095 | 88 | * the Free Software Foundation, either version 3 of the License, or | ||
1096 | 89 | * any later version. | ||
1097 | 90 | * | ||
1098 | 91 | * Xibo is distributed in the hope that it will be useful, | ||
1099 | 92 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1100 | 93 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1101 | 94 | * GNU Affero General Public License for more details. | ||
1102 | 95 | * | ||
1103 | 96 | * You should have received a copy of the GNU Affero General Public License | ||
1104 | 97 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. | ||
1105 | 98 | */ | ||
1106 | 99 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); | ||
1107 | 100 | |||
1108 | 101 | $LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.2'; | ||
1109 | 102 | ?> | ||
1110 | 103 | <h1 id="Notes_Title">Xibo 1.6.2 - Codename "Pons-Winnecke"</span></h1> | ||
1111 | 104 | <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 | 105 | <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 | 106 | |||
1114 | 107 | <div id="toctitle"><h2>Contents</h2></div> | ||
1115 | 108 | |||
1116 | 109 | <ol> | ||
1117 | 110 | <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> | ||
1118 | 111 | <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> | ||
1119 | 112 | <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> | ||
1120 | 113 | <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> | ||
1121 | 114 | <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> | ||
1122 | 115 | <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> | ||
1123 | 116 | </ol> | ||
1124 | 117 | |||
1125 | 118 | |||
1126 | 119 | <h2 id="Requirements">Requirements</h2> | ||
1127 | 120 | <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 | 121 | |||
1129 | 122 | <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 | 123 | |||
1131 | 124 | <h3>Xibo for Windows</h3> | ||
1132 | 125 | <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 | 126 | |||
1134 | 127 | <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 | 128 | |||
1136 | 129 | <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 | 130 | |||
1138 | 131 | <h2 id="Upgrading">Upgrading</h2> | ||
1139 | 132 | <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 | 133 | |||
1141 | 134 | <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 | 135 | |||
1143 | 136 | <ul> | ||
1144 | 137 | <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 | 138 | <li>Backup settings.php from your installation</li> | ||
1146 | 139 | <li>Manually take a backup of your database</li> | ||
1147 | 140 | <li>Replace your existing installation with the new version from the tar.gz or zip file</li> | ||
1148 | 141 | <li>Replace your backup settings.php file in your Xibo installation directory</li> | ||
1149 | 142 | <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> | ||
1150 | 143 | <li>You will be prompted that an upgrade is required.</li> | ||
1151 | 144 | <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> | ||
1152 | 145 | <li>The upgrade should run, and finally ask you to log in as you would normally.</li> | ||
1153 | 146 | </ul> | ||
1154 | 147 | |||
1155 | 148 | <h2 id="Help">Help</h2> | ||
1156 | 149 | <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 | 150 | |||
1158 | 151 | <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 | 152 | |||
1160 | 153 | <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 | 154 | |||
1162 | 155 | <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 | 156 | |||
1164 | 157 | <h2 id="Bug_Fixes">Bug Fixes</h2> | ||
1165 | 158 | <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 | 159 | |||
1167 | 160 | <h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> | ||
1168 | 161 | <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 | 162 | >>>>>>> MERGE-SOURCE | ||
1170 | 77 | 163 | ||
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 | 1 | <?php | ||
1176 | 2 | /* | ||
1177 | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk | ||
1178 | 4 | * Copyright (C) 2006-2014 Daniel Garner | ||
1179 | 5 | * | ||
1180 | 6 | * This file is part of Xibo. | ||
1181 | 7 | * | ||
1182 | 8 | * Xibo is free software: you can redistribute it and/or modify | ||
1183 | 9 | * it under the terms of the GNU Affero General Public License as published by | ||
1184 | 10 | * the Free Software Foundation, either version 3 of the License, or | ||
1185 | 11 | * any later version. | ||
1186 | 12 | * | ||
1187 | 13 | * Xibo is distributed in the hope that it will be useful, | ||
1188 | 14 | * but WITHOUT ANY WARRANTY; without even the implied warranty of | ||
1189 | 15 | * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the | ||
1190 | 16 | * GNU Affero General Public License for more details. | ||
1191 | 17 | * | ||
1192 | 18 | * You should have received a copy of the GNU Affero General Public License | ||
1193 | 19 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. | ||
1194 | 20 | */ | ||
1195 | 21 | defined('XIBO') or die("Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser."); | ||
1196 | 22 | |||
1197 | 23 | $LP_RELEASE_PAGE = 'https://launchpad.net/xibo/1.6/1.6.3'; | ||
1198 | 24 | ?> | ||
1199 | 25 | <h1 id="Notes_Title">Xibo 1.6.3 - Codename "Pons-Winnecke"</span></h1> | ||
1200 | 26 | <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 | 27 | <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 | 28 | |||
1203 | 29 | <div id="toctitle"><h2>Contents</h2></div> | ||
1204 | 30 | |||
1205 | 31 | <ol> | ||
1206 | 32 | <li class="toclevel-1 tocsection-1"><a href="#Notes_Title">Introduction</a></li> | ||
1207 | 33 | <li class="toclevel-1 tocsection-2"><a href="#Requirements">Requirements</a></li> | ||
1208 | 34 | <li class="toclevel-1 tocsection-3"><a href="#Upgrading">Upgrading</a></li> | ||
1209 | 35 | <li class="toclevel-1 tocsection-4"><a href="#Help">Help</a></li> | ||
1210 | 36 | <li class="toclevel-1 tocsection-7"><a href="#Bug_Fixes">Bug Fixes</a></li> | ||
1211 | 37 | <li class="toclevel-1 tocsection-8"><a href="#Known_Issues_and_Limitations">Known Issues and Limitations</a></li> | ||
1212 | 38 | </ol> | ||
1213 | 39 | |||
1214 | 40 | |||
1215 | 41 | <h2 id="Requirements">Requirements</h2> | ||
1216 | 42 | <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 | 43 | |||
1218 | 44 | <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 | 45 | |||
1220 | 46 | <h3>Xibo for Windows</h3> | ||
1221 | 47 | <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 | 48 | |||
1223 | 49 | <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 | 50 | |||
1225 | 51 | <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 | 52 | |||
1227 | 53 | <h2 id="Upgrading">Upgrading</h2> | ||
1228 | 54 | <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 | 55 | |||
1230 | 56 | <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 | 57 | |||
1232 | 58 | <ul> | ||
1233 | 59 | <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 | 60 | <li>Backup settings.php from your installation</li> | ||
1235 | 61 | <li>Manually take a backup of your database</li> | ||
1236 | 62 | <li>Replace your existing installation with the new version from the tar.gz or zip file</li> | ||
1237 | 63 | <li>Replace your backup settings.php file in your Xibo installation directory</li> | ||
1238 | 64 | <li>Browse to <a rel="nofollow" class="external free" href="http://your.server/path">http://your.server/path</a>as normal</li> | ||
1239 | 65 | <li>You will be prompted that an upgrade is required.</li> | ||
1240 | 66 | <li>Enter your xibo_admin password, and follow the upgrade wizard.</li> | ||
1241 | 67 | <li>The upgrade should run, and finally ask you to log in as you would normally.</li> | ||
1242 | 68 | </ul> | ||
1243 | 69 | |||
1244 | 70 | <h2 id="Help">Help</h2> | ||
1245 | 71 | <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 | 72 | |||
1247 | 73 | <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 | 74 | |||
1249 | 75 | <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 | 76 | |||
1251 | 77 | <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 | 78 | |||
1253 | 79 | <h2 id="Bug_Fixes">Bug Fixes</h2> | ||
1254 | 80 | <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 | 81 | |||
1256 | 82 | <h2 id="Known_Issues_and_Limitations">Known Issues and Limitations</h2> | ||
1257 | 83 | <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 | 0 | 84 | ||
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 | 7 | define('PRODUCT_NAME', 'Xibo'); | 7 | define('PRODUCT_NAME', 'Xibo'); |
1264 | 8 | 8 | ||
1265 | 9 | # Product Version | 9 | # Product Version |
1266 | 10 | <<<<<<< TREE | ||
1267 | 10 | define('PRODUCT_VERSION', '1.6.2'); | 11 | define('PRODUCT_VERSION', '1.6.2'); |
1268 | 12 | ======= | ||
1269 | 13 | define('PRODUCT_VERSION', '1.6.3'); | ||
1270 | 14 | >>>>>>> MERGE-SOURCE | ||
1271 | 11 | 15 | ||
1272 | 12 | # Home page URL | 16 | # Home page URL |
1273 | 13 | define('PRODUCT_HOME', 'http://xibo.org.uk'); | 17 | define('PRODUCT_HOME', 'http://xibo.org.uk'); |
1274 | 14 | 18 | ||
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 | 86 | * You should have received a copy of the GNU Affero General Public License | 86 | * You should have received a copy of the GNU Affero General Public License |
1280 | 87 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. | 87 | * along with Xibo. If not, see <http://www.gnu.org/licenses/>. |
1281 | 88 | */ | 88 | */ |
1282 | 89 | <<<<<<< TREE | ||
1283 | 89 | 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(){}}})()} | 90 | 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 | 91 | ======= | ||
1285 | 92 | 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 | 93 | >>>>>>> MERGE-SOURCE | ||
1287 | 90 | </script> | 94 | </script> |
1288 | 91 | <!--script type="text/javascript" src="modules/preview/xibo-text-render.js"></script--> | 95 | <!--script type="text/javascript" src="modules/preview/xibo-text-render.js"></script--> |
1289 | 92 | 96 | ||
1290 | 93 | 97 | ||
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 | 333 | 333 | ||
1296 | 334 | if (oldMedia) { | 334 | if (oldMedia) { |
1297 | 335 | $("#" + oldMedia.containerName).css("display", "none"); | 335 | $("#" + oldMedia.containerName).css("display", "none"); |
1302 | 336 | 336 | <<<<<<< TREE | |
1303 | 337 | if (oldMedia.mediaType == "video") { | 337 | |
1304 | 338 | $("#" + oldMedia.containerName + "-vid").get(0).pause(); | 338 | if (oldMedia.mediaType == "video") { |
1305 | 339 | } | 339 | $("#" + oldMedia.containerName + "-vid").get(0).pause(); |
1306 | 340 | } | ||
1307 | 341 | ======= | ||
1308 | 342 | |||
1309 | 343 | if (oldMedia.mediaType == "video") { | ||
1310 | 344 | $("#" + oldMedia.containerName + "-vid").get(0).pause(); | ||
1311 | 345 | $("#" + oldMedia.containerName + "-vid").get(0).currentTime = 0; | ||
1312 | 346 | } | ||
1313 | 347 | >>>>>>> MERGE-SOURCE | ||
1314 | 340 | } | 348 | } |
1315 | 341 | 349 | ||
1316 | 342 | $("#" + newMedia.containerName).css("display", "block"); | 350 | $("#" + newMedia.containerName).css("display", "block"); |
1317 | 343 | 351 | ||
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 | 173 | } | 173 | } |
1323 | 174 | 174 | ||
1324 | 175 | // Now make it size correctly | 175 | // Now make it size correctly |
1325 | 176 | <<<<<<< TREE | ||
1326 | 176 | // What IE are we? | 177 | // What IE are we? |
1327 | 177 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { | 178 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1328 | 178 | $(this).css({ | 179 | $(this).css({ |
1329 | @@ -185,6 +186,20 @@ | |||
1330 | 185 | "transform-origin": "0 0" | 186 | "transform-origin": "0 0" |
1331 | 186 | }); | 187 | }); |
1332 | 187 | } | 188 | } |
1333 | 189 | ======= | ||
1334 | 190 | // What IE are we? | ||
1335 | 191 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { | ||
1336 | 192 | $(this).css({ | ||
1337 | 193 | "filter": "progid:DXImageTransform.Microsoft.Matrix(M11=" + options.scaleFactor + ", M12=0, M21=0, M22=" + options.scaleFactor + ", SizingMethod='auto expand'" | ||
1338 | 194 | }); | ||
1339 | 195 | } | ||
1340 | 196 | else { | ||
1341 | 197 | $(this).css({ | ||
1342 | 198 | "transform": "scale(" + options.scaleFactor + ")", | ||
1343 | 199 | "transform-origin": "0 0" | ||
1344 | 200 | }); | ||
1345 | 201 | } | ||
1346 | 202 | >>>>>>> MERGE-SOURCE | ||
1347 | 188 | 203 | ||
1348 | 189 | // 4th objective - move the items around, start the timer | 204 | // 4th objective - move the items around, start the timer |
1349 | 190 | // settings involved: | 205 | // settings involved: |
1350 | @@ -296,6 +311,7 @@ | |||
1351 | 296 | height: options.originalHeight | 311 | height: options.originalHeight |
1352 | 297 | }); | 312 | }); |
1353 | 298 | 313 | ||
1354 | 314 | <<<<<<< TREE | ||
1355 | 299 | // What IE are we? | 315 | // What IE are we? |
1356 | 300 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { | 316 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { |
1357 | 301 | $("body").css({ | 317 | $("body").css({ |
1358 | @@ -309,6 +325,21 @@ | |||
1359 | 309 | }); | 325 | }); |
1360 | 310 | } | 326 | } |
1361 | 311 | 327 | ||
1362 | 328 | ======= | ||
1363 | 329 | // What IE are we? | ||
1364 | 330 | if ($("body").hasClass('ie7') || $("body").hasClass('ie8')) { | ||
1365 | 331 | $("body").css({ | ||
1366 | 332 | "filter": "progid:DXImageTransform.Microsoft.Matrix(M11=" + options.scaleFactor + ", M12=0, M21=0, M22=" + options.scaleFactor + ", SizingMethod='auto expand'" | ||
1367 | 333 | }); | ||
1368 | 334 | } | ||
1369 | 335 | else { | ||
1370 | 336 | $("body").css({ | ||
1371 | 337 | "transform": "scale(" + options.scaleFactor + ")", | ||
1372 | 338 | "transform-origin": "0 0" | ||
1373 | 339 | }); | ||
1374 | 340 | } | ||
1375 | 341 | |||
1376 | 342 | >>>>>>> MERGE-SOURCE | ||
1377 | 312 | var numberItems = $(this).attr("totalPages"); | 343 | var numberItems = $(this).attr("totalPages"); |
1378 | 313 | 344 | ||
1379 | 314 | if (options.rowsPerPage > 0) { | 345 | if (options.rowsPerPage > 0) { |
1380 | 315 | 346 | ||
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 | 1 | <<<<<<< TREE | ||
1386 | 1 | $(document).ready(function() { | 2 | $(document).ready(function() { |
1387 | 2 | 3 | ||
1388 | 3 | isMSIE = navigator.userAgent.match(/MSIE/), | 4 | isMSIE = navigator.userAgent.match(/MSIE/), |
1389 | @@ -63,4 +64,75 @@ | |||
1390 | 63 | }); | 64 | }); |
1391 | 64 | } | 65 | } |
1392 | 65 | } | 66 | } |
1393 | 66 | }); | ||
1394 | 67 | \ No newline at end of file | 67 | \ No newline at end of file |
1395 | 68 | });======= | ||
1396 | 69 | $(document).ready(function() { | ||
1397 | 70 | |||
1398 | 71 | isMSIE = navigator.userAgent.match(/MSIE/), | ||
1399 | 72 | MSIEVersion = navigator.userAgent.match(/MSIE (\d\.\d+)/) ? parseInt(RegExp.$1, 10) : null | ||
1400 | 73 | |||
1401 | 74 | if (options.previewWidth == 0 && options.previewHeight == 0) { | ||
1402 | 75 | options.width = $(window).width(); | ||
1403 | 76 | options.height = $(window).height(); | ||
1404 | 77 | } | ||
1405 | 78 | else { | ||
1406 | 79 | // We are a preview | ||
1407 | 80 | options.width = options.previewWidth; | ||
1408 | 81 | options.height = options.previewHeight; | ||
1409 | 82 | } | ||
1410 | 83 | |||
1411 | 84 | // Scale Factor | ||
1412 | 85 | options.scaleFactor = Math.min(options.width / options.originalWidth, options.height / options.originalHeight); | ||
1413 | 86 | |||
1414 | 87 | // We need to scale the scale according to the size difference between the layout designer and the actual request size. | ||
1415 | 88 | if (options.scale_override != 1) { | ||
1416 | 89 | options.offsetTop = options.offsetTop * options.scaleFactor; | ||
1417 | 90 | options.offsetLeft = options.offsetLeft * options.scaleFactor; | ||
1418 | 91 | options.scale = options.scale * options.scaleFactor; | ||
1419 | 92 | } | ||
1420 | 93 | |||
1421 | 94 | // Width should take into account the offset | ||
1422 | 95 | options.width = parseInt(options.width) + parseInt(options.offsetLeft); | ||
1423 | 96 | options.height = parseInt(options.height) + parseInt(options.offsetTop); | ||
1424 | 97 | |||
1425 | 98 | // Add the width and height on the wrap. | ||
1426 | 99 | $("#wrap").css({ | ||
1427 | 100 | "overflow": "hidden", | ||
1428 | 101 | "width": options.width, | ||
1429 | 102 | "height": options.height | ||
1430 | 103 | }); | ||
1431 | 104 | |||
1432 | 105 | // Margins on frame | ||
1433 | 106 | $("#iframe").css({ | ||
1434 | 107 | "margin-top": -1 * options.offsetTop, | ||
1435 | 108 | "margin-left": -1 * options.offsetLeft, | ||
1436 | 109 | "width": options.width, | ||
1437 | 110 | "height": options.height | ||
1438 | 111 | }); | ||
1439 | 112 | |||
1440 | 113 | // Transform on the frame | ||
1441 | 114 | if (options.scale != 1) { | ||
1442 | 115 | |||
1443 | 116 | if (isMSIE) { | ||
1444 | 117 | $("#iframe").css({ | ||
1445 | 118 | zoom: options.scale, | ||
1446 | 119 | height: parseInt((options.height / options.scale) * (1 / (MSIEVersion >= 9 ? 1 : options.scale)), 10), | ||
1447 | 120 | width: parseInt((options.width / options.scale) * (1 / (MSIEVersion >= 9 ? 1 : options.scale)), 10) | ||
1448 | 121 | }) | ||
1449 | 122 | } | ||
1450 | 123 | else { | ||
1451 | 124 | |||
1452 | 125 | $("#iframe").css({ | ||
1453 | 126 | 'transform-origin': "0 0", | ||
1454 | 127 | '-webkit-transform-origin': "0 0", | ||
1455 | 128 | '-moz-transform-origin': "0 0", | ||
1456 | 129 | '-o-transform-origin': "0 0", | ||
1457 | 130 | 'transform': 'scale(' + options.scale + ')', | ||
1458 | 131 | '-webkit-transform': 'scale(' + options.scale + ')', | ||
1459 | 132 | '-moz-transform': 'scale(' + options.scale + ')', | ||
1460 | 133 | '-o-transform': 'scale(' + options.scale + ')', | ||
1461 | 134 | "width": options.width / options.scale, | ||
1462 | 135 | "height": options.height / options.scale | ||
1463 | 136 | }); | ||
1464 | 137 | } | ||
1465 | 138 | } | ||
1466 | 139 | });>>>>>>> MERGE-SOURCE | ||
1467 | 68 | 140 | ||
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 | 28 | ?> | 28 | ?> |
1473 | 29 | <div class="row"> | 29 | <div class="row"> |
1474 | 30 | <div class="span6"> | 30 | <div class="span6"> |
1476 | 31 | <h3 class="text-center">Bandwidth Usage</h3> | 31 | <h3 class="text-center"><?php echo Theme::Translate('Bandwidth Usage'); ?></h3> |
1477 | 32 | <div id="flot_bandwidth_chart" style="height: 400px;" class="flot-chart"></div> | 32 | <div id="flot_bandwidth_chart" style="height: 400px;" class="flot-chart"></div> |
1478 | 33 | </div> | 33 | </div> |
1479 | 34 | <div class="span6"> | 34 | <div class="span6"> |
1480 | 35 | <<<<<<< TREE | ||
1481 | 35 | <h3 class="text-center">Library Usage</h3> | 36 | <h3 class="text-center">Library Usage</h3> |
1482 | 36 | <?php echo Theme::Get('library-widget'); ?> | 37 | <?php echo Theme::Get('library-widget'); ?> |
1483 | 38 | ======= | ||
1484 | 39 | <h3 class="text-center"><?php echo Theme::Translate('Library Usage'); ?></h3> | ||
1485 | 40 | <?php echo Theme::Get('library-widget'); ?> | ||
1486 | 41 | >>>>>>> MERGE-SOURCE | ||
1487 | 37 | </div> | 42 | </div> |
1488 | 38 | </div> | 43 | </div> |
1489 | 39 | <div class="row"> | 44 | <div class="row"> |
1490 | 40 | <div class="span6"> | 45 | <div class="span6"> |
1492 | 41 | <h3 class="text-center">Display Activity</h3> | 46 | <h3 class="text-center"><?php echo Theme::Translate('Display Activity'); ?></h3> |
1493 | 42 | <table class="table"> | 47 | <table class="table"> |
1494 | 43 | <thead> | 48 | <thead> |
1495 | 44 | <tr> | 49 | <tr> |
1496 | 45 | 50 | ||
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 | 20 | */ | 20 | */ |
1502 | 21 | DEFINE('XIBO', true); | 21 | DEFINE('XIBO', true); |
1503 | 22 | 22 | ||
1504 | 23 | <<<<<<< TREE | ||
1505 | 23 | if (! checkPHP()) { | 24 | if (! checkPHP()) { |
1506 | 24 | die("Xibo requires PHP 5.3.3 or later"); | 25 | die("Xibo requires PHP 5.3.3 or later"); |
1507 | 25 | } | 26 | } |
1508 | 26 | 27 | ||
1509 | 28 | ======= | ||
1510 | 29 | >>>>>>> MERGE-SOURCE | ||
1511 | 27 | error_reporting(0); | 30 | error_reporting(0); |
1512 | 28 | ini_set('display_errors', 0); | 31 | ini_set('display_errors', 0); |
1513 | 29 | 32 | ||
1514 | @@ -34,6 +37,12 @@ | |||
1515 | 34 | include('config/db_config.php'); | 37 | include('config/db_config.php'); |
1516 | 35 | include('config/config.class.php'); | 38 | include('config/config.class.php'); |
1517 | 36 | 39 | ||
1518 | 40 | $config = new Config(); | ||
1519 | 41 | |||
1520 | 42 | if (!$config->CheckPHP()) { | ||
1521 | 43 | die(sprintf('Xibo required PHP version %s.', Config::$VERSION_REQUIRED)); | ||
1522 | 44 | } | ||
1523 | 45 | |||
1524 | 37 | // Setup the translations for gettext | 46 | // Setup the translations for gettext |
1525 | 38 | require_once("lib/app/translationengine.class.php"); | 47 | require_once("lib/app/translationengine.class.php"); |
1526 | 39 | 48 | ||
1527 | @@ -385,12 +394,15 @@ | |||
1528 | 385 | 394 | ||
1529 | 386 | include('install/footer.inc'); | 395 | include('install/footer.inc'); |
1530 | 387 | 396 | ||
1531 | 397 | <<<<<<< TREE | ||
1532 | 388 | # Functions | 398 | # Functions |
1533 | 389 | function checkPHP() { | 399 | function checkPHP() { |
1534 | 390 | # Check PHP version > 5 | 400 | # Check PHP version > 5 |
1535 | 391 | return (version_compare("5.3.3",phpversion(), "<=")); | 401 | return (version_compare("5.3.3",phpversion(), "<=")); |
1536 | 392 | } | 402 | } |
1537 | 393 | 403 | ||
1538 | 404 | ======= | ||
1539 | 405 | >>>>>>> MERGE-SOURCE | ||
1540 | 394 | function checkMySQL() { | 406 | function checkMySQL() { |
1541 | 395 | # Check PHP has MySQL module installed | 407 | # Check PHP has MySQL module installed |
1542 | 396 | return extension_loaded("mysql"); | 408 | return extension_loaded("mysql"); |