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

This commit is contained in:
Ralf Becker 2016-05-05 13:29:41 +00:00
parent 8e880babe5
commit 33605585e2
26 changed files with 724 additions and 38 deletions

View File

@ -87,7 +87,7 @@ abstract class Framework extends Framework\Extra
{
$GLOBALS['egw']->framework = $this;
}
$this->template_dir = '/phpgwapi/templates/'.$template;
$this->template_dir = '/api/templates/'.$template;
$this->template_dirs[] = $template;
$this->template_dirs[] = 'default';
@ -119,26 +119,25 @@ abstract class Framework extends Framework\Extra
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
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=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 @@ abstract class Framework extends Framework\Extra
$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('phpgwapi',$GLOBALS['egw_info']['server']['favicon_file']?$GLOBALS['egw_info']['server']['favicon_file']:'favicon.ico');
$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'] &&

View File

@ -0,0 +1,182 @@
<?php
/**
* EGroupware minimal default template used to render login screen, if template does not provide own
*
* @link http://www.egroupware.org
* @author Ralf Becker <RalfBecker-AT-outdoor-training.de> rewrite in 12/2006
* @license http://opensource.org/licenses/gpl-license.php GPL - GNU General Public License
* @package api
* @subpackage framework
* @access public
* @version $Id$
*/
namespace EGroupware\Api\Framework;
use EGroupware\Api;
/**
* minimal default template used to render login screen, if template does not provide own
*/
class Minimal extends Api\Framework
{
/**
* Instance of the phplib Template class for the API's template dir (EGW_TEMPLATE_DIR)
*
* @var Template
*/
var $tpl;
/**
* Constructor
*
* @param string $template ='default' name of the template
* @return idots_framework
*/
function __construct($template='default')
{
parent::__construct($template); // call the constructor of the extended class
}
/**
* Returns the html-header incl. the opening body tag
*
* @param array $extra =array() extra attributes passed as data-attribute to egw.js
* @return string with html
*/
function header(array $extra=array())
{
// make sure header is output only once
if (self::$header_done) return '';
self::$header_done = true;
// js stuff is not needed by login page or in popups
$GLOBALS['egw_info']['flags']['js_link_registry'] =
!(in_array($GLOBALS['egw_info']['flags']['currentapp'], array('login', 'logout', 'setup')) ||
$GLOBALS['egw_info']['flags']['nonavbar'] === 'popup');
//error_log(__METHOD__."() ".__LINE__.' js_link_registry='.array2string($GLOBALS['egw_info']['flags']['js_link_registry']).' '.function_backtrace());
$this->send_headers();
// catch error echo'ed before the header, ob_start'ed in the header.inc.php
$content = ob_get_contents();
ob_end_clean();
// 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_SERVER_ROOT.$this->template_dir, 'keep');
$this->tpl->set_file(array('_head' => 'head.tpl'));
$this->tpl->set_block('_head','head');
$this->tpl->set_var($this->_get_header($extra));
$content .= $this->tpl->fp('out','head');
return $content;
}
/**
* Returns the html from the body-tag til the main application area (incl. opening div tag)
*
* @return string with html
*/
function navbar()
{
return '';
}
/**
* Return true if we are rendering the top-level EGroupware window
*
* A top-level EGroupware window has a navbar: eg. no popup and for a framed template (jdots) only frameset itself
*
* @return boolean $consider_navbar_not_yet_called_as_true=true
* @return boolean
*/
public function isTop($consider_navbar_not_yet_called_as_true=true)
{
unset($consider_navbar_not_yet_called_as_true);
return true;
}
/**
* Add menu items to the topmenu template class to be displayed
*
* @param array $app application data
* @param mixed $alt_label string with alternative menu item label default value = null
* @param string $urlextra string with alternate additional code inside <a>-tag
* @access protected
* @return void
*/
function _add_topmenu_item(array $app_data,$alt_label=null)
{
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
* @access protected
* @return void
*/
function _add_topmenu_info_item($content, $id=null)
{
unset($content, $id);
}
/**
* 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)
return "</body>\n</html>\n"; // close body and html tag, eg. for popups
}
/**
* 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);
}
/**
* called by hooks to add an icon in the topmenu info location
*
* @param string $id unique element id
* @param string $icon_src src of the icon image. Make sure this nog height then 18pixels
* @param string $iconlink where the icon links to
* @param booleon $blink set true to make the icon blink
* @param mixed $tooltip string containing the tooltip html, or null of no tooltip
* @access public
* @return void
*/
function topmenu_info_icon($id,$icon_src,$iconlink,$blink=false,$tooltip=null)
{
unset($id, $icon_src, $iconlink, $blink, $tooltip);
}
/**
* Return javascript (eg. for onClick) to open manual with given url
*
* @param string $url
* @return string
*/
function open_manual_js($url)
{
return "egw_openWindowCentered2('$url','manual',800,600,'yes')";
}
}

View File

@ -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 @@ a:link, a:visited, select, input, textarea {
padding-left: 8px;
}
.divLoginboxHeader {
background-image: url(images/gradient22.png);
background-image: url(../images/gradient22.png);
}
#menu1Container{
position: absolute;

View File

@ -574,10 +574,10 @@ Preferences tabs
/* 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 @@ div.prompt, table.prompt {
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 @@ div.prompt, table.prompt {
}
.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 @@ tr.draggedOver td {
}
.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 @@ tr.draggedOver td {
.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 @@ tr.draggedOver td {
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 @@ td.lettersearch {
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 @@ td.lettersearch {
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;

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 393 B

View File

@ -0,0 +1,74 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="16"
height="8"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="Neues Dokument 1">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="1.06"
inkscape:cx="-123.46433"
inkscape:cy="113.30747"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1600"
inkscape:window-height="823"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="5"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1044.3622)">
<path
style="fill:#5b5b5b;fill-opacity:1;stroke:#3a3a3a;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 0.75446427,1045.3622 6.00000033,3 -6.00000033,3 z"
id="path2987"
inkscape:connector-curvature="0" />
<path
style="fill:#5b5b5b;fill-opacity:1;stroke:#3a3a3a;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1"
d="m 15,1045.1392 -2.999999,6 -2.999997,-6 z"
id="path2987-7"
inkscape:connector-curvature="0" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 202 B

View File

@ -0,0 +1,169 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="32"
height="32"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="focused_hatching.svg"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/focused_hatching.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="7.9195959"
inkscape:cx="8.8135677"
inkscape:cy="16.76308"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1600"
inkscape:window-height="823"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="2"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-1020.3622)">
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M -2,34 34,-2"
id="path2987"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M -2,30 30,-2"
id="path2989"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M 26,-2 -2,26"
id="path2991"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 22,-2 -2,22"
id="path2993"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M 18,-2 -2,18"
id="path2995"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M -2,14 14,-2"
id="path2997"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 10,-2 -2,10"
id="path2999"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M -2,6 6,-2"
id="path3001"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 2,-2 -2,2"
id="path3003"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 34,2 2,34"
id="path3005"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M 6,34 34,6"
id="path3007"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 34,10 10,34"
id="path3009"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M 14,34 34,14"
id="path3011"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="M 34,18 18,34"
id="path3013"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="M 22,34 34,22"
id="path3015"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.05801105"
d="m 34,26 -8,8"
id="path3017"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
<path
style="fill:none;stroke:#000000;stroke-width:1px;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:0.18232045"
d="m 30,34 4,-4"
id="path3019"
inkscape:connector-curvature="0"
transform="translate(0,1020.3622)" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 431 B

View File

@ -0,0 +1,97 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="128"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="header_overlay.svg"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/header_overlay.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4">
<linearGradient
id="linearGradient3755">
<stop
style="stop-color:#ffffff;stop-opacity:1;"
offset="0"
id="stop3757" />
<stop
id="stop3763"
offset="0.21804152"
style="stop-color:#ffffff;stop-opacity:1;" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="0.82098258"
id="stop3765" />
<stop
style="stop-color:#ffffff;stop-opacity:0;"
offset="1"
id="stop3759" />
</linearGradient>
<linearGradient
inkscape:collect="always"
xlink:href="#linearGradient3755"
id="linearGradient3761"
x1="30.557114"
y1="924.32532"
x2="30.557114"
y2="1052.4043"
gradientUnits="userSpaceOnUse"
gradientTransform="matrix(1.0031348,0,0,1.0015649,-0.10031348,-1.5466455)" />
</defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="43.211207"
inkscape:cy="64.846324"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="false"
inkscape:window-width="1600"
inkscape:window-height="823"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1" />
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-924.36218)">
<rect
style="fill:url(#linearGradient3761);fill-opacity:1;fill-rule:nonzero;stroke:none"
id="rect2985"
width="64"
height="128"
x="0"
y="924.36218" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 408 B

View File

@ -0,0 +1,147 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:cc="http://creativecommons.org/ns#"
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
width="64"
height="64"
id="svg2"
version="1.1"
inkscape:version="0.48.0 r9654"
sodipodi:docname="non_loaded_bg.svg"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/non_loaded_bg.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
id="defs4" />
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
inkscape:zoom="3.959798"
inkscape:cx="32.98408"
inkscape:cy="37.795705"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
inkscape:window-width="1600"
inkscape:window-height="823"
inkscape:window-x="0"
inkscape:window-y="24"
inkscape:window-maximized="1">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="8"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true" />
</sodipodi:namedview>
<metadata
id="metadata7">
<rdf:RDF>
<cc:Work
rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type
rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g
inkscape:label="Ebene 1"
inkscape:groupmode="layer"
id="layer1"
transform="translate(0,-988.36218)">
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -8,72 72,-8"
id="path3792"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -8,56 56,-8"
id="path3794"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 40,-8 -8,40"
id="path3796"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M -8,24 24,-8"
id="path3798"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 8,-8 -8,8"
id="path3800"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 72,8 8,72"
id="path3802"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 24,72 72,24"
id="path3804"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 72,40 40,72"
id="path3806"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-filename="/home/andreas/source/egroupware/trunk/egroupware/phpgwapi/js/egw_action/test/imgs/path3808.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
<path
style="fill:none;stroke:#f5f5f5;stroke-width:5;stroke-linecap:butt;stroke-linejoin:miter;stroke-opacity:1;stroke-miterlimit:4;stroke-dasharray:none"
d="M 56,72 72,56"
id="path3808"
inkscape:connector-curvature="0"
transform="translate(0,988.36218)"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 6.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 215 B

View File

Before

Width:  |  Height:  |  Size: 4.9 KiB

After

Width:  |  Height:  |  Size: 4.9 KiB

View File

@ -21,7 +21,7 @@
<input type="hidden" name="account_type" value="u" />
</td>
<td rowspan="6">
<img src="phpgwapi/templates/{template_set}/images/password.png" />
<img src="api/templates/default/images/password.png" />
</td>
</tr>
<!-- BEGIN language_select -->

View File

@ -21,6 +21,18 @@ use EGroupware\Api;
*/
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'
*

View File

@ -102,9 +102,11 @@ class idots_framework extends egw_framework
// 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)
{

View File

@ -0,0 +1 @@
/*@import url("/api/templates/default/css/default.css");*/

View File

@ -0,0 +1 @@
/*@import url("/api/templates/default/default.css");*/

View File

@ -78,7 +78,7 @@ class setup_header
$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();

View File

@ -13,7 +13,7 @@
<link rel="icon" href="../api/templates/default/images/favicon.ico" type="image/x-ico" />
<link rel="shortcut icon" href="../api/templates/default/images/favicon.ico" />
<link href="../api/templates/default/default.css" type="text/css" rel="stylesheet" />
<link href="../api/templates/default/idots.css" type="text/css" rel="stylesheet" />
<link href="../api/templates/default/css/default.css" type="text/css" rel="stylesheet" />
<!--{java_script}-->
</head>