Commit Graph

215 Commits

Author SHA1 Message Date
Ralf Becker
436fe041e0 switching svg images off for everything but application icons in Stylite or Pixelegg template 2014-02-11 14:41:17 +00:00
Ralf Becker
a4c1c5ad72 include addressbook preferences in user.php, as some et2 widgets need this prefs and we dont want to block until they are loaded 2014-02-11 12:48:20 +00:00
Ralf Becker
6d17e87b0a use egw_json_response::call() instead of deprecated script() 2014-02-11 12:16:16 +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
d40025f732 allow to specify app for redirects (for Stylite or Pixelegg template) 2014-01-28 11:00:39 +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
Ralf Becker
bcba09973f pass an id to _add_topmenu_info_item, so templates can use that to generate an id for each div 2014-01-17 09:23:23 +00:00
Ralf Becker
699b614ac1 re-adding cache buster to javascript urls, if debug_minify=True 2014-01-14 17:59:33 +00:00
Nathan Gray
71f0fcdda0 Implement refresh type 'update' to _only_ update the data of a row - sorting is not considered, so make sure to use 'edit' if sorting might be affected. 2014-01-13 09:40:23 +00:00
Ralf Becker
8c9034b3e9 using now 3 minified and concatinated javascript file-bundles:
1. api: egw, jquery, old jsapi and egw_json plus its dependences
2. et2: etemplate2.js plus dependencies
3. jdots: files from Stylite or new pixelegg template
all other javascript files are loaded on there own. 
Bundle-configuration is dynamicly created and cached.
EGw configuration allows to disable minifying and concatination of javascript and css files for deverloping purpose
or to just concatinate but not minify them aka "debug".
2014-01-11 18:49:51 +00:00
Ralf Becker
3fe9c78c26 do NOT load egw.js a second time via minifyier 2014-01-10 16:58:50 +00:00
Ralf Becker
e3dc74eef6 enabling minifying of javascript again and added new option to debug concatination by setting debug flag for minify 2014-01-10 16:08:13 +00:00
Ralf Becker
90edb55ec5 add async include and et2 render times to page-generation-times shown 2014-01-09 12:20:13 +00:00
Hadi Nategh
1d14ecc80f Remove "drag-and-drop" and "IE dropdownmenu hack" from the common preferences 2013-12-19 10:19:14 +00:00
Nathan Gray
9bb37f5ca0 Add IDs to topmenu items 2013-12-17 20:21:48 +00:00
Nathan Gray
a79f7b87a6 Continue moving most favorite functionality from favorite widget into framework. Favorite widget now uses framework. 2013-12-12 23:45:09 +00:00
Ralf Becker
01adf460f3 silently upgrade old calendar favorites 2013-12-12 22:25:56 +00:00
Nathan Gray
0d3a7b73cf Reorder CSS inclusion so theme can override jQuery-UI
eTemplate2 does it right automatically, but it also needs to be done in framework, because framework included etemplate2.css
2013-12-12 18:03:23 +00:00
Ralf Becker
2de3cdb780 fix encoding of favorites, so they can eg. contain single quotes 2013-12-12 02:40:31 +00:00
Nathan Gray
72c37e0849 non-et2 Favorites work in progress
Handle states that are id_data objects for egw.open()
2013-12-06 23:12:05 +00:00
Nathan Gray
d097a0bfa1 non-et2 Favorites work in progress
New states now added to list immediately, can delete states
2013-12-06 21:26:55 +00:00
Nathan Gray
79498c5ae5 non-et2 Favorites work in progress
Can now save & restore state.  Still some UI needed, not fully integrated with et2 favorites.
2013-12-06 18:24:29 +00:00
Nathan Gray
cfefedc8f7 non-et2 Favorites work in progress
Add current link shows popup with state details.
2013-12-05 23:22:54 +00:00
Ralf Becker
9cba54fb63 calendar state handling via set/getState methods in calendar app.js 2013-12-04 23:28:31 +00:00
Ralf Becker
5dc6ae9728 remove inline script from login page: using html5 autofocus, instead of inline focus() and no chosen 2013-11-18 16:40:51 +00:00
Ralf Becker
2a52826ad2 loading jquery.js for login screen too 2013-11-18 16:23:12 +00:00
Ralf Becker
82d3ac1d2e fixed not working close of popups after handler change 2013-11-15 13:03:09 +00:00
Ralf Becker
9643d31dd1 loading template/theme and print css last, so they can overwrite anything 2013-11-14 16:23:50 +00:00
Ralf Becker
74dd9f0e02 allow templates packed as apps to replace login screen template by setting it as default template (without setting it in header.inc.php) 2013-11-14 13:52:50 +00:00
Ralf Becker
6e76361736 open all sidebox admin link in admin vi admin.admin_ui.index loader 2013-10-15 16:53:43 +00:00
Ralf Becker
b0219a682f reverted accidently commited phpgwapi changes 2013-10-15 09:36:23 +00:00
Ralf Becker
0ca55a1103 * SiteMgr: fixed not working anonymous user and using now a random password 2013-10-15 09:25:49 +00:00
Ralf Becker
38504680b7 setting CSP attributes needed by CKeditor now automatic when egw_ckeditor_config::get_ckeditor_config(_array) get called 2013-10-14 10:42:36 +00:00
Ralf Becker
43e1bfcc12 switching on Content-Security-Policy: script-src 'self' 'unsafe-eval' for all templates, old non-et2 apps can call egw_framework::csp_script_src_attrs('unsafe-inline') to enable inline scripts in their scope, et2 does it for CK editor which does not support CSP currently and old etemplate does it for all apps using it 2013-10-05 13:33:28 +00:00
Ralf Becker
f8a0db06fc completly remove preferences menu from sidebox and tiled preferences index in favoir of app-sensitive entries in top-menu 2013-10-03 09:23:18 +00:00
Ralf Becker
6f162f144e add context sensitive link to ACL/grant access to top-menu, same is to be happen for cats and preferences itself and preferences in sidebox will be removed 2013-10-02 16:29:08 +00:00
Ralf Becker
1590d02816 new egw_framework::message($msg, $msg_type="success") method and fixing nextmatch filter-change to return app-header 2013-09-05 11:53:25 +00:00
Ralf Becker
aa8a848871 optional parameter for egw_framework::window_close() to specify an alert message, which get shown/alerted, before closing the window 2013-08-26 10:24:11 +00:00
Ralf Becker
b2ba685edd remove inline javascript from idots and jerryr templates 2013-08-21 20:22:53 +00:00
Ralf Becker
73aa652c41 missing egw.js from last commit and egw_framework::window_focus() method 2013-08-20 13:25:36 +00:00
Ralf Becker
1c4f65120c new egw_framework methods refresh_opener and window_close to call egw_refresh on opener or close popup window in a content security save way 2013-08-20 12:06:41 +00:00
Ralf Becker
8ce9969ece we need to double encode (html::htmlspecialchars( , TRUE)), as otherwise we get invalid json, eg. for quotes, fixes not working display in filemanager for some directories containing directories with quotes in their name 2013-08-01 06:36:18 +00:00
Ralf Becker
8ec5425c5a disable minify-ing of javascript, until I find time to fix it, as it stalls testers (css still get minifyed, if debug minify is off in site config) 2013-07-24 07:42:27 +00:00
Ralf Becker
16191d4db4 rendering quick-add menu on clientside and content-security safe, thought not yet in idots template, also removed not used inline javascript from idots 2013-07-22 19:20:13 +00:00
Ralf Becker
4ed52a2b16 get notifications-popup ready for content-security, install as object in app.notifications and use data-poll-intervall of script tag to pass poll frequency 2013-07-22 13:29:20 +00:00
Nathan Gray
67d6775f54 Use htmlspecialchars to escape data-attributes 2013-07-19 18:03:47 +00:00
Ralf Becker
5e3c0192d3 $extra parameter for framework->header() 2013-07-19 17:07:05 +00:00
Ralf Becker
f55a668bdf include user-data and common prefs like we already do it with eg. server config 2013-07-19 15:22:00 +00:00
Ralf Becker
d16c426fb6 first step towards content-security by passing parameters to egw.js script via data-attributes of script tag instead of using inline scripts in page 2013-07-19 08:45:26 +00:00
Ralf Becker
792f1b26cc replacing egw.LAB with egw_LAB, as egw object is shared by all iframes and popups, while LAB has to work on document 2013-07-17 12:47:21 +00:00
Ralf Becker
a23205060b use new eTemplate preferences 2013-05-10 16:39:42 +00:00
Ralf Becker
ad4776c78e allways using filemtime for timestamps appended to urls to force loading of current version, as mixed use of file{c,m}time causes wired errors due to double loading eg. on OS X where they are different 2013-04-13 07:17:36 +00:00
Ralf Becker
a1d90ea237 get regexp to play nice with opening script tag without attributes 2013-04-09 12:47:44 +00:00
Ralf Becker
6e28933f18 missing onLoad attibute in body tag, causing all sorts of things to fail 2013-04-02 08:13:37 +00:00
Nathan Gray
a20f7651a0 Wrap some more js 2013-04-01 22:19:10 +00:00
Nathan Gray
ef2a5d377d Use LABjs throughout framework to load javascript - prevents a lot of undefined / timing errors 2013-04-01 19:14:52 +00:00
Nathan Gray
68529ce692 Load et2 CSS in at the top level so it's available for sidebox 2013-03-12 22:45:58 +00:00
Ralf Becker
52ea94cbee using LABjs to load javascript files in order via egw.includeJS 2013-02-15 15:30:35 +00:00
Ralf Becker
5f1c76ae91 refactored js loading a bit, to be able to get files to load for et2 2013-02-13 16:28:39 +00:00
Nathan Gray
f72a582532 Use chosen plugin for to get fancy selectboxes. Selectboxes with more than 12 options get it turned on automatically 2012-11-12 19:29:23 +00:00
Ralf Becker
f7cc51ad18 do NOT minify ckeditor, as it breaks it (it is already minifyed anyway) 2012-10-26 10:00:05 +00:00
Ralf Becker
18fe5c1d4b fixed minify issues: installation in docroot is now handeled, as well as problems with jscalendar and email 2012-10-26 09:24:39 +00:00
Ralf Becker
b6a2d9591f koping with EGroupware installed direct in docroot (webserver_url "", "/" or "http(s)://domain.com/") 2012-10-24 06:27:56 +00:00
Ralf Becker
6996efe50b use minify on javascript files: for now minify does NOT support query parameters, nor php files generating javascript, therefore these are excluded 2012-10-15 17:22:44 +00:00
Ralf Becker
4e8f54268c fix for typo: path_url --> parse_url 2012-10-15 06:51:54 +00:00
Ralf Becker
71ec92a777 cache, concat and minify all css resources to speed up requests, javascript files planned too 2012-10-14 19:38:32 +00:00
Ralf Becker
5100dfcc71 * Password: fixed not working check, if user has right to change password, causing password link in topmenu to be displayed when not in preferences app 2012-06-29 07:14:46 +00:00
Ralf Becker
3e4ef81080 load wz_tooltips only if required: $GLOBALS[egw_info][flags][include_wz_tooltip] set or html::tooltip() called before calling common::egw_header(), calling header again as end of home page to allow apps to load stuff into the header (not only wz_tooltip) 2012-04-04 13:05:58 +00:00
Andreas Stöckel
c525cadcdb Reverted accidently made commit for class.egw_framework.inc.php 2012-03-23 13:43:20 +00:00
Andreas Stöckel
eadeb57f28 Fixed problem with registered data callbacks, when the window the callback belongs to is closed 2012-03-23 13:39:27 +00:00
Klaus Leithoff
3abeb7c464 add onbeforeunload as action 2012-03-21 08:25:17 +00:00
Andreas Stöckel
dc017ed889 Now again using a local etemplate2 instance on the client 2012-03-12 12:05:14 +00:00
Andreas Stöckel
d486e50a57 phpgwapi:
* Changed way of how "webserverUrl" gets set - any type of data can now be
	  injected into the egw object by creating an object with the data and an
	  entry "prefsOnly" set to true. This allows to ensure, that "webserverUrl"
	  is the first thing that is being set in the egw object (as needed when
	  including new JS/CSS files at runtime)

