Commit Graph

1210 Commits

Author SHA1 Message Date
Ralf Becker
e9425499b4 harden login page by no longer using www.groupware.org to load social media icons 2015-02-21 13:29:32 +00:00
Ralf Becker
9cc1d409eb harden login page by no longer using www.groupware.org to load social media icons 2015-02-21 13:29:10 +00:00
Nathan Gray
a6bb56d2e1 Fix bug in rule removal prevented adding more rules 2015-02-19 17:14:31 +00:00
Hadi Nategh
8752f10877 Fix in mobile theme not able to dismiss the context menu:
- touch and open entries and swip (left/right) over any rows on the next match list will dismiss the context menu
2015-02-19 12:00:22 +00:00
Hadi Nategh
212e98ccdb Fix in mobile theme not able to dismiss the context menu:
- touch and open entries and swip (left/right) over any rows on the next match list will dismiss the context menu
2015-02-19 11:45:05 +00:00
Nathan Gray
f1e0cc90d7 Slightly gentler reset after forcing margin for printing 2015-02-19 00:54:49 +00:00
Nathan Gray
89741b682c Force left margin to 0, avoids margin when printing 2015-02-19 00:27:21 +00:00
Hadi Nategh
6ea1b17b40 Detect Flash player click-to-play mode and inform user how to allow it for copy to clipboard from context menu
- Fix hovering over copy to clipboard brings a wierd small grey box
2015-02-17 08:18:36 +00:00
Hadi Nategh
f3de318e81 Detect Flash player click-to-play mode and inform user how to allow it for copy to clipboard from context menu
- Fix hovering over copy to clipboard brings a wierd small grey box
2015-02-16 15:18:25 +00:00
Ralf Becker
73cb8d4aa5 remove not needed dhtmlx samples 2015-02-14 17:16:43 +00:00
Ralf Becker
2fcfa9e0a8 remove not needed dhtmlx samples 2015-02-14 17:15:00 +00:00
Ralf Becker
17f83d89c7 add modification time of files to thumbnail url to allow longer caching, also set_time_limit(0) for pdf thumbnails, as they might take > 90s 2015-02-13 08:27:08 +00:00
Nathan Gray
e1e870c174 Add initial support for PDF thumbnails 2015-02-12 18:24:47 +00:00
Ralf Becker
aff689e054 * All apps: improved printing: CRM view and given number or rows
r51716: Extend printing support to work with multiple etemplates on the printed tab
r51717: Better handling of printing of various row quantities:
- print < loaded row count
- print > loaded row count
- print all rows
2015-02-12 08:06:50 +00:00
Nathan Gray
82f36e6de4 Extend printing support to work with multiple etemplates on the printed tab 2015-02-11 18:05:14 +00:00
Ralf Becker
acafc2d9b3 * ImportExport: links supposed to open in admin did not show admin sidebox with tree 2015-02-11 09:43:52 +00:00
Ralf Becker
d0afb453a0 * ImportExport: links supposed to open in admin did not show admin sidebox with tree 2015-02-11 09:43:29 +00:00
Ralf Becker
ce479698e0 allow to use "availHeight" in openPopup() too 2015-02-06 16:44:00 +00:00
Ralf Becker
90e475eff3 allow to use "availHeight" in openPopup() too 2015-02-06 16:43:36 +00:00
Ralf Becker
6625ffdde4 * All apps: printing of lists improved a lot, asks now how many lines to print
r51437: Work in progress of printing nextmatches, still needs some prettying up & edge case testing
r51453: Bug fixes on nextmatch printing
 - fix loaded rows check
 - fix hidden etemplate check
