template support (incomplete, maybe broken)
darcs-hash:20050306183159-9977f-22dbb69831b5fa2e28bbf62448c65053d96a2cb9.gz
|
@ -23,6 +23,7 @@ $conf['uploadtypes'] = 'gif|jpe?g|png|zip|pdf|tar(\.gz)?|tgz'; //regexp of allow
|
|||
|
||||
$conf['start'] = 'start'; //name of start page
|
||||
$conf['title'] = 'DokuWiki'; //what to show in the title
|
||||
$conf['template'] = 'default'; //see tpl directory
|
||||
$conf['fullpath'] = 0; //show full path of the document or relative to datadir only? 0|1
|
||||
$conf['recent'] = 20; //how many entries to show in recent
|
||||
$conf['breadcrumbs'] = 10; //how many recent visited pages to show
|
||||
|
|
148
doku.php
|
@ -14,6 +14,7 @@
|
|||
require_once(DOKU_INC.'lang/en/lang.php');
|
||||
require_once(DOKU_INC.'lang/'.$conf['lang'].'/lang.php');
|
||||
require_once(DOKU_INC.'inc/auth.php');
|
||||
require_once(DOKU_INC.'inc/actions.php');
|
||||
|
||||
//import variables
|
||||
$QUERY = trim($_REQUEST['id']);
|
||||
|
@ -58,152 +59,7 @@
|
|||
//make infos about the selected page available
|
||||
$INFO = pageinfo();
|
||||
|
||||
//already logged in?
|
||||
if($_SERVER['REMOTE_USER'] && $ACT=='login') $ACT='show';
|
||||
//handle logout
|
||||
if($ACT=='logout'){
|
||||
auth_logoff();
|
||||
$ACT='login';
|
||||
}
|
||||
|
||||
//handle register
|
||||
if($ACT=='register' && register()){
|
||||
$ACT='login';
|
||||
}
|
||||
|
||||
/*
|
||||
//handle acl_admin stuff, add acl entry
|
||||
if( ($ACT=='acl_admin_add') && (auth_quickaclcheck($ID) == AUTH_GRANT)){
|
||||
acl_admin_change($ACL_SCOPE, $ACL_USER, "", $ACL_CHECKBOX);
|
||||
# reload ACL into a global array
|
||||
//$AUTH_ACL = file('conf/acl.auth');
|
||||
$AUTH_ACL = load_acl_config();
|
||||
$ACT='acl_admin';
|
||||
}
|
||||
|
||||
//handle acl_admin stuff, change acl entry
|
||||
if( ($ACT=='acl_admin_change') && (auth_quickaclcheck($ID) == AUTH_GRANT)){
|
||||
acl_admin_change($ACL_SCOPE, $ACL_USER, $ACL_LEVEL, $ACL_CHECKBOX);
|
||||
# reload ACL into a global array
|
||||
$AUTH_ACL = load_acl_config();
|
||||
$ACT='acl_admin';
|
||||
}
|
||||
|
||||
//handle acl_admin_del stuff, remove acl entry
|
||||
if( ($ACT=='acl_admin_del') && (auth_quickaclcheck($ID) == AUTH_GRANT)) {
|
||||
acl_admin_del($ACL_SCOPE, $ACL_USER, $ACL_LEVEL);
|
||||
# reload ACL into a global array
|
||||
$AUTH_ACL = load_acl_config();
|
||||
$ACT='acl_admin';
|
||||
}
|
||||
*/
|
||||
|
||||
//do saving after spam- and conflictcheck
|
||||
if($ACT == $lang['btn_save'] && auth_quickaclcheck($ID)){
|
||||
if(checkwordblock()){
|
||||
//spam detected
|
||||
$ACT = 'wordblock';
|
||||
}elseif($DATE != 0 && @filemtime(wikiFN($ID)) > $DATE ){
|
||||
//newer version available -> ask what to do
|
||||
$ACT = 'conflict';
|
||||
}else{
|
||||
//save it
|
||||
saveWikiText($ID,con($PRE,$TEXT,$SUF,1),$SUM); //use pretty mode for con
|
||||
//unlock it
|
||||
unlock($id);
|
||||
//show it
|
||||
header("Location: ".wl($ID,'',true));
|
||||
exit();
|
||||
}
|
||||
}
|
||||
|
||||
//Editing: check if locked by anyone - if not lock for my self
|
||||
if(($ACT == 'edit' || $ACT == $lang['btn_preview']) && $INFO['editable']){
|
||||
$lockedby = checklock($ID);
|
||||
if($lockedby){
|
||||
$ACT = 'locked';
|
||||
}else{
|
||||
lock($ID);
|
||||
}
|
||||
}else{
|
||||
//try to unlock
|
||||
unlock($ID);
|
||||
}
|
||||
|
||||
|
||||
//display some infos
|
||||
if($ACT == 'check'){
|
||||
check();
|
||||
$ACT = 'show';
|
||||
}
|
||||
|
||||
//check if searchword was given - else just show
|
||||
if($ACT == 'search' && empty($QUERY)){
|
||||
$ACT = 'show';
|
||||
}
|
||||
|
||||
//check which permission is needed
|
||||
if(in_array($ACT,array('preview','wordblock','conflict','lockedby'))){
|
||||
if($INFO['exists']){
|
||||
$permneed = AUTH_EDIT;
|
||||
}else{
|
||||
$permneed = AUTH_CREATE;
|
||||
}
|
||||
}elseif(in_array($ACT,array('login','register','search','recent'))){
|
||||
$permneed = AUTH_NONE;
|
||||
}else{
|
||||
$permneed = AUTH_READ;
|
||||
}
|
||||
|
||||
//start output
|
||||
header('Content-Type: text/html; charset='.$lang['encoding']);
|
||||
if(substr($ACT,0,6) != 'export') html_header();
|
||||
if(html_acl($permneed)){
|
||||
if($ACT == 'edit'){
|
||||
html_edit();
|
||||
}elseif($ACT == $lang['btn_preview']){
|
||||
html_edit($TEXT);
|
||||
html_show($TEXT);
|
||||
}elseif($ACT == 'wordblock'){
|
||||
html_edit($TEXT,'wordblock');
|
||||
}elseif($ACT == 'search'){
|
||||
html_search();
|
||||
}elseif($ACT == 'revisions'){
|
||||
html_revisions();
|
||||
}elseif($ACT == 'diff'){
|
||||
html_diff();
|
||||
}elseif($ACT == 'recent'){
|
||||
html_recent();
|
||||
}elseif($ACT == 'index'){
|
||||
html_index($IDX);
|
||||
}elseif($ACT == 'backlink'){
|
||||
html_backlinks();
|
||||
}elseif($ACT == 'conflict'){
|
||||
html_conflict(con($PRE,$TEXT,$SUF),$SUM);
|
||||
html_diff(con($PRE,$TEXT,$SUF),false);
|
||||
}elseif($ACT == 'locked'){
|
||||
html_locked($lockedby);
|
||||
# }elseif( ($ACT == 'acl_admin') && (auth_quickaclcheck($ID) == AUTH_GRANT)){
|
||||
# html_acl_admin();
|
||||
}elseif($ACT == 'login'){
|
||||
html_login();
|
||||
}elseif($ACT == 'register' && $conf['openregister']){
|
||||
html_register();
|
||||
}elseif($ACT == 'export_html'){
|
||||
html_head();
|
||||
print "<body>\n";
|
||||
print parsedWiki($ID,$REV,false);
|
||||
print "</body>\n</html>\n";
|
||||
}elseif($ACT == 'export_raw'){
|
||||
header("Content-Type: text/plain");
|
||||
print rawWiki($ID,$REV);
|
||||
}else{
|
||||
$ACT='show';
|
||||
html_show();
|
||||
}
|
||||
}
|
||||
if(substr($ACT,0,6) != 'export') html_footer();
|
||||
|
||||
act_dispatch($ACT);
|
||||
|
||||
//restore old umask
|
||||
umask($conf['oldumask']);
|
||||
|
|
|
@ -0,0 +1,192 @@
|
|||
<?php
|
||||
/**
|
||||
* DokuWiki Actions
|
||||
*
|
||||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
|
||||
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
|
||||
require_once(DOKU_INC.'inc/template.php');
|
||||
|
||||
/**
|
||||
* Call the needed action handlers
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_dispatch(){
|
||||
global $INFO;
|
||||
global $ACT;
|
||||
global $ID;
|
||||
global $QUERY;
|
||||
global $lang;
|
||||
global $conf;
|
||||
|
||||
//check permissions
|
||||
$ACT = act_permcheck($ACT);
|
||||
|
||||
//login stuff
|
||||
if(in_array($ACT,array('login','logout','register')))
|
||||
$ACT = act_login($ACT);
|
||||
|
||||
//save
|
||||
if($ACT == 'save')
|
||||
$ACT = act_save($ACT);
|
||||
|
||||
//edit
|
||||
if(($ACT == 'edit' || $ACT == $lang['btn_preview']) && $INFO['editable']){
|
||||
$ACT = act_save($ACT);
|
||||
}else{
|
||||
unlock($ID); //try to unlock
|
||||
}
|
||||
|
||||
//handle export
|
||||
if(substr($ACT,0,6) == 'export')
|
||||
$ACT = act_export($ACT);
|
||||
|
||||
//display some infos
|
||||
if($ACT == 'check'){
|
||||
check();
|
||||
$ACT = 'show';
|
||||
}
|
||||
|
||||
//check if searchword was given - else just show
|
||||
if($ACT == 'search' && empty($QUERY)){
|
||||
$ACT = 'show';
|
||||
}
|
||||
|
||||
//fixme sanitize $ACT
|
||||
|
||||
//call template FIXME: all needed vars available?
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
include(DOKU_INC.'tpl/'.$conf['template'].'/main.php');
|
||||
}
|
||||
|
||||
/**
|
||||
* Run permissionchecks
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_permcheck($act){
|
||||
if(in_array($act,array('save','preview','edit'))){
|
||||
if($INFO['exists']){
|
||||
$permneed = AUTH_EDIT;
|
||||
}else{
|
||||
$permneed = AUTH_CREATE;
|
||||
}
|
||||
}elseif(in_array($act,array('login','register','search','recent'))){
|
||||
$permneed = AUTH_NONE;
|
||||
}else{
|
||||
$permneed = AUTH_READ;
|
||||
}
|
||||
if(! auth_quickaclcheck($ID) >= $permneed){
|
||||
return 'denied';
|
||||
}
|
||||
|
||||
return $act;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle 'save'
|
||||
*
|
||||
* Checks for spam and conflicts and saves the page.
|
||||
* Does a redirect to show the page afterwards or
|
||||
* returns a new action.
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_save($act){
|
||||
global $ID;
|
||||
global $DATE;
|
||||
global $PRE;
|
||||
global $TEXT;
|
||||
global $SUF;
|
||||
global $SUM;
|
||||
|
||||
//spam check
|
||||
if(checkwordblock())
|
||||
return 'wordblock';
|
||||
//conflict check //FIXME use INFO
|
||||
if($DATE != 0 && @filemtime(wikiFN($ID)) > $DATE )
|
||||
return 'conflict';
|
||||
|
||||
//save it
|
||||
saveWikiText($ID,con($PRE,$TEXT,$SUF,1),$SUM); //use pretty mode for con
|
||||
//unlock it
|
||||
unlock($ID);
|
||||
|
||||
//show it
|
||||
session_write_close();
|
||||
header("Location: ".wl($ID,'',true));
|
||||
exit();
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle 'login', 'logout', 'register'
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_auth($act){
|
||||
//already logged in?
|
||||
if($_SERVER['REMOTE_USER'] && $act=='login')
|
||||
return 'show';
|
||||
|
||||
//handle logout
|
||||
if($act=='logout'){
|
||||
auth_logoff();
|
||||
return 'login';
|
||||
}
|
||||
|
||||
//handle register
|
||||
if($act=='register' && register()){
|
||||
$act='login';
|
||||
}
|
||||
|
||||
return $act;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle 'edit', 'preview'
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_edit($act){
|
||||
//check if locked by anyone - if not lock for my self
|
||||
$lockedby = checklock($ID);
|
||||
if($lockedby) return 'locked';
|
||||
|
||||
lock($ID);
|
||||
return $act;
|
||||
}
|
||||
|
||||
/**
|
||||
* Handle 'edit', 'preview'
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function act_export($act){
|
||||
global $ID;
|
||||
global $REV;
|
||||
|
||||
if($act == 'export_html'){
|
||||
header('Content-Type: text/html; charset=utf-8');
|
||||
ptln('<html>');
|
||||
ptln('<head>');
|
||||
tpl_metaheaders();
|
||||
ptln('</head>');
|
||||
ptln('<body>');
|
||||
print parsedWiki($ID,$REV,false);
|
||||
ptln('</body>');
|
||||
ptln('</html>');
|
||||
exit;
|
||||
}
|
||||
|
||||
if($act == 'export_raw'){
|
||||
header('Content-Type: text/plain; charset=utf-8');
|
||||
print rawWiki($ID,$REV);
|
||||
exit;
|
||||
}
|
||||
|
||||
return 'show';
|
||||
}
|
||||
?>
|
|
@ -369,7 +369,6 @@ function cleanID($id){
|
|||
if($conf['deaccent']) $id = utf8_deaccent($id,-1);
|
||||
|
||||
//remove specials
|
||||
//$id = preg_replace('#[\x00-\x20 ¡!"§$%&()\[\]{}¿\\?`\'\#~*+=,<>\|^°@µ¹²³¼½¬]#u','_',$id);
|
||||
$id = utf8_stripspecials($id,'_','_:.-');
|
||||
|
||||
//clean up
|
||||
|
@ -815,6 +814,7 @@ function download($url,$file){
|
|||
/**
|
||||
* extracts the query from a google referer
|
||||
*
|
||||
* @todo should be more generic and support yahoo et al
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function getGoogleQuery(){
|
||||
|
|
17
inc/html.php
|
@ -147,6 +147,7 @@ function html_secedit($text,$show=true){
|
|||
/**
|
||||
* displays the breadcrumbs trace
|
||||
*
|
||||
* @deprecated
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function html_breadcrumbs(){
|
||||
|
@ -169,6 +170,7 @@ function html_breadcrumbs(){
|
|||
/**
|
||||
* display the HTML head and metadata
|
||||
*
|
||||
* @deprecated -> tpl_metaheaders()
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function html_head(){
|
||||
|
@ -230,6 +232,21 @@ function html_head(){
|
|||
<?
|
||||
}
|
||||
|
||||
/**
|
||||
* Just the back to top button (in it's own form)
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function html_topbtn(){
|
||||
global $lang;
|
||||
|
||||
$ret = '';
|
||||
$ret .= '<form class="button" method="get" action="#top" onsubmit="return svchk()">';
|
||||
$ret .= '<input type="submit" value="'.htmlspecialchars($lang['btn_top']).'" class="button" ';
|
||||
$ret .= '</form>';
|
||||
return $ret;
|
||||
}
|
||||
|
||||
/**
|
||||
* Displays a button (using it's own form)
|
||||
*
|
||||
|
|
|
@ -20,6 +20,10 @@
|
|||
// define main script
|
||||
if(!defined('DOKU_SCRIPT')) define('DOKU_SCRIPT','doku.php');
|
||||
|
||||
// define Template baseURL
|
||||
if(!defined('DOKU_TPL')) define('DOKU_TPL',
|
||||
DOKU_BASE.'tpl/'.$conf['template'].'/');
|
||||
|
||||
// set up error reporting to sane values
|
||||
error_reporting(E_ALL ^ E_NOTICE);
|
||||
|
||||
|
@ -28,7 +32,7 @@
|
|||
|
||||
// init session
|
||||
session_name("DokuWiki");
|
||||
session_start();
|
||||
if (!headers_sent()) session_start();
|
||||
|
||||
// kill magic quotes
|
||||
if (get_magic_quotes_gpc()) {
|
||||
|
|
|
@ -0,0 +1,314 @@
|
|||
<?php
|
||||
/**
|
||||
* DokuWiki template functions
|
||||
*
|
||||
* @license GPL 2 (http://www.gnu.org/licenses/gpl.html)
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
|
||||
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__).'/../').'/');
|
||||
require_once(DOKU_INC.'conf/dokuwiki.php');
|
||||
|
||||
/**
|
||||
* Wrapper around htmlspecialchars()
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
* @see htmlspecialchars()
|
||||
*/
|
||||
function hsc($string){
|
||||
return htmlspecialchars($string);
|
||||
}
|
||||
|
||||
/**
|
||||
* print a newline terminated string
|
||||
*
|
||||
* You can give an indention as optional parameter
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function ptln($string,$intend=0){
|
||||
for($i=0; $i<$intend; $i++) print ' ';
|
||||
print"$string\n";
|
||||
}
|
||||
|
||||
/**
|
||||
* Print the content
|
||||
*
|
||||
* This function is used for printing all the usual content
|
||||
* (defined by the global $ACT var) by calling the appropriate
|
||||
* outputfunction(s) from html.php
|
||||
*
|
||||
* Everything that doesn't use the default template isn't
|
||||
* handled by this function. ACL stuff is not done either.
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_content(){
|
||||
global $ACT;
|
||||
global $TEXT;
|
||||
global $PRE;
|
||||
global $SUF;
|
||||
global $SUM;
|
||||
global $IDX;
|
||||
global $lang;
|
||||
|
||||
switch($ACT){
|
||||
case 'show':
|
||||
html_show();
|
||||
break;
|
||||
case $lang['btn_preview']:
|
||||
html_edit($TEXT);
|
||||
html_show($TEXT);
|
||||
break;
|
||||
case 'edit':
|
||||
html_edit();
|
||||
break;
|
||||
case 'wordblock':
|
||||
html_edit($TEXT,'wordblock');
|
||||
break;
|
||||
case 'search':
|
||||
html_search();
|
||||
break;
|
||||
case 'revisions':
|
||||
html_revisions();
|
||||
break;
|
||||
case 'diff':
|
||||
html_diff();
|
||||
break;
|
||||
case 'recent':
|
||||
html_recent();
|
||||
break;
|
||||
case 'index':
|
||||
html_index($IDX); #FIXME can this be pulled from globals? is it sanitized correctly?
|
||||
break;
|
||||
case 'backlink':
|
||||
html_backlinks();
|
||||
break;
|
||||
case 'conflict':
|
||||
html_conflict(con($PRE,$TEXT,$SUF),$SUM);
|
||||
html_diff(con($PRE,$TEXT,$SUF),false);
|
||||
break;
|
||||
case 'locked':
|
||||
html_locked($lockedby);
|
||||
break;
|
||||
case 'login':
|
||||
html_login();
|
||||
break;
|
||||
case 'register':
|
||||
#FIXME check for $conf['openregister']) needs to be done first!!
|
||||
html_register();
|
||||
break;
|
||||
default:
|
||||
print "Uhm... Where am I? This shouldn't happen";
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Print the correct HTML meta headers
|
||||
*
|
||||
* This has to go into the head section of your template.
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_metaheaders(){
|
||||
global $ID;
|
||||
global $INFO;
|
||||
global $ACT;
|
||||
global $lang;
|
||||
$it=2;
|
||||
|
||||
// the usual stuff
|
||||
ptln('<meta name="generator" content="DokuWiki '.getVersion().'" />',$it);
|
||||
ptln('<link rel="start" href="'.DOKU_BASE.'" />',$it);
|
||||
ptln('<link rel="contents" href="'.wl($ID,'do=index').'" title="'.$lang['index'].'" />',$it);
|
||||
ptln('<link rel="alternate" type="application/rss+xml" title="Recent Changes" href="'.DOKU_BASE.'feed.php" />',$it);
|
||||
ptln('<link rel="alternate" type="application/rss+xml" title="Current Namespace" href="'.DOKU_BASE.'feed.php?mode=list&ns='.$INFO['namespace'].'" />',$it);
|
||||
ptln('<link rel="alternate" type="text/html" title="Plain HTML" href="'.wl($ID,'do=export_html').'" />',$it);
|
||||
ptln('<link rel="alternate" type="text/plain" title="Wiki Markup" href="'.wl($ID, 'do=export_raw').'" />',$it);
|
||||
ptln('<link rel="stylesheet" media="screen" type="text/css" href="'.DOKU_BASE.'style.css" />',$it);
|
||||
|
||||
// setup robot tags apropriate for different modes
|
||||
if( ($ACT=='show' || $ACT=='export_html') && !$REV){
|
||||
if($INFO['exists']){
|
||||
ptln('<meta name="date" content="'.date('Y-m-d\TH:i:sO',$INFO['lastmod']).'" />',$it);
|
||||
//delay indexing:
|
||||
if((time() - $INFO['lastmod']) >= $conf['indexdelay']){
|
||||
ptln('<meta name="robots" content="index,follow" />',$it);
|
||||
}else{
|
||||
ptln('<meta name="robots" content="noindex,nofollow" />',$it);
|
||||
}
|
||||
}else{
|
||||
ptln('<meta name="robots" content="noindex,follow" />',$it);
|
||||
}
|
||||
}else{
|
||||
ptln('<meta name="robots" content="noindex,nofollow" />',$it);
|
||||
}
|
||||
|
||||
// include some JavaScript language strings
|
||||
ptln('<script language="JavaScript" type="text/javascript">',$it);
|
||||
ptln(" var alertText = '".$lang['qb_alert']."'",$it);
|
||||
ptln(" var notSavedYet = '".$lang['notsavedyet']."'",$it);
|
||||
ptln(" var DOKU_BASE = '".DOKU_BASE."'",$it);
|
||||
ptln('</script>',$it);
|
||||
|
||||
// load the default JavaScript file
|
||||
ptln('<script language="JavaScript" type="text/javascript" src="'.DOKU_BASE.'script.js"></script>',$it);
|
||||
|
||||
|
||||
//FIXME include some default CSS ? IE FIX?
|
||||
}
|
||||
|
||||
/**
|
||||
* Print a link
|
||||
*
|
||||
* Just builds a link but adds additional JavaScript needed for
|
||||
* the unsaved data check needed in the edit form.
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_link($url,$name,$more=''){
|
||||
print '<a href="'.$url.'" onclick="return svchk()" onkeypress="return svchk()"';
|
||||
if ($more) print ' '.$more;
|
||||
print ">$name</a>";
|
||||
}
|
||||
|
||||
/**
|
||||
* Print one of the buttons
|
||||
*
|
||||
* Available Buttons are
|
||||
*
|
||||
* edit - edit/create/show button
|
||||
* history - old revisions
|
||||
* recent - recent changes
|
||||
* login - login/logout button - if ACL enabled
|
||||
* index - The index
|
||||
* top - a back to top button
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_button($type){
|
||||
global $ID;
|
||||
global $conf;
|
||||
|
||||
switch($type){
|
||||
case 'edit':
|
||||
print html_editbutton();
|
||||
break;
|
||||
case 'history':
|
||||
print html_btn(revs,$ID,'o',array('do' => 'revisions'));
|
||||
break;
|
||||
case 'recent':
|
||||
print html_btn(recent,'','r',array('do' => 'recent'));
|
||||
break;
|
||||
case 'index':
|
||||
print html_btn(index,$ID,'x',array('do' => 'index'));
|
||||
break;
|
||||
case 'top':
|
||||
print html_topbtn();
|
||||
break;
|
||||
case 'login':
|
||||
if($conf['useacl']){
|
||||
if($_SERVER['REMOTE_USER']){
|
||||
print html_btn('logout',$ID,'',array('do' => 'logout',));
|
||||
}else{
|
||||
print html_btn('login',$ID,'',array('do' => 'login'));
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Print the search form
|
||||
*
|
||||
* @todo svcheck missing
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_searchform(){
|
||||
global $lang;
|
||||
print '<form action="'.wl().'" accept-charset="utf-8" class="search">';
|
||||
print '<input type="hidden" name="do" value="search" />';
|
||||
print '<input type="text" accesskey="f" name="id" class="edit" />';
|
||||
print '<input type="submit" value="'.$lang['btn_search'].'" class="button" />';
|
||||
print '</form>';
|
||||
}
|
||||
|
||||
/**
|
||||
* Print the breadcrumbs trace
|
||||
*
|
||||
* @todo add a hierachical breadcrumb function
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_breadcrumbs(){
|
||||
global $lang;
|
||||
global $conf;
|
||||
|
||||
//check if enabled
|
||||
if(!$conf['breadcrumbs']) return;
|
||||
|
||||
$crumbs = breadcrumbs(); //setup crumb trace
|
||||
print $lang['breadcrumb'].':';
|
||||
foreach ($crumbs as $crumb){
|
||||
print ' » ';
|
||||
tpl_link(wl($crumb),noNS($crumb),'class="breadcrumbs" title="'.$crumb.'"');
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* Print info if the user is logged in
|
||||
*
|
||||
* Could be enhanced with a profile link in future?
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_userinfo(){
|
||||
global $lang;
|
||||
if($_SERVER['REMOTE_USER'])
|
||||
print $lang['loggedinas'].': '.$_SERVER['REMOTE_USER'];
|
||||
}
|
||||
|
||||
/**
|
||||
* Print some info about the current page
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
function tpl_pageinfo(){
|
||||
global $conf;
|
||||
global $lang;
|
||||
global $INFO;
|
||||
global $REV;
|
||||
|
||||
// prepare date and path
|
||||
$fn = $INFO['filepath'];
|
||||
if(!$conf['fullpath']){
|
||||
if($REV){
|
||||
$fn = str_replace(realpath($conf['olddir']).DIRECTORY_SEPARATOR,'',$fn);
|
||||
}else{
|
||||
$fn = str_replace(realpath($conf['datadir']).DIRECTORY_SEPARATOR,'',$fn);
|
||||
}
|
||||
}
|
||||
$date = date($conf['dformat'],$INFO['lastmod']);
|
||||
|
||||
// print it
|
||||
if($INFO['exists']){
|
||||
print $fn;
|
||||
print ' · ';
|
||||
print $lang['lastmod'];
|
||||
print ': ';
|
||||
print $date;
|
||||
if($INFO['editor']){
|
||||
print ' '.$lang['by'].' ';
|
||||
print $INFO['editor'];
|
||||
}
|
||||
if($INFO['locked']){
|
||||
print ' · ';
|
||||
print $lang['lockedby'];
|
||||
print ': ';
|
||||
print $INFO['locked'];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
?>
|
|
@ -1,6 +1,6 @@
|
|||
<?php
|
||||
if(!defined('DOKU_INC')) define('DOKU_INC',realpath(dirname(__FILE__)).'/');
|
||||
require_once(DOKU_INC.'conf/init.php');
|
||||
require_once(DOKU_INC.'inc/init.php');
|
||||
require_once(DOKU_INC.'inc/common.php');
|
||||
require_once(DOKU_INC.'lang/en/lang.php');
|
||||
require_once(DOKU_INC.'lang/'.$conf['lang'].'/lang.php');
|
||||
|
|
656
style.css
|
@ -1,169 +1,5 @@
|
|||
body {
|
||||
font: 80% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
|
||||
background-color: White;
|
||||
color: Black;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
div.clearer {clear: both; line-height: 0; height: 0;}
|
||||
|
||||
table {
|
||||
font-size: 100%;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
tr,td,th {padding:0; margin:0;}
|
||||
|
||||
img {border:0}
|
||||
|
||||
p {padding:0; margin: 0 0 1.0em 0;}
|
||||
|
||||
hr {
|
||||
border: 0px;
|
||||
border-top: 1px solid #8cacbb;
|
||||
text-align:center;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
form {
|
||||
border: none;
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
label.simple {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
label input.edit {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
width: 300px;
|
||||
text-align: center;
|
||||
border: 1px solid #8cacbb;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
|
||||
a {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a:hover {
|
||||
color:#000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
textarea.edit {
|
||||
font-family:monospace;
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
font-size:14px;
|
||||
padding: 3px;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
input.edit {
|
||||
font-size: 100%;
|
||||
border: 1px solid #8cacbb;
|
||||
height: 22px ! important;
|
||||
max-height: 22px ! important;
|
||||
min-height: 22px ! important;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
padding: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input.missing {
|
||||
font-size: 100%;
|
||||
border: 1px solid #8cacbb;
|
||||
height: 22px ! important;
|
||||
max-height: 22px ! important;
|
||||
min-height: 22px ! important;
|
||||
color: Black;
|
||||
background-color: #ffcccc;
|
||||
vertical-align: middle;
|
||||
padding: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input.button {
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
text-decoration:none;
|
||||
font-size: 100%;
|
||||
cursor: pointer;
|
||||
height: 22px ! important;
|
||||
max-height: 22px ! important;
|
||||
min-height: 22px ! important;
|
||||
margin: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.secedit input.button {
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
text-decoration:none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 10px;
|
||||
cursor: pointer;
|
||||
height: 15px;
|
||||
max-height: 15px ! important;
|
||||
min-height: 15px ! important;
|
||||
float:right;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.meta {
|
||||
clear: both;
|
||||
margin-top: 1em;
|
||||
color:#436976;
|
||||
font-size:70%;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
div.user {
|
||||
float:left;
|
||||
}
|
||||
|
||||
div.preview{
|
||||
background:#f7f9fa;
|
||||
margin-left:2em;
|
||||
padding: 4px;
|
||||
border: 1px dashed #000000;
|
||||
}
|
||||
|
||||
div.breadcrumbs{
|
||||
background-color: #f5f5f5;
|
||||
font-size:80%;
|
||||
color: #666666;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
span.user{
|
||||
color: #cccccc;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
div.error{
|
||||
background: #ff6666 url(images/error.png) 0.5em 0px no-repeat;
|
||||
font-size: 90%;
|
||||
|
@ -185,497 +21,6 @@ div.success{
|
|||
padding-left: 3em;
|
||||
}
|
||||
|
||||
/* ---------------------------- Diff rendering --------------------------*/
|
||||
table.diff { background:white; }
|
||||
td.diff-blockheader {font-weight:bold}
|
||||
td.diff-header {
|
||||
border-bottom: 1px solid #8cacbb;
|
||||
font-size:120%;
|
||||
}
|
||||
td.diff-addedline {
|
||||
background:#ddffdd;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
td.diff-deletedline {
|
||||
background:#ffffbb;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
td.diff-context {
|
||||
background:#f7f9fa;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
span.diffchange { color: red; }
|
||||
|
||||
|
||||
|
||||
/* --------------------- Text formatting -------------------------------- */
|
||||
|
||||
/* external link */
|
||||
a.urlextern{
|
||||
background: transparent url(images/link_icon.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.urlextern:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.urlextern:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* windows share */
|
||||
a.windows{
|
||||
background: transparent url(images/windows.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.windows:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.windows:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* interwiki link */
|
||||
a.interwiki{
|
||||
background: transparent url(images/interwiki.png) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.interwiki:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.interwiki:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* link to some embedded media */
|
||||
a.media {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.media:hover {
|
||||
color:#436976;
|
||||
text-decoration:underline
|
||||
}
|
||||
|
||||
/* embedded images */
|
||||
img.media {
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
img.medialeft {
|
||||
border: 0;
|
||||
float: left;
|
||||
margin: 0 1.5em 0 0;
|
||||
}
|
||||
|
||||
img.mediaright {
|
||||
border: 0;
|
||||
float: right;
|
||||
margin: 0 0 0 1.5em;
|
||||
}
|
||||
|
||||
/* email link */
|
||||
a.mail {
|
||||
background: transparent url(images/mail_icon.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.mail:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* existing wikipage */
|
||||
a.wikilink1:link { color:#009900; text-decoration:none }
|
||||
a.wikilink1:visited { color:#009900; text-decoration:none }
|
||||
a.wikilink1:hover { color:#009900; text-decoration:underline }
|
||||
|
||||
/* not exisitng wikipage */
|
||||
a.wikilink2:link { color:#FF3300; text-decoration:none }
|
||||
a.wikilink2:visited { color:#FF3300; text-decoration:none }
|
||||
a.wikilink2:hover { color:#FF3300; text-decoration:underline }
|
||||
|
||||
acronym {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
/* the document */
|
||||
div.page {
|
||||
margin-top: 4px;
|
||||
margin-left: 1em;
|
||||
margin-right: 2em;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
/* general headline setup */
|
||||
h1, h2, h3, h4, h5 {
|
||||
color: Black;
|
||||
background-color: transparent;
|
||||
font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0;
|
||||
border-bottom: 1px solid #8cacbb;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* special headlines */
|
||||
h1 {font-size: 160%; margin-left: 0px; font-weight: bold;}
|
||||
h2 {font-size: 150%; margin-left: 20px;}
|
||||
h3 {font-size: 140%; margin-left: 40px; border-bottom: none; font-weight: bold;}
|
||||
h4 {font-size: 120%; margin-left: 60px; border-bottom: none; font-weight: bold;}
|
||||
h5 {font-size: 100%; margin-left: 80px; border-bottom: none; font-weight: bold;}
|
||||
|
||||
/* indent different sections */
|
||||
div.level1 {margin-left: 3px;}
|
||||
div.level2 {margin-left: 23px;}
|
||||
div.level3 {margin-left: 43px;}
|
||||
div.level4 {margin-left: 63px;}
|
||||
div.level5 {margin-left: 83px;}
|
||||
|
||||
/* unordered lists */
|
||||
ul {
|
||||
line-height: 1.5em;
|
||||
list-style-type: square;
|
||||
margin: 0.5em 0 0.5em 1.5em;
|
||||
padding: 0;
|
||||
list-style-image: url(images/bullet.gif);
|
||||
}
|
||||
|
||||
/* ordered lists */
|
||||
ol {
|
||||
line-height: 1.5em;
|
||||
margin: 0.5em 0 0.5em 1.5em;
|
||||
padding: 0;
|
||||
color: #638c9c;
|
||||
font-weight: bold;
|
||||
list-style-image: none;
|
||||
}
|
||||
|
||||
/* the list items overriding the ol definition */
|
||||
span.li {
|
||||
color: #000000;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
li.open {
|
||||
list-style-image: url(images/open.gif);
|
||||
}
|
||||
|
||||
li.closed {
|
||||
list-style-image: url(images/closed.gif);
|
||||
}
|
||||
|
||||
.quote {
|
||||
border-left: 2px solid #8cacbb;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
/* code blocks by indention */
|
||||
pre.pre {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #f7f9fa;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* code blocks by code tag */
|
||||
pre.code {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #f7f9fa;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* code highlighting is at bottom of file */
|
||||
|
||||
/* inline code words */
|
||||
code {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
/* code blocks by file tag */
|
||||
pre.file {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #dee7ec;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* footnotes */
|
||||
div.footnotes{
|
||||
clear:both;
|
||||
border-top: 1px solid #8cacbb;
|
||||
padding-left: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
div.fn{
|
||||
font-size:90%;
|
||||
}
|
||||
|
||||
a.fn_top{
|
||||
vertical-align:super;
|
||||
font-size:80%;
|
||||
}
|
||||
|
||||
a.fn_bot{
|
||||
vertical-align:super;
|
||||
font-size:80%;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
/* inline tables */
|
||||
table.inline {
|
||||
background-color: #ffffff;
|
||||
border-spacing: 0px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.inline th {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #dee7ec;
|
||||
}
|
||||
|
||||
table.inline td {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
}
|
||||
|
||||
.leftalign{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.centeralign{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.rightalign{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* ---------- table of contents ------------------- */
|
||||
|
||||
div.toc {
|
||||
margin-left: 2em;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0;
|
||||
float:right;
|
||||
width: 200px;
|
||||
font-size: 80%;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
div.tocheader {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #dee7ec;
|
||||
text-align: left;
|
||||
font-weight:bold;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
#tocinside {
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #ffffff;
|
||||
text-align: left;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.7em;
|
||||
}
|
||||
|
||||
ul.toc {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
line-height: 1.2em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
ul.toc li {
|
||||
background: transparent url(images/tocdot2.gif) 0 0.6em no-repeat;
|
||||
padding-left:0.4em;
|
||||
}
|
||||
|
||||
ul.toc li.clear {
|
||||
/* background: transparent url(images/blank.gif) 0 0.6em no-repeat;*/
|
||||
background-image: none;
|
||||
padding-left:0.4em;
|
||||
}
|
||||
|
||||
a.toc {
|
||||
color: #436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
a.toc:hover {
|
||||
color: #000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* --------------- search result formating --------------- */
|
||||
.search_result{
|
||||
margin-bottom: 6px;
|
||||
padding-left: 30px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.search_snippet{
|
||||
color: #999999;
|
||||
font-size: 12px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.search_sep{
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.search_hit{
|
||||
color: #000000;
|
||||
background: #FFFF99;
|
||||
}
|
||||
|
||||
div.search_quickresult{
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dashed #8cacbb;
|
||||
margin-left: 30px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
div.search_quickhits {
|
||||
margin-left: 1em;
|
||||
float:left;
|
||||
background: transparent url(images/bullet.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 8px;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
/* debug */
|
||||
pre.dbg{
|
||||
background-color:#ffffff;
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
/* Tableless Headers and Footers */
|
||||
/* Thanks to "moraes" <moraes@tipos.com.br> */
|
||||
|
||||
.header {
|
||||
height:35px;
|
||||
padding:3px 0 2px 2px;
|
||||
}
|
||||
|
||||
.pagename {
|
||||
height:25px;
|
||||
float:left;
|
||||
font-size:200%;
|
||||
font-weight:bolder;
|
||||
color:#DEE7EC;
|
||||
text-align:left;
|
||||
vertical-align:middle;
|
||||
padding:1px 0 0 1px;
|
||||
}
|
||||
|
||||
.pagename a:link, .pagename a:visited {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.pagename a:hover, .pagename a:active {
|
||||
color:#FF9933;
|
||||
}
|
||||
|
||||
.logo {
|
||||
float:right;
|
||||
font-size:220%;
|
||||
font-weight:bolder;
|
||||
text-align:right;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
.logo a:link, .logo a:visited, .logo a:hover, .logo a:active {
|
||||
color:#dee7ec;
|
||||
text-decoration:none;
|
||||
font-variant:small-caps;
|
||||
letter-spacing:2pt;
|
||||
}
|
||||
|
||||
.bar {
|
||||
height:25px;
|
||||
border-top:1px solid #8CACBB;
|
||||
border-bottom:1px solid #8CACBB;
|
||||
background:#DEE7EC;
|
||||
padding:2px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float:left;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float:right;
|
||||
width:50%;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
#bar_bottom {
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
.mediaselect-left {
|
||||
float:left;
|
||||
padding: 0.5em;
|
||||
height:230px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
.mediaselect-right {
|
||||
float:right;
|
||||
border-left: 1px solid #8cacbb;
|
||||
padding: 0.5em;
|
||||
width:350px;
|
||||
height:230px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
div.uploadform {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #8cacbb;
|
||||
}
|
||||
|
||||
.footerinc a img {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.footerinc a:hover img {
|
||||
opacity: 1;
|
||||
}
|
||||
|
||||
/* syntax highlighting code */
|
||||
.code .br0 { color: #66cc66; }
|
||||
.code .co1 { color: #808080; font-style: italic; }
|
||||
|
@ -697,4 +42,3 @@ div.uploadform {
|
|||
.code .sc1 { color: #ddbb00; }
|
||||
.code .sc2 { color: #009900; }
|
||||
.code .st0 { color: #ff0000; }
|
||||
|
||||
|
|
|
@ -0,0 +1,562 @@
|
|||
/**
|
||||
* Design elements for default Template
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
* @author Anika Henke <henke@cosmocode.de>
|
||||
*/
|
||||
|
||||
/* -------------- general elements --------------- */
|
||||
|
||||
body {
|
||||
font: 80% "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
|
||||
background-color: White;
|
||||
color: Black;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
}
|
||||
|
||||
/* the document */
|
||||
div.page {
|
||||
margin-top: 4px;
|
||||
margin-left: 1em;
|
||||
margin-right: 2em;
|
||||
text-align: justify;
|
||||
}
|
||||
|
||||
table {
|
||||
font-size: 100%;
|
||||
padding:0;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
tr,td,th {padding:0; margin:0;}
|
||||
|
||||
img {border:0}
|
||||
|
||||
p {padding:0; margin: 0 0 1.0em 0;}
|
||||
|
||||
hr {
|
||||
border: 0px;
|
||||
border-top: 1px solid #8cacbb;
|
||||
text-align:center;
|
||||
height: 0px;
|
||||
}
|
||||
|
||||
/* ---------------- forms ------------------------ */
|
||||
|
||||
form {
|
||||
border: none;
|
||||
margin: 0;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
label {
|
||||
display: block;
|
||||
text-align: right;
|
||||
font-weight: bold;
|
||||
}
|
||||
|
||||
label.simple {
|
||||
text-align: left;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
label input.edit {
|
||||
width: 50%;
|
||||
}
|
||||
|
||||
fieldset {
|
||||
width: 300px;
|
||||
text-align: center;
|
||||
border: 1px solid #8cacbb;
|
||||
padding: 0.5em;
|
||||
}
|
||||
|
||||
textarea.edit {
|
||||
font-family:monospace;
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
font-size:14px;
|
||||
padding: 3px;
|
||||
width:100%;
|
||||
}
|
||||
|
||||
input.edit {
|
||||
font-size: 100%;
|
||||
border: 1px solid #8cacbb;
|
||||
height: 22px !important;
|
||||
max-height: 22px !important;
|
||||
min-height: 22px !important;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
padding: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
input.missing {
|
||||
font-size: 100%;
|
||||
border: 1px solid #8cacbb;
|
||||
height: 22px !important;
|
||||
max-height: 22px !important;
|
||||
min-height: 22px !important;
|
||||
color: Black;
|
||||
background-color: #ffcccc;
|
||||
vertical-align: middle;
|
||||
padding: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
/* --------- buttons ------------------- */
|
||||
|
||||
|
||||
input.button {
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
text-decoration:none;
|
||||
font-size: 100%;
|
||||
cursor: pointer;
|
||||
height: 22px !important;
|
||||
max-height: 22px !important;
|
||||
min-height: 22px !important;
|
||||
margin: 1px;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
div.secedit input.button {
|
||||
border: 1px solid #8cacbb;
|
||||
color: Black;
|
||||
background-color: white;
|
||||
vertical-align: middle;
|
||||
text-decoration:none;
|
||||
margin: 0px;
|
||||
padding: 0px;
|
||||
font-size: 10px;
|
||||
cursor: pointer;
|
||||
height: 15px;
|
||||
max-height: 15px !important;
|
||||
min-height: 15px !important;
|
||||
float:right;
|
||||
display: inline;
|
||||
}
|
||||
|
||||
/* --------------- Links ------------------ */
|
||||
|
||||
a {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a:hover {
|
||||
color:#000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* external link */
|
||||
a.urlextern{
|
||||
background: transparent url(images/link_icon.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.urlextern:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.urlextern:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* windows share */
|
||||
a.windows{
|
||||
background: transparent url(images/windows.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.windows:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.windows:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* interwiki link */
|
||||
a.interwiki{
|
||||
background: transparent url(images/interwiki.png) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.interwiki:visited {
|
||||
color:Purple;
|
||||
}
|
||||
a.interwiki:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* link to some embedded media */
|
||||
a.media {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.media:hover {
|
||||
color:#436976;
|
||||
text-decoration:underline
|
||||
}
|
||||
|
||||
/* email link */
|
||||
a.mail {
|
||||
background: transparent url(images/mail_icon.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 16px;
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
a.mail:hover {
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* existing wikipage */
|
||||
a.wikilink1:link { color:#009900; text-decoration:none }
|
||||
a.wikilink1:visited { color:#009900; text-decoration:none }
|
||||
a.wikilink1:hover { color:#009900; text-decoration:underline }
|
||||
|
||||
/* not existing wikipage */
|
||||
a.wikilink2:link { color:#FF3300; text-decoration:none }
|
||||
a.wikilink2:visited { color:#FF3300; text-decoration:none }
|
||||
a.wikilink2:hover { color:#FF3300; text-decoration:underline }
|
||||
|
||||
|
||||
/* ------------- Page elements ----------------- */
|
||||
|
||||
div.preview{
|
||||
background:#f7f9fa;
|
||||
margin-left:2em;
|
||||
padding: 4px;
|
||||
border: 1px dashed #000000;
|
||||
}
|
||||
|
||||
div.breadcrumbs{
|
||||
background-color: #f5f5f5;
|
||||
font-size:80%;
|
||||
color: #666666;
|
||||
padding-left: 4px;
|
||||
}
|
||||
|
||||
span.user{
|
||||
color: #cccccc;
|
||||
font-size: 90%;
|
||||
}
|
||||
|
||||
/* embedded images */
|
||||
img.media {
|
||||
margin: 3px;
|
||||
}
|
||||
|
||||
img.medialeft {
|
||||
border: 0;
|
||||
float: left;
|
||||
margin: 0 1.5em 0 0;
|
||||
}
|
||||
|
||||
img.mediaright {
|
||||
border: 0;
|
||||
float: right;
|
||||
margin: 0 0 0 1.5em;
|
||||
}
|
||||
|
||||
acronym {
|
||||
cursor: help;
|
||||
border-bottom: 1px dotted #000;
|
||||
}
|
||||
|
||||
/* general headline setup */
|
||||
h1, h2, h3, h4, h5 {
|
||||
color: Black;
|
||||
background-color: transparent;
|
||||
font-family: "Lucida Grande", Verdana, Lucida, Helvetica, Arial, sans-serif;
|
||||
font-size: 100%;
|
||||
font-weight: normal;
|
||||
margin-left: 0;
|
||||
margin-right: 0;
|
||||
margin-top: 0;
|
||||
margin-bottom: 1em;
|
||||
padding-left: 0;
|
||||
padding-right: 0;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0;
|
||||
border-bottom: 1px solid #8cacbb;
|
||||
clear: left;
|
||||
}
|
||||
|
||||
/* special headlines */
|
||||
h1 {font-size: 160%; margin-left: 0px; font-weight: bold;}
|
||||
h2 {font-size: 150%; margin-left: 20px;}
|
||||
h3 {font-size: 140%; margin-left: 40px; border-bottom: none; font-weight: bold;}
|
||||
h4 {font-size: 120%; margin-left: 60px; border-bottom: none; font-weight: bold;}
|
||||
h5 {font-size: 100%; margin-left: 80px; border-bottom: none; font-weight: bold;}
|
||||
|
||||
/* indent different sections */
|
||||
div.level1 {margin-left: 3px;}
|
||||
div.level2 {margin-left: 23px;}
|
||||
div.level3 {margin-left: 43px;}
|
||||
div.level4 {margin-left: 63px;}
|
||||
div.level5 {margin-left: 83px;}
|
||||
|
||||
/* unordered lists */
|
||||
ul {
|
||||
line-height: 1.5em;
|
||||
list-style-type: square;
|
||||
margin: 0.5em 0 0.5em 1.5em;
|
||||
padding: 0;
|
||||
list-style-image: url(images/bullet.gif);
|
||||
}
|
||||
|
||||
/* ordered lists */
|
||||
ol {
|
||||
line-height: 1.5em;
|
||||
margin: 0.5em 0 0.5em 1.5em;
|
||||
padding: 0;
|
||||
color: #638c9c;
|
||||
font-weight: bold;
|
||||
list-style-image: none;
|
||||
}
|
||||
|
||||
/* the list items overriding the ol definition */
|
||||
span.li {
|
||||
color: #000000;
|
||||
font-weight: normal;
|
||||
}
|
||||
|
||||
li.open {
|
||||
list-style-image: url(images/open.gif);
|
||||
}
|
||||
|
||||
li.closed {
|
||||
list-style-image: url(images/closed.gif);
|
||||
}
|
||||
|
||||
.quote {
|
||||
border-left: 2px solid #8cacbb;
|
||||
padding-left: 3px;
|
||||
}
|
||||
|
||||
/* code blocks by indention */
|
||||
pre.pre {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #f7f9fa;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* code blocks by code tag */
|
||||
pre.code {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #f7f9fa;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* inline code words */
|
||||
code {
|
||||
font-size: 120%;
|
||||
}
|
||||
|
||||
/* code blocks by file tag */
|
||||
pre.file {
|
||||
font-size: 120%;
|
||||
padding: 0.5em;
|
||||
border: 1px dashed #8cacbb;
|
||||
color: Black;
|
||||
background-color: #dee7ec;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
/* inline tables */
|
||||
table.inline {
|
||||
background-color: #ffffff;
|
||||
border-spacing: 0px;
|
||||
border-collapse: collapse;
|
||||
}
|
||||
|
||||
table.inline th {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #dee7ec;
|
||||
}
|
||||
|
||||
table.inline td {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
}
|
||||
|
||||
.leftalign{
|
||||
text-align: left;
|
||||
}
|
||||
|
||||
.centeralign{
|
||||
text-align: center;
|
||||
}
|
||||
|
||||
.rightalign{
|
||||
text-align: right;
|
||||
}
|
||||
|
||||
/* ---------- table of contents ------------------- */
|
||||
|
||||
div.toc {
|
||||
margin-left: 2em;
|
||||
margin-top: 1.2em;
|
||||
margin-bottom: 0;
|
||||
float:right;
|
||||
width: 200px;
|
||||
font-size: 80%;
|
||||
clear:both;
|
||||
}
|
||||
|
||||
div.tocheader {
|
||||
padding: 3px;
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #dee7ec;
|
||||
text-align: left;
|
||||
font-weight:bold;
|
||||
margin-bottom: 2px;
|
||||
}
|
||||
|
||||
#tocinside {
|
||||
border: 1px solid #8cacbb;
|
||||
background-color: #ffffff;
|
||||
text-align: left;
|
||||
padding-top: 0.5em;
|
||||
padding-bottom: 0.7em;
|
||||
}
|
||||
|
||||
ul.toc {
|
||||
list-style-type: none;
|
||||
list-style-image: none;
|
||||
line-height: 1.2em;
|
||||
margin: 0;
|
||||
padding: 0;
|
||||
padding-left: 1em;
|
||||
}
|
||||
|
||||
ul.toc li {
|
||||
background: transparent url(images/tocdot2.gif) 0 0.6em no-repeat;
|
||||
padding-left:0.4em;
|
||||
}
|
||||
|
||||
ul.toc li.clear {
|
||||
background-image: none;
|
||||
padding-left:0.4em;
|
||||
}
|
||||
|
||||
a.toc {
|
||||
color: #436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
a.toc:hover {
|
||||
color: #000000;
|
||||
text-decoration:underline;
|
||||
}
|
||||
|
||||
/* ---------------------------- Diff rendering --------------------------*/
|
||||
table.diff { background:white; }
|
||||
td.diff-blockheader {font-weight:bold}
|
||||
td.diff-header {
|
||||
border-bottom: 1px solid #8cacbb;
|
||||
font-size:120%;
|
||||
}
|
||||
td.diff-addedline {
|
||||
background:#ddffdd;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
td.diff-deletedline {
|
||||
background:#ffffbb;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
td.diff-context {
|
||||
background:#f7f9fa;
|
||||
font-family: monospace;
|
||||
font-size: 100%;
|
||||
}
|
||||
span.diffchange { color: red; }
|
||||
|
||||
/* --------------------- footnotes -------------------------------- */
|
||||
|
||||
div.footnotes{
|
||||
clear:both;
|
||||
border-top: 1px solid #8cacbb;
|
||||
padding-left: 1em;
|
||||
margin-top: 1em;
|
||||
}
|
||||
|
||||
div.fn{
|
||||
font-size:90%;
|
||||
}
|
||||
|
||||
a.fn_top{
|
||||
vertical-align:super;
|
||||
font-size:80%;
|
||||
}
|
||||
|
||||
a.fn_bot{
|
||||
vertical-align:super;
|
||||
font-size:80%;
|
||||
font-weight:bold;
|
||||
}
|
||||
|
||||
|
||||
/* --------------- search result formating --------------- */
|
||||
.search_result{
|
||||
margin-bottom: 6px;
|
||||
padding-left: 30px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
.search_snippet{
|
||||
color: #999999;
|
||||
font-size: 12px;
|
||||
margin-left: 20px;
|
||||
}
|
||||
|
||||
.search_sep{
|
||||
color: #000000;
|
||||
}
|
||||
|
||||
.search_hit{
|
||||
color: #000000;
|
||||
background: #FFFF99;
|
||||
}
|
||||
|
||||
div.search_quickresult{
|
||||
margin-bottom: 15px;
|
||||
padding-bottom: 5px;
|
||||
border-bottom: 1px dashed #8cacbb;
|
||||
margin-left: 30px;
|
||||
padding-right: 10px;
|
||||
}
|
||||
|
||||
div.search_quickhits {
|
||||
margin-left: 1em;
|
||||
float:left;
|
||||
background: transparent url(images/bullet.gif) 0px 1px no-repeat;
|
||||
padding: 1px 0px 1px 8px;
|
||||
width: 30%;
|
||||
}
|
||||
|
||||
/* ------------------ Additional ---------------------- */
|
||||
.footerinc a img {
|
||||
opacity: 0.5;
|
||||
}
|
||||
|
||||
.footerinc a:hover img {
|
||||
opacity: 1;
|
||||
}
|
Before Width: | Height: | Size: 50 B After Width: | Height: | Size: 50 B |
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 1.2 KiB |
Before Width: | Height: | Size: 299 B After Width: | Height: | Size: 299 B |
Before Width: | Height: | Size: 200 B After Width: | Height: | Size: 200 B |
Before Width: | Height: | Size: 271 B After Width: | Height: | Size: 271 B |
Before Width: | Height: | Size: 269 B After Width: | Height: | Size: 269 B |
Before Width: | Height: | Size: 280 B After Width: | Height: | Size: 280 B |
Before Width: | Height: | Size: 321 B After Width: | Height: | Size: 321 B |
Before Width: | Height: | Size: 54 B After Width: | Height: | Size: 54 B |
Before Width: | Height: | Size: 942 B After Width: | Height: | Size: 942 B |
Before Width: | Height: | Size: 918 B After Width: | Height: | Size: 918 B |
Before Width: | Height: | Size: 54 B After Width: | Height: | Size: 54 B |
Before Width: | Height: | Size: 810 B After Width: | Height: | Size: 810 B |
Before Width: | Height: | Size: 223 B After Width: | Height: | Size: 223 B |
|
@ -0,0 +1,113 @@
|
|||
/**
|
||||
* Tableless Layout for default template
|
||||
*
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
* @author moraes <moraes@tipos.com.br>
|
||||
*/
|
||||
|
||||
|
||||
/* -------------- top row --------------- */
|
||||
.header {
|
||||
height:35px;
|
||||
padding:3px 0 2px 2px;
|
||||
}
|
||||
|
||||
.pagename {
|
||||
height:25px;
|
||||
float:left;
|
||||
font-size:200%;
|
||||
font-weight:bolder;
|
||||
color:#DEE7EC;
|
||||
text-align:left;
|
||||
vertical-align:middle;
|
||||
padding:1px 0 0 1px;
|
||||
}
|
||||
|
||||
.pagename a:link, .pagename a:visited {
|
||||
color:#436976;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
.pagename a:hover, .pagename a:active {
|
||||
color:#FF9933;
|
||||
}
|
||||
|
||||
.logo {
|
||||
float:right;
|
||||
font-size:220%;
|
||||
font-weight:bolder;
|
||||
text-align:right;
|
||||
vertical-align:middle;
|
||||
}
|
||||
|
||||
.logo a:link, .logo a:visited, .logo a:hover, .logo a:active {
|
||||
color:#dee7ec;
|
||||
text-decoration:none;
|
||||
font-variant:small-caps;
|
||||
letter-spacing:2pt;
|
||||
}
|
||||
|
||||
/* --------------- top and bottom bar ---------------- */
|
||||
.bar {
|
||||
height:25px;
|
||||
border-top:1px solid #8CACBB;
|
||||
border-bottom:1px solid #8CACBB;
|
||||
background:#DEE7EC;
|
||||
padding:2px;
|
||||
margin:0;
|
||||
}
|
||||
|
||||
.bar-left {
|
||||
float:left;
|
||||
width:50%;
|
||||
}
|
||||
|
||||
.bar-right {
|
||||
float:right;
|
||||
width:50%;
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
#bar_bottom {
|
||||
margin-bottom:3px;
|
||||
}
|
||||
|
||||
/* ------------- File Metadata ----------------------- */
|
||||
|
||||
div.meta {
|
||||
clear: both;
|
||||
margin-top: 1em;
|
||||
color:#436976;
|
||||
font-size:70%;
|
||||
}
|
||||
|
||||
div.meta div.user {
|
||||
float:left;
|
||||
}
|
||||
|
||||
div.meta div.doc{
|
||||
text-align:right;
|
||||
}
|
||||
|
||||
/* --------------- Media Selection ----------------- */
|
||||
|
||||
div.uploadform {
|
||||
margin-top: 0.5em;
|
||||
border-top: 1px solid #8cacbb;
|
||||
}
|
||||
|
||||
.mediaselect-left {
|
||||
float:left;
|
||||
padding: 0.5em;
|
||||
height:230px;
|
||||
overflow:auto;
|
||||
}
|
||||
|
||||
.mediaselect-right {
|
||||
float:right;
|
||||
border-left: 1px solid #8cacbb;
|
||||
padding: 0.5em;
|
||||
width:350px;
|
||||
height:230px;
|
||||
overflow:auto;
|
||||
}
|
|
@ -0,0 +1,110 @@
|
|||
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||
<?
|
||||
/**
|
||||
* DokuWiki Default Template
|
||||
*
|
||||
* This is the template you need to change for the overall look
|
||||
* of DokuWiki.
|
||||
*
|
||||
* You should leave the doctype at the very top - It should
|
||||
* always be the very first line of a document.
|
||||
*
|
||||
* @todo read the include hooks, add the CSS!
|
||||
* @link http://wiki.splitbrain.org/wiki:tpl:templates
|
||||
* @author Andreas Gohr <andi@splitbrain.org>
|
||||
*/
|
||||
?>
|
||||
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="<?=$conf['lang']?>" lang="<?=$conf['lang']?>" dir="ltr">
|
||||
<head>
|
||||
<title><?=$ID?> [<?=hsc($conf['title'])?>]</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
|
||||
|
||||
<?tpl_metaheaders()?>
|
||||
|
||||
<link rel="shortcut icon" href="<?=DOKU_BASE?>images/favicon.ico" />
|
||||
<link rel="stylesheet" media="screen" type="text/css" href="<?=DOKU_TPL?>layout.css" />
|
||||
<link rel="stylesheet" media="screen" type="text/css" href="<?=DOKU_TPL?>design.css" />
|
||||
<link rel="stylesheet" media="print" type="text/css" href="<?=DOKU_TPL?>print.css" />
|
||||
|
||||
<!--[if gte IE 5]>
|
||||
<style type="text/css">
|
||||
/* that IE 5+ conditional comment makes this only visible in IE 5+ */
|
||||
/* IE bugfix for transparent PNGs */
|
||||
img { behavior: url("<?=DOKU_BASE?>/pngbehavior.htc"); }
|
||||
</style>
|
||||
<![endif]-->
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<div class="dokuwiki">
|
||||
<?html_msgarea()?>
|
||||
|
||||
<div class="stylehead">
|
||||
|
||||
<div class="header">
|
||||
<div class="pagename">
|
||||
[[<?tpl_link(wl($ID,'do=backlink'),$ID)?>]]
|
||||
</div>
|
||||
<div class="logo">
|
||||
<?tpl_link(wl(),$conf['title'],'name="top" accesskey="h" title="[ALT+H]"')?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bar" id="bar_top">
|
||||
<div class="bar-left" id="bar_topleft">
|
||||
<?tpl_button('edit')?>
|
||||
<?tpl_button('history')?>
|
||||
</div>
|
||||
|
||||
<div class="bar-right" id="bar_topright">
|
||||
<?tpl_button('recent')?>
|
||||
<?tpl_searchform()?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<?if($conf['breadcrumbs']){?>
|
||||
<div class="breadcrumbs">
|
||||
<?tpl_breadcrumbs()?>
|
||||
</div>
|
||||
<?}?>
|
||||
|
||||
</div>
|
||||
<?flush()?>
|
||||
|
||||
<div class="page">
|
||||
<!-- wikipage start -->
|
||||
<?tpl_content()?>
|
||||
<!-- wikipage stop -->
|
||||
</div>
|
||||
|
||||
<div class="clearer"> </div>
|
||||
|
||||
<?flush()?>
|
||||
|
||||
<div class="stylefoot">
|
||||
|
||||
<div class="meta">
|
||||
<div class="user">
|
||||
<?tpl_userinfo()?>
|
||||
</div>
|
||||
<div class="doc">
|
||||
<?tpl_pageinfo()?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="bar" id="bar_bottom">
|
||||
<div class="bar-left" id="bar_bottomleft">
|
||||
<?tpl_button('edit')?>
|
||||
<?tpl_button('history')?>
|
||||
</div>
|
||||
<div class="bar-right" id="bar_bottomright">
|
||||
<?tpl_button('login')?>
|
||||
<?tpl_button('index')?>
|
||||
<?tpl_button('top')?>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
</div>
|
||||
|
||||
</div>
|
||||
</body>
|