Merge lp:~dangarner/xibo/server-162 into lp:xibo/1.7
- server-162
- Merge into tuttle
Proposed by
Dan Garner
Status: | Merged |
---|---|
Approved by: | Dan Garner |
Approved revision: | 384 |
Merged at revision: | 336 |
Proposed branch: | lp:~dangarner/xibo/server-162 |
Merge into: | lp:xibo/1.7 |
Diff against target: |
9040 lines (+4180/-1203) 101 files modified
client/dotNET/KeyStore.cs (+178/-0) client/dotNET/MainForm.cs (+53/-39) client/dotNET/OptionForm.Designer.cs (+76/-41) client/dotNET/OptionForm.cs (+5/-1) client/dotNET/Properties/Settings.Designer.cs (+24/-0) client/dotNET/Properties/Settings.settings (+6/-0) client/dotNET/XiboClient.csproj (+1/-0) client/dotNET/app.config (+6/-0) default.pot (+319/-288) example_oauth/index.php (+239/-18) example_oauth/nice-json.php (+73/-0) example_oauth/test_files/test.csv (+6/-0) server/3rdparty/simplepie/library/SimplePie/File.php (+4/-0) server/3rdparty/simplepie/library/SimplePie/HTTP/Parser.php (+21/-0) server/config/config.class.php (+3/-24) server/install.php (+2/-2) server/install/database/69.sql (+4/-0) server/install/database/70.sql (+15/-0) server/install/master/data.sql (+1/-1) server/lib/app/kit.class.php (+5/-0) server/lib/app/session.class.php (+1/-1) server/lib/data/dataset.data.class.php (+165/-1) server/lib/data/datasetcolumn.data.class.php (+88/-2) server/lib/data/datasetdata.data.class.php (+177/-0) server/lib/data/datasetgroupsecurity.data.class.php (+63/-2) server/lib/data/file.data.class.php (+14/-0) server/lib/data/layout.data.class.php (+17/-2) server/lib/data/region.data.class.php (+59/-3) server/lib/include.php (+7/-4) server/lib/modules/module.class.php (+96/-64) server/lib/oauth.inc.php (+1/-1) server/lib/pages/admin.class.php (+1/-1) server/lib/pages/campaign.class.php (+5/-5) server/lib/pages/dataset.class.php (+33/-47) server/lib/pages/display.class.php (+35/-6) server/lib/pages/displaygroup.class.php (+37/-28) server/lib/pages/fault.class.php (+3/-59) server/lib/pages/group.class.php (+4/-4) server/lib/pages/help.class.php (+3/-3) server/lib/pages/index.class.php (+1/-1) server/lib/pages/layout.class.php (+9/-6) server/lib/pages/log.class.php (+45/-1) server/lib/pages/module.class.php (+1/-1) server/lib/pages/oauth.class.php (+1/-1) server/lib/pages/resolution.class.php (+3/-3) server/lib/pages/schedule.class.php (+91/-217) server/lib/pages/sessions.class.php (+6/-4) server/lib/pages/stats.class.php (+47/-7) server/lib/pages/statusdashboard.class.php (+24/-18) server/lib/pages/template.class.php (+3/-3) server/lib/pages/timeline.class.php (+6/-6) server/lib/pages/transition.class.php (+1/-1) server/lib/pages/user.class.php (+12/-12) server/lib/service/rest.class.php (+464/-8) server/lib/service/restjson.class.php (+20/-16) server/lib/service/xmdssoap.class.php (+15/-4) server/locale/dbtranslate.php (+1/-0) server/manual/content/admin/api_datasets.php (+615/-0) server/manual/content/admin/api_library.php (+33/-15) server/manual/content/admin/release_notes_1.6.1.php (+78/-0) server/manual/content/admin/release_notes_1.6.2.php (+76/-0) server/manual/content/routes.php (+3/-0) server/manual/content/toc_developer_api.php (+1/-0) server/manual/content/toc_developer_releasenotes.php (+2/-0) server/manual/css/manual.css (+5/-0) server/manual/template.php (+1/-1) server/modules/datasetview.module.php (+23/-25) server/modules/embedded.module.php (+27/-3) server/modules/flash.module.php (+6/-21) server/modules/genericfile.module.php (+6/-27) server/modules/image.module.php (+6/-21) server/modules/module_user_general.php (+42/-9) server/modules/powerpoint.module.php (+18/-22) server/modules/preview/HtmlTemplateForGetResource.html (+11/-4) server/modules/preview/HtmlTemplateSimple.html (+30/-0) server/modules/preview/html-preview.js (+7/-12) server/modules/preview/vendor/jquery-1.11.1.min.js (+4/-0) server/modules/preview/xibo-text-render.js (+55/-19) server/modules/preview/xibo-webpage-render.js (+66/-0) server/modules/text.module.php (+3/-2) server/modules/ticker.module.php (+36/-8) server/modules/video.module.php (+6/-21) server/modules/webpage.module.php (+51/-12) server/services.php (+0/-2) server/theme/default/css/xibo.css (+12/-0) server/theme/default/html/dataset_form_csv_import.php (+6/-4) server/theme/default/html/display_page.php (+10/-1) server/theme/default/html/displaygroup_form_display_assign.php (+2/-2) server/theme/default/html/fault_page.php (+6/-6) server/theme/default/html/layout_designer.php (+3/-0) server/theme/default/html/log_form_display_last100.php (+47/-0) server/theme/default/html/media_form_embedded_add.php (+6/-0) server/theme/default/html/media_form_embedded_edit.php (+6/-0) server/theme/default/html/media_form_ticker_edit.php (+8/-2) server/theme/default/html/schedule_form_add_event.php (+96/-0) server/theme/default/html/schedule_form_edit_event.php (+96/-0) server/theme/default/html/schedule_form_schedule_now.php (+62/-0) server/theme/default/html/status_dashboard.php (+3/-3) server/theme/default/js/xibo-layout-designer.js (+1/-1) server/theme/default/libraries/bootstrap/js/bootstrap-ckeditor-fix.js (+3/-2) server/upgrade.php (+2/-2) |
To merge this branch: | bzr merge lp:~dangarner/xibo/server-162 |
Related bugs: |
|
Reviewer | Review Type | Date Requested | Status |
---|---|---|---|
Xibo Maintainters | Pending | ||
Review via email: mp+226866@code.launchpad.net |
Commit message
Description of the change
To post a comment you must log in.
lp:~dangarner/xibo/server-162
updated
- 382. By Dan Garner
-
[cms] Bump version in install.
- 383. By Dan Garner
-
[cms] Bump version in include.php
- 384. By Dan Garner
-
[api] Disable errors in API.
Preview Diff
[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
1 | === added file 'client/dotNET/KeyStore.cs' | |||
2 | --- client/dotNET/KeyStore.cs 1970-01-01 00:00:00 +0000 | |||
3 | +++ client/dotNET/KeyStore.cs 2014-07-15 15:37:37 +0000 | |||
4 | @@ -0,0 +1,178 @@ | |||
5 | 1 | using System; | ||
6 | 2 | using System.Collections.Generic; | ||
7 | 3 | using System.Linq; | ||
8 | 4 | using System.Runtime.InteropServices; | ||
9 | 5 | using System.Text; | ||
10 | 6 | using System.Windows.Forms; | ||
11 | 7 | |||
12 | 8 | namespace XiboClient | ||
13 | 9 | { | ||
14 | 10 | /// <summary> | ||
15 | 11 | /// The KeyStoreEventHandler is used by the KeyPress event of the KeyStore | ||
16 | 12 | /// class. It notifies listeners of a named key press. | ||
17 | 13 | /// </summary> | ||
18 | 14 | /// <param name="name">The name of the key.</param> | ||
19 | 15 | public delegate void KeyStoreEventHandler(string name); | ||
20 | 16 | |||
21 | 17 | class KeyStore : IMessageFilter | ||
22 | 18 | { | ||
23 | 19 | // Interop | ||
24 | 20 | [DllImport("user32.dll")] | ||
25 | 21 | static extern short GetKeyState(Keys key); | ||
26 | 22 | |||
27 | 23 | // Windows message constants | ||
28 | 24 | private const int WM_KEYDOWN = 0x100; | ||
29 | 25 | private const int WM_KEYUP = 0x101; | ||
30 | 26 | |||
31 | 27 | // The singleton instance | ||
32 | 28 | private static KeyStore s_instance = null; | ||
33 | 29 | |||
34 | 30 | // The modifier keys | ||
35 | 31 | private bool _shift = false; | ||
36 | 32 | private bool _control = false; | ||
37 | 33 | |||
38 | 34 | // The definitions | ||
39 | 35 | private Dictionary<Keys, string> _definitions; | ||
40 | 36 | |||
41 | 37 | // The KeyPressed Event | ||
42 | 38 | public event KeyStoreEventHandler KeyPress; | ||
43 | 39 | |||
44 | 40 | /// <summary> | ||
45 | 41 | /// Adds a key definition to the store. | ||
46 | 42 | /// </summary> | ||
47 | 43 | /// <param name="name">The name of the key.</param> | ||
48 | 44 | /// <param name="key">The key</param> | ||
49 | 45 | /// <param name="modifiers">The modifiers (shift, control)</param> | ||
50 | 46 | public void AddKeyDefinition(string name, Keys key, Keys modifiers) | ||
51 | 47 | { | ||
52 | 48 | Keys combined = key | modifiers; | ||
53 | 49 | |||
54 | 50 | _definitions[combined] = name; | ||
55 | 51 | } | ||
56 | 52 | |||
57 | 53 | /// <summary> | ||
58 | 54 | /// The filter message. | ||
59 | 55 | /// </summary> | ||
60 | 56 | public bool PreFilterMessage(ref Message m) | ||
61 | 57 | { | ||
62 | 58 | bool handled = false; | ||
63 | 59 | Keys key = Keys.None; | ||
64 | 60 | |||
65 | 61 | switch (m.Msg) | ||
66 | 62 | { | ||
67 | 63 | case WM_KEYUP: | ||
68 | 64 | key = (Keys)m.WParam; | ||
69 | 65 | handled = HandleModifier(key, false); | ||
70 | 66 | break; | ||
71 | 67 | |||
72 | 68 | case WM_KEYDOWN: | ||
73 | 69 | key = (Keys)m.WParam; | ||
74 | 70 | handled = HandleModifier(key, true); | ||
75 | 71 | if (false == handled) | ||
76 | 72 | { | ||
77 | 73 | // If one of the defined keys was pressed then we | ||
78 | 74 | // raise an event. | ||
79 | 75 | handled = HandleDefinedKey(key); | ||
80 | 76 | } | ||
81 | 77 | break; | ||
82 | 78 | } | ||
83 | 79 | |||
84 | 80 | return handled; | ||
85 | 81 | } | ||
86 | 82 | |||
87 | 83 | /// <summary> | ||
88 | 84 | /// Compares a key against the definitions, and raises an event | ||
89 | 85 | /// if there is a match. | ||
90 | 86 | /// </summary> | ||
91 | 87 | /// <param name="key">The key</param> | ||
92 | 88 | /// <returns>True if the key was one of the defined key combinations.</returns> | ||
93 | 89 | private bool HandleDefinedKey(Keys key) | ||
94 | 90 | { | ||
95 | 91 | bool handled = false; | ||
96 | 92 | |||
97 | 93 | Keys combined = key; | ||
98 | 94 | if (_shift) combined |= Keys.Shift; | ||
99 | 95 | if (_control) combined |= Keys.Control; | ||
100 | 96 | |||
101 | 97 | // If we have found a matching combination then we | ||
102 | 98 | // raise an event. | ||
103 | 99 | string name = null; | ||
104 | 100 | if (true == _definitions.TryGetValue(combined, out name)) | ||
105 | 101 | { | ||
106 | 102 | OnKeyPress(name); | ||
107 | 103 | |||
108 | 104 | handled = true; | ||
109 | 105 | } | ||
110 | 106 | return handled; | ||
111 | 107 | } | ||
112 | 108 | |||
113 | 109 | /// <summary> | ||
114 | 110 | /// Attempt to handle a modifier key, and return a boolean indicating if a modifier key was | ||
115 | 111 | /// handled. | ||
116 | 112 | /// </summary> | ||
117 | 113 | /// <param name="key">The key</param> | ||
118 | 114 | /// <param name="isDown">True if the key is pressed; False if it is released.</param> | ||
119 | 115 | /// <returns>True if a modifier key was selected; False otherwise.</returns> | ||
120 | 116 | private bool HandleModifier(Keys key, bool isDown) | ||
121 | 117 | { | ||
122 | 118 | bool handled = false; | ||
123 | 119 | |||
124 | 120 | switch (key) | ||
125 | 121 | { | ||
126 | 122 | case Keys.RControlKey: | ||
127 | 123 | case Keys.ControlKey: | ||
128 | 124 | _control = isDown; | ||
129 | 125 | handled = true; | ||
130 | 126 | break; | ||
131 | 127 | |||
132 | 128 | case Keys.RShiftKey: | ||
133 | 129 | case Keys.ShiftKey: | ||
134 | 130 | _shift = isDown; | ||
135 | 131 | handled = true; | ||
136 | 132 | break; | ||
137 | 133 | } | ||
138 | 134 | |||
139 | 135 | return handled; | ||
140 | 136 | } | ||
141 | 137 | |||
142 | 138 | /// <summary> | ||
143 | 139 | /// Raises the KeyPress event. | ||
144 | 140 | /// </summary> | ||
145 | 141 | /// <param name="name">The name of the key.</param> | ||
146 | 142 | private void OnKeyPress(string name) | ||
147 | 143 | { | ||
148 | 144 | // Raise event | ||
149 | 145 | if (null != KeyPress) KeyPress(name); | ||
150 | 146 | |||
151 | 147 | // Check if modifier keys were released in the mean time. | ||
152 | 148 | _control = | ||
153 | 149 | -127 == GetKeyState(Keys.ControlKey) || | ||
154 | 150 | -127 == GetKeyState(Keys.RControlKey); | ||
155 | 151 | |||
156 | 152 | _shift = | ||
157 | 153 | -127 == GetKeyState(Keys.ShiftKey) || | ||
158 | 154 | -127 == GetKeyState(Keys.RShiftKey); | ||
159 | 155 | |||
160 | 156 | } | ||
161 | 157 | |||
162 | 158 | /// <summary> | ||
163 | 159 | /// Returns the singleton instance. | ||
164 | 160 | /// </summary> | ||
165 | 161 | public static KeyStore Instance | ||
166 | 162 | { | ||
167 | 163 | get | ||
168 | 164 | { | ||
169 | 165 | if (null == s_instance) | ||
170 | 166 | s_instance = new KeyStore(); | ||
171 | 167 | |||
172 | 168 | return s_instance; | ||
173 | 169 | } | ||
174 | 170 | } | ||
175 | 171 | |||
176 | 172 | // The constructor is private because this is a singleton class. | ||
177 | 173 | private KeyStore() | ||
178 | 174 | { | ||
179 | 175 | _definitions = new Dictionary<Keys, string>(); | ||
180 | 176 | } | ||
181 | 177 | } | ||
182 | 178 | } | ||
183 | 0 | 179 | ||
184 | === modified file 'client/dotNET/MainForm.cs' | |||
185 | --- client/dotNET/MainForm.cs 2013-11-03 22:44:50 +0000 | |||
186 | +++ client/dotNET/MainForm.cs 2014-07-15 15:37:37 +0000 | |||
187 | @@ -1,6 +1,6 @@ | |||
188 | 1 | /* | 1 | /* |
189 | 2 | * Xibo - Digitial Signage - http://www.xibo.org.uk | 2 | * Xibo - Digitial Signage - http://www.xibo.org.uk |
191 | 3 | * Copyright (C) 2006-13 Daniel Garner | 3 | * Copyright (C) 2006-14 Daniel Garner |
192 | 4 | * | 4 | * |
193 | 5 | * This file is part of Xibo. | 5 | * This file is part of Xibo. |
194 | 6 | * | 6 | * |
195 | @@ -35,6 +35,7 @@ | |||
196 | 35 | using XiboClient.Log; | 35 | using XiboClient.Log; |
197 | 36 | using System.Threading; | 36 | using System.Threading; |
198 | 37 | using XiboClient.Properties; | 37 | using XiboClient.Properties; |
199 | 38 | using System.Runtime.InteropServices; | ||
200 | 38 | 39 | ||
201 | 39 | namespace XiboClient | 40 | namespace XiboClient |
202 | 40 | { | 41 | { |
203 | @@ -59,6 +60,18 @@ | |||
204 | 59 | 60 | ||
205 | 60 | private delegate void ChangeToNextLayoutDelegate(string layoutPath); | 61 | private delegate void ChangeToNextLayoutDelegate(string layoutPath); |
206 | 61 | 62 | ||
207 | 63 | [FlagsAttribute] | ||
208 | 64 | enum EXECUTION_STATE : uint | ||
209 | 65 | { | ||
210 | 66 | ES_AWAYMODE_REQUIRED = 0x00000040, | ||
211 | 67 | ES_CONTINUOUS = 0x80000000, | ||
212 | 68 | ES_DISPLAY_REQUIRED = 0x00000002, | ||
213 | 69 | ES_SYSTEM_REQUIRED = 0x00000001 | ||
214 | 70 | } | ||
215 | 71 | |||
216 | 72 | [DllImport("kernel32.dll", CharSet = CharSet.Auto, SetLastError = true)] | ||
217 | 73 | static extern EXECUTION_STATE SetThreadExecutionState(EXECUTION_STATE esFlags); | ||
218 | 74 | |||
219 | 62 | public MainForm() | 75 | public MainForm() |
220 | 63 | { | 76 | { |
221 | 64 | InitializeComponent(); | 77 | InitializeComponent(); |
222 | @@ -95,10 +108,24 @@ | |||
223 | 95 | _clientInfoForm.Hide(); | 108 | _clientInfoForm.Hide(); |
224 | 96 | 109 | ||
225 | 97 | // Add a message filter to listen for the i key | 110 | // Add a message filter to listen for the i key |
230 | 98 | KeyFilter keyFilter = new KeyFilter(); | 111 | Application.AddMessageFilter(KeyStore.Instance); |
231 | 99 | keyFilter.ClientInfoForm = _clientInfoForm; | 112 | |
232 | 100 | 113 | // Define the hotkey | |
233 | 101 | Application.AddMessageFilter(keyFilter); | 114 | Keys key; |
234 | 115 | try | ||
235 | 116 | { | ||
236 | 117 | key = (Keys)Enum.Parse(typeof(Keys), Settings.Default.ClientInformationKeyCode.ToUpper()); | ||
237 | 118 | } | ||
238 | 119 | catch | ||
239 | 120 | { | ||
240 | 121 | // Default back to I | ||
241 | 122 | key = Keys.I; | ||
242 | 123 | } | ||
243 | 124 | |||
244 | 125 | KeyStore.Instance.AddKeyDefinition("ClientInfo", key, ((Settings.Default.ClientInfomationCtrlKey) ? Keys.Control : Keys.None)); | ||
245 | 126 | |||
246 | 127 | // Register a handler for the key event | ||
247 | 128 | KeyStore.Instance.KeyPress += Instance_KeyPress; | ||
248 | 102 | 129 | ||
249 | 103 | // Trace listener for Client Info | 130 | // Trace listener for Client Info |
250 | 104 | ClientInfoTraceListener clientInfoTraceListener = new ClientInfoTraceListener(_clientInfoForm); | 131 | ClientInfoTraceListener clientInfoTraceListener = new ClientInfoTraceListener(_clientInfoForm); |
251 | @@ -116,6 +143,25 @@ | |||
252 | 116 | } | 143 | } |
253 | 117 | 144 | ||
254 | 118 | /// <summary> | 145 | /// <summary> |
255 | 146 | /// Handle the Key Event | ||
256 | 147 | /// </summary> | ||
257 | 148 | /// <param name="name"></param> | ||
258 | 149 | void Instance_KeyPress(string name) | ||
259 | 150 | { | ||
260 | 151 | if (name != "ClientInfo") | ||
261 | 152 | return; | ||
262 | 153 | |||
263 | 154 | // Toggle | ||
264 | 155 | if (_clientInfoForm.Visible) | ||
265 | 156 | _clientInfoForm.Hide(); | ||
266 | 157 | else | ||
267 | 158 | { | ||
268 | 159 | _clientInfoForm.Show(); | ||
269 | 160 | _clientInfoForm.BringToFront(); | ||
270 | 161 | } | ||
271 | 162 | } | ||
272 | 163 | |||
273 | 164 | /// <summary> | ||
274 | 119 | /// Called after the form has been shown | 165 | /// Called after the form has been shown |
275 | 120 | /// </summary> | 166 | /// </summary> |
276 | 121 | /// <param name="sender"></param> | 167 | /// <param name="sender"></param> |
277 | @@ -271,6 +317,8 @@ | |||
278 | 271 | { | 317 | { |
279 | 272 | try | 318 | try |
280 | 273 | { | 319 | { |
281 | 320 | SetThreadExecutionState(EXECUTION_STATE.ES_DISPLAY_REQUIRED | EXECUTION_STATE.ES_SYSTEM_REQUIRED | EXECUTION_STATE.ES_CONTINUOUS); | ||
282 | 321 | |||
283 | 274 | // TODO: Check we are never out of the UI thread at this point | 322 | // TODO: Check we are never out of the UI thread at this point |
284 | 275 | 323 | ||
285 | 276 | DestroyLayout(); | 324 | DestroyLayout(); |
286 | @@ -733,38 +781,4 @@ | |||
287 | 733 | } | 781 | } |
288 | 734 | } | 782 | } |
289 | 735 | } | 783 | } |
290 | 736 | |||
291 | 737 | /// <summary> | ||
292 | 738 | /// Key Filter to show the Client Information Screen | ||
293 | 739 | /// </summary> | ||
294 | 740 | public class KeyFilter : IMessageFilter | ||
295 | 741 | { | ||
296 | 742 | public ClientInfo ClientInfoForm; | ||
297 | 743 | |||
298 | 744 | public bool PreFilterMessage(ref Message msg) | ||
299 | 745 | { | ||
300 | 746 | const int WM_KEYDOWN = 0x100; | ||
301 | 747 | const int WM_SYSKEYDOWN = 0x104; | ||
302 | 748 | |||
303 | 749 | // Only interested in Key Down messages | ||
304 | 750 | if ((msg.Msg == WM_KEYDOWN) || (msg.Msg == WM_SYSKEYDOWN)) | ||
305 | 751 | { | ||
306 | 752 | Keys keyCode = (Keys)(int)msg.WParam & Keys.KeyCode; | ||
307 | 753 | |||
308 | 754 | if (keyCode == Keys.I) | ||
309 | 755 | { | ||
310 | 756 | // Toggle | ||
311 | 757 | if (ClientInfoForm.Visible) | ||
312 | 758 | ClientInfoForm.Hide(); | ||
313 | 759 | else | ||
314 | 760 | { | ||
315 | 761 | ClientInfoForm.Show(); | ||
316 | 762 | ClientInfoForm.BringToFront(); | ||
317 | 763 | } | ||
318 | 764 | } | ||
319 | 765 | } | ||
320 | 766 | |||
321 | 767 | return false; | ||
322 | 768 | } | ||
323 | 769 | } | ||
324 | 770 | } | 784 | } |
325 | 771 | \ No newline at end of file | 785 | \ No newline at end of file |
326 | 772 | 786 | ||
327 | === modified file 'client/dotNET/OptionForm.Designer.cs' | |||
328 | --- client/dotNET/OptionForm.Designer.cs 2013-05-01 19:24:35 +0000 | |||
329 | +++ client/dotNET/OptionForm.Designer.cs 2014-07-15 15:37:37 +0000 | |||
330 | @@ -82,6 +82,8 @@ | |||
331 | 82 | this.clientHeight = new System.Windows.Forms.NumericUpDown(); | 82 | this.clientHeight = new System.Windows.Forms.NumericUpDown(); |
332 | 83 | this.clientWidth = new System.Windows.Forms.NumericUpDown(); | 83 | this.clientWidth = new System.Windows.Forms.NumericUpDown(); |
333 | 84 | this.tabPage5 = new System.Windows.Forms.TabPage(); | 84 | this.tabPage5 = new System.Windows.Forms.TabPage(); |
334 | 85 | this.cursorStartPosition = new System.Windows.Forms.ComboBox(); | ||
335 | 86 | this.label22 = new System.Windows.Forms.Label(); | ||
336 | 85 | this.logToDiskLocation = new System.Windows.Forms.TextBox(); | 87 | this.logToDiskLocation = new System.Windows.Forms.TextBox(); |
337 | 86 | this.label21 = new System.Windows.Forms.Label(); | 88 | this.label21 = new System.Windows.Forms.Label(); |
338 | 87 | this.showInTaskbar = new System.Windows.Forms.CheckBox(); | 89 | this.showInTaskbar = new System.Windows.Forms.CheckBox(); |
339 | @@ -104,8 +106,9 @@ | |||
340 | 104 | this.folderBrowserLibrary = new System.Windows.Forms.FolderBrowserDialog(); | 106 | this.folderBrowserLibrary = new System.Windows.Forms.FolderBrowserDialog(); |
341 | 105 | this.splashScreenOverride = new System.Windows.Forms.OpenFileDialog(); | 107 | this.splashScreenOverride = new System.Windows.Forms.OpenFileDialog(); |
342 | 106 | this.xmds1 = new XiboClient.xmds.xmds(); | 108 | this.xmds1 = new XiboClient.xmds.xmds(); |
345 | 107 | this.label22 = new System.Windows.Forms.Label(); | 109 | this.label23 = new System.Windows.Forms.Label(); |
346 | 108 | this.cursorStartPosition = new System.Windows.Forms.ComboBox(); | 110 | this.clientInfoHotKeyTextBox = new System.Windows.Forms.TextBox(); |
347 | 111 | this.clientInfoCtrlModifierCheckBox = new System.Windows.Forms.CheckBox(); | ||
348 | 109 | this.tabControl1.SuspendLayout(); | 112 | this.tabControl1.SuspendLayout(); |
349 | 110 | this.tabPage1.SuspendLayout(); | 113 | this.tabPage1.SuspendLayout(); |
350 | 111 | ((System.ComponentModel.ISupportInitialize)(this.nupScrollStepAmount)).BeginInit(); | 114 | ((System.ComponentModel.ISupportInitialize)(this.nupScrollStepAmount)).BeginInit(); |
351 | @@ -684,6 +687,9 @@ | |||
352 | 684 | // | 687 | // |
353 | 685 | // tabPage5 | 688 | // tabPage5 |
354 | 686 | // | 689 | // |
355 | 690 | this.tabPage5.Controls.Add(this.clientInfoCtrlModifierCheckBox); | ||
356 | 691 | this.tabPage5.Controls.Add(this.clientInfoHotKeyTextBox); | ||
357 | 692 | this.tabPage5.Controls.Add(this.label23); | ||
358 | 687 | this.tabPage5.Controls.Add(this.cursorStartPosition); | 693 | this.tabPage5.Controls.Add(this.cursorStartPosition); |
359 | 688 | this.tabPage5.Controls.Add(this.label22); | 694 | this.tabPage5.Controls.Add(this.label22); |
360 | 689 | this.tabPage5.Controls.Add(this.logToDiskLocation); | 695 | this.tabPage5.Controls.Add(this.logToDiskLocation); |
361 | @@ -707,17 +713,39 @@ | |||
362 | 707 | this.tabPage5.Text = "Advanced"; | 713 | this.tabPage5.Text = "Advanced"; |
363 | 708 | this.tabPage5.UseVisualStyleBackColor = true; | 714 | this.tabPage5.UseVisualStyleBackColor = true; |
364 | 709 | // | 715 | // |
365 | 716 | // cursorStartPosition | ||
366 | 717 | // | ||
367 | 718 | this.cursorStartPosition.FormattingEnabled = true; | ||
368 | 719 | this.cursorStartPosition.Items.AddRange(new object[] { | ||
369 | 720 | "Top Left", | ||
370 | 721 | "Top Right", | ||
371 | 722 | "Bottom Left", | ||
372 | 723 | "Bottom Right"}); | ||
373 | 724 | this.cursorStartPosition.Location = new System.Drawing.Point(161, 128); | ||
374 | 725 | this.cursorStartPosition.Name = "cursorStartPosition"; | ||
375 | 726 | this.cursorStartPosition.Size = new System.Drawing.Size(263, 21); | ||
376 | 727 | this.cursorStartPosition.TabIndex = 21; | ||
377 | 728 | // | ||
378 | 729 | // label22 | ||
379 | 730 | // | ||
380 | 731 | this.label22.AutoSize = true; | ||
381 | 732 | this.label22.Location = new System.Drawing.Point(5, 131); | ||
382 | 733 | this.label22.Name = "label22"; | ||
383 | 734 | this.label22.Size = new System.Drawing.Size(102, 13); | ||
384 | 735 | this.label22.TabIndex = 20; | ||
385 | 736 | this.label22.Text = "Cursor Start Position"; | ||
386 | 737 | // | ||
387 | 710 | // logToDiskLocation | 738 | // logToDiskLocation |
388 | 711 | // | 739 | // |
390 | 712 | this.logToDiskLocation.Location = new System.Drawing.Point(176, 176); | 740 | this.logToDiskLocation.Location = new System.Drawing.Point(161, 99); |
391 | 713 | this.logToDiskLocation.Name = "logToDiskLocation"; | 741 | this.logToDiskLocation.Name = "logToDiskLocation"; |
393 | 714 | this.logToDiskLocation.Size = new System.Drawing.Size(121, 20); | 742 | this.logToDiskLocation.Size = new System.Drawing.Size(263, 20); |
394 | 715 | this.logToDiskLocation.TabIndex = 19; | 743 | this.logToDiskLocation.TabIndex = 19; |
395 | 716 | // | 744 | // |
396 | 717 | // label21 | 745 | // label21 |
397 | 718 | // | 746 | // |
398 | 719 | this.label21.AutoSize = true; | 747 | this.label21.AutoSize = true; |
400 | 720 | this.label21.Location = new System.Drawing.Point(20, 179); | 748 | this.label21.Location = new System.Drawing.Point(5, 102); |
401 | 721 | this.label21.Name = "label21"; | 749 | this.label21.Name = "label21"; |
402 | 722 | this.label21.Size = new System.Drawing.Size(105, 13); | 750 | this.label21.Size = new System.Drawing.Size(105, 13); |
403 | 723 | this.label21.TabIndex = 18; | 751 | this.label21.TabIndex = 18; |
404 | @@ -726,7 +754,7 @@ | |||
405 | 726 | // showInTaskbar | 754 | // showInTaskbar |
406 | 727 | // | 755 | // |
407 | 728 | this.showInTaskbar.AutoSize = true; | 756 | this.showInTaskbar.AutoSize = true; |
409 | 729 | this.showInTaskbar.Location = new System.Drawing.Point(176, 238); | 757 | this.showInTaskbar.Location = new System.Drawing.Point(51, 220); |
410 | 730 | this.showInTaskbar.Name = "showInTaskbar"; | 758 | this.showInTaskbar.Name = "showInTaskbar"; |
411 | 731 | this.showInTaskbar.Size = new System.Drawing.Size(130, 17); | 759 | this.showInTaskbar.Size = new System.Drawing.Size(130, 17); |
412 | 732 | this.showInTaskbar.TabIndex = 17; | 760 | this.showInTaskbar.TabIndex = 17; |
413 | @@ -736,7 +764,7 @@ | |||
414 | 736 | // label20 | 764 | // label20 |
415 | 737 | // | 765 | // |
416 | 738 | this.label20.AutoSize = true; | 766 | this.label20.AutoSize = true; |
418 | 739 | this.label20.Location = new System.Drawing.Point(20, 151); | 767 | this.label20.Location = new System.Drawing.Point(5, 73); |
419 | 740 | this.label20.Name = "label20"; | 768 | this.label20.Name = "label20"; |
420 | 741 | this.label20.Size = new System.Drawing.Size(54, 13); | 769 | this.label20.Size = new System.Drawing.Size(54, 13); |
421 | 742 | this.label20.TabIndex = 16; | 770 | this.label20.TabIndex = 16; |
422 | @@ -749,15 +777,15 @@ | |||
423 | 749 | "audit", | 777 | "audit", |
424 | 750 | "info", | 778 | "info", |
425 | 751 | "error"}); | 779 | "error"}); |
427 | 752 | this.logLevel.Location = new System.Drawing.Point(176, 148); | 780 | this.logLevel.Location = new System.Drawing.Point(161, 70); |
428 | 753 | this.logLevel.Name = "logLevel"; | 781 | this.logLevel.Name = "logLevel"; |
430 | 754 | this.logLevel.Size = new System.Drawing.Size(121, 21); | 782 | this.logLevel.Size = new System.Drawing.Size(263, 21); |
431 | 755 | this.logLevel.TabIndex = 15; | 783 | this.logLevel.TabIndex = 15; |
432 | 756 | // | 784 | // |
433 | 757 | // label19 | 785 | // label19 |
434 | 758 | // | 786 | // |
435 | 759 | this.label19.AutoSize = true; | 787 | this.label19.AutoSize = true; |
437 | 760 | this.label19.Location = new System.Drawing.Point(20, 123); | 788 | this.label19.Location = new System.Drawing.Point(225, 10); |
438 | 761 | this.label19.Name = "label19"; | 789 | this.label19.Name = "label19"; |
439 | 762 | this.label19.Size = new System.Drawing.Size(138, 13); | 790 | this.label19.Size = new System.Drawing.Size(138, 13); |
440 | 763 | this.label19.TabIndex = 14; | 791 | this.label19.TabIndex = 14; |
441 | @@ -765,14 +793,14 @@ | |||
442 | 765 | // | 793 | // |
443 | 766 | // maxConcurrentDownloads | 794 | // maxConcurrentDownloads |
444 | 767 | // | 795 | // |
446 | 768 | this.maxConcurrentDownloads.Location = new System.Drawing.Point(176, 121); | 796 | this.maxConcurrentDownloads.Location = new System.Drawing.Point(381, 8); |
447 | 769 | this.maxConcurrentDownloads.Minimum = new decimal(new int[] { | 797 | this.maxConcurrentDownloads.Minimum = new decimal(new int[] { |
448 | 770 | 1, | 798 | 1, |
449 | 771 | 0, | 799 | 0, |
450 | 772 | 0, | 800 | 0, |
451 | 773 | 0}); | 801 | 0}); |
452 | 774 | this.maxConcurrentDownloads.Name = "maxConcurrentDownloads"; | 802 | this.maxConcurrentDownloads.Name = "maxConcurrentDownloads"; |
454 | 775 | this.maxConcurrentDownloads.Size = new System.Drawing.Size(121, 20); | 803 | this.maxConcurrentDownloads.Size = new System.Drawing.Size(43, 20); |
455 | 776 | this.maxConcurrentDownloads.TabIndex = 13; | 804 | this.maxConcurrentDownloads.TabIndex = 13; |
456 | 777 | this.maxConcurrentDownloads.Value = new decimal(new int[] { | 805 | this.maxConcurrentDownloads.Value = new decimal(new int[] { |
457 | 778 | 1, | 806 | 1, |
458 | @@ -783,7 +811,7 @@ | |||
459 | 783 | // label18 | 811 | // label18 |
460 | 784 | // | 812 | // |
461 | 785 | this.label18.AutoSize = true; | 813 | this.label18.AutoSize = true; |
463 | 786 | this.label18.Location = new System.Drawing.Point(20, 98); | 814 | this.label18.Location = new System.Drawing.Point(5, 43); |
464 | 787 | this.label18.Name = "label18"; | 815 | this.label18.Name = "label18"; |
465 | 788 | this.label18.Size = new System.Drawing.Size(127, 13); | 816 | this.label18.Size = new System.Drawing.Size(127, 13); |
466 | 789 | this.label18.TabIndex = 12; | 817 | this.label18.TabIndex = 12; |
467 | @@ -791,15 +819,15 @@ | |||
468 | 791 | // | 819 | // |
469 | 792 | // shellCommandAllowList | 820 | // shellCommandAllowList |
470 | 793 | // | 821 | // |
472 | 794 | this.shellCommandAllowList.Location = new System.Drawing.Point(176, 95); | 822 | this.shellCommandAllowList.Location = new System.Drawing.Point(161, 40); |
473 | 795 | this.shellCommandAllowList.Name = "shellCommandAllowList"; | 823 | this.shellCommandAllowList.Name = "shellCommandAllowList"; |
475 | 796 | this.shellCommandAllowList.Size = new System.Drawing.Size(121, 20); | 824 | this.shellCommandAllowList.Size = new System.Drawing.Size(263, 20); |
476 | 797 | this.shellCommandAllowList.TabIndex = 11; | 825 | this.shellCommandAllowList.TabIndex = 11; |
477 | 798 | // | 826 | // |
478 | 799 | // enableShellCommandsCb | 827 | // enableShellCommandsCb |
479 | 800 | // | 828 | // |
480 | 801 | this.enableShellCommandsCb.AutoSize = true; | 829 | this.enableShellCommandsCb.AutoSize = true; |
482 | 802 | this.enableShellCommandsCb.Location = new System.Drawing.Point(176, 72); | 830 | this.enableShellCommandsCb.Location = new System.Drawing.Point(247, 220); |
483 | 803 | this.enableShellCommandsCb.Name = "enableShellCommandsCb"; | 831 | this.enableShellCommandsCb.Name = "enableShellCommandsCb"; |
484 | 804 | this.enableShellCommandsCb.Size = new System.Drawing.Size(140, 17); | 832 | this.enableShellCommandsCb.Size = new System.Drawing.Size(140, 17); |
485 | 805 | this.enableShellCommandsCb.TabIndex = 10; | 833 | this.enableShellCommandsCb.TabIndex = 10; |
486 | @@ -809,7 +837,7 @@ | |||
487 | 809 | // doubleBufferingCheckBox | 837 | // doubleBufferingCheckBox |
488 | 810 | // | 838 | // |
489 | 811 | this.doubleBufferingCheckBox.AutoSize = true; | 839 | this.doubleBufferingCheckBox.AutoSize = true; |
491 | 812 | this.doubleBufferingCheckBox.Location = new System.Drawing.Point(176, 49); | 840 | this.doubleBufferingCheckBox.Location = new System.Drawing.Point(247, 197); |
492 | 813 | this.doubleBufferingCheckBox.Name = "doubleBufferingCheckBox"; | 841 | this.doubleBufferingCheckBox.Name = "doubleBufferingCheckBox"; |
493 | 814 | this.doubleBufferingCheckBox.Size = new System.Drawing.Size(141, 17); | 842 | this.doubleBufferingCheckBox.Size = new System.Drawing.Size(141, 17); |
494 | 815 | this.doubleBufferingCheckBox.TabIndex = 4; | 843 | this.doubleBufferingCheckBox.TabIndex = 4; |
495 | @@ -818,9 +846,9 @@ | |||
496 | 818 | // | 846 | // |
497 | 819 | // numericUpDownEmptyRegions | 847 | // numericUpDownEmptyRegions |
498 | 820 | // | 848 | // |
500 | 821 | this.numericUpDownEmptyRegions.Location = new System.Drawing.Point(176, 23); | 849 | this.numericUpDownEmptyRegions.Location = new System.Drawing.Point(161, 8); |
501 | 822 | this.numericUpDownEmptyRegions.Name = "numericUpDownEmptyRegions"; | 850 | this.numericUpDownEmptyRegions.Name = "numericUpDownEmptyRegions"; |
503 | 823 | this.numericUpDownEmptyRegions.Size = new System.Drawing.Size(121, 20); | 851 | this.numericUpDownEmptyRegions.Size = new System.Drawing.Size(44, 20); |
504 | 824 | this.numericUpDownEmptyRegions.TabIndex = 1; | 852 | this.numericUpDownEmptyRegions.TabIndex = 1; |
505 | 825 | this.numericUpDownEmptyRegions.Value = new decimal(new int[] { | 853 | this.numericUpDownEmptyRegions.Value = new decimal(new int[] { |
506 | 826 | 10, | 854 | 10, |
507 | @@ -831,7 +859,7 @@ | |||
508 | 831 | // label15 | 859 | // label15 |
509 | 832 | // | 860 | // |
510 | 833 | this.label15.AutoSize = true; | 861 | this.label15.AutoSize = true; |
512 | 834 | this.label15.Location = new System.Drawing.Point(20, 25); | 862 | this.label15.Location = new System.Drawing.Point(5, 10); |
513 | 835 | this.label15.Name = "label15"; | 863 | this.label15.Name = "label15"; |
514 | 836 | this.label15.Size = new System.Drawing.Size(136, 13); | 864 | this.label15.Size = new System.Drawing.Size(136, 13); |
515 | 837 | this.label15.TabIndex = 0; | 865 | this.label15.TabIndex = 0; |
516 | @@ -896,27 +924,31 @@ | |||
517 | 896 | this.xmds1.Url = "http://localhost/Xibo/server/xmds.php"; | 924 | this.xmds1.Url = "http://localhost/Xibo/server/xmds.php"; |
518 | 897 | this.xmds1.UseDefaultCredentials = false; | 925 | this.xmds1.UseDefaultCredentials = false; |
519 | 898 | // | 926 | // |
541 | 899 | // label22 | 927 | // label23 |
542 | 900 | // | 928 | // |
543 | 901 | this.label22.AutoSize = true; | 929 | this.label23.AutoSize = true; |
544 | 902 | this.label22.Location = new System.Drawing.Point(23, 206); | 930 | this.label23.Location = new System.Drawing.Point(5, 158); |
545 | 903 | this.label22.Name = "label22"; | 931 | this.label23.Name = "label23"; |
546 | 904 | this.label22.Size = new System.Drawing.Size(102, 13); | 932 | this.label23.Size = new System.Drawing.Size(92, 13); |
547 | 905 | this.label22.TabIndex = 20; | 933 | this.label23.TabIndex = 22; |
548 | 906 | this.label22.Text = "Cursor Start Position"; | 934 | this.label23.Text = "Client Info HotKey"; |
549 | 907 | // | 935 | // |
550 | 908 | // cursorStartPosition | 936 | // clientInfoHotKeyTextBox |
551 | 909 | // | 937 | // |
552 | 910 | this.cursorStartPosition.FormattingEnabled = true; | 938 | this.clientInfoHotKeyTextBox.Location = new System.Drawing.Point(161, 158); |
553 | 911 | this.cursorStartPosition.Items.AddRange(new object[] { | 939 | this.clientInfoHotKeyTextBox.Name = "clientInfoHotKeyTextBox"; |
554 | 912 | "Top Left", | 940 | this.clientInfoHotKeyTextBox.Size = new System.Drawing.Size(263, 20); |
555 | 913 | "Top Right", | 941 | this.clientInfoHotKeyTextBox.TabIndex = 23; |
556 | 914 | "Bottom Left", | 942 | // |
557 | 915 | "Bottom Right"}); | 943 | // clientInfoCtrlModifierCheckBox |
558 | 916 | this.cursorStartPosition.Location = new System.Drawing.Point(176, 203); | 944 | // |
559 | 917 | this.cursorStartPosition.Name = "cursorStartPosition"; | 945 | this.clientInfoCtrlModifierCheckBox.AutoSize = true; |
560 | 918 | this.cursorStartPosition.Size = new System.Drawing.Size(121, 21); | 946 | this.clientInfoCtrlModifierCheckBox.Location = new System.Drawing.Point(51, 197); |
561 | 919 | this.cursorStartPosition.TabIndex = 21; | 947 | this.clientInfoCtrlModifierCheckBox.Name = "clientInfoCtrlModifierCheckBox"; |
562 | 948 | this.clientInfoCtrlModifierCheckBox.Size = new System.Drawing.Size(177, 17); | ||
563 | 949 | this.clientInfoCtrlModifierCheckBox.TabIndex = 24; | ||
564 | 950 | this.clientInfoCtrlModifierCheckBox.Text = "Client Info CTRL Key Required?"; | ||
565 | 951 | this.clientInfoCtrlModifierCheckBox.UseVisualStyleBackColor = true; | ||
566 | 920 | // | 952 | // |
567 | 921 | // OptionForm | 953 | // OptionForm |
568 | 922 | // | 954 | // |
569 | @@ -1037,5 +1069,8 @@ | |||
570 | 1037 | private System.Windows.Forms.TextBox logToDiskLocation; | 1069 | private System.Windows.Forms.TextBox logToDiskLocation; |
571 | 1038 | private System.Windows.Forms.Label label22; | 1070 | private System.Windows.Forms.Label label22; |
572 | 1039 | private System.Windows.Forms.ComboBox cursorStartPosition; | 1071 | private System.Windows.Forms.ComboBox cursorStartPosition; |
573 | 1072 | private System.Windows.Forms.CheckBox clientInfoCtrlModifierCheckBox; | ||
574 | 1073 | private System.Windows.Forms.TextBox clientInfoHotKeyTextBox; | ||
575 | 1074 | private System.Windows.Forms.Label label23; | ||
576 | 1040 | } | 1075 | } |
577 | 1041 | } | 1076 | } |
578 | 1042 | \ No newline at end of file | 1077 | \ No newline at end of file |
579 | 1043 | 1078 | ||
580 | === modified file 'client/dotNET/OptionForm.cs' | |||
581 | --- client/dotNET/OptionForm.cs 2014-02-09 15:08:13 +0000 | |||
582 | +++ client/dotNET/OptionForm.cs 2014-07-15 15:37:37 +0000 | |||
583 | @@ -1,6 +1,6 @@ | |||
584 | 1 | /* | 1 | /* |
585 | 2 | * Xibo - Digitial Signage - http://www.xibo.org.uk | 2 | * Xibo - Digitial Signage - http://www.xibo.org.uk |
587 | 3 | * Copyright (C) 2006-2012 Daniel Garner | 3 | * Copyright (C) 2006-2014 Daniel Garner |
588 | 4 | * | 4 | * |
589 | 5 | * This file is part of Xibo. | 5 | * This file is part of Xibo. |
590 | 6 | * | 6 | * |
591 | @@ -105,6 +105,8 @@ | |||
592 | 105 | logToDiskLocation.Text = Settings.Default.LogToDiskLocation; | 105 | logToDiskLocation.Text = Settings.Default.LogToDiskLocation; |
593 | 106 | showInTaskbar.Checked = Settings.Default.ShowInTaskbar; | 106 | showInTaskbar.Checked = Settings.Default.ShowInTaskbar; |
594 | 107 | cursorStartPosition.Text = Settings.Default.CursorStartPosition; | 107 | cursorStartPosition.Text = Settings.Default.CursorStartPosition; |
595 | 108 | clientInfoHotKeyTextBox.Text = Settings.Default.ClientInformationKeyCode; | ||
596 | 109 | clientInfoCtrlModifierCheckBox.Checked = Settings.Default.ClientInfomationCtrlKey; | ||
597 | 108 | 110 | ||
598 | 109 | Debug.WriteLine("Loaded Options Form", "OptionForm"); | 111 | Debug.WriteLine("Loaded Options Form", "OptionForm"); |
599 | 110 | } | 112 | } |
600 | @@ -202,6 +204,8 @@ | |||
601 | 202 | Settings.Default.LogToDiskLocation = logToDiskLocation.Text; | 204 | Settings.Default.LogToDiskLocation = logToDiskLocation.Text; |
602 | 203 | Settings.Default.ShowInTaskbar = showInTaskbar.Checked; | 205 | Settings.Default.ShowInTaskbar = showInTaskbar.Checked; |
603 | 204 | Settings.Default.CursorStartPosition = cursorStartPosition.Text; | 206 | Settings.Default.CursorStartPosition = cursorStartPosition.Text; |
604 | 207 | Settings.Default.ClientInformationKeyCode = clientInfoHotKeyTextBox.Text; | ||
605 | 208 | Settings.Default.ClientInfomationCtrlKey = clientInfoCtrlModifierCheckBox.Checked; | ||
606 | 205 | 209 | ||
607 | 206 | // Commit these changes back to the user settings | 210 | // Commit these changes back to the user settings |
608 | 207 | Settings.Default.Save(); | 211 | Settings.Default.Save(); |
609 | 208 | 212 | ||
610 | === modified file 'client/dotNET/Properties/Settings.Designer.cs' | |||
611 | --- client/dotNET/Properties/Settings.Designer.cs 2014-03-09 14:46:20 +0000 | |||
612 | +++ client/dotNET/Properties/Settings.Designer.cs 2014-07-15 15:37:37 +0000 | |||
613 | @@ -541,5 +541,29 @@ | |||
614 | 541 | return ((int)(this["ClientCodeVersion"])); | 541 | return ((int)(this["ClientCodeVersion"])); |
615 | 542 | } | 542 | } |
616 | 543 | } | 543 | } |
617 | 544 | |||
618 | 545 | [global::System.Configuration.UserScopedSettingAttribute()] | ||
619 | 546 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | ||
620 | 547 | [global::System.Configuration.DefaultSettingValueAttribute("I")] | ||
621 | 548 | public string ClientInformationKeyCode { | ||
622 | 549 | get { | ||
623 | 550 | return ((string)(this["ClientInformationKeyCode"])); | ||
624 | 551 | } | ||
625 | 552 | set { | ||
626 | 553 | this["ClientInformationKeyCode"] = value; | ||
627 | 554 | } | ||
628 | 555 | } | ||
629 | 556 | |||
630 | 557 | [global::System.Configuration.UserScopedSettingAttribute()] | ||
631 | 558 | [global::System.Diagnostics.DebuggerNonUserCodeAttribute()] | ||
632 | 559 | [global::System.Configuration.DefaultSettingValueAttribute("False")] | ||
633 | 560 | public bool ClientInfomationCtrlKey { | ||
634 | 561 | get { | ||
635 | 562 | return ((bool)(this["ClientInfomationCtrlKey"])); | ||
636 | 563 | } | ||
637 | 564 | set { | ||
638 | 565 | this["ClientInfomationCtrlKey"] = value; | ||
639 | 566 | } | ||
640 | 567 | } | ||
641 | 544 | } | 568 | } |
642 | 545 | } | 569 | } |
643 | 546 | 570 | ||
644 | === modified file 'client/dotNET/Properties/Settings.settings' | |||
645 | --- client/dotNET/Properties/Settings.settings 2014-03-09 14:46:20 +0000 | |||
646 | +++ client/dotNET/Properties/Settings.settings 2014-07-15 15:37:37 +0000 | |||
647 | @@ -140,5 +140,11 @@ | |||
648 | 140 | <Setting Name="ClientCodeVersion" Type="System.Int32" Scope="Application"> | 140 | <Setting Name="ClientCodeVersion" Type="System.Int32" Scope="Application"> |
649 | 141 | <Value Profile="(Default)">83</Value> | 141 | <Value Profile="(Default)">83</Value> |
650 | 142 | </Setting> | 142 | </Setting> |
651 | 143 | <Setting Name="ClientInformationKeyCode" Type="System.String" Scope="User"> | ||
652 | 144 | <Value Profile="(Default)">I</Value> | ||
653 | 145 | </Setting> | ||
654 | 146 | <Setting Name="ClientInfomationCtrlKey" Type="System.Boolean" Scope="User"> | ||
655 | 147 | <Value Profile="(Default)">False</Value> | ||
656 | 148 | </Setting> | ||
657 | 143 | </Settings> | 149 | </Settings> |
658 | 144 | </SettingsFile> | 150 | </SettingsFile> |
659 | 145 | \ No newline at end of file | 151 | \ No newline at end of file |
660 | 146 | 152 | ||
661 | === modified file 'client/dotNET/XiboClient.csproj' | |||
662 | --- client/dotNET/XiboClient.csproj 2013-11-09 12:14:38 +0000 | |||
663 | +++ client/dotNET/XiboClient.csproj 2014-07-15 15:37:37 +0000 | |||
664 | @@ -116,6 +116,7 @@ | |||
665 | 116 | </Compile> | 116 | </Compile> |
666 | 117 | <Compile Include="BlackList.cs" /> | 117 | <Compile Include="BlackList.cs" /> |
667 | 118 | <Compile Include="CacheManager.cs" /> | 118 | <Compile Include="CacheManager.cs" /> |
668 | 119 | <Compile Include="KeyStore.cs" /> | ||
669 | 119 | <Compile Include="RegionOptions.cs" /> | 120 | <Compile Include="RegionOptions.cs" /> |
670 | 120 | <Compile Include="TemporaryFile.cs" /> | 121 | <Compile Include="TemporaryFile.cs" /> |
671 | 121 | <Compile Include="VideoDS.cs"> | 122 | <Compile Include="VideoDS.cs"> |
672 | 122 | 123 | ||
673 | === modified file 'client/dotNET/app.config' | |||
674 | --- client/dotNET/app.config 2014-03-09 14:46:20 +0000 | |||
675 | +++ client/dotNET/app.config 2014-07-15 15:37:37 +0000 | |||
676 | @@ -115,6 +115,12 @@ | |||
677 | 115 | <setting name="CursorStartPosition" serializeAs="String"> | 115 | <setting name="CursorStartPosition" serializeAs="String"> |
678 | 116 | <value>Bottom Right</value> | 116 | <value>Bottom Right</value> |
679 | 117 | </setting> | 117 | </setting> |
680 | 118 | <setting name="ClientInformationKeyCode" serializeAs="String"> | ||
681 | 119 | <value>I</value> | ||
682 | 120 | </setting> | ||
683 | 121 | <setting name="ClientInfomationCtrlKey" serializeAs="String"> | ||
684 | 122 | <value>False</value> | ||
685 | 123 | </setting> | ||
686 | 118 | </XiboClient.Properties.Settings> | 124 | </XiboClient.Properties.Settings> |
687 | 119 | </userSettings> | 125 | </userSettings> |
688 | 120 | <applicationSettings> | 126 | <applicationSettings> |
689 | 121 | 127 | ||
690 | === modified file 'default.mo' | |||
691 | 122 | Binary files default.mo 2014-03-29 16:01:24 +0000 and default.mo 2014-07-15 15:37:37 +0000 differ | 128 | Binary files default.mo 2014-03-29 16:01:24 +0000 and default.mo 2014-07-15 15:37:37 +0000 differ |
692 | === modified file 'default.pot' | |||
693 | --- default.pot 2014-03-29 16:01:24 +0000 | |||
694 | +++ default.pot 2014-07-15 15:37:37 +0000 | |||
695 | @@ -2,7 +2,7 @@ | |||
696 | 2 | msgstr "" | 2 | msgstr "" |
697 | 3 | "Project-Id-Version: Xibo Digital Signage\n" | 3 | "Project-Id-Version: Xibo Digital Signage\n" |
698 | 4 | "Report-Msgid-Bugs-To: \n" | 4 | "Report-Msgid-Bugs-To: \n" |
700 | 5 | "POT-Creation-Date: 2014-03-29 16:01-0000\n" | 5 | "POT-Creation-Date: 2014-06-09 20:00-0000\n" |
701 | 6 | "PO-Revision-Date: \n" | 6 | "PO-Revision-Date: \n" |
702 | 7 | "Last-Translator: Dan Garner <dan@xibo.org.uk>\n" | 7 | "Last-Translator: Dan Garner <dan@xibo.org.uk>\n" |
703 | 8 | "Language-Team: <info@xibo.org.uk>\n" | 8 | "Language-Team: <info@xibo.org.uk>\n" |
704 | @@ -10,7 +10,7 @@ | |||
705 | 10 | "MIME-Version: 1.0\n" | 10 | "MIME-Version: 1.0\n" |
706 | 11 | "Content-Type: text/plain; charset=UTF-8\n" | 11 | "Content-Type: text/plain; charset=UTF-8\n" |
707 | 12 | "Content-Transfer-Encoding: 8bit\n" | 12 | "Content-Transfer-Encoding: 8bit\n" |
709 | 13 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\release\\1.6.0-rc2\n" | 13 | "X-Poedit-Basepath: C:\\Users\\dan\\www\\1.6\\server-162\n" |
710 | 14 | "X-Poedit-KeywordsList: __;Translate\n" | 14 | "X-Poedit-KeywordsList: __;Translate\n" |
711 | 15 | "X-Generator: Poedit 1.5.5\n" | 15 | "X-Generator: Poedit 1.5.5\n" |
712 | 16 | "X-Poedit-SearchPath-0: server\n" | 16 | "X-Poedit-SearchPath-0: server\n" |
713 | @@ -37,7 +37,7 @@ | |||
714 | 37 | #: server/install.php:329 server/install.php:345 server/install.php:384 | 37 | #: server/install.php:329 server/install.php:345 server/install.php:384 |
715 | 38 | #: server/install.php:413 server/install.php:516 server/upgrade.php:104 | 38 | #: server/install.php:413 server/install.php:516 server/upgrade.php:104 |
716 | 39 | #: server/upgrade.php:199 server/upgrade.php:206 server/upgrade.php:278 | 39 | #: server/upgrade.php:199 server/upgrade.php:206 server/upgrade.php:278 |
718 | 40 | #: server/lib/pages/schedule.class.php:1449 | 40 | #: server/lib/pages/schedule.class.php:1452 |
719 | 41 | msgid "Next" | 41 | msgid "Next" |
720 | 42 | msgstr "" | 42 | msgstr "" |
721 | 43 | 43 | ||
722 | @@ -409,6 +409,14 @@ | |||
723 | 409 | msgid "Maintenance key invalid." | 409 | msgid "Maintenance key invalid." |
724 | 410 | msgstr "" | 410 | msgstr "" |
725 | 411 | 411 | ||
726 | 412 | #: server/settings.php:11 | ||
727 | 413 | msgid "Sorry, you are not allowed to directly access this page." | ||
728 | 414 | msgstr "" | ||
729 | 415 | |||
730 | 416 | #: server/settings.php:11 | ||
731 | 417 | msgid "Please press the back button in your browser." | ||
732 | 418 | msgstr "" | ||
733 | 419 | |||
734 | 412 | #: server/upgrade.php:63 | 420 | #: server/upgrade.php:63 |
735 | 413 | msgid "" | 421 | msgid "" |
736 | 414 | "Unable to connect to the MySQL database using the settings stored in " | 422 | "Unable to connect to the MySQL database using the settings stored in " |
737 | @@ -658,8 +666,8 @@ | |||
738 | 658 | msgstr "" | 666 | msgstr "" |
739 | 659 | 667 | ||
740 | 660 | #: server/lib/app/helpmanager.class.php:54 | 668 | #: server/lib/app/helpmanager.class.php:54 |
743 | 661 | #: server/lib/modules/module.class.php:493 | 669 | #: server/lib/modules/module.class.php:498 |
744 | 662 | #: server/lib/modules/module.class.php:1401 | 670 | #: server/lib/modules/module.class.php:1433 |
745 | 663 | #: server/lib/pages/campaign.class.php:144 | 671 | #: server/lib/pages/campaign.class.php:144 |
746 | 664 | #: server/lib/pages/campaign.class.php:214 | 672 | #: server/lib/pages/campaign.class.php:214 |
747 | 665 | #: server/lib/pages/campaign.class.php:283 | 673 | #: server/lib/pages/campaign.class.php:283 |
748 | @@ -684,14 +692,14 @@ | |||
749 | 684 | #: server/lib/pages/displaygroup.class.php:156 | 692 | #: server/lib/pages/displaygroup.class.php:156 |
750 | 685 | #: server/lib/pages/displaygroup.class.php:204 | 693 | #: server/lib/pages/displaygroup.class.php:204 |
751 | 686 | #: server/lib/pages/displaygroup.class.php:232 | 694 | #: server/lib/pages/displaygroup.class.php:232 |
755 | 687 | #: server/lib/pages/displaygroup.class.php:306 | 695 | #: server/lib/pages/displaygroup.class.php:309 |
756 | 688 | #: server/lib/pages/displaygroup.class.php:540 | 696 | #: server/lib/pages/displaygroup.class.php:549 |
757 | 689 | #: server/lib/pages/displaygroup.class.php:701 | 697 | #: server/lib/pages/displaygroup.class.php:710 |
758 | 690 | #: server/lib/pages/group.class.php:224 server/lib/pages/group.class.php:248 | 698 | #: server/lib/pages/group.class.php:224 server/lib/pages/group.class.php:248 |
759 | 691 | #: server/lib/pages/group.class.php:342 server/lib/pages/group.class.php:501 | 699 | #: server/lib/pages/group.class.php:342 server/lib/pages/group.class.php:501 |
760 | 692 | #: server/lib/pages/group.class.php:698 server/lib/pages/help.class.php:107 | 700 | #: server/lib/pages/group.class.php:698 server/lib/pages/help.class.php:107 |
763 | 693 | #: server/lib/pages/layout.class.php:267 server/lib/pages/layout.class.php:512 | 701 | #: server/lib/pages/layout.class.php:270 server/lib/pages/layout.class.php:515 |
764 | 694 | #: server/lib/pages/layout.class.php:598 server/lib/pages/layout.class.php:800 | 702 | #: server/lib/pages/layout.class.php:601 server/lib/pages/layout.class.php:803 |
765 | 695 | #: server/lib/pages/log.class.php:182 server/lib/pages/module.class.php:201 | 703 | #: server/lib/pages/log.class.php:182 server/lib/pages/module.class.php:201 |
766 | 696 | #: server/lib/pages/oauth.class.php:130 server/lib/pages/oauth.class.php:208 | 704 | #: server/lib/pages/oauth.class.php:130 server/lib/pages/oauth.class.php:208 |
767 | 697 | #: server/lib/pages/oauth.class.php:286 | 705 | #: server/lib/pages/oauth.class.php:286 |
768 | @@ -699,11 +707,11 @@ | |||
769 | 699 | #: server/lib/pages/resolution.class.php:165 | 707 | #: server/lib/pages/resolution.class.php:165 |
770 | 700 | #: server/lib/pages/resolution.class.php:190 | 708 | #: server/lib/pages/resolution.class.php:190 |
771 | 701 | #: server/lib/pages/schedule.class.php:435 | 709 | #: server/lib/pages/schedule.class.php:435 |
777 | 702 | #: server/lib/pages/schedule.class.php:1447 | 710 | #: server/lib/pages/schedule.class.php:1450 |
778 | 703 | #: server/lib/pages/schedule.class.php:1613 | 711 | #: server/lib/pages/schedule.class.php:1616 |
779 | 704 | #: server/lib/pages/schedule.class.php:1819 | 712 | #: server/lib/pages/schedule.class.php:1822 |
780 | 705 | #: server/lib/pages/schedule.class.php:1939 | 713 | #: server/lib/pages/schedule.class.php:1942 |
781 | 706 | #: server/lib/pages/schedule.class.php:2026 | 714 | #: server/lib/pages/schedule.class.php:2029 |
782 | 707 | #: server/lib/pages/sessions.class.php:152 | 715 | #: server/lib/pages/sessions.class.php:152 |
783 | 708 | #: server/lib/pages/template.class.php:154 | 716 | #: server/lib/pages/template.class.php:154 |
784 | 709 | #: server/lib/pages/template.class.php:256 | 717 | #: server/lib/pages/template.class.php:256 |
785 | @@ -722,22 +730,22 @@ | |||
786 | 722 | msgid "Help" | 730 | msgid "Help" |
787 | 723 | msgstr "" | 731 | msgstr "" |
788 | 724 | 732 | ||
790 | 725 | #: server/lib/app/kit.class.php:240 | 733 | #: server/lib/app/kit.class.php:241 |
791 | 726 | #, php-format | 734 | #, php-format |
792 | 727 | msgid "No integer match found for [%s] and return value is not an integer" | 735 | msgid "No integer match found for [%s] and return value is not an integer" |
793 | 728 | msgstr "" | 736 | msgstr "" |
794 | 729 | 737 | ||
796 | 730 | #: server/lib/app/kit.class.php:254 | 738 | #: server/lib/app/kit.class.php:255 |
797 | 731 | #, php-format | 739 | #, php-format |
798 | 732 | msgid "No integer match found for %s, and return value is not an integer" | 740 | msgid "No integer match found for %s, and return value is not an integer" |
799 | 733 | msgstr "" | 741 | msgstr "" |
800 | 734 | 742 | ||
802 | 735 | #: server/lib/app/kit.class.php:289 | 743 | #: server/lib/app/kit.class.php:290 |
803 | 736 | #, php-format | 744 | #, php-format |
804 | 737 | msgid "No integer found for %s, and return value is not an integer" | 745 | msgid "No integer found for %s, and return value is not an integer" |
805 | 738 | msgstr "" | 746 | msgstr "" |
806 | 739 | 747 | ||
808 | 740 | #: server/lib/app/kit.class.php:355 | 748 | #: server/lib/app/kit.class.php:360 |
809 | 741 | #, php-format | 749 | #, php-format |
810 | 742 | msgid "Unknown Type %s" | 750 | msgid "Unknown Type %s" |
811 | 743 | msgstr "" | 751 | msgstr "" |
812 | @@ -800,21 +808,22 @@ | |||
813 | 800 | msgstr "" | 808 | msgstr "" |
814 | 801 | 809 | ||
815 | 802 | #: server/lib/data/campaign.data.class.php:104 | 810 | #: server/lib/data/campaign.data.class.php:104 |
820 | 803 | #: server/lib/modules/module.class.php:1440 | 811 | #: server/lib/modules/module.class.php:1472 |
821 | 804 | #: server/lib/modules/module.class.php:1446 | 812 | #: server/lib/modules/module.class.php:1478 |
822 | 805 | #: server/lib/modules/module.class.php:1476 | 813 | #: server/lib/modules/module.class.php:1508 |
819 | 806 | #: server/lib/modules/module.class.php:1481 | ||
823 | 807 | #: server/lib/modules/module.class.php:1513 | 814 | #: server/lib/modules/module.class.php:1513 |
825 | 808 | #: server/lib/modules/module.class.php:1518 | 815 | #: server/lib/modules/module.class.php:1545 |
826 | 816 | #: server/lib/modules/module.class.php:1550 | ||
827 | 809 | #: server/lib/pages/campaign.class.php:416 | 817 | #: server/lib/pages/campaign.class.php:416 |
828 | 810 | #: server/lib/pages/campaign.class.php:443 | 818 | #: server/lib/pages/campaign.class.php:443 |
829 | 811 | #: server/lib/pages/campaign.class.php:472 | 819 | #: server/lib/pages/campaign.class.php:472 |
830 | 812 | #: server/lib/pages/dataset.class.php:938 | 820 | #: server/lib/pages/dataset.class.php:938 |
831 | 813 | #: server/lib/pages/dataset.class.php:965 | 821 | #: server/lib/pages/dataset.class.php:965 |
832 | 814 | #: server/lib/pages/dataset.class.php:994 | 822 | #: server/lib/pages/dataset.class.php:994 |
836 | 815 | #: server/lib/pages/displaygroup.class.php:570 | 823 | #: server/lib/pages/displaygroup.class.php:342 |
837 | 816 | #: server/lib/pages/displaygroup.class.php:597 | 824 | #: server/lib/pages/displaygroup.class.php:579 |
838 | 817 | #: server/lib/pages/displaygroup.class.php:626 | 825 | #: server/lib/pages/displaygroup.class.php:606 |
839 | 826 | #: server/lib/pages/displaygroup.class.php:635 | ||
840 | 818 | #: server/lib/pages/template.class.php:400 | 827 | #: server/lib/pages/template.class.php:400 |
841 | 819 | #: server/lib/pages/template.class.php:427 | 828 | #: server/lib/pages/template.class.php:427 |
842 | 820 | #: server/lib/pages/template.class.php:456 | 829 | #: server/lib/pages/template.class.php:456 |
843 | @@ -1041,11 +1050,12 @@ | |||
844 | 1041 | #: server/lib/data/mediagroupsecurity.data.class.php:98 | 1050 | #: server/lib/data/mediagroupsecurity.data.class.php:98 |
845 | 1042 | #: server/lib/data/region.data.class.php:627 | 1051 | #: server/lib/data/region.data.class.php:627 |
846 | 1043 | #: server/lib/data/region.data.class.php:670 | 1052 | #: server/lib/data/region.data.class.php:670 |
848 | 1044 | #: server/lib/data/region.data.class.php:975 | 1053 | #: server/lib/data/region.data.class.php:977 |
849 | 1045 | #: server/lib/data/schedule.data.class.php:413 | 1054 | #: server/lib/data/schedule.data.class.php:413 |
850 | 1046 | #: server/lib/data/schedule.data.class.php:601 | 1055 | #: server/lib/data/schedule.data.class.php:601 |
851 | 1047 | #: server/lib/data/usergroup.data.class.php:337 | 1056 | #: server/lib/data/usergroup.data.class.php:337 |
853 | 1048 | #: server/lib/modules/module.class.php:1058 | 1057 | #: server/lib/modules/module.class.php:1063 |
854 | 1058 | #: server/lib/modules/module.class.php:1279 | ||
855 | 1049 | #: server/lib/pages/error.class.php:49 | 1059 | #: server/lib/pages/error.class.php:49 |
856 | 1050 | msgid "Unknown Error" | 1060 | msgid "Unknown Error" |
857 | 1051 | msgstr "" | 1061 | msgstr "" |
858 | @@ -1182,7 +1192,7 @@ | |||
859 | 1182 | msgstr "" | 1192 | msgstr "" |
860 | 1183 | 1193 | ||
861 | 1184 | #: server/lib/data/displaygroup.data.class.php:435 | 1194 | #: server/lib/data/displaygroup.data.class.php:435 |
863 | 1185 | #: server/lib/pages/displaygroup.class.php:860 | 1195 | #: server/lib/pages/displaygroup.class.php:869 |
864 | 1186 | msgid "" | 1196 | msgid "" |
865 | 1187 | "You have selected media that you no longer have permission to use. Please " | 1197 | "You have selected media that you no longer have permission to use. Please " |
866 | 1188 | "reload the form." | 1198 | "reload the form." |
867 | @@ -1324,7 +1334,7 @@ | |||
868 | 1324 | msgstr "" | 1334 | msgstr "" |
869 | 1325 | 1335 | ||
870 | 1326 | #: server/lib/data/layout.data.class.php:843 | 1336 | #: server/lib/data/layout.data.class.php:843 |
872 | 1327 | #: server/lib/pages/layout.class.php:587 | 1337 | #: server/lib/pages/layout.class.php:590 |
873 | 1328 | msgid "Unable to get the Resolution information" | 1338 | msgid "Unable to get the Resolution information" |
874 | 1329 | msgstr "" | 1339 | msgstr "" |
875 | 1330 | 1340 | ||
876 | @@ -1369,7 +1379,7 @@ | |||
877 | 1369 | 1379 | ||
878 | 1370 | #: server/lib/data/media.data.class.php:61 | 1380 | #: server/lib/data/media.data.class.php:61 |
879 | 1371 | #: server/lib/data/media.data.class.php:251 | 1381 | #: server/lib/data/media.data.class.php:251 |
881 | 1372 | #: server/lib/modules/module.class.php:797 | 1382 | #: server/lib/modules/module.class.php:802 |
882 | 1373 | #, php-format | 1383 | #, php-format |
883 | 1374 | msgid "Your library is full. Library Limit: %s K" | 1384 | msgid "Your library is full. Library Limit: %s K" |
884 | 1375 | msgstr "" | 1385 | msgstr "" |
885 | @@ -1385,8 +1395,8 @@ | |||
886 | 1385 | 1395 | ||
887 | 1386 | #: server/lib/data/media.data.class.php:81 | 1396 | #: server/lib/data/media.data.class.php:81 |
888 | 1387 | #: server/lib/data/media.data.class.php:190 | 1397 | #: server/lib/data/media.data.class.php:190 |
891 | 1388 | #: server/modules/datasetview.module.php:252 | 1398 | #: server/modules/datasetview.module.php:231 |
892 | 1389 | #: server/modules/datasetview.module.php:309 | 1399 | #: server/modules/datasetview.module.php:288 |
893 | 1390 | msgid "You must enter a duration." | 1400 | msgid "You must enter a duration." |
894 | 1391 | msgstr "" | 1401 | msgstr "" |
895 | 1392 | 1402 | ||
896 | @@ -1452,7 +1462,6 @@ | |||
897 | 1452 | msgstr "" | 1462 | msgstr "" |
898 | 1453 | 1463 | ||
899 | 1454 | #: server/lib/data/region.data.class.php:81 | 1464 | #: server/lib/data/region.data.class.php:81 |
900 | 1455 | #: server/lib/data/region.data.class.php:559 | ||
901 | 1456 | msgid "Size and coordinates must be generic" | 1465 | msgid "Size and coordinates must be generic" |
902 | 1457 | msgstr "" | 1466 | msgstr "" |
903 | 1458 | 1467 | ||
904 | @@ -1478,13 +1487,17 @@ | |||
905 | 1478 | msgid "Database error deleting this link record." | 1487 | msgid "Database error deleting this link record." |
906 | 1479 | msgstr "" | 1488 | msgstr "" |
907 | 1480 | 1489 | ||
909 | 1481 | #: server/lib/data/region.data.class.php:932 | 1490 | #: server/lib/data/region.data.class.php:559 |
910 | 1491 | msgid "Size and coordinates must be numeric" | ||
911 | 1492 | msgstr "" | ||
912 | 1493 | |||
913 | 1494 | #: server/lib/data/region.data.class.php:934 | ||
914 | 1482 | msgid "" | 1495 | msgid "" |
915 | 1483 | "You have selected media that you no longer have permission to use. Please " | 1496 | "You have selected media that you no longer have permission to use. Please " |
916 | 1484 | "reload Library form." | 1497 | "reload Library form." |
917 | 1485 | msgstr "" | 1498 | msgstr "" |
918 | 1486 | 1499 | ||
920 | 1487 | #: server/lib/data/region.data.class.php:941 | 1500 | #: server/lib/data/region.data.class.php:943 |
921 | 1488 | #: server/lib/service/rest.class.php:1037 | 1501 | #: server/lib/service/rest.class.php:1037 |
922 | 1489 | msgid "Error getting type from a media item." | 1502 | msgid "Error getting type from a media item." |
923 | 1490 | msgstr "" | 1503 | msgstr "" |
924 | @@ -1678,154 +1691,155 @@ | |||
925 | 1678 | msgid "Cannot find this media item. Please refresh the region options." | 1691 | msgid "Cannot find this media item. Please refresh the region options." |
926 | 1679 | msgstr "" | 1692 | msgstr "" |
927 | 1680 | 1693 | ||
929 | 1681 | #: server/lib/modules/module.class.php:256 | 1694 | #: server/lib/modules/module.class.php:248 |
930 | 1695 | #: server/lib/modules/module.class.php:260 | ||
931 | 1682 | msgid "Unable to find media record with the provided ID" | 1696 | msgid "Unable to find media record with the provided ID" |
932 | 1683 | msgstr "" | 1697 | msgstr "" |
933 | 1684 | 1698 | ||
935 | 1685 | #: server/lib/modules/module.class.php:410 | 1699 | #: server/lib/modules/module.class.php:415 |
936 | 1686 | msgid "There is an error in the HTML/XML" | 1700 | msgid "There is an error in the HTML/XML" |
937 | 1687 | msgstr "" | 1701 | msgstr "" |
938 | 1688 | 1702 | ||
940 | 1689 | #: server/lib/modules/module.class.php:458 | 1703 | #: server/lib/modules/module.class.php:463 |
941 | 1690 | msgid "Unable to Remove this media from the Layout" | 1704 | msgid "Unable to Remove this media from the Layout" |
942 | 1691 | msgstr "" | 1705 | msgstr "" |
943 | 1692 | 1706 | ||
945 | 1693 | #: server/lib/modules/module.class.php:468 | 1707 | #: server/lib/modules/module.class.php:473 |
946 | 1694 | msgid "Unable to assign to the Region" | 1708 | msgid "Unable to assign to the Region" |
947 | 1695 | msgstr "" | 1709 | msgstr "" |
948 | 1696 | 1710 | ||
950 | 1697 | #: server/lib/modules/module.class.php:476 | 1711 | #: server/lib/modules/module.class.php:481 |
951 | 1698 | msgid "Error adding this media to the library" | 1712 | msgid "Error adding this media to the library" |
952 | 1699 | msgstr "" | 1713 | msgstr "" |
953 | 1700 | 1714 | ||
955 | 1701 | #: server/lib/modules/module.class.php:511 | 1715 | #: server/lib/modules/module.class.php:516 |
956 | 1702 | msgid "Return to the Region Options" | 1716 | msgid "Return to the Region Options" |
957 | 1703 | msgstr "" | 1717 | msgstr "" |
958 | 1704 | 1718 | ||
960 | 1705 | #: server/lib/modules/module.class.php:512 | 1719 | #: server/lib/modules/module.class.php:517 |
961 | 1706 | msgid "Are you sure you want to remove this item?" | 1720 | msgid "Are you sure you want to remove this item?" |
962 | 1707 | msgstr "" | 1721 | msgstr "" |
963 | 1708 | 1722 | ||
965 | 1709 | #: server/lib/modules/module.class.php:513 | 1723 | #: server/lib/modules/module.class.php:518 |
966 | 1710 | msgid "It will be lost" | 1724 | msgid "It will be lost" |
967 | 1711 | msgstr "" | 1725 | msgstr "" |
968 | 1712 | 1726 | ||
972 | 1713 | #: server/lib/modules/module.class.php:514 | 1727 | #: server/lib/modules/module.class.php:519 |
973 | 1714 | #: server/lib/modules/module.class.php:528 | 1728 | #: server/lib/modules/module.class.php:533 |
974 | 1715 | #: server/lib/modules/module.class.php:629 | 1729 | #: server/lib/modules/module.class.php:634 |
975 | 1716 | #: server/lib/pages/campaign.class.php:285 | 1730 | #: server/lib/pages/campaign.class.php:285 |
976 | 1717 | #: server/lib/pages/display.class.php:478 | 1731 | #: server/lib/pages/display.class.php:478 |
977 | 1718 | #: server/lib/pages/display.class.php:616 | 1732 | #: server/lib/pages/display.class.php:616 |
978 | 1719 | #: server/lib/pages/displaygroup.class.php:234 | 1733 | #: server/lib/pages/displaygroup.class.php:234 |
979 | 1720 | #: server/lib/pages/group.class.php:344 server/lib/pages/help.class.php:256 | 1734 | #: server/lib/pages/group.class.php:344 server/lib/pages/help.class.php:256 |
981 | 1721 | #: server/lib/pages/layout.class.php:269 server/lib/pages/log.class.php:184 | 1735 | #: server/lib/pages/layout.class.php:272 server/lib/pages/log.class.php:184 |
982 | 1722 | #: server/lib/pages/resolution.class.php:192 | 1736 | #: server/lib/pages/resolution.class.php:192 |
985 | 1723 | #: server/lib/pages/schedule.class.php:1821 | 1737 | #: server/lib/pages/schedule.class.php:1824 |
986 | 1724 | #: server/lib/pages/schedule.class.php:2028 | 1738 | #: server/lib/pages/schedule.class.php:2031 |
987 | 1725 | #: server/lib/pages/sessions.class.php:154 | 1739 | #: server/lib/pages/sessions.class.php:154 |
988 | 1726 | #: server/lib/pages/template.class.php:258 | 1740 | #: server/lib/pages/template.class.php:258 |
989 | 1727 | #: server/lib/pages/timeline.class.php:334 server/lib/pages/user.class.php:574 | 1741 | #: server/lib/pages/timeline.class.php:334 server/lib/pages/user.class.php:574 |
990 | 1728 | msgid "Yes" | 1742 | msgid "Yes" |
991 | 1729 | msgstr "" | 1743 | msgstr "" |
992 | 1730 | 1744 | ||
997 | 1731 | #: server/lib/modules/module.class.php:515 | 1745 | #: server/lib/modules/module.class.php:520 |
998 | 1732 | #: server/lib/modules/module.class.php:527 | 1746 | #: server/lib/modules/module.class.php:532 |
999 | 1733 | #: server/lib/modules/module.class.php:625 | 1747 | #: server/lib/modules/module.class.php:630 |
1000 | 1734 | #: server/lib/modules/module.class.php:627 | 1748 | #: server/lib/modules/module.class.php:632 |
1001 | 1735 | #: server/lib/pages/campaign.class.php:284 | 1749 | #: server/lib/pages/campaign.class.php:284 |
1002 | 1736 | #: server/lib/pages/display.class.php:477 | 1750 | #: server/lib/pages/display.class.php:477 |
1003 | 1737 | #: server/lib/pages/display.class.php:616 | 1751 | #: server/lib/pages/display.class.php:616 |
1004 | 1738 | #: server/lib/pages/displaygroup.class.php:233 | 1752 | #: server/lib/pages/displaygroup.class.php:233 |
1005 | 1739 | #: server/lib/pages/group.class.php:343 server/lib/pages/help.class.php:255 | 1753 | #: server/lib/pages/group.class.php:343 server/lib/pages/help.class.php:255 |
1007 | 1740 | #: server/lib/pages/layout.class.php:268 server/lib/pages/log.class.php:183 | 1754 | #: server/lib/pages/layout.class.php:271 server/lib/pages/log.class.php:183 |
1008 | 1741 | #: server/lib/pages/resolution.class.php:191 | 1755 | #: server/lib/pages/resolution.class.php:191 |
1011 | 1742 | #: server/lib/pages/schedule.class.php:1820 | 1756 | #: server/lib/pages/schedule.class.php:1823 |
1012 | 1743 | #: server/lib/pages/schedule.class.php:2027 | 1757 | #: server/lib/pages/schedule.class.php:2030 |
1013 | 1744 | #: server/lib/pages/sessions.class.php:153 | 1758 | #: server/lib/pages/sessions.class.php:153 |
1014 | 1745 | #: server/lib/pages/template.class.php:257 | 1759 | #: server/lib/pages/template.class.php:257 |
1015 | 1746 | #: server/lib/pages/timeline.class.php:335 server/lib/pages/user.class.php:573 | 1760 | #: server/lib/pages/timeline.class.php:335 server/lib/pages/user.class.php:573 |
1016 | 1747 | msgid "No" | 1761 | msgid "No" |
1017 | 1748 | msgstr "" | 1762 | msgstr "" |
1018 | 1749 | 1763 | ||
1020 | 1750 | #: server/lib/modules/module.class.php:536 | 1764 | #: server/lib/modules/module.class.php:541 |
1021 | 1751 | msgid "Unassign from this region only" | 1765 | msgid "Unassign from this region only" |
1022 | 1752 | msgstr "" | 1766 | msgstr "" |
1023 | 1753 | 1767 | ||
1026 | 1754 | #: server/lib/modules/module.class.php:551 | 1768 | #: server/lib/modules/module.class.php:556 |
1027 | 1755 | #: server/lib/modules/module.class.php:935 | 1769 | #: server/lib/modules/module.class.php:940 |
1028 | 1756 | msgid "Error querying for the Media information" | 1770 | msgid "Error querying for the Media information" |
1029 | 1757 | msgstr "" | 1771 | msgstr "" |
1030 | 1758 | 1772 | ||
1032 | 1759 | #: server/lib/modules/module.class.php:556 | 1773 | #: server/lib/modules/module.class.php:561 |
1033 | 1760 | msgid "Unassign from this region and retire" | 1774 | msgid "Unassign from this region and retire" |
1034 | 1761 | msgstr "" | 1775 | msgstr "" |
1035 | 1762 | 1776 | ||
1037 | 1763 | #: server/lib/modules/module.class.php:578 | 1777 | #: server/lib/modules/module.class.php:583 |
1038 | 1764 | msgid "Cannot determine if this media has been used." | 1778 | msgid "Cannot determine if this media has been used." |
1039 | 1765 | msgstr "" | 1779 | msgstr "" |
1040 | 1766 | 1780 | ||
1042 | 1767 | #: server/lib/modules/module.class.php:585 | 1781 | #: server/lib/modules/module.class.php:590 |
1043 | 1768 | msgid "Delete this media" | 1782 | msgid "Delete this media" |
1044 | 1769 | msgstr "" | 1783 | msgstr "" |
1045 | 1770 | 1784 | ||
1047 | 1771 | #: server/lib/modules/module.class.php:589 | 1785 | #: server/lib/modules/module.class.php:594 |
1048 | 1772 | msgid "Unassign from all Layouts" | 1786 | msgid "Unassign from all Layouts" |
1049 | 1773 | msgstr "" | 1787 | msgstr "" |
1050 | 1774 | 1788 | ||
1052 | 1775 | #: server/lib/modules/module.class.php:590 | 1789 | #: server/lib/modules/module.class.php:595 |
1053 | 1776 | msgid "Retire this media" | 1790 | msgid "Retire this media" |
1054 | 1777 | msgstr "" | 1791 | msgstr "" |
1055 | 1778 | 1792 | ||
1057 | 1779 | #: server/lib/modules/module.class.php:598 | 1793 | #: server/lib/modules/module.class.php:603 |
1058 | 1780 | msgid "You do not have permission to alter/delete this media." | 1794 | msgid "You do not have permission to alter/delete this media." |
1059 | 1781 | msgstr "" | 1795 | msgstr "" |
1060 | 1782 | 1796 | ||
1062 | 1783 | #: server/lib/modules/module.class.php:608 | 1797 | #: server/lib/modules/module.class.php:613 |
1063 | 1784 | msgid "Are you sure you want to delete this media?" | 1798 | msgid "Are you sure you want to delete this media?" |
1064 | 1785 | msgstr "" | 1799 | msgstr "" |
1065 | 1786 | 1800 | ||
1067 | 1787 | #: server/lib/modules/module.class.php:609 | 1801 | #: server/lib/modules/module.class.php:614 |
1068 | 1788 | msgid "Please select from the following options" | 1802 | msgid "Please select from the following options" |
1069 | 1789 | msgstr "" | 1803 | msgstr "" |
1070 | 1790 | 1804 | ||
1072 | 1791 | #: server/lib/modules/module.class.php:610 | 1805 | #: server/lib/modules/module.class.php:615 |
1073 | 1792 | msgid "Deleting media cannot be undone" | 1806 | msgid "Deleting media cannot be undone" |
1074 | 1793 | msgstr "" | 1807 | msgstr "" |
1075 | 1794 | 1808 | ||
1077 | 1795 | #: server/lib/modules/module.class.php:633 | 1809 | #: server/lib/modules/module.class.php:638 |
1078 | 1796 | msgid "Delete Media" | 1810 | msgid "Delete Media" |
1079 | 1797 | msgstr "" | 1811 | msgstr "" |
1080 | 1798 | 1812 | ||
1082 | 1799 | #: server/lib/modules/module.class.php:706 | 1813 | #: server/lib/modules/module.class.php:711 |
1083 | 1800 | msgid "Completed Successfully" | 1814 | msgid "Completed Successfully" |
1084 | 1801 | msgstr "" | 1815 | msgstr "" |
1085 | 1802 | 1816 | ||
1087 | 1803 | #: server/lib/modules/module.class.php:762 | 1817 | #: server/lib/modules/module.class.php:767 |
1088 | 1804 | msgid "Media unassigned from all Layouts" | 1818 | msgid "Media unassigned from all Layouts" |
1089 | 1805 | msgstr "" | 1819 | msgstr "" |
1090 | 1806 | 1820 | ||
1093 | 1807 | #: server/lib/modules/module.class.php:772 | 1821 | #: server/lib/modules/module.class.php:777 |
1094 | 1808 | #: server/lib/modules/module.class.php:890 | 1822 | #: server/lib/modules/module.class.php:895 |
1095 | 1809 | msgid "Not yet implemented by this module." | 1823 | msgid "Not yet implemented by this module." |
1096 | 1810 | msgstr "" | 1824 | msgstr "" |
1097 | 1811 | 1825 | ||
1100 | 1812 | #: server/lib/modules/module.class.php:775 | 1826 | #: server/lib/modules/module.class.php:780 |
1101 | 1813 | #: server/lib/modules/module.class.php:893 | 1827 | #: server/lib/modules/module.class.php:898 |
1102 | 1814 | msgid "Add Item" | 1828 | msgid "Add Item" |
1103 | 1815 | msgstr "" | 1829 | msgstr "" |
1104 | 1816 | 1830 | ||
1106 | 1817 | #: server/lib/modules/module.class.php:842 | 1831 | #: server/lib/modules/module.class.php:847 |
1107 | 1818 | msgid "Assign to Layout" | 1832 | msgid "Assign to Layout" |
1108 | 1819 | msgstr "" | 1833 | msgstr "" |
1109 | 1820 | 1834 | ||
1111 | 1821 | #: server/lib/modules/module.class.php:843 | 1835 | #: server/lib/modules/module.class.php:848 |
1112 | 1822 | msgid "View Library" | 1836 | msgid "View Library" |
1113 | 1823 | msgstr "" | 1837 | msgstr "" |
1114 | 1824 | 1838 | ||
1119 | 1825 | #: server/lib/modules/module.class.php:844 | 1839 | #: server/lib/modules/module.class.php:849 |
1120 | 1826 | #: server/lib/modules/module.class.php:848 | 1840 | #: server/lib/modules/module.class.php:853 |
1121 | 1827 | #: server/lib/modules/module.class.php:852 | 1841 | #: server/lib/modules/module.class.php:857 |
1122 | 1828 | #: server/lib/modules/module.class.php:859 | 1842 | #: server/lib/modules/module.class.php:864 |
1123 | 1829 | #: server/lib/pages/admin.class.php:588 server/lib/pages/admin.class.php:611 | 1843 | #: server/lib/pages/admin.class.php:588 server/lib/pages/admin.class.php:611 |
1124 | 1830 | #: server/lib/pages/content.class.php:209 | 1844 | #: server/lib/pages/content.class.php:209 |
1125 | 1831 | #: server/lib/pages/dataset.class.php:373 | 1845 | #: server/lib/pages/dataset.class.php:373 |
1126 | @@ -1838,13 +1852,13 @@ | |||
1127 | 1838 | msgid "Close" | 1852 | msgid "Close" |
1128 | 1839 | msgstr "" | 1853 | msgstr "" |
1129 | 1840 | 1854 | ||
1137 | 1841 | #: server/lib/modules/module.class.php:952 | 1855 | #: server/lib/modules/module.class.php:957 |
1138 | 1842 | #: server/lib/modules/module.class.php:956 | 1856 | #: server/lib/modules/module.class.php:961 |
1139 | 1843 | #: server/lib/modules/module.class.php:960 | 1857 | #: server/lib/modules/module.class.php:965 |
1140 | 1844 | #: server/lib/modules/module.class.php:1404 | 1858 | #: server/lib/modules/module.class.php:1436 |
1141 | 1845 | #: server/lib/modules/module.class.php:1407 | 1859 | #: server/lib/modules/module.class.php:1439 |
1142 | 1846 | #: server/lib/modules/module.class.php:1654 | 1860 | #: server/lib/modules/module.class.php:1686 |
1143 | 1847 | #: server/lib/modules/module.class.php:1656 | 1861 | #: server/lib/modules/module.class.php:1688 |
1144 | 1848 | #: server/lib/pages/admin.class.php:672 | 1862 | #: server/lib/pages/admin.class.php:672 |
1145 | 1849 | #: server/lib/pages/campaign.class.php:145 | 1863 | #: server/lib/pages/campaign.class.php:145 |
1146 | 1850 | #: server/lib/pages/campaign.class.php:215 | 1864 | #: server/lib/pages/campaign.class.php:215 |
1147 | @@ -1865,20 +1879,20 @@ | |||
1148 | 1865 | #: server/lib/pages/display.class.php:825 | 1879 | #: server/lib/pages/display.class.php:825 |
1149 | 1866 | #: server/lib/pages/displaygroup.class.php:157 | 1880 | #: server/lib/pages/displaygroup.class.php:157 |
1150 | 1867 | #: server/lib/pages/displaygroup.class.php:205 | 1881 | #: server/lib/pages/displaygroup.class.php:205 |
1155 | 1868 | #: server/lib/pages/displaygroup.class.php:307 | 1882 | #: server/lib/pages/displaygroup.class.php:310 |
1156 | 1869 | #: server/lib/pages/displaygroup.class.php:541 | 1883 | #: server/lib/pages/displaygroup.class.php:550 |
1157 | 1870 | #: server/lib/pages/displaygroup.class.php:702 | 1884 | #: server/lib/pages/displaygroup.class.php:711 |
1158 | 1871 | #: server/lib/pages/displaygroup.class.php:836 | 1885 | #: server/lib/pages/displaygroup.class.php:845 |
1159 | 1872 | #: server/lib/pages/group.class.php:225 server/lib/pages/group.class.php:699 | 1886 | #: server/lib/pages/group.class.php:225 server/lib/pages/group.class.php:699 |
1160 | 1873 | #: server/lib/pages/help.class.php:195 server/lib/pages/help.class.php:233 | 1887 | #: server/lib/pages/help.class.php:195 server/lib/pages/help.class.php:233 |
1163 | 1874 | #: server/lib/pages/layout.class.php:513 server/lib/pages/layout.class.php:600 | 1888 | #: server/lib/pages/layout.class.php:516 server/lib/pages/layout.class.php:603 |
1164 | 1875 | #: server/lib/pages/layout.class.php:801 server/lib/pages/module.class.php:202 | 1889 | #: server/lib/pages/layout.class.php:804 server/lib/pages/module.class.php:202 |
1165 | 1876 | #: server/lib/pages/oauth.class.php:209 | 1890 | #: server/lib/pages/oauth.class.php:209 |
1166 | 1877 | #: server/lib/pages/resolution.class.php:125 | 1891 | #: server/lib/pages/resolution.class.php:125 |
1167 | 1878 | #: server/lib/pages/resolution.class.php:166 | 1892 | #: server/lib/pages/resolution.class.php:166 |
1171 | 1879 | #: server/lib/pages/schedule.class.php:1448 | 1893 | #: server/lib/pages/schedule.class.php:1451 |
1172 | 1880 | #: server/lib/pages/schedule.class.php:1615 | 1894 | #: server/lib/pages/schedule.class.php:1618 |
1173 | 1881 | #: server/lib/pages/schedule.class.php:1940 | 1895 | #: server/lib/pages/schedule.class.php:1943 |
1174 | 1882 | #: server/lib/pages/template.class.php:155 | 1896 | #: server/lib/pages/template.class.php:155 |
1175 | 1883 | #: server/lib/pages/template.class.php:368 | 1897 | #: server/lib/pages/template.class.php:368 |
1176 | 1884 | #: server/lib/pages/timeline.class.php:190 | 1898 | #: server/lib/pages/timeline.class.php:190 |
1177 | @@ -1888,10 +1902,10 @@ | |||
1178 | 1888 | #: server/lib/pages/user.class.php:547 server/lib/pages/user.class.php:601 | 1902 | #: server/lib/pages/user.class.php:547 server/lib/pages/user.class.php:601 |
1179 | 1889 | #: server/modules/counter.module.php:60 server/modules/counter.module.php:64 | 1903 | #: server/modules/counter.module.php:60 server/modules/counter.module.php:64 |
1180 | 1890 | #: server/modules/counter.module.php:126 server/modules/counter.module.php:130 | 1904 | #: server/modules/counter.module.php:126 server/modules/counter.module.php:130 |
1185 | 1891 | #: server/modules/datasetview.module.php:86 | 1905 | #: server/modules/datasetview.module.php:65 |
1186 | 1892 | #: server/modules/datasetview.module.php:90 | 1906 | #: server/modules/datasetview.module.php:69 |
1187 | 1893 | #: server/modules/datasetview.module.php:206 | 1907 | #: server/modules/datasetview.module.php:185 |
1188 | 1894 | #: server/modules/datasetview.module.php:210 | 1908 | #: server/modules/datasetview.module.php:189 |
1189 | 1895 | #: server/modules/embedded.module.php:67 server/modules/embedded.module.php:71 | 1909 | #: server/modules/embedded.module.php:67 server/modules/embedded.module.php:71 |
1190 | 1896 | #: server/modules/embedded.module.php:135 | 1910 | #: server/modules/embedded.module.php:135 |
1191 | 1897 | #: server/modules/embedded.module.php:139 | 1911 | #: server/modules/embedded.module.php:139 |
1192 | @@ -1917,9 +1931,9 @@ | |||
1193 | 1917 | msgid "Cancel" | 1931 | msgid "Cancel" |
1194 | 1918 | msgstr "" | 1932 | msgstr "" |
1195 | 1919 | 1933 | ||
1199 | 1920 | #: server/lib/modules/module.class.php:963 | 1934 | #: server/lib/modules/module.class.php:968 |
1200 | 1921 | #: server/lib/modules/module.class.php:1410 | 1935 | #: server/lib/modules/module.class.php:1442 |
1201 | 1922 | #: server/lib/modules/module.class.php:1659 | 1936 | #: server/lib/modules/module.class.php:1691 |
1202 | 1923 | #: server/lib/pages/admin.class.php:168 | 1937 | #: server/lib/pages/admin.class.php:168 |
1203 | 1924 | #: server/lib/pages/campaign.class.php:146 | 1938 | #: server/lib/pages/campaign.class.php:146 |
1204 | 1925 | #: server/lib/pages/campaign.class.php:216 | 1939 | #: server/lib/pages/campaign.class.php:216 |
1205 | @@ -1933,18 +1947,18 @@ | |||
1206 | 1933 | #: server/lib/pages/display.class.php:731 | 1947 | #: server/lib/pages/display.class.php:731 |
1207 | 1934 | #: server/lib/pages/displaygroup.class.php:158 | 1948 | #: server/lib/pages/displaygroup.class.php:158 |
1208 | 1935 | #: server/lib/pages/displaygroup.class.php:206 | 1949 | #: server/lib/pages/displaygroup.class.php:206 |
1212 | 1936 | #: server/lib/pages/displaygroup.class.php:308 | 1950 | #: server/lib/pages/displaygroup.class.php:311 |
1213 | 1937 | #: server/lib/pages/displaygroup.class.php:542 | 1951 | #: server/lib/pages/displaygroup.class.php:551 |
1214 | 1938 | #: server/lib/pages/displaygroup.class.php:837 | 1952 | #: server/lib/pages/displaygroup.class.php:846 |
1215 | 1939 | #: server/lib/pages/group.class.php:226 server/lib/pages/group.class.php:700 | 1953 | #: server/lib/pages/group.class.php:226 server/lib/pages/group.class.php:700 |
1216 | 1940 | #: server/lib/pages/help.class.php:196 server/lib/pages/help.class.php:234 | 1954 | #: server/lib/pages/help.class.php:196 server/lib/pages/help.class.php:234 |
1218 | 1941 | #: server/lib/pages/layout.class.php:514 server/lib/pages/layout.class.php:601 | 1955 | #: server/lib/pages/layout.class.php:517 server/lib/pages/layout.class.php:604 |
1219 | 1942 | #: server/lib/pages/module.class.php:203 | 1956 | #: server/lib/pages/module.class.php:203 |
1220 | 1943 | #: server/lib/pages/resolution.class.php:126 | 1957 | #: server/lib/pages/resolution.class.php:126 |
1221 | 1944 | #: server/lib/pages/resolution.class.php:167 | 1958 | #: server/lib/pages/resolution.class.php:167 |
1225 | 1945 | #: server/lib/pages/schedule.class.php:1450 | 1959 | #: server/lib/pages/schedule.class.php:1453 |
1226 | 1946 | #: server/lib/pages/schedule.class.php:1616 | 1960 | #: server/lib/pages/schedule.class.php:1619 |
1227 | 1947 | #: server/lib/pages/schedule.class.php:1941 | 1961 | #: server/lib/pages/schedule.class.php:1944 |
1228 | 1948 | #: server/lib/pages/template.class.php:156 | 1962 | #: server/lib/pages/template.class.php:156 |
1229 | 1949 | #: server/lib/pages/template.class.php:369 | 1963 | #: server/lib/pages/template.class.php:369 |
1230 | 1950 | #: server/lib/pages/timeline.class.php:191 | 1964 | #: server/lib/pages/timeline.class.php:191 |
1231 | @@ -1953,8 +1967,8 @@ | |||
1232 | 1953 | #: server/lib/pages/user.class.php:548 server/lib/pages/user.class.php:602 | 1967 | #: server/lib/pages/user.class.php:548 server/lib/pages/user.class.php:602 |
1233 | 1954 | #: server/lib/pages/user.class.php:693 server/lib/pages/user.class.php:744 | 1968 | #: server/lib/pages/user.class.php:693 server/lib/pages/user.class.php:744 |
1234 | 1955 | #: server/modules/counter.module.php:70 server/modules/counter.module.php:136 | 1969 | #: server/modules/counter.module.php:70 server/modules/counter.module.php:136 |
1237 | 1956 | #: server/modules/datasetview.module.php:93 | 1970 | #: server/modules/datasetview.module.php:72 |
1238 | 1957 | #: server/modules/datasetview.module.php:213 | 1971 | #: server/modules/datasetview.module.php:192 |
1239 | 1958 | #: server/modules/embedded.module.php:79 | 1972 | #: server/modules/embedded.module.php:79 |
1240 | 1959 | #: server/modules/embedded.module.php:147 | 1973 | #: server/modules/embedded.module.php:147 |
1241 | 1960 | #: server/modules/localvideo.module.php:78 | 1974 | #: server/modules/localvideo.module.php:78 |
1242 | @@ -1970,21 +1984,21 @@ | |||
1243 | 1970 | msgid "Save" | 1984 | msgid "Save" |
1244 | 1971 | msgstr "" | 1985 | msgstr "" |
1245 | 1972 | 1986 | ||
1247 | 1973 | #: server/lib/modules/module.class.php:1001 | 1987 | #: server/lib/modules/module.class.php:1006 |
1248 | 1974 | msgid "Add Media has not been implemented for this module." | 1988 | msgid "Add Media has not been implemented for this module." |
1249 | 1975 | msgstr "" | 1989 | msgstr "" |
1250 | 1976 | 1990 | ||
1252 | 1977 | #: server/lib/modules/module.class.php:1048 | 1991 | #: server/lib/modules/module.class.php:1053 |
1253 | 1978 | msgid "Unable to get the storage name" | 1992 | msgid "Unable to get the storage name" |
1254 | 1979 | msgstr "" | 1993 | msgstr "" |
1255 | 1980 | 1994 | ||
1257 | 1981 | #: server/lib/modules/module.class.php:1084 | 1995 | #: server/lib/modules/module.class.php:1089 |
1258 | 1982 | msgid "Edit Media has not been implemented for this module." | 1996 | msgid "Edit Media has not been implemented for this module." |
1259 | 1983 | msgstr "" | 1997 | msgstr "" |
1260 | 1984 | 1998 | ||
1264 | 1985 | #: server/lib/modules/module.class.php:1300 | 1999 | #: server/lib/modules/module.class.php:1332 |
1265 | 1986 | #: server/lib/pages/schedule.class.php:1195 | 2000 | #: server/lib/pages/schedule.class.php:1198 |
1266 | 1987 | #: server/lib/pages/schedule.class.php:1315 | 2001 | #: server/lib/pages/schedule.class.php:1318 |
1267 | 1988 | #: server/modules/ticker.module.php:433 | 2002 | #: server/modules/ticker.module.php:433 |
1268 | 1989 | #: server/theme/default/html/displaygroup_fileassociations_form_assign.php:49 | 2003 | #: server/theme/default/html/displaygroup_fileassociations_form_assign.php:49 |
1269 | 1990 | #: server/theme/default/html/displaygroup_fileassociations_form_assign_list.php:27 | 2004 | #: server/theme/default/html/displaygroup_fileassociations_form_assign_list.php:27 |
1270 | @@ -2001,10 +2015,10 @@ | |||
1271 | 2001 | msgid "Type" | 2015 | msgid "Type" |
1272 | 2002 | msgstr "" | 2016 | msgstr "" |
1273 | 2003 | 2017 | ||
1275 | 2004 | #: server/lib/modules/module.class.php:1301 | 2018 | #: server/lib/modules/module.class.php:1333 |
1276 | 2005 | #: server/lib/pages/schedule.class.php:462 | 2019 | #: server/lib/pages/schedule.class.php:462 |
1279 | 2006 | #: server/lib/pages/schedule.class.php:1194 | 2020 | #: server/lib/pages/schedule.class.php:1197 |
1280 | 2007 | #: server/lib/pages/schedule.class.php:1314 | 2021 | #: server/lib/pages/schedule.class.php:1317 |
1281 | 2008 | #: server/theme/default/html/campaign_form_add.php:31 | 2022 | #: server/theme/default/html/campaign_form_add.php:31 |
1282 | 2009 | #: server/theme/default/html/campaign_form_edit.php:32 | 2023 | #: server/theme/default/html/campaign_form_edit.php:32 |
1283 | 2010 | #: server/theme/default/html/campaign_form_layout_assign.php:47 | 2024 | #: server/theme/default/html/campaign_form_layout_assign.php:47 |
1284 | @@ -2045,7 +2059,7 @@ | |||
1285 | 2045 | msgid "Name" | 2059 | msgid "Name" |
1286 | 2046 | msgstr "" | 2060 | msgstr "" |
1287 | 2047 | 2061 | ||
1289 | 2048 | #: server/lib/modules/module.class.php:1302 | 2062 | #: server/lib/modules/module.class.php:1334 |
1290 | 2049 | #: server/modules/localvideo.module.php:48 | 2063 | #: server/modules/localvideo.module.php:48 |
1291 | 2050 | #: server/modules/localvideo.module.php:112 | 2064 | #: server/modules/localvideo.module.php:112 |
1292 | 2051 | #: server/modules/ticker.module.php:435 | 2065 | #: server/modules/ticker.module.php:435 |
1293 | @@ -2071,18 +2085,18 @@ | |||
1294 | 2071 | msgid "Duration" | 2085 | msgid "Duration" |
1295 | 2072 | msgstr "" | 2086 | msgstr "" |
1296 | 2073 | 2087 | ||
1298 | 2074 | #: server/lib/modules/module.class.php:1314 | 2088 | #: server/lib/modules/module.class.php:1346 |
1299 | 2075 | #: server/modules/ticker.module.php:452 | 2089 | #: server/modules/ticker.module.php:452 |
1300 | 2076 | msgid "seconds" | 2090 | msgid "seconds" |
1301 | 2077 | msgstr "" | 2091 | msgstr "" |
1302 | 2078 | 2092 | ||
1304 | 2079 | #: server/lib/modules/module.class.php:1338 | 2093 | #: server/lib/modules/module.class.php:1370 |
1305 | 2080 | msgid "You do not have permissions to edit this media" | 2094 | msgid "You do not have permissions to edit this media" |
1306 | 2081 | msgstr "" | 2095 | msgstr "" |
1307 | 2082 | 2096 | ||
1309 | 2083 | #: server/lib/modules/module.class.php:1347 | 2097 | #: server/lib/modules/module.class.php:1379 |
1310 | 2084 | #: server/lib/pages/schedule.class.php:477 | 2098 | #: server/lib/pages/schedule.class.php:477 |
1312 | 2085 | #: server/lib/pages/schedule.class.php:1329 | 2099 | #: server/lib/pages/schedule.class.php:1332 |
1313 | 2086 | #: server/lib/pages/timeline.class.php:504 | 2100 | #: server/lib/pages/timeline.class.php:504 |
1314 | 2087 | #: server/theme/default/html/campaign_form_permissions.php:39 | 2101 | #: server/theme/default/html/campaign_form_permissions.php:39 |
1315 | 2088 | #: server/theme/default/html/dataset_form_permissions.php:39 | 2102 | #: server/theme/default/html/dataset_form_permissions.php:39 |
1316 | @@ -2091,7 +2105,7 @@ | |||
1317 | 2091 | msgid "Group" | 2105 | msgid "Group" |
1318 | 2092 | msgstr "" | 2106 | msgstr "" |
1319 | 2093 | 2107 | ||
1321 | 2094 | #: server/lib/modules/module.class.php:1348 | 2108 | #: server/lib/modules/module.class.php:1380 |
1322 | 2095 | #: server/lib/pages/timeline.class.php:505 | 2109 | #: server/lib/pages/timeline.class.php:505 |
1323 | 2096 | #: server/theme/default/html/campaign_form_permissions.php:40 | 2110 | #: server/theme/default/html/campaign_form_permissions.php:40 |
1324 | 2097 | #: server/theme/default/html/dataset_form_permissions.php:40 | 2111 | #: server/theme/default/html/dataset_form_permissions.php:40 |
1325 | @@ -2100,7 +2114,7 @@ | |||
1326 | 2100 | msgid "View" | 2114 | msgid "View" |
1327 | 2101 | msgstr "" | 2115 | msgstr "" |
1328 | 2102 | 2116 | ||
1330 | 2103 | #: server/lib/modules/module.class.php:1349 | 2117 | #: server/lib/modules/module.class.php:1381 |
1331 | 2104 | #: server/lib/pages/campaign.class.php:93 | 2118 | #: server/lib/pages/campaign.class.php:93 |
1332 | 2105 | #: server/lib/pages/content.class.php:127 | 2119 | #: server/lib/pages/content.class.php:127 |
1333 | 2106 | #: server/lib/pages/dataset.class.php:102 | 2120 | #: server/lib/pages/dataset.class.php:102 |
1334 | @@ -2109,7 +2123,7 @@ | |||
1335 | 2109 | #: server/lib/pages/display.class.php:345 | 2123 | #: server/lib/pages/display.class.php:345 |
1336 | 2110 | #: server/lib/pages/displaygroup.class.php:91 | 2124 | #: server/lib/pages/displaygroup.class.php:91 |
1337 | 2111 | #: server/lib/pages/group.class.php:144 server/lib/pages/help.class.php:153 | 2125 | #: server/lib/pages/group.class.php:144 server/lib/pages/help.class.php:153 |
1339 | 2112 | #: server/lib/pages/layout.class.php:422 | 2126 | #: server/lib/pages/layout.class.php:425 |
1340 | 2113 | #: server/lib/pages/mediamanager.class.php:158 | 2127 | #: server/lib/pages/mediamanager.class.php:158 |
1341 | 2114 | #: server/lib/pages/module.class.php:135 | 2128 | #: server/lib/pages/module.class.php:135 |
1342 | 2115 | #: server/lib/pages/resolution.class.php:87 | 2129 | #: server/lib/pages/resolution.class.php:87 |
1343 | @@ -2125,7 +2139,7 @@ | |||
1344 | 2125 | msgid "Edit" | 2139 | msgid "Edit" |
1345 | 2126 | msgstr "" | 2140 | msgstr "" |
1346 | 2127 | 2141 | ||
1348 | 2128 | #: server/lib/modules/module.class.php:1350 | 2142 | #: server/lib/modules/module.class.php:1382 |
1349 | 2129 | #: server/lib/pages/campaign.class.php:103 | 2143 | #: server/lib/pages/campaign.class.php:103 |
1350 | 2130 | #: server/lib/pages/content.class.php:137 | 2144 | #: server/lib/pages/content.class.php:137 |
1351 | 2131 | #: server/lib/pages/dataset.class.php:119 | 2145 | #: server/lib/pages/dataset.class.php:119 |
1352 | @@ -2135,10 +2149,10 @@ | |||
1353 | 2135 | #: server/lib/pages/display.class.php:369 | 2149 | #: server/lib/pages/display.class.php:369 |
1354 | 2136 | #: server/lib/pages/displaygroup.class.php:108 | 2150 | #: server/lib/pages/displaygroup.class.php:108 |
1355 | 2137 | #: server/lib/pages/group.class.php:151 server/lib/pages/help.class.php:160 | 2151 | #: server/lib/pages/group.class.php:151 server/lib/pages/help.class.php:160 |
1357 | 2138 | #: server/lib/pages/layout.class.php:438 server/lib/pages/layout.class.php:746 | 2152 | #: server/lib/pages/layout.class.php:441 server/lib/pages/layout.class.php:749 |
1358 | 2139 | #: server/lib/pages/resolution.class.php:94 | 2153 | #: server/lib/pages/resolution.class.php:94 |
1359 | 2140 | #: server/lib/pages/schedule.class.php:482 | 2154 | #: server/lib/pages/schedule.class.php:482 |
1361 | 2141 | #: server/lib/pages/schedule.class.php:1614 | 2155 | #: server/lib/pages/schedule.class.php:1617 |
1362 | 2142 | #: server/lib/pages/template.class.php:112 | 2156 | #: server/lib/pages/template.class.php:112 |
1363 | 2143 | #: server/lib/pages/timeline.class.php:349 | 2157 | #: server/lib/pages/timeline.class.php:349 |
1364 | 2144 | #: server/lib/pages/timeline.class.php:507 | 2158 | #: server/lib/pages/timeline.class.php:507 |
1365 | @@ -2150,11 +2164,11 @@ | |||
1366 | 2150 | msgid "Delete" | 2164 | msgid "Delete" |
1367 | 2151 | msgstr "" | 2165 | msgstr "" |
1368 | 2152 | 2166 | ||
1370 | 2153 | #: server/lib/modules/module.class.php:1381 | 2167 | #: server/lib/modules/module.class.php:1413 |
1371 | 2154 | msgid "Unable to get permissions for this layout" | 2168 | msgid "Unable to get permissions for this layout" |
1372 | 2155 | msgstr "" | 2169 | msgstr "" |
1373 | 2156 | 2170 | ||
1375 | 2157 | #: server/lib/modules/module.class.php:1400 | 2171 | #: server/lib/modules/module.class.php:1432 |
1376 | 2158 | #: server/lib/pages/campaign.class.php:113 | 2172 | #: server/lib/pages/campaign.class.php:113 |
1377 | 2159 | #: server/lib/pages/campaign.class.php:387 | 2173 | #: server/lib/pages/campaign.class.php:387 |
1378 | 2160 | #: server/lib/pages/content.class.php:147 | 2174 | #: server/lib/pages/content.class.php:147 |
1379 | @@ -2162,8 +2176,8 @@ | |||
1380 | 2162 | #: server/lib/pages/dataset.class.php:909 | 2176 | #: server/lib/pages/dataset.class.php:909 |
1381 | 2163 | #: server/lib/pages/display.class.php:386 | 2177 | #: server/lib/pages/display.class.php:386 |
1382 | 2164 | #: server/lib/pages/displaygroup.class.php:118 | 2178 | #: server/lib/pages/displaygroup.class.php:118 |
1385 | 2165 | #: server/lib/pages/displaygroup.class.php:539 | 2179 | #: server/lib/pages/displaygroup.class.php:548 |
1386 | 2166 | #: server/lib/pages/layout.class.php:448 server/lib/pages/layout.class.php:747 | 2180 | #: server/lib/pages/layout.class.php:451 server/lib/pages/layout.class.php:750 |
1387 | 2167 | #: server/lib/pages/template.class.php:122 | 2181 | #: server/lib/pages/template.class.php:122 |
1388 | 2168 | #: server/lib/pages/template.class.php:366 | 2182 | #: server/lib/pages/template.class.php:366 |
1389 | 2169 | #: server/lib/pages/timeline.class.php:546 | 2183 | #: server/lib/pages/timeline.class.php:546 |
1390 | @@ -2175,124 +2189,124 @@ | |||
1391 | 2175 | msgid "Permissions" | 2189 | msgid "Permissions" |
1392 | 2176 | msgstr "" | 2190 | msgstr "" |
1393 | 2177 | 2191 | ||
1397 | 2178 | #: server/lib/modules/module.class.php:1433 | 2192 | #: server/lib/modules/module.class.php:1465 |
1398 | 2179 | #: server/lib/pages/layout.class.php:65 server/lib/pages/layout.class.php:530 | 2193 | #: server/lib/pages/layout.class.php:65 server/lib/pages/layout.class.php:533 |
1399 | 2180 | #: server/lib/pages/layout.class.php:625 | 2194 | #: server/lib/pages/layout.class.php:628 |
1400 | 2181 | msgid "You do not have permissions to edit this layout" | 2195 | msgid "You do not have permissions to edit this layout" |
1401 | 2182 | msgstr "" | 2196 | msgstr "" |
1402 | 2183 | 2197 | ||
1404 | 2184 | #: server/lib/modules/module.class.php:1522 | 2198 | #: server/lib/modules/module.class.php:1554 |
1405 | 2185 | #: server/lib/pages/campaign.class.php:475 | 2199 | #: server/lib/pages/campaign.class.php:475 |
1406 | 2186 | #: server/lib/pages/dataset.class.php:997 | 2200 | #: server/lib/pages/dataset.class.php:997 |
1408 | 2187 | #: server/lib/pages/displaygroup.class.php:629 | 2201 | #: server/lib/pages/displaygroup.class.php:638 |
1409 | 2188 | #: server/lib/pages/template.class.php:459 | 2202 | #: server/lib/pages/template.class.php:459 |
1410 | 2189 | #: server/lib/pages/timeline.class.php:634 | 2203 | #: server/lib/pages/timeline.class.php:634 |
1411 | 2190 | msgid "Permissions Changed" | 2204 | msgid "Permissions Changed" |
1412 | 2191 | msgstr "" | 2205 | msgstr "" |
1413 | 2192 | 2206 | ||
1417 | 2193 | #: server/lib/modules/module.class.php:1595 | 2207 | #: server/lib/modules/module.class.php:1627 |
1418 | 2194 | #: server/lib/modules/module.class.php:1707 | 2208 | #: server/lib/modules/module.class.php:1739 |
1419 | 2195 | #: server/lib/modules/module.class.php:1740 | 2209 | #: server/lib/modules/module.class.php:1772 |
1420 | 2196 | msgid "Unknown transition type" | 2210 | msgid "Unknown transition type" |
1421 | 2197 | msgstr "" | 2211 | msgstr "" |
1422 | 2198 | 2212 | ||
1424 | 2199 | #: server/lib/modules/module.class.php:1607 | 2213 | #: server/lib/modules/module.class.php:1639 |
1425 | 2200 | #: server/lib/pages/timeline.class.php:169 | 2214 | #: server/lib/pages/timeline.class.php:169 |
1426 | 2201 | msgid "North" | 2215 | msgid "North" |
1427 | 2202 | msgstr "" | 2216 | msgstr "" |
1428 | 2203 | 2217 | ||
1430 | 2204 | #: server/lib/modules/module.class.php:1608 | 2218 | #: server/lib/modules/module.class.php:1640 |
1431 | 2205 | #: server/lib/pages/timeline.class.php:170 | 2219 | #: server/lib/pages/timeline.class.php:170 |
1432 | 2206 | msgid "North East" | 2220 | msgid "North East" |
1433 | 2207 | msgstr "" | 2221 | msgstr "" |
1434 | 2208 | 2222 | ||
1436 | 2209 | #: server/lib/modules/module.class.php:1609 | 2223 | #: server/lib/modules/module.class.php:1641 |
1437 | 2210 | #: server/lib/pages/timeline.class.php:171 | 2224 | #: server/lib/pages/timeline.class.php:171 |
1438 | 2211 | msgid "East" | 2225 | msgid "East" |
1439 | 2212 | msgstr "" | 2226 | msgstr "" |
1440 | 2213 | 2227 | ||
1442 | 2214 | #: server/lib/modules/module.class.php:1610 | 2228 | #: server/lib/modules/module.class.php:1642 |
1443 | 2215 | #: server/lib/pages/timeline.class.php:172 | 2229 | #: server/lib/pages/timeline.class.php:172 |
1444 | 2216 | msgid "South East" | 2230 | msgid "South East" |
1445 | 2217 | msgstr "" | 2231 | msgstr "" |
1446 | 2218 | 2232 | ||
1448 | 2219 | #: server/lib/modules/module.class.php:1611 | 2233 | #: server/lib/modules/module.class.php:1643 |
1449 | 2220 | #: server/lib/pages/timeline.class.php:173 | 2234 | #: server/lib/pages/timeline.class.php:173 |
1450 | 2221 | msgid "South" | 2235 | msgid "South" |
1451 | 2222 | msgstr "" | 2236 | msgstr "" |
1452 | 2223 | 2237 | ||
1454 | 2224 | #: server/lib/modules/module.class.php:1612 | 2238 | #: server/lib/modules/module.class.php:1644 |
1455 | 2225 | #: server/lib/pages/timeline.class.php:174 | 2239 | #: server/lib/pages/timeline.class.php:174 |
1456 | 2226 | msgid "South West" | 2240 | msgid "South West" |
1457 | 2227 | msgstr "" | 2241 | msgstr "" |
1458 | 2228 | 2242 | ||
1460 | 2229 | #: server/lib/modules/module.class.php:1613 | 2243 | #: server/lib/modules/module.class.php:1645 |
1461 | 2230 | #: server/lib/pages/timeline.class.php:175 | 2244 | #: server/lib/pages/timeline.class.php:175 |
1462 | 2231 | msgid "West" | 2245 | msgid "West" |
1463 | 2232 | msgstr "" | 2246 | msgstr "" |
1464 | 2233 | 2247 | ||
1466 | 2234 | #: server/lib/modules/module.class.php:1614 | 2248 | #: server/lib/modules/module.class.php:1646 |
1467 | 2235 | #: server/lib/pages/timeline.class.php:176 | 2249 | #: server/lib/pages/timeline.class.php:176 |
1468 | 2236 | msgid "North West" | 2250 | msgid "North West" |
1469 | 2237 | msgstr "" | 2251 | msgstr "" |
1470 | 2238 | 2252 | ||
1472 | 2239 | #: server/lib/modules/module.class.php:1621 | 2253 | #: server/lib/modules/module.class.php:1653 |
1473 | 2240 | msgid "What transition should be applied to this media item?" | 2254 | msgid "What transition should be applied to this media item?" |
1474 | 2241 | msgstr "" | 2255 | msgstr "" |
1475 | 2242 | 2256 | ||
1477 | 2243 | #: server/lib/modules/module.class.php:1622 | 2257 | #: server/lib/modules/module.class.php:1654 |
1478 | 2244 | #: server/theme/default/html/region_form_options.php:56 | 2258 | #: server/theme/default/html/region_form_options.php:56 |
1479 | 2245 | msgid "The duration for this transition, in milliseconds." | 2259 | msgid "The duration for this transition, in milliseconds." |
1480 | 2246 | msgstr "" | 2260 | msgstr "" |
1481 | 2247 | 2261 | ||
1483 | 2248 | #: server/lib/modules/module.class.php:1623 | 2262 | #: server/lib/modules/module.class.php:1655 |
1484 | 2249 | msgid "The direction for this transition." | 2263 | msgid "The direction for this transition." |
1485 | 2250 | msgstr "" | 2264 | msgstr "" |
1486 | 2251 | 2265 | ||
1488 | 2252 | #: server/lib/modules/module.class.php:1744 server/modules/text.module.php:52 | 2266 | #: server/lib/modules/module.class.php:1776 server/modules/text.module.php:52 |
1489 | 2253 | #: server/modules/text.module.php:130 server/modules/ticker.module.php:132 | 2267 | #: server/modules/text.module.php:130 server/modules/ticker.module.php:132 |
1490 | 2254 | #: server/modules/webpage.module.php:51 server/modules/webpage.module.php:108 | 2268 | #: server/modules/webpage.module.php:51 server/modules/webpage.module.php:108 |
1491 | 2255 | msgid "None" | 2269 | msgid "None" |
1492 | 2256 | msgstr "" | 2270 | msgstr "" |
1493 | 2257 | 2271 | ||
1495 | 2258 | #: server/lib/modules/module.class.php:1761 | 2272 | #: server/lib/modules/module.class.php:1793 |
1496 | 2259 | msgid "No XLF provided" | 2273 | msgid "No XLF provided" |
1497 | 2260 | msgstr "" | 2274 | msgstr "" |
1498 | 2261 | 2275 | ||
1500 | 2262 | #: server/lib/modules/module.class.php:1769 | 2276 | #: server/lib/modules/module.class.php:1801 |
1501 | 2263 | msgid "Invalid XLF" | 2277 | msgid "Invalid XLF" |
1502 | 2264 | msgstr "" | 2278 | msgstr "" |
1503 | 2265 | 2279 | ||
1505 | 2266 | #: server/lib/modules/module.class.php:1797 | 2280 | #: server/lib/modules/module.class.php:1829 |
1506 | 2267 | msgid "Too many media nodes" | 2281 | msgid "Too many media nodes" |
1507 | 2268 | msgstr "" | 2282 | msgstr "" |
1508 | 2269 | 2283 | ||
1510 | 2270 | #: server/lib/modules/module.class.php:1804 | 2284 | #: server/lib/modules/module.class.php:1836 |
1511 | 2271 | msgid "SchemaVersion does not match" | 2285 | msgid "SchemaVersion does not match" |
1512 | 2272 | msgstr "" | 2286 | msgstr "" |
1513 | 2273 | 2287 | ||
1515 | 2274 | #: server/lib/modules/module.class.php:1808 | 2288 | #: server/lib/modules/module.class.php:1840 |
1516 | 2275 | msgid "Media Type does not match" | 2289 | msgid "Media Type does not match" |
1517 | 2276 | msgstr "" | 2290 | msgstr "" |
1518 | 2277 | 2291 | ||
1520 | 2278 | #: server/lib/modules/module.class.php:1817 | 2292 | #: server/lib/modules/module.class.php:1849 |
1521 | 2279 | #, php-format | 2293 | #, php-format |
1522 | 2280 | msgid "ID does not match [%s vs %s]" | 2294 | msgid "ID does not match [%s vs %s]" |
1523 | 2281 | msgstr "" | 2295 | msgstr "" |
1524 | 2282 | 2296 | ||
1526 | 2283 | #: server/lib/modules/module.class.php:1821 | 2297 | #: server/lib/modules/module.class.php:1853 |
1527 | 2284 | msgid "UserId does not match" | 2298 | msgid "UserId does not match" |
1528 | 2285 | msgstr "" | 2299 | msgstr "" |
1529 | 2286 | 2300 | ||
1531 | 2287 | #: server/lib/modules/module.class.php:1836 | 2301 | #: server/lib/modules/module.class.php:1868 |
1532 | 2288 | msgid "ID does not match" | 2302 | msgid "ID does not match" |
1533 | 2289 | msgstr "" | 2303 | msgstr "" |
1534 | 2290 | 2304 | ||
1536 | 2291 | #: server/lib/modules/module.class.php:1848 | 2305 | #: server/lib/modules/module.class.php:1880 |
1537 | 2292 | msgid "Duration not provided or not a number" | 2306 | msgid "Duration not provided or not a number" |
1538 | 2293 | msgstr "" | 2307 | msgstr "" |
1539 | 2294 | 2308 | ||
1541 | 2295 | #: server/lib/modules/module.class.php:1851 | 2309 | #: server/lib/modules/module.class.php:1883 |
1542 | 2296 | msgid "Cannot be less than zero" | 2310 | msgid "Cannot be less than zero" |
1543 | 2297 | msgstr "" | 2311 | msgstr "" |
1544 | 2298 | 2312 | ||
1545 | @@ -2516,8 +2530,8 @@ | |||
1546 | 2516 | 2530 | ||
1547 | 2517 | #: server/lib/pages/campaign.class.php:76 | 2531 | #: server/lib/pages/campaign.class.php:76 |
1548 | 2518 | #: server/lib/pages/display.class.php:322 | 2532 | #: server/lib/pages/display.class.php:322 |
1551 | 2519 | #: server/lib/pages/layout.class.php:399 | 2533 | #: server/lib/pages/layout.class.php:402 |
1552 | 2520 | #: server/lib/pages/schedule.class.php:1938 | 2534 | #: server/lib/pages/schedule.class.php:1941 |
1553 | 2521 | #: server/theme/default/html/layout_designer.php:49 | 2535 | #: server/theme/default/html/layout_designer.php:49 |
1554 | 2522 | msgid "Schedule Now" | 2536 | msgid "Schedule Now" |
1555 | 2523 | msgstr "" | 2537 | msgstr "" |
1556 | @@ -2644,7 +2658,7 @@ | |||
1557 | 2644 | msgstr "" | 2658 | msgstr "" |
1558 | 2645 | 2659 | ||
1559 | 2646 | #: server/lib/pages/content.class.php:260 | 2660 | #: server/lib/pages/content.class.php:260 |
1561 | 2647 | #: server/lib/pages/displaygroup.class.php:703 | 2661 | #: server/lib/pages/displaygroup.class.php:712 |
1562 | 2648 | msgid "Assign" | 2662 | msgid "Assign" |
1563 | 2649 | msgstr "" | 2663 | msgstr "" |
1564 | 2650 | 2664 | ||
1565 | @@ -2798,7 +2812,7 @@ | |||
1566 | 2798 | msgstr "" | 2812 | msgstr "" |
1567 | 2799 | 2813 | ||
1568 | 2800 | #: server/lib/pages/dataset.class.php:1097 | 2814 | #: server/lib/pages/dataset.class.php:1097 |
1570 | 2801 | msgid "Files with a CSV extention only." | 2815 | msgid "Files with a CSV extension only." |
1571 | 2802 | msgstr "" | 2816 | msgstr "" |
1572 | 2803 | 2817 | ||
1573 | 2804 | #: server/lib/pages/dataset.class.php:1134 | 2818 | #: server/lib/pages/dataset.class.php:1134 |
1574 | @@ -2929,13 +2943,13 @@ | |||
1575 | 2929 | msgstr "" | 2943 | msgstr "" |
1576 | 2930 | 2944 | ||
1577 | 2931 | #: server/lib/pages/display.class.php:728 | 2945 | #: server/lib/pages/display.class.php:728 |
1579 | 2932 | #: server/lib/pages/displaygroup.class.php:305 | 2946 | #: server/lib/pages/displaygroup.class.php:308 |
1580 | 2933 | #: server/lib/pages/group.class.php:697 | 2947 | #: server/lib/pages/group.class.php:697 |
1581 | 2934 | msgid "Manage Membership" | 2948 | msgid "Manage Membership" |
1582 | 2935 | msgstr "" | 2949 | msgstr "" |
1583 | 2936 | 2950 | ||
1584 | 2937 | #: server/lib/pages/display.class.php:797 | 2951 | #: server/lib/pages/display.class.php:797 |
1586 | 2938 | #: server/lib/pages/displaygroup.class.php:470 | 2952 | #: server/lib/pages/displaygroup.class.php:479 |
1587 | 2939 | #: server/lib/pages/group.class.php:765 | 2953 | #: server/lib/pages/group.class.php:765 |
1588 | 2940 | msgid "Group membership set" | 2954 | msgid "Group membership set" |
1589 | 2941 | msgstr "" | 2955 | msgstr "" |
1590 | @@ -2967,12 +2981,12 @@ | |||
1591 | 2967 | 2981 | ||
1592 | 2968 | #: server/lib/pages/displaygroup.class.php:177 | 2982 | #: server/lib/pages/displaygroup.class.php:177 |
1593 | 2969 | #: server/lib/pages/displaygroup.class.php:222 | 2983 | #: server/lib/pages/displaygroup.class.php:222 |
1600 | 2970 | #: server/lib/pages/displaygroup.class.php:359 | 2984 | #: server/lib/pages/displaygroup.class.php:368 |
1601 | 2971 | #: server/lib/pages/displaygroup.class.php:391 | 2985 | #: server/lib/pages/displaygroup.class.php:400 |
1602 | 2972 | #: server/lib/pages/displaygroup.class.php:422 | 2986 | #: server/lib/pages/displaygroup.class.php:431 |
1603 | 2973 | #: server/lib/pages/displaygroup.class.php:640 | 2987 | #: server/lib/pages/displaygroup.class.php:649 |
1604 | 2974 | #: server/lib/pages/displaygroup.class.php:777 | 2988 | #: server/lib/pages/displaygroup.class.php:786 |
1605 | 2975 | #: server/lib/pages/displaygroup.class.php:854 | 2989 | #: server/lib/pages/displaygroup.class.php:863 |
1606 | 2976 | msgid "You do not have permission to edit this display group" | 2990 | msgid "You do not have permission to edit this display group" |
1607 | 2977 | msgstr "" | 2991 | msgstr "" |
1608 | 2978 | 2992 | ||
1609 | @@ -2992,65 +3006,65 @@ | |||
1610 | 2992 | msgid "Delete Display Group" | 3006 | msgid "Delete Display Group" |
1611 | 2993 | msgstr "" | 3007 | msgstr "" |
1612 | 2994 | 3008 | ||
1616 | 2995 | #: server/lib/pages/displaygroup.class.php:272 | 3009 | #: server/lib/pages/displaygroup.class.php:270 |
1617 | 2996 | #: server/lib/pages/displaygroup.class.php:297 | 3010 | #: server/lib/pages/displaygroup.class.php:290 |
1618 | 2997 | #: server/lib/pages/displaygroup.class.php:435 | 3011 | #: server/lib/pages/displaygroup.class.php:444 |
1619 | 2998 | msgid "Error getting Displays" | 3012 | msgid "Error getting Displays" |
1620 | 2999 | msgstr "" | 3013 | msgstr "" |
1621 | 3000 | 3014 | ||
1623 | 3001 | #: server/lib/pages/displaygroup.class.php:335 | 3015 | #: server/lib/pages/displaygroup.class.php:344 |
1624 | 3002 | msgid "Display Group Added" | 3016 | msgid "Display Group Added" |
1625 | 3003 | msgstr "" | 3017 | msgstr "" |
1626 | 3004 | 3018 | ||
1628 | 3005 | #: server/lib/pages/displaygroup.class.php:369 | 3019 | #: server/lib/pages/displaygroup.class.php:378 |
1629 | 3006 | msgid "Display Group Edited" | 3020 | msgid "Display Group Edited" |
1630 | 3007 | msgstr "" | 3021 | msgstr "" |
1631 | 3008 | 3022 | ||
1633 | 3009 | #: server/lib/pages/displaygroup.class.php:401 | 3023 | #: server/lib/pages/displaygroup.class.php:410 |
1634 | 3010 | msgid "Display Group Deleted" | 3024 | msgid "Display Group Deleted" |
1635 | 3011 | msgstr "" | 3025 | msgstr "" |
1636 | 3012 | 3026 | ||
1639 | 3013 | #: server/lib/pages/displaygroup.class.php:489 | 3027 | #: server/lib/pages/displaygroup.class.php:498 |
1640 | 3014 | #: server/lib/pages/displaygroup.class.php:565 | 3028 | #: server/lib/pages/displaygroup.class.php:574 |
1641 | 3015 | msgid "You do not have permissions to edit this display group" | 3029 | msgid "You do not have permissions to edit this display group" |
1642 | 3016 | msgstr "" | 3030 | msgstr "" |
1643 | 3017 | 3031 | ||
1645 | 3018 | #: server/lib/pages/displaygroup.class.php:510 | 3032 | #: server/lib/pages/displaygroup.class.php:519 |
1646 | 3019 | msgid "Unable to get permissions for this DisplayGroup" | 3033 | msgid "Unable to get permissions for this DisplayGroup" |
1647 | 3020 | msgstr "" | 3034 | msgstr "" |
1648 | 3021 | 3035 | ||
1651 | 3022 | #: server/lib/pages/displaygroup.class.php:683 | 3036 | #: server/lib/pages/displaygroup.class.php:692 |
1652 | 3023 | #: server/lib/pages/displaygroup.class.php:735 | 3037 | #: server/lib/pages/displaygroup.class.php:744 |
1653 | 3024 | msgid "Unable to get existing assignments." | 3038 | msgid "Unable to get existing assignments." |
1654 | 3025 | msgstr "" | 3039 | msgstr "" |
1655 | 3026 | 3040 | ||
1657 | 3027 | #: server/lib/pages/displaygroup.class.php:699 | 3041 | #: server/lib/pages/displaygroup.class.php:708 |
1658 | 3028 | msgid "Associate an item from the Library" | 3042 | msgid "Associate an item from the Library" |
1659 | 3029 | msgstr "" | 3043 | msgstr "" |
1660 | 3030 | 3044 | ||
1662 | 3031 | #: server/lib/pages/displaygroup.class.php:772 | 3045 | #: server/lib/pages/displaygroup.class.php:781 |
1663 | 3032 | msgid "Display Group not selected" | 3046 | msgid "Display Group not selected" |
1664 | 3033 | msgstr "" | 3047 | msgstr "" |
1665 | 3034 | 3048 | ||
1667 | 3035 | #: server/lib/pages/displaygroup.class.php:786 | 3049 | #: server/lib/pages/displaygroup.class.php:795 |
1668 | 3036 | #: server/lib/pages/timeline.class.php:391 | 3050 | #: server/lib/pages/timeline.class.php:391 |
1669 | 3037 | #, php-format | 3051 | #, php-format |
1670 | 3038 | msgid "%d Media Items Assigned" | 3052 | msgid "%d Media Items Assigned" |
1671 | 3039 | msgstr "" | 3053 | msgstr "" |
1672 | 3040 | 3054 | ||
1674 | 3041 | #: server/lib/pages/displaygroup.class.php:803 | 3055 | #: server/lib/pages/displaygroup.class.php:812 |
1675 | 3042 | msgid "Unknown Display" | 3056 | msgid "Unknown Display" |
1676 | 3043 | msgstr "" | 3057 | msgstr "" |
1677 | 3044 | 3058 | ||
1679 | 3045 | #: server/lib/pages/displaygroup.class.php:808 | 3059 | #: server/lib/pages/displaygroup.class.php:817 |
1680 | 3046 | msgid "No displays in this group" | 3060 | msgid "No displays in this group" |
1681 | 3047 | msgstr "" | 3061 | msgstr "" |
1682 | 3048 | 3062 | ||
1684 | 3049 | #: server/lib/pages/displaygroup.class.php:835 | 3063 | #: server/lib/pages/displaygroup.class.php:844 |
1685 | 3050 | msgid "Set Instructions for Upgrading this client" | 3064 | msgid "Set Instructions for Upgrading this client" |
1686 | 3051 | msgstr "" | 3065 | msgstr "" |
1687 | 3052 | 3066 | ||
1689 | 3053 | #: server/lib/pages/displaygroup.class.php:881 | 3067 | #: server/lib/pages/displaygroup.class.php:890 |
1690 | 3054 | msgid "Version Instructions Set" | 3068 | msgid "Version Instructions Set" |
1691 | 3055 | msgstr "" | 3069 | msgstr "" |
1692 | 3056 | 3070 | ||
1693 | @@ -3205,111 +3219,115 @@ | |||
1694 | 3205 | "corrupt." | 3219 | "corrupt." |
1695 | 3206 | msgstr "" | 3220 | msgstr "" |
1696 | 3207 | 3221 | ||
1698 | 3208 | #: server/lib/pages/layout.class.php:189 server/lib/pages/layout.class.php:220 | 3222 | #: server/lib/pages/layout.class.php:152 |
1699 | 3223 | msgid "Save Position" | ||
1700 | 3224 | msgstr "" | ||
1701 | 3225 | |||
1702 | 3226 | #: server/lib/pages/layout.class.php:192 server/lib/pages/layout.class.php:223 | ||
1703 | 3209 | msgid "Layout Details Changed." | 3227 | msgid "Layout Details Changed." |
1704 | 3210 | msgstr "" | 3228 | msgstr "" |
1705 | 3211 | 3229 | ||
1708 | 3212 | #: server/lib/pages/layout.class.php:232 server/lib/pages/layout.class.php:287 | 3230 | #: server/lib/pages/layout.class.php:235 server/lib/pages/layout.class.php:290 |
1709 | 3213 | #: server/lib/pages/layout.class.php:314 | 3231 | #: server/lib/pages/layout.class.php:317 |
1710 | 3214 | msgid "You do not have permissions to delete this layout" | 3232 | msgid "You do not have permissions to delete this layout" |
1711 | 3215 | msgstr "" | 3233 | msgstr "" |
1712 | 3216 | 3234 | ||
1714 | 3217 | #: server/lib/pages/layout.class.php:245 | 3235 | #: server/lib/pages/layout.class.php:248 |
1715 | 3218 | msgid "Can not get layout information" | 3236 | msgid "Can not get layout information" |
1716 | 3219 | msgstr "" | 3237 | msgstr "" |
1717 | 3220 | 3238 | ||
1719 | 3221 | #: server/lib/pages/layout.class.php:266 | 3239 | #: server/lib/pages/layout.class.php:269 |
1720 | 3222 | msgid "Delete Layout" | 3240 | msgid "Delete Layout" |
1721 | 3223 | msgstr "" | 3241 | msgstr "" |
1722 | 3224 | 3242 | ||
1724 | 3225 | #: server/lib/pages/layout.class.php:294 | 3243 | #: server/lib/pages/layout.class.php:297 |
1725 | 3226 | msgid "The Layout has been Deleted" | 3244 | msgid "The Layout has been Deleted" |
1726 | 3227 | msgstr "" | 3245 | msgstr "" |
1727 | 3228 | 3246 | ||
1729 | 3229 | #: server/lib/pages/layout.class.php:322 | 3247 | #: server/lib/pages/layout.class.php:325 |
1730 | 3230 | msgid "The Layout has been Retired" | 3248 | msgid "The Layout has been Retired" |
1731 | 3231 | msgstr "" | 3249 | msgstr "" |
1732 | 3232 | 3250 | ||
1734 | 3233 | #: server/lib/pages/layout.class.php:359 | 3251 | #: server/lib/pages/layout.class.php:362 |
1735 | 3234 | msgid "Unable to get layouts for user" | 3252 | msgid "Unable to get layouts for user" |
1736 | 3235 | msgstr "" | 3253 | msgstr "" |
1737 | 3236 | 3254 | ||
1739 | 3237 | #: server/lib/pages/layout.class.php:376 server/lib/pages/layout.class.php:962 | 3255 | #: server/lib/pages/layout.class.php:379 server/lib/pages/layout.class.php:965 |
1740 | 3238 | msgid "This Layout is ready to play" | 3256 | msgid "This Layout is ready to play" |
1741 | 3239 | msgstr "" | 3257 | msgstr "" |
1742 | 3240 | 3258 | ||
1744 | 3241 | #: server/lib/pages/layout.class.php:380 server/lib/pages/layout.class.php:966 | 3259 | #: server/lib/pages/layout.class.php:383 server/lib/pages/layout.class.php:969 |
1745 | 3242 | msgid "There are items on this Layout that can only be assessed by the client" | 3260 | msgid "There are items on this Layout that can only be assessed by the client" |
1746 | 3243 | msgstr "" | 3261 | msgstr "" |
1747 | 3244 | 3262 | ||
1749 | 3245 | #: server/lib/pages/layout.class.php:384 server/lib/pages/layout.class.php:970 | 3263 | #: server/lib/pages/layout.class.php:387 server/lib/pages/layout.class.php:973 |
1750 | 3246 | msgid "This Layout is invalid and should not be scheduled" | 3264 | msgid "This Layout is invalid and should not be scheduled" |
1751 | 3247 | msgstr "" | 3265 | msgstr "" |
1752 | 3248 | 3266 | ||
1754 | 3249 | #: server/lib/pages/layout.class.php:388 server/lib/pages/layout.class.php:974 | 3267 | #: server/lib/pages/layout.class.php:391 server/lib/pages/layout.class.php:977 |
1755 | 3250 | msgid "The Status of this Layout is not known" | 3268 | msgid "The Status of this Layout is not known" |
1756 | 3251 | msgstr "" | 3269 | msgstr "" |
1757 | 3252 | 3270 | ||
1759 | 3253 | #: server/lib/pages/layout.class.php:405 | 3271 | #: server/lib/pages/layout.class.php:408 |
1760 | 3254 | #: server/theme/default/html/layout_designer.php:48 | 3272 | #: server/theme/default/html/layout_designer.php:48 |
1761 | 3255 | msgid "Preview Layout" | 3273 | msgid "Preview Layout" |
1762 | 3256 | msgstr "" | 3274 | msgstr "" |
1763 | 3257 | 3275 | ||
1765 | 3258 | #: server/lib/pages/layout.class.php:415 | 3276 | #: server/lib/pages/layout.class.php:418 |
1766 | 3259 | msgid "Design" | 3277 | msgid "Design" |
1767 | 3260 | msgstr "" | 3278 | msgstr "" |
1768 | 3261 | 3279 | ||
1770 | 3262 | #: server/lib/pages/layout.class.php:429 server/lib/pages/layout.class.php:802 | 3280 | #: server/lib/pages/layout.class.php:432 server/lib/pages/layout.class.php:805 |
1771 | 3263 | msgid "Copy" | 3281 | msgid "Copy" |
1772 | 3264 | msgstr "" | 3282 | msgstr "" |
1773 | 3265 | 3283 | ||
1775 | 3266 | #: server/lib/pages/layout.class.php:509 | 3284 | #: server/lib/pages/layout.class.php:512 |
1776 | 3267 | #: server/theme/default/html/layout_page.php:45 | 3285 | #: server/theme/default/html/layout_page.php:45 |
1777 | 3268 | msgid "Add Layout" | 3286 | msgid "Add Layout" |
1778 | 3269 | msgstr "" | 3287 | msgstr "" |
1779 | 3270 | 3288 | ||
1781 | 3271 | #: server/lib/pages/layout.class.php:509 | 3289 | #: server/lib/pages/layout.class.php:512 |
1782 | 3272 | msgid "Edit Layout" | 3290 | msgid "Edit Layout" |
1783 | 3273 | msgstr "" | 3291 | msgstr "" |
1784 | 3274 | 3292 | ||
1786 | 3275 | #: server/lib/pages/layout.class.php:597 | 3293 | #: server/lib/pages/layout.class.php:600 |
1787 | 3276 | msgid "Change the Background Properties" | 3294 | msgid "Change the Background Properties" |
1788 | 3277 | msgstr "" | 3295 | msgstr "" |
1789 | 3278 | 3296 | ||
1791 | 3279 | #: server/lib/pages/layout.class.php:599 | 3297 | #: server/lib/pages/layout.class.php:602 |
1792 | 3280 | msgid "Add Image" | 3298 | msgid "Add Image" |
1793 | 3281 | msgstr "" | 3299 | msgstr "" |
1794 | 3282 | 3300 | ||
1796 | 3283 | #: server/lib/pages/layout.class.php:633 | 3301 | #: server/lib/pages/layout.class.php:636 |
1797 | 3284 | msgid "Layout Background Changed" | 3302 | msgid "Layout Background Changed" |
1798 | 3285 | msgstr "" | 3303 | msgstr "" |
1799 | 3286 | 3304 | ||
1801 | 3287 | #: server/lib/pages/layout.class.php:663 | 3305 | #: server/lib/pages/layout.class.php:666 |
1802 | 3288 | msgid "Unable to determine display resolution" | 3306 | msgid "Unable to determine display resolution" |
1803 | 3289 | msgstr "" | 3307 | msgstr "" |
1804 | 3290 | 3308 | ||
1806 | 3291 | #: server/lib/pages/layout.class.php:744 | 3309 | #: server/lib/pages/layout.class.php:747 |
1807 | 3292 | msgid "Timeline" | 3310 | msgid "Timeline" |
1808 | 3293 | msgstr "" | 3311 | msgstr "" |
1809 | 3294 | 3312 | ||
1811 | 3295 | #: server/lib/pages/layout.class.php:744 | 3313 | #: server/lib/pages/layout.class.php:747 |
1812 | 3296 | msgid "Edit Timeline" | 3314 | msgid "Edit Timeline" |
1813 | 3297 | msgstr "" | 3315 | msgstr "" |
1814 | 3298 | 3316 | ||
1816 | 3299 | #: server/lib/pages/layout.class.php:745 | 3317 | #: server/lib/pages/layout.class.php:748 |
1817 | 3300 | #: server/theme/default/html/layout_designer.php:40 | 3318 | #: server/theme/default/html/layout_designer.php:40 |
1818 | 3301 | msgid "Options" | 3319 | msgid "Options" |
1819 | 3302 | msgstr "" | 3320 | msgstr "" |
1820 | 3303 | 3321 | ||
1822 | 3304 | #: server/lib/pages/layout.class.php:799 | 3322 | #: server/lib/pages/layout.class.php:802 |
1823 | 3305 | msgid "Copy a Layout." | 3323 | msgid "Copy a Layout." |
1824 | 3306 | msgstr "" | 3324 | msgstr "" |
1825 | 3307 | 3325 | ||
1827 | 3308 | #: server/lib/pages/layout.class.php:830 | 3326 | #: server/lib/pages/layout.class.php:833 |
1828 | 3309 | msgid "Layout Copied" | 3327 | msgid "Layout Copied" |
1829 | 3310 | msgstr "" | 3328 | msgstr "" |
1830 | 3311 | 3329 | ||
1832 | 3312 | #: server/lib/pages/layout.class.php:859 | 3330 | #: server/lib/pages/layout.class.php:862 |
1833 | 3313 | msgid "Unable to get group information for layout" | 3331 | msgid "Unable to get group information for layout" |
1834 | 3314 | msgstr "" | 3332 | msgstr "" |
1835 | 3315 | 3333 | ||
1836 | @@ -3469,8 +3487,8 @@ | |||
1837 | 3469 | msgstr "" | 3487 | msgstr "" |
1838 | 3470 | 3488 | ||
1839 | 3471 | #: server/lib/pages/schedule.class.php:463 | 3489 | #: server/lib/pages/schedule.class.php:463 |
1842 | 3472 | #: server/lib/pages/schedule.class.php:1126 | 3490 | #: server/lib/pages/schedule.class.php:1129 |
1843 | 3473 | #: server/lib/pages/schedule.class.php:1210 server/locale/dbtranslate.php:26 | 3491 | #: server/lib/pages/schedule.class.php:1213 server/locale/dbtranslate.php:26 |
1844 | 3474 | #: server/theme/default/html/homepage_mediamanager.php:44 | 3492 | #: server/theme/default/html/homepage_mediamanager.php:44 |
1845 | 3475 | #: server/theme/default/html/homepage_mediamanager_grid.php:38 | 3493 | #: server/theme/default/html/homepage_mediamanager_grid.php:38 |
1846 | 3476 | #: server/theme/default/html/layout_designer.php:80 | 3494 | #: server/theme/default/html/layout_designer.php:80 |
1847 | @@ -3510,8 +3528,8 @@ | |||
1848 | 3510 | msgstr "" | 3528 | msgstr "" |
1849 | 3511 | 3529 | ||
1850 | 3512 | #: server/lib/pages/schedule.class.php:477 | 3530 | #: server/lib/pages/schedule.class.php:477 |
1853 | 3513 | #: server/lib/pages/schedule.class.php:1240 | 3531 | #: server/lib/pages/schedule.class.php:1243 |
1854 | 3514 | #: server/lib/pages/schedule.class.php:1329 | 3532 | #: server/lib/pages/schedule.class.php:1332 |
1855 | 3515 | #: server/theme/default/html/display_form_edit.php:34 | 3533 | #: server/theme/default/html/display_form_edit.php:34 |
1856 | 3516 | #: server/theme/default/html/display_form_version_instructions.php:39 | 3534 | #: server/theme/default/html/display_form_version_instructions.php:39 |
1857 | 3517 | #: server/theme/default/html/display_page_grid.php:46 | 3535 | #: server/theme/default/html/display_page_grid.php:46 |
1858 | @@ -3525,136 +3543,136 @@ | |||
1859 | 3525 | msgstr "" | 3543 | msgstr "" |
1860 | 3526 | 3544 | ||
1861 | 3527 | #: server/lib/pages/schedule.class.php:610 | 3545 | #: server/lib/pages/schedule.class.php:610 |
1865 | 3528 | #: server/lib/pages/schedule.class.php:805 | 3546 | #: server/lib/pages/schedule.class.php:808 |
1866 | 3529 | #: server/lib/pages/schedule.class.php:908 | 3547 | #: server/lib/pages/schedule.class.php:911 |
1867 | 3530 | #: server/lib/pages/schedule.class.php:1004 | 3548 | #: server/lib/pages/schedule.class.php:1007 |
1868 | 3531 | msgid "Error getting events for date." | 3549 | msgid "Error getting events for date." |
1869 | 3532 | msgstr "" | 3550 | msgstr "" |
1870 | 3533 | 3551 | ||
1874 | 3534 | #: server/lib/pages/schedule.class.php:829 | 3552 | #: server/lib/pages/schedule.class.php:832 |
1875 | 3535 | #: server/lib/pages/schedule.class.php:1028 | 3553 | #: server/lib/pages/schedule.class.php:1031 |
1876 | 3536 | #: server/lib/pages/schedule.class.php:1612 | 3554 | #: server/lib/pages/schedule.class.php:1615 |
1877 | 3537 | msgid "Edit Event" | 3555 | msgid "Edit Event" |
1878 | 3538 | msgstr "" | 3556 | msgstr "" |
1879 | 3539 | 3557 | ||
1881 | 3540 | #: server/lib/pages/schedule.class.php:1079 | 3558 | #: server/lib/pages/schedule.class.php:1082 |
1882 | 3541 | msgid "Can not list Display Groups" | 3559 | msgid "Can not list Display Groups" |
1883 | 3542 | msgstr "" | 3560 | msgstr "" |
1884 | 3543 | 3561 | ||
1886 | 3544 | #: server/lib/pages/schedule.class.php:1083 | 3562 | #: server/lib/pages/schedule.class.php:1086 |
1887 | 3545 | msgid "No Display Groups" | 3563 | msgid "No Display Groups" |
1888 | 3546 | msgstr "" | 3564 | msgstr "" |
1889 | 3547 | 3565 | ||
1891 | 3548 | #: server/lib/pages/schedule.class.php:1086 server/locale/dbtranslate.php:32 | 3566 | #: server/lib/pages/schedule.class.php:1089 server/locale/dbtranslate.php:32 |
1892 | 3549 | #: server/theme/default/html/schedule_page_display_list.php:38 | 3567 | #: server/theme/default/html/schedule_page_display_list.php:38 |
1893 | 3550 | msgid "Groups" | 3568 | msgid "Groups" |
1894 | 3551 | msgstr "" | 3569 | msgstr "" |
1895 | 3552 | 3570 | ||
1897 | 3553 | #: server/lib/pages/schedule.class.php:1107 server/locale/dbtranslate.php:31 | 3571 | #: server/lib/pages/schedule.class.php:1110 server/locale/dbtranslate.php:31 |
1898 | 3554 | #: server/theme/default/html/schedule_page_display_list.php:48 | 3572 | #: server/theme/default/html/schedule_page_display_list.php:48 |
1899 | 3555 | msgid "Displays" | 3573 | msgid "Displays" |
1900 | 3556 | msgstr "" | 3574 | msgstr "" |
1901 | 3557 | 3575 | ||
1903 | 3558 | #: server/lib/pages/schedule.class.php:1210 | 3576 | #: server/lib/pages/schedule.class.php:1213 |
1904 | 3559 | msgid "Campaign" | 3577 | msgid "Campaign" |
1905 | 3560 | msgstr "" | 3578 | msgstr "" |
1906 | 3561 | 3579 | ||
1908 | 3562 | #: server/lib/pages/schedule.class.php:1446 | 3580 | #: server/lib/pages/schedule.class.php:1449 |
1909 | 3563 | msgid "Schedule Event" | 3581 | msgid "Schedule Event" |
1910 | 3564 | msgstr "" | 3582 | msgstr "" |
1911 | 3565 | 3583 | ||
1913 | 3566 | #: server/lib/pages/schedule.class.php:1497 | 3584 | #: server/lib/pages/schedule.class.php:1500 |
1914 | 3567 | msgid "Error getting details for this event." | 3585 | msgid "Error getting details for this event." |
1915 | 3568 | msgstr "" | 3586 | msgstr "" |
1916 | 3569 | 3587 | ||
1918 | 3570 | #: server/lib/pages/schedule.class.php:1524 | 3588 | #: server/lib/pages/schedule.class.php:1527 |
1919 | 3571 | msgid "You do not have permission to edit this event." | 3589 | msgid "You do not have permission to edit this event." |
1920 | 3572 | msgstr "" | 3590 | msgstr "" |
1921 | 3573 | 3591 | ||
1925 | 3574 | #: server/lib/pages/schedule.class.php:1664 | 3592 | #: server/lib/pages/schedule.class.php:1667 |
1926 | 3575 | #: server/lib/pages/schedule.class.php:1749 | 3593 | #: server/lib/pages/schedule.class.php:1752 |
1927 | 3576 | #: server/lib/pages/schedule.class.php:1969 | 3594 | #: server/lib/pages/schedule.class.php:1972 |
1928 | 3577 | msgid "No layout selected" | 3595 | msgid "No layout selected" |
1929 | 3578 | msgstr "" | 3596 | msgstr "" |
1930 | 3579 | 3597 | ||
1934 | 3580 | #: server/lib/pages/schedule.class.php:1670 | 3598 | #: server/lib/pages/schedule.class.php:1673 |
1935 | 3581 | #: server/lib/pages/schedule.class.php:1755 | 3599 | #: server/lib/pages/schedule.class.php:1758 |
1936 | 3582 | #: server/lib/pages/schedule.class.php:1976 | 3600 | #: server/lib/pages/schedule.class.php:1979 |
1937 | 3583 | msgid "No displays selected" | 3601 | msgid "No displays selected" |
1938 | 3584 | msgstr "" | 3602 | msgstr "" |
1939 | 3585 | 3603 | ||
1942 | 3586 | #: server/lib/pages/schedule.class.php:1676 | 3604 | #: server/lib/pages/schedule.class.php:1679 |
1943 | 3587 | #: server/lib/pages/schedule.class.php:1761 | 3605 | #: server/lib/pages/schedule.class.php:1764 |
1944 | 3588 | msgid "Can not have an end time earlier than your start time" | 3606 | msgid "Can not have an end time earlier than your start time" |
1945 | 3589 | msgstr "" | 3607 | msgstr "" |
1946 | 3590 | 3608 | ||
1949 | 3591 | #: server/lib/pages/schedule.class.php:1680 | 3609 | #: server/lib/pages/schedule.class.php:1683 |
1950 | 3592 | #: server/lib/pages/schedule.class.php:1979 | 3610 | #: server/lib/pages/schedule.class.php:1982 |
1951 | 3593 | msgid "Your start time is in the past. Cannot schedule events in the past" | 3611 | msgid "Your start time is in the past. Cannot schedule events in the past" |
1952 | 3594 | msgstr "" | 3612 | msgstr "" |
1953 | 3595 | 3613 | ||
1956 | 3596 | #: server/lib/pages/schedule.class.php:1686 | 3614 | #: server/lib/pages/schedule.class.php:1689 |
1957 | 3597 | #: server/lib/pages/schedule.class.php:1767 | 3615 | #: server/lib/pages/schedule.class.php:1770 |
1958 | 3598 | msgid "" | 3616 | msgid "" |
1959 | 3599 | "Your repeat until date is in the past. Cannot schedule events to repeat in " | 3617 | "Your repeat until date is in the past. Cannot schedule events to repeat in " |
1960 | 3600 | "to the past" | 3618 | "to the past" |
1961 | 3601 | msgstr "" | 3619 | msgstr "" |
1962 | 3602 | 3620 | ||
1964 | 3603 | #: server/lib/pages/schedule.class.php:1697 | 3621 | #: server/lib/pages/schedule.class.php:1700 |
1965 | 3604 | msgid "The Event has been Added." | 3622 | msgid "The Event has been Added." |
1966 | 3605 | msgstr "" | 3623 | msgstr "" |
1967 | 3606 | 3624 | ||
1969 | 3607 | #: server/lib/pages/schedule.class.php:1778 | 3625 | #: server/lib/pages/schedule.class.php:1781 |
1970 | 3608 | msgid "The Event has been Modified." | 3626 | msgid "The Event has been Modified." |
1971 | 3609 | msgstr "" | 3627 | msgstr "" |
1972 | 3610 | 3628 | ||
1974 | 3611 | #: server/lib/pages/schedule.class.php:1798 | 3629 | #: server/lib/pages/schedule.class.php:1801 |
1975 | 3612 | msgid "Are you sure you want to delete this event from <b>all</b> displays?" | 3630 | msgid "Are you sure you want to delete this event from <b>all</b> displays?" |
1976 | 3613 | msgstr "" | 3631 | msgstr "" |
1977 | 3614 | 3632 | ||
1979 | 3615 | #: server/lib/pages/schedule.class.php:1799 | 3633 | #: server/lib/pages/schedule.class.php:1802 |
1980 | 3616 | msgid "" | 3634 | msgid "" |
1981 | 3617 | "If you only want to delete this item from certain displays, please deselect " | 3635 | "If you only want to delete this item from certain displays, please deselect " |
1982 | 3618 | "the displays in the edit dialogue and click Save." | 3636 | "the displays in the edit dialogue and click Save." |
1983 | 3619 | msgstr "" | 3637 | msgstr "" |
1984 | 3620 | 3638 | ||
1986 | 3621 | #: server/lib/pages/schedule.class.php:1818 | 3639 | #: server/lib/pages/schedule.class.php:1821 |
1987 | 3622 | msgid "Delete Event." | 3640 | msgid "Delete Event." |
1988 | 3623 | msgstr "" | 3641 | msgstr "" |
1989 | 3624 | 3642 | ||
1991 | 3625 | #: server/lib/pages/schedule.class.php:1854 | 3643 | #: server/lib/pages/schedule.class.php:1857 |
1992 | 3626 | msgid "The Event has been Deleted." | 3644 | msgid "The Event has been Deleted." |
1993 | 3627 | msgstr "" | 3645 | msgstr "" |
1994 | 3628 | 3646 | ||
1996 | 3629 | #: server/lib/pages/schedule.class.php:1972 | 3647 | #: server/lib/pages/schedule.class.php:1975 |
1997 | 3630 | msgid "You must enter a duration" | 3648 | msgid "You must enter a duration" |
1998 | 3631 | msgstr "" | 3649 | msgstr "" |
1999 | 3632 | 3650 | ||
2001 | 3633 | #: server/lib/pages/schedule.class.php:1989 | 3651 | #: server/lib/pages/schedule.class.php:1992 |
2002 | 3634 | msgid "The Event has been Scheduled" | 3652 | msgid "The Event has been Scheduled" |
2003 | 3635 | msgstr "" | 3653 | msgstr "" |
2004 | 3636 | 3654 | ||
2007 | 3637 | #: server/lib/pages/schedule.class.php:2004 | 3655 | #: server/lib/pages/schedule.class.php:2007 |
2008 | 3638 | #: server/lib/pages/schedule.class.php:2051 | 3656 | #: server/lib/pages/schedule.class.php:2054 |
2009 | 3639 | msgid "Day not selected" | 3657 | msgid "Day not selected" |
2010 | 3640 | msgstr "" | 3658 | msgstr "" |
2011 | 3641 | 3659 | ||
2013 | 3642 | #: server/lib/pages/schedule.class.php:2006 | 3660 | #: server/lib/pages/schedule.class.php:2009 |
2014 | 3643 | msgid "" | 3661 | msgid "" |
2015 | 3644 | "Are you sure you want to delete all events that intersect this day from " | 3662 | "Are you sure you want to delete all events that intersect this day from " |
2016 | 3645 | "<b>all</b> displays?" | 3663 | "<b>all</b> displays?" |
2017 | 3646 | msgstr "" | 3664 | msgstr "" |
2018 | 3647 | 3665 | ||
2020 | 3648 | #: server/lib/pages/schedule.class.php:2007 | 3666 | #: server/lib/pages/schedule.class.php:2010 |
2021 | 3649 | msgid "This action cannot be undone." | 3667 | msgid "This action cannot be undone." |
2022 | 3650 | msgstr "" | 3668 | msgstr "" |
2023 | 3651 | 3669 | ||
2025 | 3652 | #: server/lib/pages/schedule.class.php:2025 | 3670 | #: server/lib/pages/schedule.class.php:2028 |
2026 | 3653 | #, php-format | 3671 | #, php-format |
2027 | 3654 | msgid "Delete %s" | 3672 | msgid "Delete %s" |
2028 | 3655 | msgstr "" | 3673 | msgstr "" |
2029 | 3656 | 3674 | ||
2031 | 3657 | #: server/lib/pages/schedule.class.php:2068 | 3675 | #: server/lib/pages/schedule.class.php:2071 |
2032 | 3658 | #, php-format | 3676 | #, php-format |
2033 | 3659 | msgid "All events for %s have been deleted" | 3677 | msgid "All events for %s have been deleted" |
2034 | 3660 | msgstr "" | 3678 | msgstr "" |
2035 | @@ -3676,11 +3694,15 @@ | |||
2036 | 3676 | msgid "User Logged Out." | 3694 | msgid "User Logged Out." |
2037 | 3677 | msgstr "" | 3695 | msgstr "" |
2038 | 3678 | 3696 | ||
2040 | 3679 | #: server/lib/pages/stats.class.php:98 | 3697 | #: server/lib/pages/stats.class.php:93 server/lib/pages/stats.class.php:262 |
2041 | 3698 | msgid "No displays with View permissions" | ||
2042 | 3699 | msgstr "" | ||
2043 | 3700 | |||
2044 | 3701 | #: server/lib/pages/stats.class.php:117 | ||
2045 | 3680 | msgid "Unable to get Layouts Shown" | 3702 | msgid "Unable to get Layouts Shown" |
2046 | 3681 | msgstr "" | 3703 | msgstr "" |
2047 | 3682 | 3704 | ||
2049 | 3683 | #: server/lib/pages/stats.class.php:139 server/lib/pages/stats.class.php:181 | 3705 | #: server/lib/pages/stats.class.php:159 server/lib/pages/stats.class.php:202 |
2050 | 3684 | msgid "Unable to get Library Media Ran" | 3706 | msgid "Unable to get Library Media Ran" |
2051 | 3685 | msgstr "" | 3707 | msgstr "" |
2052 | 3686 | 3708 | ||
2053 | @@ -4021,12 +4043,12 @@ | |||
2054 | 4021 | msgid "Trying to change the password for another user denied" | 4043 | msgid "Trying to change the password for another user denied" |
2055 | 4022 | msgstr "" | 4044 | msgstr "" |
2056 | 4023 | 4045 | ||
2058 | 4024 | #: server/lib/service/xmdssoap.class.php:1126 | 4046 | #: server/lib/service/xmdssoap.class.php:1135 |
2059 | 4025 | #, php-format | 4047 | #, php-format |
2060 | 4026 | msgid "Recovery for Display %s" | 4048 | msgid "Recovery for Display %s" |
2061 | 4027 | msgstr "" | 4049 | msgstr "" |
2062 | 4028 | 4050 | ||
2064 | 4029 | #: server/lib/service/xmdssoap.class.php:1127 | 4051 | #: server/lib/service/xmdssoap.class.php:1136 |
2065 | 4030 | #, php-format | 4052 | #, php-format |
2066 | 4031 | msgid "Display %s with ID %d is now back online." | 4053 | msgid "Display %s with ID %d is now back online." |
2067 | 4032 | msgstr "" | 4054 | msgstr "" |
2068 | @@ -4349,46 +4371,46 @@ | |||
2069 | 4349 | msgid "DataSet View" | 4371 | msgid "DataSet View" |
2070 | 4350 | msgstr "" | 4372 | msgstr "" |
2071 | 4351 | 4373 | ||
2073 | 4352 | #: server/modules/datasetview.module.php:81 | 4374 | #: server/modules/datasetview.module.php:60 |
2074 | 4353 | msgid "Add DataSet View" | 4375 | msgid "Add DataSet View" |
2075 | 4354 | msgstr "" | 4376 | msgstr "" |
2076 | 4355 | 4377 | ||
2078 | 4356 | #: server/modules/datasetview.module.php:201 | 4378 | #: server/modules/datasetview.module.php:180 |
2079 | 4357 | #, php-format | 4379 | #, php-format |
2080 | 4358 | msgid "Edit DataSet View for DataSet %s" | 4380 | msgid "Edit DataSet View for DataSet %s" |
2081 | 4359 | msgstr "" | 4381 | msgstr "" |
2082 | 4360 | 4382 | ||
2084 | 4361 | #: server/modules/datasetview.module.php:238 | 4383 | #: server/modules/datasetview.module.php:217 |
2085 | 4362 | #: server/modules/ticker.module.php:253 | 4384 | #: server/modules/ticker.module.php:253 |
2086 | 4363 | msgid "Please select a DataSet" | 4385 | msgid "Please select a DataSet" |
2087 | 4364 | msgstr "" | 4386 | msgstr "" |
2088 | 4365 | 4387 | ||
2090 | 4366 | #: server/modules/datasetview.module.php:247 | 4388 | #: server/modules/datasetview.module.php:226 |
2091 | 4367 | #: server/modules/ticker.module.php:257 | 4389 | #: server/modules/ticker.module.php:257 |
2092 | 4368 | msgid "You do not have permission to use that dataset" | 4390 | msgid "You do not have permission to use that dataset" |
2093 | 4369 | msgstr "" | 4391 | msgstr "" |
2094 | 4370 | 4392 | ||
2096 | 4371 | #: server/modules/datasetview.module.php:331 | 4393 | #: server/modules/datasetview.module.php:310 |
2097 | 4372 | #: server/modules/ticker.module.php:362 | 4394 | #: server/modules/ticker.module.php:362 |
2098 | 4373 | msgid "Limits must be numbers" | 4395 | msgid "Limits must be numbers" |
2099 | 4374 | msgstr "" | 4396 | msgstr "" |
2100 | 4375 | 4397 | ||
2102 | 4376 | #: server/modules/datasetview.module.php:334 | 4398 | #: server/modules/datasetview.module.php:313 |
2103 | 4377 | #: server/modules/ticker.module.php:365 | 4399 | #: server/modules/ticker.module.php:365 |
2104 | 4378 | msgid "Limits cannot be lower than 0" | 4400 | msgid "Limits cannot be lower than 0" |
2105 | 4379 | msgstr "" | 4401 | msgstr "" |
2106 | 4380 | 4402 | ||
2108 | 4381 | #: server/modules/datasetview.module.php:338 | 4403 | #: server/modules/datasetview.module.php:317 |
2109 | 4382 | #: server/modules/ticker.module.php:369 | 4404 | #: server/modules/ticker.module.php:369 |
2110 | 4383 | msgid "Upper limit must be higher than lower limit" | 4405 | msgid "Upper limit must be higher than lower limit" |
2111 | 4384 | msgstr "" | 4406 | msgstr "" |
2112 | 4385 | 4407 | ||
2114 | 4386 | #: server/modules/datasetview.module.php:341 | 4408 | #: server/modules/datasetview.module.php:320 |
2115 | 4387 | #: server/modules/ticker.module.php:391 | 4409 | #: server/modules/ticker.module.php:391 |
2116 | 4388 | msgid "Update Interval must be greater than or equal to 0" | 4410 | msgid "Update Interval must be greater than or equal to 0" |
2117 | 4389 | msgstr "" | 4411 | msgstr "" |
2118 | 4390 | 4412 | ||
2120 | 4391 | #: server/modules/datasetview.module.php:345 | 4413 | #: server/modules/datasetview.module.php:324 |
2121 | 4392 | #: server/modules/ticker.module.php:359 | 4414 | #: server/modules/ticker.module.php:359 |
2122 | 4393 | msgid "Cannot user ordering criteria in the Filter Clause" | 4415 | msgid "Cannot user ordering criteria in the Filter Clause" |
2123 | 4394 | msgstr "" | 4416 | msgstr "" |
2124 | @@ -4452,8 +4474,11 @@ | |||
2125 | 4452 | msgstr "" | 4474 | msgstr "" |
2126 | 4453 | 4475 | ||
2127 | 4454 | #: server/modules/module_user_general.php:314 | 4476 | #: server/modules/module_user_general.php:314 |
2128 | 4477 | msgid "User does not have a group and Xibo is unable to add one." | ||
2129 | 4478 | msgstr "" | ||
2130 | 4479 | |||
2131 | 4455 | #: server/modules/module_user_general.php:371 | 4480 | #: server/modules/module_user_general.php:371 |
2133 | 4456 | msgid "User does not have a group and Xibo is unable to add one." | 4481 | msgid "User does not have a group and we are unable to add one." |
2134 | 4457 | msgstr "" | 4482 | msgstr "" |
2135 | 4458 | 4483 | ||
2136 | 4459 | #: server/modules/module_user_general.php:456 | 4484 | #: server/modules/module_user_general.php:456 |
2137 | @@ -4857,13 +4882,11 @@ | |||
2138 | 4857 | msgstr "" | 4882 | msgstr "" |
2139 | 4858 | 4883 | ||
2140 | 4859 | #: server/theme/default/html/displaygroup_form_display_assign.php:33 | 4884 | #: server/theme/default/html/displaygroup_form_display_assign.php:33 |
2143 | 4860 | #: server/theme/default/html/display_form_group_assign.php:33 | 4885 | msgid "Assigned Displays" |
2142 | 4861 | msgid "Assigned Groups" | ||
2144 | 4862 | msgstr "" | 4886 | msgstr "" |
2145 | 4863 | 4887 | ||
2146 | 4864 | #: server/theme/default/html/displaygroup_form_display_assign.php:41 | 4888 | #: server/theme/default/html/displaygroup_form_display_assign.php:41 |
2149 | 4865 | #: server/theme/default/html/display_form_group_assign.php:41 | 4889 | msgid "Available Displays" |
2148 | 4866 | msgid "Available Groups" | ||
2150 | 4867 | msgstr "" | 4890 | msgstr "" |
2151 | 4868 | 4891 | ||
2152 | 4869 | #: server/theme/default/html/displaygroup_page.php:37 | 4892 | #: server/theme/default/html/displaygroup_page.php:37 |
2153 | @@ -4998,6 +5021,14 @@ | |||
2154 | 4998 | msgid "Longitude" | 5021 | msgid "Longitude" |
2155 | 4999 | msgstr "" | 5022 | msgstr "" |
2156 | 5000 | 5023 | ||
2157 | 5024 | #: server/theme/default/html/display_form_group_assign.php:33 | ||
2158 | 5025 | msgid "Assigned Groups" | ||
2159 | 5026 | msgstr "" | ||
2160 | 5027 | |||
2161 | 5028 | #: server/theme/default/html/display_form_group_assign.php:41 | ||
2162 | 5029 | msgid "Available Groups" | ||
2163 | 5030 | msgstr "" | ||
2164 | 5031 | |||
2165 | 5001 | #: server/theme/default/html/display_form_mediainventory.php:35 | 5032 | #: server/theme/default/html/display_form_mediainventory.php:35 |
2166 | 5002 | msgid "Id" | 5033 | msgid "Id" |
2167 | 5003 | msgstr "" | 5034 | msgstr "" |
2168 | 5004 | 5035 | ||
2169 | === modified file 'example_oauth/index.php' | |||
2170 | --- example_oauth/index.php 2013-05-25 09:42:36 +0000 | |||
2171 | +++ example_oauth/index.php 2014-07-15 15:37:37 +0000 | |||
2172 | @@ -2,6 +2,7 @@ | |||
2173 | 2 | require_once('oauth-php/library/OAuthStore.php'); | 2 | require_once('oauth-php/library/OAuthStore.php'); |
2174 | 3 | require_once('oauth-php/library/OAuthRequester.php'); | 3 | require_once('oauth-php/library/OAuthRequester.php'); |
2175 | 4 | require_once('oauth-php/library/OAuthRequestLogger.php'); | 4 | require_once('oauth-php/library/OAuthRequestLogger.php'); |
2176 | 5 | require_once('nice-json.php'); | ||
2177 | 5 | 6 | ||
2178 | 6 | DEFINE('OAUTH_LOG_REQUEST', true); | 7 | DEFINE('OAUTH_LOG_REQUEST', true); |
2179 | 7 | 8 | ||
2180 | @@ -12,14 +13,18 @@ | |||
2181 | 12 | 13 | ||
2182 | 13 | OAuthStore::instance('MySQL', $connection); | 14 | OAuthStore::instance('MySQL', $connection); |
2183 | 14 | 15 | ||
2187 | 15 | DEFINE('SERVER_BASE', 'http://localhost/xibo/1.5/server-151-api/server/'); | 16 | DEFINE('SERVER_BASE', 'http://localhost/xibo/1.6/server-162/server/'); |
2188 | 16 | DEFINE('CONSUMER_KEY', 'e5adc06021aa90157114862e5a22287d0519918d2'); | 17 | DEFINE('CONSUMER_KEY', 'e982575d2ab70546923b92e50c5b96ca053b407a8'); |
2189 | 17 | DEFINE('CONSUMER_SECRET', '9411a8a5d9a8fc63c105cb3119a89395'); | 18 | DEFINE('CONSUMER_SECRET', 'a891f97e69985230a2e0e869b9f875e3'); |
2190 | 18 | //DEFINE('SERVER_BASE', 'http://unittest2.xibo.org.uk/api/'); | 19 | //DEFINE('SERVER_BASE', 'http://unittest2.xibo.org.uk/api/'); |
2191 | 19 | //DEFINE('CONSUMER_KEY', '201798cda77e4e82e0488d0c8c2e43ae0519d180f'); | 20 | //DEFINE('CONSUMER_KEY', '201798cda77e4e82e0488d0c8c2e43ae0519d180f'); |
2192 | 20 | //DEFINE('CONSUMER_SECRET', '9eb4aa8a51e4a393b3fb5ad6f1a75bae'); | 21 | //DEFINE('CONSUMER_SECRET', '9eb4aa8a51e4a393b3fb5ad6f1a75bae'); |
2195 | 21 | 22 | // | |
2196 | 22 | switch($_GET['action']) | 23 | |
2197 | 24 | // $RESPONSE = 'xml'; | ||
2198 | 25 | define('RESPONSE', 'json'); | ||
2199 | 26 | |||
2200 | 27 | switch((isset($_GET['action']) ? $_GET['action'] : '')) | ||
2201 | 23 | { | 28 | { |
2202 | 24 | case 'AddServer': | 29 | case 'AddServer': |
2203 | 25 | AddServerToOAuth(); | 30 | AddServerToOAuth(); |
2204 | @@ -37,11 +42,16 @@ | |||
2205 | 37 | MakeSignedRequest(); | 42 | MakeSignedRequest(); |
2206 | 38 | break; | 43 | break; |
2207 | 39 | 44 | ||
2208 | 45 | case '': | ||
2209 | 46 | die('No action'); | ||
2210 | 47 | |||
2211 | 40 | default: | 48 | default: |
2212 | 41 | $action = $_GET['action']; | 49 | $action = $_GET['action']; |
2213 | 42 | $action(); | 50 | $action(); |
2214 | 43 | } | 51 | } |
2215 | 44 | 52 | ||
2216 | 53 | die(); | ||
2217 | 54 | |||
2218 | 45 | function AddServerToOAuth() | 55 | function AddServerToOAuth() |
2219 | 46 | { | 56 | { |
2220 | 47 | // Get the id of the current user (must be an int) | 57 | // Get the id of the current user (must be an int) |
2221 | @@ -82,7 +92,7 @@ | |||
2222 | 82 | } | 92 | } |
2223 | 83 | 93 | ||
2224 | 84 | // Callback to our (consumer) site, will be called when the user finished the authorization at the server | 94 | // Callback to our (consumer) site, will be called when the user finished the authorization at the server |
2226 | 85 | $callback_uri = 'http://localhost/xibo/1.5/server-151-api/example_oauth/?action=Exchange&consumer_key='.rawurlencode(CONSUMER_KEY).'&usr_id='.intval($user_id); | 95 | $callback_uri = '?action=Exchange&consumer_key='.rawurlencode(CONSUMER_KEY).'&usr_id='.intval($user_id); |
2227 | 86 | 96 | ||
2228 | 87 | // Now redirect to the autorization uri and get us authorized | 97 | // Now redirect to the autorization uri and get us authorized |
2229 | 88 | if (!empty($token['authorize_uri'])) | 98 | if (!empty($token['authorize_uri'])) |
2230 | @@ -142,7 +152,7 @@ | |||
2231 | 142 | $params = array( | 152 | $params = array( |
2232 | 143 | 'service' => 'rest', | 153 | 'service' => 'rest', |
2233 | 144 | 'method' => 'Version', | 154 | 'method' => 'Version', |
2235 | 145 | 'response' => 'xml' | 155 | 'response' => RESPONSE |
2236 | 146 | ); | 156 | ); |
2237 | 147 | 157 | ||
2238 | 148 | // Obtain a request object for the request we want to make | 158 | // Obtain a request object for the request we want to make |
2239 | @@ -167,7 +177,7 @@ | |||
2240 | 167 | $params = array( | 177 | $params = array( |
2241 | 168 | 'service' => 'rest', | 178 | 'service' => 'rest', |
2242 | 169 | 'method' => 'LayoutList', | 179 | 'method' => 'LayoutList', |
2244 | 170 | 'response' => 'xml' | 180 | 'response' => RESPONSE |
2245 | 171 | ); | 181 | ); |
2246 | 172 | 182 | ||
2247 | 173 | // Obtain a request object for the request we want to make | 183 | // Obtain a request object for the request we want to make |
2248 | @@ -203,7 +213,7 @@ | |||
2249 | 203 | $params = array( | 213 | $params = array( |
2250 | 204 | 'service' => 'rest', | 214 | 'service' => 'rest', |
2251 | 205 | 'method' => 'LayoutRegionList', | 215 | 'method' => 'LayoutRegionList', |
2253 | 206 | 'response' => 'xml', | 216 | 'response' => RESPONSE, |
2254 | 207 | 'layoutid' => 11 | 217 | 'layoutid' => 11 |
2255 | 208 | ); | 218 | ); |
2256 | 209 | 219 | ||
2257 | @@ -234,7 +244,7 @@ | |||
2258 | 234 | $params = array( | 244 | $params = array( |
2259 | 235 | 'service' => 'rest', | 245 | 'service' => 'rest', |
2260 | 236 | 'method' => 'LayoutAdd', | 246 | 'method' => 'LayoutAdd', |
2262 | 237 | 'response' => 'xml', | 247 | 'response' => RESPONSE, |
2263 | 238 | 'layout' => 'API test' | 248 | 'layout' => 'API test' |
2264 | 239 | ); | 249 | ); |
2265 | 240 | 250 | ||
2266 | @@ -246,7 +256,7 @@ | |||
2267 | 246 | $params = array( | 256 | $params = array( |
2268 | 247 | 'service' => 'rest', | 257 | 'service' => 'rest', |
2269 | 248 | 'method' => 'LayoutRegionAdd', | 258 | 'method' => 'LayoutRegionAdd', |
2271 | 249 | 'response' => 'xml', | 259 | 'response' => RESPONSE, |
2272 | 250 | 'layoutid' => 11, | 260 | 'layoutid' => 11, |
2273 | 251 | 'top' => 102, | 261 | 'top' => 102, |
2274 | 252 | 'name' => 'apitest' | 262 | 'name' => 'apitest' |
2275 | @@ -261,7 +271,7 @@ | |||
2276 | 261 | $params = array( | 271 | $params = array( |
2277 | 262 | 'service' => 'rest', | 272 | 'service' => 'rest', |
2278 | 263 | 'method' => 'LayoutRegionEdit', | 273 | 'method' => 'LayoutRegionEdit', |
2280 | 264 | 'response' => 'xml', | 274 | 'response' => RESPONSE, |
2281 | 265 | 'layoutid' => 124, | 275 | 'layoutid' => 124, |
2282 | 266 | 'regionid' => '519d199c5cb50', | 276 | 'regionid' => '519d199c5cb50', |
2283 | 267 | 'width' => 400, | 277 | 'width' => 400, |
2284 | @@ -280,7 +290,7 @@ | |||
2285 | 280 | $params = array( | 290 | $params = array( |
2286 | 281 | 'service' => 'rest', | 291 | 'service' => 'rest', |
2287 | 282 | 'method' => 'LayoutRegionDelete', | 292 | 'method' => 'LayoutRegionDelete', |
2289 | 283 | 'response' => 'xml', | 293 | 'response' => RESPONSE, |
2290 | 284 | 'layoutid' => 124, | 294 | 'layoutid' => 124, |
2291 | 285 | 'regionid' => '519d1bb00e7a9' | 295 | 'regionid' => '519d1bb00e7a9' |
2292 | 286 | ); | 296 | ); |
2293 | @@ -292,7 +302,7 @@ | |||
2294 | 292 | $params = array( | 302 | $params = array( |
2295 | 293 | 'service' => 'rest', | 303 | 'service' => 'rest', |
2296 | 294 | 'method' => 'LayoutRegionTimelineList', | 304 | 'method' => 'LayoutRegionTimelineList', |
2298 | 295 | 'response' => 'xml', | 305 | 'response' => RESPONSE, |
2299 | 296 | 'layoutid' => 11, | 306 | 'layoutid' => 11, |
2300 | 297 | 'regionid' => '519d211ded076' | 307 | 'regionid' => '519d211ded076' |
2301 | 298 | ); | 308 | ); |
2302 | @@ -305,7 +315,7 @@ | |||
2303 | 305 | $params = array( | 315 | $params = array( |
2304 | 306 | 'service' => 'rest', | 316 | 'service' => 'rest', |
2305 | 307 | 'method' => 'LayoutRegionMediaAdd', | 317 | 'method' => 'LayoutRegionMediaAdd', |
2307 | 308 | 'response' => 'xml', | 318 | 'response' => RESPONSE, |
2308 | 309 | 'layoutid' => 11, | 319 | 'layoutid' => 11, |
2309 | 310 | 'regionid' => '519d211ded076', | 320 | 'regionid' => '519d211ded076', |
2310 | 311 | 'type' => 'webpage', | 321 | 'type' => 'webpage', |
2311 | @@ -324,7 +334,7 @@ | |||
2312 | 324 | $params = array( | 334 | $params = array( |
2313 | 325 | 'service' => 'rest', | 335 | 'service' => 'rest', |
2314 | 326 | 'method' => 'LayoutRegionMediaDetails', | 336 | 'method' => 'LayoutRegionMediaDetails', |
2316 | 327 | 'response' => 'xml', | 337 | 'response' => RESPONSE, |
2317 | 328 | 'layoutid' => 11, | 338 | 'layoutid' => 11, |
2318 | 329 | 'regionid' => '519d211ded076', | 339 | 'regionid' => '519d211ded076', |
2319 | 330 | 'mediaid' => 'b2036df53ae2bdcbb5322a183709afbc', | 340 | 'mediaid' => 'b2036df53ae2bdcbb5322a183709afbc', |
2320 | @@ -340,7 +350,7 @@ | |||
2321 | 340 | $params = array( | 350 | $params = array( |
2322 | 341 | 'service' => 'rest', | 351 | 'service' => 'rest', |
2323 | 342 | 'method' => 'LayoutRegionMediaEdit', | 352 | 'method' => 'LayoutRegionMediaEdit', |
2325 | 343 | 'response' => 'xml', | 353 | 'response' => RESPONSE, |
2326 | 344 | 'layoutid' => 11, | 354 | 'layoutid' => 11, |
2327 | 345 | 'regionid' => '519d211ded076', | 355 | 'regionid' => '519d211ded076', |
2328 | 346 | 'type' => 'webpage', | 356 | 'type' => 'webpage', |
2329 | @@ -355,6 +365,211 @@ | |||
2330 | 355 | callService($params, true); | 365 | callService($params, true); |
2331 | 356 | } | 366 | } |
2332 | 357 | 367 | ||
2333 | 368 | function DataSetList() { | ||
2334 | 369 | $params = array( | ||
2335 | 370 | 'service' => 'rest', | ||
2336 | 371 | 'method' => 'DataSetList', | ||
2337 | 372 | 'response' => RESPONSE | ||
2338 | 373 | ); | ||
2339 | 374 | |||
2340 | 375 | callService($params, true); | ||
2341 | 376 | } | ||
2342 | 377 | |||
2343 | 378 | function DataSetAdd() { | ||
2344 | 379 | $params = array( | ||
2345 | 380 | 'service' => 'rest', | ||
2346 | 381 | 'method' => 'DataSetAdd', | ||
2347 | 382 | 'response' => RESPONSE, | ||
2348 | 383 | 'dataSet' => 'API Test', | ||
2349 | 384 | 'description' => 'A test description.' | ||
2350 | 385 | ); | ||
2351 | 386 | |||
2352 | 387 | callService($params, true); | ||
2353 | 388 | } | ||
2354 | 389 | |||
2355 | 390 | function DataSetEdit() { | ||
2356 | 391 | $params = array( | ||
2357 | 392 | 'service' => 'rest', | ||
2358 | 393 | 'method' => 'DataSetEdit', | ||
2359 | 394 | 'response' => RESPONSE, | ||
2360 | 395 | 'dataSetId' => 3, | ||
2361 | 396 | 'dataSet' => 'API Test', | ||
2362 | 397 | 'description' => 'A test description.' | ||
2363 | 398 | ); | ||
2364 | 399 | |||
2365 | 400 | callService($params, true); | ||
2366 | 401 | } | ||
2367 | 402 | |||
2368 | 403 | function DataSetDelete() { | ||
2369 | 404 | $params = array( | ||
2370 | 405 | 'service' => 'rest', | ||
2371 | 406 | 'method' => 'DataSetDelete', | ||
2372 | 407 | 'response' => RESPONSE, | ||
2373 | 408 | 'dataSetId' => 3 | ||
2374 | 409 | ); | ||
2375 | 410 | |||
2376 | 411 | callService($params, true); | ||
2377 | 412 | } | ||
2378 | 413 | |||
2379 | 414 | function DataSetColumnList() { | ||
2380 | 415 | $params = array( | ||
2381 | 416 | 'service' => 'rest', | ||
2382 | 417 | 'method' => 'DataSetColumnList', | ||
2383 | 418 | 'response' => RESPONSE, | ||
2384 | 419 | 'dataSetId' => 1 | ||
2385 | 420 | ); | ||
2386 | 421 | |||
2387 | 422 | callService($params, true); | ||
2388 | 423 | } | ||
2389 | 424 | |||
2390 | 425 | function DataSetColumnAdd() { | ||
2391 | 426 | $params = array( | ||
2392 | 427 | 'service' => 'rest', | ||
2393 | 428 | 'method' => 'DataSetColumnAdd', | ||
2394 | 429 | 'response' => RESPONSE, | ||
2395 | 430 | 'dataSetId' => 4, | ||
2396 | 431 | 'heading' => 'API Column 1' | ||
2397 | 432 | ); | ||
2398 | 433 | |||
2399 | 434 | callService($params, true); | ||
2400 | 435 | } | ||
2401 | 436 | |||
2402 | 437 | function DataSetColumnEdit() { | ||
2403 | 438 | $params = array( | ||
2404 | 439 | 'service' => 'rest', | ||
2405 | 440 | 'method' => 'DataSetColumnEdit', | ||
2406 | 441 | 'response' => RESPONSE, | ||
2407 | 442 | 'dataTypeId' => 1, | ||
2408 | 443 | 'dataSetColumnTypeId' => 1, | ||
2409 | 444 | 'dataSetId' => 4, | ||
2410 | 445 | 'dataSetColumnId' => 3, | ||
2411 | 446 | 'heading' => 'API Column 1 Edited' | ||
2412 | 447 | ); | ||
2413 | 448 | |||
2414 | 449 | callService($params, true); | ||
2415 | 450 | } | ||
2416 | 451 | |||
2417 | 452 | function DataSetColumnDelete() { | ||
2418 | 453 | $params = array( | ||
2419 | 454 | 'service' => 'rest', | ||
2420 | 455 | 'method' => 'DataSetColumnDelete', | ||
2421 | 456 | 'response' => RESPONSE, | ||
2422 | 457 | 'dataSetId' => 4, | ||
2423 | 458 | 'dataSetColumnId' => 3 | ||
2424 | 459 | ); | ||
2425 | 460 | |||
2426 | 461 | callService($params, true); | ||
2427 | 462 | } | ||
2428 | 463 | |||
2429 | 464 | function DataSetDataList() { | ||
2430 | 465 | $params = array( | ||
2431 | 466 | 'service' => 'rest', | ||
2432 | 467 | 'method' => 'DataSetDataList', | ||
2433 | 468 | 'response' => RESPONSE, | ||
2434 | 469 | 'dataSetId' => 1 | ||
2435 | 470 | ); | ||
2436 | 471 | |||
2437 | 472 | callService($params, true); | ||
2438 | 473 | } | ||
2439 | 474 | |||
2440 | 475 | function DataSetSecurityList() { | ||
2441 | 476 | $params = array( | ||
2442 | 477 | 'service' => 'rest', | ||
2443 | 478 | 'method' => 'DataSetSecurityList', | ||
2444 | 479 | 'response' => RESPONSE, | ||
2445 | 480 | 'dataSetId' => 4 | ||
2446 | 481 | ); | ||
2447 | 482 | |||
2448 | 483 | callService($params, true); | ||
2449 | 484 | } | ||
2450 | 485 | |||
2451 | 486 | function DataSetSecurityAdd() { | ||
2452 | 487 | $params = array( | ||
2453 | 488 | 'service' => 'rest', | ||
2454 | 489 | 'method' => 'DataSetSecurityAdd', | ||
2455 | 490 | 'response' => RESPONSE, | ||
2456 | 491 | 'dataSetId' => 4, | ||
2457 | 492 | 'groupId' => 1, | ||
2458 | 493 | 'view' => 1, | ||
2459 | 494 | 'edit' => 1, | ||
2460 | 495 | 'delete' => 1 | ||
2461 | 496 | ); | ||
2462 | 497 | |||
2463 | 498 | callService($params, true); | ||
2464 | 499 | } | ||
2465 | 500 | |||
2466 | 501 | function DataSetSecurityDelete() { | ||
2467 | 502 | $params = array( | ||
2468 | 503 | 'service' => 'rest', | ||
2469 | 504 | 'method' => 'DataSetSecurityDelete', | ||
2470 | 505 | 'response' => RESPONSE, | ||
2471 | 506 | 'dataSetId' => 4, | ||
2472 | 507 | 'groupId' => 1 | ||
2473 | 508 | ); | ||
2474 | 509 | |||
2475 | 510 | callService($params, true); | ||
2476 | 511 | } | ||
2477 | 512 | |||
2478 | 513 | function DataSetImportCsv() { | ||
2479 | 514 | |||
2480 | 515 | $mappings = array( | ||
2481 | 516 | '0' => '1', | ||
2482 | 517 | '2' => '4', | ||
2483 | 518 | '1' => '5' | ||
2484 | 519 | ); | ||
2485 | 520 | |||
2486 | 521 | $params = array( | ||
2487 | 522 | 'service' => 'rest', | ||
2488 | 523 | 'method' => 'DataSetImportCsv', | ||
2489 | 524 | 'response' => RESPONSE, | ||
2490 | 525 | 'dataSetId' => 1, | ||
2491 | 526 | 'fileId' => 3, | ||
2492 | 527 | 'spreadSheetMapping' => json_encode($mappings), | ||
2493 | 528 | 'overwrite' => 0, | ||
2494 | 529 | 'ignoreFirstRow' => 1, | ||
2495 | 530 | ); | ||
2496 | 531 | |||
2497 | 532 | callService($params, true); | ||
2498 | 533 | } | ||
2499 | 534 | |||
2500 | 535 | function LibraryMediaFileUpload() { | ||
2501 | 536 | |||
2502 | 537 | // Get the test file | ||
2503 | 538 | $file = file_get_contents('test_files/test.csv'); | ||
2504 | 539 | $payload = base64_encode($file); | ||
2505 | 540 | |||
2506 | 541 | $params = array( | ||
2507 | 542 | 'service' => 'rest', | ||
2508 | 543 | 'method' => 'LibraryMediaFileUpload', | ||
2509 | 544 | 'response' => RESPONSE, | ||
2510 | 545 | 'fileId' => NULL, | ||
2511 | 546 | 'checksum' => md5($payload), | ||
2512 | 547 | 'payload' => $payload | ||
2513 | 548 | ); | ||
2514 | 549 | |||
2515 | 550 | callService($params, true); | ||
2516 | 551 | } | ||
2517 | 552 | |||
2518 | 553 | function DataTypeList() { | ||
2519 | 554 | $params = array( | ||
2520 | 555 | 'service' => 'rest', | ||
2521 | 556 | 'method' => 'DataTypeList', | ||
2522 | 557 | 'response' => RESPONSE | ||
2523 | 558 | ); | ||
2524 | 559 | |||
2525 | 560 | callService($params, true); | ||
2526 | 561 | } | ||
2527 | 562 | |||
2528 | 563 | function DataSetColumnTypeList() { | ||
2529 | 564 | $params = array( | ||
2530 | 565 | 'service' => 'rest', | ||
2531 | 566 | 'method' => 'DataSetColumnTypeList', | ||
2532 | 567 | 'response' => RESPONSE | ||
2533 | 568 | ); | ||
2534 | 569 | |||
2535 | 570 | callService($params, true); | ||
2536 | 571 | } | ||
2537 | 572 | |||
2538 | 358 | function callService($params, $echo = false) { | 573 | function callService($params, $echo = false) { |
2539 | 359 | // The request uri being called. | 574 | // The request uri being called. |
2540 | 360 | $user_id = 1; | 575 | $user_id = 1; |
2541 | @@ -366,9 +581,15 @@ | |||
2542 | 366 | // Sign the request, perform a curl request and return the results, throws OAuthException exception on an error | 581 | // Sign the request, perform a curl request and return the results, throws OAuthException exception on an error |
2543 | 367 | $return = $req->doRequest($user_id); | 582 | $return = $req->doRequest($user_id); |
2544 | 368 | 583 | ||
2546 | 369 | if ($echo) | 584 | if ($echo) { |
2547 | 370 | var_dump($return); | 585 | var_dump($return); |
2548 | 371 | 586 | ||
2549 | 587 | if (RESPONSE == 'json') | ||
2550 | 588 | echo '<pre>' . json_format($return['body']) . '</pre>'; | ||
2551 | 589 | else | ||
2552 | 590 | echo $return['body']; | ||
2553 | 591 | } | ||
2554 | 592 | |||
2555 | 372 | return $return; | 593 | return $return; |
2556 | 373 | } | 594 | } |
2557 | 374 | ?> | 595 | ?> |
2558 | 375 | 596 | ||
2559 | === added file 'example_oauth/nice-json.php' | |||
2560 | --- example_oauth/nice-json.php 1970-01-01 00:00:00 +0000 | |||
2561 | +++ example_oauth/nice-json.php 2014-07-15 15:37:37 +0000 | |||
2562 | @@ -0,0 +1,73 @@ | |||
2563 | 1 | <?php | ||
2564 | 2 | |||
2565 | 3 | // original code: http://www.daveperrett.com/articles/2008/03/11/format-json-with-php/ | ||
2566 | 4 | // adapted to allow native functionality in php version >= 5.4.0 | ||
2567 | 5 | |||
2568 | 6 | /** | ||
2569 | 7 | * Format a flat JSON string to make it more human-readable | ||
2570 | 8 | * | ||
2571 | 9 | * @param string $json The original JSON string to process | ||
2572 | 10 | * When the input is not a string it is assumed the input is RAW | ||
2573 | 11 | * and should be converted to JSON first of all. | ||
2574 | 12 | * @return string Indented version of the original JSON string | ||
2575 | 13 | */ | ||
2576 | 14 | function json_format($json) { | ||
2577 | 15 | if (!is_string($json)) { | ||
2578 | 16 | if (phpversion() && phpversion() >= 5.4) { | ||
2579 | 17 | return json_encode($json, JSON_PRETTY_PRINT); | ||
2580 | 18 | } | ||
2581 | 19 | $json = json_encode($json); | ||
2582 | 20 | } | ||
2583 | 21 | $result = ''; | ||
2584 | 22 | $pos = 0; // indentation level | ||
2585 | 23 | $strLen = strlen($json); | ||
2586 | 24 | $indentStr = "\t"; | ||
2587 | 25 | $newLine = "\n"; | ||
2588 | 26 | $prevChar = ''; | ||
2589 | 27 | $outOfQuotes = true; | ||
2590 | 28 | |||
2591 | 29 | for ($i = 0; $i < $strLen; $i++) { | ||
2592 | 30 | // Grab the next character in the string | ||
2593 | 31 | $char = substr($json, $i, 1); | ||
2594 | 32 | |||
2595 | 33 | // Are we inside a quoted string? | ||
2596 | 34 | if ($char == '"' && $prevChar != '\\') { | ||
2597 | 35 | $outOfQuotes = !$outOfQuotes; | ||
2598 | 36 | } | ||
2599 | 37 | // If this character is the end of an element, | ||
2600 | 38 | // output a new line and indent the next line | ||
2601 | 39 | else if (($char == '}' || $char == ']') && $outOfQuotes) { | ||
2602 | 40 | $result .= $newLine; | ||
2603 | 41 | $pos--; | ||
2604 | 42 | for ($j = 0; $j < $pos; $j++) { | ||
2605 | 43 | $result .= $indentStr; | ||
2606 | 44 | } | ||
2607 | 45 | } | ||
2608 | 46 | // eat all non-essential whitespace in the input as we do our own here and it would only mess up our process | ||
2609 | 47 | else if ($outOfQuotes && false !== strpos(" \t\r\n", $char)) { | ||
2610 | 48 | continue; | ||
2611 | 49 | } | ||
2612 | 50 | |||
2613 | 51 | // Add the character to the result string | ||
2614 | 52 | $result .= $char; | ||
2615 | 53 | // always add a space after a field colon: | ||
2616 | 54 | if ($char == ':' && $outOfQuotes) { | ||
2617 | 55 | $result .= ' '; | ||
2618 | 56 | } | ||
2619 | 57 | |||
2620 | 58 | // If the last character was the beginning of an element, | ||
2621 | 59 | // output a new line and indent the next line | ||
2622 | 60 | if (($char == ',' || $char == '{' || $char == '[') && $outOfQuotes) { | ||
2623 | 61 | $result .= $newLine; | ||
2624 | 62 | if ($char == '{' || $char == '[') { | ||
2625 | 63 | $pos++; | ||
2626 | 64 | } | ||
2627 | 65 | for ($j = 0; $j < $pos; $j++) { | ||
2628 | 66 | $result .= $indentStr; | ||
2629 | 67 | } | ||
2630 | 68 | } | ||
2631 | 69 | $prevChar = $char; | ||
2632 | 70 | } | ||
2633 | 71 | |||
2634 | 72 | return $result; | ||
2635 | 73 | } | ||
2636 | 0 | 74 | ||
2637 | === added directory 'example_oauth/test_files' | |||
2638 | === added file 'example_oauth/test_files/test.csv' | |||
2639 | --- example_oauth/test_files/test.csv 1970-01-01 00:00:00 +0000 | |||
2640 | +++ example_oauth/test_files/test.csv 2014-07-15 15:37:37 +0000 | |||
2641 | @@ -0,0 +1,6 @@ | |||
2642 | 1 | Col1,Col2,Col3,Col4 | ||
2643 | 2 | Row1-1,Row1-2,Row1-3,Row1-4 | ||
2644 | 3 | Row2-1,Row2-2,Row2-3,Row2-4 | ||
2645 | 4 | Row3-1,Row3-2,Row3-3,Row3-4 | ||
2646 | 5 | Row4-1,Row4-2,Row4-3,Row4-4 | ||
2647 | 6 | Row5-1,Row5-2,Row5-3,Row5-4 | ||
2648 | 0 | \ No newline at end of file | 7 | \ No newline at end of file |
2649 | 1 | 8 | ||
2650 | === modified file 'server/3rdparty/simplepie/library/SimplePie/File.php' | |||
2651 | --- server/3rdparty/simplepie/library/SimplePie/File.php 2014-03-23 13:52:47 +0000 | |||
2652 | +++ server/3rdparty/simplepie/library/SimplePie/File.php 2014-07-15 15:37:37 +0000 | |||
2653 | @@ -137,6 +137,10 @@ | |||
2654 | 137 | { | 137 | { |
2655 | 138 | $info = curl_getinfo($fp); | 138 | $info = curl_getinfo($fp); |
2656 | 139 | curl_close($fp); | 139 | curl_close($fp); |
2657 | 140 | |||
2658 | 141 | // DG: Patch to strip double headers | ||
2659 | 142 | $this->headers = SimplePie_HTTP_Parser::strip_double_headers($this->headers); | ||
2660 | 143 | |||
2661 | 140 | $this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1); | 144 | $this->headers = explode("\r\n\r\n", $this->headers, $info['redirect_count'] + 1); |
2662 | 141 | $this->headers = array_pop($this->headers); | 145 | $this->headers = array_pop($this->headers); |
2663 | 142 | $parser = new SimplePie_HTTP_Parser($this->headers); | 146 | $parser = new SimplePie_HTTP_Parser($this->headers); |
2664 | 143 | 147 | ||
2665 | === modified file 'server/3rdparty/simplepie/library/SimplePie/HTTP/Parser.php' | |||
2666 | --- server/3rdparty/simplepie/library/SimplePie/HTTP/Parser.php 2013-05-11 15:26:38 +0000 | |||
2667 | +++ server/3rdparty/simplepie/library/SimplePie/HTTP/Parser.php 2014-07-15 15:37:37 +0000 | |||
2668 | @@ -497,4 +497,25 @@ | |||
2669 | 497 | } | 497 | } |
2670 | 498 | } | 498 | } |
2671 | 499 | } | 499 | } |
2672 | 500 | |||
2673 | 501 | public static function strip_double_headers($input) { | ||
2674 | 502 | // I have tried to make this regular expression as specific as possible | ||
2675 | 503 | // to avoid any case where it does weird stuff if you happen to put | ||
2676 | 504 | // HTTP/1.1 200 at the start of any line in your RSS file. This should | ||
2677 | 505 | // also make it faster because it can abandon regex processing as soon | ||
2678 | 506 | // as it hits something that doesn't look like an http header. The | ||
2679 | 507 | // header definition is taken from RFC 822, except I didn't support | ||
2680 | 508 | // folding which is never used in practice. | ||
2681 | 509 | $crlf = "\r\n"; | ||
2682 | 510 | return preg_replace( | ||
2683 | 511 | // HTTP version and status code (ignore value of code). | ||
2684 | 512 | '~^HTTP/1\..*' . $crlf . | ||
2685 | 513 | // Header name: character between 33 and 126 decimal, except colon. | ||
2686 | 514 | // Colon. Header value: any character except \r and \n. CRLF. | ||
2687 | 515 | '(?:[\x21-\x39\x3b-\x7e]+:[^' . $crlf . ']+' . $crlf . ')*' . | ||
2688 | 516 | // Headers are terminated by another CRLF (blank line). | ||
2689 | 517 | $crlf . | ||
2690 | 518 | // Second HTTP status code, this time must be 200. | ||
2691 | 519 | '(HTTP/1.[01] 200 )~', '$1', $input); | ||
2692 | 520 | } | ||
2693 | 500 | } | 521 | } |
2694 | 501 | 522 | ||
2695 | === modified file 'server/config/config.class.php' | |||
2696 | --- server/config/config.class.php 2014-02-15 11:25:09 +0000 | |||
2697 | +++ server/config/config.class.php 2014-07-15 15:37:37 +0000 | |||
2698 | @@ -127,29 +127,18 @@ | |||
2699 | 127 | $output .= '<div class="checks">'; | 127 | $output .= '<div class="checks">'; |
2700 | 128 | 128 | ||
2701 | 129 | // Check for PHP version | 129 | // Check for PHP version |
2703 | 130 | $message = __('PHP Version 5.2.4 or later'); | 130 | $message = __('PHP Version'); |
2704 | 131 | 131 | ||
2705 | 132 | if ($this->CheckPHP() == 1) | 132 | if ($this->CheckPHP() == 1) |
2706 | 133 | { | 133 | { |
2707 | 134 | $output .= $imgGood.$message.'<br />'; | 134 | $output .= $imgGood.$message.'<br />'; |
2708 | 135 | } | 135 | } |
2709 | 136 | else if ($this->CheckPHP() == 2) | ||
2710 | 137 | { | ||
2711 | 138 | $this->envWarning = true; | ||
2712 | 139 | $output .= $imgWarn.$message.'<br />'; | ||
2713 | 140 | $output .= <<<END | ||
2714 | 141 | <div class="check_explain"> | ||
2715 | 142 | <p>Xibo requires PHP version 5.2.4 or later. It may run on PHP 5.1.0 and we have provided compatibility functions to enable that.</p> | ||
2716 | 143 | <p>However, we recommend upgrading your version of PHP to 5.2.4 or later.</p> | ||
2717 | 144 | </div> | ||
2718 | 145 | END; | ||
2719 | 146 | } | ||
2720 | 147 | else | 136 | else |
2721 | 148 | { | 137 | { |
2722 | 149 | $this->envFault = true; | 138 | $this->envFault = true; |
2723 | 150 | 139 | ||
2724 | 151 | $output .= $imgBad.$message.'<br />'; | 140 | $output .= $imgBad.$message.'<br />'; |
2726 | 152 | $output .= '<div class="check_explain"> <p>' . __("PHP version 5.2.4 or later required.") . '</p></div>'; | 141 | $output .= '<div class="check_explain"> <p>' . __("PHP version 5.3.3 or later required.") . '. Detected ' . phpversion() . '</p></div>'; |
2727 | 153 | } | 142 | } |
2728 | 154 | 143 | ||
2729 | 155 | // Check for file system permissions | 144 | // Check for file system permissions |
2730 | @@ -474,17 +463,7 @@ | |||
2731 | 474 | */ | 463 | */ |
2732 | 475 | function CheckPHP() | 464 | function CheckPHP() |
2733 | 476 | { | 465 | { |
2745 | 477 | if (phpversion() >= '5.2.4') | 466 | return ((version_compare('5.3.3', phpversion(), '>='))) ? 1 : 0; |
2735 | 478 | { | ||
2736 | 479 | return 1; | ||
2737 | 480 | } | ||
2738 | 481 | |||
2739 | 482 | if (phpversion() >= '5.1.0') | ||
2740 | 483 | { | ||
2741 | 484 | return 2; | ||
2742 | 485 | } | ||
2743 | 486 | |||
2744 | 487 | return 0; | ||
2746 | 488 | } | 467 | } |
2747 | 489 | 468 | ||
2748 | 490 | /** | 469 | /** |
2749 | 491 | 470 | ||
2750 | === modified file 'server/install.php' | |||
2751 | --- server/install.php 2013-08-21 22:27:13 +0000 | |||
2752 | +++ server/install.php 2014-07-15 15:37:37 +0000 | |||
2753 | @@ -22,7 +22,7 @@ | |||
2754 | 22 | 22 | ||
2755 | 23 | if (! checkPHP()) | 23 | if (! checkPHP()) |
2756 | 24 | { | 24 | { |
2758 | 25 | die('Xibo requires PHP 5.2.4 or later'); | 25 | die('Xibo requires PHP 5.3.3 or later'); |
2759 | 26 | } | 26 | } |
2760 | 27 | 27 | ||
2761 | 28 | error_reporting(0); | 28 | error_reporting(0); |
2762 | @@ -693,7 +693,7 @@ | |||
2763 | 693 | 693 | ||
2764 | 694 | function checkPHP() | 694 | function checkPHP() |
2765 | 695 | { | 695 | { |
2767 | 696 | return (version_compare("5.2.4",phpversion(), "<=")); | 696 | return (version_compare("5.3.3",phpversion(), "<=")); |
2768 | 697 | } | 697 | } |
2769 | 698 | 698 | ||
2770 | 699 | function CheckGettext() | 699 | function CheckGettext() |
2771 | 700 | 700 | ||
2772 | === added file 'server/install/database/69.sql' | |||
2773 | --- server/install/database/69.sql 1970-01-01 00:00:00 +0000 | |||
2774 | +++ server/install/database/69.sql 2014-07-15 15:37:37 +0000 | |||
2775 | @@ -0,0 +1,4 @@ | |||
2776 | 1 | |||
2777 | 2 | UPDATE `version` SET `app_ver` = '1.6.1', `XmdsVersion` = 3; | ||
2778 | 3 | UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE'; | ||
2779 | 4 | UPDATE `version` SET `DBVersion` = '69'; | ||
2780 | 0 | 5 | ||
2781 | === added file 'server/install/database/70.sql' | |||
2782 | --- server/install/database/70.sql 1970-01-01 00:00:00 +0000 | |||
2783 | +++ server/install/database/70.sql 2014-07-15 15:37:37 +0000 | |||
2784 | @@ -0,0 +1,15 @@ | |||
2785 | 1 | ALTER TABLE `dataset` ADD `LastDataEdit` INT NOT NULL DEFAULT '0'; | ||
2786 | 2 | |||
2787 | 3 | CREATE TABLE IF NOT EXISTS `lkdatasetlayout` ( | ||
2788 | 4 | `LkDataSetLayoutID` int(11) NOT NULL AUTO_INCREMENT, | ||
2789 | 5 | `DataSetID` int(11) NOT NULL, | ||
2790 | 6 | `LayoutID` int(11) NOT NULL, | ||
2791 | 7 | `RegionID` varchar(50) NOT NULL, | ||
2792 | 8 | `MediaID` varchar(50) NOT NULL, | ||
2793 | 9 | PRIMARY KEY (`LkDataSetLayoutID`) | ||
2794 | 10 | ) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=1 ; | ||
2795 | 11 | |||
2796 | 12 | |||
2797 | 13 | UPDATE `version` SET `app_ver` = '1.6.2', `XmdsVersion` = 3; | ||
2798 | 14 | UPDATE `setting` SET `value` = 0 WHERE `setting` = 'PHONE_HOME_DATE'; | ||
2799 | 15 | UPDATE `version` SET `DBVersion` = '70'; | ||
2800 | 0 | 16 | ||
2801 | === modified file 'server/install/master/data.sql' | |||
2802 | --- server/install/master/data.sql 2014-05-03 21:16:38 +0000 | |||
2803 | +++ server/install/master/data.sql 2014-07-15 15:37:37 +0000 | |||
2804 | @@ -1,5 +1,5 @@ | |||
2805 | 1 | INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES | 1 | INSERT INTO `version` (`app_ver`, `XmdsVersion`, `XlfVersion`, `DBVersion`) VALUES |
2807 | 2 | ('1.6.0', 3, 1, 68); | 2 | ('1.6.2', 3, 1, 70); |
2808 | 3 | 3 | ||
2809 | 4 | INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES | 4 | INSERT INTO `group` (`groupID`, `group`, `IsUserSpecific`, `IsEveryone`) VALUES |
2810 | 5 | (1, 'Users', 0, 0), | 5 | (1, 'Users', 0, 0), |
2811 | 6 | 6 | ||
2812 | === modified file 'server/lib/app/kit.class.php' | |||
2813 | --- server/lib/app/kit.class.php 2014-03-29 11:20:40 +0000 | |||
2814 | +++ server/lib/app/kit.class.php 2014-07-15 15:37:37 +0000 | |||
2815 | @@ -26,6 +26,7 @@ | |||
2816 | 26 | define('_REQUEST', "request"); | 26 | define('_REQUEST', "request"); |
2817 | 27 | 27 | ||
2818 | 28 | define('_STRING', "string"); | 28 | define('_STRING', "string"); |
2819 | 29 | define('_STRINGSPECIAL', 'stringspecial'); | ||
2820 | 29 | define('_HTMLSTRING', 'htmlstring'); | 30 | define('_HTMLSTRING', 'htmlstring'); |
2821 | 30 | define('_PASSWORD', "password"); | 31 | define('_PASSWORD', "password"); |
2822 | 31 | define('_INT', "int"); | 32 | define('_INT', "int"); |
2823 | @@ -295,6 +296,10 @@ | |||
2824 | 295 | case _PASSWORD : | 296 | case _PASSWORD : |
2825 | 296 | $return = filter_var($return, FILTER_SANITIZE_STRING); | 297 | $return = filter_var($return, FILTER_SANITIZE_STRING); |
2826 | 297 | break; | 298 | break; |
2827 | 299 | |||
2828 | 300 | case _STRINGSPECIAL: | ||
2829 | 301 | $return = filter_var($return, FILTER_SANITIZE_SPECIAL_CHARS); | ||
2830 | 302 | break; | ||
2831 | 298 | 303 | ||
2832 | 299 | case _HTMLSTRING : | 304 | case _HTMLSTRING : |
2833 | 300 | 305 | ||
2834 | 301 | 306 | ||
2835 | === modified file 'server/lib/app/session.class.php' | |||
2836 | --- server/lib/app/session.class.php 2014-01-18 09:47:41 +0000 | |||
2837 | +++ server/lib/app/session.class.php 2014-07-15 15:37:37 +0000 | |||
2838 | @@ -75,7 +75,7 @@ | |||
2839 | 75 | $sth->execute(array('session_id' => $key)); | 75 | $sth->execute(array('session_id' => $key)); |
2840 | 76 | 76 | ||
2841 | 77 | if (!$row = $sth->fetch()) | 77 | if (!$row = $sth->fetch()) |
2843 | 78 | throw new Exception('No session returned'); | 78 | return settype($empty, "string"); |
2844 | 79 | 79 | ||
2845 | 80 | // What happens if the UserAgent has changed? | 80 | // What happens if the UserAgent has changed? |
2846 | 81 | if ($row['useragent'] != $userAgent) { | 81 | if ($row['useragent'] != $userAgent) { |
2847 | 82 | 82 | ||
2848 | === modified file 'server/lib/data/dataset.data.class.php' | |||
2849 | --- server/lib/data/dataset.data.class.php 2014-01-18 09:47:41 +0000 | |||
2850 | +++ server/lib/data/dataset.data.class.php 2014-07-15 15:37:37 +0000 | |||
2851 | @@ -152,6 +152,7 @@ | |||
2852 | 152 | $security->UnlinkAll($dataSetId); | 152 | $security->UnlinkAll($dataSetId); |
2853 | 153 | 153 | ||
2854 | 154 | // Delete columns | 154 | // Delete columns |
2855 | 155 | Kit::ClassLoader('datasetcolumn'); | ||
2856 | 155 | $dataSetObject = new DataSetColumn($this->db); | 156 | $dataSetObject = new DataSetColumn($this->db); |
2857 | 156 | if (!$dataSetObject->DeleteAll($dataSetId)) | 157 | if (!$dataSetObject->DeleteAll($dataSetId)) |
2858 | 157 | return $this->SetError(25005, __('Cannot delete dataset, columns could not be deleted.')); | 158 | return $this->SetError(25005, __('Cannot delete dataset, columns could not be deleted.')); |
2859 | @@ -175,6 +176,129 @@ | |||
2860 | 175 | } | 176 | } |
2861 | 176 | } | 177 | } |
2862 | 177 | 178 | ||
2863 | 179 | public function LinkLayout($dataSetId, $layoutId, $regionId, $mediaId) { | ||
2864 | 180 | try { | ||
2865 | 181 | $dbh = PDOConnect::init(); | ||
2866 | 182 | |||
2867 | 183 | $sth = $dbh->prepare('INSERT INTO `lkdatasetlayout` (DataSetID, LayoutID, RegionID, MediaID) VALUES (:datasetid, :layoutid, :regionid, :mediaid)'); | ||
2868 | 184 | $sth->execute(array( | ||
2869 | 185 | 'datasetid' => $dataSetId, | ||
2870 | 186 | 'layoutid' => $layoutId, | ||
2871 | 187 | 'regionid' => $regionId, | ||
2872 | 188 | 'mediaid' => $mediaId | ||
2873 | 189 | )); | ||
2874 | 190 | } | ||
2875 | 191 | catch (Exception $e) { | ||
2876 | 192 | |||
2877 | 193 | Debug::LogEntry('error', $e->getMessage()); | ||
2878 | 194 | |||
2879 | 195 | if (!$this->IsError()) | ||
2880 | 196 | $this->SetError(1, __('Unknown Error')); | ||
2881 | 197 | |||
2882 | 198 | return false; | ||
2883 | 199 | } | ||
2884 | 200 | } | ||
2885 | 201 | |||
2886 | 202 | public function UnlinkLayout($dataSetId, $layoutId, $regionId, $mediaId) { | ||
2887 | 203 | try { | ||
2888 | 204 | $dbh = PDOConnect::init(); | ||
2889 | 205 | |||
2890 | 206 | $sth = $dbh->prepare('DELETE FROM `lkdatasetlayout` WHERE DataSetID = :datasetid AND LayoutID = :layoutid AND RegionID = :regionid AND MediaID = :mediaid'); | ||
2891 | 207 | $sth->execute(array( | ||
2892 | 208 | 'datasetid' => $dataSetId, | ||
2893 | 209 | 'layoutid' => $layoutId, | ||
2894 | 210 | 'regionid' => $regionId, | ||
2895 | 211 | 'mediaid' => $mediaId | ||
2896 | 212 | )); | ||
2897 | 213 | } | ||
2898 | 214 | catch (Exception $e) { | ||
2899 | 215 | |||
2900 | 216 | Debug::LogEntry('error', $e->getMessage()); | ||
2901 | 217 | |||
2902 | 218 | if (!$this->IsError()) | ||
2903 | 219 | $this->SetError(1, __('Unknown Error')); | ||
2904 | 220 | |||
2905 | 221 | return false; | ||
2906 | 222 | } | ||
2907 | 223 | } | ||
2908 | 224 | |||
2909 | 225 | public function GetDataSetFromLayout($layoutId, $regionId, $mediaId) { | ||
2910 | 226 | try { | ||
2911 | 227 | $dbh = PDOConnect::init(); | ||
2912 | 228 | |||
2913 | 229 | $sth = $dbh->prepare('SELECT `dataset`.* FROM `lkdatasetlayout` INNER JOIN `dataset` ON lkdatasetlayout.DataSetId = dataset.DataSetID WHERE LayoutID = :layoutid AND RegionID = :regionid AND MediaID = :mediaid'); | ||
2914 | 230 | $sth->execute(array( | ||
2915 | 231 | 'layoutid' => $layoutId, | ||
2916 | 232 | 'regionid' => $regionId, | ||
2917 | 233 | 'mediaid' => $mediaId | ||
2918 | 234 | )); | ||
2919 | 235 | |||
2920 | 236 | return $sth->fetchAll(); | ||
2921 | 237 | } | ||
2922 | 238 | catch (Exception $e) { | ||
2923 | 239 | |||
2924 | 240 | Debug::LogEntry('error', $e->getMessage()); | ||
2925 | 241 | |||
2926 | 242 | if (!$this->IsError()) | ||
2927 | 243 | $this->SetError(1, __('Unknown Error')); | ||
2928 | 244 | |||
2929 | 245 | return false; | ||
2930 | 246 | } | ||
2931 | 247 | } | ||
2932 | 248 | |||
2933 | 249 | public function GetCampaignsForDataSet($dataSetId) { | ||
2934 | 250 | try { | ||
2935 | 251 | $dbh = PDOConnect::init(); | ||
2936 | 252 | |||
2937 | 253 | $sth = $dbh->prepare('SELECT `lkcampaignlayout`.CampaignID FROM `lkdatasetlayout` INNER JOIN `lkcampaignlayout` ON `lkcampaignlayout`.LayoutID = `lkdatasetlayout`.LayoutID WHERE DataSetID = :datasetid'); | ||
2938 | 254 | $sth->execute(array( | ||
2939 | 255 | 'datasetid' => $dataSetId | ||
2940 | 256 | )); | ||
2941 | 257 | |||
2942 | 258 | $ids = array(); | ||
2943 | 259 | |||
2944 | 260 | foreach ($sth->fetchAll() as $id) | ||
2945 | 261 | $ids[] = $id['CampaignID']; | ||
2946 | 262 | |||
2947 | 263 | return $ids; | ||
2948 | 264 | } | ||
2949 | 265 | catch (Exception $e) { | ||
2950 | 266 | |||
2951 | 267 | Debug::LogEntry('error', $e->getMessage()); | ||
2952 | 268 | |||
2953 | 269 | if (!$this->IsError()) | ||
2954 | 270 | $this->SetError(1, __('Unknown Error')); | ||
2955 | 271 | |||
2956 | 272 | return false; | ||
2957 | 273 | } | ||
2958 | 274 | } | ||
2959 | 275 | |||
2960 | 276 | public function GetLastDataEditTime($dataSetId) { | ||
2961 | 277 | try { | ||
2962 | 278 | $dbh = PDOConnect::init(); | ||
2963 | 279 | |||
2964 | 280 | $sth = $dbh->prepare('SELECT LastDataEdit FROM `dataset` WHERE DataSetID = :dataset_id'); | ||
2965 | 281 | $sth->execute(array( | ||
2966 | 282 | 'dataset_id' => $dataSetId | ||
2967 | 283 | )); | ||
2968 | 284 | |||
2969 | 285 | $updateDate = $sth->fetchColumn(0); | ||
2970 | 286 | |||
2971 | 287 | Debug::LogEntry('audit', sprintf('Returning update date %s for DataSetId %d', $updateDate, $dataSetId), 'dataset', 'GetLastDataEditTime'); | ||
2972 | 288 | |||
2973 | 289 | return $updateDate; | ||
2974 | 290 | } | ||
2975 | 291 | catch (Exception $e) { | ||
2976 | 292 | |||
2977 | 293 | Debug::LogEntry('error', $e->getMessage()); | ||
2978 | 294 | |||
2979 | 295 | if (!$this->IsError()) | ||
2980 | 296 | $this->SetError(1, __('Unknown Error')); | ||
2981 | 297 | |||
2982 | 298 | return false; | ||
2983 | 299 | } | ||
2984 | 300 | } | ||
2985 | 301 | |||
2986 | 178 | /** | 302 | /** |
2987 | 179 | * Data Set Results | 303 | * Data Set Results |
2988 | 180 | * @param <type> $dataSetId | 304 | * @param <type> $dataSetId |
2989 | @@ -327,5 +451,45 @@ | |||
2990 | 327 | 451 | ||
2991 | 328 | return $results; | 452 | return $results; |
2992 | 329 | } | 453 | } |
2993 | 454 | |||
2994 | 455 | public function GetDataTypes() { | ||
2995 | 456 | try { | ||
2996 | 457 | $dbh = PDOConnect::init(); | ||
2997 | 458 | |||
2998 | 459 | $sth = $dbh->prepare('SELECT datatypeid, datatype FROM datatype'); | ||
2999 | 460 | $sth->execute(); | ||
3000 | 461 | |||
3001 | 462 | return $sth->fetchAll(); | ||
3002 | 463 | } | ||
3003 | 464 | catch (Exception $e) { | ||
3004 | 465 | |||
3005 | 466 | Debug::LogEntry('error', $e->getMessage()); | ||
3006 | 467 | |||
3007 | 468 | if (!$this->IsError()) | ||
3008 | 469 | $this->SetError(1, __('Unknown Error')); | ||
3009 | 470 | |||
3010 | 471 | return false; | ||
3011 | 472 | } | ||
3012 | 473 | } | ||
3013 | 474 | |||
3014 | 475 | public function GetDataSetColumnTypes() { | ||
3015 | 476 | try { | ||
3016 | 477 | $dbh = PDOConnect::init(); | ||
3017 | 478 | |||
3018 | 479 | $sth = $dbh->prepare('SELECT datasetcolumntypeid, datasetcolumntype FROM datasetcolumntype'); | ||
3019 | 480 | $sth->execute(); | ||
3020 | 481 | |||
3021 | 482 | return $sth->fetchAll(); | ||
3022 | 483 | } | ||
3023 | 484 | catch (Exception $e) { | ||
3024 | 485 | |||
3025 | 486 | Debug::LogEntry('error', $e->getMessage()); | ||
3026 | 487 | |||
3027 | 488 | if (!$this->IsError()) | ||
3028 | 489 | $this->SetError(1, __('Unknown Error')); | ||
3029 | 490 | |||
3030 | 491 | return false; | ||
3031 | 492 | } | ||
3032 | 493 | } | ||
3033 | 330 | } | 494 | } |
3034 | 331 | ?> | ||
3035 | 332 | \ No newline at end of file | 495 | \ No newline at end of file |
3036 | 496 | ?> | ||
3037 | 333 | 497 | ||
3038 | === modified file 'server/lib/data/datasetcolumn.data.class.php' | |||
3039 | --- server/lib/data/datasetcolumn.data.class.php 2014-01-18 09:47:41 +0000 | |||
3040 | +++ server/lib/data/datasetcolumn.data.class.php 2014-07-15 15:37:37 +0000 | |||
3041 | @@ -26,6 +26,18 @@ | |||
3042 | 26 | { | 26 | { |
3043 | 27 | Debug::LogEntry('audit', sprintf('IN - DataSetID = %d', $dataSetId), 'DataSetColumn', 'Add'); | 27 | Debug::LogEntry('audit', sprintf('IN - DataSetID = %d', $dataSetId), 'DataSetColumn', 'Add'); |
3044 | 28 | 28 | ||
3045 | 29 | if ($dataSetId == 0 || $dataSetId == '') | ||
3046 | 30 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3047 | 31 | |||
3048 | 32 | if ($dataTypeId == 0 || $dataTypeId == '') | ||
3049 | 33 | return $this->SetError(25001, __('Missing dataTypeId')); | ||
3050 | 34 | |||
3051 | 35 | if ($dataSetColumnTypeId == 0 || $dataSetColumnTypeId == '') | ||
3052 | 36 | return $this->SetError(25001, __('Missing dataSetColumnTypeId')); | ||
3053 | 37 | |||
3054 | 38 | if ($heading == '') | ||
3055 | 39 | return $this->SetError(25001, __('Please provide a column heading.')); | ||
3056 | 40 | |||
3057 | 29 | try { | 41 | try { |
3058 | 30 | $dbh = PDOConnect::init(); | 42 | $dbh = PDOConnect::init(); |
3059 | 31 | 43 | ||
3060 | @@ -77,6 +89,18 @@ | |||
3061 | 77 | 89 | ||
3062 | 78 | public function Edit($dataSetColumnId, $heading, $dataTypeId, $listContent, $columnOrder, $dataSetColumnTypeId, $formula = '') | 90 | public function Edit($dataSetColumnId, $heading, $dataTypeId, $listContent, $columnOrder, $dataSetColumnTypeId, $formula = '') |
3063 | 79 | { | 91 | { |
3064 | 92 | if ($dataSetColumnId == 0 || $dataSetColumnId == '') | ||
3065 | 93 | return $this->SetError(25001, __('Missing dataSetColumnId')); | ||
3066 | 94 | |||
3067 | 95 | if ($dataTypeId == 0 || $dataTypeId == '') | ||
3068 | 96 | return $this->SetError(25001, __('Missing dataTypeId')); | ||
3069 | 97 | |||
3070 | 98 | if ($dataSetColumnTypeId == 0 || $dataSetColumnTypeId == '') | ||
3071 | 99 | return $this->SetError(25001, __('Missing dataSetColumnTypeId')); | ||
3072 | 100 | |||
3073 | 101 | if ($heading == '') | ||
3074 | 102 | return $this->SetError(25001, __('Please provide a column heading.')); | ||
3075 | 103 | |||
3076 | 80 | try { | 104 | try { |
3077 | 81 | $dbh = PDOConnect::init(); | 105 | $dbh = PDOConnect::init(); |
3078 | 82 | 106 | ||
3079 | @@ -122,7 +146,7 @@ | |||
3080 | 122 | 'formula' => $formula | 146 | 'formula' => $formula |
3081 | 123 | )); | 147 | )); |
3082 | 124 | 148 | ||
3084 | 125 | Debug::LogEntry('audit', 'Complete', 'DataSetColumn', 'Edit'); | 149 | Debug::LogEntry('audit', 'Complete for ' . $heading, 'DataSetColumn', 'Edit'); |
3085 | 126 | 150 | ||
3086 | 127 | return true; | 151 | return true; |
3087 | 128 | } | 152 | } |
3088 | @@ -134,6 +158,9 @@ | |||
3089 | 134 | 158 | ||
3090 | 135 | public function Delete($dataSetColumnId) | 159 | public function Delete($dataSetColumnId) |
3091 | 136 | { | 160 | { |
3092 | 161 | if ($dataSetColumnId == 0 || $dataSetColumnId == '') | ||
3093 | 162 | return $this->SetError(25001, __('Missing dataSetColumnId')); | ||
3094 | 163 | |||
3095 | 137 | try { | 164 | try { |
3096 | 138 | $dbh = PDOConnect::init(); | 165 | $dbh = PDOConnect::init(); |
3097 | 139 | 166 | ||
3098 | @@ -155,6 +182,9 @@ | |||
3099 | 155 | // Delete All Data Set columns | 182 | // Delete All Data Set columns |
3100 | 156 | public function DeleteAll($dataSetId) | 183 | public function DeleteAll($dataSetId) |
3101 | 157 | { | 184 | { |
3102 | 185 | if ($dataSetId == 0 || $dataSetId == '') | ||
3103 | 186 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3104 | 187 | |||
3105 | 158 | try { | 188 | try { |
3106 | 159 | $dbh = PDOConnect::init(); | 189 | $dbh = PDOConnect::init(); |
3107 | 160 | 190 | ||
3108 | @@ -172,5 +202,61 @@ | |||
3109 | 172 | return $this->SetError(25005, __('Could not delete DataSet Column')); | 202 | return $this->SetError(25005, __('Could not delete DataSet Column')); |
3110 | 173 | } | 203 | } |
3111 | 174 | } | 204 | } |
3112 | 205 | |||
3113 | 206 | public function GetColumns($dataSetId) { | ||
3114 | 207 | |||
3115 | 208 | if ($dataSetId == 0 || $dataSetId == '') | ||
3116 | 209 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3117 | 210 | |||
3118 | 211 | try { | ||
3119 | 212 | $dbh = PDOConnect::init(); | ||
3120 | 213 | |||
3121 | 214 | $sth = $dbh->prepare('SELECT DataSetColumnID, Heading, datatype.DataType, datasetcolumntype.DataSetColumnType, ListContent, ColumnOrder | ||
3122 | 215 | FROM datasetcolumn | ||
3123 | 216 | INNER JOIN `datatype` | ||
3124 | 217 | ON datatype.DataTypeID = datasetcolumn.DataTypeID | ||
3125 | 218 | INNER JOIN `datasetcolumntype` | ||
3126 | 219 | ON datasetcolumntype.DataSetColumnTypeID = datasetcolumn.DataSetColumnTypeID | ||
3127 | 220 | WHERE DataSetID = :datasetid | ||
3128 | 221 | ORDER BY ColumnOrder '); | ||
3129 | 222 | |||
3130 | 223 | $sth->execute(array( | ||
3131 | 224 | 'datasetid' => $dataSetId | ||
3132 | 225 | )); | ||
3133 | 226 | |||
3134 | 227 | $results = $sth->fetchAll(); | ||
3135 | 228 | |||
3136 | 229 | // Check there are some columns returned | ||
3137 | 230 | if (count($results) <= 0) | ||
3138 | 231 | $this->ThrowError(__('No columns')); | ||
3139 | 232 | |||
3140 | 233 | $rows = array(); | ||
3141 | 234 | |||
3142 | 235 | foreach($results as $row) { | ||
3143 | 236 | |||
3144 | 237 | $col['datasetcolumnid'] = Kit::ValidateParam($row['DataSetColumnID'], _INT); | ||
3145 | 238 | $col['heading'] = Kit::ValidateParam($row['Heading'], _STRING); | ||
3146 | 239 | $col['listcontent'] = Kit::ValidateParam($row['ListContent'], _STRING); | ||
3147 | 240 | $col['columnorder'] = Kit::ValidateParam($row['ColumnOrder'], _INT); | ||
3148 | 241 | $col['datatype'] = Kit::ValidateParam($row['DataType'], _STRING); | ||
3149 | 242 | $col['datasetcolumntype'] = Kit::ValidateParam($row['DataSetColumnType'], _STRING); | ||
3150 | 243 | |||
3151 | 244 | $rows[] = $col; | ||
3152 | 245 | } | ||
3153 | 246 | |||
3154 | 247 | Debug::LogEntry('audit', sprintf('Returning %d columns.', count($rows)), 'DataSetColumn', 'GetColumns'); | ||
3155 | 248 | |||
3156 | 249 | return $rows; | ||
3157 | 250 | } | ||
3158 | 251 | catch (Exception $e) { | ||
3159 | 252 | |||
3160 | 253 | Debug::LogEntry('error', $e->getMessage()); | ||
3161 | 254 | |||
3162 | 255 | if (!$this->IsError()) | ||
3163 | 256 | $this->SetError(1, __('Unknown Error')); | ||
3164 | 257 | |||
3165 | 258 | return false; | ||
3166 | 259 | } | ||
3167 | 260 | } | ||
3168 | 175 | } | 261 | } |
3169 | 176 | ?> | ||
3170 | 177 | \ No newline at end of file | 262 | \ No newline at end of file |
3171 | 263 | ?> | ||
3172 | 178 | 264 | ||
3173 | === modified file 'server/lib/data/datasetdata.data.class.php' | |||
3174 | --- server/lib/data/datasetdata.data.class.php 2014-01-18 09:47:41 +0000 | |||
3175 | +++ server/lib/data/datasetdata.data.class.php 2014-07-15 15:37:37 +0000 | |||
3176 | @@ -22,8 +22,75 @@ | |||
3177 | 22 | 22 | ||
3178 | 23 | class DataSetData extends Data | 23 | class DataSetData extends Data |
3179 | 24 | { | 24 | { |
3180 | 25 | private $updateWatermark; | ||
3181 | 26 | |||
3182 | 27 | public function __construct(database $db) { | ||
3183 | 28 | |||
3184 | 29 | $this->updateWatermark = true; | ||
3185 | 30 | |||
3186 | 31 | parent::__construct($db); | ||
3187 | 32 | } | ||
3188 | 33 | |||
3189 | 34 | /** | ||
3190 | 35 | * List all data for this dataset | ||
3191 | 36 | * @param int $dataSetId The DataSet ID | ||
3192 | 37 | */ | ||
3193 | 38 | public function GetData($dataSetId) { | ||
3194 | 39 | |||
3195 | 40 | if ($dataSetId == 0 || $dataSetId == '') | ||
3196 | 41 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3197 | 42 | |||
3198 | 43 | try { | ||
3199 | 44 | $dbh = PDOConnect::init(); | ||
3200 | 45 | |||
3201 | 46 | $sth = $dbh->prepare('SELECT datasetdata.DataSetColumnID, datasetdata.RowNumber, datasetdata.Value | ||
3202 | 47 | FROM datasetdata | ||
3203 | 48 | INNER JOIN datasetcolumn | ||
3204 | 49 | ON datasetcolumn.DataSetColumnID = datasetdata.DataSetColumnID | ||
3205 | 50 | WHERE datasetcolumn.DataSetID = :dataset_id'); | ||
3206 | 51 | |||
3207 | 52 | $sth->execute(array('dataset_id' => $dataSetId)); | ||
3208 | 53 | |||
3209 | 54 | $results = $sth->fetchAll(); | ||
3210 | 55 | |||
3211 | 56 | // Check there are some columns returned | ||
3212 | 57 | if (count($results) <= 0) | ||
3213 | 58 | $this->ThrowError(__('No data')); | ||
3214 | 59 | |||
3215 | 60 | $rows = array(); | ||
3216 | 61 | |||
3217 | 62 | foreach($results as $row) { | ||
3218 | 63 | |||
3219 | 64 | $col['datasetcolumnid'] = Kit::ValidateParam($row['DataSetColumnID'], _INT); | ||
3220 | 65 | $col['rownumber'] = Kit::ValidateParam($row['RowNumber'], _INT); | ||
3221 | 66 | $col['value'] = Kit::ValidateParam($row['Value'], _STRING); | ||
3222 | 67 | |||
3223 | 68 | $rows[] = $col; | ||
3224 | 69 | } | ||
3225 | 70 | |||
3226 | 71 | Debug::LogEntry('audit', sprintf('Returning %d columns.', count($rows)), 'DataSetColumn', 'GetData'); | ||
3227 | 72 | |||
3228 | 73 | return $rows; | ||
3229 | 74 | } | ||
3230 | 75 | catch (Exception $e) { | ||
3231 | 76 | |||
3232 | 77 | Debug::LogEntry('error', $e->getMessage()); | ||
3233 | 78 | |||
3234 | 79 | if (!$this->IsError()) | ||
3235 | 80 | $this->SetError(1, __('Unknown Error')); | ||
3236 | 81 | |||
3237 | 82 | return false; | ||
3238 | 83 | } | ||
3239 | 84 | } | ||
3240 | 85 | |||
3241 | 25 | public function Add($dataSetColumnId, $rowNumber, $value) | 86 | public function Add($dataSetColumnId, $rowNumber, $value) |
3242 | 26 | { | 87 | { |
3243 | 88 | if ($dataSetColumnId == 0 || $dataSetColumnId == '') | ||
3244 | 89 | return $this->SetError(25001, __('Missing dataSetColumnId')); | ||
3245 | 90 | |||
3246 | 91 | if ($rowNumber == 0 || $rowNumber == '') | ||
3247 | 92 | return $this->SetError(25001, __('Missing rowNumber')); | ||
3248 | 93 | |||
3249 | 27 | try { | 94 | try { |
3250 | 28 | $dbh = PDOConnect::init(); | 95 | $dbh = PDOConnect::init(); |
3251 | 29 | 96 | ||
3252 | @@ -39,6 +106,9 @@ | |||
3253 | 39 | 106 | ||
3254 | 40 | $id = $dbh->lastInsertId(); | 107 | $id = $dbh->lastInsertId(); |
3255 | 41 | 108 | ||
3256 | 109 | // Update the Water Mark | ||
3257 | 110 | $this->UpdateWatermarkWithColumnId($dataSetColumnId); | ||
3258 | 111 | |||
3259 | 42 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Add'); | 112 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Add'); |
3260 | 43 | 113 | ||
3261 | 44 | return $id; | 114 | return $id; |
3262 | @@ -51,6 +121,12 @@ | |||
3263 | 51 | 121 | ||
3264 | 52 | public function Edit($dataSetColumnId, $rowNumber, $value) | 122 | public function Edit($dataSetColumnId, $rowNumber, $value) |
3265 | 53 | { | 123 | { |
3266 | 124 | if ($dataSetColumnId == 0 || $dataSetColumnId == '') | ||
3267 | 125 | return $this->SetError(25001, __('Missing dataSetColumnId')); | ||
3268 | 126 | |||
3269 | 127 | if ($rowNumber == 0 || $rowNumber == '') | ||
3270 | 128 | return $this->SetError(25001, __('Missing rowNumber')); | ||
3271 | 129 | |||
3272 | 54 | try { | 130 | try { |
3273 | 55 | $dbh = PDOConnect::init(); | 131 | $dbh = PDOConnect::init(); |
3274 | 56 | 132 | ||
3275 | @@ -64,6 +140,8 @@ | |||
3276 | 64 | 'value' => $value | 140 | 'value' => $value |
3277 | 65 | )); | 141 | )); |
3278 | 66 | 142 | ||
3279 | 143 | $this->UpdateWatermarkWithColumnId($dataSetColumnId); | ||
3280 | 144 | |||
3281 | 67 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Edit'); | 145 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Edit'); |
3282 | 68 | 146 | ||
3283 | 69 | return true; | 147 | return true; |
3284 | @@ -88,6 +166,8 @@ | |||
3285 | 88 | 'rownumber' => $rowNumber | 166 | 'rownumber' => $rowNumber |
3286 | 89 | )); | 167 | )); |
3287 | 90 | 168 | ||
3288 | 169 | $this->UpdateWatermarkWithColumnId($dataSetColumnId); | ||
3289 | 170 | |||
3290 | 91 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Delete'); | 171 | Debug::LogEntry('audit', 'Complete', 'DataSetData', 'Delete'); |
3291 | 92 | 172 | ||
3292 | 93 | return true; | 173 | return true; |
3293 | @@ -100,6 +180,9 @@ | |||
3294 | 100 | 180 | ||
3295 | 101 | public function DeleteAll($dataSetId) { | 181 | public function DeleteAll($dataSetId) { |
3296 | 102 | 182 | ||
3297 | 183 | if ($dataSetId == 0 || $dataSetId == '') | ||
3298 | 184 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3299 | 185 | |||
3300 | 103 | try { | 186 | try { |
3301 | 104 | $dbh = PDOConnect::init(); | 187 | $dbh = PDOConnect::init(); |
3302 | 105 | 188 | ||
3303 | @@ -113,6 +196,8 @@ | |||
3304 | 113 | 'datasetid' => $dataSetId | 196 | 'datasetid' => $dataSetId |
3305 | 114 | )); | 197 | )); |
3306 | 115 | 198 | ||
3307 | 199 | $this->UpdateWatermark($dataSetId); | ||
3308 | 200 | |||
3309 | 116 | return true; | 201 | return true; |
3310 | 117 | } | 202 | } |
3311 | 118 | catch (Exception $e) { | 203 | catch (Exception $e) { |
3312 | @@ -121,8 +206,98 @@ | |||
3313 | 121 | } | 206 | } |
3314 | 122 | } | 207 | } |
3315 | 123 | 208 | ||
3316 | 209 | /** | ||
3317 | 210 | * Update the Water Mark to indicate the last data edit | ||
3318 | 211 | * @param int $dataSetColumnId The Data Set Column ID | ||
3319 | 212 | */ | ||
3320 | 213 | private function UpdateWatermarkWithColumnId($dataSetColumnId) { | ||
3321 | 214 | |||
3322 | 215 | if (!$this->updateWatermark) | ||
3323 | 216 | return; | ||
3324 | 217 | |||
3325 | 218 | try { | ||
3326 | 219 | $dbh = PDOConnect::init(); | ||
3327 | 220 | |||
3328 | 221 | $sth = $dbh->prepare('SELECT DataSetID FROM `datasetcolumn` WHERE DataSetColumnID = :dataset_column_id'); | ||
3329 | 222 | $sth->execute(array( | ||
3330 | 223 | 'dataset_column_id' => $dataSetColumnId | ||
3331 | 224 | )); | ||
3332 | 225 | |||
3333 | 226 | $this->UpdateWatermark($sth->fetchColumn(0)); | ||
3334 | 227 | } | ||
3335 | 228 | catch (Exception $e) { | ||
3336 | 229 | |||
3337 | 230 | Debug::LogEntry('error', $e->getMessage()); | ||
3338 | 231 | |||
3339 | 232 | if (!$this->IsError()) | ||
3340 | 233 | $this->SetError(1, __('Unknown Error')); | ||
3341 | 234 | |||
3342 | 235 | return false; | ||
3343 | 236 | } | ||
3344 | 237 | } | ||
3345 | 238 | |||
3346 | 239 | /** | ||
3347 | 240 | * Update the Water Mark to indicate the last data edit | ||
3348 | 241 | * @param int $dataSetId The Data Set ID to Update | ||
3349 | 242 | */ | ||
3350 | 243 | private function UpdateWatermark($dataSetId) { | ||
3351 | 244 | |||
3352 | 245 | if ($dataSetId == 0 || $dataSetId == '') | ||
3353 | 246 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3354 | 247 | |||
3355 | 248 | if (!$this->updateWatermark) | ||
3356 | 249 | return; | ||
3357 | 250 | |||
3358 | 251 | Debug::LogEntry('audit', sprintf('Updating water mark on DataSetId: %d', $dataSetId), 'DataSetData', 'UpdateWatermark'); | ||
3359 | 252 | |||
3360 | 253 | try { | ||
3361 | 254 | $dbh = PDOConnect::init(); | ||
3362 | 255 | |||
3363 | 256 | $sth = $dbh->prepare('UPDATE `dataset` SET LastDataEdit = :last_data_edit WHERE DataSetID = :dataset_id'); | ||
3364 | 257 | $sth->execute(array( | ||
3365 | 258 | 'last_data_edit' => time(), | ||
3366 | 259 | 'dataset_id' => $dataSetId | ||
3367 | 260 | )); | ||
3368 | 261 | |||
3369 | 262 | // Get affected Campaigns | ||
3370 | 263 | Kit::ClassLoader('dataset'); | ||
3371 | 264 | $dataSet = new DataSet($this->db); | ||
3372 | 265 | $campaigns = $dataSet->GetCampaignsForDataSet($dataSetId); | ||
3373 | 266 | |||
3374 | 267 | Kit::ClassLoader('display'); | ||
3375 | 268 | $display = new Display($this->db); | ||
3376 | 269 | |||
3377 | 270 | foreach ($campaigns as $campaignId) { | ||
3378 | 271 | // Assess all displays | ||
3379 | 272 | $campaigns = $display->NotifyDisplays($campaignId); | ||
3380 | 273 | } | ||
3381 | 274 | } | ||
3382 | 275 | catch (Exception $e) { | ||
3383 | 276 | |||
3384 | 277 | Debug::LogEntry('error', $e->getMessage()); | ||
3385 | 278 | |||
3386 | 279 | if (!$this->IsError()) | ||
3387 | 280 | $this->SetError(1, __('Unknown Error')); | ||
3388 | 281 | |||
3389 | 282 | return false; | ||
3390 | 283 | } | ||
3391 | 284 | } | ||
3392 | 285 | |||
3393 | 124 | public function ImportCsv($dataSetId, $csvFile, $spreadSheetMapping, $overwrite = false, $ignoreFirstRow = true) { | 286 | public function ImportCsv($dataSetId, $csvFile, $spreadSheetMapping, $overwrite = false, $ignoreFirstRow = true) { |
3394 | 125 | 287 | ||
3395 | 288 | if ($dataSetId == 0 || $dataSetId == '') | ||
3396 | 289 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3397 | 290 | |||
3398 | 291 | if (!file_exists($csvFile)) | ||
3399 | 292 | return $this->SetError(25001, __('CSV File does not exist')); | ||
3400 | 293 | |||
3401 | 294 | if (!is_array($spreadSheetMapping) || count($spreadSheetMapping) <= 0) | ||
3402 | 295 | return $this->SetError(25001, __('Missing spreadSheetMapping')); | ||
3403 | 296 | |||
3404 | 297 | Debug::LogEntry('audit', 'spreadSheetMapping: ' . json_encode($spreadSheetMapping), 'DataSetData', 'ImportCsv'); | ||
3405 | 298 | |||
3406 | 299 | $this->updateWatermark = false; | ||
3407 | 300 | |||
3408 | 126 | try { | 301 | try { |
3409 | 127 | $dbh = PDOConnect::init(); | 302 | $dbh = PDOConnect::init(); |
3410 | 128 | 303 | ||
3411 | @@ -187,6 +362,8 @@ | |||
3412 | 187 | 362 | ||
3413 | 188 | // TODO: Update list content definitions | 363 | // TODO: Update list content definitions |
3414 | 189 | 364 | ||
3415 | 365 | $this->UpdateWatermark($dataSetId); | ||
3416 | 366 | |||
3417 | 190 | return true; | 367 | return true; |
3418 | 191 | } | 368 | } |
3419 | 192 | catch (Exception $e) { | 369 | catch (Exception $e) { |
3420 | 193 | 370 | ||
3421 | === modified file 'server/lib/data/datasetgroupsecurity.data.class.php' | |||
3422 | --- server/lib/data/datasetgroupsecurity.data.class.php 2014-01-18 09:47:41 +0000 | |||
3423 | +++ server/lib/data/datasetgroupsecurity.data.class.php 2014-07-15 15:37:37 +0000 | |||
3424 | @@ -22,6 +22,53 @@ | |||
3425 | 22 | 22 | ||
3426 | 23 | class DataSetGroupSecurity extends Data | 23 | class DataSetGroupSecurity extends Data |
3427 | 24 | { | 24 | { |
3428 | 25 | public function ListSecurity($dataSetId, $groupId) { | ||
3429 | 26 | |||
3430 | 27 | if ($dataSetId == 0 || $dataSetId == '') | ||
3431 | 28 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3432 | 29 | |||
3433 | 30 | try { | ||
3434 | 31 | $dbh = PDOConnect::init(); | ||
3435 | 32 | |||
3436 | 33 | $sth = $dbh->prepare('SELECT `group`.groupid, `group`.`group`, view, edit, del, `group`.isuserspecific | ||
3437 | 34 | FROM `group` | ||
3438 | 35 | LEFT OUTER JOIN lkdatasetgroup | ||
3439 | 36 | ON lkdatasetgroup.GroupID = group.GroupID | ||
3440 | 37 | AND lkdatasetgroup.DataSetID = :datasetid | ||
3441 | 38 | WHERE `group`.GroupID <> :groupid | ||
3442 | 39 | ORDER BY `group`.IsEveryone DESC, `group`.IsUserSpecific, `group`.`Group`'); | ||
3443 | 40 | |||
3444 | 41 | $sth->execute(array( | ||
3445 | 42 | 'datasetid' => $dataSetId, | ||
3446 | 43 | 'groupid' => $groupId | ||
3447 | 44 | )); | ||
3448 | 45 | |||
3449 | 46 | $security = array(); | ||
3450 | 47 | |||
3451 | 48 | foreach($sth->fetchAll() as $row) { | ||
3452 | 49 | $security[] = array( | ||
3453 | 50 | 'groupid' => Kit::ValidateParam($row['groupid'], _INT), | ||
3454 | 51 | 'group' => Kit::ValidateParam($row['group'], _STRING), | ||
3455 | 52 | 'view' => Kit::ValidateParam($row['view'], _INT), | ||
3456 | 53 | 'edit' => Kit::ValidateParam($row['edit'], _INT), | ||
3457 | 54 | 'del' => Kit::ValidateParam($row['del'], _INT), | ||
3458 | 55 | 'isuserspecific' => Kit::ValidateParam($row['isuserspecific'], _INT), | ||
3459 | 56 | ); | ||
3460 | 57 | } | ||
3461 | 58 | |||
3462 | 59 | return $security; | ||
3463 | 60 | } | ||
3464 | 61 | catch (Exception $e) { | ||
3465 | 62 | |||
3466 | 63 | Debug::LogEntry('error', $e->getMessage()); | ||
3467 | 64 | |||
3468 | 65 | if (!$this->IsError()) | ||
3469 | 66 | $this->SetError(1, __('Unknown Error')); | ||
3470 | 67 | |||
3471 | 68 | return false; | ||
3472 | 69 | } | ||
3473 | 70 | } | ||
3474 | 71 | |||
3475 | 25 | /** | 72 | /** |
3476 | 26 | * Links a Display Group to a Group | 73 | * Links a Display Group to a Group |
3477 | 27 | * @return | 74 | * @return |
3478 | @@ -30,7 +77,11 @@ | |||
3479 | 30 | */ | 77 | */ |
3480 | 31 | public function Link($dataSetId, $groupId, $view, $edit, $del) | 78 | public function Link($dataSetId, $groupId, $view, $edit, $del) |
3481 | 32 | { | 79 | { |
3483 | 33 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'Link'); | 80 | if ($dataSetId == 0 || $dataSetId == '') |
3484 | 81 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3485 | 82 | |||
3486 | 83 | if ($groupId == 0 || $groupId == '') | ||
3487 | 84 | return $this->SetError(25001, __('Missing groupId')); | ||
3488 | 34 | 85 | ||
3489 | 35 | try { | 86 | try { |
3490 | 36 | $dbh = PDOConnect::init(); | 87 | $dbh = PDOConnect::init(); |
3491 | @@ -69,6 +120,9 @@ | |||
3492 | 69 | public function LinkEveryone($dataSetId, $view, $edit, $del) | 120 | public function LinkEveryone($dataSetId, $view, $edit, $del) |
3493 | 70 | { | 121 | { |
3494 | 71 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'LinkEveryone'); | 122 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'LinkEveryone'); |
3495 | 123 | |||
3496 | 124 | if ($dataSetId == 0 || $dataSetId == '') | ||
3497 | 125 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3498 | 72 | 126 | ||
3499 | 73 | try { | 127 | try { |
3500 | 74 | $dbh = PDOConnect::init(); | 128 | $dbh = PDOConnect::init(); |
3501 | @@ -97,7 +151,11 @@ | |||
3502 | 97 | */ | 151 | */ |
3503 | 98 | public function Unlink($dataSetId, $groupId) | 152 | public function Unlink($dataSetId, $groupId) |
3504 | 99 | { | 153 | { |
3506 | 100 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'Unlink'); | 154 | if ($dataSetId == 0 || $dataSetId == '') |
3507 | 155 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3508 | 156 | |||
3509 | 157 | if ($groupId == 0 || $groupId == '') | ||
3510 | 158 | return $this->SetError(25001, __('Missing groupId')); | ||
3511 | 101 | 159 | ||
3512 | 102 | try { | 160 | try { |
3513 | 103 | $dbh = PDOConnect::init(); | 161 | $dbh = PDOConnect::init(); |
3514 | @@ -128,6 +186,9 @@ | |||
3515 | 128 | { | 186 | { |
3516 | 129 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'UnlinkAll'); | 187 | Debug::LogEntry('audit', 'IN', 'DataSetGroupSecurity', 'UnlinkAll'); |
3517 | 130 | 188 | ||
3518 | 189 | if ($dataSetId == 0 || $dataSetId == '') | ||
3519 | 190 | return $this->SetError(25001, __('Missing dataSetId')); | ||
3520 | 191 | |||
3521 | 131 | try { | 192 | try { |
3522 | 132 | $dbh = PDOConnect::init(); | 193 | $dbh = PDOConnect::init(); |
3523 | 133 | 194 | ||
3524 | 134 | 195 | ||
3525 | === modified file 'server/lib/data/file.data.class.php' | |||
3526 | --- server/lib/data/file.data.class.php 2014-01-18 09:47:41 +0000 | |||
3527 | +++ server/lib/data/file.data.class.php 2014-07-15 15:37:37 +0000 | |||
3528 | @@ -132,6 +132,20 @@ | |||
3529 | 132 | } | 132 | } |
3530 | 133 | 133 | ||
3531 | 134 | /** | 134 | /** |
3532 | 135 | * Get the Path to a file | ||
3533 | 136 | * @param int $fileId The File ID | ||
3534 | 137 | */ | ||
3535 | 138 | public function GetPath($fileId) { | ||
3536 | 139 | |||
3537 | 140 | if ($fileId == '' || $fileId == 0) | ||
3538 | 141 | return $this->SetError(25001, __('Missing fileId')); | ||
3539 | 142 | |||
3540 | 143 | $libraryFolder = Config::GetSetting('LIBRARY_LOCATION'); | ||
3541 | 144 | $libraryFolder = $libraryFolder . 'temp'; | ||
3542 | 145 | return $libraryFolder . '/' . $fileId; | ||
3543 | 146 | } | ||
3544 | 147 | |||
3545 | 148 | /** | ||
3546 | 135 | * The current size of a file | 149 | * The current size of a file |
3547 | 136 | * @param <type> $fileId | 150 | * @param <type> $fileId |
3548 | 137 | * @return <int> filesize | 151 | * @return <int> filesize |
3549 | 138 | 152 | ||
3550 | === modified file 'server/lib/data/layout.data.class.php' | |||
3551 | --- server/lib/data/layout.data.class.php 2014-02-16 18:10:59 +0000 | |||
3552 | +++ server/lib/data/layout.data.class.php 2014-07-15 15:37:37 +0000 | |||
3553 | @@ -1065,13 +1065,28 @@ | |||
3554 | 1065 | $regionObject = new Region($this->db); | 1065 | $regionObject = new Region($this->db); |
3555 | 1066 | $mediaNodes = $regionObject->GetMediaNodeList($layoutId, $region['regionid']); | 1066 | $mediaNodes = $regionObject->GetMediaNodeList($layoutId, $region['regionid']); |
3556 | 1067 | 1067 | ||
3557 | 1068 | // Create a data set to see if there are any requirements to serve an updated date time | ||
3558 | 1069 | Kit::ClassLoader('dataset'); | ||
3559 | 1070 | $dataSetObject = new DataSet($this->db); | ||
3560 | 1071 | |||
3561 | 1068 | foreach($mediaNodes as $mediaNode) { | 1072 | foreach($mediaNodes as $mediaNode) { |
3564 | 1069 | // Put this node vertically in the region timeline | 1073 | |
3565 | 1070 | $region['media'][] = array( | 1074 | $node = array( |
3566 | 1071 | 'mediaid' => $mediaNode->getAttribute('id'), | 1075 | 'mediaid' => $mediaNode->getAttribute('id'), |
3567 | 1072 | 'lkid' => $mediaNode->getAttribute('lkid'), | 1076 | 'lkid' => $mediaNode->getAttribute('lkid'), |
3568 | 1073 | 'mediatype' => $mediaNode->getAttribute('type') | 1077 | 'mediatype' => $mediaNode->getAttribute('type') |
3569 | 1074 | ); | 1078 | ); |
3570 | 1079 | |||
3571 | 1080 | // DataSets are a special case. We want to get the last updated time from the dataset. | ||
3572 | 1081 | $dataSet = $dataSetObject->GetDataSetFromLayout($layoutId, $region['regionid'], $mediaNode->getAttribute('id')); | ||
3573 | 1082 | |||
3574 | 1083 | if (count($dataSet) == 1) { | ||
3575 | 1084 | |||
3576 | 1085 | $node['updated'] = $dataSet[0]['LastDataEdit']; | ||
3577 | 1086 | } | ||
3578 | 1087 | |||
3579 | 1088 | // Put this node vertically in the region time-line | ||
3580 | 1089 | $region['media'][] = $node; | ||
3581 | 1075 | } | 1090 | } |
3582 | 1076 | 1091 | ||
3583 | 1077 | Debug::LogEntry('audit', 'Finished with Region', 'layout', 'LayoutInformation'); | 1092 | Debug::LogEntry('audit', 'Finished with Region', 'layout', 'LayoutInformation'); |
3584 | 1078 | 1093 | ||
3585 | === modified file 'server/lib/data/region.data.class.php' | |||
3586 | --- server/lib/data/region.data.class.php 2014-04-26 09:25:32 +0000 | |||
3587 | +++ server/lib/data/region.data.class.php 2014-07-15 15:37:37 +0000 | |||
3588 | @@ -22,6 +22,10 @@ | |||
3589 | 22 | 22 | ||
3590 | 23 | class Region extends Data | 23 | class Region extends Data |
3591 | 24 | { | 24 | { |
3592 | 25 | // Caching | ||
3593 | 26 | private $layoutXml; | ||
3594 | 27 | private $layoutDocument; | ||
3595 | 28 | |||
3596 | 25 | public function __construct(database $db) | 29 | public function __construct(database $db) |
3597 | 26 | { | 30 | { |
3598 | 27 | $this->db =& $db; | 31 | $this->db =& $db; |
3599 | @@ -37,9 +41,23 @@ | |||
3600 | 37 | */ | 41 | */ |
3601 | 38 | public function GetLayoutXml($layoutid) | 42 | public function GetLayoutXml($layoutid) |
3602 | 39 | { | 43 | { |
3606 | 40 | $layout = new Layout($this->db); | 44 | if ($this->layoutXml == '') { |
3607 | 41 | 45 | $layout = new Layout($this->db); | |
3608 | 42 | return $layout->GetLayoutXml($layoutid); | 46 | $this->layoutXml = $layout->GetLayoutXml($layoutid); |
3609 | 47 | } | ||
3610 | 48 | |||
3611 | 49 | return $this->layoutXml; | ||
3612 | 50 | } | ||
3613 | 51 | |||
3614 | 52 | public function GetLayoutDom($layoutId) { | ||
3615 | 53 | |||
3616 | 54 | if ($this->layoutDocument == NULL) { | ||
3617 | 55 | // Load the XML into a new DOMDocument | ||
3618 | 56 | $this->layoutDocument = new DOMDocument(); | ||
3619 | 57 | $this->layoutDocument->loadXML($this->GetLayoutXml($layoutId)); | ||
3620 | 58 | } | ||
3621 | 59 | |||
3622 | 60 | return $this->layoutDocument; | ||
3623 | 43 | } | 61 | } |
3624 | 44 | 62 | ||
3625 | 45 | /** | 63 | /** |
3626 | @@ -50,6 +68,9 @@ | |||
3627 | 50 | */ | 68 | */ |
3628 | 51 | private function SetLayoutXml($layoutid, $xml) | 69 | private function SetLayoutXml($layoutid, $xml) |
3629 | 52 | { | 70 | { |
3630 | 71 | // Update Cache | ||
3631 | 72 | $this->layoutXml = $xml; | ||
3632 | 73 | |||
3633 | 53 | $layout = new Layout($this->db); | 74 | $layout = new Layout($this->db); |
3634 | 54 | 75 | ||
3635 | 55 | if (!$layout->SetLayoutXml($layoutid, $xml)) | 76 | if (!$layout->SetLayoutXml($layoutid, $xml)) |
3636 | @@ -904,6 +925,41 @@ | |||
3637 | 904 | } | 925 | } |
3638 | 905 | 926 | ||
3639 | 906 | /** | 927 | /** |
3640 | 928 | * Get Option for Media Id | ||
3641 | 929 | * @param int $layoutId The Layout ID | ||
3642 | 930 | * @param string $mediaId The Media ID | ||
3643 | 931 | * @param string $name The Option Name | ||
3644 | 932 | * @param string $default The Default Value if none found | ||
3645 | 933 | */ | ||
3646 | 934 | public function GetOptionForMediaId($layoutId, $mediaId, $name, $default = false) { | ||
3647 | 935 | |||
3648 | 936 | if ($name == '') | ||
3649 | 937 | return false; | ||
3650 | 938 | |||
3651 | 939 | if (!$this->GetLayoutDom($layoutId)) | ||
3652 | 940 | return false; | ||
3653 | 941 | |||
3654 | 942 | // Check to see if we already have this option or not | ||
3655 | 943 | $xpath = new DOMXPath($this->layoutDocument); | ||
3656 | 944 | |||
3657 | 945 | // Xpath for it | ||
3658 | 946 | $userOptions = $xpath->query('//region/media[@id=\'' . $mediaId . '\']/options/' . $name); | ||
3659 | 947 | |||
3660 | 948 | // Debug::LogEntry('audit', '//region/media[@id=\'' . $mediaId . '\']/options/' . $name); | ||
3661 | 949 | |||
3662 | 950 | if ($userOptions->length == 0) { | ||
3663 | 951 | // We do not have an option - return the default | ||
3664 | 952 | Debug::LogEntry('audit', 'GetOption ' . $name . ': Not Set - returning default ' . $default, 'region'); | ||
3665 | 953 | return $default; | ||
3666 | 954 | } | ||
3667 | 955 | else { | ||
3668 | 956 | // Replace the old node we found with XPath with the new node we just created | ||
3669 | 957 | Debug::LogEntry('audit', 'GetOption ' . $name . ': Set - returning: ' . $userOptions->item(0)->nodeValue, 'region'); | ||
3670 | 958 | return ($userOptions->item(0)->nodeValue != '') ? $userOptions->item(0)->nodeValue : $default; | ||
3671 | 959 | } | ||
3672 | 960 | } | ||
3673 | 961 | |||
3674 | 962 | /** | ||
3675 | 907 | * Add Existing Media from the Library | 963 | * Add Existing Media from the Library |
3676 | 908 | * @param [int] $user [A user object for the currently logged in user] | 964 | * @param [int] $user [A user object for the currently logged in user] |
3677 | 909 | * @param [int] $layoutId [The LayoutID to Add on] | 965 | * @param [int] $layoutId [The LayoutID to Add on] |
3678 | 910 | 966 | ||
3679 | === modified file 'server/lib/include.php' | |||
3680 | --- server/lib/include.php 2014-04-27 20:16:42 +0000 | |||
3681 | +++ server/lib/include.php 2014-07-15 15:37:37 +0000 | |||
3682 | @@ -1,7 +1,7 @@ | |||
3683 | 1 | <?php | 1 | <?php |
3684 | 2 | /* | 2 | /* |
3685 | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk | 3 | * Xibo - Digital Signage - http://www.xibo.org.uk |
3687 | 4 | * Copyright (C) 2006-2012 Daniel Garner and James Packer | 4 | * Copyright (C) 2006-2014 Daniel Garner and James Packer |
3688 | 5 | * | 5 | * |
3689 | 6 | * This file is part of Xibo. | 6 | * This file is part of Xibo. |
3690 | 7 | * | 7 | * |
3691 | @@ -20,7 +20,7 @@ | |||
3692 | 20 | */ | 20 | */ |
3693 | 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."); |
3694 | 22 | 22 | ||
3696 | 23 | define('WEBSITE_VERSION', 68); | 23 | define('WEBSITE_VERSION', 70); |
3697 | 24 | 24 | ||
3698 | 25 | // No errors reported until we read the settings from the DB | 25 | // No errors reported until we read the settings from the DB |
3699 | 26 | error_reporting(0); | 26 | error_reporting(0); |
3700 | @@ -137,8 +137,8 @@ | |||
3701 | 137 | // Create login control system | 137 | // Create login control system |
3702 | 138 | require_once('modules/' . Config::GetSetting("userModule")); | 138 | require_once('modules/' . Config::GetSetting("userModule")); |
3703 | 139 | 139 | ||
3706 | 140 | $user = new User($db); | 140 | // Create a Session |
3707 | 141 | $session = new Session(); | 141 | $session = new Session(); |
3708 | 142 | 142 | ||
3709 | 143 | // Work out the location of this service | 143 | // Work out the location of this service |
3710 | 144 | $serviceLocation = Kit::GetXiboRoot(); | 144 | $serviceLocation = Kit::GetXiboRoot(); |
3711 | @@ -152,6 +152,9 @@ | |||
3712 | 152 | // Assign the page name to the session | 152 | // Assign the page name to the session |
3713 | 153 | $session->set_page(session_id(), $page); | 153 | $session->set_page(session_id(), $page); |
3714 | 154 | 154 | ||
3715 | 155 | // Create a user | ||
3716 | 156 | $user = new User($db); | ||
3717 | 157 | |||
3718 | 155 | // Create Page | 158 | // Create Page |
3719 | 156 | try { | 159 | try { |
3720 | 157 | $pageManager = new PageManager($db, $user, $page); | 160 | $pageManager = new PageManager($db, $user, $page); |
3721 | 158 | 161 | ||
3722 | === modified file 'server/lib/modules/module.class.php' | |||
3723 | --- server/lib/modules/module.class.php 2014-04-26 09:25:32 +0000 | |||
3724 | +++ server/lib/modules/module.class.php 2014-07-15 15:37:37 +0000 | |||
3725 | @@ -233,27 +233,32 @@ | |||
3726 | 233 | $this->existingMedia = true; | 233 | $this->existingMedia = true; |
3727 | 234 | $this->assignedMedia = false; | 234 | $this->assignedMedia = false; |
3728 | 235 | 235 | ||
3750 | 236 | // Load what we know about this media into the object | 236 | try { |
3751 | 237 | $SQL = "SELECT duration, name, UserId, storedAs FROM media WHERE mediaID = '$mediaid'"; | 237 | $dbh = PDOConnect::init(); |
3752 | 238 | 238 | ||
3753 | 239 | Debug::LogEntry('audit', $SQL, 'Module', 'SetMediaInformation'); | 239 | // Load what we know about this media into the object |
3754 | 240 | 240 | $sth = $dbh->prepare('SELECT duration, name, UserId, storedAs FROM media WHERE mediaID = :media_id'); | |
3755 | 241 | if (!$result = $db->query($SQL)) | 241 | $sth->execute(array( |
3756 | 242 | { | 242 | 'media_id' => $mediaid |
3757 | 243 | // log the error | 243 | )); |
3758 | 244 | trigger_error($db->error()); | 244 | |
3759 | 245 | } | 245 | $rows = $sth->fetchAll(); |
3760 | 246 | 246 | ||
3761 | 247 | if ($db->num_rows($result) != 0) | 247 | if (count($rows) != 1) { |
3762 | 248 | { | 248 | return $this->SetError(__('Unable to find media record with the provided ID')); |
3763 | 249 | $row = $db->get_row($result); | 249 | } |
3764 | 250 | $this->duration = $row[0]; | 250 | |
3765 | 251 | $this->name = $row[1]; | 251 | $this->duration = $rows[0]['duration']; |
3766 | 252 | $this->originalUserId = $row[2]; | 252 | $this->name = $rows[0]['name']; |
3767 | 253 | $this->storedAs = $row[3]; | 253 | $this->originalUserId = $rows[0]['UserId']; |
3768 | 254 | } | 254 | $this->storedAs = $rows[0]['storedAs']; |
3769 | 255 | else | 255 | } |
3770 | 256 | return $this->SetError(__('Unable to find media record with the provided ID')); | 256 | catch (Exception $e) { |
3771 | 257 | |||
3772 | 258 | Debug::LogEntry('error', $e->getMessage()); | ||
3773 | 259 | |||
3774 | 260 | return $this->SetError(__('Unable to find media record with the provided ID')); | ||
3775 | 261 | } | ||
3776 | 257 | 262 | ||
3777 | 258 | $this->auth = $this->user->MediaAuth($this->mediaid, true); | 263 | $this->auth = $this->user->MediaAuth($this->mediaid, true); |
3778 | 259 | } | 264 | } |
3779 | @@ -517,7 +522,7 @@ | |||
3780 | 517 | if ($this->regionSpecific) | 522 | if ($this->regionSpecific) |
3781 | 518 | { | 523 | { |
3782 | 519 | $form = <<<END | 524 | $form = <<<END |
3784 | 520 | <form id="MediaDeleteForm" class="XiboForm" method="post" action="index.php?p=module&mod=text&q=Exec&method=DeleteMedia"> | 525 | <form id="MediaDeleteForm" class="XiboForm" method="post" action="index.php?p=module&mod=$this->type&q=Exec&method=DeleteMedia"> |
3785 | 521 | <input type="hidden" name="mediaid" value="$mediaid"> | 526 | <input type="hidden" name="mediaid" value="$mediaid"> |
3786 | 522 | <input type="hidden" name="layoutid" value="$layoutid"> | 527 | <input type="hidden" name="layoutid" value="$layoutid"> |
3787 | 523 | <input type="hidden" name="regionid" value="$regionid"> | 528 | <input type="hidden" name="regionid" value="$regionid"> |
3788 | @@ -865,13 +870,13 @@ | |||
3789 | 865 | Theme::Set('form_meta', '<input type="hidden" id="PHPSESSID" value="' . $sessionId . '" /><input type="hidden" id="SecurityToken" value="' . $securityToken . '" /><input type="hidden" name="type" value="' . $this->type . '"><input type="hidden" name="layoutid" value="' . $layoutid . '"><input type="hidden" name="regionid" value="' . $regionid . '">'); | 870 | Theme::Set('form_meta', '<input type="hidden" id="PHPSESSID" value="' . $sessionId . '" /><input type="hidden" id="SecurityToken" value="' . $securityToken . '" /><input type="hidden" name="type" value="' . $this->type . '"><input type="hidden" name="layoutid" value="' . $layoutid . '"><input type="hidden" name="regionid" value="' . $regionid . '">'); |
3790 | 866 | Theme::Set('form_valid_ext', '/(\.|\/)' . implode('|', $this->validExtensions) . '$/i'); | 871 | Theme::Set('form_valid_ext', '/(\.|\/)' . implode('|', $this->validExtensions) . '$/i'); |
3791 | 867 | Theme::Set('form_max_size', Kit::ReturnBytes($this->maxFileSize)); | 872 | Theme::Set('form_max_size', Kit::ReturnBytes($this->maxFileSize)); |
3793 | 868 | Theme::Set('valid_extensions', 'This form accepts: ' . $this->validExtensionsText . ' files up to a maximum size of ' . $this->maxFileSize); | 873 | Theme::Set('valid_extensions', sprintf(__('This form accepts: %s files up to a maximum size of %s'), $this->validExtensionsText, $this->maxFileSize)); |
3794 | 869 | Theme::Set('default_duration', $defaultDuration); | 874 | Theme::Set('default_duration', $defaultDuration); |
3795 | 870 | 875 | ||
3796 | 871 | $form = Theme::RenderReturn('library_form_media_add'); | 876 | $form = Theme::RenderReturn('library_form_media_add'); |
3797 | 872 | 877 | ||
3798 | 873 | $this->response->html = $form; | 878 | $this->response->html = $form; |
3800 | 874 | $this->response->dialogTitle = 'Add New ' . $this->displayType; | 879 | $this->response->dialogTitle = sprintf(__('Add New %s'), __($this->displayType)); |
3801 | 875 | $this->response->dialogSize = true; | 880 | $this->response->dialogSize = true; |
3802 | 876 | $this->response->dialogWidth = '450px'; | 881 | $this->response->dialogWidth = '450px'; |
3803 | 877 | $this->response->dialogHeight = '280px'; | 882 | $this->response->dialogHeight = '280px'; |
3804 | @@ -1201,53 +1206,80 @@ | |||
3805 | 1201 | // Create a region object for later use | 1206 | // Create a region object for later use |
3806 | 1202 | $region = new region($db); | 1207 | $region = new region($db); |
3807 | 1203 | 1208 | ||
3812 | 1204 | // Loop through a list of layouts this user has access to | 1209 | try { |
3813 | 1205 | foreach($this->user->LayoutList() as $layout) | 1210 | $dbh = PDOConnect::init(); |
3814 | 1206 | { | 1211 | |
3815 | 1207 | $layoutId = $layout['layoutid']; | 1212 | // Some update statements to use |
3816 | 1213 | $sth = $dbh->prepare('SELECT lklayoutmediaid, regionid FROM lklayoutmedia WHERE mediaid = :media_id AND layoutid = :layout_id'); | ||
3817 | 1214 | $sth_update = $dbh->prepare('UPDATE lklayoutmedia SET mediaid = :media_id WHERE lklayoutmediaid = :lklayoutmediaid'); | ||
3818 | 1208 | 1215 | ||
3827 | 1209 | // Does this layout use the old media id? | 1216 | // Loop through a list of layouts this user has access to |
3828 | 1210 | $SQL = sprintf("SELECT lklayoutmediaid, regionid FROM lklayoutmedia WHERE mediaid = %d and layoutid = %d", $oldMediaId, $layoutId); | 1217 | foreach($this->user->LayoutList() as $layout) |
3821 | 1211 | |||
3822 | 1212 | if (!$results = $db->query($SQL)) | ||
3823 | 1213 | return false; | ||
3824 | 1214 | |||
3825 | 1215 | // Loop through each media link for this layout | ||
3826 | 1216 | while ($row = $db->get_assoc_row($results)) | ||
3829 | 1217 | { | 1218 | { |
3833 | 1218 | // Get the LKID of the link between this layout and this media.. could be more than one? | 1219 | $layoutId = $layout['layoutid']; |
3834 | 1219 | $lkId = $row['lklayoutmediaid']; | 1220 | |
3835 | 1220 | $regionId = $row['regionid']; | 1221 | // Does this layout use the old media id? |
3836 | 1222 | $sth->execute(array( | ||
3837 | 1223 | 'media_id' => $oldMediaId, | ||
3838 | 1224 | 'layout_id' => $layoutId | ||
3839 | 1225 | )); | ||
3840 | 1221 | 1226 | ||
3843 | 1222 | // Get the Type of this media | 1227 | $results = $sth->fetchAll(); |
3844 | 1223 | if (!$type = $region->GetMediaNodeType($layoutId, '', '', $lkId)) | 1228 | |
3845 | 1229 | if (count($results) <= 0) | ||
3846 | 1224 | continue; | 1230 | continue; |
3847 | 1225 | 1231 | ||
3871 | 1226 | // Create a new media node use it to swap the nodes over | 1232 | Debug::LogEntry('audit', sprintf('%d linked media items for layoutid %d', count($results), $layoutId), 'module', 'ReplaceMediaInAllLayouts'); |
3872 | 1227 | Debug::LogEntry('audit', 'Creating new module with MediaID: ' . $newMediaId . ' LayoutID: ' . $layoutId . ' and RegionID: ' . $regionId, 'region', 'ReplaceMediaInAllLayouts'); | 1233 | |
3873 | 1228 | require_once('modules/' . $type . '.module.php'); | 1234 | // Loop through each media link for this layout |
3874 | 1229 | 1235 | foreach ($results as $row) | |
3875 | 1230 | // Create a new module as if we were assigning it for the first time | 1236 | { |
3876 | 1231 | if (!$module = new $type($db, $this->user, $newMediaId)) | 1237 | // Get the LKID of the link between this layout and this media.. could be more than one? |
3877 | 1232 | return false; | 1238 | $lkId = $row['lklayoutmediaid']; |
3878 | 1233 | 1239 | $regionId = $row['regionid']; | |
3879 | 1234 | // Sets the URI field | 1240 | |
3880 | 1235 | if (!$module->SetRegionInformation($layoutId, $regionId)) | 1241 | // Get the Type of this media |
3881 | 1236 | return false; | 1242 | if (!$type = $region->GetMediaNodeType($layoutId, '', '', $lkId)) |
3882 | 1237 | 1243 | continue; | |
3883 | 1238 | // Get the media xml string to use in the swap. | 1244 | |
3884 | 1239 | $mediaXmlString = $module->AsXml(); | 1245 | // Create a new media node use it to swap the nodes over |
3885 | 1240 | 1246 | Debug::LogEntry('audit', 'Creating new module with MediaID: ' . $newMediaId . ' LayoutID: ' . $layoutId . ' and RegionID: ' . $regionId, 'region', 'ReplaceMediaInAllLayouts'); | |
3886 | 1241 | // Swap the nodes | 1247 | require_once('modules/' . $type . '.module.php'); |
3887 | 1242 | if (!$region->SwapMedia($layoutId, $regionId, $lkId, $oldMediaId, $newMediaId, $mediaXmlString)) | 1248 | |
3888 | 1243 | return false; | 1249 | // Create a new module as if we were assigning it for the first time |
3889 | 1244 | 1250 | if (!$module = new $type($db, $this->user, $newMediaId)) | |
3890 | 1245 | // Update the LKID with the new media id | 1251 | return false; |
3891 | 1246 | $db->query("UPDATE lklayoutmedia SET mediaid = %d WHERE lklayoutmediaid = %d", $newMediaId, $row['lklayoutmediaid']); | 1252 | |
3892 | 1247 | 1253 | // Sets the URI field | |
3893 | 1248 | $count++; | 1254 | if (!$module->SetRegionInformation($layoutId, $regionId)) |
3894 | 1255 | return false; | ||
3895 | 1256 | |||
3896 | 1257 | // Get the media xml string to use in the swap. | ||
3897 | 1258 | $mediaXmlString = $module->AsXml(); | ||
3898 | 1259 | |||
3899 | 1260 | // Swap the nodes | ||
3900 | 1261 | if (!$region->SwapMedia($layoutId, $regionId, $lkId, $oldMediaId, $newMediaId, $mediaXmlString)) | ||
3901 | 1262 | return false; | ||
3902 | 1263 | |||
3903 | 1264 | // Update the LKID with the new media id | ||
3904 | 1265 | $sth_update->execute(array( | ||
3905 | 1266 | 'media_id' => $newMediaId, | ||
3906 | 1267 | 'lklayoutmediaid' => $row['lklayoutmediaid'] | ||
3907 | 1268 | )); | ||
3908 | 1269 | |||
3909 | 1270 | $count++; | ||
3910 | 1271 | } | ||
3911 | 1249 | } | 1272 | } |
3912 | 1250 | } | 1273 | } |
3913 | 1274 | catch (Exception $e) { | ||
3914 | 1275 | |||
3915 | 1276 | Debug::LogEntry('error', $e->getMessage()); | ||
3916 | 1277 | |||
3917 | 1278 | if (!$this->IsError()) | ||
3918 | 1279 | $this->SetError(1, __('Unknown Error')); | ||
3919 | 1280 | |||
3920 | 1281 | return false; | ||
3921 | 1282 | } | ||
3922 | 1251 | 1283 | ||
3923 | 1252 | Debug::LogEntry('audit', sprintf('Replaced media in %d layouts', $count), 'module', 'ReplaceMediaInAllLayouts'); | 1284 | Debug::LogEntry('audit', sprintf('Replaced media in %d layouts', $count), 'module', 'ReplaceMediaInAllLayouts'); |
3924 | 1253 | } | 1285 | } |
3925 | 1254 | 1286 | ||
3926 | === modified file 'server/lib/oauth.inc.php' | |||
3927 | --- server/lib/oauth.inc.php 2014-01-18 09:47:41 +0000 | |||
3928 | +++ server/lib/oauth.inc.php 2014-07-15 15:37:37 +0000 | |||
3929 | @@ -33,6 +33,6 @@ | |||
3930 | 33 | require_once('3rdparty/oauth-php/library/OAuthServer.php'); | 33 | require_once('3rdparty/oauth-php/library/OAuthServer.php'); |
3931 | 34 | require_once('3rdparty/oauth-php/library/OAuthStore.php'); | 34 | require_once('3rdparty/oauth-php/library/OAuthStore.php'); |
3932 | 35 | 35 | ||
3934 | 36 | OAuthStore::instance('MySQL', array('server' => $dbhost, 'username' => $dbuser, 'password' => $dbpass, 'database' => $dbname)); | 36 | OAuthStore::instance('PDO', array('conn' => PDOConnect::init())); |
3935 | 37 | 37 | ||
3936 | 38 | ?> | 38 | ?> |
3937 | 39 | 39 | ||
3938 | === modified file 'server/lib/pages/admin.class.php' | |||
3939 | --- server/lib/pages/admin.class.php 2014-02-15 10:32:44 +0000 | |||
3940 | +++ server/lib/pages/admin.class.php 2014-07-15 15:37:37 +0000 | |||
3941 | @@ -51,7 +51,7 @@ | |||
3942 | 51 | 51 | ||
3943 | 52 | // Check the token | 52 | // Check the token |
3944 | 53 | if (!Kit::CheckToken()) | 53 | if (!Kit::CheckToken()) |
3946 | 54 | trigger_error('Token does not match', E_USER_ERROR); | 54 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3947 | 55 | 55 | ||
3948 | 56 | $refer = Kit::GetParam('refer', _POST, _STRING); | 56 | $refer = Kit::GetParam('refer', _POST, _STRING); |
3949 | 57 | $usertype = Kit::GetParam('usertype', _SESSION, _INT); | 57 | $usertype = Kit::GetParam('usertype', _SESSION, _INT); |
3950 | 58 | 58 | ||
3951 | === modified file 'server/lib/pages/campaign.class.php' | |||
3952 | --- server/lib/pages/campaign.class.php 2014-01-18 09:47:41 +0000 | |||
3953 | +++ server/lib/pages/campaign.class.php 2014-07-15 15:37:37 +0000 | |||
3954 | @@ -154,7 +154,7 @@ | |||
3955 | 154 | { | 154 | { |
3956 | 155 | // Check the token | 155 | // Check the token |
3957 | 156 | if (!Kit::CheckToken()) | 156 | if (!Kit::CheckToken()) |
3959 | 157 | trigger_error('Token does not match', E_USER_ERROR); | 157 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3960 | 158 | 158 | ||
3961 | 159 | $db =& $this->db; | 159 | $db =& $this->db; |
3962 | 160 | $response = new ResponseManager(); | 160 | $response = new ResponseManager(); |
3963 | @@ -224,7 +224,7 @@ | |||
3964 | 224 | { | 224 | { |
3965 | 225 | // Check the token | 225 | // Check the token |
3966 | 226 | if (!Kit::CheckToken()) | 226 | if (!Kit::CheckToken()) |
3968 | 227 | trigger_error('Token does not match', E_USER_ERROR); | 227 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3969 | 228 | 228 | ||
3970 | 229 | $db =& $this->db; | 229 | $db =& $this->db; |
3971 | 230 | $response = new ResponseManager(); | 230 | $response = new ResponseManager(); |
3972 | @@ -293,7 +293,7 @@ | |||
3973 | 293 | { | 293 | { |
3974 | 294 | // Check the token | 294 | // Check the token |
3975 | 295 | if (!Kit::CheckToken()) | 295 | if (!Kit::CheckToken()) |
3977 | 296 | trigger_error('Token does not match', E_USER_ERROR); | 296 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3978 | 297 | 297 | ||
3979 | 298 | $db =& $this->db; | 298 | $db =& $this->db; |
3980 | 299 | $response = new ResponseManager(); | 299 | $response = new ResponseManager(); |
3981 | @@ -395,7 +395,7 @@ | |||
3982 | 395 | { | 395 | { |
3983 | 396 | // Check the token | 396 | // Check the token |
3984 | 397 | if (!Kit::CheckToken()) | 397 | if (!Kit::CheckToken()) |
3986 | 398 | trigger_error('Token does not match', E_USER_ERROR); | 398 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3987 | 399 | 399 | ||
3988 | 400 | $db =& $this->db; | 400 | $db =& $this->db; |
3989 | 401 | $user =& $this->user; | 401 | $user =& $this->user; |
3990 | @@ -484,7 +484,7 @@ | |||
3991 | 484 | { | 484 | { |
3992 | 485 | // Check the token | 485 | // Check the token |
3993 | 486 | if (!Kit::CheckToken()) | 486 | if (!Kit::CheckToken()) |
3995 | 487 | trigger_error('Token does not match', E_USER_ERROR); | 487 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
3996 | 488 | 488 | ||
3997 | 489 | $db =& $this->db; | 489 | $db =& $this->db; |
3998 | 490 | $response = new ResponseManager(); | 490 | $response = new ResponseManager(); |
3999 | 491 | 491 | ||
4000 | === modified file 'server/lib/pages/dataset.class.php' | |||
4001 | --- server/lib/pages/dataset.class.php 2014-01-18 09:47:41 +0000 | |||
4002 | +++ server/lib/pages/dataset.class.php 2014-07-15 15:37:37 +0000 | |||
4003 | @@ -167,7 +167,7 @@ | |||
4004 | 167 | { | 167 | { |
4005 | 168 | // Check the token | 168 | // Check the token |
4006 | 169 | if (!Kit::CheckToken()) | 169 | if (!Kit::CheckToken()) |
4008 | 170 | trigger_error('Token does not match', E_USER_ERROR); | 170 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4009 | 171 | 171 | ||
4010 | 172 | $db =& $this->db; | 172 | $db =& $this->db; |
4011 | 173 | $user =& $this->user; | 173 | $user =& $this->user; |
4012 | @@ -227,7 +227,7 @@ | |||
4013 | 227 | { | 227 | { |
4014 | 228 | // Check the token | 228 | // Check the token |
4015 | 229 | if (!Kit::CheckToken()) | 229 | if (!Kit::CheckToken()) |
4017 | 230 | trigger_error('Token does not match', E_USER_ERROR); | 230 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4018 | 231 | 231 | ||
4019 | 232 | $db =& $this->db; | 232 | $db =& $this->db; |
4020 | 233 | $user =& $this->user; | 233 | $user =& $this->user; |
4021 | @@ -283,7 +283,7 @@ | |||
4022 | 283 | { | 283 | { |
4023 | 284 | // Check the token | 284 | // Check the token |
4024 | 285 | if (!Kit::CheckToken()) | 285 | if (!Kit::CheckToken()) |
4026 | 286 | trigger_error('Token does not match', E_USER_ERROR); | 286 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4027 | 287 | 287 | ||
4028 | 288 | $db =& $this->db; | 288 | $db =& $this->db; |
4029 | 289 | $user =& $this->user; | 289 | $user =& $this->user; |
4030 | @@ -326,29 +326,24 @@ | |||
4031 | 326 | $SQL .= sprintf(" WHERE DataSetID = %d ", $dataSetId); | 326 | $SQL .= sprintf(" WHERE DataSetID = %d ", $dataSetId); |
4032 | 327 | $SQL .= "ORDER BY ColumnOrder "; | 327 | $SQL .= "ORDER BY ColumnOrder "; |
4033 | 328 | 328 | ||
4034 | 329 | Kit::ClassLoader('datasetcolumn'); | ||
4035 | 330 | $dataSetColumnObject = new DataSetColumn($db); | ||
4036 | 331 | |||
4037 | 329 | // Load results into an array | 332 | // Load results into an array |
4045 | 330 | $dataSetColumns = $db->GetArray($SQL); | 333 | if (!$dataSetColumns = $dataSetColumnObject->GetColumns($dataSetId)) |
4046 | 331 | 334 | trigger_error($dataSetColumnObject->GetErrorMessage(), E_USER_ERROR); | |
4040 | 332 | if (!is_array($dataSetColumns)) | ||
4041 | 333 | { | ||
4042 | 334 | trigger_error($db->error()); | ||
4043 | 335 | trigger_error(__('Error getting list of dataSetColumns'), E_USER_ERROR); | ||
4044 | 336 | } | ||
4047 | 337 | 335 | ||
4048 | 338 | $rows = array(); | 336 | $rows = array(); |
4049 | 339 | 337 | ||
4050 | 340 | foreach ($dataSetColumns as $row) { | 338 | foreach ($dataSetColumns as $row) { |
4051 | 341 | 339 | ||
4057 | 342 | $row['heading'] = Kit::ValidateParam($row['Heading'], _STRING); | 340 | $row['datatype'] = __($row['datatype']); |
4058 | 343 | $row['listcontent'] = Kit::ValidateParam($row['ListContent'], _STRING); | 341 | $row['datasetcolumntype'] = __($row['datasetcolumntype']); |
4054 | 344 | $row['columnorder'] = Kit::ValidateParam($row['ColumnOrder'], _INT); | ||
4055 | 345 | $row['datatype'] = __(Kit::ValidateParam($row['DataType'], _STRING)); | ||
4056 | 346 | $row['datasetcolumntype'] = __(Kit::ValidateParam($row['DataSetColumnType'], _STRING)); | ||
4059 | 347 | 342 | ||
4060 | 348 | // Edit | 343 | // Edit |
4061 | 349 | $row['buttons'][] = array( | 344 | $row['buttons'][] = array( |
4062 | 350 | 'id' => 'dataset_button_edit', | 345 | 'id' => 'dataset_button_edit', |
4064 | 351 | 'url' => 'index.php?p=dataset&q=EditDataSetColumnForm&datasetid=' . $dataSetId . '&datasetcolumnid=' . $row['DataSetColumnID'] . '&dataset=' . $dataSet, | 346 | 'url' => 'index.php?p=dataset&q=EditDataSetColumnForm&datasetid=' . $dataSetId . '&datasetcolumnid=' . $row['datasetcolumnid'] . '&dataset=' . $dataSet, |
4065 | 352 | 'text' => __('Edit') | 347 | 'text' => __('Edit') |
4066 | 353 | ); | 348 | ); |
4067 | 354 | 349 | ||
4068 | @@ -356,7 +351,7 @@ | |||
4069 | 356 | // Delete | 351 | // Delete |
4070 | 357 | $row['buttons'][] = array( | 352 | $row['buttons'][] = array( |
4071 | 358 | 'id' => 'dataset_button_delete', | 353 | 'id' => 'dataset_button_delete', |
4073 | 359 | 'url' => 'index.php?p=dataset&q=DeleteDataSetColumnForm&datasetid=' . $dataSetId . '&datasetcolumnid=' . $row['DataSetColumnID'] . '&dataset=' . $dataSet, | 354 | 'url' => 'index.php?p=dataset&q=DeleteDataSetColumnForm&datasetid=' . $dataSetId . '&datasetcolumnid=' . $row['datasetcolumnid'] . '&dataset=' . $dataSet, |
4074 | 360 | 'text' => __('Delete') | 355 | 'text' => __('Delete') |
4075 | 361 | ); | 356 | ); |
4076 | 362 | } | 357 | } |
4077 | @@ -410,7 +405,7 @@ | |||
4078 | 410 | { | 405 | { |
4079 | 411 | // Check the token | 406 | // Check the token |
4080 | 412 | if (!Kit::CheckToken()) | 407 | if (!Kit::CheckToken()) |
4082 | 413 | trigger_error('Token does not match', E_USER_ERROR); | 408 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4083 | 414 | 409 | ||
4084 | 415 | $db =& $this->db; | 410 | $db =& $this->db; |
4085 | 416 | $user =& $this->user; | 411 | $user =& $this->user; |
4086 | @@ -490,7 +485,7 @@ | |||
4087 | 490 | { | 485 | { |
4088 | 491 | // Check the token | 486 | // Check the token |
4089 | 492 | if (!Kit::CheckToken()) | 487 | if (!Kit::CheckToken()) |
4091 | 493 | trigger_error('Token does not match', E_USER_ERROR); | 488 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4092 | 494 | 489 | ||
4093 | 495 | $db =& $this->db; | 490 | $db =& $this->db; |
4094 | 496 | $user =& $this->user; | 491 | $user =& $this->user; |
4095 | @@ -555,7 +550,7 @@ | |||
4096 | 555 | { | 550 | { |
4097 | 556 | // Check the token | 551 | // Check the token |
4098 | 557 | if (!Kit::CheckToken()) | 552 | if (!Kit::CheckToken()) |
4100 | 558 | trigger_error('Token does not match', E_USER_ERROR); | 553 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4101 | 559 | 554 | ||
4102 | 560 | $db =& $this->db; | 555 | $db =& $this->db; |
4103 | 561 | $user =& $this->user; | 556 | $user =& $this->user; |
4104 | @@ -863,40 +858,29 @@ | |||
4105 | 863 | Theme::Set('form_meta', '<input type="hidden" name="datasetid" value="' . $dataSetId . '" />'); | 858 | Theme::Set('form_meta', '<input type="hidden" name="datasetid" value="' . $dataSetId . '" />'); |
4106 | 864 | 859 | ||
4107 | 865 | // List of all Groups with a view/edit/delete checkbox | 860 | // List of all Groups with a view/edit/delete checkbox |
4122 | 866 | $SQL = ''; | 861 | Kit::ClassLoader('datasetgroupsecurity'); |
4123 | 867 | $SQL .= 'SELECT `group`.GroupID, `group`.`Group`, View, Edit, Del, `group`.IsUserSpecific '; | 862 | $security = new DataSetGroupSecurity($this->db); |
4124 | 868 | $SQL .= ' FROM `group` '; | 863 | |
4125 | 869 | $SQL .= ' LEFT OUTER JOIN lkdatasetgroup '; | 864 | if (!$results = $security->ListSecurity($dataSetId, $user->getGroupFromId($user->userid, true))) { |
4112 | 870 | $SQL .= ' ON lkdatasetgroup.GroupID = group.GroupID '; | ||
4113 | 871 | $SQL .= ' AND lkdatasetgroup.DataSetID = %d '; | ||
4114 | 872 | $SQL .= ' WHERE `group`.GroupID <> %d '; | ||
4115 | 873 | $SQL .= 'ORDER BY `group`.IsEveryone DESC, `group`.IsUserSpecific, `group`.`Group` '; | ||
4116 | 874 | |||
4117 | 875 | $SQL = sprintf($SQL, $dataSetId, $user->getGroupFromId($user->userid, true)); | ||
4118 | 876 | |||
4119 | 877 | if (!$results = $db->query($SQL)) | ||
4120 | 878 | { | ||
4121 | 879 | trigger_error($db->error()); | ||
4126 | 880 | trigger_error(__('Unable to get permissions for this dataset'), E_USER_ERROR); | 865 | trigger_error(__('Unable to get permissions for this dataset'), E_USER_ERROR); |
4127 | 881 | } | 866 | } |
4128 | 882 | 867 | ||
4129 | 883 | $checkboxes = array(); | 868 | $checkboxes = array(); |
4130 | 884 | 869 | ||
4135 | 885 | while ($row = $db->get_assoc_row($results)) | 870 | foreach ($results as $row) { |
4136 | 886 | { | 871 | $groupId = $row['groupid']; |
4137 | 887 | $groupId = $row['GroupID']; | 872 | $rowClass = ($row['isuserspecific'] == 0) ? 'strong_text' : ''; |
4134 | 888 | $rowClass = ($row['IsUserSpecific'] == 0) ? 'strong_text' : ''; | ||
4138 | 889 | 873 | ||
4139 | 890 | $checkbox = array( | 874 | $checkbox = array( |
4140 | 891 | 'id' => $groupId, | 875 | 'id' => $groupId, |
4142 | 892 | 'name' => Kit::ValidateParam($row['Group'], _STRING), | 876 | 'name' => Kit::ValidateParam($row['group'], _STRING), |
4143 | 893 | 'class' => $rowClass, | 877 | 'class' => $rowClass, |
4144 | 894 | 'value_view' => $groupId . '_view', | 878 | 'value_view' => $groupId . '_view', |
4146 | 895 | 'value_view_checked' => (($row['View'] == 1) ? 'checked' : ''), | 879 | 'value_view_checked' => (($row['view'] == 1) ? 'checked' : ''), |
4147 | 896 | 'value_edit' => $groupId . '_edit', | 880 | 'value_edit' => $groupId . '_edit', |
4149 | 897 | 'value_edit_checked' => (($row['Edit'] == 1) ? 'checked' : ''), | 881 | 'value_edit_checked' => (($row['edit'] == 1) ? 'checked' : ''), |
4150 | 898 | 'value_del' => $groupId . '_del', | 882 | 'value_del' => $groupId . '_del', |
4152 | 899 | 'value_del_checked' => (($row['Del'] == 1) ? 'checked' : ''), | 883 | 'value_del_checked' => (($row['del'] == 1) ? 'checked' : ''), |
4153 | 900 | ); | 884 | ); |
4154 | 901 | 885 | ||
4155 | 902 | $checkboxes[] = $checkbox; | 886 | $checkboxes[] = $checkbox; |
4156 | @@ -917,7 +901,7 @@ | |||
4157 | 917 | { | 901 | { |
4158 | 918 | // Check the token | 902 | // Check the token |
4159 | 919 | if (!Kit::CheckToken()) | 903 | if (!Kit::CheckToken()) |
4161 | 920 | trigger_error('Token does not match', E_USER_ERROR); | 904 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4162 | 921 | 905 | ||
4163 | 922 | $db =& $this->db; | 906 | $db =& $this->db; |
4164 | 923 | $user =& $this->user; | 907 | $user =& $this->user; |
4165 | @@ -1087,14 +1071,14 @@ | |||
4166 | 1087 | if ($tmpName == '') | 1071 | if ($tmpName == '') |
4167 | 1088 | trigger_error(__('Please ensure you have picked a file and it has finished uploading'), E_USER_ERROR); | 1072 | trigger_error(__('Please ensure you have picked a file and it has finished uploading'), E_USER_ERROR); |
4168 | 1089 | 1073 | ||
4170 | 1090 | // File name and extension (orignial name) | 1074 | // File name and extension (original name) |
4171 | 1091 | $fileName = Kit::GetParam('txtFileName', _POST, _STRING); | 1075 | $fileName = Kit::GetParam('txtFileName', _POST, _STRING); |
4172 | 1092 | $fileName = basename($fileName); | 1076 | $fileName = basename($fileName); |
4173 | 1093 | $ext = strtolower(substr(strrchr($fileName, "."), 1)); | 1077 | $ext = strtolower(substr(strrchr($fileName, "."), 1)); |
4174 | 1094 | 1078 | ||
4175 | 1095 | // Check it is a CSV file | 1079 | // Check it is a CSV file |
4176 | 1096 | if ($ext != 'csv') | 1080 | if ($ext != 'csv') |
4178 | 1097 | trigger_error(__('Files with a CSV extention only.')); | 1081 | trigger_error(__('Files with a CSV extension only.'), E_USER_ERROR); |
4179 | 1098 | 1082 | ||
4180 | 1099 | // File upload directory.. get this from the settings object | 1083 | // File upload directory.. get this from the settings object |
4181 | 1100 | $csvFileLocation = Config::GetSetting('LIBRARY_LOCATION') . 'temp/' . $tmpName; | 1084 | $csvFileLocation = Config::GetSetting('LIBRARY_LOCATION') . 'temp/' . $tmpName; |
4182 | @@ -1122,8 +1106,10 @@ | |||
4183 | 1122 | 1106 | ||
4184 | 1123 | $dataSetColumnId = Kit::ValidateParam($row['DataSetColumnID'], _INT); | 1107 | $dataSetColumnId = Kit::ValidateParam($row['DataSetColumnID'], _INT); |
4185 | 1124 | $spreadSheetColumn = Kit::GetParam('csvImport_' . $dataSetColumnId, _POST, _INT); | 1108 | $spreadSheetColumn = Kit::GetParam('csvImport_' . $dataSetColumnId, _POST, _INT); |
4188 | 1125 | 1109 | ||
4189 | 1126 | $spreadSheetMapping[($spreadSheetColumn - 1)] = $dataSetColumnId; | 1110 | // If it has been left blank, then skip |
4190 | 1111 | if ($spreadSheetColumn != 0) | ||
4191 | 1112 | $spreadSheetMapping[($spreadSheetColumn - 1)] = $dataSetColumnId; | ||
4192 | 1127 | } | 1113 | } |
4193 | 1128 | 1114 | ||
4194 | 1129 | $dataSetObject = new DataSetData($db); | 1115 | $dataSetObject = new DataSetData($db); |
4195 | 1130 | 1116 | ||
4196 | === modified file 'server/lib/pages/display.class.php' | |||
4197 | --- server/lib/pages/display.class.php 2014-03-09 14:41:56 +0000 | |||
4198 | +++ server/lib/pages/display.class.php 2014-07-15 15:37:37 +0000 | |||
4199 | @@ -145,11 +145,22 @@ | |||
4200 | 145 | // Configure the theme | 145 | // Configure the theme |
4201 | 146 | $id = uniqid(); | 146 | $id = uniqid(); |
4202 | 147 | Theme::Set('id', $id); | 147 | Theme::Set('id', $id); |
4203 | 148 | Theme::Set('campaign_form_add_url', 'index.php?p=campaign&q=AddForm'); | ||
4204 | 149 | Theme::Set('form_meta', '<input type="hidden" name="p" value="display"><input type="hidden" name="q" value="DisplayGrid">'); | 148 | Theme::Set('form_meta', '<input type="hidden" name="p" value="display"><input type="hidden" name="q" value="DisplayGrid">'); |
4205 | 150 | Theme::Set('filter_id', 'XiboFilterPinned' . uniqid('filter')); | 149 | Theme::Set('filter_id', 'XiboFilterPinned' . uniqid('filter')); |
4206 | 151 | Theme::Set('pager', ResponseManager::Pager($id)); | 150 | Theme::Set('pager', ResponseManager::Pager($id)); |
4207 | 152 | 151 | ||
4208 | 152 | // Default options | ||
4209 | 153 | if (Kit::IsFilterPinned('display', 'DisplayFilter')) { | ||
4210 | 154 | Theme::Set('filter_pinned', 'checked'); | ||
4211 | 155 | Theme::Set('filter_displaygroup', Session::Get('display', 'filter_displaygroup')); | ||
4212 | 156 | Theme::Set('filter_display', Session::Get('display', 'filter_display')); | ||
4213 | 157 | } | ||
4214 | 158 | |||
4215 | 159 | $displayGroups = $this->user->DisplayGroupList(0); | ||
4216 | 160 | array_unshift($displayGroups, array('displaygroupid' => '0', 'displaygroup' => 'All')); | ||
4217 | 161 | |||
4218 | 162 | Theme::Set('displaygroup_field_list', $displayGroups); | ||
4219 | 163 | |||
4220 | 153 | // Render the Theme and output | 164 | // Render the Theme and output |
4221 | 154 | Theme::Render('display_page'); | 165 | Theme::Render('display_page'); |
4222 | 155 | } | 166 | } |
4223 | @@ -162,7 +173,7 @@ | |||
4224 | 162 | { | 173 | { |
4225 | 163 | // Check the token | 174 | // Check the token |
4226 | 164 | if (!Kit::CheckToken()) | 175 | if (!Kit::CheckToken()) |
4228 | 165 | trigger_error('Token does not match', E_USER_ERROR); | 176 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4229 | 166 | 177 | ||
4230 | 167 | $db =& $this->db; | 178 | $db =& $this->db; |
4231 | 168 | $response = new ResponseManager(); | 179 | $response = new ResponseManager(); |
4232 | @@ -280,7 +291,18 @@ | |||
4233 | 280 | $user =& $this->user; | 291 | $user =& $this->user; |
4234 | 281 | $response = new ResponseManager(); | 292 | $response = new ResponseManager(); |
4235 | 282 | 293 | ||
4237 | 283 | $displays = $user->DisplayList(); | 294 | // Filter by Name |
4238 | 295 | $filter_display = Kit::GetParam('filter_display', _POST, _STRING); | ||
4239 | 296 | setSession('display', 'filter_display', $filter_display); | ||
4240 | 297 | |||
4241 | 298 | // Display Group | ||
4242 | 299 | $filter_displaygroupid = Kit::GetParam('filter_displaygroup', _POST, _INT); | ||
4243 | 300 | setSession('display', 'filter_displaygroup', $filter_displaygroupid); | ||
4244 | 301 | |||
4245 | 302 | // Pinned option? | ||
4246 | 303 | setSession('display', 'DisplayFilter', Kit::GetParam('XiboFilterPinned', _REQUEST, _CHECKBOX, 'off')); | ||
4247 | 304 | |||
4248 | 305 | $displays = $user->DisplayList(array('displayid'), array('displaygroupid' => $filter_displaygroupid, 'display' => $filter_display)); | ||
4249 | 284 | 306 | ||
4250 | 285 | if (!is_array($displays)) | 307 | if (!is_array($displays)) |
4251 | 286 | { | 308 | { |
4252 | @@ -358,6 +380,13 @@ | |||
4253 | 358 | 'url' => 'index.php?p=displaygroup&q=FileAssociations&DisplayGroupID=' . $row['displaygroupid'], | 380 | 'url' => 'index.php?p=displaygroup&q=FileAssociations&DisplayGroupID=' . $row['displaygroupid'], |
4254 | 359 | 'text' => __('Assign Files') | 381 | 'text' => __('Assign Files') |
4255 | 360 | ); | 382 | ); |
4256 | 383 | |||
4257 | 384 | // Logs | ||
4258 | 385 | $row['buttons'][] = array( | ||
4259 | 386 | 'id' => 'displaygroup_button_logs', | ||
4260 | 387 | 'url' => 'index.php?p=log&q=LastHundredForDisplay&displayid=' . $row['displayid'], | ||
4261 | 388 | 'text' => __('Last 100 Log Messages') | ||
4262 | 389 | ); | ||
4263 | 361 | } | 390 | } |
4264 | 362 | 391 | ||
4265 | 363 | if ($row['del'] == 1) { | 392 | if ($row['del'] == 1) { |
4266 | @@ -486,7 +515,7 @@ | |||
4267 | 486 | { | 515 | { |
4268 | 487 | // Check the token | 516 | // Check the token |
4269 | 488 | if (!Kit::CheckToken()) | 517 | if (!Kit::CheckToken()) |
4271 | 489 | trigger_error('Token does not match', E_USER_ERROR); | 518 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4272 | 490 | 519 | ||
4273 | 491 | $db =& $this->db; | 520 | $db =& $this->db; |
4274 | 492 | $response = new ResponseManager(); | 521 | $response = new ResponseManager(); |
4275 | @@ -550,7 +579,7 @@ | |||
4276 | 550 | { | 579 | { |
4277 | 551 | // Check the token | 580 | // Check the token |
4278 | 552 | if (!Kit::CheckToken()) | 581 | if (!Kit::CheckToken()) |
4280 | 553 | trigger_error('Token does not match', E_USER_ERROR); | 582 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4281 | 554 | 583 | ||
4282 | 555 | $db =& $this->db; | 584 | $db =& $this->db; |
4283 | 556 | $response = new ResponseManager(); | 585 | $response = new ResponseManager(); |
4284 | @@ -834,7 +863,7 @@ | |||
4285 | 834 | { | 863 | { |
4286 | 835 | // Check the token | 864 | // Check the token |
4287 | 836 | if (!Kit::CheckToken()) | 865 | if (!Kit::CheckToken()) |
4289 | 837 | trigger_error('Token does not match', E_USER_ERROR); | 866 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4290 | 838 | 867 | ||
4291 | 839 | $db =& $this->db; | 868 | $db =& $this->db; |
4292 | 840 | $response = new ResponseManager(); | 869 | $response = new ResponseManager(); |
4293 | 841 | 870 | ||
4294 | === modified file 'server/lib/pages/displaygroup.class.php' | |||
4295 | --- server/lib/pages/displaygroup.class.php 2014-03-29 14:15:07 +0000 | |||
4296 | +++ server/lib/pages/displaygroup.class.php 2014-07-15 15:37:37 +0000 | |||
4297 | @@ -264,37 +264,40 @@ | |||
4298 | 264 | $SQL .= sprintf("WHERE lkdisplaydg.DisplayGroupID = %d", $displayGroupID); | 264 | $SQL .= sprintf("WHERE lkdisplaydg.DisplayGroupID = %d", $displayGroupID); |
4299 | 265 | $SQL .= " ORDER BY display.Display "; | 265 | $SQL .= " ORDER BY display.Display "; |
4300 | 266 | 266 | ||
4302 | 267 | $displaysAssigned = $db->GetArray($SQL); | 267 | $displays_assigned = $this->user->DisplayList(array('display'), array('displaygroupid' => $displayGroupID), 'edit'); |
4303 | 268 | 268 | ||
4307 | 269 | if (!is_array($displaysAssigned)) | 269 | if (!is_array($displays_assigned)) |
4305 | 270 | { | ||
4306 | 271 | trigger_error($db->error()); | ||
4308 | 272 | trigger_error(__('Error getting Displays'), E_USER_ERROR); | 270 | trigger_error(__('Error getting Displays'), E_USER_ERROR); |
4309 | 271 | |||
4310 | 272 | // Build a new available array, based on the view permissions. | ||
4311 | 273 | $displaysAssigned = array(); | ||
4312 | 274 | |||
4313 | 275 | foreach ($displays_assigned as $display) { | ||
4314 | 276 | |||
4315 | 277 | // Go through each and set the appropriate fields | ||
4316 | 278 | $displaysAssigned[] = array( | ||
4317 | 279 | 'Display' => $display['display'], | ||
4318 | 280 | 'list_id' => 'DisplayID_' . $display['displayid'] | ||
4319 | 281 | ); | ||
4320 | 273 | } | 282 | } |
4321 | 274 | 283 | ||
4322 | 275 | Theme::Set('displays_assigned', $displaysAssigned); | 284 | Theme::Set('displays_assigned', $displaysAssigned); |
4323 | 276 | 285 | ||
4340 | 277 | // Displays not in group | 286 | // All Displays |
4341 | 278 | $SQL = ""; | 287 | $displays = $this->user->DisplayList(array('display'), array('exclude_displaygroupid' => $displayGroupID), 'edit'); |
4326 | 279 | $SQL .= "SELECT display.DisplayID, "; | ||
4327 | 280 | $SQL .= " display.Display, "; | ||
4328 | 281 | $SQL .= " CONCAT('DisplayID_', display.DisplayID) AS list_id "; | ||
4329 | 282 | $SQL .= "FROM display "; | ||
4330 | 283 | $SQL .= " WHERE display.DisplayID NOT IN "; | ||
4331 | 284 | $SQL .= " (SELECT display.DisplayID "; | ||
4332 | 285 | $SQL .= " FROM display "; | ||
4333 | 286 | $SQL .= " INNER JOIN lkdisplaydg "; | ||
4334 | 287 | $SQL .= " ON lkdisplaydg.DisplayID = display.DisplayID "; | ||
4335 | 288 | $SQL .= sprintf(" WHERE lkdisplaydg.DisplayGroupID = %d", $displayGroupID); | ||
4336 | 289 | $SQL .= " )"; | ||
4337 | 290 | $SQL .= " ORDER BY display.Display "; | ||
4338 | 291 | |||
4339 | 292 | $displaysAvailable = $db->GetArray($SQL); | ||
4342 | 293 | 288 | ||
4346 | 294 | if (!is_array($displaysAvailable)) | 289 | if (!is_array($displays)) |
4344 | 295 | { | ||
4345 | 296 | trigger_error($db->error()); | ||
4347 | 297 | trigger_error(__('Error getting Displays'), E_USER_ERROR); | 290 | trigger_error(__('Error getting Displays'), E_USER_ERROR); |
4348 | 291 | |||
4349 | 292 | // Build a new available array, based on the view permissions. | ||
4350 | 293 | $displaysAvailable = array(); | ||
4351 | 294 | |||
4352 | 295 | foreach ($displays as $display) { | ||
4353 | 296 | // Go through each and set the appropriate fields | ||
4354 | 297 | $displaysAvailable[] = array( | ||
4355 | 298 | 'Display' => $display['display'], | ||
4356 | 299 | 'list_id' => 'DisplayID_' . $display['displayid'] | ||
4357 | 300 | ); | ||
4358 | 298 | } | 301 | } |
4359 | 299 | 302 | ||
4360 | 300 | Theme::Set('displays_available', $displaysAvailable); | 303 | Theme::Set('displays_available', $displaysAvailable); |
4361 | @@ -317,7 +320,7 @@ | |||
4362 | 317 | { | 320 | { |
4363 | 318 | // Check the token | 321 | // Check the token |
4364 | 319 | if (!Kit::CheckToken()) | 322 | if (!Kit::CheckToken()) |
4366 | 320 | trigger_error('Token does not match', E_USER_ERROR); | 323 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4367 | 321 | 324 | ||
4368 | 322 | $db =& $this->db; | 325 | $db =& $this->db; |
4369 | 323 | $response = new ResponseManager(); | 326 | $response = new ResponseManager(); |
4370 | @@ -327,10 +330,16 @@ | |||
4371 | 327 | 330 | ||
4372 | 328 | $displayGroupObject = new DisplayGroup($db); | 331 | $displayGroupObject = new DisplayGroup($db); |
4373 | 329 | 332 | ||
4375 | 330 | if (!$displayGroupObject->Add($displayGroup, 0, $description)) | 333 | if (!$displayGroupId = $displayGroupObject->Add($displayGroup, 0, $description)) |
4376 | 331 | { | 334 | { |
4377 | 332 | trigger_error($displayGroupObject->GetErrorMessage(), E_USER_ERROR); | 335 | trigger_error($displayGroupObject->GetErrorMessage(), E_USER_ERROR); |
4378 | 333 | } | 336 | } |
4379 | 337 | |||
4380 | 338 | // Add full permissions for this user to this group | ||
4381 | 339 | $security = new DisplayGroupSecurity($db); | ||
4382 | 340 | |||
4383 | 341 | if (!$security->Link($displayGroupId, $this->user->getGroupFromID($this->user->userid, true), 1, 1, 1)) | ||
4384 | 342 | trigger_error(__('Unable to set permissions')); | ||
4385 | 334 | 343 | ||
4386 | 335 | $response->SetFormSubmitResponse(__('Display Group Added'), false); | 344 | $response->SetFormSubmitResponse(__('Display Group Added'), false); |
4387 | 336 | $response->Respond(); | 345 | $response->Respond(); |
4388 | @@ -344,7 +353,7 @@ | |||
4389 | 344 | { | 353 | { |
4390 | 345 | // Check the token | 354 | // Check the token |
4391 | 346 | if (!Kit::CheckToken()) | 355 | if (!Kit::CheckToken()) |
4393 | 347 | trigger_error('Token does not match', E_USER_ERROR); | 356 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4394 | 348 | 357 | ||
4395 | 349 | $db =& $this->db; | 358 | $db =& $this->db; |
4396 | 350 | $response = new ResponseManager(); | 359 | $response = new ResponseManager(); |
4397 | @@ -378,7 +387,7 @@ | |||
4398 | 378 | { | 387 | { |
4399 | 379 | // Check the token | 388 | // Check the token |
4400 | 380 | if (!Kit::CheckToken()) | 389 | if (!Kit::CheckToken()) |
4402 | 381 | trigger_error('Token does not match', E_USER_ERROR); | 390 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4403 | 382 | 391 | ||
4404 | 383 | $db =& $this->db; | 392 | $db =& $this->db; |
4405 | 384 | $response = new ResponseManager(); | 393 | $response = new ResponseManager(); |
4406 | @@ -550,7 +559,7 @@ | |||
4407 | 550 | { | 559 | { |
4408 | 551 | // Check the token | 560 | // Check the token |
4409 | 552 | if (!Kit::CheckToken()) | 561 | if (!Kit::CheckToken()) |
4411 | 553 | trigger_error('Token does not match', E_USER_ERROR); | 562 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4412 | 554 | 563 | ||
4413 | 555 | $db =& $this->db; | 564 | $db =& $this->db; |
4414 | 556 | $user =& $this->user; | 565 | $user =& $this->user; |
4415 | 557 | 566 | ||
4416 | === modified file 'server/lib/pages/fault.class.php' | |||
4417 | --- server/lib/pages/fault.class.php 2014-01-18 09:47:41 +0000 | |||
4418 | +++ server/lib/pages/fault.class.php 2014-07-15 15:37:37 +0000 | |||
4419 | @@ -64,12 +64,6 @@ | |||
4420 | 64 | 64 | ||
4421 | 65 | echo "\n"; | 65 | echo "\n"; |
4422 | 66 | echo "--------------------------------------\n"; | 66 | echo "--------------------------------------\n"; |
4423 | 67 | echo 'PHP INFO' . "\n"; | ||
4424 | 68 | echo "--------------------------------------\n"; | ||
4425 | 69 | $this->phpinfo_array(); | ||
4426 | 70 | |||
4427 | 71 | echo "\n"; | ||
4428 | 72 | echo "--------------------------------------\n"; | ||
4429 | 73 | echo 'LOG Dump' . "\n"; | 67 | echo 'LOG Dump' . "\n"; |
4430 | 74 | echo "--------------------------------------\n"; | 68 | echo "--------------------------------------\n"; |
4431 | 75 | 69 | ||
4432 | @@ -83,6 +77,8 @@ | |||
4433 | 83 | trigger_error($db->error()); | 77 | trigger_error($db->error()); |
4434 | 84 | trigger_error("Can not query the log", E_USER_ERROR); | 78 | trigger_error("Can not query the log", E_USER_ERROR); |
4435 | 85 | } | 79 | } |
4436 | 80 | |||
4437 | 81 | echo 'Date,Page,Function,Message' . PHP_EOL; | ||
4438 | 86 | 82 | ||
4439 | 87 | while ($row = $db->get_row($results)) | 83 | while ($row = $db->get_row($results)) |
4440 | 88 | { | 84 | { |
4441 | @@ -91,14 +87,7 @@ | |||
4442 | 91 | $function = Kit::ValidateParam($row[2], _STRING); | 87 | $function = Kit::ValidateParam($row[2], _STRING); |
4443 | 92 | $message = Kit::ValidateParam($row[3], _HTMLSTRING); | 88 | $message = Kit::ValidateParam($row[3], _HTMLSTRING); |
4444 | 93 | 89 | ||
4453 | 94 | $output = <<<END | 90 | echo '"' . $logdate . '","' . $page . '","' . $function . '","' . $message . '"' . PHP_EOL; |
4446 | 95 | Date: $logdate | ||
4447 | 96 | Page: $page | ||
4448 | 97 | Function: $function | ||
4449 | 98 | Message: $message | ||
4450 | 99 | \n | ||
4451 | 100 | END; | ||
4452 | 101 | echo $output; | ||
4454 | 102 | } | 91 | } |
4455 | 103 | 92 | ||
4456 | 104 | echo "\n"; | 93 | echo "\n"; |
4457 | @@ -213,50 +202,5 @@ | |||
4458 | 213 | 202 | ||
4459 | 214 | exit; | 203 | exit; |
4460 | 215 | } | 204 | } |
4461 | 216 | |||
4462 | 217 | /** | ||
4463 | 218 | * Outputs PHP info as an array rather than HTML | ||
4464 | 219 | * Taken from: http://uk2.php.net/phpinfo | ||
4465 | 220 | * @return | ||
4466 | 221 | * @param $return Object[optional] | ||
4467 | 222 | */ | ||
4468 | 223 | function phpinfo_array($return=false) | ||
4469 | 224 | { | ||
4470 | 225 | ob_start(); | ||
4471 | 226 | phpinfo(-1); | ||
4472 | 227 | |||
4473 | 228 | $pi = preg_replace( | ||
4474 | 229 | array('#^.*<body>(.*)</body>.*$#ms', '#<h2>PHP License</h2>.*$#ms', | ||
4475 | 230 | '#<h1>Configuration</h1>#', "#\r?\n#", "#</(h1|h2|h3|tr)>#", '# +<#', | ||
4476 | 231 | "#[ \t]+#", '# #', '# +#', '# class=".*?"#', '%'%', | ||
4477 | 232 | '#<tr>(?:.*?)" src="(?:.*?)=(.*?)" alt="PHP Logo" /></a>' | ||
4478 | 233 | .'<h1>PHP Version (.*?)</h1>(?:\n+?)</td></tr>#', | ||
4479 | 234 | '#<h1><a href="(?:.*?)\?=(.*?)">PHP Credits</a></h1>#', | ||
4480 | 235 | '#<tr>(?:.*?)" src="(?:.*?)=(.*?)"(?:.*?)Zend Engine (.*?),(?:.*?)</tr>#', | ||
4481 | 236 | "# +#", '#<tr>#', '#</tr>#'), | ||
4482 | 237 | array('$1', '', '', '', '</$1>' . "\n", '<', ' ', ' ', ' ', '', ' ', | ||
4483 | 238 | '<h2>PHP Configuration</h2>'."\n".'<tr><td>PHP Version</td><td>$2</td></tr>'. | ||
4484 | 239 | "\n".'<tr><td>PHP Egg</td><td>$1</td></tr>', | ||
4485 | 240 | '<tr><td>PHP Credits Egg</td><td>$1</td></tr>', | ||
4486 | 241 | '<tr><td>Zend Engine</td><td>$2</td></tr>' . "\n" . | ||
4487 | 242 | '<tr><td>Zend Egg</td><td>$1</td></tr>', ' ', '%S%', '%E%'), | ||
4488 | 243 | ob_get_clean()); | ||
4489 | 244 | |||
4490 | 245 | $sections = explode('<h2>', strip_tags($pi, '<h2><th><td>')); | ||
4491 | 246 | unset($sections[0]); | ||
4492 | 247 | |||
4493 | 248 | $pi = array(); | ||
4494 | 249 | foreach($sections as $section) | ||
4495 | 250 | { | ||
4496 | 251 | $n = substr($section, 0, strpos($section, '</h2>')); | ||
4497 | 252 | preg_match_all( | ||
4498 | 253 | '#%S%(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?(?:<td>(.*?)</td>)?%E%#', | ||
4499 | 254 | $section, $askapache, PREG_SET_ORDER); | ||
4500 | 255 | foreach($askapache as $m) | ||
4501 | 256 | $pi[$n][$m[1]]=(!isset($m[3])||$m[2]==$m[3])?$m[2]:array_slice($m,2); | ||
4502 | 257 | } | ||
4503 | 258 | |||
4504 | 259 | return ($return === false) ? print_r($pi) : $pi; | ||
4505 | 260 | } | ||
4506 | 261 | } | 205 | } |
4507 | 262 | ?> | 206 | ?> |
4508 | 263 | 207 | ||
4509 | === modified file 'server/lib/pages/group.class.php' | |||
4510 | --- server/lib/pages/group.class.php 2014-01-18 09:47:41 +0000 | |||
4511 | +++ server/lib/pages/group.class.php 2014-07-15 15:37:37 +0000 | |||
4512 | @@ -355,7 +355,7 @@ | |||
4513 | 355 | { | 355 | { |
4514 | 356 | // Check the token | 356 | // Check the token |
4515 | 357 | if (!Kit::CheckToken()) | 357 | if (!Kit::CheckToken()) |
4517 | 358 | trigger_error('Token does not match', E_USER_ERROR); | 358 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4518 | 359 | 359 | ||
4519 | 360 | $db =& $this->db; | 360 | $db =& $this->db; |
4520 | 361 | $response = new ResponseManager(); | 361 | $response = new ResponseManager(); |
4521 | @@ -379,7 +379,7 @@ | |||
4522 | 379 | { | 379 | { |
4523 | 380 | // Check the token | 380 | // Check the token |
4524 | 381 | if (!Kit::CheckToken()) | 381 | if (!Kit::CheckToken()) |
4526 | 382 | trigger_error('Token does not match', E_USER_ERROR); | 382 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4527 | 383 | 383 | ||
4528 | 384 | $db =& $this->db; | 384 | $db =& $this->db; |
4529 | 385 | 385 | ||
4530 | @@ -404,7 +404,7 @@ | |||
4531 | 404 | { | 404 | { |
4532 | 405 | // Check the token | 405 | // Check the token |
4533 | 406 | if (!Kit::CheckToken()) | 406 | if (!Kit::CheckToken()) |
4535 | 407 | trigger_error('Token does not match', E_USER_ERROR); | 407 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4536 | 408 | 408 | ||
4537 | 409 | $db =& $this->db; | 409 | $db =& $this->db; |
4538 | 410 | $groupid = Kit::GetParam('groupid', _POST, _INT); | 410 | $groupid = Kit::GetParam('groupid', _POST, _INT); |
4539 | @@ -587,7 +587,7 @@ | |||
4540 | 587 | { | 587 | { |
4541 | 588 | // Check the token | 588 | // Check the token |
4542 | 589 | if (!Kit::CheckToken()) | 589 | if (!Kit::CheckToken()) |
4544 | 590 | trigger_error('Token does not match', E_USER_ERROR); | 590 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4545 | 591 | 591 | ||
4546 | 592 | $db =& $this->db; | 592 | $db =& $this->db; |
4547 | 593 | $groupid = Kit::GetParam('groupid', _POST, _INT); | 593 | $groupid = Kit::GetParam('groupid', _POST, _INT); |
4548 | 594 | 594 | ||
4549 | === modified file 'server/lib/pages/help.class.php' | |||
4550 | --- server/lib/pages/help.class.php 2014-01-19 11:52:23 +0000 | |||
4551 | +++ server/lib/pages/help.class.php 2014-07-15 15:37:37 +0000 | |||
4552 | @@ -264,7 +264,7 @@ | |||
4553 | 264 | { | 264 | { |
4554 | 265 | // Check the token | 265 | // Check the token |
4555 | 266 | if (!Kit::CheckToken()) | 266 | if (!Kit::CheckToken()) |
4557 | 267 | trigger_error('Token does not match', E_USER_ERROR); | 267 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4558 | 268 | 268 | ||
4559 | 269 | $db =& $this->db; | 269 | $db =& $this->db; |
4560 | 270 | $response = new ResponseManager(); | 270 | $response = new ResponseManager(); |
4561 | @@ -291,7 +291,7 @@ | |||
4562 | 291 | { | 291 | { |
4563 | 292 | // Check the token | 292 | // Check the token |
4564 | 293 | if (!Kit::CheckToken()) | 293 | if (!Kit::CheckToken()) |
4566 | 294 | trigger_error('Token does not match', E_USER_ERROR); | 294 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4567 | 295 | 295 | ||
4568 | 296 | $db =& $this->db; | 296 | $db =& $this->db; |
4569 | 297 | $response = new ResponseManager(); | 297 | $response = new ResponseManager(); |
4570 | @@ -316,7 +316,7 @@ | |||
4571 | 316 | { | 316 | { |
4572 | 317 | // Check the token | 317 | // Check the token |
4573 | 318 | if (!Kit::CheckToken()) | 318 | if (!Kit::CheckToken()) |
4575 | 319 | trigger_error('Token does not match', E_USER_ERROR); | 319 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4576 | 320 | 320 | ||
4577 | 321 | $db =& $this->db; | 321 | $db =& $this->db; |
4578 | 322 | $response = new ResponseManager(); | 322 | $response = new ResponseManager(); |
4579 | 323 | 323 | ||
4580 | === modified file 'server/lib/pages/index.class.php' | |||
4581 | --- server/lib/pages/index.class.php 2014-02-15 11:25:09 +0000 | |||
4582 | +++ server/lib/pages/index.class.php 2014-07-15 15:37:37 +0000 | |||
4583 | @@ -50,7 +50,7 @@ | |||
4584 | 50 | // Split on & and rejoin with & | 50 | // Split on & and rejoin with & |
4585 | 51 | $params = explode('&', $referingpage, 3); | 51 | $params = explode('&', $referingpage, 3); |
4586 | 52 | unset($params['message']); | 52 | unset($params['message']); |
4588 | 53 | $referingpage = implode('&', $params) . '&message=Token Error'; | 53 | $referingpage = implode('&', $params) . '&message=' . __('Sorry the form has expired. Please refresh.'); |
4589 | 54 | 54 | ||
4590 | 55 | header('Location:index.php?' . $referingpage); | 55 | header('Location:index.php?' . $referingpage); |
4591 | 56 | exit; | 56 | exit; |
4592 | 57 | 57 | ||
4593 | === modified file 'server/lib/pages/layout.class.php' | |||
4594 | --- server/lib/pages/layout.class.php 2014-03-23 14:43:11 +0000 | |||
4595 | +++ server/lib/pages/layout.class.php 2014-07-15 15:37:37 +0000 | |||
4596 | @@ -148,6 +148,9 @@ | |||
4597 | 148 | // Set up the theme variables for the Layout Jump List | 148 | // Set up the theme variables for the Layout Jump List |
4598 | 149 | $this->LayoutJumpListFilter(); | 149 | $this->LayoutJumpListFilter(); |
4599 | 150 | 150 | ||
4600 | 151 | // Set up any JavaScript translations | ||
4601 | 152 | Theme::Set('translations', json_encode(array('save_position_button' => __('Save Position')))); | ||
4602 | 153 | |||
4603 | 151 | // Call the render the template | 154 | // Call the render the template |
4604 | 152 | Theme::Render('layout_designer'); | 155 | Theme::Render('layout_designer'); |
4605 | 153 | 156 | ||
4606 | @@ -168,7 +171,7 @@ | |||
4607 | 168 | { | 171 | { |
4608 | 169 | // Check the token | 172 | // Check the token |
4609 | 170 | if (!Kit::CheckToken()) | 173 | if (!Kit::CheckToken()) |
4611 | 171 | trigger_error('Token does not match', E_USER_ERROR); | 174 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4612 | 172 | 175 | ||
4613 | 173 | $db =& $this->db; | 176 | $db =& $this->db; |
4614 | 174 | $response = new ResponseManager(); | 177 | $response = new ResponseManager(); |
4615 | @@ -199,7 +202,7 @@ | |||
4616 | 199 | { | 202 | { |
4617 | 200 | // Check the token | 203 | // Check the token |
4618 | 201 | if (!Kit::CheckToken()) | 204 | if (!Kit::CheckToken()) |
4620 | 202 | trigger_error('Token does not match', E_USER_ERROR); | 205 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4621 | 203 | 206 | ||
4622 | 204 | $db =& $this->db; | 207 | $db =& $this->db; |
4623 | 205 | $response = new ResponseManager(); | 208 | $response = new ResponseManager(); |
4624 | @@ -277,7 +280,7 @@ | |||
4625 | 277 | { | 280 | { |
4626 | 278 | // Check the token | 281 | // Check the token |
4627 | 279 | if (!Kit::CheckToken()) | 282 | if (!Kit::CheckToken()) |
4629 | 280 | trigger_error('Token does not match', E_USER_ERROR); | 283 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4630 | 281 | 284 | ||
4631 | 282 | $db =& $this->db; | 285 | $db =& $this->db; |
4632 | 283 | $response = new ResponseManager(); | 286 | $response = new ResponseManager(); |
4633 | @@ -303,7 +306,7 @@ | |||
4634 | 303 | { | 306 | { |
4635 | 304 | // Check the token | 307 | // Check the token |
4636 | 305 | if (!Kit::CheckToken()) | 308 | if (!Kit::CheckToken()) |
4638 | 306 | trigger_error('Token does not match', E_USER_ERROR); | 309 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4639 | 307 | 310 | ||
4640 | 308 | $db =& $this->db; | 311 | $db =& $this->db; |
4641 | 309 | $response = new ResponseManager(); | 312 | $response = new ResponseManager(); |
4642 | @@ -609,7 +612,7 @@ | |||
4643 | 609 | { | 612 | { |
4644 | 610 | // Check the token | 613 | // Check the token |
4645 | 611 | if (!Kit::CheckToken()) | 614 | if (!Kit::CheckToken()) |
4647 | 612 | trigger_error('Token does not match', E_USER_ERROR); | 615 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4648 | 613 | 616 | ||
4649 | 614 | $db =& $this->db; | 617 | $db =& $this->db; |
4650 | 615 | $user =& $this->user; | 618 | $user =& $this->user; |
4651 | @@ -810,7 +813,7 @@ | |||
4652 | 810 | { | 813 | { |
4653 | 811 | // Check the token | 814 | // Check the token |
4654 | 812 | if (!Kit::CheckToken()) | 815 | if (!Kit::CheckToken()) |
4656 | 813 | trigger_error('Token does not match', E_USER_ERROR); | 816 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4657 | 814 | 817 | ||
4658 | 815 | $db =& $this->db; | 818 | $db =& $this->db; |
4659 | 816 | $user =& $this->user; | 819 | $user =& $this->user; |
4660 | 817 | 820 | ||
4661 | === modified file 'server/lib/pages/log.class.php' | |||
4662 | --- server/lib/pages/log.class.php 2014-01-18 09:47:41 +0000 | |||
4663 | +++ server/lib/pages/log.class.php 2014-07-15 15:37:37 +0000 | |||
4664 | @@ -164,6 +164,50 @@ | |||
4665 | 164 | $response->Respond(); | 164 | $response->Respond(); |
4666 | 165 | } | 165 | } |
4667 | 166 | 166 | ||
4668 | 167 | function LastHundredForDisplay() { | ||
4669 | 168 | $response = new ResponseManager(); | ||
4670 | 169 | $displayId = Kit::GetParam('displayid', _GET, _INT); | ||
4671 | 170 | |||
4672 | 171 | try { | ||
4673 | 172 | $dbh = PDOConnect::init(); | ||
4674 | 173 | |||
4675 | 174 | $sth = $dbh->prepare('SELECT logid, logdate, page, function, message FROM log WHERE displayid = :displayid ORDER BY logid DESC LIMIT 100'); | ||
4676 | 175 | $sth->execute(array( | ||
4677 | 176 | 'displayid' => $displayId | ||
4678 | 177 | )); | ||
4679 | 178 | |||
4680 | 179 | $log = $sth->fetchAll(); | ||
4681 | 180 | |||
4682 | 181 | if (count($log) <= 0) | ||
4683 | 182 | throw new Exception(__('No log messages for this display')); | ||
4684 | 183 | |||
4685 | 184 | $rows = array(); | ||
4686 | 185 | |||
4687 | 186 | foreach ($log as $row) { | ||
4688 | 187 | |||
4689 | 188 | $row['logid'] = Kit::ValidateParam($row['logid'], _INT); | ||
4690 | 189 | $row['logdate'] = Kit::ValidateParam($row['logdate'], _STRING); | ||
4691 | 190 | $row['page'] = Kit::ValidateParam($row['page'], _STRING); | ||
4692 | 191 | $row['function'] = Kit::ValidateParam($row['function'], _STRING); | ||
4693 | 192 | $row['message'] = nl2br(htmlspecialchars($row['message'])); | ||
4694 | 193 | |||
4695 | 194 | $rows[] = $row; | ||
4696 | 195 | } | ||
4697 | 196 | |||
4698 | 197 | Theme::Set('table_rows', $rows); | ||
4699 | 198 | |||
4700 | 199 | $output = Theme::RenderReturn('log_form_display_last100'); | ||
4701 | 200 | |||
4702 | 201 | $response->initialSortOrder = 2; | ||
4703 | 202 | $response->pageSize = 10; | ||
4704 | 203 | $response->SetGridResponse($output); | ||
4705 | 204 | $response->Respond(); | ||
4706 | 205 | } | ||
4707 | 206 | catch (Exception $e) { | ||
4708 | 207 | trigger_error($e->getMessage(), E_USER_ERROR); | ||
4709 | 208 | } | ||
4710 | 209 | } | ||
4711 | 210 | |||
4712 | 167 | public function TruncateForm() { | 211 | public function TruncateForm() { |
4713 | 168 | $db =& $this->db; | 212 | $db =& $this->db; |
4714 | 169 | $user =& $this->user; | 213 | $user =& $this->user; |
4715 | @@ -192,7 +236,7 @@ | |||
4716 | 192 | { | 236 | { |
4717 | 193 | // Check the token | 237 | // Check the token |
4718 | 194 | if (!Kit::CheckToken()) | 238 | if (!Kit::CheckToken()) |
4720 | 195 | trigger_error('Token does not match', E_USER_ERROR); | 239 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4721 | 196 | 240 | ||
4722 | 197 | $db =& $this->db; | 241 | $db =& $this->db; |
4723 | 198 | 242 | ||
4724 | 199 | 243 | ||
4725 | === modified file 'server/lib/pages/module.class.php' | |||
4726 | --- server/lib/pages/module.class.php 2014-03-02 15:53:38 +0000 | |||
4727 | +++ server/lib/pages/module.class.php 2014-07-15 15:37:37 +0000 | |||
4728 | @@ -208,7 +208,7 @@ | |||
4729 | 208 | { | 208 | { |
4730 | 209 | // Check the token | 209 | // Check the token |
4731 | 210 | if (!Kit::CheckToken()) | 210 | if (!Kit::CheckToken()) |
4733 | 211 | trigger_error('Token does not match', E_USER_ERROR); | 211 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4734 | 212 | 212 | ||
4735 | 213 | $db =& $this->db; | 213 | $db =& $this->db; |
4736 | 214 | $response = new ResponseManager(); | 214 | $response = new ResponseManager(); |
4737 | 215 | 215 | ||
4738 | === modified file 'server/lib/pages/oauth.class.php' | |||
4739 | --- server/lib/pages/oauth.class.php 2014-01-18 09:47:41 +0000 | |||
4740 | +++ server/lib/pages/oauth.class.php 2014-07-15 15:37:37 +0000 | |||
4741 | @@ -218,7 +218,7 @@ | |||
4742 | 218 | { | 218 | { |
4743 | 219 | // Check the token | 219 | // Check the token |
4744 | 220 | if (!Kit::CheckToken()) | 220 | if (!Kit::CheckToken()) |
4746 | 221 | trigger_error('Token does not match', E_USER_ERROR); | 221 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4747 | 222 | 222 | ||
4748 | 223 | $db =& $this->db; | 223 | $db =& $this->db; |
4749 | 224 | $user =& $this->user; | 224 | $user =& $this->user; |
4750 | 225 | 225 | ||
4751 | === modified file 'server/lib/pages/resolution.class.php' | |||
4752 | --- server/lib/pages/resolution.class.php 2014-01-18 09:47:41 +0000 | |||
4753 | +++ server/lib/pages/resolution.class.php 2014-07-15 15:37:37 +0000 | |||
4754 | @@ -197,7 +197,7 @@ | |||
4755 | 197 | { | 197 | { |
4756 | 198 | // Check the token | 198 | // Check the token |
4757 | 199 | if (!Kit::CheckToken()) | 199 | if (!Kit::CheckToken()) |
4759 | 200 | trigger_error('Token does not match', E_USER_ERROR); | 200 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4760 | 201 | 201 | ||
4761 | 202 | $db =& $this->db; | 202 | $db =& $this->db; |
4762 | 203 | $user =& $this->user; | 203 | $user =& $this->user; |
4763 | @@ -221,7 +221,7 @@ | |||
4764 | 221 | { | 221 | { |
4765 | 222 | // Check the token | 222 | // Check the token |
4766 | 223 | if (!Kit::CheckToken()) | 223 | if (!Kit::CheckToken()) |
4768 | 224 | trigger_error('Token does not match', E_USER_ERROR); | 224 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4769 | 225 | 225 | ||
4770 | 226 | $db =& $this->db; | 226 | $db =& $this->db; |
4771 | 227 | $user =& $this->user; | 227 | $user =& $this->user; |
4772 | @@ -246,7 +246,7 @@ | |||
4773 | 246 | { | 246 | { |
4774 | 247 | // Check the token | 247 | // Check the token |
4775 | 248 | if (!Kit::CheckToken()) | 248 | if (!Kit::CheckToken()) |
4777 | 249 | trigger_error('Token does not match', E_USER_ERROR); | 249 | trigger_error(__('Sorry the form has expired. Please refresh.'), E_USER_ERROR); |
4778 | 250 | 250 | ||
4779 | 251 | $db =& $this->db; | 251 | $db =& $this->db; |
4780 | 252 | $user =& $this->user; | 252 | $user =& $this->user; |
4781 | 253 | 253 | ||
4782 | === modified file 'server/lib/pages/schedule.class.php' | |||
4783 | --- server/lib/pages/schedule.class.php 2014-03-29 11:20:40 +0000 | |||
4784 | +++ server/lib/pages/schedule.class.php 2014-07-15 15:37:37 +0000 | |||
4785 | @@ -72,7 +72,7 @@ | |||
4786 | 72 | $groups = array(); | 72 | $groups = array(); |
4787 | 73 | $displays = array(); | 73 | $displays = array(); |
4788 | 74 | 74 | ||
4790 | 75 | foreach ($user->DisplayGroupList(0 /*IsDisplaySpecific*/, $filter_name) as $display) { | 75 | foreach ($user->DisplayGroupList(-1 /*IsDisplaySpecific*/, $filter_name) as $display) { |
4791 | 76 | 76 | ||
4792 | 77 | $display['checked_text'] = (in_array($display['displaygroupid'], $displayGroupIDs)) ? 'checked' : ''; | 77 | $display['checked_text'] = (in_array($display['displaygroupid'], $displayGroupIDs)) ? 'checked' : ''; |
4793 | 78 | 78 | ||
4794 | @@ -625,7 +625,10 @@ | |||
4795 | 625 | $eventDGIDs = Kit::ValidateParam($row['DisplayGroupIDs'], _STRING); | 625 | $eventDGIDs = Kit::ValidateParam($row['DisplayGroupIDs'], _STRING); |
4796 | 626 | $eventDGIDs = explode(',', $eventDGIDs); | 626 | $eventDGIDs = explode(',', $eventDGIDs); |
4797 | 627 | 627 | ||
4799 | 628 | if (!$user->DisplayGroupAuth($displayGroupID)) continue; | 628 | // Make sure this user can view this display group |
4800 | 629 | $auth = $user->DisplayGroupAuth($displayGroupID, true); | ||
4801 | 630 | if (!$auth->view) | ||
4802 | 631 | continue; | ||
4803 | 629 | 632 | ||
4804 | 630 | // How many days does this event span? | 633 | // How many days does this event span? |
4805 | 631 | $spanningDays = ($toDT - $fromDT) / (60 * 60 * 24); | 634 | $spanningDays = ($toDT - $fromDT) / (60 * 60 * 24); |
4806 | @@ -1083,7 +1086,7 @@ | |||
4807 | 1083 | trigger_error(__('No Display Groups'), E_USER_ERROR); | 1086 | trigger_error(__('No Display Groups'), E_USER_ERROR); |
4808 | 1084 | 1087 | ||
4809 | 1085 | if ($outputForm) $output .= '<form id="DisplayList" class="DisplayListForm">'; | 1088 | if ($outputForm) $output .= '<form id="DisplayList" class="DisplayListForm">'; |
4811 | 1086 | $output .= __('Groups'); | 1089 | $output .= __('Groups'); |
4812 | 1087 | $output .= '<ul class="DisplayList">'; | 1090 | $output .= '<ul class="DisplayList">'; |
4813 | 1088 | $nested = false; | 1091 | $nested = false; |
4814 | 1089 | 1092 | ||
4815 | @@ -1137,6 +1140,8 @@ | |||
4816 | 1137 | $filterName = ''; | 1140 | $filterName = ''; |
4817 | 1138 | } | 1141 | } |
4818 | 1139 | 1142 | ||
4819 | 1143 | $pinTranslated = __('Pin?'); | ||
4820 | 1144 | |||
4821 | 1140 | $form = <<<HTML | 1145 | $form = <<<HTML |
4822 | 1141 | <div class="XiboFilterInner"> | 1146 | <div class="XiboFilterInner"> |
4823 | 1142 | <form onsubmit="return false"> | 1147 | <form onsubmit="return false"> |
4824 | @@ -1148,7 +1153,7 @@ | |||
4825 | 1148 | <td>$msgName</td> | 1153 | <td>$msgName</td> |
4826 | 1149 | <td><input type="text" name="name" value="$filterName"></td> | 1154 | <td><input type="text" name="name" value="$filterName"></td> |
4827 | 1150 | <td> | 1155 | <td> |
4829 | 1151 | <label for="XiboFilterPinned">Pin?</label> | 1156 | <label for="XiboFilterPinned">$pinTranslated</label> |
4830 | 1152 | <input id="XiboFilterPinned" name="XiboFilterPinned" type="checkbox" class="XiboFilter" $filterPinned /> | 1157 | <input id="XiboFilterPinned" name="XiboFilterPinned" type="checkbox" class="XiboFilter" $filterPinned /> |
4831 | 1153 | </td> | 1158 | </td> |
4832 | 1154 | </tr> | 1159 | </tr> |
4833 | @@ -1250,7 +1255,10 @@ | |||
4834 | 1250 | $filterPinned = ''; | 1255 | $filterPinned = ''; |
4835 | 1251 | $filterName = ''; | 1256 | $filterName = ''; |
4836 | 1252 | } | 1257 | } |
4838 | 1253 | 1258 | ||
4839 | 1259 | $pinTranslated = __('Pin?'); | ||
4840 | 1260 | $checkAllTranslated = __('Check All'); | ||
4841 | 1261 | |||
4842 | 1254 | // Serialize the list of display group ids | 1262 | // Serialize the list of display group ids |
4843 | 1255 | $displayGroupIdsSerialized = ""; | 1263 | $displayGroupIdsSerialized = ""; |
4844 | 1256 | foreach ($displayGroupIds as $displayGroupId) | 1264 | foreach ($displayGroupIds as $displayGroupId) |
4845 | @@ -1258,7 +1266,7 @@ | |||
4846 | 1258 | 1266 | ||
4847 | 1259 | $form = <<<HTML | 1267 | $form = <<<HTML |
4848 | 1260 | <div class="XiboFilterInner"> | 1268 | <div class="XiboFilterInner"> |
4850 | 1261 | <div class="scheduleFormCheckAll pull-right"><label for"checkAll"><input type="checkbox" name="checkAll">Check All</label></div> | 1269 | <div class="scheduleFormCheckAll pull-right"><label for"checkAll"><input type="checkbox" name="checkAll">$checkAllTranslated</label></div> |
4851 | 1262 | <form onsubmit="return false"> | 1270 | <form onsubmit="return false"> |
4852 | 1263 | <input type="hidden" name="p" value="schedule"> | 1271 | <input type="hidden" name="p" value="schedule"> |
4853 | 1264 | <input type="hidden" name="q" value="EventFormDisplay"> | 1272 | <input type="hidden" name="q" value="EventFormDisplay"> |
4854 | @@ -1268,7 +1276,7 @@ | |||
4855 | 1268 | <td>$msgName</td> | 1276 | <td>$msgName</td> |
4856 | 1269 | <td><input type="text" name="name" value="$filterName"></td> | 1277 | <td><input type="text" name="name" value="$filterName"></td> |
4857 | 1270 | <td> | 1278 | <td> |
4859 | 1271 | <label for="XiboFilterPinned">Pin?</label> | 1279 | <label for="XiboFilterPinned">$pinTranslated</label> |
4860 | 1272 | <input id="XiboFilterPinned" name="XiboFilterPinned" type="checkbox" class="XiboFilter" $filterPinned /> | 1280 | <input id="XiboFilterPinned" name="XiboFilterPinned" type="checkbox" class="XiboFilter" $filterPinned /> |
4861 | 1273 | </td> | 1281 | </td> |
4862 | 1274 | </tr> | 1282 | </tr> |
4863 | @@ -1305,7 +1313,7 @@ | |||
4864 | 1305 | setSession('scheduleEvent', 'DisplayName', $displayName); | 1313 | setSession('scheduleEvent', 'DisplayName', $displayName); |
4865 | 1306 | 1314 | ||
4866 | 1307 | // Layout list | 1315 | // Layout list |
4868 | 1308 | $displays = $user->DisplayGroupList(0, $displayName); | 1316 | $displays = $user->DisplayGroupList(-1, $displayName); |
4869 | 1309 | 1317 | ||
4870 | 1310 | // Show a list of layouts we have permission to jump to | 1318 | // Show a list of layouts we have permission to jump to |
4871 | 1311 | $output = '<table class="table table-bordered">'; | 1319 | $output = '<table class="table table-bordered">'; |
4872 | @@ -1361,89 +1369,28 @@ | |||
4873 | 1361 | $layoutFilter = $this->EventFormLayoutFilter(); | 1369 | $layoutFilter = $this->EventFormLayoutFilter(); |
4874 | 1362 | $displayFilter = $this->EventFormDisplayFilter($displayGroupIds); | 1370 | $displayFilter = $this->EventFormDisplayFilter($displayGroupIds); |
4875 | 1363 | 1371 | ||
4959 | 1364 | $token = Kit::Token(); | 1372 | $token_id = uniqid(); |
4960 | 1365 | 1373 | $token_field = '<input type="hidden" name="token_id" value="' . $token_id . '" />'; | |
4961 | 1366 | $form = <<<END | 1374 | $token = Kit::Token($token_id); |
4962 | 1367 | <div class="container-fluid"> | 1375 | |
4963 | 1368 | <div class="row-fluid"> | 1376 | Theme::Set('form_id', 'AddEventForm'); |
4964 | 1369 | <div class="span6"> | 1377 | Theme::Set('form_action', 'index.php?p=schedule&q=AddEvent'); |
4965 | 1370 | $layoutFilter | 1378 | Theme::Set('form_meta', $token_field . $token); |
4966 | 1371 | </div> | 1379 | |
4967 | 1372 | <div class="span6"> | 1380 | // Filter forms |
4968 | 1373 | $displayFilter | 1381 | Theme::Set('layout_filter', $layoutFilter); |
4969 | 1374 | </div> | 1382 | Theme::Set('display_filter', $displayFilter); |
4970 | 1375 | </div> | 1383 | |
4971 | 1376 | <div class="row-fluid"> | 1384 | Theme::Set('recurrence_field_list', array( |
4972 | 1377 | <div class="span12"> | 1385 | array('id' => 'null', 'name' => __('None')), |
4973 | 1378 | <form id="AddEventForm" class="XiboScheduleForm" action="index.php?p=schedule&q=AddEvent" method="post"> | 1386 | array('id' => 'Hour', 'name' => __('Hourly')), |
4974 | 1379 | $token | 1387 | array('id' => 'Day', 'name' => __('Daily')), |
4975 | 1380 | <table style="width:100%;"> | 1388 | array('id' => 'Week', 'name' => __('Weekly')), |
4976 | 1381 | <tr> | 1389 | array('id' => 'Month', 'name' => __('Monthly')), |
4977 | 1382 | <td colspan="4"><center><h3>Event Schedule</h3></center></td> | 1390 | array('id' => 'Year', 'name' => __('Yearly')) |
4978 | 1383 | </tr> | 1391 | )); |
4979 | 1384 | <tr> | 1392 | |
4980 | 1385 | <td><label for="starttime" title="Select the start time for this event">Start Time</label></td> | 1393 | $response->SetFormRequestResponse(Theme::RenderReturn('schedule_form_add_event'), __('Schedule Event'), '800px', '600px'); |
4898 | 1386 | <td> | ||
4899 | 1387 | <div class="date-pick input-append date"> | ||
4900 | 1388 | <input data-format="dd/MM/yyyy hh:mm" type="text" class="input-medium" name="starttime" id="starttime" value="$dateText"></input> | ||
4901 | 1389 | <span class="add-on"> | ||
4902 | 1390 | <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> | ||
4903 | 1391 | </span> | ||
4904 | 1392 | </div> | ||
4905 | 1393 | </td> | ||
4906 | 1394 | <td><label for="endtime" title="Select the end time for this event">End Time</label></td> | ||
4907 | 1395 | <td> | ||
4908 | 1396 | <div class="date-pick input-append date"> | ||
4909 | 1397 | <input data-format="dd/MM/yyyy hh:mm" type="text" class="input-medium" name="endtime" id="endtime" value="$toDateText"></input> | ||
4910 | 1398 | <span class="add-on"> | ||
4911 | 1399 | <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> | ||
4912 | 1400 | </span> | ||
4913 | 1401 | </div> | ||
4914 | 1402 | </td> | ||
4915 | 1403 | </tr> | ||
4916 | 1404 | <tr> | ||
4917 | 1405 | <td><label for="DisplayOrder" title="Select the Order for this Event">Display Order</label></td> | ||
4918 | 1406 | <td><input type=text" name="DisplayOrder" value="0" /> | ||
4919 | 1407 | <td><label title="Sets whether or not this event has priority. If set the event will be show in preference to other events." for="cb_is_priority">Priority</label></td> | ||
4920 | 1408 | <td><input type="checkbox" id="cb_is_priority" name="is_priority" value="1" title="Sets whether or not this event has priority. If set the event will be show in preference to other events."></td> | ||
4921 | 1409 | </tr> | ||
4922 | 1410 | END; | ||
4923 | 1411 | |||
4924 | 1412 | //recurrance part of the form | ||
4925 | 1413 | $rec_type = listcontent("null|None,Hour|Hourly,Day|Daily,Week|Weekly,Month|Monthly,Year|Yearly", "rec_type"); | ||
4926 | 1414 | |||
4927 | 1415 | $form .= <<<END | ||
4928 | 1416 | <tr> | ||
4929 | 1417 | <td colspan="4"><center><h3>Recurring Event</h3></center></td> | ||
4930 | 1418 | </tr> | ||
4931 | 1419 | <tr> | ||
4932 | 1420 | <td><label for="rec_type" title="What type of repeating is required">Repeats</label></td> | ||
4933 | 1421 | <td>$rec_type</td> | ||
4934 | 1422 | <td><label for="rec_detail" title="How often does this event repeat">Repeat every</label></td> | ||
4935 | 1423 | <td><input class="number" type="text" name="rec_detail" value="1" /></td> | ||
4936 | 1424 | </tr> | ||
4937 | 1425 | <tr> | ||
4938 | 1426 | <td><label for="rec_range" title="When should this event stop repeating?">Until</label></td> | ||
4939 | 1427 | <td> | ||
4940 | 1428 | <div class="date-pick input-append date"> | ||
4941 | 1429 | <input data-format="dd/MM/yyyy hh:mm" type="text" class="input-medium" name="rec_range" id="rec_range"></input> | ||
4942 | 1430 | <span class="add-on"> | ||
4943 | 1431 | <i data-time-icon="icon-time" data-date-icon="icon-calendar"></i> | ||
4944 | 1432 | </span> | ||
4945 | 1433 | </div> | ||
4946 | 1434 | </td> | ||
4947 | 1435 | </tr> | ||
4948 | 1436 | END; | ||
4949 | 1437 | |||
4950 | 1438 | $form .= <<<END | ||
4951 | 1439 | </table> | ||
4952 | 1440 | </form> | ||
4953 | 1441 | </div> | ||
4954 | 1442 | </div> | ||
4955 | 1443 | </div> | ||
4956 | 1444 | END; | ||
4957 | 1445 | |||
4958 | 1446 | $response->SetFormRequestResponse($form, __('Schedule Event'), '800px', '600px'); | ||
4981 | 1447 | $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=Add')"); | 1394 | $response->AddButton(__('Help'), "XiboHelpRender('index.php?p=help&q=Display&Topic=Schedule&Category=Add')"); |
4982 | 1448 | $response->AddButton(__('Cancel'), 'XiboDialogClose()'); | 1395 | $response->AddButton(__('Cancel'), 'XiboDialogClose()'); |
4983 | 1449 | $response->AddButton(__('Next'), '$("#AddEventForm").attr("action", $("#AddEventForm").attr("action") + "&next=1").submit()'); | 1396 | $response->AddButton(__('Next'), '$("#AddEventForm").attr("action", $("#AddEventForm").attr("action") + "&next=1").submit()'); |
4984 | @@ -1527,89 +1474,37 @@ | |||
4985 | 1527 | $layoutFilter = $this->EventFormLayoutFilter($campaignId); | 1474 | $layoutFilter = $this->EventFormLayoutFilter($campaignId); |
4986 | 1528 | $displayFilter = $this->EventFormDisplayFilter($displayGroupIds); | 1475 | $displayFilter = $this->EventFormDisplayFilter($displayGroupIds); |
4987 | 1529 | 1476 | ||
4988 | 1530 | $token = Kit::Token(); | ||
4989 | 1531 | |||
4990 | 1532 | $form = <<<END | ||
4991 | 1533 | <div class="container-fluid"> | ||
4992 | 1534 | <div class="row-fluid"> | ||
4993 | 1535 | <div class="span6"> | ||
4994 | 1536 | $layoutFilter | ||
4995 | 1537 | </div> | ||
4996 | 1538 | <div class="span6"> | ||
4997 | 1539 | $displayFilter | ||
4998 | 1540 | </div> | ||
4999 | 1541 | </div> | ||
5000 | 1542 | <div class="row-fluid"> |
The diff has been truncated for viewing.