r51454: Printing CSS improvements
r51588: Attempt to get nextmatch printing always on the page (landscape)
r51589: Attempt to get nextmatch printing always on the page (landscape) - put things back if they cancel at nextmatch dialog
r51612: disable footer for print
2015-02-06 13:36:25 +00:00
Hadi Nategh
4249dca91d * All apps: Activate cross-browser autocomplete 2015-02-06 13:23:40 +00:00
Hadi Nategh
e0f24f91a7 * Filemanager/Expose view: Fix following issues:
-Fix miss calculation of accurate position of active slide on thumbnail indicator
-Fix slide navigation with keyboard always pops up thumbnail indicator, no respect to fullscreen mode
-Fix jumping out of the fullscreen slide show by toggling on spacebar pause/play key
-Make the thumbnail indicator scrolling faster
2015-02-06 11:59:26 +00:00
Hadi Nategh
303b10377f Do not exit of fullscreen mode on slideshow pause for toggleFullscreenOnSlideshow 2015-02-06 11:35:49 +00:00
Hadi Nategh
0836c6a520 Chanage toggleFullscreenOnSlideShow default behavior, and disable close on slide click 2015-02-06 11:14:24 +00:00
Ralf Becker
6b24bc150d revert jQuery back to 1.11.0 from previous upgrade to 1.11.2, as it broke to many things, specially calendar day-view with multiple participants 2015-02-05 09:39:06 +00:00
Hadi Nategh
13684d4903 Activate cross-browser autocomplete
- Replace et2_contianer from DIV to FORM
- Add autocomplete fixer to submit action
- Add autocomplete fixer to nextmatch search box
2015-02-03 17:42:32 +00:00
Ralf Becker
8339b027c9 * all apps: updated jQuery and jQuery-ui to version 1.11.2 fixing eg. some UI glitches in FireFox
- rename window.$ window.$j at the very end of jquery.js
- download custom jquery-ui containing everything, but with selected redmond theme
- removed not used smoothnes theme and removed version from redmond/jquery-ui.css
2015-02-03 09:46:39 +00:00
Ralf Becker
5ac3f95a91 * all apps: updated jQuery and jQuery-ui to version 1.11.2 fixing eg. some UI glitches in FireFox
- rename window.$ window.$j at the very end of jquery.js
- download custom jquery-ui containing everything, but with selected redmond theme
- removed not used smoothnes theme and removed version from redmond/jquery-ui.css
2015-02-03 09:26:34 +00:00
Ralf Becker
7f8b201330 * Mail/IE: fixed compose popup did not open again after it was closed eg. mail was send
r51526: fix wrong parameter order in call to egw.config() by removing it completly, as session is anway instance specific (and due to wrong order returned key was always empty)
r51527: garding againts data set in egw object by reference from an other window, causing data to be inaccessible in IE after window closes
r51528: removing an other unnecessary egw_info[flags][js_link_registry]=true
2015-02-02 19:54:53 +00:00
Ralf Becker
6bbf3661b2 garding againts data set in egw object by reference from an other window, causing data to be inaccessible in IE after window closes 2015-02-02 19:49:18 +00:00
Ralf Becker
5a09fc60c1 fix wrong parameter order in call to egw.config() by removing it completly, as session is anway instance specific (and due to wrong order returned key was always empty) 2015-02-02 19:47:32 +00:00
Ralf Becker
1177acd3d3 fix clicking on favorite in filemanager does not work when showing shared files (or any other view then current index-url), thought setting of favorite still fails
r51522: Update favorite GET fallback to use new style of favorite
2015-02-02 17:28:54 +00:00
Ralf Becker
95a85c6cf5 fix clicking on favorite in filemanager does not work when showing shared files (or any other view then current index-url), thought setting of favorite still fails 2015-01-30 16:59:31 +00:00
Hadi Nategh
e9ebd97e78 * Filemanager/Expose view: enhancements
-Fullscreen feature
-Loading on thumbnail scrolling
-Fix thumbnail not being loaded for the first time
2015-01-30 15:50:57 +00:00
Hadi Nategh
74eee4d061 Revert back the window close to normal timing as delay breaks closing of compose dialog 2015-01-30 15:33:17 +00:00
Hadi Nategh
436424c1c7 Revert back the window close to normal timing as delay breaks closing of compose dialog 2015-01-30 15:25:47 +00:00
Ralf Becker
8633eb416e we have to wait a little, to give browser time to same autocomplete values 2015-01-29 18:04:49 +00:00
Ralf Becker
af8e1022e1 we have to wait a little, to give browser time to same autocomplete values 2015-01-29 18:04:03 +00:00
Hadi Nategh
dd7b4dec55 Add two options to blueimp gallery plugin:
- thumbnailsTagIndicators: in order to set custom tag as indicator element. Default value: 'li'
- thumbnailWithImgTag: in order to set indicator with img child as thumbnail. Default value: false
2015-01-28 17:42:14 +00:00
Hadi Nategh
9c9ef1b3d4 Implement fullScreen toggle mode for blueimp gallery plugin 2015-01-28 10:57:33 +00:00
Nathan Gray
cee521d4cd Work in progress of printing nextmatches, still needs some prettying up & edge case testing 2015-01-27 16:26:59 +00:00
Hadi Nategh
33cf3205fa Fix some issues in Expose view:
-Fix an error complaing of nm existance(eg.link widget)
-Some styling to thumbnail indicator
-Add hideControlsOnSlideshow to the blueimp gallery plugin to be able to hide the controls
2015-01-21 11:10:17 +00:00
Hadi Nategh
a4b8dabef5 Implement the lightbox view (expose) for mime widget 2015-01-19 17:18:01 +00:00
Ralf Becker
d46def6606 make sure null is returned as null, not as empty object ({}) 2015-01-15 20:11:23 +00:00
Hadi Nategh
e62899f204 Correct the cursor after the drag item re-enabled by mouseup event 2015-01-15 16:06:00 +00:00
Hadi Nategh
0406395e4c Revert back the cursor to auto after drop action 2015-01-15 09:56:37 +00:00
Hadi Nategh
f9e28d24e8 Make a delay before favorites sorting action starts in order to prevent accidental sorting action 2015-01-14 17:00:47 +00:00
Hadi Nategh
26bbb237c3 * All application: Fix unintentional dragging happens while user try to do scrolling over a dragging item in FF(e.g. scrolling over an scrollable infolog entry) 2015-01-14 16:33:57 +00:00
Nathan Gray
5b972ea11f Stop default actions from bubbling after they are handled, fixes parent default action firing after child default action has been handled 2015-01-12 16:17:29 +00:00
Ralf Becker
4a12f12683 using new mime icons for tile view in 64x64 2015-01-11 18:06:13 +00:00
Ralf Becker
85bcd0200d modernized login- and start-message editing a bit 2015-01-09 18:58:23 +00:00
Hadi Nategh
0d2932d0a6 Return clone of preference object as we don't want direct reference to original object 2015-01-08 13:43:33 +00:00
Ralf Becker
94d91f3ac8 allow to unset a preference by calling egw.set_preference(app,name) 2015-01-08 13:13:02 +00:00
Hadi Nategh
3e790be681 Prevent egw window resize happens on each reload even if the window has not been resized manualy 2015-01-06 14:52:41 +00:00
Hadi Nategh
6ad027d446 Use widget value in options while we may have no get_value like readonlys 2015-01-05 15:12:10 +00:00
Hadi Nategh
39cc660c0d Implement set window title for each application with a default title field or define an app specific custom get title 2015-01-05 14:28:35 +00:00
Nathan Gray
8fb1418b3b Some thumbnail enhancements:
- Allow client to cache thumbnails for 5 minutes, makes scrolling with tile view more bearable
- If thumbnail size is 64px or larger, extract & use thumbnail from opendocument files, makes them look better in tile view
2015-01-02 19:43:50 +00:00
Nathan Gray
14655677ca Fix copy to OS clipboard in Firefox. 2014-12-17 16:20:42 +00:00
Hadi Nategh
d9f6c03f8b Fix context menu not poping up in F.F 2014-12-17 10:34:27 +00:00
Nathan Gray
d3e404fad9 Explicitly configure flash location to work with JS minification 2014-12-16 18:57:41 +00:00
Nathan Gray
4eeed35c6c Add copy to system clipboard to context menu 2014-12-16 16:27:33 +00:00
Klaus Leithoff
3767ca51e7 adding 3 more skins; add kama/skin.js as IE seems to require it to be present 2014-12-12 13:51:42 +00:00
Hadi Nategh
2be25de672 Make CKEditor available for mobile devices 2014-12-11 10:22:09 +00:00
Ralf Becker
0b8ad9798c set default thumbnail size to 64px and fix IDE warnings 2014-12-11 09:57:31 +00:00
Hadi Nategh
e59e843707 Fix passing wrong context to egw.refresh 2014-12-10 13:33:42 +00:00
Hadi Nategh
0eb5418103 Call egw message on top window if not in popup and window is not equal to top window 2014-12-10 11:05:29 +00:00
Hadi Nategh
af05aa9471 Removes setMessage from framework, as egw_message handles all cases now, and bind click handler to dismiss the message when we create the element 2014-12-10 10:32:51 +00:00
Klaus Leithoff
e925742595 * API/CKEditor: upgrade to version 4.4.6 2014-12-09 14:55:06 +00:00
Ralf Becker
48b3ee0b10 extending jdots and pixelegg framework from new desktop framework, allowing pixelegg to overwrite iframe height calculation 2014-12-09 14:25:44 +00:00
Ralf Becker
4d80104403 allow to disable date widget with set_readonly on run-time 2014-12-02 17:19:13 +00:00
Hadi Nategh
90afd04015 Fix framework wrong window opener in openPopup 2014-12-02 11:18:12 +00:00
Hadi Nategh
e8056c388b Implement mobile framework popup resize 2014-12-01 17:38:52 +00:00
Ralf Becker
fa0a10a840 moving egw_openWindowCentered() to egw(window).openPopup() 2014-12-01 10:44:51 +00:00
Ralf Becker
493bc485f1 fix resize to work with zoom at least up to 125%, by calling resize a 2. time 2014-11-28 14:00:40 +00:00
Nathan Gray
bcc3499c4c Prevent tooltips from going off the side of popups 2014-11-27 17:38:37 +00:00
Ralf Becker
3f8acc1fd1 set opener as early as possible for framework popups 2014-11-27 17:34:06 +00:00
Hadi Nategh
7984f04078 Override window.close() with framework specific close function 2014-11-27 17:01:47 +00:00
Hadi Nategh
586656289d Fix taphold context menu popup 2014-11-27 16:57:57 +00:00
Ralf Becker
f17042b34d have to wait for script files to be loaded, before calling egw.link_handler or any other egw method 2014-11-26 18:37:36 +00:00
Ralf Becker
076b928d39 also switching to "internal" popups for mobile theme 2014-11-26 17:06:46 +00:00
Hadi Nategh
23d4e045f3 Call framework specific window opener if it is on mobile framework 2014-11-26 16:58:03 +00:00
Hadi Nategh
cfaae06d37 Add touchSwipe plugin for mobile template 2014-11-26 16:40:08 +00:00
Hadi Nategh
1e93cb8224 Add missing print function to the framework base 2014-11-26 08:40:42 +00:00
Ralf Becker
9e20212b3e * API: report failed Ajax requests to user incl. a hint that server error-log should contain more information 2014-11-21 16:16:24 +00:00
Nathan Gray
3ec33534dc Add a paste flag to get around mail's check for all rows selected to ignore current selection when pasting 2014-11-19 20:13:46 +00:00
Nathan Gray
103c0c73ad - Add flag to turn off auto-paste actions
- Turn off auto-paste actions when drop has multiple choices - paste is not valid during a real drop.
2014-11-19 17:59:16 +00:00
Ralf Becker
8aa71722ee clientside redirect ignore appname only for popups, not eg. iframes like in admin 2014-11-19 16:10:39 +00:00
Hadi Nategh
fd73f9fb21 Add refresh method to framework 2014-11-19 13:58:01 +00:00
Ralf Becker
5eeac7093c use filemanager UI as UI for sharing directories 2014-11-18 12:55:32 +00:00
Nathan Gray
cad253627b Integrate filemanager clipboard and new system clipboard 2014-11-17 23:57:15 +00:00
Hadi Nategh
eb2a814c0d Add mousewheel plugin to jquery library 2014-11-17 08:57:29 +00:00
Hadi Nategh
4ce9b93bb2 Activate the new structure of egw framework.
- jdots: egw_fw_ui and egw_fw are removed and replace with the new files fw_ui, and fw_jdots
- work in progress of mobile framework (Mobile framework is not activated yet)
2014-11-14 16:20:11 +00:00
Hadi Nategh
6d9969b050 Some W.I.P. of egw framework restructuring 2014-11-12 17:14:58 +00:00
Nathan Gray
95e343cb27 Drag & Drop support for [infolog] favorite to Home 2014-11-11 23:11:16 +00:00
Hadi Nategh
af83de8198 Work in progress of egw framework restructuring 2014-11-11 18:00:29 +00:00
Nathan Gray
0497818385 Include menu context in action so callback can find click location 2014-11-10 17:50:58 +00:00
Ralf Becker
df7025f879 allow app to specify "availHeight" for its popup height and keep that height in automatic resize, for OS (eg. Linux) does not report an availHeight < height, we subtract 100px 2014-11-10 10:41:23 +00:00
Nathan Gray
cbbb0bf39f Some WIP on getting home working again 2014-11-06 21:40:03 +00:00
Nathan Gray
8fab640449 Fake the drop position when pasting 2014-11-06 21:33:23 +00:00
Nathan Gray
0f516f9eb7 Add action to add to clipboard 2014-11-04 21:34:18 +00:00
Ralf Becker
8abbf0d20e fix can not access property type of null, stalling context menu on tree 2014-10-31 08:31:23 +00:00
Nathan Gray
6272b57088 * Context menu items to copy and paste for drag and drop actions
Copy action is enabled when there are drag actions defined.
Paste action is enabled when there are drop actions defined that match the clipboard context.
Current clipboard contents can be seen in the tooltip for the paste action.
2014-10-30 22:18:37 +00:00
Hadi Nategh
0d1a1c3f4a Adjust speed of double click trigger for taglist item modification 2014-10-30 11:55:22 +00:00
Ralf Becker
6c7c29316a making popup resize a bit more relyable by using an extra timeout and trigger it for every load, not just first one 2014-10-30 11:09:38 +00:00
Hadi Nategh
f55380b8d7 Mark all content of the item after double clicking to modify 2014-10-30 10:51:40 +00:00
Hadi Nategh
0429580f71 Replace taglist item edit trigger from edit botton to doubleclick 2014-10-30 09:45:49 +00:00
Hadi Nategh
5098baf538 Add item modification functionality to magicsuggest's selected items (Only if free entries is allowed) 2014-10-29 17:01:17 +00:00
Hadi Nategh
c555d52e0d Update magicsuggest plugin 2014-10-29 11:02:08 +00:00
Hadi Nategh
00136ae83b Not used plugin, but included 2014-10-29 11:00:22 +00:00
Ralf Becker
dc3948126b fix IDE warnings 2014-10-24 12:44:15 +00:00
Ralf Becker
247a8c5e87 text and German translations for drag-n-drop modifier hints 2014-10-24 12:19:16 +00:00
Hadi Nategh
981a0a1eb9 * All Applications: Get all drag and drop action functionality working cross platform
-Fix drag Out to desktop functionality with Command+Shift keys (for Mac) or Alt+Shift keys (for other platforms)
-Fix content selection functionality with Command key (for Mac only) or Ctrl key (for other platforms)
2014-10-24 11:15:33 +00:00
Hadi Nategh
1d3769939b Apply Ctrl+Alt keys in order to be able to distinguish between content selection and dnd for draggable actions 2014-10-23 16:23:25 +00:00
Hadi Nategh
fed76559fa Fix scrolling of content in iframes for touch devices (applied for iOS) 2014-10-23 13:44:40 +00:00
Hadi Nategh
f58cb571ef Fix indentation 2014-10-22 15:35:58 +00:00
Hadi Nategh
89a9c860e4 Set hold trigger timer to 600 milliseconds in order to popup the context menu faster for touch devices 2014-10-22 15:21:07 +00:00
Hadi Nategh
fb0059b796 Use jquery-tap-and-hold plugin for taphold event on touch devices 2014-10-22 15:12:48 +00:00
Hadi Nategh
510469e60b Implement to set proper lable for dragging item for the drag helper 2014-10-21 14:31:18 +00:00
Ralf Becker
af048109ee adding singular and plural name of app entries to link registry under "entry"/"entries" plus translations for apps which need them different from app-name 2014-10-21 13:51:37 +00:00
Hadi Nategh
549431fb73 Revert commit r49090, because it breaks special ctrl key and click handling in nm. Need more investigation to solve it 2014-10-21 13:35:19 +00:00
Hadi Nategh
c1c4b7c682 Replace the drag out trigger key from Ctrl (or Command key in Mac) to Shift key.
- Make Ctrl key as a standard dnd action disabling, and being able to select content by holding Ctrl key.
2014-10-21 11:48:25 +00:00
Hadi Nategh
23c0285825 Make sure the this object is avaliable before addressing it.
-Fix error in calender views which was happening after dnd
2014-10-21 08:58:33 +00:00
Hadi Nategh
10eb33cbdd Get drag out action working again 2014-10-20 15:03:31 +00:00
Hadi Nategh
96d9f14d12 More progress of commit r49059 2014-10-20 11:41:59 +00:00
Hadi Nategh
dae1ce6554 Work in progress, standardization of dnd action helper styling for all apps 2014-10-17 16:34:14 +00:00
Ralf Becker
2778b48273 fix popup detection to cope with window.opener being a reference to itself --> should NOT be detected as popup 2014-10-17 08:22:28 +00:00
Hadi Nategh
55b97699b6 Notify user of how to select content of a draggable item 2014-10-16 14:41:30 +00:00
Nathan Gray
5082d8a634 - Better popup resize calculations
- Test new popup size for addressbook
2014-10-15 15:52:07 +00:00
Ralf Becker
424b4c451c fix redirects in a popup and new egw_exception_redirect to be used in hooks/callbacks like for addressbook.edit to redirect to a different location 2014-10-15 14:55:08 +00:00
Ralf Becker
29cae75178 fix IDE warnings / documentation and move "use strict" from global scope to object itself 2014-10-09 09:34:24 +00:00
Ralf Becker
1c9a14159e * Mail: allow to enter name+mail eg. "Ralf Becker <rb@stylite.de>" in compose, automatic fix unquoted commas in entered mail addresses 2014-10-08 09:01:51 +00:00
Nathan Gray
7bcf736f09 Increase popup padding by 20x30 pixels 2014-10-07 23:26:25 +00:00
Hadi Nategh
3404c704a6 Make sure state object exists
-Fix error "Cannot read property 'sort' of undefined" for favorites without state
2014-10-02 09:06:15 +00:00
Nathan Gray
f8540288d8 Check that array entry is there before looking into it.
Prevents error when accessing deleted user.
2014-10-01 15:53:31 +00:00
Ralf Becker
d736d6cb4a fix typo 2014-10-01 10:37:30 +00:00
Ralf Becker
6be491d6eb stop egw.debug("error",...) to show error to user, if LOCAL_LOG_LEVEL=0, which we currently set in source 2014-10-01 10:34:50 +00:00
Ralf Becker
81f68e09d6 switching off Javascript error-handler and -display in GUI 2014-09-30 20:30:46 +00:00
Nathan Gray
70689708a3 Restore favorite's sort order along with filters 2014-09-26 19:15:50 +00:00
Ralf Becker
3093cb6b85 fixed not working refresh of user category list called via top-menu after adding/editing a category 2014-09-25 16:03:28 +00:00
Ralf Becker
a4d18fdce2 trigger blur on taglist in getValue() to not loose just typed content (previous fix stoped selection of suggestions by mouse) 2014-09-10 10:02:07 +00:00
Ralf Becker
c0877bdaef fix typing of an email-address in compose with direct click on send button (no tab out of taglist) looses just typed email 2014-09-09 11:42:16 +00:00
Ralf Becker
4d7f00d0fd nextmatch responses got cached for in meantime changed folder 2014-09-08 15:45:37 +00:00
Ralf Becker
414eeec511 fix javascript error caused by caching using a string context, searching now for a nextmatch one 2014-09-08 14:59:19 +00:00
Ralf Becker
951768885a when refreshing some uids in a nextmatch, we need to send nextmatch filters too, as server-side will merge old version of filters from initial request data otherwise
this can cause rows not to be returned because of different filters or search, or they are returned thought they should not
2014-09-05 09:32:44 +00:00
Ralf Becker
6ec9df222f fixed replay to first mail in newly refreshed or changed folder removes mail when sending
caused by eT exec_id got lost in call to egw.dataRefreshUID
2014-09-03 14:33:13 +00:00
Ralf Becker
6e831aaad9 docu update and fix IDE warnings 2014-09-03 08:11:59 +00:00
Hadi Nategh
220d314cf9 * Calendar: Fix sidebar calendar in pixelegg to not flicking while the mouse is over on dates, and gets expanded with sidebar column resize 2014-08-27 09:46:57 +00:00
Ralf Becker
28d195417c fix error happening in browsers not supporting console object 2014-08-21 08:12:31 +00:00
Nathan Gray
a09fae5f43 Data improvements:
- pass UID as additional parameter to data callbacks
- cache actual data separately from cached fetch response to avoid duplication
- use callbacks to keep localStorage data consistent with data in memory
- use callback to update cached fetch response if a record is removed (set to null)
2014-08-06 21:00:31 +00:00
Nathan Gray
f361373455 - Use timestamp to give cached dataFetch data a lifetime, currently 29 seconds.
- Add another callback for cache registration, called whenever the cache is used.
2014-08-04 17:04:11 +00:00
Hadi Nategh
671fec00d4 Delete accidentally added files by commit 47981 2014-08-04 14:12:02 +00:00
Hadi Nategh
22d6d80aae Add browser popup blocker checker for open_link method.
-Fix not poping up the emailadminWizard popup when an IMAP error occurrs, because of the browser blocks the popup.
2014-08-04 14:02:05 +00:00
Nathan Gray
ffb986f560 Handle if ID is not a string instead of erroring. 2014-07-28 23:11:22 +00:00
Nathan Gray
2fe7b34081 Smarter cache expiry based on age 2014-07-28 22:07:47 +00:00
Nathan Gray
df76846b37 Allow for long-term client side caching of dataFetch responses. 2014-07-28 21:17:06 +00:00
Hadi Nategh
5e8de7f972 Get the socialMedia icons out of table and append it to form if it is pixelegg template 2014-07-25 07:53:30 +00:00
Hadi Nategh
1912a14fe7 Add login.js to phpgwapi in order to make it available for all templates. Implement socialMedia for jdots and idots templates too 2014-07-24 17:13:46 +00:00
Ralf Becker
f337b33502 * eTemplate2: fixed popups eg. tracker open empty, not rendering popup content 2014-07-21 13:38:23 +00:00
Ralf Becker
9712e625db * Admin/API: remove no longer fully supported method to not "store session-id in cookie", it is the safer default anyway 2014-07-18 10:02:51 +00:00
Hadi Nategh
a2bac6e07a Make sure _with value is not null when trying to replace it into url, it causes broken url while using _replace argument from refresh_opener 2014-07-18 09:16:41 +00:00
Klaus Leithoff
430cba8991 * API/CKEditor: update to version 4.4.3; add additional skins 2014-07-18 07:56:43 +00:00
Ralf Becker
f49bbab26f fix an other CSP error, caused by json-responses send eg. from get_rows method on a GET request, filemanager opened in iframe from tracker 2014-07-17 17:26:00 +00:00
Nathan Gray
9f9f5184fc If selected egwActionObject(s) contain data, use that over global data store. 2014-07-14 20:29:42 +00:00
Nathan Gray
8a36e40b10 Call applyFilters() function instead of setting directly, which skipped change detection.
Fixes selection not cleared when applying a favorite.
2014-07-14 09:59:02 +00:00
Ralf Becker
017ffe5e15 fixed javascript error "undefined attribute length" 2014-07-08 14:26:15 +00:00
Nathan Gray
a3a1d500ee set_preference now accepts an additional callback parameter, passed on to jsonq 2014-07-08 03:34:05 +00:00
Nathan Gray
08c10a70aa Update Resumable from github, fixes some problems with setting et2_file value to a list of files in firefox. 2014-07-07 20:26:48 +00:00
Ralf Becker
d399e01ce8 new client-side API methods egw.dataSearchUIDs() and egw.dataRefreshUIDs() search for a given uid or regular expression and refreshing matching nextmatch rows, if somethings found 2014-07-04 08:55:37 +00:00
Ralf Becker
23cbc01e2c activating observer for admin instead of app_refresh and using it to invalidate client-side account-cache 2014-06-26 08:23:02 +00:00
Ralf Becker
d4bb8a00a9 move et2_call method to egw.js to have it always available at window scope (it is NOT et2 specific), maybe we find a better/nicer place for it 2014-06-23 08:10:40 +00:00
Ralf Becker
ff00c695ca new API method egw_framework::popup($link, $target="_blank", $popup="640x480") to open a popup independent of running a regular or a JSON request 2014-06-18 13:57:15 +00:00
Nathan Gray
715bbf9abe If a refresh of a particular UID is requested and server doesn't give it then remove it.
Fixes refresh where the row no longer match filters, but is still there.
2014-06-17 19:23:14 +00:00
Nathan Gray
2bc3ad43c0 Avoid undefined error when links is not provided 2014-06-10 15:27:11 +00:00
Ralf Becker
6d6e9d8a43 also replace p tags 2014-06-05 09:54:21 +00:00
Ralf Becker
90214935be reapplied r42638: Add a global ajax callback so the et2 widget can stay in sync with the dhtmlxtree 2014-06-03 08:56:14 +00:00
Ralf Becker
d9c9e06aad reapplied r41681: fixed event handling in tree, added tree specific onSelect and onCheck events, implemented !multiple mode and fixed dhtmlxtree to not trigger onSelect if selection is change via set_value (according to their documentation) 2014-06-03 08:54:46 +00:00
Ralf Becker
85c5468013 fixed old tree stuff to use new dhtmlx locations, allways use dhtmlxtree/codebase/dhtmlxcommon.js 2014-06-03 08:17:43 +00:00
Nathan Gray
3b8bee4d18 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:32:15 +00:00
Nathan Gray
4b1fc627c4 Update dhtmlxTree & dhtmlMenu to latest version 2014-06-02 23:31:30 +00:00
Nathan Gray
07ec496a8e Decode stored favorite before parsing it, fixes missing umlauts 2014-05-27 18:52:44 +00:00
Nathan Gray
eaccfdfe1d Enhance error message to include request info 2014-05-27 14:53:34 +00:00
Ralf Becker
ddc17e8e0d allow null as well as undefined for message-type-detection 2014-05-26 15:39:21 +00:00
Ralf Becker
28b45639be to give observer method of other apps more information about what to refresh, server-side adds now links to refresh-opener and therefore observer calls 2014-05-26 13:29:35 +00:00
Ralf Becker
b1603f4fd3 support <br/> and a single <a href="...">Text</a> (no further attributes!) in egw.message() 2014-05-26 13:05:40 +00:00
Ralf Becker
ddc1b2d673 docu update about how to stop regular refresh 2014-05-23 09:20:42 +00:00
Ralf Becker
7edd12d251 run observers in main window (eg. not iframe, which might be opener!) 2014-05-23 09:19:46 +00:00
Ralf Becker
24ee68bdf2 fixed infinit loop for apps running in iframe by refactoring frameworked templates work with client-side api:
- moved shared etemplate2 part into static etemplate2.app_refresh() method
- egw_message.refresh() calls framework.refresh() which can return a DOMwindow for egw.refresh() to work on, instead of calling egw.refresh recursive
2014-05-23 08:21:11 +00:00
Ralf Becker
893091e286 - new app.js observer method which receives update notifications from all apps
- app.infolog.observer triggering refresh of InfoLog list, when a timesheet get stored
- moved code of already deprecated egw_refresh() to egw.refresh() and changed etemplate to use that
- framework from jdots/pixelegg template no longer overwrites window.egw_refresh, but egw.refresh calls framework.refresh for regular refreshs if framework is present
2014-05-22 15:29:14 +00:00
Hadi Nategh
b3ee7bc605 Make sure if the refresh is done, then give up not to reload the whole page 2014-05-22 11:27:29 +00:00
Nathan Gray
33f264346a Fix error deleting a favorite 2014-05-13 21:39:23 +00:00
Ralf Becker
19fc7acb7f top.egw is a function not an object 2014-05-13 08:48:27 +00:00
Ralf Becker
ac220a6e82 using egw.is_popup() which deals with situation of egw main-window having an opener (eg. bookmark) 2014-05-13 06:44:50 +00:00
Nathan Gray
9a8182480f Stop popups from re-initializing sidebox. Fixes favorites causing whole application to reload after saving a popup. 2014-05-12 20:36:18 +00:00
Ralf Becker
194606b196 public method to translate between PHP and jQuery date(Time)Picker date/time-format 2014-05-08 15:57:07 +00:00
Ralf Becker
b111f5005b fixed select-accounts show only part of users, caused by previously trying to extend now used array 2014-05-07 15:51:45 +00:00
Nathan Gray
61198e3684 Update gantt code 2014-04-30 20:24:50 +00:00
Nathan Gray
140a0746d1 Make sure top actually has app before calling it.
Fixes error in calendar where non-list views are still in an iframe, but top window has no app.js
2014-04-30 16:25:05 +00:00
Nathan Gray
4d016169e7 Precautions for iframes + sidebox
- Unbind any existing events on existing sidebox, if _init_sidebox() is called again
- Only call _init_sidebox() on top-level window's app.js, fixes some iframe issues with admin
2014-04-29 16:51:57 +00:00
Nathan Gray
5c19f99d9d Remove no longer needed AJAX call for groups, API now provides them directly to the widget 2014-04-29 16:15:23 +00:00
Nathan Gray
178fa34031 Implement action system state for trees 2014-04-28 23:11:58 +00:00
Nathan Gray
21e5eb79dd Fix bug where if no additional apps were requested, no translation was done.
Was visible in ACL edit dialog.
2014-04-28 16:17:41 +00:00
Hadi Nategh
c912849bd5 Apply favorites sortable feature to sidebox fav. menu 2014-04-25 07:37:11 +00:00
Nathan Gray
62686e4b2a Enhancement to r45442 so search options provided as a list are still filtered, but server response is accepted unfiltered.
Fixes search options provided as a static list were not being filtered.
2014-04-23 21:42:22 +00:00
Nathan Gray
48fa6611f3 Use a single client-side cache for account selection so we don't have to send it for every widget 2014-04-23 19:00:59 +00:00
Nathan Gray
c4f56f2c3b New dhtmlxGantt library, and etemplate2 widget to use it (work in progress) 2014-04-16 19:47:29 +00:00
Ralf Becker
554789e9ff 2 new message types "help" and "info" and displaying now all message types but "success" until next message or user explicitly closes them 2014-04-02 19:02:49 +00:00
Nathan Gray
d3c0314b4d Switch AJAX upload library to Resumable for chunked uploads. 2014-04-01 20:48:40 +00:00
Ralf Becker
6fdf8c98d1 open preferences and ACL in a popup (ACL still needs a little more work: use et2_dialog to add/edit instead of an other popup) 2014-04-01 15:49:08 +00:00
Ralf Becker
d28583a3a4 fix Array has no method match, if egw_framework::message() is called in GET request 2014-04-01 14:16:11 +00:00
Ralf Becker
13ad291696 need to init apps too 2014-03-28 13:15:11 +00:00
Ralf Becker
115aabf21a fixed error because using (by loading order sometimes) uninitialised class-variable instead of documented and initialies private var 2014-03-28 08:06:30 +00:00
Nathan Gray
e7fd500006 Store the jQuery jqXHR request object in the json_request, and return it from sendRequest() so caller can access it, if needed. 2014-03-26 17:53:09 +00:00
Ralf Becker
a4b27d286d * FireFox/all apps: fixed in recent FF version popups opened always in a single popup (overwritting previous opened one) 2014-03-26 10:32:17 +00:00
Ralf Becker
7d7436e54b fixed javascript errors happening if config was not loaded 2014-03-25 12:23:06 +00:00
Ralf Becker
fcc1737036 fixed error when filename included non-ascii chars (eg. German umlauts) and added a header with information about author and Github url 2014-03-21 17:11:18 +00:00
Ralf Becker
ac18b6cc8d changed et2_core_inheritance.js to implement ClassWithAttributes extending Class from egw_inheritance and changed et2 objects to use ClassWithAttributes when required (also fixed lots of IDE warnings / added docu) 2014-03-20 09:40:37 +00:00
Nathan Gray
aa3c0ca7c0 Pass along last modification time to callback 2014-03-18 22:28:50 +00:00
Nathan Gray
53f0873583 Avoid initial request to server on creation 2014-03-18 14:51:33 +00:00
Ralf Becker
f47e38f320 wrong window was used when compiling list of already included scripts or css files, fixes missing css styles for context menu in popups (list of links) 2014-03-13 15:28:42 +00:00
Ralf Becker
2a34b88111 fixed not working referesh of ACL list 2014-03-12 13:14:23 +00:00
Nathan Gray
26eaf7e1fe Add a isDefault flag to allow changing default execution function 2014-03-11 16:25:18 +00:00
Ralf Becker
086195c0aa stop event propagation after calling setState, fixes "double sidebox" in CRM view, if called via a favorite (caused 2 identical requests to server, which both added their sidebox) 2014-03-11 08:16:52 +00:00
Hadi Nategh
96a6a7ee1a Adjust width for resized popup windows, since we are trying to use fix width for edit popups 2014-03-10 16:04:01 +00:00
Ralf Becker
79e1b5c9b8 fixed CSP error for multiple eTemplate2s (CRM view), by allways sending etemplate data via et2_container tag (instead etemplate script tag) and create an et2 object for all of them in egw.js 2014-03-10 11:58:49 +00:00
Ralf Becker
ea04a556ca added a couple more default icons similar to et2_button, and fixed actions with just a caption string where not working with toolbar 2014-03-06 18:33:27 +00:00
Stefan Reinhardt
4da2182c14 delete: font-family + font-size 2014-03-05 17:03:46 +00:00
Ralf Becker
a7251c13ed using new css class "drop-hover" for hovering over egw_action dropables and no longer any activeClass showing possible drop targets 2014-03-05 12:31:32 +00:00
Ralf Becker
97a5a41867 fix typo 2014-03-04 12:20:26 +00:00
Ralf Becker
04442bb0cf move actions stuff to api bundle, as loading just it fails with etemplate bundle split in two parts (fixes error reported on devel list) 2014-03-04 09:10:58 +00:00
Nathan Gray
6b86eb9c0f For the purposes of keyhandling, consider textareas & buttons inputs too 2014-03-03 19:00:25 +00:00
Nathan Gray
e9b5dfde4d Bind key handler to save favorite on Enter 2014-03-03 18:51:58 +00:00
Ralf Becker
11d77f3dab fixed a couple of problems with automatic switch to idots template from mobile browsers: csp-error, wrong icons 2014-03-03 17:35:48 +00:00
Nathan Gray
3b15036ce8 Add a check for select_all action, and use it if there.
Fixes Ctrl+A only selected visible nextmatch rows.
2014-02-27 23:06:27 +00:00
Ralf Becker
1ae9925cd5 removed .on("mouse(enter|leave)" (wrapping trash icon), as it stalls delete of favorites in IE11 2014-02-26 15:44:00 +00:00
Nathan Gray
56ac3577f0 Revert r45738, it broke mouse selection.
Now users have to actually select the address before clicking send
2014-02-25 22:50:30 +00:00
Ralf Becker
71d685ef9d updating jQuery to 1.11.0 and jQuery-UI to 1.10.4, seems to fix some IE 11 problems 2014-02-25 17:18:02 +00:00
Ralf Becker
b4a0a18de6 fixing wired IE11 errors ... 2014-02-25 17:16:42 +00:00
Ralf Becker
81818d2bbd fixing wired IE errors: need to clone data in set_preferences, as it gets cleaned up in IE 2014-02-25 17:05:16 +00:00
Nathan Gray
4591fa6e21 Fix TypeError: Cannot call method 'css' of undefined
Fixes blank infolog popup, timesheet index
2014-02-25 16:31:06 +00:00
Ralf Becker
e5aa97e2a0 fix IDE warnings 2014-02-25 16:03:12 +00:00
Ralf Becker
8181772025 do NOT initialise imediatly, as DOM is not yet ready (at least in IE11) 2014-02-25 16:02:46 +00:00
Ralf Becker
58b6cb3bc6 fixed tons of IDE warnings 2014-02-25 15:03:13 +00:00
Ralf Becker
589a6e2e96 fixed not working hideOnDisabled when building popup menu for multiple drop actions, also fixed tons of IDE warnings 2014-02-25 15:02:49 +00:00
Ralf Becker
308dfdadc7 allow to already use egw.refresh() instead of egw_refresh() and added todo to move code 2014-02-25 09:46:05 +00:00
Ralf Becker
2f3add4ce9 hook to allow apps to add addional domains to CSP frame-src, eg. used by sitemgr to allow access to its sites, also fixed not displayed sidebox menu of old apps 2014-02-21 17:06:11 +00:00
Ralf Becker
796663c2a6 fixed modified translations were not automatic loaded after new login 2014-02-21 11:10:11 +00:00
Ralf Becker
530ebec63f fixed not translated time-labels in datetime picker 2014-02-19 16:40:56 +00:00
Ralf Becker
b692346cce several IE11 fixes avoiding or working around javascript errors 2014-02-19 15:10:39 +00:00
Ralf Becker
bd941f3601 allow to send a redirect from server-side via client-side egw.link_handler(url, app) allowing to specify which tab to use and a top-level (ajax=true) url 2014-02-19 15:08:38 +00:00
Ralf Becker
668bec020b fix display and logging of javascript errors for IE 2014-02-18 17:05:26 +00:00
Ralf Becker
186bdbcb55 running categories and acl in iframe again. If they run top-level their admin/js/app.js objects conflict with other top-level admin/js/app.js object and only one working categories or acl tab can be opened 2014-02-17 15:11:26 +00:00
Ralf Becker
d01d5119ca calling app[appname].et2_ready(et2,name) with template name as second parameter 2014-02-17 14:58:20 +00:00
Ralf Becker
0fa215c9e8 fixed sometimes not deletable favorites 2014-02-14 12:46:49 +00:00
Nathan Gray
bad65780bc Register a JSON handler to show error responses as error message instead of losing them. 2014-02-13 18:47:19 +00:00
Ralf Becker
af1e70ab32 fixed javascript error, if favorite has no href AND make sure all new favorites are created with an href, like they are created server-side 2014-02-13 16:50:49 +00:00
Ralf Becker
3a5ece79a7 fixed creating or deleting favorites in calendar does not work: was caused by sidebox not initialised as not yet loaded, now calling _init_sidebox from framework, also need to add a click handler for favorites as initialising sidebox removes one installed from template 2014-02-13 15:37:49 +00:00
Nathan Gray
96e44c018f Fix bug where loss of focus from clicking on a button did not trigger blur in time.
Fixes typing an email address & clicking send does not enter address into to field
2014-02-12 23:32:56 +00:00
Nathan Gray
614736e4e3 Handle lost bar position by reverting to 50%, same as too close to edge 2014-02-12 22:51:55 +00:00
Ralf Becker
f0d7751496 removed caret from group favorites, fixed prefered favorite was not show correct initialy nor updated 2014-02-12 21:51:25 +00:00
Ralf Becker
4a7c0204a0 fixed just added favorite can NOT be used as default for dropdown button (gave alert "No default set") 2014-02-12 20:55:10 +00:00
Ralf Becker
75316761b2 added FF name 2014-02-12 18:40:01 +00:00
Nathan Gray
1ca01da9b0 Fix missing group ID when deleting group favorites, fixes unable to delete group favorites 2014-02-12 17:33:22 +00:00
Ralf Becker
17b8bfcc95 fixed javascript error "max is undefined" 2014-02-12 16:36:51 +00:00
Ralf Becker
22b66c9e3d fix javascript error when clicking on a group favorite (state.state is undefined) 2014-02-12 11:23:04 +00:00
Ralf Becker
3ec6ffe264 deal with situation that storage quota on html5 localstorage is exceeded:
- browser/user can limit quota, we then get an exception which must NOT stall EGroupware!
- we set a smaller MAX_LOGS of 200 instead of current 1000
- if currently more log items stored OR if exception.name=="QuotaExceededError" we clear whole log (trying to clear old limit of 1000 messages)
2014-02-12 10:38:39 +00:00
Ralf Becker
af0876708f reverting fix deprecated warning returnValue use preventDefault() in jquery 2014-02-12 08:17:47 +00:00
Klaus Leithoff
85e844fd9b fix deprecated warning returnValue use preventDefault() 2014-02-12 08:10:58 +00:00
Ralf Becker
ea9e2569bc fixed not working multiple account trigger after changing html::submit_button() from <input type="submit" to <button 2014-02-11 16:42:02 +00:00
Ralf Becker
a639b42222 translate calendar/timepicker on demand, works around not working call with ready in popup, fixes javascript error when doubleclick a mail 2014-02-11 15:17:43 +00:00
Ralf Becker
195c63a9d3 fixed "undefined is not a function" error originating from egw_message, because jQuery not loaded, when egw_message get initialised 2014-02-10 16:10:01 +00:00
Ralf Becker
9bfc082843 fix not opening infolog popup 2014-02-10 11:49:27 +00:00
Ralf Becker
061a1a07f2 fixed popup detection to deal with main EGw window opened with an opener from a different security context, also made is_popup() a global egw method 2014-02-10 11:21:58 +00:00
Ralf Becker
12666f0f53 fiddeling around with re-throwing event caught by global error-handler 2014-02-10 09:18:08 +00:00
Ralf Becker
1f599abaf6 fix exception for not found image / null passed 2014-02-10 09:16:18 +00:00
Ralf Becker
ca334ad13b moving egw_preferences (handler to call preferenes, acl or categories) from jsapi.js to egw_preferences.js show_preferences() method 2014-02-07 14:04:12 +00:00
Ralf Becker
d90faa7dcc fixed app-header show in wrong tab, caused by framework object being created AFTER egw 2014-02-07 09:11:30 +00:00
Nathan Gray
444d82d1c7 -Unencode favorite search, firefox leaves encoded spaces
-If adding a favorite with same name as existing favorite, old one is removed from the sidebox.
2014-02-06 17:53:29 +00:00
Ralf Becker
b13a7eefb8 calling egw.message() without or with empty argument clears message, installed click handler to hide message and also check for translation of "error" to determine unspecified type 2014-02-06 17:24:40 +00:00
Ralf Becker
6a8802fc35 move egw_(message|app_header) from jsapi.js to egw_message.js available as egw(window).message(_msg, _type) and make it usable in popups too 2014-02-06 15:42:33 +00:00
Nathan Gray
1cb3ac1111 Fix groups in add favorite popup:
- missing options for selectbox
 - saving for group wouldn't work
2014-02-06 00:30:03 +00:00
Nathan Gray
2ece0f771f Use ajax flag to load acl into div, not iframe 2014-02-05 22:39:00 +00:00
Nathan Gray
c771f2fc80 Make sure group is there before trying to set its value 2014-02-05 20:53:08 +00:00
Ralf Becker
4c2e29f960 more styling of calendar edit 2014-02-05 10:04:13 +00:00
Ralf Becker
b8aa28c055 fixed error if argument was a widget, using jQuery.extend instead not existing clone() 2014-02-03 09:59:30 +00:00
Nathan Gray
5f4f8f99fd Don't require literal search text to be in results - if server returns it, present it to user 2014-01-29 17:32:32 +00:00
Ralf Becker
48679c3e6c update timepicker to (unnamed) version from Nov. 2013 2014-01-29 13:15:38 +00:00
Ralf Becker
a659b49f51 silently fix skiped minutes or times with just one digit, as parser is quite pedantic ;-) 2014-01-29 13:10:31 +00:00
Hadi Nategh
fbccbb87a3 Fix wrong styling in egw_tail log 2014-01-28 08:33:28 +00:00
Ralf Becker
99ce5b41f9 allow to optionally specify app for redirect instead of always using current app 2014-01-27 16:28:39 +00:00
Hadi Nategh
ea20648d39 Remove inline-scripts from egw_tail. Additionally, add a new library to jsapi related to egw_tail 2014-01-27 14:29:24 +00:00
Ralf Becker
f0710fbecb fixed et2_dialog static methods like confirm did not show translations: injecting an egw object with loaded translations for current app 2014-01-23 10:52:44 +00:00
Ralf Becker
a788827c1e check if json apply needs a not yet instanciated app.js object and instanciate it in that case 2014-01-23 09:03:30 +00:00
Nathan Gray
e103145a53 Fix JSON to call callback even if server does not return anything in particular. 2014-01-22 09:30:22 +00:00
Ralf Becker
58e13743fc make local storage more robust (deal with gaps) 2014-01-21 15:09:06 +00:00
Ralf Becker
93ae56a9f2 catch exception about circular reference in JSON.stringify, try fixing object by unsetting _parent&_children and if that does not work the whole argument 2014-01-21 11:23:26 +00:00
Nathan Gray
95b51fefea Some UI for client error log, log egw.open() calls 2014-01-21 09:21:46 +00:00
Ralf Becker
658b773dc1 fixed an ide warning 2014-01-20 15:25:43 +00:00
Ralf Becker
595d2a23bf first step of a javascript error notifier and clientside log 2014-01-20 15:23:40 +00:00
Nathan Gray
e276a14be1 Make sure to copy registry settings, not use reference
Fixes mail compose always filling address
2014-01-20 09:48:17 +00:00
Ralf Becker
5a8b145b7f fixed caching in a couple of places:
- user.php was not reloaded if (session-)preferences changed eg. language via select-box in login, because we used Expires header, but did not force a different url
- (user|config|images).php now has etag on url, to force reload by browser as we use an Expires header (changed images still need Admin >> clear cache to rebuild image cache)
- preferences are now loaded via a cachable GET request
2014-01-18 17:43:15 +00:00