Merge branch 'master' of github.com:shish/shimmie2

This commit is contained in:
Shish 2012-03-13 08:09:41 +00:00
commit bdf24c1f2a
13 changed files with 308 additions and 356 deletions

View File

@ -27,15 +27,10 @@ class FeaturedTheme extends Themelet {
$h_tip = html_escape($image->get_tooltip()); $h_tip = html_escape($image->get_tooltip());
$tsize = get_thumbnail_size($image->width, $image->height); $tsize = get_thumbnail_size($image->width, $image->height);
return " return "
<center><div> <a href='$h_view_link'>
<img id='thumb_$i_id' title='$h_tip' alt='$h_tip' class='highlighted' style='height: {$tsize[1]}px; width: {$tsize[0]}px;' src='$h_thumb_link'>
<a href='$h_view_link' style='position: relative; height: {$tsize[1]}px; width: {$tsize[0]}px;'> </a>
<img id='thumb_$i_id' title='$h_tip' alt='$h_tip' class='highlighted' style='height: {$tsize[1]}px; width: {$tsize[0]}px;' src='$h_thumb_link'>
</a>
</div></center>
"; ";
} }
} }

View File

@ -5,12 +5,7 @@ class PrivMsgTheme extends Themelet {
global $user; global $user;
$html = " $html = "
<script type='text/javascript'> <table id='pms' class='zebra sortable'>
$(document).ready(function() {
$(\"#pms\").tablesorter();
});
</script>
<table id='pms' class='zebra'>
<thead><tr><th>Subject</th><th>From</th><th>Date</th><th>Action</th></tr></thead> <thead><tr><th>Subject</th><th>From</th><th>Date</th><th>Action</th></tr></thead>
<tbody>"; <tbody>";
$n = 0; $n = 0;
@ -49,8 +44,8 @@ class PrivMsgTheme extends Themelet {
<form action="$post_url" method="POST"> <form action="$post_url" method="POST">
$auth $auth
<input type="hidden" name="to_id" value="$to_id"> <input type="hidden" name="to_id" value="$to_id">
<table style="width: 400px;"> <table style="width: 400px;" class="form">
<tr><td>Subject:</td><td><input type="text" name="subject" value="$h_subject"></td></tr> <tr><th>Subject:</th><td><input type="text" name="subject" value="$h_subject"></td></tr>
<tr><td colspan="2"><textarea style="width: 100%" rows="6" name="message"></textarea></td></tr> <tr><td colspan="2"><textarea style="width: 100%" rows="6" name="message"></textarea></td></tr>
<tr><td colspan="2"><input type="submit" value="Send"></td></tr> <tr><td colspan="2"><input type="submit" value="Send"></td></tr>
</table> </table>

View File

@ -3,7 +3,7 @@ class QRImageTheme extends Themelet {
public function links_block($link) { public function links_block($link) {
global $page; global $page;
$page->add_block( new Block( $page->add_block( new Block(
"QR Code","<img src='http://chart.apis.google.com/chart?chs=150x150&cht=qr&chl=$link' />","left",50)); "QR Code","<img alt='QR Code' src='http://chart.apis.google.com/chart?chs=150x150&amp;cht=qr&amp;chl=$link' />","left",50));
} }
} }
?> ?>

View File

@ -284,7 +284,7 @@ class Image {
return $this->parse_link_template($image_ilink); return $this->parse_link_template($image_ilink);
} }
else if($config->get_bool('nice_urls', false)) { else if($config->get_bool('nice_urls', false)) {
return $this->parse_link_template(make_link('_images/$hash/$id - $tags.$ext')); return $this->parse_link_template(make_link('_images/$hash/$id%20-%20$tags.$ext'));
} }
else { else {
return $this->parse_link_template(make_link('image/$id.$ext')); return $this->parse_link_template(make_link('image/$id.$ext'));

View File

@ -83,6 +83,22 @@ function no_escape($input) {
return $input; return $input;
} }
// Original PHP code by Chirp Internet: www.chirp.com.au
// Please acknowledge use of this code by including this header.
function truncate($string, $limit, $break=" ", $pad="...") {
// return with no change if string is shorter than $limit
if(strlen($string) <= $limit) return $string;
// is $break present between $limit and the end of the string?
if(false !== ($breakpoint = strpos($string, $break, $limit))) {
if($breakpoint < strlen($string) - 1) {
$string = substr($string, 0, $breakpoint) . $pad;
}
}
return $string;
}
/** /**
* Turn a human readable filesize into an integer, eg 1KB -> 1024 * Turn a human readable filesize into an integer, eg 1KB -> 1024
* *

View File

@ -161,7 +161,7 @@ class CommentListTheme extends Themelet {
$h_name = html_escape($comment->owner_name); $h_name = html_escape($comment->owner_name);
$h_poster_ip = html_escape($comment->poster_ip); $h_poster_ip = html_escape($comment->poster_ip);
$h_timestamp = autodate($comment->posted); $h_timestamp = autodate($comment->posted);
$h_comment = ($trim ? substr($tfe->stripped, 0, 50) . (strlen($tfe->stripped) > 50 ? "..." : "") : $tfe->formatted); $h_comment = ($trim ? truncate($tfe->stripped, 50) : $tfe->formatted);
$i_comment_id = int_escape($comment->comment_id); $i_comment_id = int_escape($comment->comment_id);
$i_image_id = int_escape($comment->image_id); $i_image_id = int_escape($comment->image_id);

View File

@ -5,7 +5,7 @@ class PixelFileHandlerTheme extends Themelet {
global $config; global $config;
$u_ilink = $image->get_image_link(); $u_ilink = $image->get_image_link();
$html = "<img id='main_image' src='$u_ilink'>"; $html = "<img alt='main image' id='main_image' src='$u_ilink'>";
if($config->get_bool("image_show_meta")) { if($config->get_bool("image_show_meta")) {
# FIXME: only read from jpegs? # FIXME: only read from jpegs?
$exif = @exif_read_data($image->get_image_filename(), 0, true); $exif = @exif_read_data($image->get_image_filename(), 0, true);

View File

@ -6,8 +6,8 @@
width: auto; width: auto;
} }
#wrapper { #wrapper {
opacity : 0.4; opacity: 0.4;
filter: alpha(opacity=40); // msie filter: alpha(opacity=40); /* msie */
} }
/* This is needed since the theme style.css forcibly sets vertical align to "top". */ /* This is needed since the theme style.css forcibly sets vertical align to "top". */

