summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--inc/config.php1
-rw-r--r--inc/functions.php12
-rw-r--r--mod.php6
-rw-r--r--style.css15
-rw-r--r--templates/index.html8
-rw-r--r--yotsuba.css7
6 files changed, 40 insertions, 9 deletions
diff --git a/inc/config.php b/inc/config.php
index cb9220fe..5297f538 100644
--- a/inc/config.php
+++ b/inc/config.php
@@ -73,6 +73,7 @@
$config['threads_per_page'] = 10;
$config['max_pages'] = 10;
$config['threads_preview'] = 5;
+ $config['threads_preview_sticky'] = 1;
// For development purposes. Turns 'display_errors' on. Not recommended for production.
$config['verbose_errors'] = true;
diff --git a/inc/functions.php b/inc/functions.php
index 77e1be91..35a8d31a 100644
--- a/inc/functions.php
+++ b/inc/functions.php
@@ -437,16 +437,16 @@
$posts = prepare(sprintf("SELECT `id`, `subject`, `email`, `name`, `trip`, `body`, `time`, `thumb`, `thumbwidth`, `thumbheight`, `file`, `filewidth`, `fileheight`, `filesize`, `filename`,`ip` FROM `posts_%s` WHERE `thread` = ? ORDER BY `id` DESC LIMIT ?", $board['uri']));
$posts->bindValue(1, $th['id']);
- $posts->bindValue(2, $config['threads_preview'], PDO::PARAM_INT);
+ $posts->bindValue(2, ($th['sticky'] ? $config['threads_preview_sticky'] : $config['threads_preview']), PDO::PARAM_INT);
$posts->execute() or error(db_error($posts));
- if($posts->rowCount() == $config['threads_preview']) {
+ if($posts->rowCount() == ($th['sticky'] ? $config['threads_preview_sticky'] : $config['threads_preview'])) {
$count = prepare(sprintf("SELECT COUNT(`id`) as `num` FROM `posts_%s` WHERE `thread` = ?", $board['uri']));
$count->bindValue(1, $th['id']);
$count->execute() or error(db_error($count));
$count = $count->fetch();
- $omitted = $count['num'] - $config['threads_preview'];
+ $omitted = $count['num'] - ($th['sticky'] ? $config['threads_preview_sticky'] : $config['threads_preview']);
$thread->omitted = $omitted;
unset($count);
unset($omitted);
@@ -474,7 +474,10 @@
$pages = Array();
for($x=0;$x<$count && $x<$config['max_pages'];$x++) {
- $pages[] = Array('num' => $x+1, 'link' => $x==0 ? ($mod ? '?/' : $config['root']) . $board['dir'] . $config['file_index'] : ($mod ? '?/' : $config['root']) . $board['dir'] . sprintf($config['file_page'], $x+1));
+ $pages[] = Array(
+ 'num' => $x+1,
+ 'link' => $x==0 ? ($mod ? '?/' : $config['root']) . $board['dir'] . $config['file_index'] : ($mod ? '?/' : $config['root']) . $board['dir'] . sprintf($config['file_page'], $x+1)
+ );
}
return $pages;
@@ -589,6 +592,7 @@
if(file_exists($filename)) $md5 = md5_file($filename);
$content['pages'] = $pages;
+ $content['pages'][$page-1]['selected'] = true;
@file_put_contents($filename, Element('index.html', $content)) or error("Couldn't write to file.");
if(isset($md5) && $md5 == md5_file($filename)) {
diff --git a/mod.php b/mod.php
index 23950f8c..66b7cdef 100644
--- a/mod.php
+++ b/mod.php
@@ -318,10 +318,14 @@
if(!openBoard($boardName))
error($config['error']['noboard']);
- if(!$page = index(empty($matches[2]) || $matches[2] == $config['file_index'] ? 1 : $matches[2], $mod)) {
+ $page_no = empty($matches[2]) || $matches[2] == $config['file_index'] ? 1 : $matches[2];
+
+ if(!$page = index($page_no, $mod)) {
error($config['error']['404']);
}
+
$page['pages'] = getPages(true);
+ $page['pages'][$page_no-1]['selected'] = true;
$page['mod'] = true;
echo Element('index.html', $page);
diff --git a/style.css b/style.css
index 4aec2b96..d4a5b944 100644
--- a/style.css
+++ b/style.css
@@ -270,4 +270,19 @@ table.test td img {
}
fieldset label {
display: block;
+}
+div.pages {
+ color: #89A;
+ background: #D6DAF0;
+ display: inline;
+ padding: 8px;
+ border-right: 1px solid #B7C5D9;
+ border-bottom: 1px solid #B7C5D9;
+}
+div.pages a.selected {
+ color: black;
+ font-weight: bolder;
+}
+div.pages a:link {
+ text-decoration: none;
} \ No newline at end of file
diff --git a/templates/index.html b/templates/index.html
index 424cf21b..3548eeef 100644
--- a/templates/index.html
+++ b/templates/index.html
@@ -102,9 +102,9 @@
<input type="submit" value="Delete" />
</div>
</form>
- Pages: {pages:
- [<a href="{pages[link]}">{pages[num]}</a>]{!%last? }
- }
- <p class="unimportant" style="text-align:center;">Tinyboard Software Copyright &copy; 2010-2011 <a href="http://omegasdg.com/">OmegaSDG</a></p>
+ <div class="pages">Pages: {pages:
+ [<a {pages[selected]?class="selected"}{!pages[selected]?href="{pages[link]}"}>{pages[num]}</a>]{!%last? }
+ }</div>
+ <p class="unimportant" style="margin-top:20px;text-align:center;">Tinyboard Software Copyright &copy; 2010-2011 <a href="http://omegasdg.com/">OmegaSDG</a></p>
</body>
</html> \ No newline at end of file
diff --git a/yotsuba.css b/yotsuba.css
index 65509290..bda05955 100644
--- a/yotsuba.css
+++ b/yotsuba.css
@@ -37,4 +37,11 @@ div.ban {
}
div.ban p {
color: black;
+}
+div.pages {
+ background: #F0E0D6;
+ border-color: #D9BFB7;
+}
+div.pages a.selected {
+ color: #800;
} \ No newline at end of file