Browse files

Updated design

  • Loading branch information...
1 parent d6591d0 commit 548a1bfae39d6216578eeffca389fec98e0e3261 @NoxNebula NoxNebula committed May 21, 2012
Showing with 869 additions and 477 deletions.
  1. +3 −3 index.php
  2. +1 −1 lib/Twig
  3. +16 −16 lib/data/page/BoardPage.class.php
  4. +16 −16 lib/data/page/CrumbTestPage.class.php
  5. +36 −0 lib/data/page/DesignPage.class.php
  6. +1 −1 lib/data/page/LoginPage.class.php
  7. +1 −1 lib/data/page/RegisterPage.class.php
  8. +2 −2 lib/data/page/ThreadPage.class.php
  9. +10 −10 lib/data/page/UserListPage.class.php
  10. +10 −10 lib/data/page/UserPage.class.php
  11. +19 −11 lib/init.php
  12. +129 −1 styles/Lumen Lunae/board.css
  13. +35 −18 styles/Lumen Lunae/crumbs.css
  14. BIN styles/Lumen Lunae/design pattern.psd
  15. BIN styles/Lumen Lunae/icons/g_64_circle.png
  16. BIN styles/Lumen Lunae/icons/w_64_circle.png
  17. +66 −24 styles/Lumen Lunae/images/PSD/crumb_arrow.svg
  18. BIN styles/Lumen Lunae/images/PSD/step_bullet.psd
  19. BIN styles/Lumen Lunae/images/PSD/step_progress.psd
  20. BIN styles/Lumen Lunae/images/crumb_arrow.png
  21. BIN styles/Lumen Lunae/images/step_bullet.png
  22. BIN styles/Lumen Lunae/images/step_progress.png
  23. +118 −176 styles/Lumen Lunae/style.css
  24. +18 −12 styles/Lumen Lunae/user.css
  25. +15 −15 templates/body.tpl
  26. +4 −4 templates/case.tpl
  27. +3 −3 templates/footer.tpl
  28. +3 −3 templates/header.tpl
  29. +98 −114 templates/pages/Board.tpl
  30. +229 −0 templates/pages/Design.tpl
  31. +1 −1 templates/pages/Home.tpl
  32. +1 −1 templates/pages/Login.tpl
  33. +1 −1 templates/pages/Register.tpl
  34. +1 −1 templates/pages/Thread.tpl
  35. +14 −14 templates/pages/User.tpl
  36. +17 −17 templates/pages/UserList.tpl
  37. +1 −1 templates/userbar.tpl
