PM 2.0 Skin feature. The green now becomes classic and it is possible to have Skins under PATH_DATA /skins each skin folder has a configuration file, layout htmls, css and images

This commit is contained in:
Hugo Loza
2011-02-28 16:08:15 +00:00
parent 1d2ab61a71
commit 49b9c52546
25 changed files with 20930 additions and 193 deletions

File diff suppressed because it is too large Load Diff

View File

@@ -1,7 +1,7 @@
<?php
/**
* class.headPublisher.php
* @package gulliver.system
* @package gulliver.system
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2011 Colosa Inc.
@@ -62,7 +62,7 @@ class headPublisher {
files :""
});';
var $headerScript = '
try{
try{
leimnud.exec(leimnud.fix.memoryLeak);
if(leimnud.browser.isIphone){
leimnud.iphone.make();
@@ -251,7 +251,7 @@ class headPublisher {
/**
* Function includeExtJs
* with this function we are using the ExtJs library, this library is not compatible with
* with this function we are using the ExtJs library, this library is not compatible with
* previous libraries, for that reason oHeadPublisher will clear previous libraries like maborak
* we need to check if we need the language file
* this function returns the header needed to render a page using ExtJs
@@ -266,13 +266,13 @@ class headPublisher {
$head .= " <script type='text/javascript' src='/js/ext/ext-base.js'></script>\n";
$head .= " <script type='text/javascript' src='/js/ext/ext-all.js'></script>\n";
// $head .= " <script type='text/javascript' src='/js/ext/ux/ux-all.js'></script>\n";
/*
/*
if (isset ( $this->extJsLibrary ) && is_array ( $this->extJsLibrary )) {
foreach ( $this->extJsLibrary as $file ) {
$head .= " <script type='text/javascript' src='/js/ext/" . $file . ".js'></script>\n";
}
}
*/
*/
$head .= " <script type='text/javascript' src='/js/ext/draw2d.js'></script>\n";
//$head .= " <script type='text/javascript' src='/js/ext/wz_jsgraphics.js'></script>\n";
@@ -289,15 +289,15 @@ class headPublisher {
//$this->extJsSkin = 'gtheme';
}
$head .= $this->getExtJsStylesheets();
//$head .= $this->getExtJsStylesheets();
$head .= $this->getExtJsScripts();
$head .= $this->getExtJsVariablesScript();
return $head;
}
function getExtJsStylesheets(){
$script = " <link rel='stylesheet' type='text/css' href='/css/classic.css' />\n";
function getExtJsStylesheets($skinName){
$script = " <link rel='stylesheet' type='text/css' href='/css/$skinName.css' />\n";
/*
$script .= " <link rel='stylesheet' type='text/css' href='/skins/ext/ext-all-notheme.css' />\n";
$script .= " <link rel='stylesheet' type='text/css' href='/skins/ext/" . $this->extJsSkin.".css' />\n";
@@ -311,14 +311,14 @@ class headPublisher {
//new interactive css decorator
$script .= " <link rel='stylesheet' type='text/css' href='/gulliver/loader?t=extjs-cssExtended&s=".$this->extJsSkin."' />\n";
$script .= " <link rel='stylesheet' type='text/css' href='/images/icons_silk/sprite.css' />\n";
*/
*/
// Load external/plugin css
// NOTE is necesary to move this to decorator server
$oPluginRegistry = & PMPluginRegistry::getSingleton ();
$registeredCss=$oPluginRegistry->getRegisteredCss();
foreach($registeredCss as $cssFile){
$script .= " <link rel='stylesheet' type='text/css' href='" . $cssFile->sCssFile . ".css' />\n";
}
// NOTE is necesary to move this to decorator server
//$oPluginRegistry = & PMPluginRegistry::getSingleton ();
//$registeredCss=$oPluginRegistry->getRegisteredCss();
//foreach($registeredCss as $cssFile){
// $script .= " <link rel='stylesheet' type='text/css' href='" . $cssFile->sCssFile . ".css' />\n";
//}
return $script;
}
@@ -376,7 +376,7 @@ class headPublisher {
/**
* Function setExtSkin
* with this function we are using the ExtJs library, this library is not compatible with
* with this function we are using the ExtJs library, this library is not compatible with
* previous libraries, for that reason oHeadPublisher will clear previous libraries like maborak
* we need to check if we need the language file
*
@@ -431,7 +431,7 @@ class headPublisher {
$cacheName = str_replace ( '/', '_', $filename );
$cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js';
file_put_contents ( $cacheFilename, file_get_contents ( $jsFilename ) );
}
}
else {
$cacheName = md5 ( $mtime . $jsFilename );
$cacheFilename = PATH_C . 'ExtJs' . PATH_SEP . $cacheName . '.js';
@@ -500,7 +500,7 @@ class headPublisher {
if (isset ( $this->extJsContent ) && is_array ( $this->extJsContent )) {
foreach ( $this->extJsContent as $key => $file ) {
$sPath = PATH_TPL;
//if the template file doesn't exists, then try with the plugins folders
//if the template file doesn't exists, then try with the plugins folders
if (! is_file ( $sPath . $file . ".html" )) {
$aux = explode ( PATH_SEP, $file );
//check if G_PLUGIN_CLASS is defined, because publisher can be called without an environment

View File

@@ -1,10 +1,10 @@
<?php
/**
* paths.php
*
*
* ProcessMaker Open Source Edition
* Copyright (C) 2004 - 2008 Colosa Inc.23
*
*
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Affero General Public License as
* published by the Free Software Foundation, either version 3 of the
@@ -14,13 +14,13 @@
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
* GNU Affero General Public License for more details.
*
*
* You should have received a copy of the GNU Affero General Public License
* along with this program. If not, see <http://www.gnu.org/licenses/>.
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
*
* For more information, contact Colosa Inc, 2566 Le Jeune Rd.,
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*
*/
//***************** System Directories & Paths **************************
@@ -36,13 +36,14 @@
define( 'PATH_THIRDPARTY', PATH_GULLIVER_HOME . 'thirdparty' . PATH_SEP );
define( 'PATH_RBAC', PATH_RBAC_HOME . 'engine' . PATH_SEP . 'classes' . PATH_SEP ); //to enable rbac version 2
define( 'PATH_RBAC_CORE', PATH_RBAC_HOME . 'engine' . PATH_SEP );
define( 'PATH_RBAC_CORE', PATH_RBAC_HOME . 'engine' . PATH_SEP );
define( 'PATH_HTML', PATH_HOME . 'public_html' . PATH_SEP );
//***************** PM Paths CORE **************************
define( 'PATH_CORE', PATH_HOME . 'engine' . PATH_SEP );
define( 'PATH_SKINS', PATH_CORE . 'skins' . PATH_SEP );
define( 'PATH_SKIN_ENGINE', PATH_CORE . 'skinEngine' . PATH_SEP );
define( 'PATH_METHODS', PATH_CORE . 'methods' . PATH_SEP );
define( 'PATH_XMLFORM', PATH_CORE . 'xmlform' . PATH_SEP );
define( 'PATH_PLUGINS', PATH_CORE . 'plugins' . PATH_SEP );
@@ -80,6 +81,8 @@
require_once ( FILE_PATHS_INSTALLED );
define( 'PATH_LANGUAGECONT', PATH_DATA . "META-INF" . PATH_SEP );
define( 'PATH_CUSTOM_SKINS',PATH_DATA . 'skins' . PATH_SEP );
// TODO: This path defines where to save temporal data, similar to $_SESSION.
define( 'PATH_TEMPORAL', PATH_C . 'dynEditor/');

View File

@@ -0,0 +1,44 @@
<?php
if (! isset ( $_REQUEST ['action'] )) {
$res ['success'] = 'failure';
$res ['message'] = 'You may request an action';
print G::json_encode ( $res);
die ();
}
if (! function_exists ( $_REQUEST ['action'] )) {
$res ['success'] = 'failure';
$res ['message'] = 'The requested action doesn\'t exists';
print G::json_encode ( $res );
die ();
}
$functionName = $_REQUEST ['action'];
$functionParams = isset ( $_REQUEST ['params'] ) ? $_REQUEST ['params'] : array ();
$functionName ( $functionParams );
function updatePageSize(){
G::LoadClass('configuration');
$c = new Configurations();
$arr['pageSize'] = $_REQUEST['size'];
$arr['dateSave'] = date('Y-m-d H:i:s');
$config = Array();
$config[] = $arr;
$c->aConfig = $config;
$c->saveConfig('calendarList', 'pageSize','',$_SESSION['USER_LOGGED']);
echo '{success: true}';
}
function skinList(){
$skinListArray=array();
$customSkins=glob(PATH_CUSTOM_SKINS."*");
foreach($customSkins as $skin){
if(is_dir($skin)){
$res['CALENDAR_UID']=$skin;
$res['CALENDAR_NAME']=basename($skin);
$skinListArray['cals'][]=$res;
}
}
print_r(G::json_encode($skinListArray));
}

View File

@@ -22,6 +22,33 @@
* Coral Gables, FL, 33134, USA, or email info@colosa.com.
*
*/
if($RBAC->userCanAccess('PM_SETUP') != 1 && $RBAC->userCanAccess('PM_SETUP_ADVANCE') != 1){
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
//G::header('location: ../login/login');
die;
}
$G_MAIN_MENU = 'processmaker';
$G_SUB_MENU = 'setup';
$G_ID_MENU_SELECTED = 'SETUP';
$G_ID_SUB_MENU_SELECTED = 'CALENDAR';
$G_PUBLISH = new Publisher;
G::LoadClass('configuration');
$c = new Configurations();
$configPage = $c->getConfiguration('skinList', 'pageSize','',$_SESSION['USER_LOGGED']);
$Config['pageSize'] = isset($configPage['pageSize']) ? $configPage['pageSize'] : 20;
$oHeadPublisher =& headPublisher::getSingleton();
$oHeadPublisher->addExtJsScript('setup/skinList', false); //adding a javascript file .js
$oHeadPublisher->addContent('setup/skinList'); //adding a html file .html.
$oHeadPublisher->assign('CONFIG', $Config);
G::RenderPage('publish', 'extJs');
die;
global $RBAC;
$access = $RBAC->userCanAccess('PM_SETUP');
if( $access != 1 ){
@@ -41,9 +68,9 @@ if( $access != 1 ){
G::SendTemporalMessage('ID_USER_HAVENT_RIGHTS_PAGE', 'error', 'labels');
G::header('location: ../login/login');
die;
break;
break;
}
}
}
// lets display the items
$items[] = array ( 'id' => 'char', 'title' => 'char', 'type' => 'char', 'creator' => 'char' ,
'modifiedBy' => 'char', 'filename' => 'char', 'size' => 'char', 'mime' => 'char');
@@ -52,6 +79,7 @@ if( $access != 1 ){
$aFiles = array ();
if ($handle = opendir( PATH_SKINS )) {
while ( false !== ($file = readdir($handle))) {
G::pr($file);
$filename = substr ( $file,0, strrpos($file, '.'));
// list of no complete skins
@@ -88,14 +116,14 @@ if( $access != 1 ){
$linkPackValue = G::LoadTranslation('ID_EXPORT') ;
$link = 'skinsExport?id=' . $key ;
$items[] = array (
'id' => count($items),
'name' => $key,
$items[] = array (
'id' => count($items),
'name' => $key,
'filename' => $key,
'description' => $description,
'version' => $version,
'url' => $link,
'linkPackValue' => $linkPackValue
'linkPackValue' => $linkPackValue
);
}
$folders['items'] = $items;

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,56 @@
<?xml version="1.0" encoding="UTF-8"?>
<skinConfiguration>
<information>
<name></name>
<author></author>
<version></version></information>
<cssFiles>
<skin>
<cssFile file="style.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie.css"
enabledBrowsers="ie" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css"
enabledBrowsers="ALL" disabledBrowsers="ie"></cssFile>
</skin>
<blank>
<cssFile file="style.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie.css"
enabledBrowsers="ie" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css"
enabledBrowsers="ALL" disabledBrowsers="ie"></cssFile>
</blank>
<raw>
</raw>
<submenu>
<cssFile file="style.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie.css"
enabledBrowsers="ie" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css"
enabledBrowsers="ALL" disabledBrowsers="ie"></cssFile>
</submenu>
<tracker>
<cssFile file="style.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie.css"
enabledBrowsers="ie" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css"
enabledBrowsers="ALL" disabledBrowsers="ie"></cssFile>
</tracker>
<extjs>
<cssFile file="xtheme-gray.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="pmos-xtheme-gray.css" enabledBrowsers="ALL"
disabledBrowsers=""></cssFile>
<cssFile file="sprite_ie.css"
enabledBrowsers="ie" disabledBrowsers="ALL"></cssFile>
<cssFile file="sprite.css"
enabledBrowsers="ALL" disabledBrowsers="ie"></cssFile>
</extjs>
</cssFiles>
</skinConfiguration>

View File

@@ -0,0 +1,125 @@
/*!
* Ext JS Library 3.2.1
* Copyright(c) 2006-2010 Ext JS, Inc.
* licensing@extjs.com
* http://www.extjs.com/license
*/
/*
* FileUploadField component styles
*/
.x-form-file-wrap {
position: relative;
height: 22px;
}
.x-form-file-wrap .x-form-file {
position: absolute;
right: 0;
-moz-opacity: 0;
filter:alpha(opacity: 0);
opacity: 0;
z-index: 2;
height: 22px;
}
.x-form-file-wrap .x-form-file-btn {
position: absolute;
right: 0;
z-index: 1;
}
.x-form-file-wrap .x-form-file-text {
position: absolute;
left: 0;
z-index: 3;
color: #777;
}
.x-locationbar {
padding-left: 5px;
}
.x-locationbar .x-locationbar-location {
background-color: white;
border-top: 1px solid #96969D;
border-bottom: 1px solid #96969D;
}
.x-locationbar .x-locationbar-location-first {
border-left: 1px solid #96969D;
}
.x-locationbar .x-locationbar-location-last {
border-right: 1px solid #96969D;
}
.x-locationbar-folder-icon {
background-image: url("/skins/ext/images/gray/locationbar/location_folder.png") !important;
}
.x-locationbar-back-icon {
background-image: url("/skins/ext/images/gray/locationbar/location_back.png") !important;
}
.x-locationbar-forward-icon {
background-image: url("/skins/ext/images/gray/locationbar/location_forward.png") !important;
}
.x-locationbar-reload-icon {
background-image: url("/skins/ext/images/gray/locationbar/location_reload.png") !important;
}
.x-locationbar .x-btn-menu-arrow-wrap .x-btn-center button {
background:transparent url(/skins/ext/images/gray/locationbar/btn-arrow.gif) no-repeat scroll 0pt 3px;
width: 12px;
}
.x-locationbar .x-btn-menu-active .x-btn-menu-arrow-wrap .x-btn-center button {
background-position: 0pt -97px;
}
.x-locationbar .x-btn-click .x-btn-center,
.x-locationbar .x-btn-pressed .x-btn-center,
.x-locationbar .x-btn-menu-active .x-btn-center {
background:transparent url(/skins/ext/images/gray/locationbar/tb-btn-sprite.gif) repeat-x scroll 0pt -105px;
}
/*Los botones de EXT solamente s even iguales en los x-form*/
.x-window button.x-btn-text,.x-form-label-right button.x-btn-text,.x-form button.x-btn-text{
color:#333;
font-size:10px;
font-weight:400;
}
.x-window .x-btn-small,.x-form-label-right .x-btn-small,.x-form .x-btn-small{
-moz-box-shadow:0 1px 2px rgba(0,0,0,0.2);
-webkit-box-shadow:0 1px 2px rgba(0,0,0,0.2);
}
.x-panel-header-text{
text-shadow:#fff 0px 1px 1px;
color:#444;
}
/*Texto en ExtJS*/
.x-btn-text,.xtb-text{
color:#333;
}
.x-btn-pressed .x-btn-text{
color:#000;
}
/*Tabs con ícono en EXT*/
.x-tab-strip span.x-tab-strip-text{
padding:4px 0;
font-weight: normal;
}
.ext-gecko .x-tab-strip span.x-tab-strip-text,
.ext-webkit .x-tab-strip span.x-tab-strip-text{
height:12px;
}
button.x-btn-text:focus,.x-combo-selected{
-moz-outline-style:none;
outline:none;
}
.icon-activate{
background-image: url("/images/activate.png");
}
.icon-deactivate{
background-image: url("/images/deactivate.png");
}
.icon-debug{
background-image: url("/images/debug.png");
}
.icon-debug-disabled{
background-image: url("/images/debug_disabled.png");
}

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,70 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
{header}
<style>
#loading-mask{
position:absolute;
left:0;
top:0;
width:100%;
height:100%;
z-index:20000;
background-color:white;
}
#loading{
position:absolute;
left:40%;
top:37%;
padding:2px;
z-index:20001;
height:auto;
}
#loading a {
color:#225588;
}
#loading .loading-indicator{
background:white;
color:#444;
font:bold 13px tahoma,arial,helvetica;
padding:10px;
margin:0;
height:auto;
}
#loading-msg {
font: bold 11px arial,tahoma,sans-serif;
}
</style>
</head>
<body>
<div id="loading-mask" style=""></div>
<div id="loading">
<div class="loading-indicator">
<center>
<img src="/images/gears.gif"/><br />
<span id="loading-msg">Loading styles and images...</span><br />
<a href="http://www.processmaker.com">
<img src="/images/processmaker.logo.jpg" border="0"/>
</a>
</center>
</div>
</div>
<script type="text/javascript">document.getElementById('loading-msg').innerHTML = 'Loading Core API...';</script>
<script type='text/javascript' src='/js/ext/ext-base.js'></script>
<script type="text/javascript">document.getElementById('loading-msg').innerHTML = 'Loading UI Components...';</script>
<script type='text/javascript' src='/js/ext/ext-all.js'></script>
<script type="text/javascript">document.getElementById('loading-msg').innerHTML = 'Loding UI Extensions';</script>
<!--
<script type='text/javascript' src='/js/ext/wz_jsgraphics.js'></script>
<script type='text/javascript' src='/js/ext/mootools.js'></script>
<script type='text/javascript' src='/js/ext/moocanvas.js'></script>
!-->
<script type='text/javascript' src='/js/ext/draw2d.js'></script>
<script type="text/javascript">document.getElementById('loading-msg').innerHTML = 'Initializing...';</script>
{styles}
{bodyTemplate}
</body>
</html>

