interface/lib/classes/listform.inc.php
@@ -1,344 +1,344 @@ <?php /* Copyright (c) 2005, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of ISPConfig nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /** * Listenbehandlung * * @package listform * @author Till Brehm * @version 1.1 */ class listform { var $debug = 0; var $errorMessage; var $listDef; var $searchValues; var $pagingHTML; var $pagingValues; var $searchChanged = 0; var $module; var $dateformat = 'd.m.Y'; function loadListDef($file,$module = '') { global $app,$conf; if(!is_file($file)) die("List-Definition: $file not found."); include_once($file); $this->listDef = $liste; $this->module = $module; // Fill datasources foreach($this->listDef["item"] as $key => $field) { if(is_array($field['datasource'])) { $this->listDef["item"][$key]["value"] = $this->getDatasourceData($field); } } return true; } /** * Get the key => value array of a form filed from a datasource definitiom * * @param field = array with field definition * @param record = Dataset as array * @return key => value array for the value field of a form */ function getDatasourceData($field) { global $app; $values = array(); if($field["datasource"]["type"] == 'SQL') { // Preparing SQL string. We will replace some // common placeholders $querystring = $field["datasource"]["querystring"]; $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring); $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring); $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring); $table_idx = $this->formDef['db_table_idx']; //$querystring = str_replace("{RECORDID}",$record[$table_idx],$querystring); $app->uses("tform"); $querystring = str_replace("{AUTHSQL}",$app->tform->getAuthSQL('r'),$querystring); // Getting the records $tmp_records = $app->db->queryAllRecords($querystring); if($app->db->errorMessage != '') die($app->db->errorMessage); if(is_array($tmp_records)) { $key_field = $field["datasource"]["keyfield"]; $value_field = $field["datasource"]["valuefield"]; foreach($tmp_records as $tmp_rec) { $tmp_id = $tmp_rec[$key_field]; $values[$tmp_id] = $tmp_rec[$value_field]; } } } if($field["datasource"]["type"] == 'CUSTOM') { // Calls a custom class to validate this record if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') { $datasource_class = $field["datasource"]['class']; $datasource_function = $field["datasource"]['function']; $app->uses($datasource_class); $record = array(); $values = $app->$datasource_class->$datasource_function($field, $record); } else { $this->errorMessage .= "Custom datasource class or function is empty<br>\r\n"; } } return $values; } function getSearchSQL($sql_where = "") { global $db; // Hole Config Variablen $list_name = $this->listDef["name"]; $search_prefix = $this->listDef["search_prefix"]; // speichere Suchanfrage foreach($this->listDef["item"] as $i) { $field = $i["field"]; // hat sich die suche geändert if(isset($_REQUEST[$search_prefix.$field]) and $_REQUEST[$search_prefix.$field] != $_SESSION["search"][$list_name][$search_prefix.$field]) $this->searchChanged = 1; // suchfeld in session speichern. if(isset($_REQUEST[$search_prefix.$field])) $_SESSION["search"][$list_name][$search_prefix.$field] = $_REQUEST[$search_prefix.$field]; if($i["formtype"] == "SELECT") { if(is_array($i['value'])) { $out = '<option value=""></option>'; foreach($i['value'] as $k => $v) { $selected = ($k == $_SESSION["search"][$list_name][$search_prefix.$field] && $_SESSION["search"][$list_name][$search_prefix.$field] != '')?' SELECTED':''; $out .= "<option value='$k'$selected>$v</option>\r\n"; } } $this->searchValues[$search_prefix.$field] = $out; } else { $this->searchValues[$search_prefix.$field] = $_SESSION["search"][$list_name][$search_prefix.$field]; } } // Speichere Variablen in Objekt zum späteren einparsen in Template // $this->searchValues = $_SESSION["search"][$list_name]; foreach($this->listDef["item"] as $i) { $field = $i["field"]; //if($_REQUEST[$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_REQUEST[$search_prefix.$field].$i["suffix"]."' and"; if($_SESSION["search"][$list_name][$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_SESSION["search"][$list_name][$search_prefix.$field].$i["suffix"]."' and"; } if($sql_where != '') { $sql_where = substr($sql_where,0,-3); } else { $sql_where = "1"; } return $sql_where; } function getPagingSQL($sql_where = "1") { global $app, $conf; // Hole Config Variablen $list_name = $this->listDef["name"]; $search_prefix = $this->listDef["search_prefix"]; $records_per_page = $this->listDef["records_per_page"]; $table = $this->listDef["table"]; // setze page auf null, wenn in session nicht gesetzt if($_SESSION["search"][$list_name]["page"] == '') $_SESSION["search"][$list_name]["page"] = 0; // setze page auf wert der request variablen "page" if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $_REQUEST["page"]; // page auf 0 setzen, wenn suche sich geändert hat. if($this->searchChanged == 1) $_SESSION["search"][$list_name]["page"] = 0; $sql_von = $_SESSION["search"][$list_name]["page"] * $records_per_page; $record_count = $app->db->queryOneRecord("SELECT count(*) AS anzahl FROM $table WHERE $sql_where"); $pages = intval(($record_count["anzahl"] - 1) / $records_per_page); $vars["list_file"] = $this->listDef["file"]; $vars["page"] = $_SESSION["search"][$list_name]["page"]; $vars["last_page"] = $_SESSION["search"][$list_name]["page"] - 1; $vars["next_page"] = $_SESSION["search"][$list_name]["page"] + 1; $vars["pages"] = $pages; $vars["max_pages"] = $pages + 1; $vars["records_gesamt"] = $record_count["anzahl"]; $vars["page_params"] = $this->listDef["page_params"]; if($_SESSION["search"][$list_name]["page"] > 0) $vars["show_page_back"] = 1; if($_SESSION["search"][$list_name]["page"] <= $vars["pages"] - 1) $vars["show_page_next"] = 1; $this->pagingValues = $vars; $this->pagingHTML = $this->getPagingHTML($vars); $limit_sql = "LIMIT $sql_von, $records_per_page"; return $limit_sql; } function getPagingHTML($vars) { global $app; $content = '<a href="'.$vars["list_file"].'?page=0'.$vars["page_params"].'"><img src="../themes/iprg/images/btn_left.png" border="0"></a> '; if($vars["show_page_back"] == 1) $content .= '<a href="'.$vars["list_file"].'?page='.$vars["last_page"].$vars["page_params"].'"><img src="../themes/iprg/images/btn_back.png" border="0"></a> '; $content .= ' '.$app->lng('Page').' '.$vars["next_page"].' '.$app->lng('of').' '.$vars["max_pages"].' '; if($vars["show_page_next"] == 1) $content .= '<a href="'.$vars["list_file"].'?page='.$vars["next_page"].$vars["page_params"].'"><img src="../themes/iprg/images/btn_next.png" border="0"></a> '; $content .= '<a href="'.$vars["list_file"].'?page='.$vars["pages"].$vars["page_params"].'"> <img src="../themes/iprg/images/btn_right.png" border="0"></a>'; return $content; } function getPagingHTMLasTXT($vars) { global $app; $content = '[<a href="'.$vars["list_file"].'?page=0'.$vars["page_params"].'">|<< </a>]'; if($vars["show_page_back"] == 1) $content .= '[<< <a href="'.$vars["list_file"].'?page='.$vars["last_page"].$vars["page_params"].'">'.$app->lng('Back').'</a>] '; $content .= ' '.$app->lng('Page').' '.$vars["next_page"].' '.$app->lng('of').' '.$vars["max_pages"].' '; if($vars["show_page_next"] == 1) $content .= '[<a href="'.$vars["list_file"].'?page='.$vars["next_page"].$vars["page_params"].'">'.$app->lng('Next').' >></a>] '; $content .= '[<a href="'.$vars["list_file"].'?page='.$vars["pages"].$vars["page_params"].'"> >>|</a>]'; return $content; } function getSortSQL() { global $app, $conf; // Hole Config Variablen $sort_field = $this->listDef["sort_field"]; $sort_direction = $this->listDef["sort_direction"]; $sql_sort = ''; if($sort_field != '' && $sort_direction != '') { $sql_sort = "ORDER BY $sort_field $sort_direction"; } return $sql_sort; } function decode($record) { if(is_array($record)) { foreach($this->listDef["item"] as $field) { $key = $field["field"]; switch ($field['datatype']) { case 'VARCHAR': $record[$key] = stripslashes($record[$key]); break; case 'TEXT': $record[$key] = stripslashes($record[$key]); break; case 'DATE': if($record[$key] > 0) { $record[$key] = date($this->dateformat,$record[$key]); } else { $record[$key] = ''; } break; case 'INTEGER': $record[$key] = intval($record[$key]); break; case 'DOUBLE': $record[$key] = $record[$key]; break; case 'CURRENCY': $record[$key] = number_format($record[$key], 2, ',', ''); break; default: $record[$key] = stripslashes($record[$key]); } } } return $record; } function encode($record) { if(is_array($record)) { foreach($this->listDef["item"] as $field) { $key = $field["field"]; switch ($field['datatype']) { case 'VARCHAR': if(!is_array($record[$key])) { $record[$key] = addslashes($record[$key]); } else { $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]); } break; case 'TEXT': if(!is_array($record[$key])) { $record[$key] = addslashes($record[$key]); } else { $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]); } break; case 'DATE': if($record[$key] > 0) { list($tag,$monat,$jahr) = explode('.',$record[$key]); $record[$key] = mktime(0,0,0,$monat,$tag,$jahr); } break; case 'INTEGER': $record[$key] = intval($record[$key]); break; case 'DOUBLE': $record[$key] = addslashes($record[$key]); break; case 'CURRENCY': $record[$key] = str_replace(",",".",$record[$key]); break; } } } return $record; } } <?php /* Copyright (c) 2005, Till Brehm, projektfarm Gmbh All rights reserved. Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met: * Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution. * Neither the name of ISPConfig nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission. THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ /** * Listenbehandlung * * @package listform * @author Till Brehm * @version 1.1 */ class listform { var $debug = 0; var $errorMessage; var $listDef; var $searchValues; var $pagingHTML; var $pagingValues; var $searchChanged = 0; var $module; var $dateformat = 'd.m.Y'; function loadListDef($file,$module = '') { global $app,$conf; if(!is_file($file)) die("List-Definition: $file not found."); include_once($file); $this->listDef = $liste; $this->module = $module; // Fill datasources foreach($this->listDef["item"] as $key => $field) { if(is_array($field['datasource'])) { $this->listDef["item"][$key]["value"] = $this->getDatasourceData($field); } } return true; } /** * Get the key => value array of a form filed from a datasource definitiom * * @param field = array with field definition * @param record = Dataset as array * @return key => value array for the value field of a form */ function getDatasourceData($field) { global $app; $values = array(); if($field["datasource"]["type"] == 'SQL') { // Preparing SQL string. We will replace some // common placeholders $querystring = $field["datasource"]["querystring"]; $querystring = str_replace("{USERID}",$_SESSION["s"]["user"]["userid"],$querystring); $querystring = str_replace("{GROUPID}",$_SESSION["s"]["user"]["default_group"],$querystring); $querystring = str_replace("{GROUPS}",$_SESSION["s"]["user"]["groups"],$querystring); $table_idx = $this->formDef['db_table_idx']; //$querystring = str_replace("{RECORDID}",$record[$table_idx],$querystring); $app->uses("tform"); $querystring = str_replace("{AUTHSQL}",$app->tform->getAuthSQL('r'),$querystring); // Getting the records $tmp_records = $app->db->queryAllRecords($querystring); if($app->db->errorMessage != '') die($app->db->errorMessage); if(is_array($tmp_records)) { $key_field = $field["datasource"]["keyfield"]; $value_field = $field["datasource"]["valuefield"]; foreach($tmp_records as $tmp_rec) { $tmp_id = $tmp_rec[$key_field]; $values[$tmp_id] = $tmp_rec[$value_field]; } } } if($field["datasource"]["type"] == 'CUSTOM') { // Calls a custom class to validate this record if($field["datasource"]['class'] != '' and $field["datasource"]['function'] != '') { $datasource_class = $field["datasource"]['class']; $datasource_function = $field["datasource"]['function']; $app->uses($datasource_class); $record = array(); $values = $app->$datasource_class->$datasource_function($field, $record); } else { $this->errorMessage .= "Custom datasource class or function is empty<br>\r\n"; } } return $values; } function getSearchSQL($sql_where = "") { global $db; // Hole Config Variablen $list_name = $this->listDef["name"]; $search_prefix = $this->listDef["search_prefix"]; // speichere Suchanfrage foreach($this->listDef["item"] as $i) { $field = $i["field"]; // hat sich die suche geändert if(isset($_REQUEST[$search_prefix.$field]) and $_REQUEST[$search_prefix.$field] != $_SESSION["search"][$list_name][$search_prefix.$field]) $this->searchChanged = 1; // suchfeld in session speichern. if(isset($_REQUEST[$search_prefix.$field])) $_SESSION["search"][$list_name][$search_prefix.$field] = $_REQUEST[$search_prefix.$field]; if($i["formtype"] == "SELECT") { if(is_array($i['value'])) { $out = '<option value=""></option>'; foreach($i['value'] as $k => $v) { $selected = ($k == $_SESSION["search"][$list_name][$search_prefix.$field] && $_SESSION["search"][$list_name][$search_prefix.$field] != '')?' SELECTED':''; $out .= "<option value='$k'$selected>$v</option>\r\n"; } } $this->searchValues[$search_prefix.$field] = $out; } else { $this->searchValues[$search_prefix.$field] = $_SESSION["search"][$list_name][$search_prefix.$field]; } } // Speichere Variablen in Objekt zum späteren einparsen in Template // $this->searchValues = $_SESSION["search"][$list_name]; foreach($this->listDef["item"] as $i) { $field = $i["field"]; //if($_REQUEST[$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_REQUEST[$search_prefix.$field].$i["suffix"]."' and"; if($_SESSION["search"][$list_name][$search_prefix.$field] != '') $sql_where .= " $field ".$i["op"]." '".$i["prefix"].$_SESSION["search"][$list_name][$search_prefix.$field].$i["suffix"]."' and"; } if($sql_where != '') { $sql_where = substr($sql_where,0,-3); } else { $sql_where = "1"; } return $sql_where; } function getPagingSQL($sql_where = "1") { global $app, $conf; // Hole Config Variablen $list_name = $this->listDef["name"]; $search_prefix = $this->listDef["search_prefix"]; $records_per_page = $this->listDef["records_per_page"]; $table = $this->listDef["table"]; // setze page auf null, wenn in session nicht gesetzt if($_SESSION["search"][$list_name]["page"] == '') $_SESSION["search"][$list_name]["page"] = 0; // setze page auf wert der request variablen "page" if(isset($_REQUEST["page"])) $_SESSION["search"][$list_name]["page"] = $_REQUEST["page"]; // page auf 0 setzen, wenn suche sich geändert hat. if($this->searchChanged == 1) $_SESSION["search"][$list_name]["page"] = 0; $sql_von = $_SESSION["search"][$list_name]["page"] * $records_per_page; $record_count = $app->db->queryOneRecord("SELECT count(*) AS anzahl FROM $table WHERE $sql_where"); $pages = intval(($record_count["anzahl"] - 1) / $records_per_page); $vars["list_file"] = $this->listDef["file"]; $vars["page"] = $_SESSION["search"][$list_name]["page"]; $vars["last_page"] = $_SESSION["search"][$list_name]["page"] - 1; $vars["next_page"] = $_SESSION["search"][$list_name]["page"] + 1; $vars["pages"] = $pages; $vars["max_pages"] = $pages + 1; $vars["records_gesamt"] = $record_count["anzahl"]; $vars["page_params"] = $this->listDef["page_params"]; if($_SESSION["search"][$list_name]["page"] > 0) $vars["show_page_back"] = 1; if($_SESSION["search"][$list_name]["page"] <= $vars["pages"] - 1) $vars["show_page_next"] = 1; $this->pagingValues = $vars; $this->pagingHTML = $this->getPagingHTML($vars); $limit_sql = "LIMIT $sql_von, $records_per_page"; return $limit_sql; } function getPagingHTML($vars) { global $app; $content = '<a href="'.$vars["list_file"].'?page=0'.$vars["page_params"].'"><img src="../themes/grey/images/btn_left.png" border="0"></a> '; if($vars["show_page_back"] == 1) $content .= '<a href="'.$vars["list_file"].'?page='.$vars["last_page"].$vars["page_params"].'"><img src="../themes/grey/images/btn_back.png" border="0"></a> '; $content .= ' '.$app->lng('Page').' '.$vars["next_page"].' '.$app->lng('of').' '.$vars["max_pages"].' '; if($vars["show_page_next"] == 1) $content .= '<a href="'.$vars["list_file"].'?page='.$vars["next_page"].$vars["page_params"].'"><img src="../themes/grey/images/btn_next.png" border="0"></a> '; $content .= '<a href="'.$vars["list_file"].'?page='.$vars["pages"].$vars["page_params"].'"> <img src="../themes/grey/images/btn_right.png" border="0"></a>'; return $content; } function getPagingHTMLasTXT($vars) { global $app; $content = '[<a href="'.$vars["list_file"].'?page=0'.$vars["page_params"].'">|<< </a>]'; if($vars["show_page_back"] == 1) $content .= '[<< <a href="'.$vars["list_file"].'?page='.$vars["last_page"].$vars["page_params"].'">'.$app->lng('Back').'</a>] '; $content .= ' '.$app->lng('Page').' '.$vars["next_page"].' '.$app->lng('of').' '.$vars["max_pages"].' '; if($vars["show_page_next"] == 1) $content .= '[<a href="'.$vars["list_file"].'?page='.$vars["next_page"].$vars["page_params"].'">'.$app->lng('Next').' >></a>] '; $content .= '[<a href="'.$vars["list_file"].'?page='.$vars["pages"].$vars["page_params"].'"> >>|</a>]'; return $content; } function getSortSQL() { global $app, $conf; // Hole Config Variablen $sort_field = $this->listDef["sort_field"]; $sort_direction = $this->listDef["sort_direction"]; $sql_sort = ''; if($sort_field != '' && $sort_direction != '') { $sql_sort = "ORDER BY $sort_field $sort_direction"; } return $sql_sort; } function decode($record) { if(is_array($record)) { foreach($this->listDef["item"] as $field) { $key = $field["field"]; switch ($field['datatype']) { case 'VARCHAR': $record[$key] = stripslashes($record[$key]); break; case 'TEXT': $record[$key] = stripslashes($record[$key]); break; case 'DATE': if($record[$key] > 0) { $record[$key] = date($this->dateformat,$record[$key]); } else { $record[$key] = ''; } break; case 'INTEGER': $record[$key] = intval($record[$key]); break; case 'DOUBLE': $record[$key] = $record[$key]; break; case 'CURRENCY': $record[$key] = number_format($record[$key], 2, ',', ''); break; default: $record[$key] = stripslashes($record[$key]); } } } return $record; } function encode($record) { if(is_array($record)) { foreach($this->listDef["item"] as $field) { $key = $field["field"]; switch ($field['datatype']) { case 'VARCHAR': if(!is_array($record[$key])) { $record[$key] = addslashes($record[$key]); } else { $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]); } break; case 'TEXT': if(!is_array($record[$key])) { $record[$key] = addslashes($record[$key]); } else { $record[$key] = implode($this->tableDef[$key]['separator'],$record[$key]); } break; case 'DATE': if($record[$key] > 0) { list($tag,$monat,$jahr) = explode('.',$record[$key]); $record[$key] = mktime(0,0,0,$monat,$tag,$jahr); } break; case 'INTEGER': $record[$key] = intval($record[$key]); break; case 'DOUBLE': $record[$key] = addslashes($record[$key]); break; case 'CURRENCY': $record[$key] = str_replace(",",".",$record[$key]); break; } } } return $record; } } ?> interface/lib/config.inc.php
@@ -79,7 +79,7 @@ Themes */ $conf["theme"] = 'default'; $conf["theme"] = 'grey'; $conf["html_content_encoding"] = 'text/html; charset=iso-8859-1'; $conf["logo"] = 'themes/default/images/mydnsconfig_logo.gif'; interface/web/themes/grey/icons/copy.png
interface/web/themes/grey/icons/folder.png
interface/web/themes/grey/icons/folder_closed.png
interface/web/themes/grey/icons/mail.png
interface/web/themes/grey/icons/paste.png
interface/web/themes/grey/icons/printer.png
interface/web/themes/grey/images/Nav_top_bg_2.png
interface/web/themes/grey/images/Thumbs.dbBinary files differ
interface/web/themes/grey/images/bg_nav_1.jpg
interface/web/themes/grey/images/bg_nav_1.png
interface/web/themes/grey/images/bg_nav_2.png
interface/web/themes/grey/images/bottom.png
interface/web/themes/grey/images/btn_back.png
interface/web/themes/grey/images/btn_filter.png
interface/web/themes/grey/images/btn_left.png
interface/web/themes/grey/images/btn_next.png
interface/web/themes/grey/images/btn_right.png
interface/web/themes/grey/images/left_logo_1.png
interface/web/themes/grey/images/left_logo_2.png
interface/web/themes/grey/images/logout.png
interface/web/themes/grey/images/nav_top_bg.gif
interface/web/themes/grey/images/nav_top_bg.png
interface/web/themes/grey/images/table_head_bg.png
interface/web/themes/grey/images/x.gif
interface/web/themes/grey/printstyle.css
New file @@ -0,0 +1,27 @@ .fieldTitle { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; color: #000000; font-weight:bold; text-decoration: none; } .fielContent { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 14px; color: #000000; text-decoration: none; } h1 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 26px; font-weight:bold; color: #000000; text-decoration: none; } interface/web/themes/grey/style.css
New file @@ -0,0 +1,295 @@ .navTopSelected { background-color: #FFFFFF; border-top: 1px solid #999999; border-right: 1px solid #999999; border-bottom: 1px none #999999; border-left: 1px solid #999999; text-align: center; } .navTop { border-top: 1px none #999999; border-right: 1px none #999999; border-bottom: 1px solid #999999; border-left: 1px none #999999; } .navTopDefault { background-color: #ADADAD; border: 1px solid #999999; text-align: center; } .mainContent { background-color: #FFFFFF; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-left-style: solid; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999; } .txtNavTopDefault { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #FFFFFF; text-decoration: none; } .txtNavTopSelected { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #333333; text-decoration: none; } .navLeftHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: bold; color: #333333; text-decoration: none; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #4E70A7; border-left-color: #999999; text-align: left; } .navLeftItem { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 10px; color: #333333; text-decoration: none; line-height: 15px; } .txtNavTopHelp { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #FFFFFF; text-decoration: none; } .tblHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #333333; /*background-color: #CCCCCC;*/ background-image:url(../../themes/grey/images/table_head_bg.png); border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: none; border-bottom-style: solid; border-left-style: solid; border-top-color: #C0CCDA; border-right-color: #C0CCDA; border-bottom-color: #C0CCDA; border-left-color: #C0CCDA; } .tblFooter { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; font-weight: normal; color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: solid; border-right-style: none; border-bottom-style: none; border-left-style: none; border-top-color: #C0CCDA; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999; } .frmText11 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #333333; text-decoration: none; } .frmText11:Hover { text-decoration: underline; } textarea,input.text,select,option{ color:#000000; font-family:CourierNew,Courier,monospace; background-color:#FCFCFC; font-size:14px; font-style:normal; font-variant:normal; font-weight:normal; scrollbar-arrow-color:#FFFFFF; scrollbar-track-color:#BFCBD9; scrollbar-face-color:#BFCBD9; scrollbar-base-color:#BFCBD9; scrollbar-3dlight-color:#BFCBD9; border: 1 solid ##BFCBD9; position: relative; } .frmTextHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; font-size: 18px; color: #333333; text-decoration: none; } .frmTextSubHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-weight: bold; font-size: 12px; color: #333333; text-decoration: none; } .button { border-color : #666699 #666699 #666699 #666699; border-width : 1 1 1 1; color : Black; background-color : #FFFFFF; height : 19px; font-size : 12px; } .frmTab { border-top: 1px none #999999; border-right: 1px none #999999; border-bottom: 1px solid #C0CCDA; border-left: 1px none #999999; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; } .frmTabSelected { background-color: #FFFFFF; border-top: 1px solid #C0CCDA; border-right: 1px solid #C0CCDA; border-bottom: 1px none #999999; border-left: 1px solid #C0CCDA; text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; } .frmTabDefault { background-color: #DEE4F2; border: 1px solid #C0CCDA; text-align: center; font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; line-height: 16px; } .frmHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; font-weight: bold; color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999; } .frmSubHead { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #666666; border-top-width: 1px; border-right-width: 1px; border-bottom-width: 1px; border-left-width: 1px; border-top-style: none; border-right-style: none; border-bottom-style: solid; border-left-style: none; border-top-color: #999999; border-right-color: #999999; border-bottom-color: #999999; border-left-color: #999999; font-weight: bold; } .error { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 11px; color: #000000; border: 1px solid #CC0000; text-decoration: none; } INPUT { border: 1px solid #BFCBD9; } TEXTAREA { border: 1px solid #BFCBD9; } .fieldTitle { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; font-weight:bold; text-decoration: none; } .fielContent { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 12px; color: #000000; text-decoration: none; } h2 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 18px; color: #333333; text-decoration: none; font-weight:bold; } h3 { font-family: Verdana, Arial, Helvetica, sans-serif; font-size: 16px; color: #333333; text-decoration: none; font-weight:bold; } interface/web/themes/grey/templates/form.tpl.htm
New file @@ -0,0 +1,25 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../themes/{tmpl_var name="theme"}/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> <!-- function del_record(link) { if(window.confirm("<tmpl_var name='delete_confirmation'>")) { location.href = link; } } //--> </script> </head> <body> <form method="post" action="<tmpl_var name='form_action'>" name="myform" enctype="multipart/form-data"> <tmpl_dyninclude name="content_tpl"> </form> </body> </html> interface/web/themes/grey/templates/listpage.tpl.htm
New file @@ -0,0 +1,23 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../themes/{tmpl_var name="theme"}/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> <!-- function del_record(link) { if(window.confirm("<tmpl_var name='delete_confirmation'>")) { location.href = link; } } //--> </script> </head> <body> <tmpl_dyninclude name="content_tpl"> </body> </html> interface/web/themes/grey/templates/mail.tpl.htm
New file @@ -0,0 +1,11 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Mail</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> </head> <body> <tmpl_dyninclude name="content_tpl"> </body> </html> interface/web/themes/grey/templates/main.tpl.htm
New file @@ -0,0 +1,48 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title><tmpl_var name="app_title"></title> <meta http-equiv="Content-Type" content="{tmpl_var name='html_content_encoding'}"> <link href="themes/{tmpl_var name="theme"}/style.css" rel="stylesheet" type="text/css"> <script language= "JavaScript"> function breakout() { if (window.top != window.self) { window.top.location="index.php" } } </script> </head> <body bgcolor="#FFFFFF" leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 onLoad="breakout()"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr bgcolor="#496FA8"> <td height="30" colspan="2" align="right" valign="top" background="themes/{tmpl_var name="theme"}/images/bg_nav_1.png"><img src="themes/grey/images/left_logo_1.png" style="float:left;"><a href="login/logout.php?phpsessid=<tmpl_var name='phpsessid'>"><img src="themes/grey/images/logout.png" style="float:right;" border="0"></a></td> </tr> <tr> <td width="128" height="18" align="left" valign="middle" background="themes/{tmpl_var name="theme"}/images/nav_top_bg_2.png" ><img src="themes/grey/images/left_logo_2.png" style="float:left;"><br> </td> <td height="18" align="left" valign="bottom" bgcolor="#E3E3E3"> <table width="100%" height="18" border="0" cellpadding="0" cellspacing="0"> <tr> <tmpl_loop name="nav_top"> <tmpl_if name="active"> <td width="{tmpl_var name='tab_width'}" class="navTopSelected"><a href="#" class="txtNavTopSelected"><tmpl_var name="title"></a></td> <tmpl_else> <td width="{tmpl_var name='tab_width'}" class="navTopDefault"><a href="capp.php?mod=<tmpl_var name='module'>&phpsessid=<tmpl_var name='phpsessid'>" class="txtNavTopDefault"><tmpl_var name="title"></a></td> </tmpl_if> </tmpl_loop> <td align="right" valign="middle" class="navTop" background="themes/{tmpl_var name="theme"}/images/bg_nav_2.png"><img src="themes/{tmpl_var name="theme"}/images/x.gif" width="123" height="1"> </td> </tr> </table> </td> </tr> <tmpl_dyninclude name="module_tpl"> </table> <map name="Map"> <area shape="rect" coords="68,2,108,20" href="login/logout.php?phpsessid=<tmpl_var name='phpsessid'>"> <area shape="rect" coords="8,2,50,7" href="help/index.php?phpsessid=<tmpl_var name='phpsessid'>" target="content"> </map> </body> </html> interface/web/themes/grey/templates/module.tpl.htm
New file @@ -0,0 +1,37 @@ <tr> <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.png"> </td> <td rowspan="3" class="mainContent"> <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0"> <tr> <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td> </tr> </table> </td> </tr> <tr> <td width="128" align="right" valign="top" bgcolor="#DEDEDE"><table width="128" border="0" cellspacing="0" cellpadding="2"> <tr> <td height="10"> </td> </tr> <tr><td align="center"> <tmpl_loop name="nav_left"> <table bgcolor="#FFFFFF" width="115"> <tr> <td class="navLeftHead"><tmpl_var name="title"></td> </tr> <tr> <td> <tmpl_loop name="items"> <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br> </tmpl_loop> </td> </tr> </table> <br /> </tmpl_loop> </td></tr> </table></td> </tr> <tr> <td align="left" valign="bottom" bgcolor="#DEDEDE"><img src="themes/{tmpl_var name="theme"}/images/bottom.png" /></td> </tr> interface/web/themes/grey/templates/module_tree.tpl.htm
New file @@ -0,0 +1,38 @@ <tr> <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif"> </td> <td rowspan="3" class="mainContent"> <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0"> <tr> <td width="200"><iframe height="100%" width="100%" frameborder="0" name="navframe" src="{tmpl_var name="navframe_page"}"></iframe></td> <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td> </tr> </table> </td> </tr> <tr> <td width="128" align="right" valign="top" bgcolor="#DEE4F2"><table width="128" border="0" cellspacing="0" cellpadding="2"> <tr> <td height="10"> </td> </tr> <tr><td align="center"> <tmpl_loop name="nav_left"> <table bgcolor="#F4F6FB" width="115"> <tr> <td class="navLeftHead"><tmpl_var name="title"></td> </tr> <tr> <td> <tmpl_loop name="items"> <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br> </tmpl_loop> </td> </tr> </table> <br /> </tmpl_loop> </td></tr> </table></td> </tr> <tr> <td align="left" valign="bottom" bgcolor="#DEE4F2"> </td> </tr> interface/web/themes/grey/templates/print.tpl.htm
New file @@ -0,0 +1,12 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../themes/{tmpl_var name="theme"}/printstyle.css" rel="stylesheet" type="text/css"> </head> <body onLoad="window.print();"> <tmpl_dyninclude name="content_tpl"> </body> </html> interface/web/themes/grey/templates/searchpage.tpl.htm
New file @@ -0,0 +1,23 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../themes/{tmpl_var name="theme"}/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> <!-- function del_record(link) { if(window.confirm("<tmpl_var name='delete_confirmation'>")) { location.href = link; } } //--> </script> </head> <body> <tmpl_dyninclude name="content_tpl"> </body> </html> interface/web/themes/grey/templates/tabbed_form.tpl.htm
New file @@ -0,0 +1,70 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>42go Form</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../themes/{tmpl_var name="theme"}/style.css" rel="stylesheet" type="text/css"> <script language="JavaScript"> <!-- function changeTab(tab) { document.myform.next_tab.value = tab; document.myform.submit(); } //--> </script> </head> <body> <form method="post" action="<tmpl_var name='form_action'>" name="myform" enctype="multipart/form-data"> <table width="100%" border="0" cellspacing="0" cellpadding="2"> <tmpl_if name="form_hint"> <tr> <td class="frmTextHead"><div style="float:left;"><tmpl_var name="form_hint"></div><div style="float:right; margin-right:20px; padding:5px; border: 1px solid #BFCBD9;"><tmpl_var name="form_navibar"><!-- <a href=""><img src="../themes/grey/icons/copy.png" border="0" alt="Kopieren" /></a> <a href=""><img src="../themes/iprg/icons/paste.png" border="0" alt="Einfügen" /></a>--></div></td> </tr> <tr> <td> </td> </tr> </tmpl_if> <tr> <td><table width="100%" border="0" cellspacing="0" cellpadding="0"> <tr> <td width="2" class="frmTab"> </td> <tmpl_loop name="formTab"> <tmpl_if name="active"> <td width="<tmpl_var name='width'>" align="center" class="frmTabSelected"><a href="javascript:changeTab('<tmpl_var name='name'>')" class="frmText11"><tmpl_var name='title'></a></td> <td width="2" class="frmTab"> </td> <tmpl_else> <td width="<tmpl_var name='width'>" class="frmTabDefault"><a href="javascript:changeTab('<tmpl_var name='name'>')" class="frmText11"><tmpl_var name='title'></a></td> <td width="2" class="frmTab"> </td> </tmpl_if> </tmpl_loop> <td class="frmTab"> </td> </tr> </table></td> </tr> <tr> <td> </td> </tr> <tmpl_if name="error"> <tr> <td class="error"><tmpl_var name="error"></td> </tr> </tmpl_if> <tr> <td> <tmpl_dyninclude name="content_tpl"> </td> </tr> <tr> <td> </td> </tr> <tr> <td class="tblFooter"> </td> </tr> </table> <input type="hidden" name="next_tab" value=""> <input type="hidden" name="phpsessid" value="{tmpl_var name='phpsessid'}"> </form> </body> </html> interface/web/themes/grey/templates/vorlage_gesamt.tpl.htm
New file @@ -0,0 +1,87 @@ <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>42go</title> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <link href="../style.css" rel="stylesheet" type="text/css"> <script language= "JavaScript"> function breakout() { if (window.top != window.self) { window.top.location="index.php" } } </script> </head> <body bgcolor="#FFFFFF" leftmargin=0 topmargin=0 marginwidth=0 marginheight=0 onload="breakout()"> <table width="100%" height="100%" border="0" cellpadding="0" cellspacing="0"> <tr bgcolor="#7F99A6"> <td height="30" colspan="2" align="center" valign="top"><table width="100%" height="30" border="0" cellpadding="0" cellspacing="0"> <tr> <td align="left" valign="top"><img src="../images/mb_logo.gif" width="149" height="23"></td> <td align="right" valign="top"><img src="../images/nav_de_en.gif" width="125" height="23"></td> </tr> </table></td> </tr> <tr bgcolor="#FFFFFF"> <td height="1" colspan="2" align="center" valign="bottom"><img src="../images/x.gif" width="1" height="1"></td> </tr> <tr> <td width="128" height="18" align="left" valign="middle" bgcolor="#003050"><img src="../images/login_logout.gif" width="109" height="18"><br> </td> <td height="18" align="left" valign="bottom" bgcolor="#003050"> <table width="100%" height="18" border="0" cellpadding="0" cellspacing="0"> <tr> <tmpl_loop name="nav_top"> <tmpl_if name="active"> <td width="100" class="navTopSelected"><a href="#" class="txtNavTopSelected"><tmpl_var name="title"></a></td> <td width="2" class="navTop"> </td> <tmpl_else> <td width="100" class="navTopDefault"><a href="capp.php?mod=<tmpl_var name='module'>&phpsessid=<tmpl_var name='phpsessid'>" class="txtNavTopDefault"><tmpl_var name="title"></a></td> <td width="2" class="navTop"> </td> </tmpl_if> </tmpl_loop> <td align="right" valign="middle" class="navTop"><img src="../images/mp_logo.gif" width="111" height="18"> </td> </tr> </table> </td> </tr> <!-- BEGIN MODULE --> <tr> <td width="128" height="26" background="themes/{tmpl_var name="theme"}/images/nav_top_bg.gif"> </td> <td rowspan="3" class="mainContent"> <table width="100%" height="100%" border="0" cellpadding="20" cellspacing="0"> <tr> <td><iframe height="100%" width="100%" frameborder="0" name="content" src="{tmpl_var name="startpage"}"></iframe></td> </tr> </table> </td> </tr> <tr> <td width="128" align="right" valign="top" bgcolor="#EEEEEE"><table width="115" border="0" cellspacing="0" cellpadding="2"> <tr> <td height="34"> </td> </tr> <tmpl_loop name="nav_left"> <tr> <td class="navLeftHead"><tmpl_var name="title"></td> </tr> <tr> <td> <tmpl_loop name="items"> <a href="<tmpl_var name='link'>" class="navLeftItem" target="<tmpl_var name='target'>"><tmpl_var name="title"></a><br> </tmpl_loop> </td> </tr> </tmpl_loop> </table></td> </tr> <tr> <td align="left" valign="bottom" bgcolor="#EEEEEE"><img src="../images/ipr_logo.gif" width="121" height="53"></td> </tr> <!-- END MODULE --> </table> </body> </html>