Commit Graph

229 Commits

Author SHA1 Message Date
Ralf Becker
876a14ff52 new 4th parameter to egw_framework::includeCSS() to tell framework NOT to load any default CSS and make send_headers public 2014-03-03 14:54:03 +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
5734d2e143 fix some html markup IE complains about 2014-02-19 11:49:53 +00:00
Ralf Becker
e6052f9704 automatic split bundles with more then 50 files into chunks, as IE11 does NOT cache them otherwise 2014-02-17 17:15:37 +00:00
Ralf Becker
ca12321613 fixed sitemgr-links show no navbar icon in Stylite/Pixelegg template 2014-02-16 09:12:08 +00:00
Ralf Becker
5e0ac9b76f moved favorites code to new class egw_favorites 2014-02-14 13:48:45 +00:00
Ralf Becker
be60a5036e older group-favorites have just true as their group and are not deletable, if we dont find correct group 2014-02-14 13:26:32 +00:00
Ralf Becker
0fa215c9e8 fixed sometimes not deletable favorites 2014-02-14 12:46:49 +00:00
Ralf Becker
e4d65ae94d do NOT check for run rights of preferences app, as we want to be able to store implicit preferences 2014-02-13 16:34:09 +00:00
Ralf Becker
476f33af23 until home works again, we use default_app from prefs (if set and not home) or calendar, if allowed, or first app found 2014-02-13 13:18:48 +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
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
384756ff71 explicitly allow svg for logo in navbar 2014-02-12 08:34:33 +00:00
Ralf Becker
0a5001ea11 explicitly allow svg for logo in login screen 2014-02-12 08:14:07 +00:00
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