View File

@@ -0,0 +1,24 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
{$header}
</head>
<body bgcolor="#FFFFFF" text="#000000" link="#000000" vlink="#000000" alink="#999999" marginheight="0" marginwidth="0" leftmargin="0" topmargin="0" rightmargin="0">
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="center">
{php}
global $G_TEMPLATE;
if ($G_TEMPLATE != '')
{
G::LoadTemplate($G_TEMPLATE);
}
{/php}
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,10 @@
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
{header}
</head>
<body>
{bodyTemplate}
</body>
</html>

View File

@@ -0,0 +1,16 @@
<table width="100%" cellspacing="0" cellpadding="0">
<tr>
<td width="100%" align="center">
<script type="text/javascript">
{$header}
</script>
{php}
global $G_TEMPLATE;
if ($G_TEMPLATE != '')
{
G::LoadTemplate($G_TEMPLATE);
}
{/php}
</td>
</tr>
</table>

View File

@@ -0,0 +1,44 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
{$header}
</head>
<body>
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
{if (count($subMenus)>0) }
<tr>
<td >
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td width="100%" class="mainMenuBG">{include file= "$tpl_submenu"}</td></tr>
</table>
</td>
</tr>
{/if}
<tr><td id="pm_separator" class="pm_separator"></td></tr>
<tr>
<td width="100%" align="center">
{php}
global $G_TEMPLATE;
if ($G_TEMPLATE != '') G::LoadTemplate($G_TEMPLATE);
{/php}
</td>
</tr>
</table>
</td>
</tr>
<tr height="100%">
<td height="100%" valign="bottom">
<div class="Footer">
<div class="content">{$footer}</div>
</div>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,64 @@
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="shortcut icon" href="/images/favicon.ico" type="image/x-icon"/>
<link rel="stylesheet" type="text/css" href="/skins/green/style.css"/>
{$header}
</head>
<body>
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0">
<tr>
<td id="pm_header" valign="top">
<table width="100%" height="32" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="50%" rowspan="2" valign="top"><img src="{$logo_company}"></td>
<td width="50%" height="16" align="right" valign="top">
<div align="right" class="logout"><small>{php}if ((int)$_SESSION['CASE'] != 0) {{/php}<a href="../tracker/login" class="tableOption">{php}echo G::LoadTranslation('ID_LOGOUT');{/php}</a>{php}}{/php}</small> &nbsp; &nbsp;</div>
</td>
</tr>
<tr>
<td width="50%" height="16" valign="bottom" class="title">
<div align="right"></div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td width="100%" align="left" class="mainMenu" id="pm_menu">
<table width="70%" cellpadding="0" cellspacing="0" border="0">
<tr><td class="mainMenu">&nbsp;<td>{include file= "$tpl_menu"}</td></tr>
</table>
</td>
</tr>
<tr>
<td width="100%" align="left" class="subMenu" id="pm_submenu">
<table width="50%" cellpadding="0" cellspacing="0" border="0">
<tr><td>&nbsp;&nbsp;&nbsp;<td>{include file= "$tpl_submenu"}</td></tr>
</table>
</td>
</tr>
<tr><td id="pm_separator" class="pm_separator"></td></tr>
<tr>
<td width="100%" align="center">
{php}
global $G_TEMPLATE;
if ($G_TEMPLATE != '') G::LoadTemplate($G_TEMPLATE);
{/php}
</td>
</tr>
</table>
</td>
</tr>
<tr height="100%">
<td height="100%" valign="bottom">
<div class="Footer">
<div class="content">{$footer}</div>
</div>
</td>
</tr>
</table>
</body>
</html>

