diff --git a/themes/danbooru/default.php b/themes/danbooru/default.php new file mode 100644 index 00000000..993455ee --- /dev/null +++ b/themes/danbooru/default.php @@ -0,0 +1,177 @@ + +* Link: http://trac.shishnet.org/shimmie2/ +* License: GPLv2 +* Description: This is a simple theme changing the css to make shimme +* look more like danbooru as well as adding a custom links +* bar and title to the top of every page. +*/ + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +Danbooru Theme - Notes (Bzchan) + +Files: default.php, sidebar.js, style.css + +How to use a theme +- Copy the danbooru folder with all its contained files into the "themes" + directory in your shimmie installation. +- Log into your shimmie and change the Theme in the Board Config to your + desired theme. + +Changes in this theme include +- Adding and editing various elements in the style.css file. +- $site_name and $front_name retreival from config added. +- $custom_link and $title_link preparation just before html is outputed. +- Altered outputed html to include the custom links and removed heading + from being displayed (subheading is still displayed) +- Note that only the sidebar has been left aligned. Could not properly + left align the main block because blocks without headers currently do + not have ids on there div elements. (this was a problem because + paginator block must be centered and everything else left aligned) + +Tips +- You can change custom links to point to whatever pages you want as well as adding + more custom links. +- The main title link points to the Front Page set in your Board Config options. +- The text of the main title is the Title set in your Board Config options. +- Themes make no changes to your database or main code files so you can switch + back and forward to other themes all you like. + +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ +global $config; +$theme_name = $config->get_string('theme'); +$base_href = $config->get_string('base_href'); +$data_href = $config->get_string('data_href'); +$contact_link = $config->get_string('contact_link'); + +function block_to_html($block, $hidable=false) { + $h = $block->header; + $b = $block->body; + $html = ""; + if($hidable) { + $i = str_replace(' ', '_', $h); + if(!is_null($h)) $html .= "\n

$h

\n"; + if(!is_null($b)) $html .= "
$b
\n"; + } + else { + $i = str_replace(' ', '_', $h); + if(!is_null($h)) $html .= "\n

$h

\n"; + if(!is_null($b)) $html .= "
$b
\n"; + } + return $html; +} + +$header_html = ""; +foreach($this->headers as $line) { + $header_html .= "\t\t$line\n"; +} + +$sideblock_html = ""; +foreach($this->sideblocks as $block) { + $sideblock_html .= block_to_html($block, true); +} + +$mainblock_html = ""; +foreach($this->mainblocks as $block) { + $mainblock_html .= block_to_html($block, false); +} + +$scripts = glob("scripts/*.js"); +$script_html = ""; +foreach($scripts as $script) { + $script_html .= "\t\t\n"; +} + +if($config->get_bool('debug_enabled')) { + if(function_exists('memory_get_usage')) { + $i_mem = sprintf("%5.2f", ((memory_get_usage()+512)/1024)/1024); + } + else { + $i_mem = "???"; + } + if(function_exists('getrusage')) { + $ru = getrusage(); + $i_utime = sprintf("%5.2f", ($ru["ru_utime.tv_sec"]*1e6+$ru["ru_utime.tv_usec"])/1000000); + $i_stime = sprintf("%5.2f", ($ru["ru_stime.tv_sec"]*1e6+$ru["ru_stime.tv_usec"])/1000000); + } + else { + $i_utime = "???"; + $i_stime = "???"; + } + $i_files = count(get_included_files()); + global $_execs; + $debug = "
Took $i_utime + $i_stime seconds and {$i_mem}MB of RAM"; + $debug .= "; Used $i_files files and $_execs queries"; +} +else { + $debug = ""; +} + +global $config; +$version = $config->get_string('version'); + +$contact = empty($contact_link) ? "" : "
Contact"; + +if(empty($this->subheading)) { + $subheading = ""; +} +else { + $subheading = "
{$this->subheading}
"; +} + +$site_name = $config->get_string('title'); // bzchan: change from normal default to get title for top of page +$front_page = $config->get_string('front_page'); // bzchan: change from normal default to get front page for top of page + +// bzchan: CUSTOM LINKS are prepared here, change these to whatever you like +$custom_links = ""; +$custom_links .= "
  • My Account
  • "; +$custom_links .= "
  • Posts
  • "; +$custom_links .= "
  • Comments
  • "; +$custom_links .= "
  • Tags
  • "; + + +// bzchan: failed attempt to add heading after title_link (failure was it looked bad) +//if($this->heading==$site_name)$this->heading = ''; +//$title_link = "

    $site_name/$this->heading

    "; + +// bzchan: prepare main title link +$title_link = "

    $site_name

    "; + +print << + + + {$this->title} + +$header_html + +$script_html + + + + + $subheading + + +
    $mainblock_html
    + + + + +EOD; +?> diff --git a/themes/danbooru/sidebar.js b/themes/danbooru/sidebar.js new file mode 100644 index 00000000..585f8ca8 --- /dev/null +++ b/themes/danbooru/sidebar.js @@ -0,0 +1,83 @@ +/* + * This script shamelessly stolen from wakachan.org d(^_^)b + */ + +var cookie_name="shimmie_sidebar"; +var default_sections=["upload", "edit_tags"]; + +function toggle(id) +{ + var e=document.getElementById(id); + if(!e) return; + if(e.style.display) + { + remove_section(id); + e.style.display=""; + + var e2 = document.getElementById(id+"-toggle"); + if(e2) { + e2.style.color = "#000"; + } + } + else + { + add_section(id); + e.style.display="none"; + + var e2 = document.getElementById(id+"-toggle"); + if(e2) { + e2.style.color = "#AAA"; + } + } +} + +function add_section(id) +{ + var sections=get_sections(); + for(var i=0;i>>"; +} + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* the main part of each page * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#body { + margin-left: 160px; + text-align: center; +} +#body TABLE { + width: 90%; + margin: auto; +} + + + + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* specific page types * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +#pagelist { + margin-top: 32px; +} + +#tagmap A { + padding: 8px 4px 8px 4px; +} + +#image_comments { + text-align: left; +} + +.setupblock { + border: 1px solid #AAA; + padding: 8px; + margin: 16px; + width: 350px; +} + +.helpable { + border-bottom: 1px dashed gray; +} + +.ok { + background: #AFA; +} +.bad { + background: #FAA; +} + +/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * +* bzchan added * +* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ + +div#header {text-align: left;} +div#header H1{text-align: left;} + +* { + font-family: verdana,sans-serif; + margin: 0; + padding: 0; +} + +a:link { + color: #006FFA; + text-decoration: none; +} + +a:visited { + color: #006FFA; + text-decoration: none; +} + +a:hover { + color: #33CFFF; + text-decoration: none; +} + +a:active { + color: #006FFA; + text-decoration: none; +} + +ul.flat-list { + display: inline; + margin:0 0 0 0; + padding:0 0 0 0; +} + +ul.flat-list * { + display: inline; + text-align:left; +} + +ul.flat-list li { + text-align:left; + list-style-type: none; + font-weight: bold; + margin: 0 1em 0 0; +} + +ul.flat-list li a { + font-weight: normal; +} + +