* 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.
- 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"
- 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
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!
- 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
CSS included via egw_framework::validate_file or egw_framework::includeCSS
to an ajax response.
Fixed jscalendar to use that service and sitemgr to include it manually.
- js->validate_file()
- js->set_on(Load|Unload|Resize)
into egw_framwork and made them static
(egw::__get('js') returns now the framework so all old code should
continue to work)
- added standard widget to select timezones
- modified egw_time::server2user and ::user2server to return NULL, if
time can not be parsed, not throwing an exception (as this are legacy
function meant to easy convert existing code, eg. replace strtotime())
only if you select more then one timezone to display in it)
- moved generation of beautified timezone array to egw_time
- moved all preferences hooks to a new class preferences_hooks (updated
version so setup updates hook data, or you need to call admin>>update
hooks)
Patch is mostly created by script in egroupware/doc/fix_depricated.php in separate commit.
I do NOT advice to apply this patch to a production system (it's commited to trunk!), as the automatic modified regular expressions have a good change to break something ...
- new feature allowing apps to specify with index-page and icon to use
--> allows to install sitemgr-link icon without an extra application
(which was a symlink and got lost in every version upgrade)
- DONT UPDATE ON A PROCUDTION SYSTEM (for the next few days)!
- eGW support from now on only php session handling
- custom session handlers (like the memcache one) can now be
implemented as classes and dont need to change any other code
- the class get's autoloaded and the name need to be configured
eg. in the header.inc.php as $egw_info[server][session_handler]
- session restore is now enabled by default (it's way faster and
works well with php5.1+)
- a db-bases session handler follows soon
* mostly rewritten the about.php page (added application list)
* changed footer eGroupWare link to about.php
* moved manual from application menu to top and sidebox menu preserving its special link target
implement topmenu in idots template set
add idots preference to enable topmenu
add idots preference to disable general sidebox menu
some cleanups in idots framework class
some cleanups in egw_framework
- virtual baseclass egw_framework in the API which each template extends
- replaces $api/footer.inc.php, $tpl/head.inc.php & $tpl/navbar.inc.php
- all existing phplib template sets just inherit the idots_framework, but can have own templates
- moved most html from navbar.inc.php into the navbar.tpl
--> idots & jerryr are reworked and working, all other template sets are disabled at the moment
--> The rework was done to add a selectbox to add all sorts of entries without the need to change to the app first. This is now implemented in the egw_framework class using the link-registry.