Major theme rework

This commit is contained in:
Deon George 2012-01-29 17:23:24 +11:00
parent 3d1c43687c
commit 89bb9004ed
49 changed files with 663 additions and 1320 deletions

View File

@ -11,11 +11,11 @@ RewriteBase /osb/
</Files>
# Protect application and system files from being viewed
RewriteRule ^(?:application|modules|includes/kohana)\b.* kh.php/$0 [L]
RewriteRule ^(?:application|modules|includes/kohana)\b.* index.php/$0 [L]
# Allow any files or directories that exist to be displayed directly
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
# Rewrite all other URLs to kh.php/URL
RewriteRule .* kh.php/$0 [PT]
# Rewrite all other URLs to index.php/URL
RewriteRule .* index.php/$0 [PT]

View File

@ -135,8 +135,8 @@ Route::set('sections', '<directory>/<controller>(/<action>(/<id>(/<sid>)))',
// Static file serving (CSS, JS, images)
Route::set('default/media', 'media(/<file>)', array('file' => '.+'))
->defaults(array(
'controller' => 'welcome',
'action' => 'media',
'controller' => 'media',
'action' => 'get',
));
/**

View File

@ -66,5 +66,9 @@ class Config extends lnApp_Config {
public static function sitemode() {
return Config::instance()->loadsite()->so->status;
}
public static function copywrite() {
return '(c) Open Source Billing Development Team';
}
}
?>

View File

@ -0,0 +1,63 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
/**
* This class provides access to rendering media items (javascript, images and css).
*
* @package lnApp
* @subpackage Page/Media
* @category Controllers
* @author Deon George
* @copyright (c) 2010 Deon George
* @license http://dev.leenooks.net/license.html
*/
abstract class Controller_lnApp_Media extends Controller {
/**
* This action will render all the media related files for a page
*
* @return void
*/
final public function action_get() {
// Get the file path from the request
$file = $this->request->param('file');
// Find the file extension
$ext = pathinfo($file,PATHINFO_EXTENSION);
// Remove the extension from the filename
$file = substr($file,0,-(strlen($ext)+1));
$f = '';
// If our file is pathed with session, our file is in our session.
if ($fd = Session::instance()->get_once($this->request->param('file'))) {
$this->response->body($fd);
// First try and find media files for the theme-site_id
} elseif ($f = Kohana::find_file($x=sprintf('media/site/%s/theme/%s',Config::siteid(),Config::theme()),$file,$ext)) {
// Send the file content as the response
$this->response->body(file_get_contents($f));
// Try and find media files for the site_id
} elseif ($f = Kohana::find_file(sprintf('media/site/%s',Config::siteid()),$file,$ext)) {
// Send the file content as the response
$this->response->body(file_get_contents($f));
// If not found try a default media file
} elseif ($f = Kohana::find_file('media',$file,$ext)) {
// Send the file content as the response
$this->response->body(file_get_contents($f));
} else {
// Return a 404 status
$this->response->status(404);
}
// Generate and check the ETag for this file
$this->response->check_cache(NULL,$this->request);
// Set the proper headers to allow caching
$this->response->headers('Content-Type',File::mime_by_ext($ext));
$this->response->headers('Content-Length',(string)$this->response->content_length());
$this->response->headers('Last-Modified',date('r',$f ? filemtime($f) : time()));
}
}
?>

View File

@ -41,7 +41,7 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
protected $secure_actions = array(
);
public function __construct(Request $request, Response $response) {
public function __construct(Request $request,Response $response) {
// Our Menu's can run without method authentication by default.
if (! isset($this->secure_actions['menu']))
$this->secure_actions['menu'] = FALSE;
@ -122,18 +122,11 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
$this->meta = new meta;
View::bind_global('meta',$this->meta);
// Our default style sheet(s)
foreach (array('file'=>array_reverse(array(
'css/default.css',
))) as $type => $datas) {
foreach ($datas as $data) {
Style::add(array(
'type'=>$type,
'data'=>$data,
),TRUE);
}
}
// Add our logo
Style::add(array(
'type'=>'stdin',
'data'=>'h1 span{background:url('.Config::logo_uri().') no-repeat;}',
));
// Our default script(s)
foreach (array('file'=>array_reverse(array(
@ -168,27 +161,12 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
// Language
$this->meta->language = Config::instance()->so->language_id;
// Copyright
$this->meta->copywrite = Config::sitename();
// Copyright
// Description
$this->meta->description = sprintf('%s::%s',$this->request->controller(),$this->request->action());
// Style Sheets Properties
$this->meta->styles = Style::factory();
// Script Properties
$this->meta->scripts = Script::factory();
// Application logo
$this->template->logo = Config::logo();
// Link images on the header line
$this->template->headimages = $this->_headimages();
// Control Line
$this->template->control = $this->_control();
// System Messages line
$this->template->sysmsg = $this->_sysmsg();
@ -245,13 +223,6 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
return HeadImages::factory();
}
/**
* Render our control menu bar
*/
protected function _control() {
return Breadcrumb::factory();
}
protected function _sysmsg() {
return SystemMessage::factory();
}
@ -290,48 +261,5 @@ abstract class Controller_lnApp_TemplateDefault extends Controller_Template {
return $path;
}
/**
* This action will render all the media related files for a page
* @return void
*/
final public function action_media() {
// Get the file path from the request
$file = $this->request->param('file');
// Find the file extension
$ext = pathinfo($file, PATHINFO_EXTENSION);
// Remove the extension from the filename
$file = substr($file, 0, -(strlen($ext) + 1));
$f = '';
// If our file is pathed with session, our file is in our session.
if ($fd = Session::instance()->get_once($this->request->param('file'))) {
$this->response->body($fd);
// First try and find media files for the site_id
} elseif ($f = Kohana::find_file(sprintf('media/%s',Config::siteid()), $file, $ext)) {
// Send the file content as the response
$this->response->body(file_get_contents($f));
// If not found try a default media file
} elseif ($f = Kohana::find_file('media', $file, $ext)) {
// Send the file content as the response
$this->response->body(file_get_contents($f));
} else {
// Return a 404 status
$this->response->status(404);
}
// Generate and check the ETag for this file
$this->response->check_cache(NULL,$this->request);
// Set the proper headers to allow caching
$this->response->headers('Content-Type',File::mime_by_ext($ext));
$this->response->headers('Content-Length',(string)$this->response->content_length());
$this->response->headers('Last-Modified',date('r', $f ? filemtime($f) : time()));
}
}
?>

View File

@ -31,6 +31,8 @@ class Controller_lnApp_Tree extends Controller_Default {
<script type="text/javascript">
<!--
$(function () {
var use_ajax = false;
$("#tree").jstree({
themes : {
"theme" : "classic",
@ -62,6 +64,12 @@ $(function () {
id = data.rslt.obj.attr(\'id\').substr(a+1);
if (href = $("#N_"+id).attr("href")) {
if (! use_ajax) {
window.location = href;
return;
}
$("#ajBODY").empty().html("<img src=\"'.URL::site('media/img/ajax-progress.gif').'\" alt=\"Loading...\" />");
$("#ajBODY").load(href, function(r,s,x) {
if (s == "error") {

View File

@ -0,0 +1,4 @@
<?php defined('SYSPATH') or die('No direct access allowed.');
class Controller_Media extends Controller_lnApp_Media {}
?>

View File

@ -11,6 +11,13 @@
* @license http://dev.leenooks.net/license.html
*/
class Controller_TemplateDefault extends Controller_lnApp_TemplateDefault {
public function __construct(Request $request, Response $response) {
if (Config::theme())
$this->template = Config::theme().'/page';
return parent::__construct($request,$response);
}
protected function _headimages() {
// This is where we should be able to change our country
// @todo To implement

View File

@ -17,22 +17,8 @@ class Controller_Welcome extends Controller_TemplateDefault {
if (! Kohana::config('config.appname'))
Request::current()->redirect('guide/app');
Block::add(array(
'title'=>'Welcome to lnApp (public)!',
'subtitle'=>'Using lnApp',
'body'=>'Sample lnApp application',
'footer'=>'lnApp makes building websites easy! '.time(),
));
// @todo Show a login/logout on the breadcrumb
if (! Auth::instance()->logged_in()) {
Script::add(array('type'=>'stdin','data'=>'
$(document).ready(function() {
$("#ajxbody").click(function() {$("#ajBODY").load("'.URL::site('login').'",null,function(x,s,r) {}); return false;});
$("#ajBODY").ajaxSend(function() {$(this).html(\''.sprintf('%s <span class="ajaxmsg">%s<\/span>...',HTML::image('media/img/ajax-progress.gif',array('alt'=>_('Loading Login').'...')),_('Loading Login')).'\');return true;});
});'
));
}
// @todo This should be in the DB or something.
Request::current()->redirect('product/categorys');
}
public function action_breadcrumb() {

View File

@ -62,24 +62,26 @@ class lnApp_Breadcrumb extends HTMLRender {
* Render this Breadcrumb
*/
protected function render() {
// @todo Make this into a view
$output = '<table class="pagecontrol"><tr><td class="none">';
$output .= HTML::anchor('/',_('Home'));
$output = '<ul id="breadcrumb">';
$output .= '<li>'.HTML::anchor('/',_('Home')).'</li>';
$data = empty(static::$_data['path']) ? explode('/',preg_replace('/^\//','',Request::detect_uri())) : static::$_data['path'];
$c = count($data);
$i=0;
foreach ($data as $k => $v) {
$output .= static::$_spacer;
$i++;
$p = join('/',array_slice($data,0,$k+1));
$output .= $i==$c ? '<li id="active">' : '<li>';
$output .= HTML::anchor(
(empty(static::$_data['url'][$p]) ? $p : static::$_data['url'][$p]),
(empty(static::$_data['name'][$p]) ? ucfirst($v) : static::$_data['name'][$p])
);
$output .= '</li>';
}
$output .= '</td></tr></table>';
$output .= '</ul>';
return $output;
}
}

View File

@ -75,7 +75,7 @@ abstract class lnApp_Config extends Kohana_Config {
// Called in Invoice/Emailing to embed the file.
public static function logo_file() {
list ($path,$suffix) = explode('.',static::$logo);
return Kohana::find_file(sprintf('media/%s',Config::siteid()),$path,$suffix);
return ($a=Kohana::find_file(sprintf('media/site/%s',Config::siteid()),$path,$suffix)) ? $a : Kohana::find_file('media',$path,$suffix);
}
public static function logo_uri() {
@ -87,6 +87,10 @@ abstract class lnApp_Config extends Kohana_Config {
return HTML::image(static::logo_uri(),array('class'=>'headlogo','alt'=>_('Logo')));
}
public static function login_uri() {
return ($ao = Auth::instance()->get_user()) ? HTML::anchor('user/account/edit',$ao->name()) : HTML::anchor('login',_('Login'));
}
/**
* Return our caching mechanism
*/
@ -129,5 +133,9 @@ abstract class lnApp_Config extends Kohana_Config {
else
return $config[$template];
}
public static function theme() {
return Kohana::config('config.theme');
}
}
?>

View File

@ -15,6 +15,8 @@ return array(
'currency_format' => '2',
'date_format' => 'd-M-Y',
'time_format' => 'H:i:s',
'theme' => '', // @todo This should be in the DB
'email_from' => array('noreply@graytech.net.au'=>'Graytech Hosting'),
'email_admin_only'=> array(
'adsl_traffic_notice'=>array('deon@c5t61p.leenooks.vpn'=>'Deon George'),
),

View File

@ -1,322 +0,0 @@
/* Default Template CSS */
.form_button {
font-family: Verdana, Arial, Helvetica, sans-serif;
font-size: 12px;
color: #000000;
padding: 1px;
}
.highlight {
background-color: #AABBCC;
}
table.box-left { border: 1px solid #AAAACC; margin-right: auto; }
table.box-center { border: 1px solid #AAAACC; margin-left: auto; margin-right: auto; }
table.box-full { border: 1px solid #AAAACC; margin-right: auto; width: 100%; }
tr.head { font-weight: bold; }
tr.subhead { background-color: #BBBBDD; }
td.head { font-weight: bold; }
td.bold { font-weight: bold; }
td.bold-right { font-weight: bold; text-align: right; }
td.data { font-weight: bold; }
span.data { font-weight: bold; }
td.data-right { font-weight: bold; text-align: right; }
td.right { text-align: right; }
tr.odd { background-color: #FCFCFE; }
tr.even { background-color: #F6F6F8; }
tr.odd.selected { background-color: #ECECEE; }
tr.even.selected { background-color: #E6E6E8; }
/* Global Page */
table.page {
width: 100%;
border: 0px solid #000000;
font-weight: normal;
color: #000000;
font-family: "bitstream vera sans","luxi sans",verdana,geneva,arial,helvetica,sans-serif;
background-color: #FFFFFF;
font-size: 13px;
empty-cells: hide;
}
/* Page Header - Logo & Title */
table.page tr.pagehead td table.pagehead {
width: 100%;
}
table.page tr.pagehead td table.pagehead td.headlogo {
width: 100px;
height: 50px;
vertical-align: bottom;
text-align: center;
}
table.page tr.pagehead td table.pagehead img.headlogo {
border: 0px;
max-width: 100px;
max-height: 50px;
}
table.page tr.pagehead td table.pagehead td.headtitle {
vertical-align: bottom;
text-align: left;
padding-left: 5px;
font-weight: bold;
}
table.page tr.pagehead td table.pagehead td.headimages {
vertical-align: bottom;
text-align: right;
}
table.page tr.pagehead td table.pagehead td.headimages img {
border: 0px;
}
/* Page Control */
table.page tr.pagecontrol td {
border-top: 1px solid #AAAACC;
border-bottom: 1px solid #AAAACC;
}
table.page tr.pagecontrol td table.pagecontrol {
width: 100%;
}
table.page tr.pagecontrol td table.pagecontrol td.none {
border-top: 0px;
border-bottom: 0px;
font-size: 11px;
text-align: left;
vertical-align: top;
font-weight: bold;
color: #000000;
padding: 0px;
padding-top: 0px;
padding-bottom: 0px;
}
table.page tr.pagecontrol td table.pagecontrol a {
text-decoration: none;
color: #000000;
}
table.page tr.pagecontrol td table.pagecontrol a:hover {
text-decoration: none;
background-color: #FFFFFF;
color: #0000AA;
}
/* Main Page */
/** LEFT **/
table.page tr.pagemain td.pageleft {
background-color: #FCFCFE;
/* display: show; */
vertical-align: top;
border-right: 1px solid #88AACC;
}
table.page tr.pagemain td.pageleft table.pageleft table {
width: 100%;
}
table.page tr.pagemain td.pageleft table.pageleft tr.title {
text-align: center;
margin: 0px;
padding: 10px;
border: 1px solid #000000;
font-weight: bold;
font-size: 110%;
}
table.page tr.pagemain td.pageleft table.pageleft tr.footer {
font-size: 75%;
}
table.page tr.pagemain td.pageleft table.pageleft tr.footer td {
border-top: 1px solid #AAAACC;
border-bottom: 1px solid #AAAACC;
}
table.page tr.pagemain td.pageleft table.pageleft tr.spacer {
font-size: 5px;
}
table.page tr.pagemain td.pageleft table.pageleft tr.spacer td {
border-top: 2px solid #AAAACC;
}
/** BODY **/
table.page tr.pagemain td.pagebody {
background-color: #FCFCFE;
width: 85%;
vertical-align: top;
font-size: 8pt;
}
/*** Body System Message ***/
table.page tr.pagemain td.pagebody table.sysmsg {
border-bottom: 1px solid #88AACC;
width: 100%;
}
table.page tr.pagemain td.pagebody table.sysmsg table {
width: 100%;
}
table.page tr.pagemain td.pagebody table.sysmsg td.icon {
text-align: center;
vertical-align: top;
width: 25px;
height: 50px;
}
table.page tr.pagemain td.pagebody table.sysmsg td.icon img.sysicon {
border: 5px;
max-width: 25px;
max-height: 50px;
}
table.page tr.pagemain td.pagebody table.sysmsg td.head {
font-size: small;
text-align: left;
font-weight: bold;
}
table.page tr.pagemain td.pagebody table.sysmsg td.body {
font-weight: normal;
}
table.page tr.pagemain td.pagebody table.sysmsg tr.spacer {
font-size: 5px;
}
table.page tr.pagemain td.pagebody table.sysmsg tr.spacer td {
border-top: 1px solid #AAAACC;
}
/*** Body Content ***/
table.page tr.pagemain td.pagebody table.content {
font-weight: normal;
background-color: #FCFCFE;
width: 100%;
color: #000000;
}
table.page tr.pagemain td.pagebody table.content table.block {
width: 100%;
}
table.page tr.pagemain td.pagebody table.content table.block td {
vertical-align: top;
}
table.page tr.pagemain td.pagebody table.content table.subblockhead {
width: 100%;
}
table.page tr.pagemain td.pagebody table.content table.subblock {
width: 100%;
border: 1px solid #AAAACC;
}
table.page tr.pagemain td.pagebody table.content tr.title {
text-align: left;
margin: 0px;
color: #000000;
background-color: #F8F8FA;
border: 1px solid #000000;
font-weight: bold;
font-size: 150%;
}
table.page tr.pagemain td.pagebody table.content tr.title td {
padding: 5px;
border-bottom: 1px solid #AAAACC;
color: #000000;
}
table.page tr.pagemain td.pagebody table.content tr.subtitle {
text-align: left;
margin: 0px;
margin-bottom: 15px;
font-size: 75%;
color: #000000;
border-bottom: 1px solid #000000;
border-left: 1px solid #000000;
border-right: 1px solid #000000;
background: #FFFFFF;
font-weight: normal;
}
table.page tr.pagemain td.pagebody table.content tr.subtitle td {
padding: 5px;
}
table.page tr.pagemain td.pagebody table.content tr.footer {
font-size: 75%;
}
table.page tr.pagemain td.pagebody table.content tr.footer td {
border-top: 1px solid #AAAACC;
border-bottom: 1px solid #AAAACC;
padding: 5px;
}
table.page tr.pagemain td.pagebody table.content tr.spacer {
font-size: 5px;
}
table.page tr.pagemain td.pagebody table.content tr.spacer td {
border: 0px solid #AAAACC;
}
/** RIGHT **/
table.page tr.pagemain td.pageright {
background-color: #FCFCFE;
/* display: none; */
vertical-align: top;
border-left: 1px solid #88AACC;
}
table.page tr.pagemain td.pageright table.pageright table {
width: 100%;
}
table.page tr.pagemain td.pageright table.pageright tr.title {
text-align: center;
margin: 0px;
padding: 10px;
border: 1px solid #000000;
font-weight: bold;
font-size: 110%;
}
table.page tr.pagemain td.pageright table.pageright tr.footer {
font-size: 75%;
}
table.page tr.pagemain td.pageright table.pageright tr.footer td {
border-top: 1px solid #AAAACC;
border-bottom: 1px solid #AAAACC;
}
table.page tr.pagemain td.pageright table.pageright tr.spacer {
font-size: 5px;
}
table.page tr.pagemain td.pageright table.pageright tr.spacer td {
border-top: 2px solid #AAAACC;
}
/* Footer */
table.page tr.pagefoot td {
border-top: 1px solid #AAAACC;
font-weight: bold;
font-size: 10px;
text-align: right;
color: #000000;
}

View File

@ -0,0 +1,102 @@
/*
html5doctor.com Reset Stylesheet
v1.6.1
Last Updated: 2010-09-17
Author: Richard Clark - http://richclarkdesign.com
Twitter: @rich_clark
*/
html, body, div, span, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
abbr, address, cite, code,
del, dfn, em, img, ins, kbd, q, samp,
small, strong, sub, sup, var,
b, i,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, figcaption, figure,
footer, header, hgroup, menu, nav, section, summary,
time, mark, audio, video {
margin:0;
padding:0;
border:0;
outline:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
body {
line-height:1;
}
article,aside,details,figcaption,figure,
footer,header,hgroup,menu,nav,section {
display:block;
}
nav ul {
list-style:none;
}
blockquote, q {
quotes:none;
}
blockquote:before, blockquote:after,
q:before, q:after {
content:'';
content:none;
}
a {
margin:0;
padding:0;
font-size:100%;
vertical-align:baseline;
background:transparent;
}
/* change colours to suit your needs */
ins {
background-color:#ff9;
color:#000;
text-decoration:none;
}
/* change colours to suit your needs */
mark {
background-color:#ff9;
color:#000;
font-style:italic;
font-weight:bold;
}
del {
text-decoration: line-through;
}
abbr[title], dfn[title] {
border-bottom:1px dotted;
cursor:help;
}
table {
border-collapse:collapse;
border-spacing:0;
}
/* change border colour to suit your needs */
hr {
display:block;
height:1px;
border:0;
border-top:1px solid #cccccc;
margin:1em 0;
padding:0;
}
input, select {
vertical-align:middle;
}

View File

@ -1,343 +0,0 @@
/**
* "Yet Another Multicolumn Layout" - (X)HTML/CSS Framework
*
* (en) YAML core stylesheet - structure-independent bugfixes of IE/Win CSS-bugs
* (de) YAML Basis-Stylesheet - Strukturunabhängige Bugfixes von CSS-Bugs des IE/Win
*
* Don't make any changes in this file!
* Your changes should be added to a separate patch-file.
*
* @copyright Copyright 2005-2011, Dirk Jesse
* @license CC-A 2.0 (http://creativecommons.org/licenses/by/2.0/),
* YAML-C (http://www.yaml.de/en/license/license-conditions.html)
* @link http://www.yaml.de
* @package yaml
* @version 3.3.1
* @revision $Revision: 501 $
* @lastmodified $Date: 2011-06-18 17:27:44 +0200 (Sa, 18 Jun 2011) $
* @appdef yaml
*/
@media all
{
/**
* (en) Debugging:When you see a green background, IE is getting this stylesheet
* (de) Fehlersuche:Hintergrund leuchtet grün, wenn das Stylesheet korrekt geladen wurde
*
* @debug
* @app-yaml-default disabled
*/
/* body { background:#0f0; background-image:none; } */
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) No need to force scrollbars in older IE's - it even makes problems in IE6 when set
* (de) Scrollbar-Fix wird in alten IE's nicht benötigt, zudem verursacht der Fix Probleme im IE6
*
* @workaround
* @affected IE6, IE7
* @css-for IE6, IE7
* @valid no
*/
body { o\verflow:visible; }
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Fixes IE5.x and IE6 overflow behavior of textarea and input elements elements
* (de) Korrigiert das fehlerhafte overflow-Verhalten von textarea und input-Elementen
*
* @workaround
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid no
*/
* html iframe,
* html frame { overflow:auto; }
* html input,
* html frameset { overflow:hidden; }
* html textarea { overflow:scroll; overflow-x:hidden; }
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Stability fixes with 'position:relative'
* (de) Stabilitätsverbesserungen durch 'position:relative'
*
* Essential for correct scaling in IE7 (body). IE5 must get static positioned body instead.
* Helpful to fix several possible problems in older IE versions (#main).
*
* @bugfix
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid yes
*/
body, #main { position:relative; }
* html body { position:static; }
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Clearfix adjustents for containing floats in IE
* (de) Clearfix-Anpassung für diverse IE-Versionen
*
* @workaround
* @see http://perishablepress.com/press/2009/12/06/new-clearfix-hack/
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid yes
*/
.clearfix { height:1%; } /* hasLayout aktivieren */
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Special class for oversized content element
* (de) Spezielle Klasse für übergroße Inhaltselemente
*
* @workaround
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid yes
*/
.slidebox {
position:relative;
margin-right:-1000px;
height:1%;
}
/*------------------------------------------------------------------------------------------------------*/
/**
* (en):Bugfix for partially displayed column separators
* (de):Bugfix für unvollständige Darstellung der Spalteninhalte / Spaltentrenner
*
* @bugfix
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid yes
*/
* html #col1,
* html #col2,
* html #col3 { position:relative; }
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Preventing several css bugs by forcing "hasLayout"
* (de) Vermeidung verschiedenster Bugs durch Erzwingen von "hasLayout"
*
* @workaround
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid no
*/
body { height:1%; }
.page_margins, .page, #header, #nav, #main, #footer { zoom:1; } /* IE6 & IE7 */
* html .page_margins, * html .page { height:1%; hei\ght:auto; } /* IE 5.x & IE6 | IE6 only */
* html #header, * html #nav, * html #main, * html #footer { width:100%; wid\th:auto; } /* IE 5.x & IE6 | IE6 only */
/* trigger hasLayout to force containing content */
.subc, .subcl, .subcr { height:1%; }
/*------------------------------------------------------------------------------------------------------*/
/**
* Disappearing List-Background Bug
* @see http://www.positioniseverything.net/explorer/ie-listbug.html
*
* @bugfix
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid yes
*/
* html ul, * html ol, * html dl { position:relative; }
/*------------------------------------------------------------------------------------------------------*/
/**
* List-Numbering Bug
*
* @bugfix
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid yes
*/
body ol li { display:list-item; }
/**
* Form related bugfixes
*
* @bugfix
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid no
*/
fieldset, legend { position:relative; }
/*------------------------------------------------------------------------------------------------------*/
/**
* (en) Workaround for 'collapsing margin at #col3' when using CSS-property clear
* Left margin of #col3 collapses when using clear:both in 1-3-2 (or 2-3-1) layout and right column is the
* longest and left column is the shortest one. For IE6 and IE7 a special workaround was developed
* in YAML.
*
* (de) Workaround für 'kollabierenden Margin an #col3' bei Verwendung der CSS-Eigenschaft clear
* Der linke Margin von #col3 kollabiert bei der Verwendung von clear:both im 1-3-2 (oder 2-3-1) Layout
* wenn gleichzeitig die linke Spalte die kürzeste und die rechte die längste ist. Im IE6 und IE7 lässt
* sich der Bug durch eine speziell für YAML entwickelten Workaround umgehen.
*
* @workaround
* @affected IE 5.x/Win, IE6, IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid no
*/
html #ie_clearing {
/* (en) Only a small help for debugging */
/* (de) Nur eine kleine Hilfe zur Fehlersuche */
position:static;
/* (en) Make container visible in IE */
/* (de) Container sichtbar machen im IE */
display:block;
/* (en) No fix possible in IE5.x, normal clearing used instead */
/* (de) Kein Fix im IE5.x möglich, daher normales Clearing */
\clear:both;
/* (en) forcing clearing-like behavior with a simple oversized container in IE6 & IE7*/
/* (de) IE-Clearing mit 100%-DIV für IE6 bzw. übergroßem Container im IE7 */
width:100%;
font-size:0px;
margin:-2px 0 -1em 1px;
}
* html #ie_clearing { margin:-2px 0 -1em 0; }
#col3_content { margin-bottom:-2px; }
/* (en) avoid horizontal scrollbars in IE7 in borderless layouts because of negative margins */
/* (de) Vermeidung horizontaler Scrollbalken bei randabfallenden Layouts im IE7 */
html { margin-right:1px; }
* html { margin-right:0; }
/* (en) Bugfix:Essential for IE7 */
/* (de) Bugfix:Notwendig im IE7 */
#col3 { position:relative; }
/*------------------------------------------------------------------------------------------------------*/
/**
* IE/Win Guillotine Bug
* @see http://www.positioniseverything.net/explorer/guillotine.html
*
* @workaround
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid yes
*/
* html body a, * html body a:hover { background-color:transparent; }
}
@media screen, projection
{
/**
* (en) IE-Adjustments for content columns and subtemplates
* (de) IE-Anpassung für Spaltencontainer und Subtemplates
*
* Doubled Float-Margin Bug
* @see http://positioniseverything.net/explorer/doubled-margin.html
*
* @bugfix
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6, IE7
* @valid yes
*/
#col1, #col2 { display:inline; }
.c20l, .c25l, .c33l, .c38l, .c40l, .c50l, .c60l, .c62l, .c66l, .c75l, .c80l,
.c20r, .c25r, .c33r, .c38r, .c40r, .c50r, .c60r, .c66r, .c62r, .c75r, .c80r { display:inline; }
/* Fix for:"Linking to anchors in elements within the containing block" Problem in IE5.x & IE 6.0 */
* html .equalize, * html .equalize .subcolumns { overflow:visible; display:block; }
.equalize, .equalize .subcolumns { overflow:hidden; display:block; }
/* transform CSS tables back into floats */
.equalize .c20l,.equalize .c40l,.equalize .c60l,.equalize .c80l,
.equalize .c25l,.equalize .c33l,.equalize .c38l,.equalize .c50l,
.equalize .c62l,.equalize .c66l,.equalize .c75l {
float:left; display:inline;
padding-bottom:32767px;
margin-bottom:-32767px;
}
.equalize .c20r,.equalize .c40r,.equalize .c60r,.equalize .c80r,
.equalize .c25r,.equalize .c33r,.equalize .c38r,.equalize .c50r,
.equalize .c62r,.equalize .c66r,.equalize .c75r {
float:right; margin-left:-5px; display:inline;
padding-bottom:32767px;
margin-bottom:-32767px;
}
.no-ie-padding .c20l,.no-ie-padding .c40l,.no-ie-padding .c60l,.no-ie-padding .c80l,
.no-ie-padding .c20r,.no-ie-padding .c40r,.no-ie-padding .c60r,.no-ie-padding .c80r,
.no-ie-padding .c25l,.no-ie-padding .c33l,.no-ie-padding .c38l,.no-ie-padding .c50l,
.no-ie-padding .c62l,.no-ie-padding .c66l,.no-ie-padding .c75l,
.no-ie-padding .c25r,.no-ie-padding .c33r,.no-ie-padding .c38r,.no-ie-padding .c50r,
.no-ie-padding .c62r,.no-ie-padding .c66r,.no-ie-padding .c75r {
padding-bottom:0;
margin-bottom:0;
}
/*------------------------------------------------------------------------------------------------------*/
/**
* Internet Explorer and the Expanding Box Problem
* @see http://www.positioniseverything.net/explorer/expandingboxbug.html
*
* @workaround
* @affected IE 5.x/Win, IE6
* @css-for IE 5.x/Win, IE6
* @valid yes
*/
* html #col1_content,
* html #col2_content,
* html #col3_content { word-wrap:break-word; }
/* avoid growing widths */
* html .subc,
* html .subcl,
* html .subcr { word-wrap:break-word; o\verflow:hidden; }
}
@media print
{
/**
* (en) Avoid unneeded page breaks of #col3 content in print layout.
* (de) Vermeiden von unnötigen Seitenumbrüchen beim Ausdruck der Spalte #col3.
*
* @bugfix
* @affected IE7
* @css-for IE 5.x/Win, IE6, IE7
* @valid yes
*/
.subc,
.subcl,
.subcr,
.col3 { height:1%; }
}

Binary file not shown.

Before

Width:  |  Height:  |  Size: 78 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 206 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.3 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 238 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 165 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 282 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 612 B

Binary file not shown.

Before

Width:  |  Height:  |  Size: 138 B

View File

@ -1,12 +0,0 @@
@import url(3.3.1/core/base.css);
@import url(3.3.1/core/iehacks.css);
/* screen layout */
@import url(screen/basemod.css);
@import url(screen/basemod_2col.css);
@import url(navigation/nav_buttons.css);
@import url(3.3.1/screen/content.css);
@import url(screen/content.css);
/* print layout */
@import url(3.3.1/print/print_100_draft.css);

View File

@ -1,16 +0,0 @@
@media screen, projection
{
/* #col1 is the tree menu */
#col1 { width: 25%; float:left; margin-top: 10px;}
#col1_content { padding: 10px 5px 5px 5px; }
/* #col2 is not used */
#col2 { display:none; }
/* #col3 is the main content */
#col3 { margin-left: 25%; margin-right: 0; margin-top: 10px; border-left: 1px #ddd solid;}
#col3_content { padding: 10px 5px 5px 5px; }
#info_box { padding: 5px 5px 5px 5px; margin-top: 0px }
#main {padding: 0em 0}
}

View File

Before

Width:  |  Height:  |  Size: 2.2 KiB

After

Width:  |  Height:  |  Size: 2.2 KiB

View File

@ -177,13 +177,13 @@
* |-------------------------------|
*/
#col1 { float:left; width:20%; }
#col2 { float:right; width:20%; }
#col3 { width:auto; margin:0 20%; }
#left { float:left; width:20%; vertical-align:top; }
#right { float:right; width:20%; vertical-align:top; }
#center { width:auto; margin:0 20%; vertical-align:top; }
/* (en) Preparation for absolute positioning within content columns */
/* (de) Vorbereitung für absolute Positionierungen innerhalb der Inhaltsspalten */
#col1_content, #col2_content, #col3_content { position:relative; }
#left_content, #right_content, #center_content { position:relative; }
/*------------------------------------------------------------------------------------------------------*/

View File

@ -177,6 +177,7 @@
* @section content-tables
*/
/*
table { width:auto; border-collapse:collapse; margin-bottom:0.5em; border-top:2px #888 solid; border-bottom:2px #888 solid; }
table caption { font-variant:small-caps; }
table.full { width:100%; }
@ -193,6 +194,7 @@
tbody tr:hover th[scope="row"],
tbody tr:hover tbody th.sub { background:#f0e8e8; }
tbody tr:hover td { background:#fff8f8; }
*/
/**
* ------------------------------------------------------------------------------------------------- #

View File

Before

Width:  |  Height:  |  Size: 7.1 KiB

After

Width:  |  Height:  |  Size: 7.1 KiB

View File

Before

Width:  |  Height:  |  Size: 127 B

After

Width:  |  Height:  |  Size: 127 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 228 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 915 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 262 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 260 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 306 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 406 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 291 B

View File

@ -1,16 +1,16 @@
@media all {
#nav_main{width:100%;float:left;background:#000 url(images/buttons/bg_hnav1.gif) repeat-x top left;line-height:0}
#nav_main{width:100%;float:left;background:#000 url(images/bg_hnav1.png) repeat-x top left;line-height:0}
#nav_main ul{float:left;display:inline;border-left:1px #000 solid;margin:0 0 0 20px;padding:0}
#nav_main ul li{float:left;display:inline;font-size:1em;line-height:1em;list-style-type:none;border-right:1px #000 solid;margin:0;padding:0}
#nav_main ul li a{display:block;width:auto;font-size:1em;font-weight:400;background:transparent;text-decoration:none;color:#ccc;margin:0;padding:10px 1em}
#nav_main ul li a:focus,#nav_main ul li a:hover,#nav_main ul li a:active{color:#eee;text-decoration:none;background:transparent url(images/buttons/bg_hnav1_hover.gif) repeat-x top right}
#nav_main ul li#current{background:transparent url(images/buttons/bg_hnav1_hover.gif) repeat-x top right}
#nav_main ul li a:focus,#nav_main ul li a:hover,#nav_main ul li a:active{color:#eee;text-decoration:none;background:transparent url(images/bg_hnav1_hover.png) repeat-x top right}
#nav_main ul li#current{background:transparent url(images/bg_hnav1_hover.png) repeat-x top right}
#nav_main ul li#current a,#nav_main ul li#current a:focus,#nav_main ul li#current a:hover,#nav_main ul li#current a:active{color:#fff;font-weight:700;background:transparent;text-decoration:none}
#nav_main2{width:100%;float:left;background:#4e5155;border-top:1px #666 solid;line-height:0;font-size:90%;height:2.2em;overflow:hidden}
#nav_main2 ul{float:left;display:inline;border-left:0 #aaa solid;border-right:0 #fff solid;border-bottom:red 1px solid;margin:0 0 0 21px;padding:0}
#nav_main2 ul li{float:left;display:inline;font-size:1em;line-height:1em;list-style-type:none;border-left:0 #fff solid;border-right:0 #aaa solid;margin:0;padding:0}
#nav_main2 ul li a{display:block;width:auto;font-size:1em;font-weight:400;background:transparent;text-decoration:none;color:#aaa;margin:0;padding:.6em .8em}
#nav_main2 ul li a:focus,#nav_main2 ul li a:hover,#nav_main2 ul li a:active{color:#fff;text-decoration:none}
#nav_main2 ul li#current2{background:#4e5155 url(images/buttons/bg_hnav2_hover.gif) no-repeat bottom center}
#nav_main2 ul li#current2 a,#nav_main2 ul li#current2 a:focus,#nav_main2 ul li#current2 a:hover,#nav_main2 ul li#current2 a:active{color:#fff;font-weight:700;background:transparent;text-decoration:none}
#nav_main2 ul li#active{background:#4e5155 url(images/bg_hnav2_hover.png) no-repeat bottom center}
#nav_main2 ul li#active a,#nav_main2 ul li#active a:focus,#nav_main2 ul li#active a:hover,#nav_main2 ul li#active a:active{color:#fff;font-weight:700;background:transparent;text-decoration:none}
}

View File

@ -0,0 +1,14 @@
/* base layout */
@import url(../../../css/html5reset-1.6.1.css);
@import url(base.css);
@import url(content.css);
/* import url(iehacks.css); */
/* screen layout */
@import url(screen/basemod.css);
@import url(screen/contentmod.css);
@import url(navigation/nav_buttons.css);
/* import url(navigation/nav_hlist.css); */
/* print layout */
@import url(print/print_100_draft.css);

View File

@ -1,11 +1,11 @@
@charset "UTF-8";
@media screen, projection {
body{background:#404347 url(../images/bg_dotted.png) repeat;text-align:center;padding:0;overflow-y:scroll}
#page{background:#fff}
#page_margins{width:95%;min-width:740px;max-width:90em;text-align:left;position:relative;margin:auto}
body{background:#FFF url(../images/bg_dotted.png) repeat;text-align:center;padding:0;overflow-y:scroll}
#page_margins{width:95%;text-align:left;position:relative;margin:auto;overflow:visible;background:#FFF}
#page{width:95%;margin:auto}
#header,#nav,#main,#footer{clear:both}
#nav { overflow:hidden; }
#topnav{position:static;background:#000 url(../images/bg_head.gif) repeat-x bottom;color:#666;text-align:left;font-size:81.25%;border-bottom:1px #000 solid;overflow:hidden;padding:2px 20px}
#nav {overflow:hidden}
#topnav{position:static;background:#000 url(../images/bg_head.png) repeat-x bottom;color:#CCC;text-align:left;font-size:81.25%;border-bottom:1px #000 solid;overflow:hidden;padding:2px 20px;height:15px}
#topnav .langMenu{float:right}
#topnav .langMenu a{float:left;margin-right:.5em}
#topnav .langMenu img{float:left;border:1px solid #444;margin-right:.3em;margin-top:.1em}
@ -15,24 +15,25 @@ body{background:#404347 url(../images/bg_dotted.png) repeat;text-align:center;pa
#topnav .langMenu span.text{float:left;margin-right:.5em;color:#FFF}
#topnav .langMenu span.text2{float:left;margin-right:.5em}
#topnav .langMenu span.textOff{float:left;margin-right:.5em;color:#666}
#header{height:60px;color:#fff;background:#000 url(../images/bg_logo.gif) repeat-x top;overflow:hidden}
#header{height:60px;color:#FFF;background:#000 url(../images/bg_logo.png) repeat-x top;overflow:hidden}
#header img{font-size:208%;margin:10px 0 0 20px}
#nav_main2 .tx-macinasearchbox-pi1{float:right;margin:.2em 2em 2px 0}
#nav_main2 .tx-macinasearchbox-pi1 input.suchBox{width:12em;padding:.1em}
#shadow{height:10px;background:url(../images/bg_main_bottom.gif) repeat-x bottom;border-bottom:1px #888 solid}
#footer{position:relative;color:#888;background:#000 url(../navigation/images/buttons/bg_hnav1.gif) repeat-x top;line-height:2em;padding:20px 20px 10px}
#shadow{height:10px;background:url(../images/bg_main_bottom.png) repeat-x bottom;border-bottom:1px #888 solid}
#footer{position:relative;color:#888;background:#000 url(../navigation/images/bg_hnav1.png) repeat-x top;line-height:2em;padding:20px 20px 5px;text-align:right;font-size:81.25%}
#backlink{position:absolute;right:20px;bottom:10px;color:#666}
#backlink img{position:relative;top:5px}
#main{position:relative;border-top:1px #888 solid;background:#fff url(../images/bg_main_top.gif) repeat-x top}
#main{padding:0 0;position:relative;border-top:1px #888 solid;background:#fff url(../images/bg_main_top.png) repeat-x top}
.first{overflow:hidden;width:auto;background:url(../images/bg_firstblock.gif) repeat-x bottom;border-bottom:2px #fff solid;height:1%;padding:0 20px 12px}
.second{overflow:hidden;color:#f4f4f4;background:#404347 url(../images/bg_body.gif) repeat-x 0 -250px;height:1%;padding:0 20px}
* html > body .first{float:left;overflow:visible}
* html > body .second{float:left;overflow:visible}
#col1{width:22.5%}
#col1_content{margin-left:1em;margin-right:1em;background:inherit}
#col2{width:280px}
#col2_content{margin-left:1em;margin-right:1em}
#col3{margin-left:22.5%;margin-right:280px;border-left:0 dotted #ddd;border-right:0 dotted #ddd}
#col3_content{margin-left:1em;margin-right:1em}
#left{float:none}
#left_content{margin-left:1em;margin-right:1em;background:inherit;padding:10px 5px 5px 5px}
#right{display:none;float:none}
#right_content{margin-left:1em;margin-right:1em}
#center{margin-right:280px;margin-top:10px;border-left:1px #ddd solid}
#center_content{margin-left:1em;margin-right:1em;padding:10px 5px 5px 5px}
.skip:focus,a.skip:active{position:absolute;display:block;background:#fff;color:#333}
#info_box {padding:5px 5px 5px 5px;margin-top:0px}
}

View File

@ -1,131 +1,137 @@
@media all {
body{color:#333;font-size:81.25%;font-family:'Trebuchet MS', Verdana, Arial, Helvetica, Sans-Serif}
h1,h2,h3,h4,h5,h6{font-family:Georgia, Times, Serif;font-weight:400}
h1{font-size:1.6em;color:#FFF;letter-spacing:-.02em;position:absolute;height:55px;width:85%;margin:0 0 .25em 7em;padding:5px 0 0 20px}
h2{font-size:1.8em;color:#111;padding-top:0.25em;letter-spacing:-.02em;margin:0 0 .25em}
h3{font-size:1.5em;color:#222;padding-top:1.5em;border-bottom:1px #ddd solid;letter-spacing:0;margin:0 0 .25em}
h4{font-size:1.4em;color:#889;padding-top:1em;font-weight:400;margin:0 0 .3em}
h5{font-size:1.2em;color:#889;font-style:italic;margin:0 0 .3em}
h6{font-size:1em;color:#889;padding-bottom:.3em;border-bottom:1px #ddd solid;margin:0 0 .3em}
.first .c33r h2{border-left:10px #800 solid;margin-top:1.5em;background:#f4f4f4;padding:0 0 0 10px}
.second a{color:#aaa;font-weight:700}
.second h3{font-size:1.6em;color:#fff;padding-bottom:.3em;border-bottom:1px #800 solid}
.second h6{border:0;margin:0}
h1 span{position:absolute;background:url(/osb/media/img/logo-small.png) no-repeat;height:100%;width:100%;margin-left:-7em;margin-top:-0.4em;}
p,ul,dd,dt{line-height:1.5em}
p{line-height:1.5em;text-align:justify;margin:0 0 1em}
th p{margin:0}
table.bugs p{line-height:1.5em;text-align:center;margin:0}
dt,li{text-align:justify}
strong,b{font-weight:700}
em,i{font-style:italic}
pre,code{font-family:"Courier New", Courier, monospace}
address{font-style:normal;line-height:1.5em;margin:0 0 1em}
hr{color:#fff;background:transparent;border:0;border-bottom:1px #eee solid;margin:0 0 .5em;padding:0 0 .5em}
acronym,abbr{letter-spacing:.07em;border-bottom:1px dashed #c00;cursor:help}
.float_left{float:left;margin-right:1em;margin-bottom:.15em;border:0}
.float_right{float:right;margin-left:1em;margin-bottom:.15em;border:0}
.center{text-align:center;margin-left:auto;margin-right:auto}
.framed{border:4px #222 solid;background:#fff;padding:4px}
a,a em.file{color:#aa1124;text-decoration:none}
a:hover{text-decoration:underline}
a:focus{text-decoration:underline}
#topnav a{color:#666;background:transparent;text-decoration:none}
#topnav a:hover{color:#fff;text-decoration:underline;background-color:transparent}
#topnav a:focus{color:#fff;text-decoration:underline;background-color:transparent}
#footer a{color:#ccc}
#main a.imagelink{padding-left:0;background:transparent}
table{border-collapse:collapse;width:100%;margin-bottom:.5em}
table.bugs{margin-bottom:1em;margin-top:.5em}
table.bugs th{background:#444;color:#fff;text-align:center;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.bugs td{background:#888;color:#fff;text-align:center;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.description{margin-bottom:1em;margin-top:.5em}
table.description th{background:#aaa;color:#fff;text-align:left;vertical-align:top;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.description td{background:#f4f4f4;color:#444;text-align:left;vertical-align:top;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
input[type=text],input[type=password],textarea,select{background:#fff url(../images/bg_main_top.gif) repeat-x top;border:1px #ccc solid;padding:.2em}
input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{border:1px #448 solid;background:#eef;color:#333}
input.suchbox{border:1px #666 solid;background:#333;color:#888;padding:3px}
ul.icon{list-style-type:none;margin:0 0 1em;padding:0}
ul.icon li{background:url(../../img/icons/symb_item.png) no-repeat left center;margin-left:0;padding-left:20px;text-align:left}
ul.link{list-style-type:none;margin:0 0 1em;padding:0}
ul.link li{background:url(../../img/icons/symb_link.png) no-repeat 0 .15em;margin-left:0;padding-left:20px;text-align:left}
ul.info{list-style-type:none;margin:0 0 1em;padding:0}
ul.info li{background:url(../../img/icons/symb_info.png) no-repeat 0 .15em;margin-left:0;padding-left:20px;text-align:left}
.warnung{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_warning.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
.wichtig{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_attention.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
.hinweis{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_hint.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
p.demo{color:#aa1124;background-color:#fff5f5;border:1px #fcc dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_file.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.7em 1em .7em 48px}
p.demo span.file{color:#aa1124}
p.navlink{background:#f4f5f6 url(../../img/symbols/symb_forward.png);background-repeat:no-repeat;background-position:top left;color:#56636f;border-top:2px #aab2ba solid;margin-bottom:.5em;padding:.7em 1em .7em 48px}
p.navlink a{color:#56636f}
p.navlink a:hover{font-weight:700;background:transparent}
blockquote{color:#444;background:#f8f8f8;border:1px #ddd solid;border-left:8px #ddd solid;margin:0 0 1em 1em;padding:1em 1em 0}
ul.linklist{list-style-type:none;margin:0 0 1em}
ul.linklist li{margin:0 0 1em}
ul.browsers{margin:0 0 .4em}
ul.browsers li{list-style-type:none;background:#f8f8f8;color:#444;font-weight:400;text-align:left;border-bottom:1px #fff solid;border-right:1px #fff solid;margin:0;padding:.1em .1em .2em .5em}
ul.browsers li img{vertical-align:bottom}
ul.browsers li.title{font-weight:700;background:#eee;color:#444;padding:.2em .2em .2em .5em}
em.mono,em.file,em.directory{font-family:"Courier New", Courier, monospace;font-style:normal}
em.mono{color:#56636f;background:#f4f5f6;border:1px #aab2ba solid;padding:0 .3em}
em.file{color:#008;background:transparent url(../../img/icons/file.gif) no-repeat left;padding:0 0 0 14px}
em.directory{color:#008;background:transparent url(../../img/icons/dir.gif) no-repeat left;padding:0 0 0 15px}
pre,code,p.code{font-family:"Courier New", Courier, monospace;text-align:left;display:block;line-height:1.3em;color:#56636f;background:#f4f5f6;border:1px #aab2ba dotted;border-left:0;border-right:0;margin:0 0 1em 1em;padding:.5em .5em .5em 1em}
code.css,p.code{background-image:url(../../img/symbols/symb_css.png);background-repeat:no-repeat;background-position:top right}
code.xhtml{background-image:url(../../img/symbols/symb_xhtml.png);background-repeat:no-repeat;background-position:top right}
div.download{text-align:left;display:block;line-height:1.3em;color:#353;background-color:#f4f8f4;border:1px #aab2ba dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_download.png);background-repeat:no-repeat;background-position:left .8em;margin:0 0 1em 1em;padding:1em 1em 0 50px}
div.download p,div.doc p{text-align:left}
div.download a.file{color:#000;font-weight:700;text-decoration:underline}
div.download a.file:hover{color:#aa1124;font-weight:700;text-decoration:none}
div.doc{text-align:left;display:block;line-height:1.3em;color:#56636f;background-color:#f4f5f6;border:1px #aab2ba dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_doc.png);background-repeat:no-repeat;background-position:10px 1.3em;margin:0 0 1em 1em;padding:1em 1em 0 50px}
div.doc a.file{color:#000;font-weight:700;text-decoration:underline}
div.doc a.file:hover{color:red;font-weight:700;text-decoration:none}
.tx-indexedsearch .tx-indexedsearch-searchbox{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;margin:0 0 2em;padding:.5em .5em .5em 1em}
.tx-indexedsearch .tx-indexedsearch-searchbox table{width:auto}
.tx-indexedsearch .tx-indexedsearch-searchbox td{padding:.3em}
.tx-indexedsearch .tx-indexedsearch-searchbox p{margin-bottom:0}
.tx-indexedsearch .tx-indexedsearch-whatis{font-size:1.5em;font-family:Georgia, Times, Serif;font-weight:400;color:#889}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title{margin-bottom:.5em;font-size:1.4em;font-family:Georgia, Times, Serif;font-weight:400;color:#889;background:#fff}
.tx-indexedsearch .tx-indexedsearch-res{text-align:left}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-info{color:#aaa;font-size:.9em}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-button{width:100px}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-sword{width:150px}
.tx-indexedsearch .tx-indexedsearch-whatis P .tx-indexedsearch-sw{font-weight:700;font-style:italic}
.tx-indexedsearch P.tx-indexedsearch-noresults{text-align:center;font-weight:700}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title P{font-weight:700}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title P.tx-indexedsearch-percent{font-weight:400}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-descr P{font-style:italic}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead{margin-top:20px;margin-bottom:5px}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead H2{color:#069;margin-top:0;margin-bottom:0;background:transparent}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead TABLE{background:#ccc}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead TD{vertical-align:middle}
.tx-indexedsearch .tx-indexedsearch-res .noResume{color:#666}
.tx-indexedsearch-sw,.csc-sword,.tx-indexedsearch-redMarkup{font-family:monospace;font-style:normal;color:#fff;background:#484;padding:0 .3em}
.tx-dropdownsitemap-pi1 A{font-weight:700}
.tx-dropdownsitemap-pi1 li.open ol{display:block}
.tx-dropdownsitemap-pi1 li.closed ol{display:none}
.tx-dropdownsitemap-pi1 li.open ul{display:block}
.tx-dropdownsitemap-pi1 li.closed ul{display:none}
.tx-dropdownsitemap-pi1 div{padding:2px}
.tx-dropdownsitemap-pi1 div.level_2{background:#fff}
.tx-dropdownsitemap-pi1 div.level_2 a{font-weight:400}
.tx-dropdownsitemap-pi1 div.level_3{background:#fff}
.tx-dropdownsitemap-pi1 div.level_4{background:#fff}
.tx-dropdownsitemap-pi1 div.level_5{background:#fff}
.tx-dropdownsitemap-pi1 div.expAll{text-align:center;background-color:#f4f8f4;border:1px #aca dotted;margin-bottom:1em}
.tx-dropdownsitemap-pi1 div.expAll a{color:#353}
.tx-dropdownsitemap-pi1 img{margin-right:.5em}
.tx-dropdownsitemap-pi1 a:hover{background:transparent}
p.floatbox{overflow:hidden}
p.smalltext{font-size:.9em}
span.mono{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:#f4f5f6;border:1px #aab2ba dotted;padding:0 .3em}
span.file{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:transparent url(../../img/icons/file.gif) no-repeat left;padding:0 0 0 14px}
span.directory{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:transparent url(../../img/icons/dir.gif) no-repeat left;padding:0 0 0 15px}
span.version{display:block;color:#666;font-weight:400;font-size:85%;padding:0 5px 0 20px}
.csc-mailform-field{clear:left}
fieldset.csc-mailform .csc-mailform-field label{width:11em;float:left}
fieldset.csc-mailform .csc-mailform-field input,fieldset.csc-mailform .csc-mailform-field select,fieldset.csc-mailform .csc-mailform-field textarea{margin-bottom:.5em}
fieldset.csc-mailform .csc-mailform-field textarea{font-size:1em}
fieldset.csc-mailform label span{color:red}
input#mailformformtype_mail{margin-left:11.1em}
}
@media all {
body{color:#333;font-size:81.25%;font-family:'Trebuchet MS', Verdana, Arial, Helvetica, Sans-Serif}
h1,h2,h3,h4,h5,h6{font-family:Georgia, Times, Serif;font-weight:400}
h1{font-size:1.6em;color:#FFF;letter-spacing:-.02em;position:absolute;height:55px;width:85%;margin:0 0 .25em 7em;padding:5px 0 0 20px}
h2{font-size:1.8em;color:#111;padding-top:0.25em;letter-spacing:-.02em;margin:0 0 .25em}
h3{font-size:1.5em;color:#222;padding-top:1.5em;border-bottom:1px #ddd solid;letter-spacing:0;margin:0 0 .25em}
h4{font-size:1.4em;color:#889;padding-top:1em;font-weight:400;margin:0 0 .3em}
h5{font-size:1.2em;color:#889;font-style:italic;margin:0 0 .3em}
h6{font-size:1em;color:#889;padding-bottom:.3em;border-bottom:1px #ddd solid;margin:0 0 .3em}
.first .c33r h2{border-left:10px #800 solid;margin-top:1.5em;background:#f4f4f4;padding:0 0 0 10px}
.second a{color:#aaa;font-weight:700}
.second h3{font-size:1.6em;color:#fff;padding-bottom:.3em;border-bottom:1px #800 solid}
.second h6{border:0;margin:0}
h1 span{position:absolute;height:100%;width:100%;margin-left:-7em;margin-top:-0.4em;}
p,ul,dd,dt{line-height:1.5em}
p{line-height:1.5em;text-align:justify;margin:0 0 1em}
th p{margin:0}
table.bugs p{line-height:1.5em;text-align:center;margin:0}
dt,li{text-align:justify}
strong,b{font-weight:700}
em,i{font-style:italic}
pre,code{font-family:"Courier New", Courier, monospace}
address{font-style:normal;line-height:1.5em;margin:0 0 1em}
hr{color:#fff;background:transparent;border:0;border-bottom:1px #eee solid;margin:0 0 .5em;padding:0 0 .5em}
acronym,abbr{letter-spacing:.07em;border-bottom:1px dashed #c00;cursor:help}
.float_left{float:left;margin-right:1em;margin-bottom:.15em;border:0}
.float_right{float:right;margin-left:1em;margin-bottom:.15em;border:0}
.center{text-align:center;margin-left:auto;margin-right:auto}
.framed{border:4px #222 solid;background:#fff;padding:4px}
a,a em.file{color:#aa1124;text-decoration:none}
a:hover{text-decoration:underline}
a:focus{text-decoration:underline}
#topnav a{color:#666;background:transparent;text-decoration:none}
#topnav a:hover{color:#fff;text-decoration:underline;background-color:transparent}
#topnav a:focus{color:#fff;text-decoration:underline;background-color:transparent}
#footer a{color:#ccc}
#main a.imagelink{padding-left:0;background:transparent}
table{border-collapse:separate;width:100%;margin-bottom:.5em;border-spacing:2px}
table.bugs{margin-bottom:1em;margin-top:.5em}
table.bugs th{background:#444;color:#fff;text-align:center;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.bugs td{background:#888;color:#fff;text-align:center;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.description{margin-bottom:1em;margin-top:.5em}
table.description th{background:#aaa;color:#fff;text-align:left;vertical-align:top;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
table.description td{background:#f4f4f4;color:#444;text-align:left;vertical-align:top;border-bottom:1px #fff solid;border-right:1px #fff solid;padding:.5em}
input[type=text],input[type=password],textarea,select{background:#fff url(../images/bg_main_top.png) repeat-x top;border:1px #ccc solid;padding:.2em}
input[type=text]:focus,input[type=password]:focus,textarea:focus,select:focus{border:1px #448 solid;background:#eef;color:#333}
input.suchbox{border:1px #666 solid;background:#333;color:#888;padding:3px}
ul.icon{list-style-type:none;margin:0 0 1em;padding:0}
ul.icon li{background:url(../../img/icons/symb_item.png) no-repeat left center;margin-left:0;padding-left:20px;text-align:left}
ul.link{list-style-type:none;margin:0 0 1em;padding:0}
ul.link li{background:url(../../img/icons/symb_link.png) no-repeat 0 .15em;margin-left:0;padding-left:20px;text-align:left}
ul.info{list-style-type:none;margin:0 0 1em;padding:0}
ul.info li{background:url(../../img/icons/symb_info.png) no-repeat 0 .15em;margin-left:0;padding-left:20px;text-align:left}
.warnung{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_warning.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
.wichtig{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_attention.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
.hinweis{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_hint.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.5em 1em .5em 48px}
p.demo{color:#aa1124;background-color:#fff5f5;border:1px #fcc dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_file.png);background-repeat:no-repeat;background-position:top left;margin:0 0 1em 1em;padding:.7em 1em .7em 48px}
p.demo span.file{color:#aa1124}
p.navlink{background:#f4f5f6 url(../../img/symbols/symb_forward.png);background-repeat:no-repeat;background-position:top left;color:#56636f;border-top:2px #aab2ba solid;margin-bottom:.5em;padding:.7em 1em .7em 48px}
p.navlink a{color:#56636f}
p.navlink a:hover{font-weight:700;background:transparent}
blockquote{color:#444;background:#f8f8f8;border:1px #ddd solid;border-left:8px #ddd solid;margin:0 0 1em 1em;padding:1em 1em 0}
ul.linklist{list-style-type:none;margin:0 0 1em}
ul.linklist li{margin:0 0 1em}
ul.browsers{margin:0 0 .4em}
ul.browsers li{list-style-type:none;background:#f8f8f8;color:#444;font-weight:400;text-align:left;border-bottom:1px #fff solid;border-right:1px #fff solid;margin:0;padding:.1em .1em .2em .5em}
ul.browsers li img{vertical-align:bottom}
ul.browsers li.title{font-weight:700;background:#eee;color:#444;padding:.2em .2em .2em .5em}
em.mono,em.file,em.directory{font-family:"Courier New", Courier, monospace;font-style:normal}
em.mono{color:#56636f;background:#f4f5f6;border:1px #aab2ba solid;padding:0 .3em}
em.file{color:#008;background:transparent url(../../img/icons/file.gif) no-repeat left;padding:0 0 0 14px}
em.directory{color:#008;background:transparent url(../../img/icons/dir.gif) no-repeat left;padding:0 0 0 15px}
pre,code,p.code{font-family:"Courier New", Courier, monospace;text-align:left;display:block;line-height:1.3em;color:#56636f;background:#f4f5f6;border:1px #aab2ba dotted;border-left:0;border-right:0;margin:0 0 1em 1em;padding:.5em .5em .5em 1em}
code.css,p.code{background-image:url(../../img/symbols/symb_css.png);background-repeat:no-repeat;background-position:top right}
code.xhtml{background-image:url(../../img/symbols/symb_xhtml.png);background-repeat:no-repeat;background-position:top right}
div.download{text-align:left;display:block;line-height:1.3em;color:#353;background-color:#f4f8f4;border:1px #aab2ba dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_download.png);background-repeat:no-repeat;background-position:left .8em;margin:0 0 1em 1em;padding:1em 1em 0 50px}
div.download p,div.doc p{text-align:left}
div.download a.file{color:#000;font-weight:700;text-decoration:underline}
div.download a.file:hover{color:#aa1124;font-weight:700;text-decoration:none}
div.doc{text-align:left;display:block;line-height:1.3em;color:#56636f;background-color:#f4f5f6;border:1px #aab2ba dotted;border-left:0;border-right:0;background-image:url(../../img/symbols/symb_doc.png);background-repeat:no-repeat;background-position:10px 1.3em;margin:0 0 1em 1em;padding:1em 1em 0 50px}
div.doc a.file{color:#000;font-weight:700;text-decoration:underline}
div.doc a.file:hover{color:red;font-weight:700;text-decoration:none}
.tx-indexedsearch .tx-indexedsearch-searchbox{color:#353;background-color:#f4f8f4;border:1px #aca dotted;border-left:0;border-right:0;margin:0 0 2em;padding:.5em .5em .5em 1em}
.tx-indexedsearch .tx-indexedsearch-searchbox table{width:auto}
.tx-indexedsearch .tx-indexedsearch-searchbox td{padding:.3em}
.tx-indexedsearch .tx-indexedsearch-searchbox p{margin-bottom:0}
.tx-indexedsearch .tx-indexedsearch-whatis{font-size:1.5em;font-family:Georgia, Times, Serif;font-weight:400;color:#889}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title{margin-bottom:.5em;font-size:1.4em;font-family:Georgia, Times, Serif;font-weight:400;color:#889;background:#fff}
.tx-indexedsearch .tx-indexedsearch-res{text-align:left}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-info{color:#aaa;font-size:.9em}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-button{width:100px}
.tx-indexedsearch .tx-indexedsearch-searchbox INPUT.tx-indexedsearch-searchbox-sword{width:150px}
.tx-indexedsearch .tx-indexedsearch-whatis P .tx-indexedsearch-sw{font-weight:700;font-style:italic}
.tx-indexedsearch P.tx-indexedsearch-noresults{text-align:center;font-weight:700}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title P{font-weight:700}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-title P.tx-indexedsearch-percent{font-weight:400}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-descr P{font-style:italic}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead{margin-top:20px;margin-bottom:5px}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead H2{color:#069;margin-top:0;margin-bottom:0;background:transparent}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead TABLE{background:#ccc}
.tx-indexedsearch .tx-indexedsearch-res .tx-indexedsearch-secHead TD{vertical-align:middle}
.tx-indexedsearch .tx-indexedsearch-res .noResume{color:#666}
.tx-indexedsearch-sw,.csc-sword,.tx-indexedsearch-redMarkup{font-family:monospace;font-style:normal;color:#fff;background:#484;padding:0 .3em}
.tx-dropdownsitemap-pi1 A{font-weight:700}
.tx-dropdownsitemap-pi1 li.open ol{display:block}
.tx-dropdownsitemap-pi1 li.closed ol{display:none}
.tx-dropdownsitemap-pi1 li.open ul{display:block}
.tx-dropdownsitemap-pi1 li.closed ul{display:none}
.tx-dropdownsitemap-pi1 div{padding:2px}
.tx-dropdownsitemap-pi1 div.level_2{background:#fff}
.tx-dropdownsitemap-pi1 div.level_2 a{font-weight:400}
.tx-dropdownsitemap-pi1 div.level_3{background:#fff}
.tx-dropdownsitemap-pi1 div.level_4{background:#fff}
.tx-dropdownsitemap-pi1 div.level_5{background:#fff}
.tx-dropdownsitemap-pi1 div.expAll{text-align:center;background-color:#f4f8f4;border:1px #aca dotted;margin-bottom:1em}
.tx-dropdownsitemap-pi1 div.expAll a{color:#353}
.tx-dropdownsitemap-pi1 img{margin-right:.5em}
.tx-dropdownsitemap-pi1 a:hover{background:transparent}
p.floatbox{overflow:hidden}
p.smalltext{font-size:.9em}
span.mono{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:#f4f5f6;border:1px #aab2ba dotted;padding:0 .3em}
span.file{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:transparent url(../../img/icons/file.gif) no-repeat left;padding:0 0 0 14px}
span.directory{font-family:"Courier New", Courier, monospace;font-style:normal;color:#56636f;background:transparent url(../../img/icons/dir.gif) no-repeat left;padding:0 0 0 15px}
span.version{display:block;color:#666;font-weight:400;font-size:85%;padding:0 5px 0 20px}
.csc-mailform-field{clear:left}
fieldset.csc-mailform .csc-mailform-field label{width:11em;float:left}
fieldset.csc-mailform .csc-mailform-field input,fieldset.csc-mailform .csc-mailform-field select,fieldset.csc-mailform .csc-mailform-field textarea{margin-bottom:.5em}
fieldset.csc-mailform .csc-mailform-field textarea{font-size:1em}
fieldset.csc-mailform label span{color:red}
input#mailformformtype_mail{margin-left:11.1em}
#category ul li {list-style:none;min-height:48px;width:30%;margin:0 10px 43px 0;float:left}
#category ul li:nth-last-child(-n+3) {margin-bottom:0} /* Last Row */
#category ul li h3 {text-transform:uppercase;letter-spacing:1px;padding-bottom:6px;font-size:105%;font-weight:bold}
#category ul li p {padding:0;margin:0;}
#category ul li a {color:#111;text-decoration:none}
#category ul li a:focus, #category ul li a:hover, #category ul li a:active {color:#811;text-decoration:none;}
}

View File

@ -8,9 +8,9 @@
<meta http-equiv="Content-Language" content="<?php echo $meta->language; ?>" />
<meta name="keywords" content="<?php echo $meta->keywords; ?>" />
<meta name="description" content="<?php echo $meta->description; ?>" />
<meta name="copyright" content="<?php echo $meta->copywrite; ?>" />
<?php echo $meta->styles; ?>
<?php echo $meta->scripts; ?>
<meta name="copyright" content="<?php echo Config::copywrite(); ?>" />
<?php echo Style::factory(); ?>
<?php echo Script::factory(); ?>
</head>
<body>
<table class="page">
@ -20,7 +20,7 @@
<table class="pagehead">
<tr>
<td class="headlogo">
<a href="<?php echo URL::site(); ?>" class="headlogo"><?php echo $logo;?></a>
<?php echo HTML::anchor('',Config::logo(),array('class'=>'headlogo')); ?>
</td>
<td class="headtitle"><?php echo $title; ?></td>
<td class="headimages"><?php echo $headimages; ?></td>
@ -32,7 +32,7 @@
<tr class="pagecontrol">
<td colspan="3">
<div id="ajCONTROL">
<?php echo $control; ?>
<?php echo Breadcrumb::factory(); ?>
</div>
</td>
</tr>

View File

@ -1,120 +1,119 @@
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- YAML Template Layout for lnApp -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="auto" lang="auto">
<head>
<title><?php echo $meta->title; ?></title>
<link rel="shortcut icon" href="<?php echo $meta->shortcut_icon ? $meta->shortcut_icon : '/favicon.ico' ?>" type="image/vnd.microsoft.icon" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="<?php echo $meta->language; ?>" />
<meta name="keywords" content="<?php echo $meta->keywords; ?>" />
<meta name="description" content="<?php echo $meta->description; ?>" />
<meta name="copyright" content="<?php echo $meta->copywrite; ?>" />
<!-- JavaScript Detection -->
<script type="text/javascript">document.documentElement.className += " js";</script>
<link href="<?php echo URL::site(); ?>media/css/yaml/page.css" rel="stylesheet" type="text/css"/>
<!--[if lte IE 7]>
<link href="<?php #echo URL::site(); ?>media/css/patches/none.css" rel="stylesheet" type="text/css" />
<![endif]-->
<?php echo $meta->styles; ?>
<?php echo $meta->scripts; ?>
<?php if (! $left) { ?>
<style type="text/css">
#col3 { margin-left: 0; margin-right: 0; border-left: 0px;}
#col3_content{ padding-left: 0px; padding-right: 0px; }
#col1 { display: none;}
</style>
<?php } ?>
</head>
<body>
<!-- skip link navigation -->
<ul id="skiplinks">
<li><a class="skip" href="#nav">Skip to navigation (Press Enter).</a></li>
<li><a class="skip" href="#col3">Skip to main content (Press Enter).</a></li>
</ul>
<div id="page_margins">
<div id="page">
<div id="topnav">
<div class="langMenu">
<!--
<?php #echo HTML::anchor('#',HTML::image(sprintf('media/img/country/%s.png',strtolower(Config::instance()->so->country->two_code)),array('alt'=>Config::instance()->so->country->display('name'),'class'=>'flag','title'=>Config::instance()->so->country->display('name'),'width'=>'18','height'=>'12')).'<span class="text">'.Config::instance()->so->country->display('name').'</span>'); ?>
<img class="arrow" src="<?php echo URL::site(); ?>media/css/yaml/images/arrow.gif" width="7" height="10" alt="" />
-->
<?php echo HTML::image(sprintf('media/img/country/%s.png',strtolower(Config::instance()->so->country->two_code)),array('alt'=>Config::instance()->so->country->display('name'),'class'=>'flag','title'=>Config::instance()->so->country->display('name'),'width'=>'18','height'=>'12')); ?>
<span class="text"><?php echo Config::instance()->so->country->display('name'); ?></span>
<!-- //@todo Enable contact form -->
<div style="display:none">
<span class="text2"> &#124; </span>
<?php echo HTML::anchor('contact','Contact Us'); ?>
</div>
<span class="text2"> &#124; </span>
<?php echo HTML::anchor('login','Login'); ?>
</div>
<span><?php echo Company::name(); ?></span>
</div>
<div id="header" role="banner">
<h1><span>&nbsp;</span>&nbsp;</h1>
</div>
<!-- begin: main navigation #nav -->
<div id="nav" role="navigation">
<div id="nav_main">
<ul>
<li id="current"><a href="../index.html">Home</a></li>
<li><a href="3col_gfxborder.html">Information</a></li>
<li><a href="3col_gfxborder.html">Products</a></li>
</ul>
</div>
<div id="nav_main2">
<?php echo $control; ?>
<ul>
<li><a href="en/community/cms-templates.html"><span>CMS Integration</span></a></li>
<li id="current2"><a href="en/community/login.html"><span>Login</span></a></li>
</ul>
</div>
</div>
<!-- end: main navigation -->
<!-- begin: main content area #main -->
<div id="main">
<!-- begin: #col1 - first float column -->
<div id="col1" role="complementary">
<div id="col1_content" class="clearfix">
<?php echo $left; ?>
</div>
</div>
<!-- end: #col1 -->
<!-- begin: #col2 second float column -->
<div id="col2" role="complementary">
<div id="col2_content" class="clearfix">
<?php echo $right; ?>
</div>
</div>
<!-- end: #col2 -->
<!-- begin: #col3 static column -->
<div id="col3" role="main">
<div id="col3_content" class="clearfix">
<div id="ajBODY">
<!-- begin: info box -->
<?php if ((string)$sysmsg) { ?>
<div id="info_box" class="info" style="display:block;">
<?php echo $sysmsg; ?>
</div>
<?php } ?>
<!-- end: info box -->
<?php echo $content; ?>
<div id="ie_clearing">&nbsp;</div>
<!-- End: IE Column Clearing -->
</div>
</div>
<!-- end: #col3 -->
</div>
<!-- end: #main -->
<!-- begin: #footer -->
<div id="shadow"></div>
<div id="footer" role="contentinfo"><?php echo $footer; ?></div>
<!-- end: #footer -->
</div>
</div>
<!-- full skiplink functionality in webkit browsers -->
<script src="/osb/media/js/yaml/yaml-focusfix.js" type="text/javascript"></script>
</body>
</html>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<!-- YAML Template Layout for lnApp -->
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="auto" lang="auto">
<head>
<title><?php echo $meta->title; ?></title>
<link rel="shortcut icon" href="<?php echo $meta->shortcut_icon ? $meta->shortcut_icon : '/favicon.ico' ?>" type="image/vnd.microsoft.icon" />
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="Content-Language" content="<?php echo $meta->language; ?>" />
<meta name="keywords" content="<?php echo $meta->keywords; ?>" />
<meta name="description" content="<?php echo $meta->description; ?>" />
<meta name="copyright" content="<?php echo Config::copywrite(); ?>" />
<!-- JavaScript Detection -->
<script type="text/javascript">document.documentElement.className += " js";</script>
<?php echo HTML::style('media/theme/yaml/css/page.css'); ?>
<?php echo Style::factory(); ?>
<?php echo Script::factory(); ?>
</head>
<body>
<!-- begin: skip link navigation -->
<ul id="skiplinks">
<li><a class="skip" href="#nav">Skip to navigation (Press Enter).</a></li>
<li><a class="skip" href="#left">Skip to main content (Press Enter).</a></li>
</ul>
<!-- end: skip link navigation -->
<div id="page_margins">
<div id="page">
<div id="topnav">
<div class="langMenu">
<!--
<?php #echo HTML::anchor('#',HTML::image(sprintf('media/img/country/%s.png',strtolower(Config::instance()->so->country->two_code)),array('alt'=>Config::instance()->so->country->display('name'),'class'=>'flag','title'=>Config::instance()->so->country->display('name'),'width'=>'18','height'=>'12')).'<span class="text">'.Config::instance()->so->country->display('name').'</span>'); ?>
<img class="arrow" src="<?php echo URL::site(); ?>media/css/yaml/images/arrow.gif" width="7" height="10" alt="" />
-->
<?php echo HTML::image(sprintf('media/img/country/%s.png',strtolower(Config::instance()->so->country->two_code)),array('alt'=>Config::instance()->so->country->display('name'),'class'=>'flag','title'=>Config::instance()->so->country->display('name'),'width'=>'18','height'=>'12')); ?>
<span class="text"><?php echo Config::instance()->so->country->display('name'); ?></span>
<!-- //@todo Enable contact form -->
<div style="display:none">
<span class="text2"> &#124; </span>
<?php echo HTML::anchor('contact','Contact Us'); ?>
</div>
<span class="text2"> &#124; </span>
<?php echo Config::login_uri(); ?>
</div>
<span><?php echo Config::sitename(); ?></span>
</div>
<div id="header">
<h1><span>&nbsp;</span>&nbsp;</h1>
</div>
<!-- begin: main navigation #nav -->
<div id="nav">
<div id="nav_main">
<ul>
<li id="current"><?php echo HTML::anchor('','Home'); ?></li>
<li><?php echo HTML::anchor('product/categorys','Products'); ?></li>
<li><?php echo HTML::anchor('staticpage_category/list','FAQ'); ?></li>
</ul>
</div>
<div id="nav_main2">
<?php echo Breadcrumb::factory(); ?>
</div>
</div>
<!-- end: main navigation -->
<!-- begin: main content area #main -->
<table id="main">
<tr>
<!-- Left Pane -->
<td id="left" <?php echo $left ? '' : 'style="display: none;"'?>>
<!-- begin: #left - first float column -->
<div id="left_content" class="clearfix">
<?php echo $left; ?>
</div>
<!-- end: #left -->
</td>
<!-- Main Body Pane -->
<td id="center">
<!-- begin: #center static column -->
<div id="center_content" class="clearfix">
<!-- begin: info box -->
<?php if ((string)$sysmsg) { ?>
<div id="info_box" class="info" style="display:block;">
<?php echo $sysmsg; ?>
</div>
<?php } ?>
<!-- end: info box -->
<?php echo $content; ?>
<!-- Begin: IE Column Clearing -->
<div id="ie_clearing">&nbsp;</div>
<!-- End: IE Column Clearing -->
</div>
<!-- end: #center -->
</td>
<!-- Right Pane -->
<td id="right" <?php echo $right ? '' : 'style="display: none;"'?>>
<!-- begin: #right second float column -->
<div id="right_content" class="clearfix">
<?php echo $right; ?>
</div>
<!-- end: #right -->
</td>
</tr>
</table>
<!-- end: #main -->
<!-- begin: #footer -->
<div id="shadow"></div>
<div id="footer"><?php echo $footer; ?></div>
<!-- end: #footer -->
<div id="debug">
<?php if (Kohana::$environment == Kohana::DEVELOPMENT) { ?>
<div id="kohana-profiler" style="display: none;"><?php echo View::factory('profiler/stats'); ?></div>
<script type="text/javascript">$("#footer").click(function() {$('#kohana-profiler').toggle();});</script>
<?php }?>
<?php if (Kohana::$environment >= Kohana::STAGING) { ?>
<div id="kohana-session" style="display: none; text-align: left;"><?php echo debug::vars(Session::instance()); ?></div>
<script type="text/javascript">$("#footer").click(function() {$('#kohana-session').toggle();});</script>
<?php }?>
</div>
</div>
</div>
</body>
</html>

222
index.php
View File

@ -1,131 +1,121 @@
<?php
/**
* AgileBill - Open Billing Software
*
* This body of work is free software; you can redistribute it and/or
* modify it under the terms of the Open AgileBill License
* License as published at http://www.agileco.com/agilebill/license1-4.txt
*
* Originally authored by Tony Landis, AgileBill LLC
* Recent modifications by Deon George
*
* @author Deon George <deonATleenooksDOTnet>
* @copyright 2009 Deon George
* @link http://osb.leenooks.net
*
* @link http://www.agileco.com/
* @copyright 2004-2008 Agileco, LLC.
* @license http://www.agileco.com/agilebill/license1-4.txt
* @author Tony Landis <tony@agileco.com>
* @package AgileBill
* @subpackage Core
*/
/**
* The main AgileBill Index Page
* The directory in which your application specific resources are located.
* The application directory must contain the bootstrap.php file.
*
* @see http://kohanaframework.org/guide/about.install#application
*/
$application = 'application';
/**
* The directory in which your modules are located.
*
* @see http://kohanaframework.org/guide/about.install#modules
*/
$modules = 'modules';
/**
* The directory in which upstream Kohana resources (modules) are located.
*/
$sysmodules = 'includes/kohana/modules';
/**
* The directory in which the Kohana resources are located. The system
* directory must contain the classes/kohana.php file.
*
* @see http://kohanaframework.org/guide/about.install#system
*/
$system = 'includes/kohana/system';
/**
* The default extension of resource files. If you change this, all resources
* must be renamed to use the new extension.
*
* @see http://kohanaframework.org/guide/about.install#ext
*/
define('EXT', '.php');
/**
* Set the PHP error reporting level. If you set this in php.ini, you remove this.
* @see http://php.net/error_reporting
*
* When developing your application, it is highly recommended to enable notices
* and strict warnings. Enable them by using: E_ALL | E_STRICT
*
* In a production environment, it is safe to ignore notices and strict warnings.
* Disable them by using: E_ALL ^ E_NOTICE
*
* When using a legacy application with PHP >= 5.3, it is recommended to disable
* deprecated notices. Disable with: E_ALL & ~E_DEPRECATED
*/
error_reporting(E_ALL | E_STRICT);
/**
* End of standard configuration! Changing any of the code below should only be
* attempted by those with a working knowledge of Kohana internals.
*
* @see http://kohanaframework.org/guide/using.configuration
*/
date_default_timezone_set('Australia/Melbourne');
// Set the full path to the docroot
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
ob_start();
// Make the application relative to the docroot, for symlink'd index.php
if ( ! is_dir($application) AND is_dir(DOCROOT.$application))
$application = DOCROOT.$application;
# Check if we are task, and if so, override our default id
$runTasks = false;
if (isset($_SERVER['argv']) && is_array($_SERVER['argv'])) {
# Pre-set our SERVER_NAME
if (! isset($_SERVER['SERVER_NAME']))
$_SERVER['SERVER_NAME'] = isset($_SERVER['HOSTNAME']) ? $_SERVER['HOSTNAME'] : trim(shell_exec('hostname'));
// Make the modules relative to the docroot, for symlink'd index.php
if ( ! is_dir($modules) AND is_dir(DOCROOT.$modules))
$modules = DOCROOT.$modules;
foreach ($_SERVER['argv'] as $key => $values)
if ($values == '_task=1')
$runTasks = true;
elseif (preg_match('/^site=/',$values))
$_SERVER['SERVER_NAME'] = preg_replace('/^site=(.*)$/',"$1",$values);
elseif (preg_match('/^debug=/',$values))
$hardcode['debug'] = preg_replace('/^debug=(.*)$/',"$1",$values);
// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($sysmodules) AND is_dir(DOCROOT.$sysmodules))
$sysmodules = DOCROOT.$sysmodules;
// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($system) AND is_dir(DOCROOT.$system))
$system = DOCROOT.$system;
// Define the absolute paths for configured directories
define('APPPATH', realpath($application).DIRECTORY_SEPARATOR);
define('MODPATH', realpath($modules).DIRECTORY_SEPARATOR);
define('SMDPATH', realpath($sysmodules).DIRECTORY_SEPARATOR);
define('SYSPATH', realpath($system).DIRECTORY_SEPARATOR);
// Clean up the configuration vars
unset($application, $modules, $sysmodules, $system);
if (file_exists('install'.EXT))
{
// Load the installation check
return include 'install'.EXT;
}
require_once('config.inc.php');
require_once('modules/module.inc.php');
require_once('modules/core/vars.inc.php');
$C_vars = new CORE_vars;
# Set our _REQUEST vars
$VAR = $C_vars->f;
# Jump to install if we havent been installed.
if (! defined('PATH_AGILE')) {
if (is_file('install/install.inc'))
require_once('install/install.inc');
exit;
/**
* Define the start time of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_TIME'))
{
define('KOHANA_START_TIME', microtime(TRUE));
}
require_once('includes/adodb/adodb.inc.php');
require_once('includes/smarty/Smarty.class.php');
require_once(PATH_CORE.'auth.inc.php');
require_once(PATH_CORE.'database.inc.php');
require_once(PATH_CORE.'list.inc.php');
require_once(PATH_CORE.'method.inc.php');
require_once(PATH_CORE.'session.inc.php');
require_once(PATH_CORE.'theme.inc.php');
require_once(PATH_CORE.'translate.inc.php');
require_once(PATH_CORE.'setup.inc.php');
require_once(PATH_CORE.'xml.inc.php');
$C_debug = new CORE_debugger;
$C_setup = new CORE_setup;
$C_sess = new CORE_session;
$C_sess->session_constant();
$C_method = new CORE_method;
$C_translate = new CORE_translate;
if ((isset($VAR['_login'])) && (isset($VAR['_username'])) && (isset($VAR['_password']))) {
require_once(PATH_CORE.'login.inc.php');
$C_login = new CORE_login_handler();
$C_login->login($VAR);
} elseif (isset($VAR['_logout'])) {
require_once(PATH_CORE.'login.inc.php');
$C_login = new CORE_login_handler();
$C_login->logout($VAR);
/**
* Define the memory usage at the start of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_MEMORY'))
{
define('KOHANA_START_MEMORY', memory_get_usage());
}
$C_sess->session_constant_log();
$C_auth = new CORE_auth(false);
// Bootstrap the application
require APPPATH.'bootstrap'.EXT;
$smarty = new Smarty;
$C_list = new CORE_list;
$C_block = new CORE_block;
# See if we are being called to do task activities
if ($runTasks) {
require_once(PATH_MODULES.'task/task.inc.php');
$task = new task;
$task->run_all();
exit;
}
$C_method->do_all();
if (isset($C_auth2) && $C_auth2 != false && defined('FORCE_SESS_ACCOUNT')) {
$smarty->assign('SESS_LOGGED',FORCE_SESS_LOGGED);
$smarty->assign('SESS_ACCOUNT',FORCE_SESS_ACCOUNT);
} else {
$smarty->assign('SESS_LOGGED',SESS_LOGGED);
$smarty->assign('SESS_ACCOUNT',SESS_ACCOUNT);
}
$smarty->assign_by_ref('method',$C_method);
$smarty->assign_by_ref('list',$C_list);
$smarty->assign_by_ref('block',$C_block);
$smarty->assign_by_ref('alert',$C_debug->alert);
$smarty->assign('VAR',$VAR);
$smarty->assign('SESS',SESS);
$smarty->assign('SSL_URL',SSL_URL);
$smarty->assign('URL',URL);
$C_theme = new CORE_theme;
ob_end_flush();
?>
/**
* Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
* If no source is specified, the URI will be automatically detected.
*/
echo Request::factory()
->execute()
->send_headers()
->body();

121
kh.php
View File

@ -1,121 +0,0 @@
<?php
/**
* The directory in which your application specific resources are located.
* The application directory must contain the bootstrap.php file.
*
* @see http://kohanaframework.org/guide/about.install#application
*/
$application = 'application';
/**
* The directory in which your modules are located.
*
* @see http://kohanaframework.org/guide/about.install#modules
*/
$modules = 'modules';
/**
* The directory in which upstream Kohana resources (modules) are located.
*/
$sysmodules = 'includes/kohana/modules';
/**
* The directory in which the Kohana resources are located. The system
* directory must contain the classes/kohana.php file.
*
* @see http://kohanaframework.org/guide/about.install#system
*/
$system = 'includes/kohana/system';
/**
* The default extension of resource files. If you change this, all resources
* must be renamed to use the new extension.
*
* @see http://kohanaframework.org/guide/about.install#ext
*/
define('EXT', '.php');
/**
* Set the PHP error reporting level. If you set this in php.ini, you remove this.
* @see http://php.net/error_reporting
*
* When developing your application, it is highly recommended to enable notices
* and strict warnings. Enable them by using: E_ALL | E_STRICT
*
* In a production environment, it is safe to ignore notices and strict warnings.
* Disable them by using: E_ALL ^ E_NOTICE
*
* When using a legacy application with PHP >= 5.3, it is recommended to disable
* deprecated notices. Disable with: E_ALL & ~E_DEPRECATED
*/
error_reporting(E_ALL | E_STRICT);
/**
* End of standard configuration! Changing any of the code below should only be
* attempted by those with a working knowledge of Kohana internals.
*
* @see http://kohanaframework.org/guide/using.configuration
*/
// Set the full path to the docroot
define('DOCROOT', realpath(dirname(__FILE__)).DIRECTORY_SEPARATOR);
// Make the application relative to the docroot, for symlink'd index.php
if ( ! is_dir($application) AND is_dir(DOCROOT.$application))
$application = DOCROOT.$application;
// Make the modules relative to the docroot, for symlink'd index.php
if ( ! is_dir($modules) AND is_dir(DOCROOT.$modules))
$modules = DOCROOT.$modules;
// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($sysmodules) AND is_dir(DOCROOT.$sysmodules))
$sysmodules = DOCROOT.$sysmodules;
// Make the system relative to the docroot, for symlink'd index.php
if ( ! is_dir($system) AND is_dir(DOCROOT.$system))
$system = DOCROOT.$system;
// Define the absolute paths for configured directories
define('APPPATH', realpath($application).DIRECTORY_SEPARATOR);
define('MODPATH', realpath($modules).DIRECTORY_SEPARATOR);
define('SMDPATH', realpath($sysmodules).DIRECTORY_SEPARATOR);
define('SYSPATH', realpath($system).DIRECTORY_SEPARATOR);
// Clean up the configuration vars
unset($application, $modules, $sysmodules, $system);
if (file_exists('install'.EXT))
{
// Load the installation check
return include 'install'.EXT;
}
/**
* Define the start time of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_TIME'))
{
define('KOHANA_START_TIME', microtime(TRUE));
}
/**
* Define the memory usage at the start of the application, used for profiling.
*/
if ( ! defined('KOHANA_START_MEMORY'))
{
define('KOHANA_START_MEMORY', memory_get_usage());
}
// Bootstrap the application
require APPPATH.'bootstrap'.EXT;
/**
* Execute the main request. A source of the URI can be passed, eg: $_SERVER['PATH_INFO'].
* If no source is specified, the URI will be automatically detected.
*/
echo Request::factory()
->execute()
->send_headers()
->body();

View File

@ -40,7 +40,7 @@ class Model_Invoice_Item extends ORMOSB {
// Items belonging to an invoice
private $subitems = array();
private $subitems_load = FALSE;
private $subitems_loaded = FALSE;
public function __construct($id = NULL) {
// Load our model.
@ -51,9 +51,9 @@ class Model_Invoice_Item extends ORMOSB {
private function load_sub_items() {
// Load our sub items
if (! $this->subitems_load AND $this->loaded()) {
if (! $this->subitems_loaded AND $this->loaded()) {
$this->subitems['tax'] = $this->invoice_item_tax->find_all()->as_array();
$this->subitems_load = TRUE;
$this->subitems_loaded = TRUE;
}
return $this;

View File

@ -11,6 +11,25 @@
* @license http://dev.leenooks.net/license.html
*/
class Controller_Product extends Controller_TemplateDefault {
public function action_categorys() {
$output = '<div id="category">';
$output .= '<ul>';
foreach (ORM::factory('product_category')->list_active()->find_all() as $pco) {
$a = '<h3>'.$pco->display('name').'</h3>';
$a .= '<p>'.$pco->description().'</p>';
$output .= '<li>';
$output .= HTML::anchor('product/category/'.$pco->id,$a);
$output .= '</li>';
}
$output .= '</ul>';
$output .= '</div>';
$this->template->content = $output;
}
/**
* Show the available topics in a category
* @todo Only show categories according to their validity dates

View File

@ -13,10 +13,22 @@
class Model_Product_Category extends ORMOSB {
protected $_table_name = 'product_cat';
protected $_has_many = array(
'product_category_translate'=>array('foreign_key'=>'product_cat_id','far_key'=>'id'),
);
protected $_sorting = array(
'name'=>'asc',
);
public function description() {
return ($a=$this->product_category_translate->where('language_id','=','en')->find()->description) ? $a : 'No Description';
}
public function list_active() {
return $this->where('status','=',1);
}
public function list_bylistgroup($cat) {
$result = array();