View File

@ -1,291 +1,279 @@
.noleft{ .noleft{
padding-left:20px; padding-left:20px;
} }
HEADER { HEADER {
margin-bottom:1em; margin-bottom:1em;
} }
HEADER #site-title { HEADER #site-title {
padding:10px 20px 0; padding:10px 20px 0;
} }
HEADER ul#navbar { HEADER ul#navbar {
margin:0; margin:0;
padding:5px 20px 2px 10px; padding:5px 20px 2px 10px;
} }
HEADER ul#navbar li { HEADER ul#navbar li {
font-size:120%; font-size:120%;
margin:0; margin:0;
padding:0 10px 2px; padding:0 10px 2px;
} }
HEADER ul#navbar li.current-page { HEADER ul#navbar li.current-page {
background-color:#F7F7FF; background-color:#F7F7FF;
} }
HEADER ul#navbar li.current-page a { HEADER ul#navbar li.current-page a {
font-weight:bold; font-weight:bold;
} }
HEADER ul#subnavbar { HEADER ul#subnavbar {
background-color:#F7F7FF; background-color:#F7F7FF;
margin:0 0 1em; margin:0 0 1em;
padding:5px 20px 5px 15px; padding:5px 20px 5px 15px;
} }
HEADER ul#subnavbar li { HEADER ul#subnavbar li {
padding:0 5px; padding:0 5px;
} }
HEADER #site-title { HEADER #site-title {
padding:10px 20px 0; padding:10px 20px 0;
} }
body { body {
-x-system-font:none; -x-system-font:none;
background-color:#FFFFFF; background-color:#FFFFFF;
font-family:verdana,sans-serif; font-family:verdana,sans-serif;
font-size:80%; font-size:80%;
font-size-adjust:none; font-size-adjust:none;
font-stretch:normal; font-stretch:normal;
font-style:normal; font-style:normal;
font-variant:normal; font-variant:normal;
font-weight:normal; font-weight:normal;
line-height:normal; line-height:normal;
} }
h1 { h1 {
font-size:2em; font-size:2em;
margin-bottom:0; margin-bottom:0;
margin-top:0; margin-top:0;
padding:2px; padding:2px;
} }
h1 a { h1 a {
color:black; color:black;
} }
h3 { h3 {
font-size:1.2em; font-size:1.2em;
margin-bottom:0; margin-bottom:0;
margin-top:0.5em; margin-top:0.5em;
padding:1px; padding:1px;
} }
h4 { h4 {
font-size:1.4em; font-size:1.4em;
} }
h5 { h5 {
font-size:1.2em; font-size:1.2em;
} }
table.zebra {border-collapse: collapse;border-spacing: 0;} table.zebra {border-collapse: collapse;border-spacing: 0;}
table.zebra > tbody > tr:hover {background: #FFD;} table.zebra > tbody > tr:hover {background: #FFD;}
table.zebra th {color: #171BB3; padding-right: 8px;} table.zebra th {color: #171BB3; padding-right: 8px;}
table.zebra td {border: 1px dotted #EEE;margin: 0;padding-right: 8px;} table.zebra td {border: 1px dotted #EEE;margin: 0;padding-right: 8px;}
table.zebra th {margin: 0;text-align: left;} table.zebra th {margin: 0;text-align: left;}
thead { thead {
-moz-background-clip:border; -moz-background-clip:border;
-moz-background-inline-policy:continuous; -moz-background-inline-policy:continuous;
-moz-background-origin:padding; -moz-background-origin:padding;
font-weight:bold; font-weight:bold;
} }
td { td {
vertical-align:top; vertical-align:top;
} }
#subtitle { #subtitle {
border-top:medium none; border-top:medium none;
font-size:0.75em; font-size:0.75em;
margin:auto; margin:auto;
text-align:center; text-align:center;
width:256px; width:256px;
} }
ARTICLE select { FOOTER {
width:150px; clear:both;
} color:#CCCCCC;
td > input[type="submit"] {width: 100%;} font-size:0.9em;
td > input[type="text"] {width: 100%;} padding-left:10px;
td > input[type="password"] {width: 100%;} padding-top:8px;
FOOTER { }
clear:both; form {
color:#CCCCCC; margin:0;
font-size:0.9em; }
padding-left:10px; a {
padding-top:8px; text-decoration:none;
} }
[onclick] { a:hover {
cursor:pointer; text-decoration:underline;
} }
img { NAV {
border:medium none; float:left;
} text-align:left;
form { width:150px;
margin:0; padding:5px 20px 2px 10px;
} }
a { NAV table {
text-decoration:none; width:150px;
} }
a:hover { NAV td {
text-decoration:underline; vertical-align:middle;
} }
NAV { NAV input {
float:left; padding:0;
text-align:left; width:100%;
width:150px; }
padding:5px 20px 2px 10px; NAV select {
} padding:0;
NAV table { width:100%;
width:150px; }
} NAV h3 {
NAV td { text-align:left;
vertical-align:middle; }
} #comments p {
NAV input { max-width:150px;
padding:0; overflow:hidden;
width:100%; text-align:left;
} width:150px;
NAV select { }
padding:0; .tag_count {
width:100%; color:#AAAAAA;
} }
NAV h3 { .more {
text-align:left; content:"More â";
} }
#comments p { .comment {
max-width:150px; margin-bottom:8px;
overflow:hidden; }
text-align:left; .comment .meta {
width:150px; width: 150px;
} color: gray;
.tag_count { }
color:#AAAAAA; .comment TD {
} text-align: left;
.more { }
content:"More <20>â"; .withleft {
} margin-left:180px;
.comment { }
margin-bottom:8px; div#paginator {
} clear:both;
.comment .meta { display:block;
width: 150px; font-size:1em;
color: gray; font-weight:bold;
} padding:2em 0 1em;
.comment TD { text-align:center;
text-align: left; }
} .paginator {
.withleft { margin:16px;
margin-left:180px; text-align:center;
} }
div#paginator { div#paginator b {
clear:both; margin:3px;
display:block; padding:4px 8px;
font-size:1em; }
font-weight:bold; div#paginator a {
padding:2em 0 1em; border:1px solid #EEEEEE;
text-align:center; margin:3px;
} padding:4px 8px;
.paginator { }
margin:16px; div#paginator a:hover {
text-align:center; -moz-background-clip:border;
} -moz-background-inline-policy:continuous;
div#paginator b { -moz-background-origin:padding;
margin:3px; background:blue none repeat scroll 0 0;
padding:4px 8px; border:1px solid #EEEEEE;
} color:white;
div#paginator a { }
border:1px solid #EEEEEE; span.thumb {
margin:3px; display:inline-block;
padding:4px 8px; float:left;
} height:220px;
div#paginator a:hover { text-align:center;
-moz-background-clip:border; width:220px;
-moz-background-inline-policy:continuous; }
-moz-background-origin:padding; #pagelist {
background:blue none repeat scroll 0 0; margin-top:32px;
border:1px solid #EEEEEE; }
color:white; #large_upload_form {
} width:600px;
span.thumb { }
display:inline-block; .setupblock {
float:left; border:1px solid #AAAAAA;
height:220px; margin:16px;
text-align:center; padding:8px;
width:220px; width:350px;
} }
#pagelist { .helpable {
margin-top:32px; border-bottom:1px dashed gray;
} }
#large_upload_form { .ok {
width:600px; -moz-background-clip:border;
} -moz-background-inline-policy:continuous;
.setupblock { -moz-background-origin:padding;
border:1px solid #AAAAAA; background:#AAFFAA none repeat scroll 0 0;
margin:16px; }
padding:8px; .bad {
width:350px; -moz-background-clip:border;
} -moz-background-inline-policy:continuous;
.helpable { -moz-background-origin:padding;
border-bottom:1px dashed gray; background:#FFAAAA none repeat scroll 0 0;
} }
.ok { .comment .username {
-moz-background-clip:border; font-size:1.5em;
-moz-background-inline-policy:continuous; font-weight:bold;
-moz-background-origin:padding; }
background:#AAFFAA none repeat scroll 0 0; HEADER {
} text-align:left;
.bad { }
-moz-background-clip:border; HEADER h1 {
-moz-background-inline-policy:continuous; text-align:left;
-moz-background-origin:padding; }
background:#FFAAAA none repeat scroll 0 0; * {
} font-family:verdana,sans-serif;
.comment .username { margin:0;
font-size:1.5em; padding:0;
font-weight:bold; }
} a:link {
HEADER { color:#006FFA;
text-align:left; text-decoration:none;
} }
HEADER h1 { a:visited {
text-align:left; color:#006FFA;
} text-decoration:none;
* { }
font-family:verdana,sans-serif; a:hover {
margin:0; color:#33CFFF;
padding:0; text-decoration:none;
} }
a:link { a:active {
color:#006FFA; color:#006FFA;
text-decoration:none; text-decoration:none;
} }
a:visited { ul.flat-list {
color:#006FFA; display:block;
text-decoration:none; margin:0;
} padding:0;
a:hover { }
color:#33CFFF; ul.flat-list * {
text-decoration:none; display:inline;
} text-align:left;
a:active { }
color:#006FFA; ul.flat-list li {
text-decoration:none; font-weight:bold;
} list-style-type:none;
ul.flat-list { margin:0 1.3em 0 0;
display:block; text-align:left;
margin:0; }
padding:0; ul.flat-list li a {
} font-weight:normal;
ul.flat-list * { }
display:inline; #tips {
text-align:left; margin-left:16px;
} }
ul.flat-list li { #blotter1 {
font-weight:bold; margin-left:16px;
list-style-type:none; margin-right:16px;
margin:0 1.3em 0 0; font-size: 90%;
text-align:left; position: relative;
} }
ul.flat-list li a { #blotter2 {
font-weight:normal; margin-left:16px;
} margin-right:16px;
#tips { font-size: 90%;
margin-left:16px; }
}
#blotter1 {
margin-left:16px;
margin-right:16px;
font-size: 90%;
position: relative;
}
#blotter2 {
margin-left:16px;
margin-right:16px;
font-size: 90%;
}