View File

@@ -0,0 +1,74 @@
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
{$header}
</head>
<body>
<table width="100%" height="100%" cellpadding="0" cellspacing="0" border="0" id="pm_main_table">
<tr>
<td id="pm_header" valign="top">
<table width="100%" height="32" border="0" cellspacing="0" cellpadding="0" bgcolor="#FFFFFF">
<tr>
<td width="50%" rowspan="2" valign="top"><img src="{$logo_company}"/></td>
<td width="50%" height="16" align="right" valign="top">
<div align="right" class="logout">
<small>
{php}if ((int)$_SESSION['USER_LOGGED'] != 0) {{/php}
<label class="textBlue">{$userfullname} <a href="../users/myInfo">{$user}</a> | </label>
<a href="{$linklogout}" class="tableOption">{$logout}</a>&nbsp;&nbsp;<br/>
<label class="textBlack"><b>{$rolename}</b> {$workspace_label} <b><u>{$workspace}</u></b> &nbsp; &nbsp; <br/>
{$udate}</label>&nbsp; &nbsp;{$msgVer}
{php}}{/php}
</small>
</div>
</td>
</tr>
<tr>
<td width="50%" height="16" valign="bottom" class="title">
<div align="right"></div>
</td>
</tr>
</table>
</td>
</tr>
<tr>
<td>
<table width="100%" cellspacing="0" cellpadding="0" border="0" >
<tr>
<td width="100%" class="mainMenuBG" style="height:25px">
{include file="$tpl_menu"}
</td>
</tr>
{if (count($subMenus)>0) }
<tr>
<td >
<table width="100%" cellpadding="0" cellspacing="0" border="0">
<tr><td width="100%" class="mainMenuBG">{include file= "$tpl_submenu"}</td></tr>
</table>
</td>
</tr>
{/if}
<tr>
<td width="100%" align="center">
{php}
global $G_TEMPLATE;
if ($G_TEMPLATE != '') G::LoadTemplate($G_TEMPLATE);
{/php}
</td>
</tr>
</table>
</td>
</tr>
<tr height="100%">
<td height="100%" valign="bottom">
<div class="Footer">
<div class="content">{$footer}</div>
</div>
</td>
</tr>
</table>
</body>
</html>

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,3 @@
<div style="padding: 15px">
<div id="list-panel"></div>
</div>

File diff suppressed because it is too large Load Diff

View File

@@ -3,6 +3,6 @@
<title>Redirector</title>
<meta http-equiv="PRAGMA" content="NO-CACHE" />
<meta http-equiv="CACHE-CONTROL" content="NO-STORE" />
<meta http-equiv="REFRESH" content="0;URL=/sys/en/green/login/login.html" />
<meta http-equiv="REFRESH" content="0;URL=/sys/en/classic/login/login.html" />
</head>
</html>
</html>