- extend etemplate's sitemgr_module class and set the $etemplate_method class-var to a method/menuaction of the app
- the app need to return etemplate::exec() (otherwise the content is empty)!!!
- the app need to avoid redirects or links, as this would leave sitemgr!!!
// saves an unnecessary copy
'= CreateObject' => '=& CreateObject',
'= new' => '=& new',
// php5 cloning of the DB object
'= $GLOBALS[\'egw\']->db;' => '= clone($GLOBALS[\'egw\']->db);',
'= $this->db;' => '= clone($this->db);',
// remove windows lineends (CR)
"\r" => '',
// $HTTP_{GET|POST|SERVER}_VARS => $_{GET|POST|SERVER}
$modernize['$HTTP_'.$name.'_VARS'] = '$_'.$name;
$modernize['$GLOBALS[\'HTTP_'.$name.'_VARS\']'] = '$_'.$name;
$modernize['$GLOBALS["HTTP_'.$name.'_VARS"]'] = '$_'.$name;
// phpGW --> eGW
'PHPGW_' => 'EGW_',
'$GLOBALS[\'phpgw_info\']' => '$GLOBALS[\'egw_info\']',
'$GLOBALS["phpgw_info"]' => '$GLOBALS[\'egw_info\']',
'$GLOBALS[\'phpgw\']' => '$GLOBALS[\'egw\']',
'$GLOBALS["phpgw"]' => '$GLOBALS[\'egw\']',
'common->phpgw_header' => 'common->egw_header',
'common->phpgw_footer' => 'common->egw_footer',
'common->phpgw_exit' => 'common->egw_exit',
'common->phpgw_final' => 'common->egw_final',
It also substitutes spaces at the beginning of a line (indetion) with tabs, you need to specify (--remove-space-indention N) the number of spaces to substitute, if it's other then 2.
- allow to re-enable (by default) disabled cells, via setting the value for their name in $readonlys to false
- class attribute can be a reference into the content (@) and/or contain vars like $row or $col
- fixed the counting of not-left joins (we cant ignore them, nor can we use count(*), we make an unlimited query now and retrive the number of rows with num_rows())
code logic was wrong and it was using an API method that is
also buggy => in file /egw/phpwgapi/inc/class.common.inc.php the method
cmp_version_long().
1) the code logic:
it get versions for the current app and for the api from file
(app/setup/setup.inc.php) and from DB.
it loops over this 2 apps (app, and api), and set a $_current to true or
false. this variable value is defined by the last app check in the loop
(the API) => then if your API version is up to date, your application
version is also. which was wrong for me. Well in the attached file i
change the code logic.
- returns reference now
- $order_by param can contain a GROUP BY clause too
- $extra_cols param can contain comma-sep. string now
- fixed reg-expr. to detect column-aliases (was not requiring a space after AS before)
- caching the app-register in the session (performance)
- new param for app_list to specify a capability which the returned app have to support, eg. add
- date-time: empty date not recogniced
- date-timeonly, date-houronly: use only seconds, no timezone converstation between server-time and UTC (default for mktime())