jsapi:
	* Fixed including JS/CSS files at runtime in other windows than the root
	  window
	* Added "ready" function/module, which provides an alternative to the
	  $j("ready") function. The ready module provides the functionality to
	  postpone calling the "ready" until certain events happened.
	* using jQuery calendar object instead of jscalendar in the calendar
	  function.
	* added "jquery" module which takes care of including all jQuery modules
	  in all windows
	* added possibility for modules to update constants using the "constant"
	  function.
	* added possibility for modules to access certain other modules using
	  the "module" function

etemplate:
	* Using new egw(window).ready function to build the template first if
	  loading has finished.
2012-03-09 15:32:29 +00:00
Andreas Stöckel
df06f6657c Now always including egw and etemplate2 javascript code if we are in the top window 2012-03-08 14:05:00 +00:00
Ralf Becker
000b74bded framework->isTop($consider_navbar_not_yet_called_as_true=true): true if we are rendering the top-level EGroupware window 2012-03-07 08:45:57 +00:00
Ralf Becker
f676a23821 fixes for PHP 5.4 warnings and strict warnings, thought disabled E_STRICT for now, because of various strict warnings in working code, which could not be easy fixed in all areas (see comment in phpgwapi/inc/functions.inc.php) 2012-03-04 13:33:10 +00:00
Klaus Leithoff
d37ee80161 mending Warnings: Cannot use a scalar value as an array 2011-12-20 15:57:03 +00:00
Ralf Becker
e9ba37173a remove old ISS specific redirect code and default of $_SERVER[PHP_SELF] for $url parameter of egw::redirect (not used in current EGroupware) 2011-11-30 20:32:45 +00:00
Nathan Gray
c3abca67db Return an array, not null, if there are no preferences for the app 2011-11-09 16:32:42 +00:00
Ralf Becker
046c0919cc make basic data of current user available via egw.user(_field) 2011-08-31 12:17:34 +00:00
Ralf Becker
7868b684cd using php5 constructors 2011-08-31 07:50:28 +00:00
Ralf Becker
ea7ad6318d new clientside image-name to url map: egw.image(_name, _app="phpgwapi")
eg. egw.image('favicon') returns '/egroupware/phpgwapi/templates/default/favicon.ico'
--> pondon to serverside common::image($app,$name) method
2011-08-30 22:19:38 +00:00
Ralf Becker
be6fd87783 - sending EGroupware configuration (non-sensible stuff) to browser and make it available via egw.config(_name, _app="phpgwapi")
- sending link-registry in the same file
- used javascript file uses etag to ensure there's no need to load it on each request
2011-08-26 16:27:57 +00:00
Ralf Becker
a925764fc4 - dynamical (synchronious) loading preferences (other then "common") from server via egw.preference(_name, _app)
- setting preferences on server via egw.set_preference(_app, _name, _value)
- enable calling of active framework / template class via using egw_framework instead of not known used framework class of user, eg. "home.egw_framework.ajax_func.template" instead of "home.idots_framework.ajax_func.template"
2011-08-26 09:34:18 +00:00
Ralf Becker
16c6a8d4f9 got clientside translations working for etemplate2 apps: egw.lang("%1 timesheet(s) %2", 5, egw.lang("deleted")) 2011-08-23 16:15:54 +00:00
Ralf Becker
24e34f7927 new clientside API object currently supporting the following methods:
- egw.preferences(_name, _app='common') return preference _name of _app (only common prefs loaded currently)
- egw.open() allowing to open app-entries utilising the link registry, deprecating egw_open from jsapi.js
- egw.lang(_msg, _arg1, ..., _argN) placeholders are not yet implemented
2011-08-23 14:29:56 +00:00
Andreas Stöckel
149c154540 Added system which allows us to define dependencies inside js files.
An introduction on how this can be done is given in class.egw_include_mgr.inc.php.
This file/class may lateron be extended to minifiy, compress and cache groups of js files - currently only the 'debug-mode' is implemented, which sends all javascript files as individual files, making it easy to debug the java-script files in the browser.