View File

@ -45,15 +45,6 @@ TD {
vertical-align: top; vertical-align: top;
text-align: center; text-align: center;
} }
ARTICLE SELECT {width: 150px;}
INPUT, TEXTAREA {box-sizing: border-box;}
TD>INPUT[type="button"] {width: 100%;}
TD>INPUT[type="submit"] {width: 100%;}
TD>INPUT[type="text"] {width: 100%;}
TD>INPUT[type="password"] {width: 100%;}
TD>TEXTAREA {width: 100%;}
TD>SELECT {width: 100%;}
[onclick] {cursor:pointer;}
TABLE.zebra {border-spacing: 0px; border: 2px solid #CCC;} TABLE.zebra {border-spacing: 0px; border: 2px solid #CCC;}
TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;} TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;}
@ -63,10 +54,6 @@ TABLE.zebra TR TD {border-bottom: 1px solid #DDD;}
TABLE.zebra TR:nth-child(odd) {background: #EFEFEF;} TABLE.zebra TR:nth-child(odd) {background: #EFEFEF;}
TABLE.zebra TR:nth-child(even) {background: #E0E0E0;} TABLE.zebra TR:nth-child(even) {background: #E0E0E0;}
TABLE.form TD, TABLE.form TH {vertical-align: middle;}
TABLE.form TBODY TD {text-align: left;}
TABLE.form TBODY TH {text-align: right; padding-right: 4px;}
FOOTER { FOOTER {
clear: both; clear: both;
font-size: 0.7em; font-size: 0.7em;
@ -75,9 +62,6 @@ FOOTER {
border: 1px solid #AAA; border: 1px solid #AAA;
} }
*[onclick] {cursor: pointer;}
IMG {border: none;}
FORM {margin: 0px;}
A {text-decoration: none;} A {text-decoration: none;}
A:hover {text-decoration: underline;} A:hover {text-decoration: underline;}

View File

@ -28,9 +28,6 @@ FOOTER {
text-align: center; text-align: center;
} }
*[onclick] {cursor: pointer;}
IMG {border: none;}
FORM {margin: 0px;}
A, A:visited {text-decoration: none; color: #0000EE;} A, A:visited {text-decoration: none; color: #0000EE;}
A:hover {text-decoration: underline; color: #DD0000;} A:hover {text-decoration: underline; color: #DD0000;}
HR {border: none; border-top: 1px solid #D9BFB7; height: 0px; clear: both;} HR {border: none; border-top: 1px solid #D9BFB7; height: 0px; clear: both;}

View File

@ -133,13 +133,6 @@ CODE {
border-top: none; border-top: none;
background: #DDD; background: #DDD;
} }
ARTICLE SELECT {width: 150px;}
TD>INPUT[type="submit"] {width: 100%;}
TD>INPUT[type="text"] {width: 100%;}
TD>INPUT[type="password"] {width: 100%;}
TD>TEXTAREA {width: 100%;}
TD>SELECT {width: 100%;}
[onclick] {cursor:pointer;}
TABLE.zebra {border-spacing: 0px; border: 2px solid #C3D2E0;} TABLE.zebra {border-spacing: 0px; border: 2px solid #C3D2E0;}
TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;} TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;}
@ -173,9 +166,6 @@ FOOTER {
background: #E3EFFA; background: #E3EFFA;
} }
*[onclick] {cursor: pointer;}
IMG {border: none;}
FORM {margin: 0px;}
A {text-decoration: none;} A {text-decoration: none;}
A:hover {text-decoration: underline;} A:hover {text-decoration: underline;}

View File

@ -1,6 +1,6 @@
/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * /* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *
3 things common to all pages * * things common to all pages *
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */ * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
BODY { BODY {
@ -50,12 +50,6 @@ CODE {
border-top: none; border-top: none;
background: #DDD; background: #DDD;
} }
ARTICLE SELECT {width: 150px;}
INPUT, TEXTAREA {box-sizing: border-box;}
TD>INPUT[type="submit"] {width: 100%;}
TD>INPUT[type="text"] {width: 100%;}
TD>INPUT[type="password"] {width: 100%;}
TD>SELECT {width: 100%;}
TABLE.zebra {border-spacing: 0px; border: 1px solid #B89F7C; } TABLE.zebra {border-spacing: 0px; border: 1px solid #B89F7C; }
TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;} TABLE.zebra TD, TABLE.zebra TH {vertical-align: middle; padding: 4px;}
@ -65,10 +59,6 @@ TABLE.zebra TD {border-top: 1px solid #B89F7C;}
TABLE.zebra TR:nth-child(odd) {background: #FCD9A9;} TABLE.zebra TR:nth-child(odd) {background: #FCD9A9;}
TABLE.zebra TR:nth-child(even) {background: #DABC92;} TABLE.zebra TR:nth-child(even) {background: #DABC92;}
TABLE.form TD, TABLE.form TH {vertical-align: middle;}
TABLE.form TBODY TD {text-align: left;}
TABLE.form TBODY TH {text-align: right; padding-right: 4px;}
FOOTER { FOOTER {
clear: both; clear: both;
padding: 8px; padding: 8px;
@ -78,9 +68,6 @@ FOOTER {
background: #FCD9A9; background: #FCD9A9;
} }
*[onclick] {cursor: pointer;}
IMG {border: none;}
FORM {margin: 0px;}
A {color: #665844; text-decoration: none; font-weight: bold;} A {color: #665844; text-decoration: none; font-weight: bold;}
A:hover {color: #665844; text-decoration: underline;} A:hover {color: #665844; text-decoration: underline;}
A:visited {color: #665844; text-decoration: none} A:visited {color: #665844; text-decoration: none}