Author: ralfbecker
New Revision: 56036
URL: http://svn.stylite.de/viewvc/egroupware?rev=56036&view=rev
Log:
move default login and head templates from idots to api/templates/default and some other fixes to fix up non-Pixelegg login and old templates
Added:
trunk/egroupware/api/src/Framework/Minimal.php
- copied, changed from r56033, trunk/phpgwapi/templates/idots/class.idots_framework.inc.php
trunk/egroupware/api/templates/default/css/
trunk/egroupware/api/templates/default/css/default.css
- copied, changed from r56035, trunk/egroupware/api/templates/default/idots.css
trunk/egroupware/api/templates/default/head.tpl
- copied unchanged from r56033, trunk/phpgwapi/templates/default/head.tpl
trunk/egroupware/api/templates/default/images/egw_action/
- copied from r56033, trunk/phpgwapi/templates/default/images/egw_action/
trunk/egroupware/api/templates/default/images/password.png
- copied unchanged from r56033, trunk/phpgwapi/templates/idots/images/password.png
trunk/egroupware/api/templates/default/login.tpl
- copied, changed from r56033, trunk/phpgwapi/templates/default/login.tpl
trunk/egroupware/api/templates/default/login_denylogin.tpl
- copied unchanged from r56033, trunk/phpgwapi/templates/default/login_denylogin.tpl
trunk/phpgwapi/templates/idots/css/idots.css (with props)
trunk/phpgwapi/templates/idots/css/traditional.css (with props)
Removed:
trunk/egroupware/api/templates/default/idots.css
trunk/phpgwapi/templates/default/head.tpl
trunk/phpgwapi/templates/default/login.tpl
trunk/phpgwapi/templates/default/login_denylogin.tpl
trunk/phpgwapi/templates/idots/images/password.png
Modified:
trunk/egroupware/api/src/Framework.php
trunk/egroupware/api/templates/default/default.css
trunk/phpgwapi/inc/class.egw_framework.inc.php
trunk/phpgwapi/templates/idots/class.idots_framework.inc.php
trunk/setup/inc/class.setup_header.inc.php
trunk/setup/templates/default/head.tpl
— trunk/egroupware/api/src/Framework.php (original)
+++ trunk/egroupware/api/src/Framework.php Thu May 5 15:29:41 2016
@@ -87,7 +87,7 @@
{
$GLOBALS[‘egw’]->framework = $this;
}
@@ -119,25 +119,24 @@
if (empty($GLOBALS[‘egw_info’][‘server’][‘template_set’])) $GLOBALS[‘egw_info’][‘server’][‘template_set’] = ‘idots’;
// setup the new eGW framework (template sets)
$class = $GLOBALS[‘egw_info’][‘server’][‘template_set’].’_framework’;
-
if (!class_exists($class) && // first try to autoload the class
-
file_exists($file=EGW_INCLUDE_ROOT.'/phpgwapi/templates/'.$GLOBALS['egw_info']['server']['template_set'].'/class.'.$class.'.inc.php'))
-
{
-
require_once($file);
if (!in_array($file,(array)$_SESSION['egw_required_files']))
{
$_SESSION['egw_required_files'][] = $file; // automatic load the used framework class, when the object get's restored
}
}
-
// fall back to idots if a template does NOT support current user-agent
-
if ($class != 'idots_framework' && method_exists($class,'is_supported_user_agent') &&
-
!call_user_func(array($class,'is_supported_user_agent')))
-
{
-
$GLOBALS['egw_info']['server']['template_set'] = 'idots';
-
return self::factory();
-
}
}
else
{
$class = $GLOBALS['egw_info']['server']['template_set'].'_framework';
-
}
-
// eg. "default" is only used for login at the moment
-
if (!class_exists($class))
-
{
-
$class = __CLASS__.'\\Minimal';
}
return new $class($GLOBALS['egw_info']['server']['template_set']);
}
@@ -450,13 +449,15 @@
$extra[‘app-header’] = $app_header;
if($GLOBALS['egw_info']['flags']['currentapp'] != 'wiki') $robots ='<meta name="robots" content="none" />';
-
if (substr($GLOBALS['egw_info']['server']['favicon_file'],0,4) == 'http')
{
$var['favicon_file'] = $GLOBALS['egw_info']['server']['favicon_file'];
}
else
{
-
$var['favicon_file'] = Image::find('api', $GLOBALS['egw_info']['server']['favicon_file'] ?
-
$GLOBALS['egw_info']['server']['favicon_file'] : 'favicon.ico');
}
if ($GLOBALS['egw_info']['flags']['include_wz_tooltip'] &&
— trunk/phpgwapi/templates/idots/class.idots_framework.inc.php (original)
+++ trunk/egroupware/api/src/Framework/Minimal.php Thu May 5 15:29:41 2016
@@ -1,10 +1,9 @@
<?php
/**
- * EGroupware idots template set
+ * EGroupware minimal default template used to render login screen, if template does not provide own
*
* @link http://www.egroupware.org
* @author Ralf Becker rewrite in 12/2006
- * @author Pim Snel author of the idots template set
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package api
* @subpackage framework
@@ -12,74 +11,37 @@
* @version $Id$
*/
+namespace EGroupware\Api\Framework;
+
+use EGroupware\Api;
+
/**
-* eGW idots template
-*
-* The idots_framework class draws the default idots template. It's a phplib template based template-set.
-*
-* Other phplib template based template-sets should extend (not copy!) this class and reimplement methods they which to change.
-*/
-class idots_framework extends egw_framework
+ * minimal default template used to render login screen, if template does not provide own
+ */
+class Minimal extends Api\Framework
{
- /**
- * HTML of the sidebox menu, get's collected here by calls to $this->sidebox
- *
- * @var string
- */
- var $sidebox_content = '';
/**
* Instance of the phplib Template class for the API's template dir (EGW_TEMPLATE_DIR)
*
* @var Template
*/
var $tpl;
- /**
- * Instance of the Savant template class
- *
- * @var tplsavant2
- */
- var $tplsav2;
-
- /**
- * Contains array with linked icons in the topmenu
- *
- * @var mixed
- * @access public
- */
- var $topmenu_icon_arr = array();
-
- /**
- * Contains array of information for additional topmenu items added
- * by hooks
- */
- private static $hook_items = array();
/**
* Constructor
*
- * @param string $template='idots' name of the template
+ * @param string $template ='default' name of the template
* @return idots_framework
*/
- function __construct($template='idots')
+ function __construct($template='default')
{
parent::__construct($template); // call the constructor of the extended class
-
- $this->tplsav2 = new tplsavant2();
- $this->tplsav2->set_tpl_path(EGW_SERVER_ROOT.SEP.'phpgwapi'.SEP.'templates'.SEP.'idots');
- }
-
- /**
- * @deprecated use __construct()
- */
- function idots_framework($template='idots')
- {
- self::__construct($template);
}
/**
* Returns the html-header incl. the opening body tag
*
- * @param array $extra=array() extra attributes passed as data-attribute to egw.js
+ * @param array $extra =array() extra attributes passed as data-attribute to egw.js
* @return string with html
*/
function header(array $extra=array())
@@ -102,36 +64,13 @@
// the instanciation of the template has to be here and not in the constructor,
// as the old Template class has problems if restored from the session (php-restore)
- $this->tpl = new Template(EGW_TEMPLATE_DIR,'keep');
+ $this->tpl = new Template(EGW_SERVER_ROOT.$this->template_dir, 'keep');
$this->tpl->set_file(array('_head' => 'head.tpl'));
$this->tpl->set_block('_head','head');
-
- if (html::$ua_mobile)
- {
- self::$css_include_files[] = '/phpgwapi/templates/idots/mobile.css';
- $extra['mobile'] = true;
- }
-
- // load idots specific javascript files, if we are not in login or logout
- if (!in_array($GLOBALS['egw_info']['flags']['currentapp'], array('login', 'logout')))
- {
- self::validate_file('/phpgwapi/templates/idots/js/idots.js');
- }
- if ($GLOBALS['egw_info']['user']['preferences']['common']['click_or_onmouseover'] == 'onmouseover' && !html::$ua_mobile)
- {
- $show_menu_event = 'mouseover';
- }
- else
- {
- $show_menu_event = 'click';
- }
- $extra['slide-out'] = $show_menu_event;
$this->tpl->set_var($this->_get_header($extra));
$content .= $this->tpl->fp('out','head');
-
- $this->sidebox_content = ''; // need to be emptied here, as the object get's stored in the session
return $content;
}
@@ -143,153 +82,7 @@
*/
function navbar()
{
- if (self::$navbar_done)
- {
- return !self::$header_done ? $this->header() : '';
- }
-
- if (!empty($_GET['nonavbar']) || $GLOBALS['egw_info']['flags']['currentapp'] == 'admin' && empty($_GET['ajax']))
- {
- if (!self::$header_done) return $this->header();
- return '';
- }
- self::$navbar_done = true;
-
- // the navbar
- if (!is_object($this->tpl)) $this->tpl = new Template(EGW_TEMPLATE_DIR,'keep');
- $this->tpl->set_file(array('navbar' => 'navbar.tpl'));
-
- $this->tpl->set_block('navbar','extra_blocks_header','extra_block_header');
- $this->tpl->set_block('navbar','extra_block_row','extra_block_row');
- $this->tpl->set_block('navbar','extra_block_row_raw','extra_block_row_raw');
- $this->tpl->set_block('navbar','extra_block_row_no_link','extra_block_row_no_link');
- $this->tpl->set_block('navbar','extra_block_spacer','extra_block_spacer');
- $this->tpl->set_block('navbar','extra_blocks_footer','extra_blocks_footer');
- $this->tpl->set_block('navbar','sidebox_hide_header','sidebox_hide_header');
- $this->tpl->set_block('navbar','sidebox_hide_footer','sidebox_hide_footer');
- $this->tpl->set_block('navbar','appbox','appbox');
- $this->tpl->set_block('navbar','navbar_footer','navbar_footer');
-
- $this->tpl->set_block('navbar','upper_tab_block','upper_tabs');
- $this->tpl->set_block('navbar','app_icon_block','app_icons');
- $this->tpl->set_block('navbar','app_title_block','app_titles');
- $this->tpl->set_block('navbar','app_extra_block','app_extra_icons');
- $this->tpl->set_block('navbar','app_extra_icons_div');
- $this->tpl->set_block('navbar','app_extra_icons_icon');
-
- if (html::$ua_mobile) // replace whole navbar with just the extra apps icon
- {
- $this->tpl->set_block('navbar','navbar','mobil_not_needed');
- $this->tpl->set_block('app_extra_icons_icon','extra_icons_show');
- $this->tpl->set_var('mobil_not_needed',$this->tpl->get_var('extra_icons_show'));
- }
- $this->tpl->set_block('navbar','navbar_header','navbar_header');
-
- $apps = $this->_get_navbar_apps();
- $vars = $this->_get_navbar($apps);
-
- if($GLOBALS['egw_info']['user']['preferences']['common']['show_general_menu'] != 'sidebox' && !html::$ua_mobile)
- {
- $content .= $this->topmenu($vars,$apps);
- $vars['current_users'] = $vars['quick_add'] = $vars['user_info']='';
- }
-
- $this->tpl->set_var($vars);
- $content .= $this->tpl->fp('out','navbar_header');
-
- // general (app-unspecific) sidebox menu, instead of topmenu
- if($GLOBALS['egw_info']['user']['preferences']['common']['show_general_menu'] == 'sidebox')
- {
- $menu_title = lang('General Menu');
-
- $this->topmenu($vars,$apps);
- $file = $this->tplsav2->menuitems;
-
- $this->sidebox('',$menu_title,$file);
- }
-
- // allow other apps to hook into sidebox menu of an app, hook-name: sidebox_$app
- $GLOBALS['egw']->hooks->process('sidebox_'.$GLOBALS['egw_info']['flags']['currentapp'],
- array($GLOBALS['egw_info']['flags']['currentapp']),true); // true = call independent of app-permissions
- // calling the old hook
- $GLOBALS['egw']->hooks->single('sidebox_menu',$GLOBALS['egw_info']['flags']['currentapp']);
-
- // allow other apps to hook into sidebox menu of every app: sidebox_all
- $GLOBALS['egw']->hooks->process('sidebox_all',array($GLOBALS['egw_info']['flags']['currentapp']),true);
-
- if($this->sidebox_content)
- {
- if($GLOBALS['egw_info']['user']['preferences']['common']['auto_hide_sidebox'] || html::$ua_mobile)
- {
- $this->tpl->set_var('lang_show_menu',lang('show menu'));
- $content .= $this->tpl->parse('out','sidebox_hide_header');
-
- $content .= $this->sidebox_content; // content from calls to $this->sidebox
-
- $content .= $this->tpl->parse('out','sidebox_hide_footer');
-
- $var['sideboxcolstart'] = '';
-
- $this->tpl->set_var($var);
- $content .= $this->tpl->parse('out','appbox');
- $var['remove_padding'] = 'style="padding-left:0px;"';
- $var['sideboxcolend'] = '';
- }
- else
- {
- if (isset($GLOBALS['egw_info']['user']['preferences'][$GLOBALS['egw_info']['flags']['currentapp']]['idotssideboxwidth']))
- {
- $sideboxwidth = $GLOBALS['egw_info']['user']['preferences'][$GLOBALS['egw_info']['flags']['currentapp']]['idotssideboxwidth'];
- }
- if((int)$sideboxwidth < 1)
- {
- $sideboxwidth = 203;
- }
-
- $var['menu_link'] = '';
-
- $var['sideboxcolstart'] = '
';
- $var['sideboxcolstart'] .= ' ';
- $var['remove_padding'] = '';
- $this->tpl->set_var($var);
- $content .= $this->tpl->parse('out','appbox');
-
- $content .= $this->sidebox_content;
-
- $var['sideboxcolend'] = ' | ';
-
- $this->tplsav2->assign('sideboxwidth', $sideboxwidth);
- }
- }
- else
- {
- $var['sideboxcolend']='';
- }
-
- $this->tpl->set_var($var);
- $content .= $this->tpl->parse('out','navbar_footer');
-
- // depricated (!) application header, if not disabled
- // ToDo: check if it can be removed
- if(!@$GLOBALS['egw_info']['flags']['noappheader'] && @isset($_GET['menuaction']))
- {
- list(, $class) = explode('.',$_GET['menuaction']);
- if(is_array($GLOBALS[$class]->public_functions) && $GLOBALS[$class]->public_functions['header'])
- {
- ob_start();
- $GLOBALS[$class]->header();
- $content .= ob_get_contents();
- ob_end_clean();
- }
- }
-
- // hook after navbar
- $content .= $this->_get_after_navbar();
-
- // make sure header is output (not explicitly calling header, allows to put validate calls eg. in sidebox)
- if (!self::$header_done) $content = $this->header() . $content;
-
- return $content;
+ return '';
}
/**
@@ -302,124 +95,9 @@
*/
public function isTop($consider_navbar_not_yet_called_as_true=true)
{
- return self::$navbar_done || $consider_navbar_not_yet_called_as_true ||
- isset($GLOBALS['egw_info']['flags']['nonavbar']) && !$GLOBALS['egw_info']['flags']['nonavbar'];
- }
+ unset($consider_navbar_not_yet_called_as_true);
- /**
- * Get navbar as array to eg. set as vars for a template (from idots' navbar.inc.php)
- *
- * Reimplemented so set the vars for the navbar itself (uses $this->tpl and the blocks a and b)
- *
- * @internal PHP5 protected
- * @param array $apps navbar apps from _get_navbar_apps
- * @return array
- */
- function _get_navbar($apps)
- {
- $var = parent::_get_navbar($apps);
-
- if($GLOBALS['egw_info']['user']['userid'] == 'anonymous')
- {
- $config_reg = config::read('registration');
-
- $this->tpl->set_var(array(
- 'url' => $GLOBALS['egw']->link('/logout.php'),
- 'title' => lang('Login'),
- ));
- $this->tpl->fp('upper_tabs','upper_tab_block');
- if ($config_reg[enable_registration]=='True' && $config_reg[register_link]=='True')
- {
- $this->tpl->set_var(array(
- 'url' => $GLOBALS['egw']->link('/registration/index.php'),
- 'title' => lang('Register'),
- ));
- }
- }
- else
- {
- $this->tpl->set_var('upper_tabs','');
- }
-
- if (html::$ua_mobile)
- {
- $max_icons = 0;
- $this->tpl->set_var('app_icons','');
- }
- elseif (!($max_icons=$GLOBALS['egw_info']['user']['preferences']['common']['max_icons']))
- {
- $max_icons = 30;
- }
-
- if($GLOBALS['egw_info']['user']['preferences']['common']['start_and_logout_icons'] == 'no' && !html::$ua_mobile)
- {
- $tdwidth = 100 / $max_icons;
- }
- else
- {
- $tdwidth = 100 / ($max_icons+1); // +1 for logout
- }
- $this->tpl->set_var('tdwidth',round($tdwidth));
-
- // not shown in the navbar
- $i = 0;
- foreach($apps as $app => $app_data)
- {
- if ($app != 'preferences' && $app != 'about' && $app != 'logout' && $app != 'manual' &&
- ($app != 'api' || $GLOBALS['egw_info']['user']['preferences']['common']['start_and_logout_icons'] != 'no') ||
- html::$ua_mobile && in_array($app,array('preferences','logout','api')))
- {
- $this->tpl->set_var($app_data);
-
- if($i < $max_icons)
- {
- $this->tpl->set_var($app_data);
- if($GLOBALS['egw_info']['user']['preferences']['common']['navbar_format'] != 'text')
- {
- $this->tpl->fp('app_icons','app_icon_block',true);
- }
- if($GLOBALS['egw_info']['user']['preferences']['common']['navbar_format'] != 'icons')
- {
- $this->tpl->fp('app_titles','app_title_block',true);
- }
- }
- else // generate extra icon layer shows icons and/or text
- {
- $this->tpl->fp('app_extra_icons','app_extra_block',true);
- }
- $i++;
- }
- }
- // settings for the extra icons dif
- if ($i <= $max_icons) // no extra icon div
- {
- $this->tpl->set_var('app_extra_icons_div','');
- $this->tpl->set_var('app_extra_icons_icon','');
- }
- else
- {
- $var['lang_close'] = lang('Close');
- $var['lang_show_more_apps'] = lang('show_more_apps');
- }
- if ($GLOBALS['egw_info']['user']['preferences']['common']['start_and_logout_icons'] != 'no' &&
- $GLOBALS['egw_info']['user']['userid'] != 'anonymous')
- {
- $this->tpl->set_var($apps['logout']);
- if($GLOBALS['egw_info']['user']['preferences']['common']['navbar_format'] != 'text')
- {
- $this->tpl->fp('app_icons','app_icon_block',true);
- }
- if($GLOBALS['egw_info']['user']['preferences']['common']['navbar_format'] != 'icons')
- {
- $this->tpl->fp('app_titles','app_title_block',true);
- }
- }
-
- if($GLOBALS['egw_info']['user']['preferences']['common']['navbar_format'] == 'icons')
- {
- $var['app_titles'] = '
| ';
- }
- return $var;
+ return true;
}
/**
@@ -433,43 +111,46 @@
*/
function _add_topmenu_item(array $app_data,$alt_label=null)
{
- $_item['link'] = $_item['url'] = htmlspecialchars($app_data['url']);
- $_item['target'] = $_item['urlextra'] = $app_data['target'];
- $_item['text'] = $_item['label'] = $alt_label ? $alt_label : $app_data['title'];
- $this->tplsav2->menuitems[] = $_item;
- $this->tplsav2->icon_or_star = common::image('phpgwapi','bullet');
+ unset($app_data, $alt_label);
}
/**
* Add info items to the topmenu template class to be displayed
*
* @param string $content html of item
- * @param string $id=null
+ * @param string $id =null
* @access protected
* @return void
*/
function _add_topmenu_info_item($content, $id=null)
{
- $this->tplsav2->menuinfoitems[$id] = $content;
+ unset($content, $id);
}
/**
- * Display the string with html of the topmenu if its enabled
+ * Returns the html from the closing div of the main application area to the closing html-tag
*
- * @param array $vars
- * @param array $apps
- * @return string
+ * @return string html or null if no footer needed/wanted
*/
- function topmenu(array $vars,array $apps)
+ function footer()
{
- $this->tplsav2->menuitems = array();
- $this->tplsav2->menuinfoitems = array();
+ static $footer_done=0;
+ if ($footer_done++) return; // prevent multiple footers, not sure we still need this (RalfBecker)
- parent::topmenu($vars,$apps);
+ return "\n\n"; // close body and html tag, eg. for popups
+ }
- $this->tplsav2->assign('info_icons',$this->topmenu_icon_arr);
-
- return $this->tplsav2->fetch('topmenu.tpl.php');
+ /**
+ * Parses one sidebox menu and add's the html to $this->sidebox_content for later use by $this->navbar
+ *
+ * @param string $appname
+ * @param string $menu_title
+ * @param array $file
+ * @param string $type =null 'admin', 'preferences', 'favorites', ...
+ */
+ function sidebox($appname,$menu_title,$file,$type=null)
+ {
+ unset($appname, $menu_title, $file, $type);
}
/**
@@ -485,151 +166,7 @@
*/
function topmenu_info_icon($id,$icon_src,$iconlink,$blink=false,$tooltip=null)
{
- $icon_arr['id'] = $id;
- $icon_arr['blink'] = $blink;
- $icon_arr['link'] = $iconlink;
- $icon_arr['image'] = $icon_src;
-
- if(!is_null($tooltip))
- {
- $icon_arr['tooltip'] = html::tooltip($tooltip);
- }
-
- $this->topmenu_icon_arr[]=$icon_arr;
- }
-
- /**
- * Returns the html from the closing div of the main application area to the closing html-tag
- *
- * @return string html or null if no footer needed/wanted
- */
- function footer()
- {
- static $footer_done=0;
- if ($footer_done++) return; // prevent multiple footers, not sure we still need this (RalfBecker)
-
- if (!isset($GLOBALS['egw_info']['flags']['nofooter']) || !$GLOBALS['egw_info']['flags']['nofooter'])
- {
- // get the (depricated) application footer
- $content = $this->_get_app_footer();
-
- // run the hook navbar_end
- // ToDo: change to return the content
- ob_start();
- $GLOBALS['egw']->hooks->process('navbar_end');
- $content .= ob_get_contents();
- ob_end_clean();
-
- // eg. javascript, which need to be at the end of the page
- if ($GLOBALS['egw_info']['flags']['need_footer'])
- {
- $content .= $GLOBALS['egw_info']['flags']['need_footer'];
- }
-
- // do the template sets footer, former parse_navbar_end function
- // this closes the application area AND renders the closing body- and html-tag
- if (self::$navbar_done)
- {
- if (!is_a($this->tpl,'Template')) $this->tpl = new Template(EGW_TEMPLATE_DIR);
- $this->tpl->set_file(array('footer' => 'footer.tpl'));
- $this->tpl->set_var($this->_get_footer());
- $content .= $this->tpl->fp('out','footer');
- }
- elseif (!isset($GLOBALS['egw_info']['flags']['noheader']) || !$GLOBALS['egw_info']['flags']['noheader'] ||
- self::$header_done || !empty($_GET['nonavbar']) ||
- $GLOBALS['egw_info']['flags']['currentapp'] == 'admin' && empty($_GET['ajax']))
- {
- $content .= "\n\n"; // close body and html tag, eg. for popups
- }
- return $content;
- }
- }
-
- /**
- * Parses one sidebox menu and add's the html to $this->sidebox_content for later use by $this->navbar
- *
- * @param string $appname
- * @param string $menu_title
- * @param array $file
- * @param string $type=null 'admin', 'preferences', 'favorites', ...
- */
- function sidebox($appname,$menu_title,$file,$type=null)
- {
- if((!$appname || ($appname==$GLOBALS['egw_info']['flags']['currentapp'] && $file)) && is_object($this->tpl))
- {
- // fix app admin menus to use admin.admin_ui.index loader
- if (($type == 'admin' || $menu_title == lang('Admin')) && $appname != 'admin')
- {
- $file = preg_replace("/^(.*)menuaction=([^&]+)(.*)$/",
- '$1menuaction=admin.admin_ui.index&load=$2$3&ajax=true', $file);
- }
- $this->tpl->set_var('lang_title',$menu_title);
- $this->sidebox_content .= $this->tpl->fp('out','extra_blocks_header');
-
- foreach($file as $text => $url)
- {
- if ($text === 'menuOpened') continue;
- $this->sidebox_content .= $this->_sidebox_menu_item($url,$text);
- }
- $this->sidebox_content .= $this->tpl->parse('out','extra_blocks_footer');
- }
- }
-
- /**
- * Return a sidebox menu item
- *
- * @internal PHP5 protected
- * @param string $item_link
- * @param string $item_text
- * @return string
- */
- function _sidebox_menu_item($item_link='',$item_text='')
- {
- if($item_text === '_NewLine_' || $item_link === '_NewLine_')
- {
- return $this->tpl->parse('out','extra_block_spacer');
- }
- if (strtolower($item_text) == 'grant access' && $GLOBALS['egw_info']['server']['deny_user_grants_access'])
- {
- return;
- }
-
- $var['icon_or_star']='
![ball]()
';
- $var['target'] = '';
- if(is_array($item_link))
- {
- if(isset($item_link['icon']))
- {
- $app = isset($item_link['app']) ? $item_link['app'] : $GLOBALS['egw_info']['flags']['currentapp'];
- $var['icon_or_star'] = $item_link['icon'] ? '
![]()
' : False;
- }
- $var['lang_item'] = isset($item_link['no_lang']) && $item_link['no_lang'] ? $item_link['text'] : lang($item_link['text']);
- $var['item_link'] = $item_link['link'];
- if ($item_link['target'])
- {
- if (strpos($item_link['target'], 'target=') !== false)
- {
- $var['target'] = $item_link['target'];
- }
- else
- {
- $var['target'] = ' target="' . $item_link['target'] . '"';
- }
- }
- }
- else
- {
- $var['lang_item'] = lang($item_text);
- $var['item_link'] = $item_link;
- }
- $this->tpl->set_var($var);
-
- $block = 'extra_block_row';
- if ($var['item_link'] === False)
- {
- $block .= $var['icon_or_star'] === False ? '_raw' : '_no_link';
- }
- return $this->tpl->parse('out',$block);
+ unset($id, $icon_src, $iconlink, $blink, $tooltip);
}
/**
Copied: trunk/egroupware/api/templates/default/css/default.css (from r56035, trunk/egroupware/api/templates/default/idots.css)
URL: http://svn.stylite.de/viewvc/egroupware/trunk/egroupware/api/templates/default/css/default.css?p2=trunk/egroupware/api/templates/default/css/default.css&p1=trunk/egroupware/api/templates/default/idots.css&r1=56035&r2=56036&rev=56036&view=diff
==============================================================================
--- trunk/egroupware/api/templates/default/idots.css (original)
+++ trunk/egroupware/api/templates/default/css/default.css Thu May 5 15:29:41 2016
@@ -1,4 +1,4 @@
-/*@import url("api/templates/default/default.css");*/
+/*@import url("/api/templates/default/default.css");*/
/**
* Stylite theme changes
@@ -8,7 +8,7 @@
border: none;
background-position: 0px 30px;
background-color: white;
- background-image: url(images/gradient22.png);
+ background-image: url(../images/gradient22.png);
}
#divStatusBar {
@@ -16,7 +16,7 @@
}
#divAppboxHeader {
- background-image: url(images/gradient22.png);
+ background-image: url(../images/gradient22.png);
border: none;
height: 18px;
line-height: 18px;
@@ -48,7 +48,7 @@
width:auto;
}
.divSideboxHeader {
- background-image: url(images/gradient22.png);
+ background-image: url(../images/gradient22.png);
border: none;
height: 18px;
line-height: 18px;
@@ -83,7 +83,7 @@
}
#topmenu {
- background-image: url(images/gradient22.png);
+ background-image: url(../images/gradient22.png);
border: none;
x-background-color: #e0e0e0;
x-background-image: none;
@@ -99,7 +99,7 @@
}
#sideresize {
- background-image:url(images/resize-transparent.png);
+ background-image:url(../images/resize-transparent.png);
}
.th {
@@ -140,7 +140,7 @@
padding-left: 8px;
}
.divLoginboxHeader {
- background-image: url(images/gradient22.png);
+ background-image: url(../images/gradient22.png);
}
#menu1Container{
position: absolute;
Modified: trunk/egroupware/api/templates/default/default.css
URL: http://svn.stylite.de/viewvc/egroupware/trunk/egroupware/api/templates/default/default.css?rev=56036&r1=56035&r2=56036&view=diff
==============================================================================
--- trunk/egroupware/api/templates/default/default.css (original)
+++ trunk/egroupware/api/templates/default/default.css Thu May 5 15:29:41 2016
@@ -574,10 +574,10 @@
/* new dialog style */
div.prompt, table.prompt {
- background:#fff url(../../default/images/prompt_bg.jpg) bottom right no-repeat; border:1px solid #4f6d81;
+ background:#fff url(images/prompt_bg.jpg) bottom right no-repeat; border:1px solid #4f6d81;
}
.promptheader {
- background:url(../../default/images/prompt_header.gif) repeat-x; color:#355468; border:1px solid #4f6d81; border-bottom:none; height:24px
+ background:url(images/prompt_header.gif) repeat-x; color:#355468; border:1px solid #4f6d81; border-bottom:none; height:24px
}
/* TABLE STYLE */
@@ -595,7 +595,7 @@
border-right: 1px solid gray;
border-bottom: 1px solid gray;
background-color: gray;
- background-image: url(../../default/images/egw_action/header_overlay.png);
+ background-image: url(images/egw_action/header_overlay.png);
background-position: center;
background-repeat: repeat-x;
height: 46px;
@@ -642,14 +642,14 @@
}
.egwGridView_outer div.innerContainer.queued {
- background-image: url(../../default/images/egw_action/ajax-loader.gif);
+ background-image: url(images/egw_action/ajax-loader.gif);
background-position: center;
background-repeat: no-repeat;
height: 19px;
}
.egwGridView_grid > tbody > tr.focused {
- background-image: url(../../default/images/egw_action/focused_hatching.png);
+ background-image: url(images/egw_action/focused_hatching.png);
background-repeat: repeat;
}
@@ -668,7 +668,7 @@
}
.egwGridView_spacer {
- background-image: url(../../default/images/egw_action/non_loaded_bg.png);
+ background-image: url(images/egw_action/non_loaded_bg.png);
background-position: top left;
}
@@ -778,19 +778,19 @@
.egwGridView_grid span.arrow.opened {
cursor: pointer;
- background-image: url(../../default/images/egw_action/arrows.png);
+ background-image: url(images/egw_action/arrows.png);
background-position: -8px 0;
}
.egwGridView_grid span.arrow.closed {
cursor: pointer;
- background-image: url(../../default/images/egw_action/arrows.png);
+ background-image: url(images/egw_action/arrows.png);
background-position: 0 0;
}
.egwGridView_grid span.arrow.loading {
cursor: pointer;
- background-image: url(../../default/images/egw_action/ajax-loader.gif);
+ background-image: url(images/egw_action/ajax-loader.gif);
background-position: 0 0;
}
@@ -811,7 +811,7 @@
border-top: 1px solid silver;
border-right: 1px solid gray;
border-bottom: 1px solid gray;
- background-image: url(../../default/images/egw_action/header_overlay.png);
+ background-image: url(images/egw_action/header_overlay.png);
background-position: center;
background-repeat: repeat-x;
}
@@ -871,7 +871,7 @@
margin: 0;
padding: 0;
vertical-align: middle;
- background-image: url(../../default/images/egw_action/selectcols.png);
+ background-image: url(images/egw_action/selectcols.png);
background-position: center;
background-repeat: no-repeat;
}
@@ -944,24 +944,24 @@
text-align: left;
margin-left: 5px;
padding-left: 20px;
- background-image: url(../../default/images/check.png);
+ background-image: url(images/check.png);
background-position: left;
background-repeat: no-repeat;
background-size: 16px;
white-space: pre-wrap;
}
.warning_message {
- background-image: url(../../default/images/dialog_warning.png);
+ background-image: url(images/dialog_warning.png);
}
.error_message {
font-weight: bold;
- background-image: url(../../default/images/dialog_error.png);
+ background-image: url(images/dialog_error.png);
}
.info_message {
- background-image: url(../../default/images/dialog_info.png);
+ background-image: url(images/dialog_info.png);
}
.help_message {
- background-image: url(../../default/images/dialog_help.png);
+ background-image: url(images/dialog_help.png);
}
.info_message .discard {
float:right;
Copied: trunk/egroupware/api/templates/default/login.tpl (from r56033, trunk/phpgwapi/templates/default/login.tpl)
URL: http://svn.stylite.de/viewvc/egroupware/trunk/egroupware/api/templates/default/login.tpl?p2=trunk/egroupware/api/templates/default/login.tpl&p1=trunk/phpgwapi/templates/default/login.tpl&r1=56033&r2=56036&rev=56036&view=diff
==============================================================================
--- trunk/phpgwapi/templates/default/login.tpl (original)
+++ trunk/egroupware/api/templates/default/login.tpl Thu May 5 15:29:41 2016
@@ -21,7 +21,7 @@
-
+
|
Modified: trunk/phpgwapi/inc/class.egw_framework.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/phpgwapi/inc/class.egw_framework.inc.php?rev=56036&r1=56035&r2=56036&view=diff
==============================================================================
--- trunk/phpgwapi/inc/class.egw_framework.inc.php (original)
+++ trunk/phpgwapi/inc/class.egw_framework.inc.php Thu May 5 15:29:41 2016
@@ -22,6 +22,18 @@
abstract class egw_framework extends Api\Framework
{
/**
+ * Constructor
+ *
+ * @param string $template
+ */
+ function __construct($template)
+ {
+ parent::__construct($template);
+
+ $this->template_dir = '/phpgwapi/templates/'.$template;
+ }
+
+ /**
* Set/get Content-Security-Policy attributes for script-src: 'unsafe-eval' and/or 'unsafe-inline'
*
* Using CK-Editor currently requires both to be set :(
Modified: trunk/phpgwapi/templates/idots/class.idots_framework.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/phpgwapi/templates/idots/class.idots_framework.inc.php?rev=56036&r1=56035&r2=56036&view=diff
==============================================================================
--- trunk/phpgwapi/templates/idots/class.idots_framework.inc.php (original)
+++ trunk/phpgwapi/templates/idots/class.idots_framework.inc.php Thu May 5 15:29:41 2016
@@ -102,9 +102,11 @@
// the instanciation of the template has to be here and not in the constructor,
// as the old Template class has problems if restored from the session (php-restore)
- $this->tpl = new Template(EGW_TEMPLATE_DIR,'keep');
+ $this->tpl = new Template(EGW_SERVER_ROOT.'/api/templates/default', 'keep');
$this->tpl->set_file(array('_head' => 'head.tpl'));
$this->tpl->set_block('_head','head');
+ // now that head.tpl is loaded, switch to idots template dir
+ $this->tpl->set_root(EGW_TEMPLATE_DIR);
if (html::$ua_mobile)
{
Added: trunk/phpgwapi/templates/idots/css/idots.css
URL: http://svn.stylite.de/viewvc/egroupware/trunk/phpgwapi/templates/idots/css/idots.css?rev=56036&view=auto
==============================================================================
--- trunk/phpgwapi/templates/idots/css/idots.css (added)
+++ trunk/phpgwapi/templates/idots/css/idots.css Thu May 5 15:29:41 2016
@@ -1,0 +1,1 @@
+/*@import url("/api/templates/default/css/default.css");*/
Propchange: trunk/phpgwapi/templates/idots/css/idots.css
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/phpgwapi/templates/idots/css/idots.css
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Added: trunk/phpgwapi/templates/idots/css/traditional.css
URL: http://svn.stylite.de/viewvc/egroupware/trunk/phpgwapi/templates/idots/css/traditional.css?rev=56036&view=auto
==============================================================================
--- trunk/phpgwapi/templates/idots/css/traditional.css (added)
+++ trunk/phpgwapi/templates/idots/css/traditional.css Thu May 5 15:29:41 2016
@@ -1,0 +1,1 @@
+/*@import url("/api/templates/default/default.css");*/
Propchange: trunk/phpgwapi/templates/idots/css/traditional.css
------------------------------------------------------------------------------
svn:eol-style = native
Propchange: trunk/phpgwapi/templates/idots/css/traditional.css
------------------------------------------------------------------------------
svn:keywords = Author Date Id Rev URL
Modified: trunk/setup/inc/class.setup_header.inc.php
URL: http://svn.stylite.de/viewvc/egroupware/trunk/setup/inc/class.setup_header.inc.php?rev=56036&r1=56035&r2=56036&view=diff
==============================================================================
--- trunk/setup/inc/class.setup_header.inc.php (original)
+++ trunk/setup/inc/class.setup_header.inc.php Thu May 5 15:29:41 2016
@@ -78,7 +78,7 @@
$GLOBALS['egw_info']['server']['show_domain_selectbox'] = false;
$GLOBALS['egw_info']['server']['db_persistent'] = True;
- $GLOBALS['egw_info']['login_template_set'] = 'idots';
+ $GLOBALS['egw_info']['login_template_set'] = 'default';
$GLOBALS['egw_info']['server']['mcrypt_enabled'] = False;
$GLOBALS['egw_info']['server']['versions']['mcrypt'] = '';
$GLOBALS['egw_info']['server']['mcrypt_iv'] = $this->generate_mcyrpt_iv();
Modified: trunk/setup/templates/default/head.tpl
URL: http://svn.stylite.de/viewvc/egroupware/trunk/setup/templates/default/head.tpl?rev=56036&r1=56035&r2=56036&view=diff
==============================================================================
--- trunk/setup/templates/default/head.tpl (original)
+++ trunk/setup/templates/default/head.tpl Thu May 5 15:29:41 2016
@@ -13,7 +13,7 @@
-
+
------------------------------------------------------------------------------
Find and fix application performance issues faster with Applications Manager
Applications Manager provides deep performance insights into multiple tiers of
your business applications. It resolves application problems quickly and
reduces your MTTR. Get your free trial!
https://ad.doubleclick.net/ddm/clk/302982198;130105516;z
_______________________________________________
eGroupWare-cvs mailing list
eGroupWare-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/egroupware-cvs