View
6 index.php
@@ -7,12 +7,12 @@
$GT = microtime(true);
-if(!file_exists('lib/config.inc.php'))
- die('Your config file is missing!');
-
// Define the Silex Board root directory
define('DIR_ROOT', dirname(__file__).'/');
+// Check for init file
+if(!file_exists('lib/init.php'))
+ die('Something is wrong with your installation');
require_once ('lib/init.php');
// Developement performance
2 lib/Twig
@@ -1 +1 @@
-Subproject commit 97bb2e25bdf9aeca3a1ca8e4338690df159da453
+Subproject commit d289253988a25c3acf81c395a5dc39bdcb4d77d9
View
32 lib/data/page/BoardPage.class.php
@@ -14,7 +14,7 @@ public function __construct() {
$this->Info['node'] = self::$Node;
$this->Info['title'] = Language::Get('sbb.page.forum');
$this->Info['template'] = 'Board';
- Breadcrumb::Add(Language::Get('sbb.page.forum'), self::$Link);
+ Breadcrumb::Add(Language::Get('sbb.page.forum'), self::Link());
$BoardID = (int)URI::Get('BoardID', 0);
@@ -23,14 +23,14 @@ public function __construct() {
// Find Breadcrumbs
$Crumbs = $this->GetBreadcrumbs($BoardID);
foreach($Crumbs as $Crumb) {
- Breadcrumb::Add($Crumb['Title'], $Crumb['Link']);
+ Breadcrumb::Add($Crumb['title'], $Crumb['link']);
}
}
$cBoard = SBB::DB()->prepare('SELECT `Type` FROM `board` WHERE `ID` = :ID');
$cBoard->execute([':ID' => $BoardID]);
- SBB::Template()->Set(['Board' => $this->GetBoardList($BoardID),
- 'Threads' => $this->GetThreadList($BoardID),
- 'CurrentBoard' => ['ID' => $BoardID, 'Type' => $cBoard->fetch(PDO::FETCH_OBJ)->Type]]);
+ SBB::Template()->Set(['board' => $this->GetBoardList($BoardID),
+ 'threads' => $this->GetThreadList($BoardID),
+ 'current_board' => ['ID' => $BoardID, 'type' => $cBoard->fetch(PDO::FETCH_OBJ)->Type]]);
}
public function GetInfo($Info) {
@@ -58,14 +58,14 @@ protected function GetBoardList($BoardID, $Depth = 0) {
$BoardList = array();
foreach($Board as $Entry) {
$BoardList[] = [
- 'Type' => $Entry->Type,
- 'Title' => htmlspecialchars($Entry->Title),
- 'Description' => htmlspecialchars($Entry->Description),
- 'Link' => $Entry->Type == 2 ? htmlspecialchars($Entry->Link) : URI::Make(['page' => 'Board', 'BoardID' => $Entry->ID]),
- 'Stats' => $Entry->Type == 2 ? ('Views: '.$Entry->Views) : ('Threads: '.$Entry->Threads.', Posts: '.$Entry->Posts.', Views: '.$Entry->Views),
- 'LastPost' => 0,
- 'LastPostUser' => 'None',
- 'SubBoard' => $Depth < 2 ? $this->GetBoardList($Entry->ID, $Depth) : false
+ 'type' => $Entry->Type,
+ 'title' => htmlspecialchars($Entry->Title),
+ 'description' => htmlspecialchars($Entry->Description),
+ 'link' => $Entry->Type == 2 ? htmlspecialchars($Entry->Link) : URI::Make(['page' => 'Board', 'BoardID' => $Entry->ID]),
+ 'stats' => $Entry->Type == 2 ? ('Views: '.$Entry->Views) : ('Threads: '.$Entry->Threads.', Posts: '.$Entry->Posts.', Views: '.$Entry->Views),
+ 'last_post' => 0,
+ 'last_post_user' => 'None',
+ 'sub_board' => $Depth < 3 ? $this->GetBoardList($Entry->ID, $Depth) : false
];
}
return $BoardList;
@@ -79,8 +79,8 @@ protected function GetThreadList($BoardID) {
$ThreadList = array();
foreach($Threads as $T) {
$ThreadList[] = [
- 'Topic' => htmlspecialchars($T->Topic),
- 'Link' => URI::Make(['page' => 'Thread', 'ThreadID' => $T->ID])
+ 'topic' => htmlspecialchars($T->Topic),
+ 'link' => URI::Make(['page' => 'Thread', 'ThreadID' => $T->ID])
];
}
return $ThreadList;
@@ -94,7 +94,7 @@ protected function GetBreadcrumbs($BoardID) {
$Crumbs = array();
if($Board->ParentID != 0)
$Crumbs = $this->GetBreadcrumbs($Board->ParentID);
- $Crumbs[] = array('Title' => htmlspecialchars($Board->Title), 'Link' => $Board->Type == 2 ? htmlspecialchars($Board->Link) : URI::Make(['page' => 'Board', 'BoardID' => $Board->ID]));
+ $Crumbs[] = array('title' => htmlspecialchars($Board->Title), 'link' => $Board->Type == 2 ? htmlspecialchars($Board->Link) : URI::Make(['page' => 'Board', 'BoardID' => $Board->ID]));
$this->Info['title'] = htmlspecialchars($Board->Title);
return $Crumbs;
}
View
32 lib/data/page/CrumbTestPage.class.php
@@ -13,22 +13,22 @@ class CrumbTestPage extends Page implements PageData {
public function __construct() {
$this->Info['node'] = self::$Node;
$this->Info['title'] = 'Crumb Test';
- Breadcrumb::Add('ASDF', self::$Link);
- Breadcrumb::Add('Foo', self::$Link);
- Breadcrumb::Add('Bar', self::$Link);
- Breadcrumb::Add('Bum', self::$Link);
- Breadcrumb::Add('Bam', self::$Link);
- Breadcrumb::Add('Si 23 f', self::$Link);
- Breadcrumb::Add('Do rwe3', self::$Link);
- Breadcrumb::Add('Fu qr ', self::$Link);
- Breadcrumb::Add('Fa qwr', self::$Link);
- Breadcrumb::Add('KK asd', self::$Link);
- Breadcrumb::Add('ASDF JKLÖ', self::$Link);
- Breadcrumb::Add('Loooooooooooooooooooooooooooooooong', self::$Link);
- Breadcrumb::Add('Bluuuuub', self::$Link);
- Breadcrumb::Add('Blabbbbbbb', self::$Link);
- Breadcrumb::Add('Blööööööööööööööööööbbbbbbb', self::$Link);
- Breadcrumb::Add('Aledo le blä', self::$Link);
+ Breadcrumb::Add('ASDF', self::Link());
+ Breadcrumb::Add('Foo', self::Link());
+ Breadcrumb::Add('Bar', self::Link());
+ Breadcrumb::Add('Bum', self::Link());
+ Breadcrumb::Add('Bam', self::Link());
+ Breadcrumb::Add('Si 23 f', self::Link());
+ Breadcrumb::Add('Do rwe3', self::Link());
+ Breadcrumb::Add('Fu qr ', self::Link());
+ Breadcrumb::Add('Fa qwr', self::Link());
+ Breadcrumb::Add('KK asd', self::Link());
+ Breadcrumb::Add('ASDF JKLÖ', self::Link());
+ Breadcrumb::Add('Loooooooooooooooooooooooooooooooong', self::Link());
+ Breadcrumb::Add('Bluuuuub', self::Link());
+ Breadcrumb::Add('Blabbbbbbb', self::Link());
+ Breadcrumb::Add('Blööööööööööööööööööbbbbbbb', self::Link());
+ Breadcrumb::Add('Aledo le blä', self::Link());
}
public function GetInfo($Info) {
View
36 lib/data/page/DesignPage.class.php
@@ -0,0 +1,36 @@
+<?php
+/**
+ * @author SilexBB
+ * @copyright 2011 - 2012 Silex Bulletin Board
+ * @license GPL version 3 or higher <http://www.gnu.org/licenses/gpl-3.0.html>
+ */
+
+class DesignPage extends Page implements PageData {
+ protected static $Link = ['page' => 'Design']; // '?page=Design';
+ protected static $Node = 'page.design';
+ protected $Info = array();
+
+ public function __construct() {
+ $this->Info['node'] = self::$Node;
+ $this->Info['title'] = 'Designtest';
+ $this->Info['template'] = 'Design';
+ Breadcrumb::Add('Designtest', self::Link());
+ }
+
+ public function GetInfo($Info) {
+ return isset($this->Info[$Info]) ? $this->Info[$Info] : false;
+ }
+
+ protected function GetWholeInfo() {
+ return $this->Info;
+ }
+
+ public static function Link() {
+ return URI::Make(self::$Link);
+ }
+
+ public static function Node() {
+ return self::$Node;
+ }
+}
+?>
View
2 lib/data/page/LoginPage.class.php
@@ -16,7 +16,7 @@ public function __construct() {
$this->Info['node'] = self::$Node;
$this->Info['title'] = Language::Get('sbb.page.login');
- Breadcrumb::Add(Language::Get('sbb.page.login'), self::$Link);
+ Breadcrumb::Add(Language::Get('sbb.page.login'), self::Link());
$this->Info['template'] = 'Login';
if(Session::Get('LoginError')) {
View
2 lib/data/page/RegisterPage.class.php
@@ -17,7 +17,7 @@ public function __construct() {
$this->Info['node'] = self::$Node;
$this->Info['title'] = Language::Get('sbb.page.register');
- Breadcrumb::Add(Language::Get('sbb.page.register'), self::$Link);
+ Breadcrumb::Add(Language::Get('sbb.page.register'), self::Link());
$this->Info['template'] = 'Register';
// Register formular
View
4 lib/data/page/ThreadPage.class.php
@@ -13,7 +13,7 @@ class ThreadPage extends Page implements PageData {
public function __construct() {
$this->Info['node'] = BoardPage::Node();
$this->Info['template'] = 'Thread';
- Breadcrumb::Add(Language::Get('sbb.page.forum'), self::$Link);
+ Breadcrumb::Add(Language::Get('sbb.page.forum'), self::Link());
$ThreadID = (int)URI::Get('ThreadID', 0);
if($ThreadID > 0 && Database::Count('FROM `thread` WHERE `ID` = :ID', [':ID' => $ThreadID])) {
@@ -26,7 +26,7 @@ public function __construct() {
$Crumbs = $this->GetBreadcrumbs($Thread->BoardID);
foreach($Crumbs as $Crumb)
Breadcrumb::Add($Crumb['Title'], $Crumb['Link']);
- Breadcrumb::Add($this->Info['title'], self::$Link);
+ Breadcrumb::Add($this->Info['title'], self::Link());
SBB::Template()->Set(['Posts' => $this->GetPosts($ThreadID)]);
} else {
View
20 lib/data/page/UserListPage.class.php
@@ -14,24 +14,24 @@ public function __construct() {
$this->Info['node'] = self::$Node;
$this->Info['title'] = Language::Get('sbb.page.userlist');
$this->Info['template'] = 'UserList';
- Breadcrumb::Add(Language::Get('sbb.page.userlist'), self::$Link);
+ Breadcrumb::Add(Language::Get('sbb.page.userlist'), self::Link());
$TempUsers = SBB::DB()->query('SELECT * FROM `users`')->fetchAll(PDO::FETCH_OBJ);
$Users = array();
foreach($TempUsers as $User) {
$Users[] = array(
- 'ID' => $User->ID,
- 'Name' => $User->Username,
- 'Group' => '',
- 'Joined_D' => date('d. ', $User->Joined).Language::Get(Time::Month(date('n', $User->Joined))).date(' Y', $User->Joined),
- 'Joined_T' => date('H:i', $User->Joined),
- 'Posts' => '-',
- 'Language' => $User->Language,
- 'Homepage' => $User->Homepage
+ 'name' => $User->Username,
+ 'link' => URI::Make(['page' => 'User', 'UserID' => $User->ID]),
+ 'group' => '',
+ 'joined_d' => date('d. ', $User->Joined).Language::Get(Time::Month(date('n', $User->Joined))).date(' Y', $User->Joined),
+ 'joined_t' => date('H:i', $User->Joined),
+ 'posts' => '-',
+ 'language' => $User->Language,
+ 'homepage' => $User->Homepage
);
}
- SBB::Template()->Set(array('Users' => $Users));
+ SBB::Template()->Set(array('users' => $Users));
}
public function GetInfo($Info) {
View
20 lib/data/page/UserPage.class.php
@@ -30,21 +30,21 @@ public function __construct() {
$this->Info['template'] = 'User';
$this->Info['title'] = Language::Get('sbb.user.user').': '.$User->Username;
Breadcrumb::Add(Language::Get('sbb.page.userlist'), UserListPage::Link());
- Breadcrumb::Add($User->Username, self::$Link.'&UserID='.$UserID);
+ Breadcrumb::Add($User->Username, URI::Make(array_merge(self::$Link, ['UserID' => $UserID])));
// Template..
- SBB::Template()->Set(array('Profile' => array(
- 'Username' => $User->Username,
+ SBB::Template()->Set(array('profile' => array(
+ 'username' => $User->Username,
'ID' => $User->ID,
- 'Group' => $User->GroupID, // TODO: Read group
- 'Signature' => $User->Signature, // TODO: Parse message
- 'Joined' => Language::Get(Time::Day(date('N', $User->Joined))).', '.
+ 'group' => $User->GroupID, // TODO: Read group
+ 'signature' => $User->Signature, // TODO: Parse message
+ 'joined' => Language::Get(Time::Day(date('N', $User->Joined))).', '.
date('d. ', $User->Joined).Language::Get(Time::Month(date('n', $User->Joined))).
date(' Y, H:i', $User->Joined),
- 'Activity' => date('d.m.Y, H:i', $User->LastActivity), // TODO: Alternative formats, like "Today, 11:23" or "Yesterday, 13:37",
- 'Language' => $User->Language ? $User->Language : Language::Get('sbb.language.info'), // TODO: Read the real language
- 'Birthday' => date('d.m.Y', $User->Birthday),
- 'Age' => date('md', date('U', $User->Birthday)) > date('md') ? // TODO: Find a better age calculation
+ 'activity' => date('d.m.Y, H:i', $User->LastActivity), // TODO: Alternative formats, like "Today, 11:23" or "Yesterday, 13:37",
+ 'language' => $User->Language ? $User->Language : Language::Get('sbb.language.info'), // TODO: Read the real language
+ 'birthday' => date('d.m.Y', $User->Birthday),
+ 'age' => date('md', date('U', $User->Birthday)) > date('md') ? // TODO: Find a better age calculation
(date('Y') - date('Y', $User->Birthday)-1) :
(date('Y') - date('Y', $User->Birthday))
)));
View
30 lib/init.php
@@ -5,35 +5,43 @@
* @license GPL version 3 or higher <http://www.gnu.org/licenses/gpl-3.0.html>
*/
-// Include config
+// Check if the request came from index.php
+if(!defined('DIR_ROOT'))
+ header('location: ../');
+
+// Check for config file
+if(!file_exists('lib/config.inc.php'))
+ die('Your config file is missing!');
+
+// Include config file
require_once('config.inc.php');
if(!defined('CFG'))
- die('Something is wrong with your config!');
+ die('Something is wrong with your config file!');
// Include common constants and functions
require_once('constants.inc.php');
require_once('functions.inc.php');
-// Register the autoloader
-ini_set('unserialize_callback_func', 'spl_autoload_call');
-require_once('Autoloader.class.php');
-Autoloader::Register();
-
// Display Errors
if(defined('CFG_DEBUG') && CFG_DEBUG) {
ini_set('display_errors', 1);
error_reporting(E_ALL ^ E_NOTICE | E_STRICT);
}
+// TODO: Read from database config / user preferences
+date_default_timezone_set('Europe/Berlin');
+
+// Register the autoloader
+ini_set('unserialize_callback_func', 'spl_autoload_call');
+require_once('Autoloader.class.php');
+Autoloader::Register();
+
// Define custom handler
set_exception_handler(array('SBB', 'ExceptionHandler'));
-// TODO: Set this in the databaseconfig
-date_default_timezone_set('Europe/Berlin');
-
// Set the custom session save handler and start sessions
Session::Start();
-// Initial the SBB Core
+// Initial and "start" Silex Board
SBB::Initial();
?>
View
130 styles/Lumen Lunae/board.css
@@ -1,5 +1,131 @@
@charset "utf-8";
+/*
+ Classes for the board and thread view
+*/
+ul.board, ul.sub_board, ul.sub_sub_board {
+ list-style: none;
+ display: block;
+ padding: 0;
+ margin: 0;
+}
+ul.board li, ul.sub_board li {
+ padding: 0;
+ margin: 0;
+ display: block;
+}
+ul.sub_sub_board li {
+ padding: 0;
+ margin: 0;
+ display: inline-block;
+}
+ul.sub_board .container_head {
+ text-align: left;
+ border: none;
+ border-bottom: 1px solid #0B334C;
+ white-space: nowrap;
+}
+
+ul.board .forum .container_head {
+ background: #f5f5f5;
+ color: #000000;
+ text-align: left;
+ white-space: nowrap;
+ box-shadow: inset 0 0 1px #ffffff;
+}
+ ul.board .forum .title, ul.board .forum .description, ul.board .forum .board_bottom {
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ }
+ .board .forum .board_info {
+ display: block;
+ width: 70%;
+ float: left;
+ color: #000000;
+ text-shadow: none;
+ }
+ .board .forum .board_post {
+ display: block;
+ width: 30%;
+ float: right;
+ color: #000000;
+ text-shadow: none;
+ }
+ .board_post p {
+ margin: 0;
+ padding: 3px 0;
+ }
+ .board .forum .board_top::after {
+ content: "";
+ height: 0;
+ display: block;
+ clear: both;
+ }
+ .board .forum .board_bottom {
+ background: #e9f9ff;
+ border-top: 1px solid #aacbeb;
+ box-shadow: inset 0 0 1px #ffffff;
+ }
+ .board .forum .stats {
+ padding: 5px 15px;
+ font-size: 11px;
+ box-shadow: inset 0 0 1px #ffffff;
+ }
+ .board .board_bottom .sub_sub_board {
+ padding: 5px 15px;
+ border-top: 1px solid #c5e7ff;
+ box-shadow: inset 0 0 1px #ffffff;
+ text-align: right;
+ }
+ ul.sub_sub_board li {
+ display: inline-block;
+ font-weight: bold;
+ padding-left: 10px;
+ }
+
+ul.board .link .container_head {
+ background: #d4e4f3;
+ color: #000000;
+ text-align: left;
+ white-space: nowrap;
+ box-shadow: inset 0 0 1px #ffffff;
+}
+ ul.board .link .title, ul.board .link .description {
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ }
+
+
+ul.board > li.forum .container_head {
+ border: 1px solid #aacbeb;
+}
+
+/* Last elements */
+ul.board .container > div.container_head:last-child {
+ border-radius: 6px;
+}
+ ul.board .container > div:first-child:last-child > div:last-child {
+ border-radius: 0 0 5px 5px;
+ }
+
+ul.board .container_head > div:last-child {
+ border-radius: 0 0 2px 2px;
+}
+
+ul.sub_board li:last-child .container_head {
+ border: none;
+}
+ ul.sub_board li:last-child .board_bottom {
+ border-bottom: none;
+ }
+.container_content:last-child ul.sub_board li:last-child .container_head {
+ border-radius: 0 0 2px 2px;
+}
+ .container_content:last-child ul.sub_board li:last-child .board_bottom {
+ border-radius: 0 0 2px 2px;
+ }
+
+/*
ul.board, ul.sub_board {
list-style: none;
padding: 0;
@@ -95,4 +221,6 @@ ul.board li, ul.sub_board li {
.board_post p {
margin: 0;
padding: 3px 0;
- }
+ }
+
+*/
View
53 styles/Lumen Lunae/crumbs.css
@@ -1,47 +1,64 @@
-.BreadCrumbs {
- background: #f5f5f5;
+@charset "utf-8";
+/*
+ Classes for the breadcrumbs
+*/
+
+.bread_crumbs {
+ background: #818f99;
height: 36px;
- border: 1px solid rgba(0,0,0,.1);
+ border: 1px solid #0B334C;
white-space: nowrap;
font-size: 14px;
border-radius: 6px;
overflow: hidden;
+ box-shadow: inset 0 0 1px #000000;
}
- .Crust {
+ .crust {
height: 36px;
display: block;
float: left;
}
- .Crumb {
- background: #f0f0f0;
- height: 36px;
- line-height: 36px;
+ .crumb {
+ background: #3f6f8e;
+ background: -moz-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Firefox 3.6+ */
+ background: -webkit-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Chrome 10+ */
+ background: -o-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* IE 10+ */
+ background: linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* W3C recommendation */
+
+ height: 34px;
+ line-height: 34px;
display: block;
padding: 0 8px 0 22px;
- color: #777777;
- text-shadow: 0 1px 0 #ffffff;
+ color: #ffffff;
+ text-shadow: 0 1px 3px #000000;
float: left;
- margin-left: -13px;
+ margin-left: -14px;
+ border: none;
+ border-bottom: 1px solid #5c6774;
+ border-top: 1px solid #5e86a0;
}
- .Crust:first-child .Crumb {
- border-radius: 6px 0 0 6px;
+ .crust:first-child .crumb {
+ border-left: 1px solid #5c7284;
+ border-radius: 5px 0 0 5px;
padding-left: 15px;
margin: 0;
}
- .Crust:hover .Crumb {
+ .crust:hover .crumb {
background: #f9f9f9;
+ color: #000000;
}
- a.Crumb, a.Crumb:hover, a.Crumb:active, a.Crumb:visited, a.Crumb:link {
+ a.crumb, a.crumb:hover, a.crumb:active, a.crumb:visited, a.crumb:link {
text-decoration: none;
}
- .Arrow {
+ .arrow {
height: 36px;
- width: 13px;
+ width: 14px;
background: transparent url(images/crumb_arrow.png) no-repeat left 0px;
display: block;
position: relative;
float: right;
}
- .Crust:hover .Arrow {
+ .crust:hover .arrow {
background-position: left -36px;
}
View
BIN styles/Lumen Lunae/design pattern.psd
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/icons/g_64_circle.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/icons/w_64_circle.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
90 styles/Lumen Lunae/images/PSD/crumb_arrow.svg
@@ -7,48 +7,72 @@
xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:svg="http://www.w3.org/2000/svg"
xmlns="http://www.w3.org/2000/svg"
+ xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
- width="13"
+ width="14"
height="108"
id="svg2"
version="1.1"
- inkscape:version="0.48.2 r9819"
- sodipodi:docname="CrumbArrow.svg"
- inkscape:export-filename="C:\nmp\html\SilexBoard\Board\styles\Standard\images\CrumbArrow.png"
+ inkscape:version="0.48.3.1 r9886"
+ sodipodi:docname="crumb_arrow.svg"
+ inkscape:export-filename="D:\NMP\html\SilexBoard\Board\styles\Lumen Lunae\images\crumb_arrow.png"
inkscape:export-xdpi="90"
inkscape:export-ydpi="90">
<defs
- id="defs4" />
+ id="defs4">
+ <linearGradient
+ inkscape:collect="always"
+ id="linearGradient3755">
+ <stop
+ style="stop-color:#3f6f8e;stop-opacity:1;"
+ offset="0"
+ id="stop3757" />
+ <stop
+ style="stop-color:#3c4a59;stop-opacity:1"
+ offset="1"
+ id="stop3759" />
+ </linearGradient>
+ <linearGradient
+ inkscape:collect="always"
+ xlink:href="#linearGradient3755"
+ id="linearGradient3779"
+ gradientUnits="userSpaceOnUse"
+ x1="13"
+ y1="944.36218"
+ x2="13"
+ y2="980.36218" />
+ </defs>
<sodipodi:namedview
id="base"
pagecolor="#ffffff"
bordercolor="#666666"
borderopacity="1.0"
inkscape:pageopacity="0.0"
inkscape:pageshadow="2"
- inkscape:zoom="1"
- inkscape:cx="-46.774734"
- inkscape:cy="74.596881"
+ inkscape:zoom="11.313708"
+ inkscape:cx="6.3152555"
+ inkscape:cy="82.027424"
inkscape:document-units="px"
inkscape:current-layer="layer1"
showgrid="true"
objecttolerance="3"
gridtolerance="3"
guidetolerance="3"
- inkscape:window-width="1366"
- inkscape:window-height="706"
- inkscape:window-x="-8"
- inkscape:window-y="-8"
- inkscape:window-maximized="1">
+ inkscape:window-width="1440"
+ inkscape:window-height="838"
+ inkscape:window-x="-6"
+ inkscape:window-y="-6"
+ inkscape:window-maximized="1"
+ inkscape:showpageshadow="false">
<inkscape:grid
type="xygrid"
id="grid2985"
empspacing="1"
visible="true"
enabled="true"
snapvisiblegridlinesonly="true"
- spacingx="13px"
+ spacingx="14px"
spacingy="36px" />
</sodipodi:namedview>
<metadata
@@ -73,24 +97,42 @@
inkscape:connector-curvature="0"
id="path3757"
d="m 1,944.3622 12,18 -12,18 -1,0 0,-36 z"
- style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none" />
+ style="fill:#0b334c;fill-opacity:1;stroke:none" />
<path
- style="fill:#f0f0f0;fill-opacity:1;stroke:none"
- d="m 0,944.3622 12,18 -12,18 z"
+ style="fill:url(#linearGradient3779);fill-opacity:1;stroke:none"
+ d="m -1,944.3622 0,36 1,0 12,-18 -12,-18 -1,0 z"
id="path2987"
- inkscape:connector-curvature="0"
- sodipodi:nodetypes="cccc" />
+ inkscape:connector-curvature="0" />
<path
- style="opacity:0.2;fill:#000000;fill-opacity:1;stroke:none"
+ style="fill:#0b334c;fill-opacity:1;stroke:none"
d="m 1,980.3622 12,18 -12,18 -1,0 0,-36 z"
id="path3759"
inkscape:connector-curvature="0"
sodipodi:nodetypes="cccccc" />
<path
- sodipodi:nodetypes="cccc"
- inkscape:connector-curvature="0"
+ style="fill:#f9f9f9;fill-opacity:1;stroke:none"
+ d="m -1,980.3622 0,36 1,0 12,-18 -12,-18 -1,0 z"
id="path3761"
- d="m 0,980.3622 12,18 -12,18 z"
- style="fill:#f9f9f9;fill-opacity:1;stroke:none" />
+ inkscape:connector-curvature="0" />
+ <path
+ style="fill:#ffffff;fill-opacity:0.25098039;stroke:none"
+ d="m -1,944.3622 12,18 -12,18 1,0 12,-18 -12,-18 -1,0 z"
+ id="path3770"
+ inkscape:connector-curvature="0" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3799"
+ d="m 1,944.3622 12,18 -12,18 1,0 12,-18 -12,-18 -1,0 z"
+ style="fill:#000000;fill-opacity:0.1254902;stroke:none" />
+ <path
+ inkscape:connector-curvature="0"
+ id="path3801"
+ d="m -1,980.3622 12,18 -12,18 1,0 12,-18 -12,-18 -1,0 z"
+ style="fill:#ffffff;fill-opacity:0.25098039;stroke:none" />
+ <path
+ style="fill:#000000;fill-opacity:0.1254902;stroke:none"
+ d="m 1,980.3622 12,18 -12,18 1,0 12,-18 -12,-18 -1,0 z"
+ id="path3803"
+ inkscape:connector-curvature="0" />
</g>
</svg>
View
BIN styles/Lumen Lunae/images/PSD/step_bullet.psd
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/images/PSD/step_progress.psd
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/images/crumb_arrow.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/images/step_bullet.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
BIN styles/Lumen Lunae/images/step_progress.png
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
View
294 styles/Lumen Lunae/style.css
@@ -1,4 +1,10 @@
@charset "utf-8";
+/*
+ Initial style for global elements, classes and ids.
+ This style is loaded as all first one.
+*/
+
+/* Element styles */
* {
outline: 0 none;
@@ -28,11 +34,6 @@ a, a:hover {
text-decoration: none;
}
-section.Content {
- padding: 35px 0 40px 0;
- background: url(images/content_background.png) center top repeat-x #ddeaff;
-}
-
input[type=search] {
-webkit-appearance: textfield;
appearance: normal;
@@ -47,222 +48,163 @@ input:-moz-placeholder {
text-shadow: 0 0 6px rgba(0,0,0,0.5);
}
-.Size {
+/* Classes and IDs */
+
+.size {
min-width: 900px;
width: 80%;
margin-left: auto;
margin-right: auto;
}
-.MinSize {
+.min_size {
min-width: 900px;
margin-left: auto;
margin-right: auto;
}
-.SiteContainer {
+section.content {
+ padding: 35px 0 40px 0;
+ background: url(images/content_background.png) center top repeat-x #ddeaff;
+}
+
+.site_container {
background: #f0f0f0;
color: #000000;
}
-.Container {
+/* container -> */
+.container {
background: rgba(255,255,255,0.4);
margin: 0 0 10px 0;
padding: 10px;
border-radius: 10px;
- text-shadow: 0 1px 0 #ffffff;
box-shadow: 0 0 5px rgba(0,0,0,0.075);
}
- .Container > div:first-child {
+ .container > div:first-child {
border-top-left-radius: 6px;
border-top-right-radius: 6px;
}
- .Container > div:last-child {
- border-bottom-left-radius: 6px;
- border-bottom-right-radius: 6px;
- }
- .Container h1 {
- font-size: 24px;
- padding: 5px 0 10px 0;
- margin: 0;
- color: #3C6C8B;
- text-shadow: 0 1px 1px #ffffff;
- }
- .Container input[type=text], .Container input[type=password], .Container input[type=email] {
- border: none;
- background: rgba(0,0,0,.5) none no-repeat 4px center;
- display: block;
- height: 24px;
- width: 300px;
- line-height: 24px;
- padding: 0 4px 0 22px;
- font-weight: bold;
- border: 2px solid #3C6C8B;
- border-radius: 4px;
- color: #ffffff;
- text-shadow: 0 0 4px rgba(0,0,0,.4);
- box-shadow: inset 0 0 1px white, 0 0 4px white;
+ .container > div:last-child {
+ border-bottom-left-radius: 3px;
+ border-bottom-right-radius: 3px;
}
- .Container input[type=text]::-webkit-input-placeholder,
- .Container input[type=password]::-webkit-input-placeholder,
- .Container input[type=email]::-webkit-input-placeholder, {
- color: #ffffff;
- text-shadow: 0 0 4px rgba(0,0,0,.4);
- },
- .Container input[type=text]:-moz-placeholder,
- .Container input[type=password]:-moz-placeholder,
- .Container input[type=email]:-moz-placeholder {
- color: #ffffff;
- text-shadow: 0 0 4px rgba(0,0,0,.4);
- }
- .Container input[type=text][name=Username] {
- background-image: url(icons/w_16_user.png);
- }
- .Container input[type=password] {
- background-image: url(icons/w_16_key.png);
- }
- .Container input[type=email] {
- background-image: url(icons/w_16_v_card.png);
- }
- .Container .progressbar_trim {
- height: 4px;
- margin: -4px 0;
- padding: 4px 0;
- overflow: hidden;
- }
- .Container .progressbar {
- box-shadow: 0 0 4px #ffffff;
- border-radius: 1px;
- background: rgba(0, 0, 0, 0.3);
- overflow: visible;
- }
- .Container .progress {
- width: 0px;
- height: 4px;
- background: #558FA4 url('images/progressbar_overlay.png') repeat-y right center;
- border-radius: 1px;
- }
- .Container .progress .shine {
- height: 12px;
- width: 40px;
- margin: -4px -2px -4px 0;
- float: right;
- background: transparent url('images/progressbar_shine.png') no-repeat right center;
- }
-
.container_head {
- background: #ededed;
- font-size: 14px;
- color: #777777;
- text-shadow: 0 1px 0 #ffffff;
- height: 36px;
- line-height: 36px;
- padding: 0 15px;
- border: 1px solid rgba(0,0,0,.1);
- /*border-radius: 6px 6px 0 0;*/
+ background: #3f6f8e;
+ background: -moz-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Firefox 3.6+ */
+ background: -webkit-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Chrome 10+ */
+ background: -o-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* Opera 11.10+ */
+ background: -ms-linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* IE 10+ */
+ background: linear-gradient(top, #3f6f8e 0%, #3c4a59 100%); /* W3C recommendation */
+
+ color: #efefef;
+ text-shadow: 0 1px 3px rgba(0,0,0,.5);
+ text-align: center;
+ border: 1px solid #0B334C;
white-space: nowrap;
+ box-shadow: inset 0 0 1px #ffffff;
}
.container_head .title {
- display: block;
font-weight: bold;
- overflow: hidden;
+ font-size: 14px;
+ line-height: 24px;
+ padding: 0 15px;
+ color: #ffffff;
}
- .container_head .title_menu {
- display: block;
- font-weight: bold;
- max-width: 232px;
- overflow: hidden;
- float: left;
+ .container_head .description {
+ font-weight: normal;
+ font-size: 12px;
+ line-height: 14px;
+ padding: 0 15px 4px 15px;
+ color: #efefef;
}
.container_head menu {
list-style: none;
display: block;
- margin: 0 0 0 15px;
+ margin: 0;
padding: 0;
- border-left: 1px solid rgba(0,0,0,.1);
- height: 36px;
overflow: hidden;
- max-width: 600px;
- float: left;
}
.container_head menu li {
- padding: 0 5px;
+ display: inline-block;
+ margin: 0;
+ padding: 5px 5px 8px 5px;
+ }
+ .container_head li .menu_title {
+ font-weight: normal;
+ font-size: 12px;
+ }
+ .container_head li .menu_icon {
+ height: 64px;
+ width: 64px;
+ margin: 0 auto 5px auto;
+ padding: 0;
+ background: url("icons/w_64_circle.png") center center no-repeat;
+ }
+ .container_head .step_bar {
+ height: 33px;
+ padding: 7px 30px;
+ margin: 0 0 -24px 0;
+ /*background: rgba(255,0,0,.5);*/
+ position: relative;
+ z-index: 100;
+ }
+ .step_bar .step_bullet_wrap {
+ height: 33px;
+ width: 0;
+ margin-right: 33.3333333333%;
float: left;
}
- .container_head menu li:first-child {
- padding-left: 10px;
+ .step_bar .step_bullet_wrap:last-child {
+ margin: 0;
}
- .optionsbar {
- background: #e0e0e0;
- height: 24px;
- line-height: 24px;
- border: 1px solid rgba(0,0,0,.1);
- border-top: none;
- }
- .content {
+ .step_bar .progress {
+ height: 9px;
+ /*background: rgba(255,0,0,.5);*/
+ background: url("images/step_progress.png") center center repeat-x;
+ margin-bottom: -21px;
+ margin-top: 12px;
+ }
+ .step_bar .step_bullet {
+ height: 43px;
+ width: 43px;
+ background: url("images/step_bullet.png") center top no-repeat;
+ margin-left: -22px;
+ margin-top: -5px;
+ line-height: 43px;
+ color: #000000;
+ text-shadow: 0 1px 0 #ffffff;
+ text-align: center;
+ font-weight: bold;
+ font-size: 16px;
+
+ /* CSS-Only test */
+ /*height: 31px;
+ width: 31px;
+ background: #f5f5f5;
+ border: 1px solid #0b334c;
+ border-radius: 17px;*/
+ }
+ .step_bullet_wrap.current .step_bullet {
+ background-position: center -43px;
+ }
+ .step_bullet_wrap.done .step_bullet {
+ background-position: center -86px;
+ }
+ .container_content {
background: #f5f5f5;
- border: 1px solid rgba(0,0,0,.1);
+ border: 1px solid #0B334C;
border-top: none;
- /* Debug */
- /*min-height: 200px;*/
+ color: #000000;
+ /*min-height: 50px;*/
}
.container_footer {
- background: #ededed;
- height: 24px;
- line-height: 24px;
- border: 1px solid rgba(0,0,0,.1);
+ background: #3f6f8e;
+ border: 1px solid #0B334C;
border-top: none;
+ color: #ffffff;
+ line-height: 20px;
+ min-height: 20px;
+ box-shadow: inset 0 0 1px white;
}
-
-
-/* Bad ol' stuff */
-
-.ParseError {
- display: inline-block;
- background: #ffd6d1;
- padding: 0 20px;
- color: #FF0000;
- font-size: 16px;
- text-shadow: 0 1px 0 #ffffff;
- box-shadow: 0 0 4px #000;
- border: 1px solid #ffffff;
- border-radius: 4px;
-}
-
-.Boardlist {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-.Category {
- border: 1px solid #000000;
- margin: 10px 0;
-}
-
-.CategoryHead {
- background: #6F9;
-}
-
-.Forumlist {
- list-style: none;
- margin: 0;
- padding: 0;
-}
-
-/* Posts */
-
-.messageSidebar {
- float: left;
- width: 180px;
- text-align: center;
- border-right: 1px solid;
-}
-.message {
- border: 1px solid;
- border-radius: 7px;
- margin-bottom: 16px;
-}
-.messageContentInner {
- padding: 7px;
-}
+/* <- container */
View
30 styles/Lumen Lunae/user.css
@@ -60,48 +60,54 @@ table.userlist {
max-height: 200px;
max-width: 200px;
}
-.Container.user {
+.container.user {
margin-left: 210px;
}
-.content .signature {
+ .container.user::after {
+ content: "";
+ height: 0;
+ display: block;
+ clear: both;
+ }
+.container_content .signature {
padding: 20px 40px;
background-image: url('images/quote_start.png'), url('images/quote_end.png');
background-position: left bottom, right top;
background-repeat: no-repeat;
max-height: 100px;
overflow: auto;
}
-.content .info {
+.container_content .info {
padding: 10px;
line-height: 16px;
}
- .content .info span {
+ .container_content .info span {
padding: 0 10px 0 18px;
background: transparent no-repeat left center;
display: inline-block;
white-space: nowrap;
}
- .content .info .group {
+ .container_content .info .group {
background-image: url('icons/g_16_group.png');
}
- .content .info .gender.male {
+ .container_content .info .gender.male {
background-image: url('icons/g_16_male.png');
}
- .content .info .gender.female {
+ .container_content .info .gender.female {
background-image: url('icons/g_16_female.png');
}
- .content .info .joined {
+ .container_content .info .joined {
background-image: url('icons/g_16_calendar.png');
}
- .content .info .activity {
+ .container_content .info .activity {
background-image: url('icons/g_16_clock.png');
}
- .content .info .language {
+ .container_content .info .language {
background-image: url('icons/g_16_flag.png');
}
- .content .info .birthday {
+ .container_content .info .birthday {
background-image: url('icons/g_16_balloons.png');
}
- .content .info .age {
+ .container_content .info .age {
padding: 0 10px 0 0;
}
View
30 templates/body.tpl
@@ -1,35 +1,35 @@
- <section class="Content">
+ <section class="content">
{% for Notification in Notifications %}
<div class="notification {{ Notification.Type }}">
<div class="notification_inner">
- <div class="Size">
+ <div class="size">
<div class="notification_content">{{ Notification.Message }}</div>
</div>
</div>
</div>
{% endfor %}
- <div class="Size">
- <div class="Container">
- <nav class="BreadCrumbs">
+ <div class="size">
+ <div class="container">
+ <nav class="bread_crumbs">
{% for Crumb in Crumbs %}
- <span class="Crust">
- <a href="{{ Crumb.Link }}" class="Crumb">
- <div class="CrumbWrap">{{ Crumb.Title }}</div>
+ <span class="crust">
+ <a href="{{ Crumb.Link }}" class="crumb">
+ <div class="crumb_wrap">{{ Crumb.Title }}</div>
</a>
- <span class="Arrow"></span>
+ <span class="arrow"></span>
</span>
{% endfor %}
</nav>
</div>
{% include "pages/" ~ Page.template|default("Home") ~ ".tpl" %}
- <div class="Container">
- <nav class="BreadCrumbs">
+ <div class="container">
+ <nav class="bread_crumbs">
{% for Crumb in Crumbs %}
- <span class="Crust">
- <a href="{{ Crumb.Link }}" class="Crumb">
- <div class="CrumbWrap">{{ Crumb.Title }}</div>
+ <span class="crust">
+ <a href="{{ Crumb.Link }}" class="crumb">
+ <div class="crumb_wrap">{{ Crumb.Title }}</div>
</a>
- <span class="Arrow"></span>
+ <span class="arrow"></span>
</span>
{% endfor %}
</nav>
View
8 templates/case.tpl
@@ -3,10 +3,10 @@
{% include "head.tpl" %}
<body>
- <section class="SiteContainer MinSize">
- {% include "header.tpl" %}
- {% include "body.tpl" %}
- {% include "footer.tpl" %}
+ <section class="site_container min_size">
+{% include "header.tpl" %}
+{% include "body.tpl" %}
+{% include "footer.tpl" %}
</section>
</body>
</html>
View
6 templates/footer.tpl
@@ -1,5 +1,5 @@
- <footer class="MinSize">
- <div class="Size">
+ <footer class="Minsize">
+ <div class="size">
<div class="time">
<div class="date">
<div class="d_date" title="{{ lang=sbb.footer.current_date }}">{{ Time.Date }}</div>
@@ -27,7 +27,7 @@
<div style="clear: both;"></div>
</div>
<div class="Legal">
- <div class="Size">
+ <div class="size">
<a href="http://www.silexboard.org/">
<span class="Copyright">{{ lang=sbb.forumsoftware }}:</span> Silex Bulletin Board {{ Version.Version }} <span class="Copyright">–</span> © 2011 - 2012 SilexBoard.org
</a><br>
View
6 templates/header.tpl
@@ -1,7 +1,7 @@
{% include "userbar.tpl" %}
- <header class="MinSize">
+ <header class="min_size">
<div class="LogoBlock">
- <div class="Logo Size">
+ <div class="Logo size">
<a href="./" title="{{ lang=sbb.header.logo_title }}">
<img src="{{ Dir.Style }}{{ Style.Dir }}/images/logo.png" alt="Logo">
</a>
@@ -15,7 +15,7 @@
</div>
</div>
<nav class="Menu">
- <div class="Size">
+ <div class="size">
<ul class="MenuList">
{% for MenuPoint in Menu %}
{% if MenuPoint.Active %}
View
212 templates/pages/Board.tpl
@@ -1,133 +1,117 @@
<ul class="board">
-{% for Entry in Board %}
-{# Category #}
- {% if Entry.Type == 0 %}
- <li class="category">
- <div class="Container">
- <div class="category_content">
- <a href="{{ Entry.Link }}">
- <div class="title">{{ Entry.Title }}</div>
- {% if Entry.Description %}
- <div class="description">{{ Entry.Description }}</div>
- {% endif %}
- </a>
- </div>
-{# Forum #}
- {% elseif Entry.Type == 1 %}
- <li class="forum">
- <div class="Container">
- <div class="forum_content">
- <div class="board_info">
- <a href="{{ Entry.Link }}">
- <div class="board_inner">
- <div class="title">{{ Entry.Title }}</div>
- {% if Entry.Description %}
- <div class="description">{{ Entry.Description }}</div>
+{% for entry in board %}
+ {% if entry.type in range(0, 2) %}
+ {% if entry.type == 0 %}
+ <li class="category">
+ {% elseif entry.type == 1 %}
+ <li class="forum">
+ {% elseif entry.type == 2 %}
+ <li class="link">
+ {% endif %}
+ <div class="container">
+ <div class="container_head">
+ {% if entry.type == 1 %}
+ <div class="board_top">
+ <div class="board_info">
+ <a href="{{ entry.link }}">
+ <div class="title">{{ entry.title }}</div>
+ {% if entry.description %}
+ <div class="description">{{ entry.description }}</div>
{% endif %}
- <div class="stats">{{ Entry.Stats }}</div>
- </div>
- </a>
+ </a>
+ </div>
+ <div class="board_post">
+ <p>{{ entry.last_post }}</p>
+ <p>{{ entry.last_post_user }}</p>
+ </div>
</div>
- <div class="board_post">
- <p>{{ Entry.LastPost }}</p>
- <p>{{ Entry.LastPostUser }}</p>
+ <div class="board_bottom">
+ <div class="stats">{{ entry.stats }}</div>
</div>
- </div>
-{# Link #}
- {% elseif Entry.Type == 2 %}
- <li class="link">
- <div class="Container">
- <div class="link_content">
- <a href="{{ Entry.Link }}">
- <div class="link_inner">
- <div class="title">{{ Entry.Title }}</div>
- {% if Entry.Description %}
- <div class="description">{{ Entry.Description }}</div>
- {% endif %}
- <div class="stats">{{ Entry.Stats }}</div>
- </div>
+ {% else %}
+ <a href="{{ entry.link }}">
+ <div class="title">{{ entry.title }}</div>
+ {% if entry.description %}
+ <div class="description">{{ entry.description }}</div>
+ {% endif %}
</a>
+ {% endif %}
</div>
- {% endif %}
- {# Sub Board #}
- {% if Entry.SubBoard %}
- <ul class="sub_board">
- {% for SubEntry in Entry.SubBoard %}
- {# Category #}
- {% if SubEntry.Type == 0 %}
- <li class="category">
- <div class="category_content">
- <a href="{{ SubEntry.Link }}">
- <div class="title">{{ SubEntry.Title }}</div>
- {% if SubEntry.Description %}
- <div class="description">{{ SubEntry.Description }}</div>
- {% endif %}
- </a>
- </div>
- </li>
- {# Forum #}
- {% elseif SubEntry.Type == 1 %}
- <li class="forum">
- <div class="forum_content">
- <div class="board_info">
- <a href="{{ SubEntry.Link }}">
- <div class="board_inner">
- <div class="title">{{ SubEntry.Title }}</div>
- {% if SubEntry.Description %}
- <div class="description">{{ SubEntry.Description }}</div>
- {% endif %}
- <div class="stats">{{ SubEntry.Stats }}</div>
+ {% if entry.sub_board %}
+ <div class="container_content">
+ <ul class="sub_board">
+ {% for sub_entry in entry.sub_board %}
+ {% if sub_entry.type in range(0, 2) %}
+ {% if sub_entry.type == 0 %}
+ <li class="category">
+ {% elseif sub_entry.type == 1 %}
+ <li class="forum">
+ {% elseif sub_entry.type == 2 %}
+ <li class="link">
+ {% endif %}
+ <div class="container_head">
+ {% if sub_entry.type == 1 %}
+ <div class="board_top">
+ <div class="board_info">
+ <a href="{{ sub_entry.link }}">
+ <div class="title">{{ sub_entry.title }}</div>
+ {% if sub_entry.description %}
+ <div class="description">{{ sub_entry.description }}</div>
+ {% endif %}
+ </a>
</div>
- </a>
- </div>
- <div class="board_post">
- <p>{{ SubEntry.LastPost }}</p>
- <p>{{ SubEntry.LastPostUser }}</p>
- </div>
- </div>
- </li>
- {# Link #}
- {% elseif SubEntry.Type == 2 %}
- <li class="link">
- <div class="link_content">
- <a href="{{ SubEntry.Link }}">
- <div class="link_inner">
- <div class="title">{{ SubEntry.Title }}</div>
- {% if SubEntry.Description %}
- <div class="description">{{ SubEntry.Description }}</div>
+ <div class="board_post">
+ <p>{{ sub_entry.last_post }}</p>
+ <p>{{ sub_entry.last_post_user }}</p>
+ </div>
+ </div>
+ <div class="board_bottom">
+ <div class="stats">{{ sub_entry.stats }}</div>
+ {% if sub_entry.sub_board %}
+ <ul class="sub_sub_board">
+ {% for sub_sub_entry in sub_entry.sub_board %}
+ <li><a href="{{ sub_sub_entry.link }}">{{ sub_sub_entry.title }}</a></li>
+ {% endfor %}
+ </ul>
{% endif %}
- <div class="stats">{{ SubEntry.Stats }}</div>
</div>
- </a>
- </div>
- </li>
- {% endif %}
- {% endfor %}
- </ul>
+ {% else %}
+ <a href="{{ sub_entry.link }}">
+ <div class="title">{{ sub_entry.title }}</div>
+ {% if sub_entry.description %}
+ <div class="description">{{ sub_entry.description }}</div>
+ {% endif %}
+ </a>
+ {% endif %}
+ </div>
+ </li>
+ {% endif %}
+ {% endfor %}
+ </ul>
+ </div>
{% endif %}
- {# End Sub Board #}
-{# End #}
- {% if Entry.Type in range(0, 2) %}
</div>
</li>
{% endif %}
{% endfor %}
</ul>
-{% if CurrentBoard.ID > 0 and CurrentBoard.Type != 0 %}
-<div class="Container">
+{% if current_board.ID > 0 and current_board.type != 0 %}
+<div class="container">
<div class="container_head">
- Themen
+ <div class="title">Themen</div>
+ </div>
+ <div class="container_content">
+ <ul>
+ {% for thread in threads %}
+ <li>
+ <a href="{{ thread.link }}">{{ thread.topic }}</a>
+ </li>
+ {% else %}
+ <li>
+ {{ lang=sbb.board.no_threads }} [sbb.board.no_threads]
+ </li>
+ {% endfor %}
+ </ul>
</div>
- <ul>
- {% for Thread in Threads %}
- <li>
- <a href="{{ Thread.Link }}">{{ Thread.Topic }}</a>
- </li>
- {% else %}
- <li>
- {{ lang=sbb.board.no_threads }} [sbb.board.no_threads]
- </li>
- {% endfor %}
- </ul>
</div>
{% endif %}
View
229 templates/pages/Design.tpl
@@ -0,0 +1,229 @@
+{# Default #}
+<div class="container">
+ <div class="container_head">
+ <div class="title">Überschrift der Kopfleiste</div>
+ </div>
+ <div class="container_content">
+ </div>
+ <div class="container_footer">
+ </div>
+</div>
+
+{# Default with description #}
+<div class="container">
+ <div class="container_head">
+ <div class="title">Überschrift der Kopfleiste</div>
+ <div class="description">Beschreibung des Inhalts</div>
+ </div>
+ <div class="container_content">
+ </div>
+ <div class="container_footer">
+ </div>
+</div>
+
+{# Menu #}
+<div class="container">
+ <div class="container_head">
+ <div class="title">Überschrift der Kopfleiste mit Menü</div>
+ <menu>
+ <li>
+ <div class="menu_title">Menüeintrag 1</div>
+ </li>
+ <li>
+ <div class="menu_title">Menüeintrag 2</div>
+ </li>
+ <li>
+ <div class="menu_title">Menüeintrag 3</div>
+ </li>
+ </menu>
+ </div>
+ <div class="container_content">
+ </div>
+ <div class="container_footer">
+ </div>
+</div>
+
+{# Iconmenu #}
+<div class="container">
+ <div class="container_head">
+ <div class="title">Überschrift der Kopfleiste mit Symbolmenü</div>
+ <menu class="icon_menu">
+ <li>
+ <div class="menu_icon"></div>
+ <div class="menu_title">Menüeintrag 1</div>
+ </li>
+ <li>
+ <div class="menu_icon"></div>
+ <div class="menu_title">Menüeintrag 2</div>
+ </li>
+ <li>
+ <div class="menu_icon"></div>
+ <div class="menu_title">Menüeintrag 3</div>
+ </li>
+ </menu>
+ </div>
+ <div class="container_content">
+ </div>
+ <div class="container_footer">
+ </div>
+</div>
+
+{# Step-Progress-Bar #}
+<div class="container">
+ <div class="container_head">
+ <div class="title">Überschrift der Kopfleiste mit "Schrittfortschritt"</div>
+ <div class="step_bar">
+ <style type="text/css">
+ .step_bar .progress { width: 33.3333333333%; } /* Current Progress */
+ .step_bar .step_bullet_wrap { margin-right: 33.3333333333%; } /* 100 / num of steps - 1 (100 / 4-1 = 33.333...)*/
+ </style>
+ <div class="progress"></div>
+ <div class="step_bullet_wrap done">
+ <div class="step_bullet">1</div>
+ </div>
+ <div class="step_bullet_wrap current">
+ <div class="step_bullet">2</div>
+ </div>
+ <div class="step_bullet_wrap">
+ <div class="step_bullet">3</div>
+ </div>
+ <div class="step_bullet_wrap">
+ <div class="step_bullet">4</div>
+ </div>
+ </div>
+ </div>
+ <div class="container_content">
+ </div>
+ <div class="container_footer">
+ </div>
+</div>
+
+<div class="container">
+ Forenliste:
+</div>
+
+{# Forum List #}
+<ul class="board">
+ <li class="category">
+ <div class="container">
+ <div class="container_head">
+ <a href="javascript:false;">
+ <div class="title">Kategorietitel</div>
+ <div class="description">Beschreibung der Kategorie</div>
+ </a>
+ </div>
+ <div class="container_content">
+ {# Subforum #}
+ <ul class="sub_board">
+ <li class="forum">
+ <div class="container_head">
+ <div class="board_top">
+ <div class="board_info">
+ <a href="javascript:false;">
+ <div class="title">Forentitel</div>
+ <div class="description">Beschreibung des Forums der Kategorie</div>
+ </a>
+ </div>
+ <div class="board_post">
+ <p>20.05.2012 - 20:40</p>
+ <p>Noxi Foxi</p>
+ </div>
+ </div>
+ <div class="board_bottom">
+ <div class="stats">Threads: 5, Posts: 6, Views: 23</div>
+ </div>
+ </div>
+ </li>
+ {# Subforum with subsubforum #}
+ <li class="forum">
+ <div class="container_head">
+ <div class="board_top">
+ <div class="board_info">
+ <a href="javascript:false;">
+ <div class="title">Awesome Forentitel</div>
+ <div class="description">Beschreibung des Awesome Forums der Kategorie</div>
+ </a>
+ </div>
+ <div class="board_post">
+ <p>20.05.2012 - 21:42</p>
+ <p>onkelz</p>
+ </div>
+ </div>
+ <div class="board_bottom">
+ <div class="stats">Threads: 8, Posts: 42, Views: 593</div>
+ <ul class="sub_sub_board">
+ <li><a href="javascript:false;">Unter-Unter-Forum 1</a></li>
+ <li><a href="javascript:false;">Unter-Unter-Forum 2</a></li>
+ <li><a href="javascript:false;">Unter-Unter-Forum 3</a></li>
+ </ul>
+ </div>
+ </div>
+ </li>
+ {# Link #}
+ <li class="link">
+ <div class="container_head">
+ <div class="board_top">
+ <a href="javascript:false;">
+ <div class="title">Linktitel</div>
+ <div class="description">Beschreibung des Links der Kategorie</div>
+ </a>
+ </div>
+ </div>
+ </li>
+ {# Category #}
+ <li>
+ <div class="container_head">
+ <div class="board_top">
+ <a href="javascript:false;">
+ <div class="title">Subkategorietitel</div>
+ <div class="description">Beschreibung der Subkategorie der Kategorie</div>
+ </a>
+ </div>
+ </div>
+ </li>
+ </ul>
+ </div>
+ </div>
+ </li>
+ <li class="forum">
+ <div class="container">
+ <div class="container_head">
+ <div class="board_top">
+ <div class="board_info">
+ <a href="javascript:false;">
+ <div class="title">Forumtitel</div>
+ <div class="description">Beschreibung des Forums</div>
+ </a>
+ </div>
+ <div class="board_post">
+ <p>20.05.2012 - 20:40</p>
+ <p>Noxi Foxi</p>
+ </div>
+ </div>
+ <div class="board_bottom">
+ <div class="stats">Threads: 5, Posts: 6, Views: 23</div>
+ </div>
+ </div>
+ </div>
+ </li>
+ <li class="category">
+ <div class="container">
+ <div class="container_head">
+ <a href="javascript:false;">
+ <div class="title">Kategorietitel</div>
+ <div class="description">Beschreibung der Kategorie</div>
+ </a>
+ </div>
+ </div>
+ </li>
+ <li class="link">
+ <div class="container">
+ <div class="container_head">
+ <a href="javascript:false;">
+ <div class="title">Linktitel</div>
+ <div class="description">Beschreibung des Links</div>
+ </a>
+ </div>
+ </div>
+ </li>
+</ul>
View
2 templates/pages/Home.tpl
@@ -1,3 +1,3 @@
-<div class="Container">
+<div class="container">
Hallo {{ Username }}
</div>
View
2 templates/pages/Login.tpl
@@ -1,4 +1,4 @@
- <div class="Container">
+ <div class="container">
<form method="post">
<table>
<tr>
View
2 templates/pages/Register.tpl
@@ -1,4 +1,4 @@
-<div class="Container">
+<div class="container">
<div class="progressbar_trim">
<div class="progressbar" title="Fortschritt">
<div class="progress" style="width: {{ Register.Progress }}%;">
View
2 templates/pages/Thread.tpl
@@ -1,4 +1,4 @@
-<div class="Container">
+<div class="container">
{% if Posts %}
<ul>
{% for Post in Posts %}
View
28 templates/pages/User.tpl
@@ -1,28 +1,28 @@
<div class="user_avatar">
<img src="{{ Dir.Style }}{{ Style.Dir }}/icons/g_256_user.png" class="avatar">
</div>
-<div class="Container user">
+<div class="container user">
<div class="container_head">
- <div class="title">{{ lang=sbb.user.profile_of }} "{{ Profile.Username }}"</div>
+ <div class="title">{{ lang=sbb.user.profile_of }} "{{ profile.username }}"</div>
</div>
- <div class="content">
+ <div class="container_content">
<div class="info">
- <span class="group" title="{{ lang=sbb.user.profile.group }}">{{ Profile.Group }}</span>
+ <span class="group" title="{{ lang=sbb.user.profile.group }}">{{ profile.group }}</span>
<span class="gender male" title="{{ lang=sbb.user.profile.gender }}">{{ lang=sbb.user.gender.male }}</span>
- <span class="joined" title="{{ lang=sbb.user.profile.joined }}">{{ Profile.Joined }}</span>
- <span class="activity" title="{{ lang=sbb.user.profile.activity }}">{{ Profile.Activity }}</span>
- <span class="language" title="{{ lang=sbb.user.profile.language }}">{{ Profile.Language }}</span>
- <span class="birthday" title="{{ lang=sbb.user.profile.birthday }}">{{ Profile.Birthday }}</span>
- <span class="age" title="{{ lang=sbb.user.profile.age }}">{{ Profile.Age }}</span>
+ <span class="joined" title="{{ lang=sbb.user.profile.joined }}">{{ profile.joined }}</span>
+ <span class="activity" title="{{ lang=sbb.user.profile.activity }}">{{ profile.activity }}</span>
+ <span class="language" title="{{ lang=sbb.user.profile.language }}">{{ profile.language }}</span>
+ <span class="birthday" title="{{ lang=sbb.user.profile.birthday }}">{{ profile.birthday }}</span>
+ <span class="age" title="{{ lang=sbb.user.profile.age }}">{{ profile.age }}</span>
</div>
</div>
- <div class="content">
+ <div class="container_content">
<div class="signature" title="{{ lang=sbb.user.profile.signature }}">
- {{ Profile.Signature }}
+ {{ profile.signature }}
</div>
</div>
+ [More informations]
</div>
-<div style="clear: both;"></div>
-<div class="Container">
- More Infos
+<div class="container">
+ [Even more informations]
</div>
View
34 templates/pages/UserList.tpl