The new method should work with all old code, especially including java-script files as part of an ajax-response, if something is broken, please report that!
2011-08-03 14:03:31 +00:00
Ralf Becker
c84c890738 fixed not working password change, if no rights for password app, but for preferences 2011-06-07 12:11:16 +00:00
Ralf Becker
2add4fe910 no need to scan non-directories - gives only warnings ;-) 2011-06-07 07:02:08 +00:00
Ralf Becker
994d1b63d4 allways display topmenu item "Password" addtional to "Preferences" and shorten "Manual / Help" in topmenu to "Help" 2011-06-03 18:36:47 +00:00
Ralf Becker
47e2764da0 new javascript method egw_open() to open egw_entries using there registered url and popup sizes from the link registry 2011-06-02 11:13:41 +00:00
Ralf Becker
61c0b251c3 * IE9: enable IE dropdown menu hack only for IE<9, as it stalls IE9 www.stylite.de bug #1722 2011-05-31 07:55:51 +00:00
Ralf Becker
42bf4dbc3c updating number of current users via notifications 2011-04-14 09:50:35 +00:00
Ralf Becker
5495491e78 * Admin: session-list is generated now from egw_access_log table independent of readablity of sessions files in filesystem
- session_(dla|action) is stored in egw_access_log table
- notifications refresh via ajax set notification_heartbeat timestamp in egw_access_log
- if notification_heartbeat is set (happens only for browser sessions with popup notification) sessions get removed from session list one minute after browser is closed
- new static method egw_session::notifications_active($account_id) to check if given user has an open browser with notifications popup checking, to ensure popup notifications can fall back to email
--> REQUIRES DATABASE UPDATE / SETUP
2011-04-13 14:11:09 +00:00
Ralf Becker
5507c32e4e fix common::get_body_attribs() (gave fatal error, because egw_framework::_get_body_attribs() was protected) and add body_attribs to Sitemgr Template3::get_meta() 2011-01-06 20:47:21 +00:00
Ralf Becker
594efde2f9 removed wrong app parameter from about url and disabled error_log for not found js file 2010-11-21 13:37:09 +00:00
Ralf Becker
c1fea35c29 * telling IE via X-UA-Compatible IE=edge never to use compatibility modes with old versions (if set eg. via group policy for whole intranet zone) 2010-11-10 10:49:16 +00:00
Ralf Becker
c86787a3bd tell IE > 7 to use it's own mode, not old compatibility mode eg. IE=7 for IE8 2010-11-09 14:44:18 +00:00
Ralf Becker
af7a24eb9a framework->navbar() now automatically calls framework->header(), this way navbar or sidebox can include JS or CSS, because header is called after 2010-10-18 10:46:47 +00:00
Klaus Leithoff
3843c0b59b Feature: to allow admins a) to set an allowed password age, to require all users to change their password regularily; b) force password change for a given user on the users next login; c) better control about the password strength required; Funded by Cricket 2010-09-22 09:48:27 +00:00