slitaz-forge rev 2

move vanilla-config & themes in vanilla directory
author Eric Joseph-Alexandre <erjo@slitaz.org>
date Wed Dec 22 10:41:18 2010 +0100 (2010-12-22)
parents 8c8667451eab
children d2175a9978ee
files forum/themes/slitaz-2/README.txt forum/themes/slitaz-2/about.php forum/themes/slitaz-2/design/favicon.ico forum/themes/slitaz-2/design/favicon.png forum/themes/slitaz-2/design/style.css forum/themes/slitaz-2/images/header.png forum/themes/slitaz-2/images/logo.png forum/themes/slitaz-2/images/overlayBg.png forum/themes/slitaz-2/screenshot.png forum/themes/slitaz-2/views/default.master.php forum/themes/slitaz-2/views/discussion/comments.php forum/themes/slitaz-2/views/discussion/helper_functions.php forum/themes/slitaz-2/views/discussions/helper_functions.php forum/themes/slitaz/README.txt forum/themes/slitaz/about.php forum/themes/slitaz/design/favicon.ico forum/themes/slitaz/design/favicon.png forum/themes/slitaz/design/style.css forum/themes/slitaz/images/header.png forum/themes/slitaz/images/logo.png forum/themes/slitaz/images/overlayBg.png forum/themes/slitaz/screenshot.png forum/themes/slitaz/views/default.master.php forum/themes/slitaz/views/discussion/comments.php forum/themes/slitaz/views/discussion/helper_functions.php forum/themes/slitaz/views/discussions/helper_functions.php forum/vanilla-config/config.php forum/vanilla/conf/config.php forum/vanilla/themes/slitaz-2/README.txt forum/vanilla/themes/slitaz-2/about.php forum/vanilla/themes/slitaz-2/design/favicon.ico forum/vanilla/themes/slitaz-2/design/favicon.png forum/vanilla/themes/slitaz-2/design/style.css forum/vanilla/themes/slitaz-2/images/header.png forum/vanilla/themes/slitaz-2/images/logo.png forum/vanilla/themes/slitaz-2/images/overlayBg.png forum/vanilla/themes/slitaz-2/screenshot.png forum/vanilla/themes/slitaz-2/views/default.master.php forum/vanilla/themes/slitaz-2/views/discussion/comments.php forum/vanilla/themes/slitaz-2/views/discussion/helper_functions.php forum/vanilla/themes/slitaz-2/views/discussions/helper_functions.php forum/vanilla/themes/slitaz/README.txt forum/vanilla/themes/slitaz/about.php forum/vanilla/themes/slitaz/design/favicon.ico forum/vanilla/themes/slitaz/design/favicon.png forum/vanilla/themes/slitaz/design/style.css forum/vanilla/themes/slitaz/images/header.png forum/vanilla/themes/slitaz/images/logo.png forum/vanilla/themes/slitaz/images/overlayBg.png forum/vanilla/themes/slitaz/screenshot.png forum/vanilla/themes/slitaz/views/default.master.php forum/vanilla/themes/slitaz/views/discussion/comments.php forum/vanilla/themes/slitaz/views/discussion/helper_functions.php forum/vanilla/themes/slitaz/views/discussions/helper_functions.php
line diff
     1.1 --- a/forum/themes/slitaz-2/README.txt	Wed Dec 22 10:36:12 2010 +0100
     1.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.3 @@ -1,45 +0,0 @@
     1.4 -How to create a theme:
     1.5 -
     1.6 -Part 1: CSS / Design
     1.7 -================================================================================
     1.8 -1. Copy this "default" theme folder and rename it to your new theme name.
     1.9 -2. Open the "about.php" file and edit the information to reflect your theme. Be
    1.10 -   sure to change the array key like this: $ThemeInfo['YourThemeNameHere'].
    1.11 -3. Create a "design" subfolder and copy /applications/dashboard/design/style.css 
    1.12 -   and /applications/vanilla/design/vanilla.css into it.
    1.13 -4. Any background images you want to continue using (like the star png images
    1.14 -   for bookmarking) should be copied along with their respective stylesheets.
    1.15 -5. Go to your Dashboard, Themes, and apply your new theme.
    1.16 -6. Edit the copied CSS files to look however you wish!
    1.17 -
    1.18 -Other things you should know:
    1.19 -
    1.20 - + All non-forum pages should be edited in the global "style.css" file.
    1.21 -
    1.22 - + If you want to edit the look & feel of the administrative screens, also 
    1.23 -   copy /applications/dashboard/design/admin.css in step 3. Similarly, you can 
    1.24 -   copy other CSS files like /applications/vanilla/design/vanillaprofile.css to
    1.25 -   customize those pages as well.
    1.26 -
    1.27 -
    1.28 -Part 2: HTML / Views
    1.29 -================================================================================
    1.30 -If you want to customize the HTML, you can edit that too. 
    1.31 -Our pages are made up of two parts:
    1.32 -
    1.33 - 1. Master Views - these represent everything that wraps the main content of the
    1.34 -   page. If all you want to do is add a menu or banner above Vanilla, this is
    1.35 -   all you need to alter. To do so, copy the default master view from
    1.36 -   /applications/dashboard/views/default.master.php to
    1.37 -   /themes/yourtheme/views/default.master.php and edit it there.
    1.38 -   
    1.39 - 2. Views - these represent all of the content in each page. Every application
    1.40 -   has a "views" folder that contains all of the HTML for every page. So, for
    1.41 -   example, if you wanted to edit the HTML for the Discussions list, you could
    1.42 -   copy the views from /applications/vanilla/views/discussions to
    1.43 -   /themes/yourtheme/views/discussions and edit them there.
    1.44 -
    1.45 -You can avoid naming conflicts between applications' views and specify which 
    1.46 -app a view is for by optionally adding a subfolder with the app's name in 
    1.47 -/themes/yourtheme/views/ (e.g.: /themes/yourtheme/views/appname/) and placing 
    1.48 -views there rather than directly in the "views" folder.
    1.49 \ No newline at end of file
     2.1 --- a/forum/themes/slitaz-2/about.php	Wed Dec 22 10:36:12 2010 +0100
     2.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     2.3 @@ -1,21 +0,0 @@
     2.4 -<?php if (!defined('APPLICATION')) exit();
     2.5 -/*
     2.6 -Copyright 2008, 2009 Vanilla Forums Inc.
     2.7 -This file is part of Garden.
     2.8 -Garden is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
     2.9 -Garden is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
    2.10 -You should have received a copy of the GNU General Public License along with Garden.  If not, see <http://www.gnu.org/licenses/>.
    2.11 -Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com
    2.12 -*/
    2.13 -
    2.14 -/**
    2.15 - * An associative array of information about this application.
    2.16 - */
    2.17 -$ThemeInfo['SliTaz-2'] = array(
    2.18 -   'Name' => 'SliTaz-2',
    2.19 -   'Description' => "SliTaz Vanilla 2 official theme",
    2.20 -   'Version' => '2.0',
    2.21 -   'Author' => "Christophe Lincoln",
    2.22 -   'AuthorEmail' => 'pankso@slitaz.org',
    2.23 -   'AuthorUrl' => 'http://www.slitaz.org'
    2.24 -);
     3.1 Binary file forum/themes/slitaz-2/design/favicon.ico has changed
     4.1 Binary file forum/themes/slitaz-2/design/favicon.png has changed
     5.1 --- a/forum/themes/slitaz-2/design/style.css	Wed Dec 22 10:36:12 2010 +0100
     5.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
     5.3 @@ -1,422 +0,0 @@
     5.4 -@charset "utf-8";
     5.5 -/* CSS Document */
     5.6 -
     5.7 -/***--- MAIN / DEFAULT --***/
     5.8 -html, body	{ height: 102%; margin: 0; }
     5.9 -html, body, input, select, textarea, button {
    5.10 -	font-family: Verdana, Geneva, sans-serif;
    5.11 -	font-size: 11px;
    5.12 -	line-height: 17px;
    5.13 -	color: #555;
    5.14 -}
    5.15 -a			{ color: #2f6c8e; text-decoration: none; }
    5.16 -a:hover		{ color: #69a1c1; }
    5.17 -a img		{ border: none; }
    5.18 -ul, ol		{ margin: 0; padding: 0; list-style: none; }
    5.19 -
    5.20 -.clear {
    5.21 -    clear: both;
    5.22 -    display: block;
    5.23 -    height: 0;
    5.24 -    overflow: hidden;
    5.25 -    visibility: hidden;
    5.26 -    width: 0;
    5.27 -}
    5.28 -
    5.29 -#Wrapper	{ min-height: 100%; position: relative; margin: 0 auto; }
    5.30 -.Hidden		{ display: none; }
    5.31 -
    5.32 -/***--- HEADER(S) --***/
    5.33 -
    5.34 -
    5.35 -#Header h1	{ padding: 15px; font-size: 2em; }
    5.36 -#Header a	{ color: #69a1c1; }
    5.37 -#Header a:hover	{ color: #FFF; }
    5.38 -
    5.39 -#Header{
    5.40 -	background: #f0ba08 url(../images/header.png) repeat-x top;
    5.41 -	color: black;
    5.42 -	width: 100%;
    5.43 -	height: 50px;
    5.44 -	border-top: 1px solid black;
    5.45 -	border-bottom: 1px solid black;
    5.46 -	margin-bottom: 30px;
    5.47 -	position: absolute;
    5.48 -	top: 0;
    5.49 -}
    5.50 -
    5.51 -#titre {
    5.52 -	position: absolute;
    5.53 -	font-size: 16px;
    5.54 -	font-weight: bolder ;
    5.55 -	margin-left: 200px;
    5.56 -	margin-top: 28px;
    5.57 -}
    5.58 -
    5.59 -#logo {
    5.60 -	position: absolute;
    5.61 -	float: left;
    5.62 -	margin-left: 16px;
    5.63 -	margin-top: 0px;
    5.64 -}
    5.65 -
    5.66 -/***--- NAV --***/
    5.67 -#Nav { 
    5.68 -	right: 0;
    5.69 -	position: absolute;
    5.70 -	top: 3px;
    5.71 -	font-size: 10px;
    5.72 -	font-weight: bold; }
    5.73 -
    5.74 -/* search */
    5.75 -#Search { 
    5.76 -	-moz-border-radius: 4px;
    5.77 -	-webkit-border-radius: 4px; 
    5.78 -	height: 20px; 
    5.79 -	float: right; 
    5.80 -	background: #FFF; 
    5.81 -	padding: 2px 2px; 
    5.82 -	margin: 11px 95px 0 0; }
    5.83 -#Search form	{ padding: 0; border: none; }
    5.84 -#Nav #Search input.InputBox	{ width: 150px; border: none; }
    5.85 -#Search input.Button {
    5.86 -	-moz-border-radius: 4px;
    5.87 -	-webkit-border-radius: 4px;
    5.88 -	height: 17px;
    5.89 -	margin: 0;
    5.90 -	padding: 0; }
    5.91 -
    5.92 -/***--- MAIN --***/
    5.93 -/*#Main	{ }*/
    5.94 -
    5.95 -/* If you prefer the panel on the left and content on the right, simply switch the "float" property for #Content & #Panel and set the "margin-left" to "margin-right" for the #Content */
    5.96 -#Content		{ 
    5.97 -	margin: 0px 320px 0px 0px;
    5.98 -	padding: 86px 40px 65px 80px;
    5.99 -	}
   5.100 -#Panel			{
   5.101 -	position: absolute;
   5.102 -	top: 76px;
   5.103 -	right: 80px;
   5.104 -	color: #555555;
   5.105 -	float: right;
   5.106 -	width: 250px;
   5.107 -	line-height: 1.5em;
   5.108 -	text-align: left;
   5.109 -	font-size: 12px;
   5.110 -	 }
   5.111 -.Box, #UserOptions {
   5.112 -	-moz-border-radius: 8px;
   5.113 -	-webkit-border-radius: 8px;
   5.114 -	list-style-type: none;
   5.115 -	margin: 10px 0;
   5.116 -	padding: 10px 24px 10px 24px;
   5.117 -	background-color: #eaeaea;}
   5.118 -#Panel .Box ul {
   5.119 -	list-style-type: none;
   5.120 -	margin: 0;
   5.121 -	padding: 10px 24px 10px 0px;
   5.122 -	font-weight: bold;
   5.123 -}
   5.124 -
   5.125 -/***--- CONTENT --***/
   5.126 -.GuestBox	{ background: #eaeaea; }
   5.127 -.GuestBox p	{ padding: 0; }
   5.128 -.Message img	{ max-width: 100%; }
   5.129 -
   5.130 -/* headers */
   5.131 -h1				{ margin: 0; font-size: 1.5em; }
   5.132 -#Content h1, h2, #Popup h1, div.DiscussionTabs .SubTab {
   5.133 -	-moz-border-radius: 8px;
   5.134 -	-webkit-border-radius: 8px;
   5.135 -	font-size: 1.1em; background: #555555; color: #fff; margin: 0 0 10px; padding: 10px; font-weight: bold;
   5.136 -}
   5.137 -div.DiscussionTabs .SubTab	{ margin: 0; }
   5.138 -
   5.139 -#Panel h4, #Panel .GuestBox h4 {
   5.140 -	font-size: 110%;
   5.141 -	color: #666666;
   5.142 -	font-weight: bold;
   5.143 -	padding: 0 0 1px 0;
   5.144 -	margin: 0;
   5.145 -	border-bottom: 1px solid #cecece; }
   5.146 -
   5.147 -div.Empty, div#Status	{ padding: 10px; }
   5.148 -
   5.149 -/* tabs */
   5.150 -.Tabs li, .SubTab	{
   5.151 -	-moz-border-radius: 8px;
   5.152 -	-webkit-border-radius: 8px;
   5.153 -	background: #CECECE;
   5.154 -	padding: 5px 8px;
   5.155 -	font-size: 140%;
   5.156 -	font-weight: bold;
   5.157 -	border-bottom: 1px solid #fff; }
   5.158 -.Tabs li.Active		{ background: #555; border-bottom: none; }
   5.159 -.Tabs li.Active a	{ color: #fff; }
   5.160 -.Tabs span			{ display: inline-block; margin: 0 10px; color: #888; }
   5.161 -.SubTab				{ font-size: 1em; }
   5.162 -
   5.163 -/* DISCUSSIONS */
   5.164 -.DataList li.Item, .Conversation li.Item {
   5.165 -	border-bottom: 1px solid #ccc;
   5.166 -	position: relative;
   5.167 -	padding: 10px;
   5.168 -	-moz-border-radius: 8px;
   5.169 -	-webkit-border-radius: 8px;
   5.170 -}
   5.171 -.Activities li.Item	{ min-height: 50px; }
   5.172 -.DataList li.Item a.Title	{ display: block; font-size: 1.15em; font-weight: bold; padding: 0 0 8px; }
   5.173 -
   5.174 -/* discussions meta */
   5.175 -.DataList .Meta span, .DataList .Meta strong {
   5.176 -	min-width: 100px; display: inline-block; margin: 0 5px 0 0;
   5.177 -}
   5.178 -.DataList .Meta .LastCommentBy		{ width: 175px; }
   5.179 -.DataList .Meta .LastCommentDate	{ width: 100px; }
   5.180 -
   5.181 -/* discussions highlight */
   5.182 -.DataList li.Mine			{ background: #f1f1f1; border-bottom-color: #fff; }
   5.183 -.DataList li.New			{ background: #d8ecbc; }
   5.184 -.DataList li.Bookmarked		{ background: #ffdf5d; border-bottom-color: #fff; }
   5.185 -
   5.186 -.DataList li.Closed		{ background: #eee; }
   5.187 -.DataList .Meta .Closed			{ color: #333; }
   5.188 -.DataList li.Closed a.Title	{ text-decoration: line-through; }
   5.189 -
   5.190 -.DataList li.Announcement	{ background: #FFC; }
   5.191 -.DataList .Meta .Announcement, .DataList .Meta .Closed {
   5.192 -	width: 100px; font-weight: bold;
   5.193 -}
   5.194 -.DataList .Meta .Announcement	{ color: #C60; }
   5.195 -
   5.196 -/* DISCUSSION */
   5.197 -div.DiscussionTabs li		{ font-size: 1em; }
   5.198 -ul.Discussion				{ margin: 0 0 10px; }
   5.199 -
   5.200 -/* bookmark */
   5.201 -a.Bookmark					{ width: 9px; height: 9px; position: absolute; top: 8px; right: 10px; font-size: 0; background: #fff; border: 1px dotted #ffcc00; }
   5.202 -.Discussion a.Bookmark		{ top: 41px; }
   5.203 -a.Bookmarked 				{ background: #ffcc00; border: 1px solid #fff; }
   5.204 -div.Options a.Bookmark		{ top: 14px; }
   5.205 -
   5.206 -div.Comment {
   5.207 -	position: relative; 
   5.208 -	border-bottom: 1px dotted #ccc;
   5.209 -	padding: 10px; }
   5.210 -li.Even			{ background: #f8f8f8; }
   5.211 -
   5.212 -/* discussion meta */
   5.213 -.Comment .Message, .Comment .MessageForm, .ConversationMessage .Message {
   5.214 -	margin-left: 215px; line-height: 1.75em;
   5.215 -}
   5.216 -.Comment .Meta, .ConversationMessage .Meta {
   5.217 -	width: 175px; float: left; padding: 10px; background: #FFC;
   5.218 -	-moz-border-radius: 8px;
   5.219 -	-webkit-border-radius: 8px;
   5.220 -}
   5.221 -.Comment .Meta span, .ConversationMessage .Meta span, div.Meta div.PostCount {
   5.222 -	display: block; border-bottom: 1px dotted #ccc; font-size: 0.85em; padding: 1px 0; 
   5.223 -}
   5.224 -.Comment .Author, .ConversationMessage span.Author {
   5.225 -	background: #fff; padding: 5px; border-bottom: none;
   5.226 -}
   5.227 -.Comment .Author img, .ConversationMessage .Author a.Photo {
   5.228 -	float: left; margin: 0 10px 0 0;
   5.229 -}
   5.230 -.Comment .Author a, .ConversationMessage .Author a {
   5.231 -	font-weight: bold; font-size: 1.1em;
   5.232 -}
   5.233 -blockquote	{ margin: 0; padding: 10px; background: #fff; border: 1px dotted #ccc; }
   5.234 -.Odd blockquote	{ background: #F8F8F8; }
   5.235 -
   5.236 -/* post */
   5.237 -ul.PostOptions	{ margin: 0 0 10px; }
   5.238 -.Preview			{ padding: 10px; margin: 0 0 10px; border-bottom: 1px dotted #ccc; }
   5.239 -
   5.240 -/*- Conversations & Activities -*/
   5.241 -ul.Activities .Title	{ margin: 0 0 0 60px; font-weight: bold; }
   5.242 -ul.Conversations .Photo, ul.Activities .Photo {
   5.243 -	width: 50px; height: 50px; float: left; font-size: 0.9em; color: #ccc; overflow: hidden; background: #eee;
   5.244 -}
   5.245 -ul.Conversations .Excerpt, ul.Activities .Excerpt {
   5.246 -	margin: 0 0 10px 60px;
   5.247 -}
   5.248 -ul.Conversations .Meta, ul.Activities .Meta, .SearchResults .Meta {
   5.249 -	margin: 0 0 0 60px;background: #FFC; padding: 3px 5px; 
   5.250 -}
   5.251 -.SearchResults .Meta	{ margin: 5px 0 0; }
   5.252 -ul.ActivityComments		{ margin: 0 0 0 60px; }
   5.253 -
   5.254 -.ConversationMessage .Message		{ min-height: 100px; }
   5.255 -.ConversationMessage span.Author	{ height: 50px; }
   5.256 -.ConversationMessage span.ItemLink		{ display: none; }
   5.257 -
   5.258 -/***--- PANEL --***/
   5.259 -.Block		{ padding: 15px; background: #ddd; margin: 0 10px 0 0; }
   5.260 -.Post #Panel, .Search #Panel {
   5.261 -	display: none;
   5.262 -}
   5.263 -
   5.264 -.PanelInfo li			{ padding: 0px 0px; }
   5.265 -.PanelInfo li strong	{ font-weight: normal; }
   5.266 -.PanelInfo li.Active a	{ color: #c60; }
   5.267 -.PanelInfo li.Parent	{ background: #ccc; padding: 2px 5px; font-size: 1.1em; font-weight: bold; }
   5.268 -
   5.269 -.PanelInfo a, .Box a {
   5.270 -	color: #0F314E;
   5.271 -	background: inherit;
   5.272 -	display: block;
   5.273 -	text-decoration: none;
   5.274 -	font-weight: bold;
   5.275 -}
   5.276 -
   5.277 -.PanelInfo a:hover, .Box a:hover {
   5.278 -	color: #c60;
   5.279 -	text-decoration: none;
   5.280 -	display: block;
   5.281 -}
   5.282 -/* account */
   5.283 -
   5.284 -#Panel .Photo		{ background: #ddd; position: absolute; right: 10px; padding: 0 0 10px 10px; }
   5.285 -#Panel .Photo img	{ width: 50px; display: block; border: 5px solid #fff; border-bottom-width: 12px; }
   5.286 -#Panel .Photo img:hover	{ width: auto; }
   5.287 -
   5.288 -#Panel dl					{ padding: 10px; background: #fff; margin: 0; }
   5.289 -#Panel dt					{ font-weight: bold; padding: 2px 0 0; }
   5.290 -#Panel dd					{ margin: 0; border-bottom: 1px dotted #ccc; padding: 0 0 2px; }
   5.291 -
   5.292 -/* inbox */
   5.293 -.PanelInfo li strong		{ display: inline-block; margin: 0 5px 0 0; }
   5.294 -
   5.295 -/*- Form elements -*/
   5.296 -form		{ padding: 0 10px 10px; border-bottom: 1px dotted #ccc; }
   5.297 -fieldset	{ margin: 0; padding: 0; border: none; }
   5.298 -
   5.299 -form#Form_User_Register	{ margin-top: 10px; }
   5.300 -
   5.301 -input, textarea, select {
   5.302 -	border: 1px solid #ccc; padding: 3px 5px; margin: 0;
   5.303 -}
   5.304 -input.InputBox		{ width: 325px; margin: 0 10px 5px 0; }
   5.305 -
   5.306 -input.Button, input.Cancel {
   5.307 -	-moz-border-radius: 4px;
   5.308 -	-webkit-border-radius: 4px;
   5.309 -	cursor: pointer; border: none; background: #c60; color: #fff; padding: 4px;
   5.310 -}
   5.311 -input.Button:hover, input.Cancel:hover {
   5.312 -	background: #555555; color: white;
   5.313 -}
   5.314 -
   5.315 -a.Back, a.Cancel {
   5.316 -	margin: 0 5px 0 0;
   5.317 -}
   5.318 -
   5.319 -textarea			{ width: 95%; min-height: 100px; display: block; margin: 10px 0; }
   5.320 -
   5.321 -label	{ display: block; font-weight: bold; }
   5.322 -label.RadioLabel, label.CheckBoxLabel {
   5.323 -	font-weight: normal;
   5.324 -}
   5.325 -label.RadioLabel input, label.CheckBoxLabel input {
   5.326 -	border: none;
   5.327 -}
   5.328 -
   5.329 -li.Gender, li.CaptchaInput {
   5.330 -	margin: 0 0 10px;
   5.331 -}
   5.332 -li.CreateAccount, li.Buttons {
   5.333 -	margin: 5px 0 0;
   5.334 -}
   5.335 -.cleditorMain	{ margin: 10px 0; }
   5.336 -
   5.337 -.CommentForm div.Messages { margin: 8px 0 0; }
   5.338 -.Errors, .Warning	{
   5.339 -	color: #F00;
   5.340 -}
   5.341 -
   5.342 -/***--- BUTTONS ---***/
   5.343 -.GuestBox a.Button	{
   5.344 -	-moz-border-radius: 4px;
   5.345 -	-webkit-border-radius: 4px;
   5.346 -	font-size: 11px;
   5.347 -	padding: 4px;
   5.348 -	margin: 0 0 10px;
   5.349 -	background: #c60; 
   5.350 -	color: #FFF; }
   5.351 -.GuestBox .Button:hover	{
   5.352 -	background: #555555; }
   5.353 -	
   5.354 -a.BigButton	{
   5.355 -	-moz-border-radius: 8px;
   5.356 -	-webkit-border-radius: 8px;
   5.357 -	display: block; 
   5.358 -	background: #c60; 
   5.359 -	color: #FFF; 
   5.360 -	padding: 10px; 
   5.361 -	font-size: 1.1em; 
   5.362 -	font-weight: bold;
   5.363 -	text-align: center}
   5.364 -a.BigButton:hover	{ background: #555555; }
   5.365 -a.ClearConversation	{ margin: 10px 0 0; }
   5.366 -
   5.367 -/* options */
   5.368 -div.Options, div.OptionButton {
   5.369 -	position: absolute; top: 12px; right: 10px;
   5.370 -}
   5.371 -div.OptionButton	{ font-weight: bold; color: #555; }
   5.372 -ul.Options strong	{
   5.373 -	-moz-border-radius: 4px;
   5.374 -	-webkit-border-radius: 4px;
   5.375 -	cursor: pointer; 
   5.376 -	display: block; 
   5.377 -	padding: 5px 10px;
   5.378 -	background: #FFC;
   5.379 -	border: 1px solid #ccc; }
   5.380 -
   5.381 -ul.Options				{ margin: 5px 40px 0 0; }
   5.382 -ul.Options li			{ position: relative; }
   5.383 -ul.Options ul			{ min-width: 125px; display: none; position: absolute; z-index: 1000; background: #FFC; right: 0; border: 1px dotted #ccc; margin-top: -1px; }
   5.384 -ul.Options li:hover ul 	{ display: block; }
   5.385 -ul.Options ul li		{ display: block; border-top: 1px dotted #ccc; }
   5.386 -ul.Options ul li:first-child	{ border-top: none; }
   5.387 -ul.Options ul li a		{ display: block; padding: 5px 10px; }
   5.388 -
   5.389 -/*- Pager -*/
   5.390 -#PagerAfter				{ margin: 10px 0; text-align: center; background: #ddd; padding: 2px 10px; }
   5.391 -#PagerAfter	a			{ display: inline-block; padding: 0 5px; }
   5.392 -#PagerAfter	a.Highlight		{ color: #c60; }
   5.393 -span.Previous, a.Previous	{ float: left; }
   5.394 -#PagerAfter	span.Next, #PagerAfter	a.Next	{ float: right; padding: 0; }
   5.395 -
   5.396 -#PagerMore				{ text-align: right; padding: 5px 10px; }
   5.397 -
   5.398 -/***--- FOOTER --***/
   5.399 -#Footer {
   5.400 -	font-size: 11px ;
   5.401 -	width: 100%; 
   5.402 -	position: absolute; 
   5.403 -	bottom: 0;
   5.404 -	background: inherit;
   5.405 -	color: #a8a8a8; }
   5.406 -#Footer ul	{ margin: 16px 15px; }
   5.407 -#Footer li	{ float: left; }
   5.408 -#Footer a { text-decoration: underline; background: inherit; color: #a8a8a8; }
   5.409 -#Footer a:hover	{ color: #666666; }
   5.410 -
   5.411 -/***--- OVERLAY ---***/
   5.412 -.Overlay	{ width: 100%; position: absolute; top: 0; z-index: 10000; background: url(../images/overlayBg.png); }
   5.413 -.Overlay #Popup	{ width: 720px; padding: 15px; background: #FFF; margin: 0 auto; border: 1px dotted #c60; position: relative; }
   5.414 -
   5.415 -.Overlay .Buttons input.Button	{ margin: 0 0 10px; }
   5.416 -.Overlay p			{ padding: 0 10px; }
   5.417 -.Overlay a.Close	{ position: absolute; display: block; top: 10px; right: 15px; padding: 13px; font-size: 1.5em; color: #fff; }
   5.418 -.Overlay a.Close:hover	{ color: #c60; }
   5.419 -.Overlay ul			{ margin: 10px 0 0; }
   5.420 -
   5.421 -.Overlay input.Button	{ margin: 10px 0 0; }
   5.422 -.Overlay textarea		{ margin: 10px 0 0; }
   5.423 -.Overlay li.Gender		{ margin: 0; }
   5.424 -
   5.425 -.Overlay #Form_Picture	{ margin: 0 0 10px; }
     6.1 Binary file forum/themes/slitaz-2/images/header.png has changed
     7.1 Binary file forum/themes/slitaz-2/images/logo.png has changed
     8.1 Binary file forum/themes/slitaz-2/images/overlayBg.png has changed
     9.1 Binary file forum/themes/slitaz-2/screenshot.png has changed
    10.1 --- a/forum/themes/slitaz-2/views/default.master.php	Wed Dec 22 10:36:12 2010 +0100
    10.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    10.3 @@ -1,84 +0,0 @@
    10.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    10.5 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    10.6 -	<head>
    10.7 -		<?php $this->RenderAsset('Head'); ?>
    10.8 -	</head>
    10.9 -	<body id="<?php echo $BodyIdentifier; ?>" class="<?php echo $this->CssClass; ?>">
   10.10 -		<div id="Wrapper">
   10.11 -			<div id="Main">
   10.12 -				<div id="ContentHolder">
   10.13 -					<div id="Content">
   10.14 -						<?php $this->RenderAsset('Content'); ?>
   10.15 -					</div>
   10.16 -				</div>
   10.17 -				<div id="PanelHolder">
   10.18 -					<div id="Panel">
   10.19 -					
   10.20 -					<div class="Box">
   10.21 -						<h4>Navigation</h4>
   10.22 -
   10.23 -					<?php
   10.24 -				  $Session = Gdn::Session();
   10.25 -					if ($this->Menu) {
   10.26 -						$this->Menu->AddLink('Dashboard', T('Dashboard'), '/dashboard/settings', array('Garden.Settings.Manage'));
   10.27 -						// $this->Menu->AddLink('Dashboard', T('Users'), '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete'));
   10.28 -						$this->Menu->AddLink('Activity', T('Activity'), '/activity');
   10.29 -					 $Authenticator = Gdn::Authenticator();
   10.30 -						if ($Session->IsValid()) {
   10.31 -							$Name = $Session->User->Name;
   10.32 -							$CountNotifications = $Session->User->CountNotifications;
   10.33 -							if (is_numeric($CountNotifications) && $CountNotifications > 0)
   10.34 -								$Name .= ' <span>'.$CountNotifications.'</span>';
   10.35 -								
   10.36 -							$this->Menu->AddLink('User', "Profile ($Name)", '/profile/{UserID}/{Username}', array('Garden.SignIn.Allow'), array('class' => 'UserNotifications'));
   10.37 -							$this->Menu->AddLink('SignOut', T('Sign Out'), $Authenticator->SignOutUrl(), FALSE, array('class' => 'NonTab SignOut'));
   10.38 -						} else {
   10.39 -							$Attribs = array();
   10.40 -							if (C('Garden.SignIn.Popup') && strpos(Gdn::Request()->Url(), 'entry') === FALSE)
   10.41 -								$Attribs['class'] = 'SignInPopup';
   10.42 -								
   10.43 -							$this->Menu->AddLink('Entry', T('Sign In'), $Authenticator->SignInUrl($this->SelfUrl), FALSE, array('class' => 'NonTab'), $Attribs);
   10.44 -						}
   10.45 -						echo $this->Menu->ToString();
   10.46 -					}
   10.47 -				?>
   10.48 -					</div>
   10.49 -					<?php $this->RenderAsset('Panel'); ?>
   10.50 -					</div>
   10.51 -				</div>
   10.52 -				<div class="clear">&nbsp;</div>
   10.53 -			</div>
   10.54 -			
   10.55 -			<div id="Header">
   10.56 -			
   10.57 -			<a href="http://forum.slitaz.org/"><img id="logo"
   10.58 -			src="themes/slitaz/images/logo.png" title="www.slitaz.org" alt="www.slitaz.org"
   10.59 -			style="border: 0px solid ; width: 200px; height: 74px;" /></a>
   10.60 -			<p id="titre">#!/Support/Forum</p>
   10.61 -				
   10.62 -			</div>
   10.63 -			
   10.64 -			<div id="Nav">
   10.65 -				
   10.66 -				<div id="Search">
   10.67 -					<?php
   10.68 -						$Form = Gdn::Factory('Form');
   10.69 -						$Form->InputPrefix = '';
   10.70 -						echo 
   10.71 -							$Form->Open(array('action' => Url('/search'), 'method' => 'get')),
   10.72 -							$Form->TextBox('Search'),
   10.73 -							$Form->Button('Search', array('Name' => '')),
   10.74 -							$Form->Close();
   10.75 -					?>
   10.76 -				</div>
   10.77 -			</div>
   10.78 -			
   10.79 -			<div id="Footer">
   10.80 -				Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   10.81 -				<a href="http://vanillaforums.org">Powered by Vanilla</a>
   10.82 -			</div>
   10.83 -		</div>
   10.84 -
   10.85 -		<?php $this->FireEvent('AfterBody'); ?>
   10.86 -	</body>
   10.87 -</html>
    11.1 --- a/forum/themes/slitaz-2/views/discussion/comments.php	Wed Dec 22 10:36:12 2010 +0100
    11.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    11.3 @@ -1,25 +0,0 @@
    11.4 -<?php if (!defined('APPLICATION')) exit();
    11.5 -$Session = Gdn::Session();
    11.6 -$this->FireEvent('BeforeCommentsRender');
    11.7 -if (!function_exists('WriteComment'))
    11.8 -   include($this->FetchViewLocation('helper_functions', 'discussion'));
    11.9 -   
   11.10 -$CurrentOffset = $this->Offset;
   11.11 -if ($CurrentOffset == 0 && !$this->Data('NewComments', FALSE)) {
   11.12 -   echo WriteComment($this->Discussion, $this, $Session, $CurrentOffset);
   11.13 -}
   11.14 -
   11.15 -// Only prints individual comment list items
   11.16 -$CommentData = $this->CommentData->Result();
   11.17 -$i = 0;
   11.18 -foreach ($CommentData as $Comment) {
   11.19 -   ++$CurrentOffset;
   11.20 -   $this->CurrentComment = $Comment;
   11.21 -   if ($i % 2) {
   11.22 -		$counter = 'Odd';
   11.23 -   } else {
   11.24 -	   $counter = 'Even';
   11.25 -   }
   11.26 -   WriteComment($Comment, $this, $Session, $CurrentOffset, $counter);
   11.27 -   $i++;
   11.28 -}
    12.1 --- a/forum/themes/slitaz-2/views/discussion/helper_functions.php	Wed Dec 22 10:36:12 2010 +0100
    12.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    12.3 @@ -1,118 +0,0 @@
    12.4 -<?php if (!defined('APPLICATION')) exit();
    12.5 -
    12.6 -/**
    12.7 - * $Object is either a Comment or the original Discussion.
    12.8 - */
    12.9 -function WriteComment($Object, $Sender, $Session, $CurrentOffset, $counter) {
   12.10 -   $Author = UserBuilder($Object, 'Insert');
   12.11 -   $Type = property_exists($Object, 'CommentID') ? 'Comment' : 'Discussion';
   12.12 -	$Sender->EventArguments['Object'] = $Object;
   12.13 -   $Sender->EventArguments['Type'] = $Type;
   12.14 -   $Sender->EventArguments['Author'] = $Author;
   12.15 -   $CssClass = 'Item Comment ' . $counter;
   12.16 -   if ($Type == 'Comment') {
   12.17 -      $Sender->EventArguments['Comment'] = $Object;   
   12.18 -      $Id = 'Comment_'.$Object->CommentID;
   12.19 -      $Permalink = '/discussion/comment/'.$Object->CommentID.'/#Comment_'.$Object->CommentID;
   12.20 -   } else {
   12.21 -      $Sender->EventArguments['Discussion'] = $Object;   
   12.22 -      $CssClass .= ' FirstComment';
   12.23 -      $Id = 'Discussion_'.$Object->DiscussionID;
   12.24 -      $Permalink = '/discussion/'.$Object->DiscussionID.'/'.Gdn_Format::Url($Object->Name).'/p1';
   12.25 -   }
   12.26 -   $Sender->Options = '';
   12.27 -   $CssClass .= $Object->InsertUserID == $Session->UserID ? ' Mine' : '';
   12.28 -   $Sender->FireEvent('BeforeCommentDisplay');
   12.29 -?>
   12.30 -<li class="<?php echo $CssClass; ?>" id="<?php echo $Id; ?>">
   12.31 -   <div class="Comment">
   12.32 -      <div class="Meta">
   12.33 -         <?php $Sender->FireEvent('BeforeCommentMeta'); ?>
   12.34 -         <div class="Author">
   12.35 -            <?php
   12.36 -            echo UserPhoto($Author);
   12.37 -            echo UserAnchor($Author);
   12.38 -            ?>
   12.39 -			<div class="clear">&nbsp;</div>
   12.40 -         </div>
   12.41 -         <span class="DateCreated">
   12.42 -            <?php
   12.43 -            echo Gdn_Format::Date($Object->DateInserted);
   12.44 -            ?>
   12.45 -         </span>
   12.46 -         <span class="Permalink">
   12.47 -            <?php echo Anchor(T('Permalink'), $Permalink, 'Permalink', array('name' => 'Item_'.($CurrentOffset+1), 'rel' => 'nofollow')); ?>
   12.48 -         </span>
   12.49 -         <?php WriteOptionList($Object, $Sender, $Session); ?>
   12.50 -         <div class="CommentInfo">
   12.51 -            <?php $Sender->FireEvent('CommentInfo'); ?>
   12.52 -         </div>
   12.53 -         <?php $Sender->FireEvent('AfterCommentMeta'); ?>
   12.54 -      </div>
   12.55 -      <div class="Message">
   12.56 -			<?php $Sender->FireEvent('BeforeCommentBody'); ?>
   12.57 -			<?php 
   12.58 -			   $Object->FormatBody = Gdn_Format::To($Object->Body, $Object->Format);
   12.59 -			   $Sender->FireEvent('AfterCommentFormat');
   12.60 -			   $Object = $Sender->EventArguments['Object'];
   12.61 -			   echo $Object->FormatBody;
   12.62 -			?>
   12.63 -		</div><div class="clear">&nbsp;</div>
   12.64 -      <?php $Sender->FireEvent('AfterCommentBody'); ?>
   12.65 -   </div>
   12.66 -</li>
   12.67 -<?php
   12.68 -	$Sender->FireEvent('AfterComment');
   12.69 -}
   12.70 -
   12.71 -function WriteOptionList($Object, $Sender, $Session) {
   12.72 -   $EditContentTimeout = C('Garden.EditContentTimeout', -1);
   12.73 -	$CanEdit = $EditContentTimeout == -1 || strtotime($Object->DateInserted) + $EditContentTimeout > time();
   12.74 -	$TimeLeft = '';
   12.75 -	if ($CanEdit && $EditContentTimeout > 0) {
   12.76 -		$TimeLeft = strtotime($Object->DateInserted) + $EditContentTimeout - time();
   12.77 -		$TimeLeft = $TimeLeft > 0 ? ' ('.Gdn_Format::Seconds($TimeLeft).')' : '';
   12.78 -	}
   12.79 -
   12.80 -   $Sender->Options = '';
   12.81 -	$CategoryID = GetValue('CategoryID', $Object);
   12.82 -	if(!$CategoryID && property_exists($Sender, 'Discussion'))
   12.83 -		$CategoryID = GetValue('CategoryID', $Sender->Discussion);
   12.84 -		
   12.85 -   // Show discussion options if this is the discussion / first comment
   12.86 -   if ($Sender->EventArguments['Type'] == 'Discussion') {
   12.87 -      // Can the user edit the discussion?
   12.88 -      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $CategoryID))
   12.89 -         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editdiscussion/'.$Object->DiscussionID, 'EditDiscussion').$TimeLeft.'</span>';
   12.90 -         
   12.91 -      // Can the user announce?
   12.92 -      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $CategoryID))
   12.93 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</span>';
   12.94 -
   12.95 -      // Can the user sink?
   12.96 -      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $CategoryID))
   12.97 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</span>';
   12.98 -
   12.99 -      // Can the user close?
  12.100 -      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $CategoryID))
  12.101 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</span>';
  12.102 -      
  12.103 -      // Can the user delete?
  12.104 -      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $CategoryID))
  12.105 -         $Sender->Options .= '<span>'.Anchor(T('Delete Discussion'), 'vanilla/discussion/delete/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'DeleteDiscussion') . '</span>';
  12.106 -   } else {
  12.107 -      // And if this is just another comment in the discussion ...
  12.108 -      
  12.109 -      // Can the user edit the comment?
  12.110 -      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Comments.Edit', TRUE, 'Category', $Sender->Discussion->CategoryID))
  12.111 -         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editcomment/'.$Object->CommentID, 'EditComment').$TimeLeft.'</span>';
  12.112 -
  12.113 -      // Can the user delete the comment?
  12.114 -      if ($Session->CheckPermission('Vanilla.Comments.Delete', TRUE, 'Category', $CategoryID))
  12.115 -         $Sender->Options .= '<span>'.Anchor(T('Delete'), 'vanilla/discussion/deletecomment/'.$Object->CommentID.'/'.$Session->TransientKey().'/?Target='.urlencode($Sender->SelfUrl), 'DeleteComment') . '</span>';
  12.116 -   }
  12.117 -   
  12.118 -   // Allow plugins to add options
  12.119 -   $Sender->FireEvent('CommentOptions');
  12.120 -   echo $Sender->Options;
  12.121 -}
  12.122 \ No newline at end of file
    13.1 --- a/forum/themes/slitaz-2/views/discussions/helper_functions.php	Wed Dec 22 10:36:12 2010 +0100
    13.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    13.3 @@ -1,186 +0,0 @@
    13.4 -<?php
    13.5 -if (!defined('APPLICATION')) exit();
    13.6 -
    13.7 -function WriteDiscussion($Discussion, &$Sender, &$Session, $Alt) {
    13.8 -   $CssClass = 'Item';
    13.9 -   $CssClass .= $Discussion->Bookmarked == '1' ? ' Bookmarked' : '';
   13.10 -   $CssClass .= $Discussion->Closed == '1' ? ' Closed' : '';
   13.11 -   $CssClass .= $Alt.' ';
   13.12 -   $CssClass .= $Discussion->Announce == '1' ? ' Announcement' : '';
   13.13 -   $CssClass .= $Discussion->Dismissed == '1' ? ' Dismissed' : '';
   13.14 -   $CssClass .= $Discussion->InsertUserID == $Session->UserID ? ' Mine' : '';
   13.15 -   $CssClass .= ($Discussion->CountUnreadComments > 0 && $Session->IsValid()) ? ' New' : '';
   13.16 -   $Sender->EventArguments['Discussion'] = &$Discussion;
   13.17 -   $First = UserBuilder($Discussion, 'First');
   13.18 -   $Last = UserBuilder($Discussion, 'Last');
   13.19 -   
   13.20 -   $Sender->FireEvent('BeforeDiscussionName');
   13.21 -   
   13.22 -   $DiscussionName = Gdn_Format::Text($Discussion->Name);
   13.23 -   if ($DiscussionName == '')
   13.24 -      $DiscussionName = T('Blank Discussion Topic');
   13.25 -
   13.26 -   static $FirstDiscussion = TRUE;
   13.27 -   if (!$FirstDiscussion)
   13.28 -      $Sender->FireEvent('BetweenDiscussion');
   13.29 -   else
   13.30 -      $FirstDiscussion = FALSE;
   13.31 -?>
   13.32 -<li class="<?php echo $CssClass; ?> ">
   13.33 -   <?php
   13.34 -   $Sender->FireEvent('BeforeDiscussionContent');
   13.35 -   WriteOptions($Discussion, $Sender, $Session);
   13.36 -   ?>
   13.37 -   <div class="ItemContent Discussion">
   13.38 -      <?php echo Anchor($DiscussionName, '/discussion/'.$Discussion->DiscussionID.'/'.Gdn_Format::Url($Discussion->Name).($Discussion->CountCommentWatch > 0 && C('Vanilla.Comments.AutoOffset') ? '/#Item_'.$Discussion->CountCommentWatch : ''), 'Title'); ?>
   13.39 -      <?php $Sender->FireEvent('AfterDiscussionTitle'); ?>
   13.40 -      <div class="Meta">
   13.41 -         <?php if ($Discussion->Announce == '1') { ?>
   13.42 -         <span class="Announcement"><?php echo T('Announcement'); ?></span>
   13.43 -         <?php } ?>
   13.44 -         <?php if ($Discussion->Closed == '1') { ?>
   13.45 -         <span class="Closed"><?php echo T('Closed'); ?></span>
   13.46 -         <?php } ?>
   13.47 -         <span class="CommentCount"><?php printf(Plural($Discussion->CountComments, '%s comment', '%s comments'), $Discussion->CountComments); ?></span>
   13.48 -         <?php
   13.49 -            if ($Session->IsValid() && $Discussion->CountUnreadComments > 0)
   13.50 -               echo '<strong>'.Plural($Discussion->CountUnreadComments, '%s New', '%s New Plural').'</strong>';
   13.51 -
   13.52 -            if ($Discussion->LastCommentID != '') {
   13.53 -               echo '<span class="LastCommentBy">'.sprintf(T('Most recent by %1$s'), UserAnchor($Last)).'</span>';
   13.54 -               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->LastDate).'</span>';
   13.55 -            } else {
   13.56 -               echo '<span class="LastCommentBy">'.sprintf(T('Started by %1$s'), UserAnchor($First)).'</span>';
   13.57 -               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->FirstDate).'</span>';
   13.58 -            }
   13.59 -         
   13.60 -            if (C('Vanilla.Categories.Use'))
   13.61 -               echo Wrap(Anchor($Discussion->Category, '/categories/'.$Discussion->CategoryUrlCode, 'Category'));
   13.62 -               
   13.63 -            $Sender->FireEvent('DiscussionMeta');
   13.64 -         ?>
   13.65 -      </div>
   13.66 -   </div>
   13.67 -</li>
   13.68 -<?php
   13.69 -}
   13.70 -
   13.71 -function WriteFilterTabs(&$Sender) {
   13.72 -   $Session = Gdn::Session();
   13.73 -   $Title = property_exists($Sender, 'Category') && is_object($Sender->Category) ? $Sender->Category->Name : T('All Discussions');
   13.74 -   $Bookmarked = T('My Bookmarks');
   13.75 -   $MyDiscussions = T('My Discussions');
   13.76 -   $MyDrafts = T('My Drafts');
   13.77 -   $CountBookmarks = 0;
   13.78 -   $CountDiscussions = 0;
   13.79 -   $CountDrafts = 0;
   13.80 -   if ($Session->IsValid()) {
   13.81 -      $CountBookmarks = $Session->User->CountBookmarks;
   13.82 -      $CountDiscussions = $Session->User->CountDiscussions;
   13.83 -      $CountDrafts = $Session->User->CountDrafts;
   13.84 -   }
   13.85 -   if (is_numeric($CountBookmarks) && $CountBookmarks > 0)
   13.86 -      $Bookmarked .= '<span>'.$CountBookmarks.'</span>';
   13.87 -
   13.88 -   if (is_numeric($CountDiscussions) && $CountDiscussions > 0)
   13.89 -      $MyDiscussions .= '<span>'.$CountDiscussions.'</span>';
   13.90 -
   13.91 -   if (is_numeric($CountDrafts) && $CountDrafts > 0)
   13.92 -      $MyDrafts .= '<span>'.$CountDrafts.'</span>';
   13.93 -      
   13.94 -   ?>
   13.95 -<div class="Tabs DiscussionsTabs">
   13.96 -   <ul>
   13.97 -      <?php $Sender->FireEvent('BeforeDiscussionTabs'); ?>
   13.98 -      <li<?php echo strtolower($Sender->ControllerName) == 'discussionscontroller' && strtolower($Sender->RequestMethod) == 'index' ? ' class="Active"' : ''; ?>><?php echo Anchor(T('All Discussions'), 'discussions'); ?></li>
   13.99 -      <?php $Sender->FireEvent('AfterAllDiscussionsTab'); ?>
  13.100 -      <?php if ($CountBookmarks > 0 || $Sender->RequestMethod == 'bookmarked') { ?>
  13.101 -      <li<?php echo $Sender->RequestMethod == 'bookmarked' ? ' class="Active"' : ''; ?>><?php echo Anchor($Bookmarked, '/discussions/bookmarked', 'MyBookmarks'); ?></li>
  13.102 -      <?php
  13.103 -         $Sender->FireEvent('AfterBookmarksTab');
  13.104 -      }
  13.105 -      if ($CountDiscussions > 0 || $Sender->RequestMethod == 'mine') {
  13.106 -      ?>
  13.107 -      <li<?php echo $Sender->RequestMethod == 'mine' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDiscussions, '/discussions/mine', 'MyDiscussions'); ?></li>
  13.108 -      <?php
  13.109 -      }
  13.110 -      if ($CountDrafts > 0 || $Sender->ControllerName == 'draftscontroller') {
  13.111 -      ?>
  13.112 -      <li<?php echo $Sender->ControllerName == 'draftscontroller' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDrafts, '/drafts', 'MyDrafts'); ?></li>
  13.113 -      <?php
  13.114 -      }
  13.115 -      $Sender->FireEvent('AfterDiscussionTabs');
  13.116 -      ?>
  13.117 -   </ul>
  13.118 -   <?php
  13.119 -   if (property_exists($Sender, 'Category') && is_object($Sender->Category)) {
  13.120 -      ?>
  13.121 -      <div class="SubTab">↳ <?php echo $Sender->Category->Name; ?></div>
  13.122 -      <?php
  13.123 -   }
  13.124 -   ?>
  13.125 -</div>
  13.126 -   <?php
  13.127 -}
  13.128 -
  13.129 -/**
  13.130 - * Render options that the user has for this discussion.
  13.131 - */
  13.132 -function WriteOptions($Discussion, &$Sender, &$Session) {
  13.133 -   if ($Session->IsValid() && $Sender->ShowOptions) {
  13.134 -      echo '<div class="Options">';
  13.135 -      // Bookmark link
  13.136 -      $Title = T($Discussion->Bookmarked == '1' ? 'Unbookmark' : 'Bookmark');
  13.137 -      echo Anchor(
  13.138 -         '<span class="Star">'
  13.139 -            .Img('applications/dashboard/design/images/pixel.png', array('alt' => $Title))
  13.140 -         .'</span>',
  13.141 -         '/vanilla/discussion/bookmark/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl),
  13.142 -         'Bookmark' . ($Discussion->Bookmarked == '1' ? ' Bookmarked' : ''),
  13.143 -         array('title' => $Title)
  13.144 -      );
  13.145 -      
  13.146 -      $Sender->Options = '';
  13.147 -      
  13.148 -      // Dismiss an announcement
  13.149 -      if (C('Vanilla.Discussions.Dismiss', 1) && $Discussion->Announce == '1' && $Discussion->Dismissed != '1')
  13.150 -         $Sender->Options .= '<li>'.Anchor(T('Dismiss'), 'vanilla/discussion/dismissannouncement/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'DismissAnnouncement') . '</li>';
  13.151 -      
  13.152 -      // Edit discussion
  13.153 -      if ($Discussion->FirstUserID == $Session->UserID || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $Discussion->CategoryID))
  13.154 -         $Sender->Options .= '<li>'.Anchor(T('Edit'), 'vanilla/post/editdiscussion/'.$Discussion->DiscussionID, 'EditDiscussion') . '</li>';
  13.155 -
  13.156 -      // Announce discussion
  13.157 -      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $Discussion->CategoryID))
  13.158 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</li>';
  13.159 -
  13.160 -      // Sink discussion
  13.161 -      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $Discussion->CategoryID))
  13.162 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</li>';
  13.163 -
  13.164 -      // Close discussion
  13.165 -      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $Discussion->CategoryID))
  13.166 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</li>';
  13.167 -      
  13.168 -      // Delete discussion
  13.169 -      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $Discussion->CategoryID))
  13.170 -         $Sender->Options .= '<li>'.Anchor(T('Delete'), 'vanilla/discussion/delete/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'DeleteDiscussion') . '</li>';
  13.171 -      
  13.172 -      // Allow plugins to add options
  13.173 -      $Sender->FireEvent('DiscussionOptions');
  13.174 -      
  13.175 -      if ($Sender->Options != '') {
  13.176 -      ?>
  13.177 -         <ul class="Options">
  13.178 -            <li>
  13.179 -               <strong><?php echo T('Options'); ?></strong>
  13.180 -               <ul>
  13.181 -                  <?php echo $Sender->Options; ?>
  13.182 -               </ul>
  13.183 -            </li>
  13.184 -         </ul>
  13.185 -      <?php
  13.186 -      }
  13.187 -      echo '</div>';
  13.188 -   }
  13.189 -}
  13.190 \ No newline at end of file
    14.1 --- a/forum/themes/slitaz/README.txt	Wed Dec 22 10:36:12 2010 +0100
    14.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    14.3 @@ -1,45 +0,0 @@
    14.4 -How to create a theme:
    14.5 -
    14.6 -Part 1: CSS / Design
    14.7 -================================================================================
    14.8 -1. Copy this "default" theme folder and rename it to your new theme name.
    14.9 -2. Open the "about.php" file and edit the information to reflect your theme. Be
   14.10 -   sure to change the array key like this: $ThemeInfo['YourThemeNameHere'].
   14.11 -3. Create a "design" subfolder and copy /applications/dashboard/design/style.css 
   14.12 -   and /applications/vanilla/design/vanilla.css into it.
   14.13 -4. Any background images you want to continue using (like the star png images
   14.14 -   for bookmarking) should be copied along with their respective stylesheets.
   14.15 -5. Go to your Dashboard, Themes, and apply your new theme.
   14.16 -6. Edit the copied CSS files to look however you wish!
   14.17 -
   14.18 -Other things you should know:
   14.19 -
   14.20 - + All non-forum pages should be edited in the global "style.css" file.
   14.21 -
   14.22 - + If you want to edit the look & feel of the administrative screens, also 
   14.23 -   copy /applications/dashboard/design/admin.css in step 3. Similarly, you can 
   14.24 -   copy other CSS files like /applications/vanilla/design/vanillaprofile.css to
   14.25 -   customize those pages as well.
   14.26 -
   14.27 -
   14.28 -Part 2: HTML / Views
   14.29 -================================================================================
   14.30 -If you want to customize the HTML, you can edit that too. 
   14.31 -Our pages are made up of two parts:
   14.32 -
   14.33 - 1. Master Views - these represent everything that wraps the main content of the
   14.34 -   page. If all you want to do is add a menu or banner above Vanilla, this is
   14.35 -   all you need to alter. To do so, copy the default master view from
   14.36 -   /applications/dashboard/views/default.master.php to
   14.37 -   /themes/yourtheme/views/default.master.php and edit it there.
   14.38 -   
   14.39 - 2. Views - these represent all of the content in each page. Every application
   14.40 -   has a "views" folder that contains all of the HTML for every page. So, for
   14.41 -   example, if you wanted to edit the HTML for the Discussions list, you could
   14.42 -   copy the views from /applications/vanilla/views/discussions to
   14.43 -   /themes/yourtheme/views/discussions and edit them there.
   14.44 -
   14.45 -You can avoid naming conflicts between applications' views and specify which 
   14.46 -app a view is for by optionally adding a subfolder with the app's name in 
   14.47 -/themes/yourtheme/views/ (e.g.: /themes/yourtheme/views/appname/) and placing 
   14.48 -views there rather than directly in the "views" folder.
   14.49 \ No newline at end of file
    15.1 --- a/forum/themes/slitaz/about.php	Wed Dec 22 10:36:12 2010 +0100
    15.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    15.3 @@ -1,21 +0,0 @@
    15.4 -<?php if (!defined('APPLICATION')) exit();
    15.5 -/*
    15.6 -Copyright 2008, 2009 Vanilla Forums Inc.
    15.7 -This file is part of Garden.
    15.8 -Garden is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    15.9 -Garden is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   15.10 -You should have received a copy of the GNU General Public License along with Garden.  If not, see <http://www.gnu.org/licenses/>.
   15.11 -Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com
   15.12 -*/
   15.13 -
   15.14 -/**
   15.15 - * An associative array of information about this application.
   15.16 - */
   15.17 -$ThemeInfo['SliTaz'] = array(
   15.18 -   'Name' => 'SliTaz',
   15.19 -   'Description' => "SliTaz Vanilla 2 official theme",
   15.20 -   'Version' => '1.0',
   15.21 -   'Author' => "Christophe Lincoln",
   15.22 -   'AuthorEmail' => 'pankso@slitaz.org',
   15.23 -   'AuthorUrl' => 'http://www.slitaz.org'
   15.24 -);
    16.1 Binary file forum/themes/slitaz/design/favicon.ico has changed
    17.1 Binary file forum/themes/slitaz/design/favicon.png has changed
    18.1 --- a/forum/themes/slitaz/design/style.css	Wed Dec 22 10:36:12 2010 +0100
    18.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    18.3 @@ -1,438 +0,0 @@
    18.4 -@charset "utf-8";
    18.5 -/* CSS Document */
    18.6 -
    18.7 -/***--- MAIN / DEFAULT --***/
    18.8 -html, body	{ height: 102%; margin: 0; }
    18.9 -html, body, input, select, textarea, button {
   18.10 -	font-family: Verdana, Geneva, sans-serif;
   18.11 -	font-size: 11px;
   18.12 -	line-height: 17px;
   18.13 -	color: #555;
   18.14 -}
   18.15 -a			{ color: #2f6c8e; text-decoration: none; }
   18.16 -a:hover		{ color: #69a1c1; }
   18.17 -a img		{ border: none; }
   18.18 -ul, ol		{ margin: 0; padding: 0; list-style: none; }
   18.19 -
   18.20 -.clear {
   18.21 -    clear: both;
   18.22 -    display: block;
   18.23 -    height: 0;
   18.24 -    overflow: hidden;
   18.25 -    visibility: hidden;
   18.26 -    width: 0;
   18.27 -}
   18.28 -
   18.29 -#Wrapper	{ min-height: 100%; position: relative; margin: 0 auto; }
   18.30 -.Hidden		{ display: none; }
   18.31 -
   18.32 -/***--- HEADER(S) --***/
   18.33 -
   18.34 -
   18.35 -#Header h1	{ padding: 15px; font-size: 2em; }
   18.36 -#Header a	{ color: #69a1c1; }
   18.37 -#Header a:hover	{ color: #FFF; }
   18.38 -
   18.39 -#Header{
   18.40 -	background: #f0ba08 url(../images/header.png) repeat-x top;
   18.41 -	color: black;
   18.42 -	width: 100%;
   18.43 -	height: 50px;
   18.44 -	border-top: 1px solid black;
   18.45 -	border-bottom: 1px solid black;
   18.46 -	margin-bottom: 30px;
   18.47 -	position: absolute;
   18.48 -	top: 0;
   18.49 -}
   18.50 -
   18.51 -#titre {
   18.52 -	position: absolute;
   18.53 -	font-size: 16px;
   18.54 -	font-weight: bolder ;
   18.55 -	margin-left: 200px;
   18.56 -	margin-top: 28px;
   18.57 -}
   18.58 -
   18.59 -#logo {
   18.60 -	position: absolute;
   18.61 -	float: left;
   18.62 -	margin-left: 16px;
   18.63 -	margin-top: 0px;
   18.64 -}
   18.65 -
   18.66 -/***--- NAV --***/
   18.67 -#Nav { 
   18.68 -	right: 0;
   18.69 -	position: absolute;
   18.70 -	top: 3px;
   18.71 -	font-size: 10px;
   18.72 -	font-weight: bold; }
   18.73 -
   18.74 -ul#Menu {
   18.75 -	margin: 10px 15px;
   18.76 -	float: left; }
   18.77 -
   18.78 -#Menu li { float: left; margin: 0 1px 0 0; }
   18.79 -#Menu a {
   18.80 -	display: block;
   18.81 -	padding: 5px 4px;
   18.82 -	background: inherit;
   18.83 -	color: white;
   18.84 -	text-decoration: none; }
   18.85 -
   18.86 -#Menu a:hover {
   18.87 -	background: inherit;
   18.88 -	color: #222222; }
   18.89 -#Menu li.Highlight a	{ color: #222222; }
   18.90 -
   18.91 -/* search */
   18.92 -#Search { 
   18.93 -	-moz-border-radius: 4px;
   18.94 -	-webkit-border-radius: 4px; 
   18.95 -	height: 20px; 
   18.96 -	float: right; 
   18.97 -	background: #FFF; 
   18.98 -	padding: 2px 2px; 
   18.99 -	margin: 11px 15px; }
  18.100 -#Search form	{ padding: 0; border: none; }
  18.101 -#Nav #Search input.InputBox	{ width: 150px; border: none; }
  18.102 -#Search input.Button {
  18.103 -	-moz-border-radius: 4px;
  18.104 -	-webkit-border-radius: 4px;
  18.105 -	height: 17px;
  18.106 -	margin: 0;
  18.107 -	padding: 0; }
  18.108 -
  18.109 -/***--- MAIN --***/
  18.110 -/*#Main	{ }*/
  18.111 -
  18.112 -/* If you prefer the panel on the left and content on the right, simply switch the "float" property for #Content & #Panel and set the "margin-left" to "margin-right" for the #Content */
  18.113 -#Content		{ 
  18.114 -	margin: 0px 320px 0px 0px;
  18.115 -	padding: 86px 40px 65px 80px;
  18.116 -	}
  18.117 -#Panel			{
  18.118 -	position: absolute;
  18.119 -	top: 86px;
  18.120 -	right: 80px;
  18.121 -	color: #555555;
  18.122 -	float: right;
  18.123 -	width: 250px;
  18.124 -	line-height: 1.5em;
  18.125 -	text-align: left;
  18.126 -	font-size: 12px;
  18.127 -	}
  18.128 -.Box, #UserOptions {
  18.129 -	-moz-border-radius: 8px;
  18.130 -	-webkit-border-radius: 8px;
  18.131 -	list-style-type: none;
  18.132 -	margin: 10px 0;
  18.133 -	padding: 10px 24px 10px 24px;
  18.134 -	background-color: #eaeaea;}
  18.135 -#Panel .Box ul {
  18.136 -	list-style-type: none;
  18.137 -	margin: 0;
  18.138 -	padding: 10px 24px 10px 0px;
  18.139 -}
  18.140 -
  18.141 -/***--- CONTENT --***/
  18.142 -.GuestBox	{ background: #eaeaea; }
  18.143 -.GuestBox p	{ padding: 0; }
  18.144 -.Message img	{ max-width: 100%; }
  18.145 -
  18.146 -/* headers */
  18.147 -h1				{ margin: 0; font-size: 1.5em; }
  18.148 -#Content h1, h2, #Popup h1, div.DiscussionTabs .SubTab {
  18.149 -	-moz-border-radius: 8px;
  18.150 -	-webkit-border-radius: 8px;
  18.151 -	font-size: 1.1em; background: #555555; color: #fff; margin: 0 0 10px; padding: 10px; font-weight: bold;
  18.152 -}
  18.153 -div.DiscussionTabs .SubTab	{ margin: 0; }
  18.154 -
  18.155 -#Panel h4, #Panel .GuestBox h4 {
  18.156 -	font-size: 110%;
  18.157 -	color: #666666;
  18.158 -	font-weight: bold;
  18.159 -	padding: 0 0 1px 0;
  18.160 -	margin: 0;
  18.161 -	border-bottom: 1px solid #cecece; }
  18.162 -
  18.163 -div.Empty, div#Status	{ padding: 10px; }
  18.164 -
  18.165 -/* tabs */
  18.166 -.Tabs li, .SubTab	{
  18.167 -	-moz-border-radius: 8px;
  18.168 -	-webkit-border-radius: 8px;
  18.169 -	background: #CECECE;
  18.170 -	padding: 5px 8px;
  18.171 -	font-size: 140%;
  18.172 -	font-weight: bold;
  18.173 -	border-bottom: 1px solid #fff; }
  18.174 -.Tabs li.Active		{ background: #555; border-bottom: none; }
  18.175 -.Tabs li.Active a	{ color: #fff; }
  18.176 -.Tabs span			{ display: inline-block; margin: 0 10px; color: #888; }
  18.177 -.SubTab				{ font-size: 1em; }
  18.178 -
  18.179 -/* DISCUSSIONS */
  18.180 -.DataList li.Item, .Conversation li.Item {
  18.181 -	border-bottom: 1px solid #ccc;
  18.182 -	position: relative;
  18.183 -	padding: 10px;
  18.184 -	-moz-border-radius: 8px;
  18.185 -	-webkit-border-radius: 8px;
  18.186 -}
  18.187 -.Activities li.Item	{ min-height: 50px; }
  18.188 -.DataList li.Item a.Title	{ display: block; font-size: 1.15em; font-weight: bold; padding: 0 0 8px; }
  18.189 -
  18.190 -/* discussions meta */
  18.191 -.DataList .Meta span, .DataList .Meta strong {
  18.192 -	min-width: 100px; display: inline-block; margin: 0 5px 0 0;
  18.193 -}
  18.194 -.DataList .Meta .LastCommentBy		{ width: 175px; }
  18.195 -.DataList .Meta .LastCommentDate	{ width: 100px; }
  18.196 -
  18.197 -/* discussions highlight */
  18.198 -.DataList li.Mine			{ background: #f1f1f1; border-bottom-color: #fff; }
  18.199 -.DataList li.New			{ background: #d8ecbc; }
  18.200 -.DataList li.Bookmarked		{ background: #ffdf5d; border-bottom-color: #fff; }
  18.201 -
  18.202 -.DataList li.Closed		{ background: #eee; }
  18.203 -.DataList .Meta .Closed			{ color: #333; }
  18.204 -.DataList li.Closed a.Title	{ text-decoration: line-through; }
  18.205 -
  18.206 -.DataList li.Announcement	{ background: #FFC; }
  18.207 -.DataList .Meta .Announcement, .DataList .Meta .Closed {
  18.208 -	width: 100px; font-weight: bold;
  18.209 -}
  18.210 -.DataList .Meta .Announcement	{ color: #C60; }
  18.211 -
  18.212 -/* DISCUSSION */
  18.213 -div.DiscussionTabs li		{ font-size: 1em; }
  18.214 -ul.Discussion				{ margin: 0 0 10px; }
  18.215 -
  18.216 -/* bookmark */
  18.217 -a.Bookmark					{ width: 9px; height: 9px; position: absolute; top: 8px; right: 10px; font-size: 0; background: #fff; border: 1px dotted #ffcc00; }
  18.218 -.Discussion a.Bookmark		{ top: 41px; }
  18.219 -a.Bookmarked 				{ background: #ffcc00; border: 1px solid #fff; }
  18.220 -div.Options a.Bookmark		{ top: 14px; }
  18.221 -
  18.222 -div.Comment {
  18.223 -	position: relative; 
  18.224 -	border-bottom: 1px dotted #ccc;
  18.225 -	padding: 10px; }
  18.226 -li.Even			{ background: #f8f8f8; }
  18.227 -
  18.228 -/* discussion meta */
  18.229 -.Comment .Message, .Comment .MessageForm, .ConversationMessage .Message {
  18.230 -	margin-left: 215px; line-height: 1.75em;
  18.231 -}
  18.232 -.Comment .Meta, .ConversationMessage .Meta {
  18.233 -	width: 175px; float: left; padding: 10px; background: #FFC;
  18.234 -	-moz-border-radius: 8px;
  18.235 -	-webkit-border-radius: 8px;
  18.236 -}
  18.237 -.Comment .Meta span, .ConversationMessage .Meta span, div.Meta div.PostCount {
  18.238 -	display: block; border-bottom: 1px dotted #ccc; font-size: 0.85em; padding: 1px 0; 
  18.239 -}
  18.240 -.Comment .Author, .ConversationMessage span.Author {
  18.241 -	background: #fff; padding: 5px; border-bottom: none;
  18.242 -}
  18.243 -.Comment .Author img, .ConversationMessage .Author a.Photo {
  18.244 -	float: left; margin: 0 10px 0 0;
  18.245 -}
  18.246 -.Comment .Author a, .ConversationMessage .Author a {
  18.247 -	font-weight: bold; font-size: 1.1em;
  18.248 -}
  18.249 -blockquote	{ margin: 0; padding: 10px; background: #fff; border: 1px dotted #ccc; }
  18.250 -.Odd blockquote	{ background: #F8F8F8; }
  18.251 -
  18.252 -/* post */
  18.253 -ul.PostOptions	{ margin: 0 0 10px; }
  18.254 -.Preview			{ padding: 10px; margin: 0 0 10px; border-bottom: 1px dotted #ccc; }
  18.255 -
  18.256 -/*- Conversations & Activities -*/
  18.257 -ul.Activities .Title	{ margin: 0 0 0 60px; font-weight: bold; }
  18.258 -ul.Conversations .Photo, ul.Activities .Photo {
  18.259 -	width: 50px; height: 50px; float: left; font-size: 0.9em; color: #ccc; overflow: hidden; background: #eee;
  18.260 -}
  18.261 -ul.Conversations .Excerpt, ul.Activities .Excerpt {
  18.262 -	margin: 0 0 10px 60px;
  18.263 -}
  18.264 -ul.Conversations .Meta, ul.Activities .Meta, .SearchResults .Meta {
  18.265 -	margin: 0 0 0 60px;background: #FFC; padding: 3px 5px; 
  18.266 -}
  18.267 -.SearchResults .Meta	{ margin: 5px 0 0; }
  18.268 -ul.ActivityComments		{ margin: 0 0 0 60px; }
  18.269 -
  18.270 -.ConversationMessage .Message		{ min-height: 100px; }
  18.271 -.ConversationMessage span.Author	{ height: 50px; }
  18.272 -.ConversationMessage span.ItemLink		{ display: none; }
  18.273 -
  18.274 -/***--- PANEL --***/
  18.275 -.Block		{ padding: 15px; background: #ddd; margin: 0 10px 0 0; }
  18.276 -.Post #Panel, .Search #Panel {
  18.277 -	display: none;
  18.278 -}
  18.279 -
  18.280 -.PanelInfo li			{ padding: 0px 0px; }
  18.281 -.PanelInfo li strong	{ font-weight: normal; }
  18.282 -.PanelInfo li.Active a	{ color: #c60; }
  18.283 -.PanelInfo li.Parent	{ background: #ccc; padding: 2px 5px; font-size: 1.1em; font-weight: bold; }
  18.284 -
  18.285 -.PanelInfo a {
  18.286 -	color: #0F314E;
  18.287 -	background: inherit;
  18.288 -	display: block;
  18.289 -	text-decoration: none;
  18.290 -	font-weight: bold;
  18.291 -}
  18.292 -
  18.293 -.PanelInfo a:hover {
  18.294 -	color: #c60;
  18.295 -	text-decoration: none;
  18.296 -	display: block;
  18.297 -}
  18.298 -/* account */
  18.299 -
  18.300 -#Panel .Photo		{ background: #ddd; position: absolute; right: 10px; padding: 0 0 10px 10px; }
  18.301 -#Panel .Photo img	{ width: 50px; display: block; border: 5px solid #fff; border-bottom-width: 12px; }
  18.302 -#Panel .Photo img:hover	{ width: auto; }
  18.303 -
  18.304 -#Panel dl					{ padding: 10px; background: #fff; margin: 0; }
  18.305 -#Panel dt					{ font-weight: bold; padding: 2px 0 0; }
  18.306 -#Panel dd					{ margin: 0; border-bottom: 1px dotted #ccc; padding: 0 0 2px; }
  18.307 -
  18.308 -/* inbox */
  18.309 -.PanelInfo li strong		{ display: inline-block; margin: 0 5px 0 0; }
  18.310 -
  18.311 -/*- Form elements -*/
  18.312 -form		{ padding: 0 10px 10px; border-bottom: 1px dotted #ccc; }
  18.313 -fieldset	{ margin: 0; padding: 0; border: none; }
  18.314 -
  18.315 -form#Form_User_Register	{ margin-top: 10px; }
  18.316 -
  18.317 -input, textarea, select {
  18.318 -	border: 1px solid #ccc; padding: 3px 5px; margin: 0;
  18.319 -}
  18.320 -input.InputBox		{ width: 325px; margin: 0 10px 5px 0; }
  18.321 -
  18.322 -input.Button, input.Cancel {
  18.323 -	-moz-border-radius: 4px;
  18.324 -	-webkit-border-radius: 4px;
  18.325 -	cursor: pointer; border: none; background: #c60; color: #fff; padding: 4px;
  18.326 -}
  18.327 -input.Button:hover, input.Cancel:hover {
  18.328 -	background: #555555; color: white;
  18.329 -}
  18.330 -
  18.331 -a.Back, a.Cancel {
  18.332 -	margin: 0 5px 0 0;
  18.333 -}
  18.334 -
  18.335 -textarea			{ width: 95%; min-height: 100px; display: block; margin: 10px 0; }
  18.336 -
  18.337 -label	{ display: block; font-weight: bold; }
  18.338 -label.RadioLabel, label.CheckBoxLabel {
  18.339 -	font-weight: normal;
  18.340 -}
  18.341 -label.RadioLabel input, label.CheckBoxLabel input {
  18.342 -	border: none;
  18.343 -}
  18.344 -
  18.345 -li.Gender, li.CaptchaInput {
  18.346 -	margin: 0 0 10px;
  18.347 -}
  18.348 -li.CreateAccount, li.Buttons {
  18.349 -	margin: 5px 0 0;
  18.350 -}
  18.351 -.cleditorMain	{ margin: 10px 0; }
  18.352 -
  18.353 -.CommentForm div.Messages { margin: 8px 0 0; }
  18.354 -.Errors, .Warning	{
  18.355 -	color: #F00;
  18.356 -}
  18.357 -
  18.358 -/***--- BUTTONS ---***/
  18.359 -.GuestBox a.Button	{
  18.360 -	-moz-border-radius: 4px;
  18.361 -	-webkit-border-radius: 4px;
  18.362 -	font-size: 11px;
  18.363 -	padding: 4px;
  18.364 -	margin: 0 0 10px;
  18.365 -	background: #c60; 
  18.366 -	color: #FFF; }
  18.367 -.GuestBox .Button:hover	{
  18.368 -	background: #555555; }
  18.369 -	
  18.370 -a.BigButton	{
  18.371 -	-moz-border-radius: 8px;
  18.372 -	-webkit-border-radius: 8px;
  18.373 -	display: block; 
  18.374 -	background: #c60; 
  18.375 -	color: #FFF; 
  18.376 -	padding: 10px; 
  18.377 -	font-size: 1.1em; 
  18.378 -	font-weight: bold;
  18.379 -	text-align: center}
  18.380 -a.BigButton:hover	{ background: #555555; }
  18.381 -a.ClearConversation	{ margin: 10px 0 0; }
  18.382 -
  18.383 -/* options */
  18.384 -div.Options, div.OptionButton {
  18.385 -	position: absolute; top: 12px; right: 10px;
  18.386 -}
  18.387 -div.OptionButton	{ font-weight: bold; color: #555; }
  18.388 -ul.Options strong	{
  18.389 -	-moz-border-radius: 4px;
  18.390 -	-webkit-border-radius: 4px;
  18.391 -	cursor: pointer; 
  18.392 -	display: block; 
  18.393 -	padding: 5px 10px;
  18.394 -	background: #FFC;
  18.395 -	border: 1px solid #ccc; }
  18.396 -
  18.397 -ul.Options				{ margin: 5px 40px 0 0; }
  18.398 -ul.Options li			{ position: relative; }
  18.399 -ul.Options ul			{ min-width: 125px; display: none; position: absolute; z-index: 1000; background: #FFC; right: 0; border: 1px dotted #ccc; margin-top: -1px; }
  18.400 -ul.Options li:hover ul 	{ display: block; }
  18.401 -ul.Options ul li		{ display: block; border-top: 1px dotted #ccc; }
  18.402 -ul.Options ul li:first-child	{ border-top: none; }
  18.403 -ul.Options ul li a		{ display: block; padding: 5px 10px; }
  18.404 -
  18.405 -/*- Pager -*/
  18.406 -#PagerAfter				{ margin: 10px 0; text-align: center; background: #ddd; padding: 2px 10px; }
  18.407 -#PagerAfter	a			{ display: inline-block; padding: 0 5px; }
  18.408 -#PagerAfter	a.Highlight		{ color: #c60; }
  18.409 -span.Previous, a.Previous	{ float: left; }
  18.410 -#PagerAfter	span.Next, #PagerAfter	a.Next	{ float: right; padding: 0; }
  18.411 -
  18.412 -#PagerMore				{ text-align: right; padding: 5px 10px; }
  18.413 -
  18.414 -/***--- FOOTER --***/
  18.415 -#Footer {
  18.416 -	font-size: 11px ;
  18.417 -	width: 100%; 
  18.418 -	position: absolute; 
  18.419 -	bottom: 0;
  18.420 -	background: inherit;
  18.421 -	color: #a8a8a8; }
  18.422 -#Footer ul	{ margin: 16px 15px; }
  18.423 -#Footer li	{ float: left; }
  18.424 -#Footer a { text-decoration: underline; background: inherit; color: #a8a8a8; }
  18.425 -#Footer a:hover	{ color: #666666; }
  18.426 -
  18.427 -/***--- OVERLAY ---***/
  18.428 -.Overlay	{ width: 100%; position: absolute; top: 0; z-index: 10000; background: url(../images/overlayBg.png); }
  18.429 -.Overlay #Popup	{ width: 720px; padding: 15px; background: #FFF; margin: 0 auto; border: 1px dotted #c60; position: relative; }
  18.430 -
  18.431 -.Overlay .Buttons input.Button	{ margin: 0 0 10px; }
  18.432 -.Overlay p			{ padding: 0 10px; }
  18.433 -.Overlay a.Close	{ position: absolute; display: block; top: 10px; right: 15px; padding: 13px; font-size: 1.5em; color: #fff; }
  18.434 -.Overlay a.Close:hover	{ color: #c60; }
  18.435 -.Overlay ul			{ margin: 10px 0 0; }
  18.436 -
  18.437 -.Overlay input.Button	{ margin: 10px 0 0; }
  18.438 -.Overlay textarea		{ margin: 10px 0 0; }
  18.439 -.Overlay li.Gender		{ margin: 0; }
  18.440 -
  18.441 -.Overlay #Form_Picture	{ margin: 0 0 10px; }
    19.1 Binary file forum/themes/slitaz/images/header.png has changed
    20.1 Binary file forum/themes/slitaz/images/logo.png has changed
    21.1 Binary file forum/themes/slitaz/images/overlayBg.png has changed
    22.1 Binary file forum/themes/slitaz/screenshot.png has changed
    23.1 --- a/forum/themes/slitaz/views/default.master.php	Wed Dec 22 10:36:12 2010 +0100
    23.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    23.3 @@ -1,76 +0,0 @@
    23.4 -<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    23.5 -<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    23.6 -	<head>
    23.7 -		<?php $this->RenderAsset('Head'); ?>
    23.8 -	</head>
    23.9 -	<body id="<?php echo $BodyIdentifier; ?>" class="<?php echo $this->CssClass; ?>">
   23.10 -		<div id="Wrapper">
   23.11 -			<div id="Main">
   23.12 -				<div id="ContentHolder">
   23.13 -					<div id="Content">
   23.14 -						<?php $this->RenderAsset('Content'); ?>
   23.15 -					</div>
   23.16 -				</div>
   23.17 -				<div id="PanelHolder">
   23.18 -					<div id="Panel"><?php $this->RenderAsset('Panel'); ?></div>
   23.19 -				</div>
   23.20 -				<div class="clear">&nbsp;</div>
   23.21 -			</div>
   23.22 -			
   23.23 -			<div id="Header">
   23.24 -			
   23.25 -			<a href="<?php echo Url('/'); ?>"><img id="logo"
   23.26 -			src="themes/slitaz/images/logo.png" title="www.slitaz.org" alt="www.slitaz.org"
   23.27 -			style="border: 0px solid ; width: 200px; height: 74px;" /></a>
   23.28 -			<p id="titre">#!/Support/Forum</p>
   23.29 -				
   23.30 -			</div>
   23.31 -			
   23.32 -			<div id="Nav">
   23.33 -				<?php
   23.34 -				  $Session = Gdn::Session();
   23.35 -					if ($this->Menu) {
   23.36 -						$this->Menu->AddLink('Dashboard', T('Dashboard'), '/dashboard/settings', array('Garden.Settings.Manage'));
   23.37 -						// $this->Menu->AddLink('Dashboard', T('Users'), '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete'));
   23.38 -						$this->Menu->AddLink('Activity', T('Activity'), '/activity');
   23.39 -					 $Authenticator = Gdn::Authenticator();
   23.40 -						if ($Session->IsValid()) {
   23.41 -							$Name = $Session->User->Name;
   23.42 -							$CountNotifications = $Session->User->CountNotifications;
   23.43 -							if (is_numeric($CountNotifications) && $CountNotifications > 0)
   23.44 -								$Name .= ' <span>'.$CountNotifications.'</span>';
   23.45 -								
   23.46 -							$this->Menu->AddLink('User', "Profile ($Name)", '/profile/{UserID}/{Username}', array('Garden.SignIn.Allow'), array('class' => 'UserNotifications'));
   23.47 -							$this->Menu->AddLink('SignOut', T('Sign Out'), $Authenticator->SignOutUrl(), FALSE, array('class' => 'NonTab SignOut'));
   23.48 -						} else {
   23.49 -							$Attribs = array();
   23.50 -							if (C('Garden.SignIn.Popup') && strpos(Gdn::Request()->Url(), 'entry') === FALSE)
   23.51 -								$Attribs['class'] = 'SignInPopup';
   23.52 -								
   23.53 -							$this->Menu->AddLink('Entry', T('Sign In'), $Authenticator->SignInUrl($this->SelfUrl), FALSE, array('class' => 'NonTab'), $Attribs);
   23.54 -						}
   23.55 -						echo $this->Menu->ToString();
   23.56 -					}
   23.57 -				?>
   23.58 -				<div id="Search">
   23.59 -					<?php
   23.60 -						$Form = Gdn::Factory('Form');
   23.61 -						$Form->InputPrefix = '';
   23.62 -						echo 
   23.63 -							$Form->Open(array('action' => Url('/search'), 'method' => 'get')),
   23.64 -							$Form->TextBox('Search'),
   23.65 -							$Form->Button('Search', array('Name' => '')),
   23.66 -							$Form->Close();
   23.67 -					?>
   23.68 -				</div>
   23.69 -			</div>
   23.70 -			
   23.71 -			<div id="Footer">
   23.72 -				Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   23.73 -				<a href="http://vanillaforums.org">Powered by Vanilla</a>
   23.74 -			</div>
   23.75 -		</div>
   23.76 -
   23.77 -		<?php $this->FireEvent('AfterBody'); ?>
   23.78 -	</body>
   23.79 -</html>
    24.1 --- a/forum/themes/slitaz/views/discussion/comments.php	Wed Dec 22 10:36:12 2010 +0100
    24.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    24.3 @@ -1,25 +0,0 @@
    24.4 -<?php if (!defined('APPLICATION')) exit();
    24.5 -$Session = Gdn::Session();
    24.6 -$this->FireEvent('BeforeCommentsRender');
    24.7 -if (!function_exists('WriteComment'))
    24.8 -   include($this->FetchViewLocation('helper_functions', 'discussion'));
    24.9 -   
   24.10 -$CurrentOffset = $this->Offset;
   24.11 -if ($CurrentOffset == 0 && !$this->Data('NewComments', FALSE)) {
   24.12 -   echo WriteComment($this->Discussion, $this, $Session, $CurrentOffset);
   24.13 -}
   24.14 -
   24.15 -// Only prints individual comment list items
   24.16 -$CommentData = $this->CommentData->Result();
   24.17 -$i = 0;
   24.18 -foreach ($CommentData as $Comment) {
   24.19 -   ++$CurrentOffset;
   24.20 -   $this->CurrentComment = $Comment;
   24.21 -   if ($i % 2) {
   24.22 -		$counter = 'Odd';
   24.23 -   } else {
   24.24 -	   $counter = 'Even';
   24.25 -   }
   24.26 -   WriteComment($Comment, $this, $Session, $CurrentOffset, $counter);
   24.27 -   $i++;
   24.28 -}
    25.1 --- a/forum/themes/slitaz/views/discussion/helper_functions.php	Wed Dec 22 10:36:12 2010 +0100
    25.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    25.3 @@ -1,118 +0,0 @@
    25.4 -<?php if (!defined('APPLICATION')) exit();
    25.5 -
    25.6 -/**
    25.7 - * $Object is either a Comment or the original Discussion.
    25.8 - */
    25.9 -function WriteComment($Object, $Sender, $Session, $CurrentOffset, $counter) {
   25.10 -   $Author = UserBuilder($Object, 'Insert');
   25.11 -   $Type = property_exists($Object, 'CommentID') ? 'Comment' : 'Discussion';
   25.12 -	$Sender->EventArguments['Object'] = $Object;
   25.13 -   $Sender->EventArguments['Type'] = $Type;
   25.14 -   $Sender->EventArguments['Author'] = $Author;
   25.15 -   $CssClass = 'Item Comment ' . $counter;
   25.16 -   if ($Type == 'Comment') {
   25.17 -      $Sender->EventArguments['Comment'] = $Object;   
   25.18 -      $Id = 'Comment_'.$Object->CommentID;
   25.19 -      $Permalink = '/discussion/comment/'.$Object->CommentID.'/#Comment_'.$Object->CommentID;
   25.20 -   } else {
   25.21 -      $Sender->EventArguments['Discussion'] = $Object;   
   25.22 -      $CssClass .= ' FirstComment';
   25.23 -      $Id = 'Discussion_'.$Object->DiscussionID;
   25.24 -      $Permalink = '/discussion/'.$Object->DiscussionID.'/'.Gdn_Format::Url($Object->Name).'/p1';
   25.25 -   }
   25.26 -   $Sender->Options = '';
   25.27 -   $CssClass .= $Object->InsertUserID == $Session->UserID ? ' Mine' : '';
   25.28 -   $Sender->FireEvent('BeforeCommentDisplay');
   25.29 -?>
   25.30 -<li class="<?php echo $CssClass; ?>" id="<?php echo $Id; ?>">
   25.31 -   <div class="Comment">
   25.32 -      <div class="Meta">
   25.33 -         <?php $Sender->FireEvent('BeforeCommentMeta'); ?>
   25.34 -         <div class="Author">
   25.35 -            <?php
   25.36 -            echo UserPhoto($Author);
   25.37 -            echo UserAnchor($Author);
   25.38 -            ?>
   25.39 -			<div class="clear">&nbsp;</div>
   25.40 -         </div>
   25.41 -         <span class="DateCreated">
   25.42 -            <?php
   25.43 -            echo Gdn_Format::Date($Object->DateInserted);
   25.44 -            ?>
   25.45 -         </span>
   25.46 -         <span class="Permalink">
   25.47 -            <?php echo Anchor(T('Permalink'), $Permalink, 'Permalink', array('name' => 'Item_'.($CurrentOffset+1), 'rel' => 'nofollow')); ?>
   25.48 -         </span>
   25.49 -         <?php WriteOptionList($Object, $Sender, $Session); ?>
   25.50 -         <div class="CommentInfo">
   25.51 -            <?php $Sender->FireEvent('CommentInfo'); ?>
   25.52 -         </div>
   25.53 -         <?php $Sender->FireEvent('AfterCommentMeta'); ?>
   25.54 -      </div>
   25.55 -      <div class="Message">
   25.56 -			<?php $Sender->FireEvent('BeforeCommentBody'); ?>
   25.57 -			<?php 
   25.58 -			   $Object->FormatBody = Gdn_Format::To($Object->Body, $Object->Format);
   25.59 -			   $Sender->FireEvent('AfterCommentFormat');
   25.60 -			   $Object = $Sender->EventArguments['Object'];
   25.61 -			   echo $Object->FormatBody;
   25.62 -			?>
   25.63 -		</div><div class="clear">&nbsp;</div>
   25.64 -      <?php $Sender->FireEvent('AfterCommentBody'); ?>
   25.65 -   </div>
   25.66 -</li>
   25.67 -<?php
   25.68 -	$Sender->FireEvent('AfterComment');
   25.69 -}
   25.70 -
   25.71 -function WriteOptionList($Object, $Sender, $Session) {
   25.72 -   $EditContentTimeout = C('Garden.EditContentTimeout', -1);
   25.73 -	$CanEdit = $EditContentTimeout == -1 || strtotime($Object->DateInserted) + $EditContentTimeout > time();
   25.74 -	$TimeLeft = '';
   25.75 -	if ($CanEdit && $EditContentTimeout > 0) {
   25.76 -		$TimeLeft = strtotime($Object->DateInserted) + $EditContentTimeout - time();
   25.77 -		$TimeLeft = $TimeLeft > 0 ? ' ('.Gdn_Format::Seconds($TimeLeft).')' : '';
   25.78 -	}
   25.79 -
   25.80 -   $Sender->Options = '';
   25.81 -	$CategoryID = GetValue('CategoryID', $Object);
   25.82 -	if(!$CategoryID && property_exists($Sender, 'Discussion'))
   25.83 -		$CategoryID = GetValue('CategoryID', $Sender->Discussion);
   25.84 -		
   25.85 -   // Show discussion options if this is the discussion / first comment
   25.86 -   if ($Sender->EventArguments['Type'] == 'Discussion') {
   25.87 -      // Can the user edit the discussion?
   25.88 -      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $CategoryID))
   25.89 -         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editdiscussion/'.$Object->DiscussionID, 'EditDiscussion').$TimeLeft.'</span>';
   25.90 -         
   25.91 -      // Can the user announce?
   25.92 -      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $CategoryID))
   25.93 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</span>';
   25.94 -
   25.95 -      // Can the user sink?
   25.96 -      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $CategoryID))
   25.97 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</span>';
   25.98 -
   25.99 -      // Can the user close?
  25.100 -      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $CategoryID))
  25.101 -         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</span>';
  25.102 -      
  25.103 -      // Can the user delete?
  25.104 -      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $CategoryID))
  25.105 -         $Sender->Options .= '<span>'.Anchor(T('Delete Discussion'), 'vanilla/discussion/delete/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'DeleteDiscussion') . '</span>';
  25.106 -   } else {
  25.107 -      // And if this is just another comment in the discussion ...
  25.108 -      
  25.109 -      // Can the user edit the comment?
  25.110 -      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Comments.Edit', TRUE, 'Category', $Sender->Discussion->CategoryID))
  25.111 -         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editcomment/'.$Object->CommentID, 'EditComment').$TimeLeft.'</span>';
  25.112 -
  25.113 -      // Can the user delete the comment?
  25.114 -      if ($Session->CheckPermission('Vanilla.Comments.Delete', TRUE, 'Category', $CategoryID))
  25.115 -         $Sender->Options .= '<span>'.Anchor(T('Delete'), 'vanilla/discussion/deletecomment/'.$Object->CommentID.'/'.$Session->TransientKey().'/?Target='.urlencode($Sender->SelfUrl), 'DeleteComment') . '</span>';
  25.116 -   }
  25.117 -   
  25.118 -   // Allow plugins to add options
  25.119 -   $Sender->FireEvent('CommentOptions');
  25.120 -   echo $Sender->Options;
  25.121 -}
  25.122 \ No newline at end of file
    26.1 --- a/forum/themes/slitaz/views/discussions/helper_functions.php	Wed Dec 22 10:36:12 2010 +0100
    26.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    26.3 @@ -1,186 +0,0 @@
    26.4 -<?php
    26.5 -if (!defined('APPLICATION')) exit();
    26.6 -
    26.7 -function WriteDiscussion($Discussion, &$Sender, &$Session, $Alt) {
    26.8 -   $CssClass = 'Item';
    26.9 -   $CssClass .= $Discussion->Bookmarked == '1' ? ' Bookmarked' : '';
   26.10 -   $CssClass .= $Discussion->Closed == '1' ? ' Closed' : '';
   26.11 -   $CssClass .= $Alt.' ';
   26.12 -   $CssClass .= $Discussion->Announce == '1' ? ' Announcement' : '';
   26.13 -   $CssClass .= $Discussion->Dismissed == '1' ? ' Dismissed' : '';
   26.14 -   $CssClass .= $Discussion->InsertUserID == $Session->UserID ? ' Mine' : '';
   26.15 -   $CssClass .= ($Discussion->CountUnreadComments > 0 && $Session->IsValid()) ? ' New' : '';
   26.16 -   $Sender->EventArguments['Discussion'] = &$Discussion;
   26.17 -   $First = UserBuilder($Discussion, 'First');
   26.18 -   $Last = UserBuilder($Discussion, 'Last');
   26.19 -   
   26.20 -   $Sender->FireEvent('BeforeDiscussionName');
   26.21 -   
   26.22 -   $DiscussionName = Gdn_Format::Text($Discussion->Name);
   26.23 -   if ($DiscussionName == '')
   26.24 -      $DiscussionName = T('Blank Discussion Topic');
   26.25 -
   26.26 -   static $FirstDiscussion = TRUE;
   26.27 -   if (!$FirstDiscussion)
   26.28 -      $Sender->FireEvent('BetweenDiscussion');
   26.29 -   else
   26.30 -      $FirstDiscussion = FALSE;
   26.31 -?>
   26.32 -<li class="<?php echo $CssClass; ?> ">
   26.33 -   <?php
   26.34 -   $Sender->FireEvent('BeforeDiscussionContent');
   26.35 -   WriteOptions($Discussion, $Sender, $Session);
   26.36 -   ?>
   26.37 -   <div class="ItemContent Discussion">
   26.38 -      <?php echo Anchor($DiscussionName, '/discussion/'.$Discussion->DiscussionID.'/'.Gdn_Format::Url($Discussion->Name).($Discussion->CountCommentWatch > 0 && C('Vanilla.Comments.AutoOffset') ? '/#Item_'.$Discussion->CountCommentWatch : ''), 'Title'); ?>
   26.39 -      <?php $Sender->FireEvent('AfterDiscussionTitle'); ?>
   26.40 -      <div class="Meta">
   26.41 -         <?php if ($Discussion->Announce == '1') { ?>
   26.42 -         <span class="Announcement"><?php echo T('Announcement'); ?></span>
   26.43 -         <?php } ?>
   26.44 -         <?php if ($Discussion->Closed == '1') { ?>
   26.45 -         <span class="Closed"><?php echo T('Closed'); ?></span>
   26.46 -         <?php } ?>
   26.47 -         <span class="CommentCount"><?php printf(Plural($Discussion->CountComments, '%s comment', '%s comments'), $Discussion->CountComments); ?></span>
   26.48 -         <?php
   26.49 -            if ($Session->IsValid() && $Discussion->CountUnreadComments > 0)
   26.50 -               echo '<strong>'.Plural($Discussion->CountUnreadComments, '%s New', '%s New Plural').'</strong>';
   26.51 -
   26.52 -            if ($Discussion->LastCommentID != '') {
   26.53 -               echo '<span class="LastCommentBy">'.sprintf(T('Most recent by %1$s'), UserAnchor($Last)).'</span>';
   26.54 -               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->LastDate).'</span>';
   26.55 -            } else {
   26.56 -               echo '<span class="LastCommentBy">'.sprintf(T('Started by %1$s'), UserAnchor($First)).'</span>';
   26.57 -               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->FirstDate).'</span>';
   26.58 -            }
   26.59 -         
   26.60 -            if (C('Vanilla.Categories.Use'))
   26.61 -               echo Wrap(Anchor($Discussion->Category, '/categories/'.$Discussion->CategoryUrlCode, 'Category'));
   26.62 -               
   26.63 -            $Sender->FireEvent('DiscussionMeta');
   26.64 -         ?>
   26.65 -      </div>
   26.66 -   </div>
   26.67 -</li>
   26.68 -<?php
   26.69 -}
   26.70 -
   26.71 -function WriteFilterTabs(&$Sender) {
   26.72 -   $Session = Gdn::Session();
   26.73 -   $Title = property_exists($Sender, 'Category') && is_object($Sender->Category) ? $Sender->Category->Name : T('All Discussions');
   26.74 -   $Bookmarked = T('My Bookmarks');
   26.75 -   $MyDiscussions = T('My Discussions');
   26.76 -   $MyDrafts = T('My Drafts');
   26.77 -   $CountBookmarks = 0;
   26.78 -   $CountDiscussions = 0;
   26.79 -   $CountDrafts = 0;
   26.80 -   if ($Session->IsValid()) {
   26.81 -      $CountBookmarks = $Session->User->CountBookmarks;
   26.82 -      $CountDiscussions = $Session->User->CountDiscussions;
   26.83 -      $CountDrafts = $Session->User->CountDrafts;
   26.84 -   }
   26.85 -   if (is_numeric($CountBookmarks) && $CountBookmarks > 0)
   26.86 -      $Bookmarked .= '<span>'.$CountBookmarks.'</span>';
   26.87 -
   26.88 -   if (is_numeric($CountDiscussions) && $CountDiscussions > 0)
   26.89 -      $MyDiscussions .= '<span>'.$CountDiscussions.'</span>';
   26.90 -
   26.91 -   if (is_numeric($CountDrafts) && $CountDrafts > 0)
   26.92 -      $MyDrafts .= '<span>'.$CountDrafts.'</span>';
   26.93 -      
   26.94 -   ?>
   26.95 -<div class="Tabs DiscussionsTabs">
   26.96 -   <ul>
   26.97 -      <?php $Sender->FireEvent('BeforeDiscussionTabs'); ?>
   26.98 -      <li<?php echo strtolower($Sender->ControllerName) == 'discussionscontroller' && strtolower($Sender->RequestMethod) == 'index' ? ' class="Active"' : ''; ?>><?php echo Anchor(T('All Discussions'), 'discussions'); ?></li>
   26.99 -      <?php $Sender->FireEvent('AfterAllDiscussionsTab'); ?>
  26.100 -      <?php if ($CountBookmarks > 0 || $Sender->RequestMethod == 'bookmarked') { ?>
  26.101 -      <li<?php echo $Sender->RequestMethod == 'bookmarked' ? ' class="Active"' : ''; ?>><?php echo Anchor($Bookmarked, '/discussions/bookmarked', 'MyBookmarks'); ?></li>
  26.102 -      <?php
  26.103 -         $Sender->FireEvent('AfterBookmarksTab');
  26.104 -      }
  26.105 -      if ($CountDiscussions > 0 || $Sender->RequestMethod == 'mine') {
  26.106 -      ?>
  26.107 -      <li<?php echo $Sender->RequestMethod == 'mine' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDiscussions, '/discussions/mine', 'MyDiscussions'); ?></li>
  26.108 -      <?php
  26.109 -      }
  26.110 -      if ($CountDrafts > 0 || $Sender->ControllerName == 'draftscontroller') {
  26.111 -      ?>
  26.112 -      <li<?php echo $Sender->ControllerName == 'draftscontroller' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDrafts, '/drafts', 'MyDrafts'); ?></li>
  26.113 -      <?php
  26.114 -      }
  26.115 -      $Sender->FireEvent('AfterDiscussionTabs');
  26.116 -      ?>
  26.117 -   </ul>
  26.118 -   <?php
  26.119 -   if (property_exists($Sender, 'Category') && is_object($Sender->Category)) {
  26.120 -      ?>
  26.121 -      <div class="SubTab">↳ <?php echo $Sender->Category->Name; ?></div>
  26.122 -      <?php
  26.123 -   }
  26.124 -   ?>
  26.125 -</div>
  26.126 -   <?php
  26.127 -}
  26.128 -
  26.129 -/**
  26.130 - * Render options that the user has for this discussion.
  26.131 - */
  26.132 -function WriteOptions($Discussion, &$Sender, &$Session) {
  26.133 -   if ($Session->IsValid() && $Sender->ShowOptions) {
  26.134 -      echo '<div class="Options">';
  26.135 -      // Bookmark link
  26.136 -      $Title = T($Discussion->Bookmarked == '1' ? 'Unbookmark' : 'Bookmark');
  26.137 -      echo Anchor(
  26.138 -         '<span class="Star">'
  26.139 -            .Img('applications/dashboard/design/images/pixel.png', array('alt' => $Title))
  26.140 -         .'</span>',
  26.141 -         '/vanilla/discussion/bookmark/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl),
  26.142 -         'Bookmark' . ($Discussion->Bookmarked == '1' ? ' Bookmarked' : ''),
  26.143 -         array('title' => $Title)
  26.144 -      );
  26.145 -      
  26.146 -      $Sender->Options = '';
  26.147 -      
  26.148 -      // Dismiss an announcement
  26.149 -      if (C('Vanilla.Discussions.Dismiss', 1) && $Discussion->Announce == '1' && $Discussion->Dismissed != '1')
  26.150 -         $Sender->Options .= '<li>'.Anchor(T('Dismiss'), 'vanilla/discussion/dismissannouncement/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'DismissAnnouncement') . '</li>';
  26.151 -      
  26.152 -      // Edit discussion
  26.153 -      if ($Discussion->FirstUserID == $Session->UserID || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $Discussion->CategoryID))
  26.154 -         $Sender->Options .= '<li>'.Anchor(T('Edit'), 'vanilla/post/editdiscussion/'.$Discussion->DiscussionID, 'EditDiscussion') . '</li>';
  26.155 -
  26.156 -      // Announce discussion
  26.157 -      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $Discussion->CategoryID))
  26.158 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</li>';
  26.159 -
  26.160 -      // Sink discussion
  26.161 -      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $Discussion->CategoryID))
  26.162 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</li>';
  26.163 -
  26.164 -      // Close discussion
  26.165 -      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $Discussion->CategoryID))
  26.166 -         $Sender->Options .= '<li>'.Anchor(T($Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</li>';
  26.167 -      
  26.168 -      // Delete discussion
  26.169 -      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $Discussion->CategoryID))
  26.170 -         $Sender->Options .= '<li>'.Anchor(T('Delete'), 'vanilla/discussion/delete/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'DeleteDiscussion') . '</li>';
  26.171 -      
  26.172 -      // Allow plugins to add options
  26.173 -      $Sender->FireEvent('DiscussionOptions');
  26.174 -      
  26.175 -      if ($Sender->Options != '') {
  26.176 -      ?>
  26.177 -         <ul class="Options">
  26.178 -            <li>
  26.179 -               <strong><?php echo T('Options'); ?></strong>
  26.180 -               <ul>
  26.181 -                  <?php echo $Sender->Options; ?>
  26.182 -               </ul>
  26.183 -            </li>
  26.184 -         </ul>
  26.185 -      <?php
  26.186 -      }
  26.187 -      echo '</div>';
  26.188 -   }
  26.189 -}
  26.190 \ No newline at end of file
    27.1 --- a/forum/vanilla-config/config.php	Wed Dec 22 10:36:12 2010 +0100
    27.2 +++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
    27.3 @@ -1,72 +0,0 @@
    27.4 -<?php if (!defined('APPLICATION')) exit();
    27.5 -
    27.6 -// Conversations
    27.7 -$Configuration['Conversations']['Version'] = '2.0.16';
    27.8 -
    27.9 -// Database
   27.10 -$Configuration['Database']['Name'] = 'slitaz_forum';
   27.11 -$Configuration['Database']['Host'] = 'localhost';
   27.12 -$Configuration['Database']['User'] = '***'; 
   27.13 -$Configuration['Database']['Password'] = '***';
   27.14 -
   27.15 -// EnabledApplications
   27.16 -$Configuration['EnabledApplications']['Conversations'] = 'conversations';
   27.17 -$Configuration['EnabledApplications']['Skeleton'] = 'skeleton';
   27.18 -$Configuration['EnabledApplications']['Vanilla'] = 'vanilla';
   27.19 -
   27.20 -// EnabledPlugins
   27.21 -$Configuration['EnabledPlugins']['HtmLawed'] = 'HtmLawed';
   27.22 -$Configuration['EnabledPlugins']['Gravatar'] = 'Gravatar';
   27.23 -$Configuration['EnabledPlugins']['FileUpload'] = 'FileUpload';
   27.24 -$Configuration['EnabledPlugins']['WhosOnline'] = 'WhosOnline';
   27.25 -$Configuration['EnabledPlugins']['Minify'] = 'Minify';
   27.26 -$Configuration['EnabledPlugins']['cleditor'] = 'cleditor';
   27.27 -$Configuration['EnabledPlugins']['Tagging'] = 'Tagging';
   27.28 -
   27.29 -// Garden
   27.30 -$Configuration['Garden']['Title'] = 'SliTaz Forum';
   27.31 -$Configuration['Garden']['Cookie']['Salt'] = 'VS0GNTQ0ML';
   27.32 -$Configuration['Garden']['Cookie']['Domain'] = '';
   27.33 -$Configuration['Garden']['Version'] = '2.0.16';
   27.34 -$Configuration['Garden']['RewriteUrls'] = FALSE;
   27.35 -$Configuration['Garden']['CanProcessImages'] = TRUE;
   27.36 -$Configuration['Garden']['Installed'] = TRUE;
   27.37 -$Configuration['Garden']['Errors']['MasterView'] = 'error.master.php';
   27.38 -$Configuration['Garden']['Theme'] = 'slitaz-2';
   27.39 -$Configuration['Garden']['Messages']['Cache'] = 'a:1:{i:0;s:6:"[Base]";}';
   27.40 -$Configuration['Garden']['EditContentTimeout'] = '-1';
   27.41 -$Configuration['Garden']['RequiredUpdates'] = 'a:0:{}';
   27.42 -$Configuration['Garden']['UpdateCheckDate'] = 1292966704;
   27.43 -$Configuration['Garden']['Registration']['Method'] = 'Captcha';
   27.44 -$Configuration['Garden']['Registration']['CaptchaPrivateKey'] = '6Ld7zwgAAAAAAPo5ydoZaBn_8Wapn7nb0dypEf6M';
   27.45 -$Configuration['Garden']['Registration']['CaptchaPublicKey'] = '6Ld7zwgAAAAAALF1IeGgtdlEg1WYupYxd5ZqGIpg';
   27.46 -$Configuration['Garden']['Registration']['InviteExpiration'] = '-1 week';
   27.47 -$Configuration['Garden']['Registration']['InviteRoles'] = 'a:2:{i:8;s:1:"0";i:16;s:1:"0";}';
   27.48 -
   27.49 -// Plugins
   27.50 -$Configuration['Plugins']['GettingStarted']['Dashboard'] = '1';
   27.51 -$Configuration['Plugins']['GettingStarted']['Categories'] = '1';
   27.52 -$Configuration['Plugins']['GettingStarted']['Plugins'] = '1';
   27.53 -$Configuration['Plugins']['GettingStarted']['Discussion'] = '1';
   27.54 -$Configuration['Plugins']['FileUpload']['Enabled'] = TRUE;
   27.55 -$Configuration['Plugins']['OpenID']['Enabled'] = FALSE;
   27.56 -$Configuration['Plugins']['Tagging']['Enabled'] = TRUE;
   27.57 -
   27.58 -// Routes
   27.59 -$Configuration['Routes']['DefaultController'] = 'a:2:{i:0;s:10:"categories";i:1;s:8:"Internal";}';
   27.60 -
   27.61 -// Vanilla
   27.62 -$Configuration['Vanilla']['Version'] = '2.0.16';
   27.63 -$Configuration['Vanilla']['Categories']['Use'] = TRUE;
   27.64 -$Configuration['Vanilla']['Discussions']['PerPage'] = '30';
   27.65 -$Configuration['Vanilla']['Comments']['AutoRefresh'] = '0';
   27.66 -$Configuration['Vanilla']['Comments']['PerPage'] = '50';
   27.67 -$Configuration['Vanilla']['Archive']['Date'] = '';
   27.68 -$Configuration['Vanilla']['Archive']['Exclude'] = FALSE;
   27.69 -
   27.70 -// WhosOnline
   27.71 -$Configuration['WhosOnline']['Frequency'] = '20';
   27.72 -$Configuration['WhosOnline']['Location']['Show'] = 'every';
   27.73 -$Configuration['WhosOnline']['Hide'] = TRUE;
   27.74 -
   27.75 -// Last edited by pankso (213.3.10.214)2010-12-21 16:25:04
   27.76 \ No newline at end of file
    28.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    28.2 +++ b/forum/vanilla/conf/config.php	Wed Dec 22 10:41:18 2010 +0100
    28.3 @@ -0,0 +1,72 @@
    28.4 +<?php if (!defined('APPLICATION')) exit();
    28.5 +
    28.6 +// Conversations
    28.7 +$Configuration['Conversations']['Version'] = '2.0.16';
    28.8 +
    28.9 +// Database
   28.10 +$Configuration['Database']['Name'] = 'slitaz_forum';
   28.11 +$Configuration['Database']['Host'] = 'localhost';
   28.12 +$Configuration['Database']['User'] = '***'; 
   28.13 +$Configuration['Database']['Password'] = '***';
   28.14 +
   28.15 +// EnabledApplications
   28.16 +$Configuration['EnabledApplications']['Conversations'] = 'conversations';
   28.17 +$Configuration['EnabledApplications']['Skeleton'] = 'skeleton';
   28.18 +$Configuration['EnabledApplications']['Vanilla'] = 'vanilla';
   28.19 +
   28.20 +// EnabledPlugins
   28.21 +$Configuration['EnabledPlugins']['HtmLawed'] = 'HtmLawed';
   28.22 +$Configuration['EnabledPlugins']['Gravatar'] = 'Gravatar';
   28.23 +$Configuration['EnabledPlugins']['FileUpload'] = 'FileUpload';
   28.24 +$Configuration['EnabledPlugins']['WhosOnline'] = 'WhosOnline';
   28.25 +$Configuration['EnabledPlugins']['Minify'] = 'Minify';
   28.26 +$Configuration['EnabledPlugins']['cleditor'] = 'cleditor';
   28.27 +$Configuration['EnabledPlugins']['Tagging'] = 'Tagging';
   28.28 +
   28.29 +// Garden
   28.30 +$Configuration['Garden']['Title'] = 'SliTaz Forum';
   28.31 +$Configuration['Garden']['Cookie']['Salt'] = 'VS0GNTQ0ML';
   28.32 +$Configuration['Garden']['Cookie']['Domain'] = '';
   28.33 +$Configuration['Garden']['Version'] = '2.0.16';
   28.34 +$Configuration['Garden']['RewriteUrls'] = FALSE;
   28.35 +$Configuration['Garden']['CanProcessImages'] = TRUE;
   28.36 +$Configuration['Garden']['Installed'] = TRUE;
   28.37 +$Configuration['Garden']['Errors']['MasterView'] = 'error.master.php';
   28.38 +$Configuration['Garden']['Theme'] = 'slitaz-2';
   28.39 +$Configuration['Garden']['Messages']['Cache'] = 'a:1:{i:0;s:6:"[Base]";}';
   28.40 +$Configuration['Garden']['EditContentTimeout'] = '-1';
   28.41 +$Configuration['Garden']['RequiredUpdates'] = 'a:0:{}';
   28.42 +$Configuration['Garden']['UpdateCheckDate'] = 1292966704;
   28.43 +$Configuration['Garden']['Registration']['Method'] = 'Captcha';
   28.44 +$Configuration['Garden']['Registration']['CaptchaPrivateKey'] = '6Ld7zwgAAAAAAPo5ydoZaBn_8Wapn7nb0dypEf6M';
   28.45 +$Configuration['Garden']['Registration']['CaptchaPublicKey'] = '6Ld7zwgAAAAAALF1IeGgtdlEg1WYupYxd5ZqGIpg';
   28.46 +$Configuration['Garden']['Registration']['InviteExpiration'] = '-1 week';
   28.47 +$Configuration['Garden']['Registration']['InviteRoles'] = 'a:2:{i:8;s:1:"0";i:16;s:1:"0";}';
   28.48 +
   28.49 +// Plugins
   28.50 +$Configuration['Plugins']['GettingStarted']['Dashboard'] = '1';
   28.51 +$Configuration['Plugins']['GettingStarted']['Categories'] = '1';
   28.52 +$Configuration['Plugins']['GettingStarted']['Plugins'] = '1';
   28.53 +$Configuration['Plugins']['GettingStarted']['Discussion'] = '1';
   28.54 +$Configuration['Plugins']['FileUpload']['Enabled'] = TRUE;
   28.55 +$Configuration['Plugins']['OpenID']['Enabled'] = FALSE;
   28.56 +$Configuration['Plugins']['Tagging']['Enabled'] = TRUE;
   28.57 +
   28.58 +// Routes
   28.59 +$Configuration['Routes']['DefaultController'] = 'a:2:{i:0;s:10:"categories";i:1;s:8:"Internal";}';
   28.60 +
   28.61 +// Vanilla
   28.62 +$Configuration['Vanilla']['Version'] = '2.0.16';
   28.63 +$Configuration['Vanilla']['Categories']['Use'] = TRUE;
   28.64 +$Configuration['Vanilla']['Discussions']['PerPage'] = '30';
   28.65 +$Configuration['Vanilla']['Comments']['AutoRefresh'] = '0';
   28.66 +$Configuration['Vanilla']['Comments']['PerPage'] = '50';
   28.67 +$Configuration['Vanilla']['Archive']['Date'] = '';
   28.68 +$Configuration['Vanilla']['Archive']['Exclude'] = FALSE;
   28.69 +
   28.70 +// WhosOnline
   28.71 +$Configuration['WhosOnline']['Frequency'] = '20';
   28.72 +$Configuration['WhosOnline']['Location']['Show'] = 'every';
   28.73 +$Configuration['WhosOnline']['Hide'] = TRUE;
   28.74 +
   28.75 +// Last edited by pankso (213.3.10.214)2010-12-21 16:25:04
   28.76 \ No newline at end of file
    29.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    29.2 +++ b/forum/vanilla/themes/slitaz-2/README.txt	Wed Dec 22 10:41:18 2010 +0100
    29.3 @@ -0,0 +1,45 @@
    29.4 +How to create a theme:
    29.5 +
    29.6 +Part 1: CSS / Design
    29.7 +================================================================================
    29.8 +1. Copy this "default" theme folder and rename it to your new theme name.
    29.9 +2. Open the "about.php" file and edit the information to reflect your theme. Be
   29.10 +   sure to change the array key like this: $ThemeInfo['YourThemeNameHere'].
   29.11 +3. Create a "design" subfolder and copy /applications/dashboard/design/style.css 
   29.12 +   and /applications/vanilla/design/vanilla.css into it.
   29.13 +4. Any background images you want to continue using (like the star png images
   29.14 +   for bookmarking) should be copied along with their respective stylesheets.
   29.15 +5. Go to your Dashboard, Themes, and apply your new theme.
   29.16 +6. Edit the copied CSS files to look however you wish!
   29.17 +
   29.18 +Other things you should know:
   29.19 +
   29.20 + + All non-forum pages should be edited in the global "style.css" file.
   29.21 +
   29.22 + + If you want to edit the look & feel of the administrative screens, also 
   29.23 +   copy /applications/dashboard/design/admin.css in step 3. Similarly, you can 
   29.24 +   copy other CSS files like /applications/vanilla/design/vanillaprofile.css to
   29.25 +   customize those pages as well.
   29.26 +
   29.27 +
   29.28 +Part 2: HTML / Views
   29.29 +================================================================================
   29.30 +If you want to customize the HTML, you can edit that too. 
   29.31 +Our pages are made up of two parts:
   29.32 +
   29.33 + 1. Master Views - these represent everything that wraps the main content of the
   29.34 +   page. If all you want to do is add a menu or banner above Vanilla, this is
   29.35 +   all you need to alter. To do so, copy the default master view from
   29.36 +   /applications/dashboard/views/default.master.php to
   29.37 +   /themes/yourtheme/views/default.master.php and edit it there.
   29.38 +   
   29.39 + 2. Views - these represent all of the content in each page. Every application
   29.40 +   has a "views" folder that contains all of the HTML for every page. So, for
   29.41 +   example, if you wanted to edit the HTML for the Discussions list, you could
   29.42 +   copy the views from /applications/vanilla/views/discussions to
   29.43 +   /themes/yourtheme/views/discussions and edit them there.
   29.44 +
   29.45 +You can avoid naming conflicts between applications' views and specify which 
   29.46 +app a view is for by optionally adding a subfolder with the app's name in 
   29.47 +/themes/yourtheme/views/ (e.g.: /themes/yourtheme/views/appname/) and placing 
   29.48 +views there rather than directly in the "views" folder.
   29.49 \ No newline at end of file
    30.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    30.2 +++ b/forum/vanilla/themes/slitaz-2/about.php	Wed Dec 22 10:41:18 2010 +0100
    30.3 @@ -0,0 +1,21 @@
    30.4 +<?php if (!defined('APPLICATION')) exit();
    30.5 +/*
    30.6 +Copyright 2008, 2009 Vanilla Forums Inc.
    30.7 +This file is part of Garden.
    30.8 +Garden is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    30.9 +Garden is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   30.10 +You should have received a copy of the GNU General Public License along with Garden.  If not, see <http://www.gnu.org/licenses/>.
   30.11 +Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com
   30.12 +*/
   30.13 +
   30.14 +/**
   30.15 + * An associative array of information about this application.
   30.16 + */
   30.17 +$ThemeInfo['SliTaz-2'] = array(
   30.18 +   'Name' => 'SliTaz-2',
   30.19 +   'Description' => "SliTaz Vanilla 2 official theme",
   30.20 +   'Version' => '2.0',
   30.21 +   'Author' => "Christophe Lincoln",
   30.22 +   'AuthorEmail' => 'pankso@slitaz.org',
   30.23 +   'AuthorUrl' => 'http://www.slitaz.org'
   30.24 +);
    31.1 Binary file forum/vanilla/themes/slitaz-2/design/favicon.ico has changed
    32.1 Binary file forum/vanilla/themes/slitaz-2/design/favicon.png has changed
    33.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    33.2 +++ b/forum/vanilla/themes/slitaz-2/design/style.css	Wed Dec 22 10:41:18 2010 +0100
    33.3 @@ -0,0 +1,422 @@
    33.4 +@charset "utf-8";
    33.5 +/* CSS Document */
    33.6 +
    33.7 +/***--- MAIN / DEFAULT --***/
    33.8 +html, body	{ height: 102%; margin: 0; }
    33.9 +html, body, input, select, textarea, button {
   33.10 +	font-family: Verdana, Geneva, sans-serif;
   33.11 +	font-size: 11px;
   33.12 +	line-height: 17px;
   33.13 +	color: #555;
   33.14 +}
   33.15 +a			{ color: #2f6c8e; text-decoration: none; }
   33.16 +a:hover		{ color: #69a1c1; }
   33.17 +a img		{ border: none; }
   33.18 +ul, ol		{ margin: 0; padding: 0; list-style: none; }
   33.19 +
   33.20 +.clear {
   33.21 +    clear: both;
   33.22 +    display: block;
   33.23 +    height: 0;
   33.24 +    overflow: hidden;
   33.25 +    visibility: hidden;
   33.26 +    width: 0;
   33.27 +}
   33.28 +
   33.29 +#Wrapper	{ min-height: 100%; position: relative; margin: 0 auto; }
   33.30 +.Hidden		{ display: none; }
   33.31 +
   33.32 +/***--- HEADER(S) --***/
   33.33 +
   33.34 +
   33.35 +#Header h1	{ padding: 15px; font-size: 2em; }
   33.36 +#Header a	{ color: #69a1c1; }
   33.37 +#Header a:hover	{ color: #FFF; }
   33.38 +
   33.39 +#Header{
   33.40 +	background: #f0ba08 url(../images/header.png) repeat-x top;
   33.41 +	color: black;
   33.42 +	width: 100%;
   33.43 +	height: 50px;
   33.44 +	border-top: 1px solid black;
   33.45 +	border-bottom: 1px solid black;
   33.46 +	margin-bottom: 30px;
   33.47 +	position: absolute;
   33.48 +	top: 0;
   33.49 +}
   33.50 +
   33.51 +#titre {
   33.52 +	position: absolute;
   33.53 +	font-size: 16px;
   33.54 +	font-weight: bolder ;
   33.55 +	margin-left: 200px;
   33.56 +	margin-top: 28px;
   33.57 +}
   33.58 +
   33.59 +#logo {
   33.60 +	position: absolute;
   33.61 +	float: left;
   33.62 +	margin-left: 16px;
   33.63 +	margin-top: 0px;
   33.64 +}
   33.65 +
   33.66 +/***--- NAV --***/
   33.67 +#Nav { 
   33.68 +	right: 0;
   33.69 +	position: absolute;
   33.70 +	top: 3px;
   33.71 +	font-size: 10px;
   33.72 +	font-weight: bold; }
   33.73 +
   33.74 +/* search */
   33.75 +#Search { 
   33.76 +	-moz-border-radius: 4px;
   33.77 +	-webkit-border-radius: 4px; 
   33.78 +	height: 20px; 
   33.79 +	float: right; 
   33.80 +	background: #FFF; 
   33.81 +	padding: 2px 2px; 
   33.82 +	margin: 11px 95px 0 0; }
   33.83 +#Search form	{ padding: 0; border: none; }
   33.84 +#Nav #Search input.InputBox	{ width: 150px; border: none; }
   33.85 +#Search input.Button {
   33.86 +	-moz-border-radius: 4px;
   33.87 +	-webkit-border-radius: 4px;
   33.88 +	height: 17px;
   33.89 +	margin: 0;
   33.90 +	padding: 0; }
   33.91 +
   33.92 +/***--- MAIN --***/
   33.93 +/*#Main	{ }*/
   33.94 +
   33.95 +/* If you prefer the panel on the left and content on the right, simply switch the "float" property for #Content & #Panel and set the "margin-left" to "margin-right" for the #Content */
   33.96 +#Content		{ 
   33.97 +	margin: 0px 320px 0px 0px;
   33.98 +	padding: 86px 40px 65px 80px;
   33.99 +	}
  33.100 +#Panel			{
  33.101 +	position: absolute;
  33.102 +	top: 76px;
  33.103 +	right: 80px;
  33.104 +	color: #555555;
  33.105 +	float: right;
  33.106 +	width: 250px;
  33.107 +	line-height: 1.5em;
  33.108 +	text-align: left;
  33.109 +	font-size: 12px;
  33.110 +	 }
  33.111 +.Box, #UserOptions {
  33.112 +	-moz-border-radius: 8px;
  33.113 +	-webkit-border-radius: 8px;
  33.114 +	list-style-type: none;
  33.115 +	margin: 10px 0;
  33.116 +	padding: 10px 24px 10px 24px;
  33.117 +	background-color: #eaeaea;}
  33.118 +#Panel .Box ul {
  33.119 +	list-style-type: none;
  33.120 +	margin: 0;
  33.121 +	padding: 10px 24px 10px 0px;
  33.122 +	font-weight: bold;
  33.123 +}
  33.124 +
  33.125 +/***--- CONTENT --***/
  33.126 +.GuestBox	{ background: #eaeaea; }
  33.127 +.GuestBox p	{ padding: 0; }
  33.128 +.Message img	{ max-width: 100%; }
  33.129 +
  33.130 +/* headers */
  33.131 +h1				{ margin: 0; font-size: 1.5em; }
  33.132 +#Content h1, h2, #Popup h1, div.DiscussionTabs .SubTab {
  33.133 +	-moz-border-radius: 8px;
  33.134 +	-webkit-border-radius: 8px;
  33.135 +	font-size: 1.1em; background: #555555; color: #fff; margin: 0 0 10px; padding: 10px; font-weight: bold;
  33.136 +}
  33.137 +div.DiscussionTabs .SubTab	{ margin: 0; }
  33.138 +
  33.139 +#Panel h4, #Panel .GuestBox h4 {
  33.140 +	font-size: 110%;
  33.141 +	color: #666666;
  33.142 +	font-weight: bold;
  33.143 +	padding: 0 0 1px 0;
  33.144 +	margin: 0;
  33.145 +	border-bottom: 1px solid #cecece; }
  33.146 +
  33.147 +div.Empty, div#Status	{ padding: 10px; }
  33.148 +
  33.149 +/* tabs */
  33.150 +.Tabs li, .SubTab	{
  33.151 +	-moz-border-radius: 8px;
  33.152 +	-webkit-border-radius: 8px;
  33.153 +	background: #CECECE;
  33.154 +	padding: 5px 8px;
  33.155 +	font-size: 140%;
  33.156 +	font-weight: bold;
  33.157 +	border-bottom: 1px solid #fff; }
  33.158 +.Tabs li.Active		{ background: #555; border-bottom: none; }
  33.159 +.Tabs li.Active a	{ color: #fff; }
  33.160 +.Tabs span			{ display: inline-block; margin: 0 10px; color: #888; }
  33.161 +.SubTab				{ font-size: 1em; }
  33.162 +
  33.163 +/* DISCUSSIONS */
  33.164 +.DataList li.Item, .Conversation li.Item {
  33.165 +	border-bottom: 1px solid #ccc;
  33.166 +	position: relative;
  33.167 +	padding: 10px;
  33.168 +	-moz-border-radius: 8px;
  33.169 +	-webkit-border-radius: 8px;
  33.170 +}
  33.171 +.Activities li.Item	{ min-height: 50px; }
  33.172 +.DataList li.Item a.Title	{ display: block; font-size: 1.15em; font-weight: bold; padding: 0 0 8px; }
  33.173 +
  33.174 +/* discussions meta */
  33.175 +.DataList .Meta span, .DataList .Meta strong {
  33.176 +	min-width: 100px; display: inline-block; margin: 0 5px 0 0;
  33.177 +}
  33.178 +.DataList .Meta .LastCommentBy		{ width: 175px; }
  33.179 +.DataList .Meta .LastCommentDate	{ width: 100px; }
  33.180 +
  33.181 +/* discussions highlight */
  33.182 +.DataList li.Mine			{ background: #f1f1f1; border-bottom-color: #fff; }
  33.183 +.DataList li.New			{ background: #d8ecbc; }
  33.184 +.DataList li.Bookmarked		{ background: #ffdf5d; border-bottom-color: #fff; }
  33.185 +
  33.186 +.DataList li.Closed		{ background: #eee; }
  33.187 +.DataList .Meta .Closed			{ color: #333; }
  33.188 +.DataList li.Closed a.Title	{ text-decoration: line-through; }
  33.189 +
  33.190 +.DataList li.Announcement	{ background: #FFC; }
  33.191 +.DataList .Meta .Announcement, .DataList .Meta .Closed {
  33.192 +	width: 100px; font-weight: bold;
  33.193 +}
  33.194 +.DataList .Meta .Announcement	{ color: #C60; }
  33.195 +
  33.196 +/* DISCUSSION */
  33.197 +div.DiscussionTabs li		{ font-size: 1em; }
  33.198 +ul.Discussion				{ margin: 0 0 10px; }
  33.199 +
  33.200 +/* bookmark */
  33.201 +a.Bookmark					{ width: 9px; height: 9px; position: absolute; top: 8px; right: 10px; font-size: 0; background: #fff; border: 1px dotted #ffcc00; }
  33.202 +.Discussion a.Bookmark		{ top: 41px; }
  33.203 +a.Bookmarked 				{ background: #ffcc00; border: 1px solid #fff; }
  33.204 +div.Options a.Bookmark		{ top: 14px; }
  33.205 +
  33.206 +div.Comment {
  33.207 +	position: relative; 
  33.208 +	border-bottom: 1px dotted #ccc;
  33.209 +	padding: 10px; }
  33.210 +li.Even			{ background: #f8f8f8; }
  33.211 +
  33.212 +/* discussion meta */
  33.213 +.Comment .Message, .Comment .MessageForm, .ConversationMessage .Message {
  33.214 +	margin-left: 215px; line-height: 1.75em;
  33.215 +}
  33.216 +.Comment .Meta, .ConversationMessage .Meta {
  33.217 +	width: 175px; float: left; padding: 10px; background: #FFC;
  33.218 +	-moz-border-radius: 8px;
  33.219 +	-webkit-border-radius: 8px;
  33.220 +}
  33.221 +.Comment .Meta span, .ConversationMessage .Meta span, div.Meta div.PostCount {
  33.222 +	display: block; border-bottom: 1px dotted #ccc; font-size: 0.85em; padding: 1px 0; 
  33.223 +}
  33.224 +.Comment .Author, .ConversationMessage span.Author {
  33.225 +	background: #fff; padding: 5px; border-bottom: none;
  33.226 +}
  33.227 +.Comment .Author img, .ConversationMessage .Author a.Photo {
  33.228 +	float: left; margin: 0 10px 0 0;
  33.229 +}
  33.230 +.Comment .Author a, .ConversationMessage .Author a {
  33.231 +	font-weight: bold; font-size: 1.1em;
  33.232 +}
  33.233 +blockquote	{ margin: 0; padding: 10px; background: #fff; border: 1px dotted #ccc; }
  33.234 +.Odd blockquote	{ background: #F8F8F8; }
  33.235 +
  33.236 +/* post */
  33.237 +ul.PostOptions	{ margin: 0 0 10px; }
  33.238 +.Preview			{ padding: 10px; margin: 0 0 10px; border-bottom: 1px dotted #ccc; }
  33.239 +
  33.240 +/*- Conversations & Activities -*/
  33.241 +ul.Activities .Title	{ margin: 0 0 0 60px; font-weight: bold; }
  33.242 +ul.Conversations .Photo, ul.Activities .Photo {
  33.243 +	width: 50px; height: 50px; float: left; font-size: 0.9em; color: #ccc; overflow: hidden; background: #eee;
  33.244 +}
  33.245 +ul.Conversations .Excerpt, ul.Activities .Excerpt {
  33.246 +	margin: 0 0 10px 60px;
  33.247 +}
  33.248 +ul.Conversations .Meta, ul.Activities .Meta, .SearchResults .Meta {
  33.249 +	margin: 0 0 0 60px;background: #FFC; padding: 3px 5px; 
  33.250 +}
  33.251 +.SearchResults .Meta	{ margin: 5px 0 0; }
  33.252 +ul.ActivityComments		{ margin: 0 0 0 60px; }
  33.253 +
  33.254 +.ConversationMessage .Message		{ min-height: 100px; }
  33.255 +.ConversationMessage span.Author	{ height: 50px; }
  33.256 +.ConversationMessage span.ItemLink		{ display: none; }
  33.257 +
  33.258 +/***--- PANEL --***/
  33.259 +.Block		{ padding: 15px; background: #ddd; margin: 0 10px 0 0; }
  33.260 +.Post #Panel, .Search #Panel {
  33.261 +	display: none;
  33.262 +}
  33.263 +
  33.264 +.PanelInfo li			{ padding: 0px 0px; }
  33.265 +.PanelInfo li strong	{ font-weight: normal; }
  33.266 +.PanelInfo li.Active a	{ color: #c60; }
  33.267 +.PanelInfo li.Parent	{ background: #ccc; padding: 2px 5px; font-size: 1.1em; font-weight: bold; }
  33.268 +
  33.269 +.PanelInfo a, .Box a {
  33.270 +	color: #0F314E;
  33.271 +	background: inherit;
  33.272 +	display: block;
  33.273 +	text-decoration: none;
  33.274 +	font-weight: bold;
  33.275 +}
  33.276 +
  33.277 +.PanelInfo a:hover, .Box a:hover {
  33.278 +	color: #c60;
  33.279 +	text-decoration: none;
  33.280 +	display: block;
  33.281 +}
  33.282 +/* account */
  33.283 +
  33.284 +#Panel .Photo		{ background: #ddd; position: absolute; right: 10px; padding: 0 0 10px 10px; }
  33.285 +#Panel .Photo img	{ width: 50px; display: block; border: 5px solid #fff; border-bottom-width: 12px; }
  33.286 +#Panel .Photo img:hover	{ width: auto; }
  33.287 +
  33.288 +#Panel dl					{ padding: 10px; background: #fff; margin: 0; }
  33.289 +#Panel dt					{ font-weight: bold; padding: 2px 0 0; }
  33.290 +#Panel dd					{ margin: 0; border-bottom: 1px dotted #ccc; padding: 0 0 2px; }
  33.291 +
  33.292 +/* inbox */
  33.293 +.PanelInfo li strong		{ display: inline-block; margin: 0 5px 0 0; }
  33.294 +
  33.295 +/*- Form elements -*/
  33.296 +form		{ padding: 0 10px 10px; border-bottom: 1px dotted #ccc; }
  33.297 +fieldset	{ margin: 0; padding: 0; border: none; }
  33.298 +
  33.299 +form#Form_User_Register	{ margin-top: 10px; }
  33.300 +
  33.301 +input, textarea, select {
  33.302 +	border: 1px solid #ccc; padding: 3px 5px; margin: 0;
  33.303 +}
  33.304 +input.InputBox		{ width: 325px; margin: 0 10px 5px 0; }
  33.305 +
  33.306 +input.Button, input.Cancel {
  33.307 +	-moz-border-radius: 4px;
  33.308 +	-webkit-border-radius: 4px;
  33.309 +	cursor: pointer; border: none; background: #c60; color: #fff; padding: 4px;
  33.310 +}
  33.311 +input.Button:hover, input.Cancel:hover {
  33.312 +	background: #555555; color: white;
  33.313 +}
  33.314 +
  33.315 +a.Back, a.Cancel {
  33.316 +	margin: 0 5px 0 0;
  33.317 +}
  33.318 +
  33.319 +textarea			{ width: 95%; min-height: 100px; display: block; margin: 10px 0; }
  33.320 +
  33.321 +label	{ display: block; font-weight: bold; }
  33.322 +label.RadioLabel, label.CheckBoxLabel {
  33.323 +	font-weight: normal;
  33.324 +}
  33.325 +label.RadioLabel input, label.CheckBoxLabel input {
  33.326 +	border: none;
  33.327 +}
  33.328 +
  33.329 +li.Gender, li.CaptchaInput {
  33.330 +	margin: 0 0 10px;
  33.331 +}
  33.332 +li.CreateAccount, li.Buttons {
  33.333 +	margin: 5px 0 0;
  33.334 +}
  33.335 +.cleditorMain	{ margin: 10px 0; }
  33.336 +
  33.337 +.CommentForm div.Messages { margin: 8px 0 0; }
  33.338 +.Errors, .Warning	{
  33.339 +	color: #F00;
  33.340 +}
  33.341 +
  33.342 +/***--- BUTTONS ---***/
  33.343 +.GuestBox a.Button	{
  33.344 +	-moz-border-radius: 4px;
  33.345 +	-webkit-border-radius: 4px;
  33.346 +	font-size: 11px;
  33.347 +	padding: 4px;
  33.348 +	margin: 0 0 10px;
  33.349 +	background: #c60; 
  33.350 +	color: #FFF; }
  33.351 +.GuestBox .Button:hover	{
  33.352 +	background: #555555; }
  33.353 +	
  33.354 +a.BigButton	{
  33.355 +	-moz-border-radius: 8px;
  33.356 +	-webkit-border-radius: 8px;
  33.357 +	display: block; 
  33.358 +	background: #c60; 
  33.359 +	color: #FFF; 
  33.360 +	padding: 10px; 
  33.361 +	font-size: 1.1em; 
  33.362 +	font-weight: bold;
  33.363 +	text-align: center}
  33.364 +a.BigButton:hover	{ background: #555555; }
  33.365 +a.ClearConversation	{ margin: 10px 0 0; }
  33.366 +
  33.367 +/* options */
  33.368 +div.Options, div.OptionButton {
  33.369 +	position: absolute; top: 12px; right: 10px;
  33.370 +}
  33.371 +div.OptionButton	{ font-weight: bold; color: #555; }
  33.372 +ul.Options strong	{
  33.373 +	-moz-border-radius: 4px;
  33.374 +	-webkit-border-radius: 4px;
  33.375 +	cursor: pointer; 
  33.376 +	display: block; 
  33.377 +	padding: 5px 10px;
  33.378 +	background: #FFC;
  33.379 +	border: 1px solid #ccc; }
  33.380 +
  33.381 +ul.Options				{ margin: 5px 40px 0 0; }
  33.382 +ul.Options li			{ position: relative; }
  33.383 +ul.Options ul			{ min-width: 125px; display: none; position: absolute; z-index: 1000; background: #FFC; right: 0; border: 1px dotted #ccc; margin-top: -1px; }
  33.384 +ul.Options li:hover ul 	{ display: block; }
  33.385 +ul.Options ul li		{ display: block; border-top: 1px dotted #ccc; }
  33.386 +ul.Options ul li:first-child	{ border-top: none; }
  33.387 +ul.Options ul li a		{ display: block; padding: 5px 10px; }
  33.388 +
  33.389 +/*- Pager -*/
  33.390 +#PagerAfter				{ margin: 10px 0; text-align: center; background: #ddd; padding: 2px 10px; }
  33.391 +#PagerAfter	a			{ display: inline-block; padding: 0 5px; }
  33.392 +#PagerAfter	a.Highlight		{ color: #c60; }
  33.393 +span.Previous, a.Previous	{ float: left; }
  33.394 +#PagerAfter	span.Next, #PagerAfter	a.Next	{ float: right; padding: 0; }
  33.395 +
  33.396 +#PagerMore				{ text-align: right; padding: 5px 10px; }
  33.397 +
  33.398 +/***--- FOOTER --***/
  33.399 +#Footer {
  33.400 +	font-size: 11px ;
  33.401 +	width: 100%; 
  33.402 +	position: absolute; 
  33.403 +	bottom: 0;
  33.404 +	background: inherit;
  33.405 +	color: #a8a8a8; }
  33.406 +#Footer ul	{ margin: 16px 15px; }
  33.407 +#Footer li	{ float: left; }
  33.408 +#Footer a { text-decoration: underline; background: inherit; color: #a8a8a8; }
  33.409 +#Footer a:hover	{ color: #666666; }
  33.410 +
  33.411 +/***--- OVERLAY ---***/
  33.412 +.Overlay	{ width: 100%; position: absolute; top: 0; z-index: 10000; background: url(../images/overlayBg.png); }
  33.413 +.Overlay #Popup	{ width: 720px; padding: 15px; background: #FFF; margin: 0 auto; border: 1px dotted #c60; position: relative; }
  33.414 +
  33.415 +.Overlay .Buttons input.Button	{ margin: 0 0 10px; }
  33.416 +.Overlay p			{ padding: 0 10px; }
  33.417 +.Overlay a.Close	{ position: absolute; display: block; top: 10px; right: 15px; padding: 13px; font-size: 1.5em; color: #fff; }
  33.418 +.Overlay a.Close:hover	{ color: #c60; }
  33.419 +.Overlay ul			{ margin: 10px 0 0; }
  33.420 +
  33.421 +.Overlay input.Button	{ margin: 10px 0 0; }
  33.422 +.Overlay textarea		{ margin: 10px 0 0; }
  33.423 +.Overlay li.Gender		{ margin: 0; }
  33.424 +
  33.425 +.Overlay #Form_Picture	{ margin: 0 0 10px; }
    34.1 Binary file forum/vanilla/themes/slitaz-2/images/header.png has changed
    35.1 Binary file forum/vanilla/themes/slitaz-2/images/logo.png has changed
    36.1 Binary file forum/vanilla/themes/slitaz-2/images/overlayBg.png has changed
    37.1 Binary file forum/vanilla/themes/slitaz-2/screenshot.png has changed
    38.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    38.2 +++ b/forum/vanilla/themes/slitaz-2/views/default.master.php	Wed Dec 22 10:41:18 2010 +0100
    38.3 @@ -0,0 +1,84 @@
    38.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    38.5 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    38.6 +	<head>
    38.7 +		<?php $this->RenderAsset('Head'); ?>
    38.8 +	</head>
    38.9 +	<body id="<?php echo $BodyIdentifier; ?>" class="<?php echo $this->CssClass; ?>">
   38.10 +		<div id="Wrapper">
   38.11 +			<div id="Main">
   38.12 +				<div id="ContentHolder">
   38.13 +					<div id="Content">
   38.14 +						<?php $this->RenderAsset('Content'); ?>
   38.15 +					</div>
   38.16 +				</div>
   38.17 +				<div id="PanelHolder">
   38.18 +					<div id="Panel">
   38.19 +					
   38.20 +					<div class="Box">
   38.21 +						<h4>Navigation</h4>
   38.22 +
   38.23 +					<?php
   38.24 +				  $Session = Gdn::Session();
   38.25 +					if ($this->Menu) {
   38.26 +						$this->Menu->AddLink('Dashboard', T('Dashboard'), '/dashboard/settings', array('Garden.Settings.Manage'));
   38.27 +						// $this->Menu->AddLink('Dashboard', T('Users'), '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete'));
   38.28 +						$this->Menu->AddLink('Activity', T('Activity'), '/activity');
   38.29 +					 $Authenticator = Gdn::Authenticator();
   38.30 +						if ($Session->IsValid()) {
   38.31 +							$Name = $Session->User->Name;
   38.32 +							$CountNotifications = $Session->User->CountNotifications;
   38.33 +							if (is_numeric($CountNotifications) && $CountNotifications > 0)
   38.34 +								$Name .= ' <span>'.$CountNotifications.'</span>';
   38.35 +								
   38.36 +							$this->Menu->AddLink('User', "Profile ($Name)", '/profile/{UserID}/{Username}', array('Garden.SignIn.Allow'), array('class' => 'UserNotifications'));
   38.37 +							$this->Menu->AddLink('SignOut', T('Sign Out'), $Authenticator->SignOutUrl(), FALSE, array('class' => 'NonTab SignOut'));
   38.38 +						} else {
   38.39 +							$Attribs = array();
   38.40 +							if (C('Garden.SignIn.Popup') && strpos(Gdn::Request()->Url(), 'entry') === FALSE)
   38.41 +								$Attribs['class'] = 'SignInPopup';
   38.42 +								
   38.43 +							$this->Menu->AddLink('Entry', T('Sign In'), $Authenticator->SignInUrl($this->SelfUrl), FALSE, array('class' => 'NonTab'), $Attribs);
   38.44 +						}
   38.45 +						echo $this->Menu->ToString();
   38.46 +					}
   38.47 +				?>
   38.48 +					</div>
   38.49 +					<?php $this->RenderAsset('Panel'); ?>
   38.50 +					</div>
   38.51 +				</div>
   38.52 +				<div class="clear">&nbsp;</div>
   38.53 +			</div>
   38.54 +			
   38.55 +			<div id="Header">
   38.56 +			
   38.57 +			<a href="http://forum.slitaz.org/"><img id="logo"
   38.58 +			src="themes/slitaz/images/logo.png" title="www.slitaz.org" alt="www.slitaz.org"
   38.59 +			style="border: 0px solid ; width: 200px; height: 74px;" /></a>
   38.60 +			<p id="titre">#!/Support/Forum</p>
   38.61 +				
   38.62 +			</div>
   38.63 +			
   38.64 +			<div id="Nav">
   38.65 +				
   38.66 +				<div id="Search">
   38.67 +					<?php
   38.68 +						$Form = Gdn::Factory('Form');
   38.69 +						$Form->InputPrefix = '';
   38.70 +						echo 
   38.71 +							$Form->Open(array('action' => Url('/search'), 'method' => 'get')),
   38.72 +							$Form->TextBox('Search'),
   38.73 +							$Form->Button('Search', array('Name' => '')),
   38.74 +							$Form->Close();
   38.75 +					?>
   38.76 +				</div>
   38.77 +			</div>
   38.78 +			
   38.79 +			<div id="Footer">
   38.80 +				Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   38.81 +				<a href="http://vanillaforums.org">Powered by Vanilla</a>
   38.82 +			</div>
   38.83 +		</div>
   38.84 +
   38.85 +		<?php $this->FireEvent('AfterBody'); ?>
   38.86 +	</body>
   38.87 +</html>
    39.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    39.2 +++ b/forum/vanilla/themes/slitaz-2/views/discussion/comments.php	Wed Dec 22 10:41:18 2010 +0100
    39.3 @@ -0,0 +1,25 @@
    39.4 +<?php if (!defined('APPLICATION')) exit();
    39.5 +$Session = Gdn::Session();
    39.6 +$this->FireEvent('BeforeCommentsRender');
    39.7 +if (!function_exists('WriteComment'))
    39.8 +   include($this->FetchViewLocation('helper_functions', 'discussion'));
    39.9 +   
   39.10 +$CurrentOffset = $this->Offset;
   39.11 +if ($CurrentOffset == 0 && !$this->Data('NewComments', FALSE)) {
   39.12 +   echo WriteComment($this->Discussion, $this, $Session, $CurrentOffset);
   39.13 +}
   39.14 +
   39.15 +// Only prints individual comment list items
   39.16 +$CommentData = $this->CommentData->Result();
   39.17 +$i = 0;
   39.18 +foreach ($CommentData as $Comment) {
   39.19 +   ++$CurrentOffset;
   39.20 +   $this->CurrentComment = $Comment;
   39.21 +   if ($i % 2) {
   39.22 +		$counter = 'Odd';
   39.23 +   } else {
   39.24 +	   $counter = 'Even';
   39.25 +   }
   39.26 +   WriteComment($Comment, $this, $Session, $CurrentOffset, $counter);
   39.27 +   $i++;
   39.28 +}
    40.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    40.2 +++ b/forum/vanilla/themes/slitaz-2/views/discussion/helper_functions.php	Wed Dec 22 10:41:18 2010 +0100
    40.3 @@ -0,0 +1,118 @@
    40.4 +<?php if (!defined('APPLICATION')) exit();
    40.5 +
    40.6 +/**
    40.7 + * $Object is either a Comment or the original Discussion.
    40.8 + */
    40.9 +function WriteComment($Object, $Sender, $Session, $CurrentOffset, $counter) {
   40.10 +   $Author = UserBuilder($Object, 'Insert');
   40.11 +   $Type = property_exists($Object, 'CommentID') ? 'Comment' : 'Discussion';
   40.12 +	$Sender->EventArguments['Object'] = $Object;
   40.13 +   $Sender->EventArguments['Type'] = $Type;
   40.14 +   $Sender->EventArguments['Author'] = $Author;
   40.15 +   $CssClass = 'Item Comment ' . $counter;
   40.16 +   if ($Type == 'Comment') {
   40.17 +      $Sender->EventArguments['Comment'] = $Object;   
   40.18 +      $Id = 'Comment_'.$Object->CommentID;
   40.19 +      $Permalink = '/discussion/comment/'.$Object->CommentID.'/#Comment_'.$Object->CommentID;
   40.20 +   } else {
   40.21 +      $Sender->EventArguments['Discussion'] = $Object;   
   40.22 +      $CssClass .= ' FirstComment';
   40.23 +      $Id = 'Discussion_'.$Object->DiscussionID;
   40.24 +      $Permalink = '/discussion/'.$Object->DiscussionID.'/'.Gdn_Format::Url($Object->Name).'/p1';
   40.25 +   }
   40.26 +   $Sender->Options = '';
   40.27 +   $CssClass .= $Object->InsertUserID == $Session->UserID ? ' Mine' : '';
   40.28 +   $Sender->FireEvent('BeforeCommentDisplay');
   40.29 +?>
   40.30 +<li class="<?php echo $CssClass; ?>" id="<?php echo $Id; ?>">
   40.31 +   <div class="Comment">
   40.32 +      <div class="Meta">
   40.33 +         <?php $Sender->FireEvent('BeforeCommentMeta'); ?>
   40.34 +         <div class="Author">
   40.35 +            <?php
   40.36 +            echo UserPhoto($Author);
   40.37 +            echo UserAnchor($Author);
   40.38 +            ?>
   40.39 +			<div class="clear">&nbsp;</div>
   40.40 +         </div>
   40.41 +         <span class="DateCreated">
   40.42 +            <?php
   40.43 +            echo Gdn_Format::Date($Object->DateInserted);
   40.44 +            ?>
   40.45 +         </span>
   40.46 +         <span class="Permalink">
   40.47 +            <?php echo Anchor(T('Permalink'), $Permalink, 'Permalink', array('name' => 'Item_'.($CurrentOffset+1), 'rel' => 'nofollow')); ?>
   40.48 +         </span>
   40.49 +         <?php WriteOptionList($Object, $Sender, $Session); ?>
   40.50 +         <div class="CommentInfo">
   40.51 +            <?php $Sender->FireEvent('CommentInfo'); ?>
   40.52 +         </div>
   40.53 +         <?php $Sender->FireEvent('AfterCommentMeta'); ?>
   40.54 +      </div>
   40.55 +      <div class="Message">
   40.56 +			<?php $Sender->FireEvent('BeforeCommentBody'); ?>
   40.57 +			<?php 
   40.58 +			   $Object->FormatBody = Gdn_Format::To($Object->Body, $Object->Format);
   40.59 +			   $Sender->FireEvent('AfterCommentFormat');
   40.60 +			   $Object = $Sender->EventArguments['Object'];
   40.61 +			   echo $Object->FormatBody;
   40.62 +			?>
   40.63 +		</div><div class="clear">&nbsp;</div>
   40.64 +      <?php $Sender->FireEvent('AfterCommentBody'); ?>
   40.65 +   </div>
   40.66 +</li>
   40.67 +<?php
   40.68 +	$Sender->FireEvent('AfterComment');
   40.69 +}
   40.70 +
   40.71 +function WriteOptionList($Object, $Sender, $Session) {
   40.72 +   $EditContentTimeout = C('Garden.EditContentTimeout', -1);
   40.73 +	$CanEdit = $EditContentTimeout == -1 || strtotime($Object->DateInserted) + $EditContentTimeout > time();
   40.74 +	$TimeLeft = '';
   40.75 +	if ($CanEdit && $EditContentTimeout > 0) {
   40.76 +		$TimeLeft = strtotime($Object->DateInserted) + $EditContentTimeout - time();
   40.77 +		$TimeLeft = $TimeLeft > 0 ? ' ('.Gdn_Format::Seconds($TimeLeft).')' : '';
   40.78 +	}
   40.79 +
   40.80 +   $Sender->Options = '';
   40.81 +	$CategoryID = GetValue('CategoryID', $Object);
   40.82 +	if(!$CategoryID && property_exists($Sender, 'Discussion'))
   40.83 +		$CategoryID = GetValue('CategoryID', $Sender->Discussion);
   40.84 +		
   40.85 +   // Show discussion options if this is the discussion / first comment
   40.86 +   if ($Sender->EventArguments['Type'] == 'Discussion') {
   40.87 +      // Can the user edit the discussion?
   40.88 +      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $CategoryID))
   40.89 +         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editdiscussion/'.$Object->DiscussionID, 'EditDiscussion').$TimeLeft.'</span>';
   40.90 +         
   40.91 +      // Can the user announce?
   40.92 +      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $CategoryID))
   40.93 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</span>';
   40.94 +
   40.95 +      // Can the user sink?
   40.96 +      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $CategoryID))
   40.97 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</span>';
   40.98 +
   40.99 +      // Can the user close?
  40.100 +      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $CategoryID))
  40.101 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</span>';
  40.102 +      
  40.103 +      // Can the user delete?
  40.104 +      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $CategoryID))
  40.105 +         $Sender->Options .= '<span>'.Anchor(T('Delete Discussion'), 'vanilla/discussion/delete/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'DeleteDiscussion') . '</span>';
  40.106 +   } else {
  40.107 +      // And if this is just another comment in the discussion ...
  40.108 +      
  40.109 +      // Can the user edit the comment?
  40.110 +      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Comments.Edit', TRUE, 'Category', $Sender->Discussion->CategoryID))
  40.111 +         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editcomment/'.$Object->CommentID, 'EditComment').$TimeLeft.'</span>';
  40.112 +
  40.113 +      // Can the user delete the comment?
  40.114 +      if ($Session->CheckPermission('Vanilla.Comments.Delete', TRUE, 'Category', $CategoryID))
  40.115 +         $Sender->Options .= '<span>'.Anchor(T('Delete'), 'vanilla/discussion/deletecomment/'.$Object->CommentID.'/'.$Session->TransientKey().'/?Target='.urlencode($Sender->SelfUrl), 'DeleteComment') . '</span>';
  40.116 +   }
  40.117 +   
  40.118 +   // Allow plugins to add options
  40.119 +   $Sender->FireEvent('CommentOptions');
  40.120 +   echo $Sender->Options;
  40.121 +}
  40.122 \ No newline at end of file
    41.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    41.2 +++ b/forum/vanilla/themes/slitaz-2/views/discussions/helper_functions.php	Wed Dec 22 10:41:18 2010 +0100
    41.3 @@ -0,0 +1,186 @@
    41.4 +<?php
    41.5 +if (!defined('APPLICATION')) exit();
    41.6 +
    41.7 +function WriteDiscussion($Discussion, &$Sender, &$Session, $Alt) {
    41.8 +   $CssClass = 'Item';
    41.9 +   $CssClass .= $Discussion->Bookmarked == '1' ? ' Bookmarked' : '';
   41.10 +   $CssClass .= $Discussion->Closed == '1' ? ' Closed' : '';
   41.11 +   $CssClass .= $Alt.' ';
   41.12 +   $CssClass .= $Discussion->Announce == '1' ? ' Announcement' : '';
   41.13 +   $CssClass .= $Discussion->Dismissed == '1' ? ' Dismissed' : '';
   41.14 +   $CssClass .= $Discussion->InsertUserID == $Session->UserID ? ' Mine' : '';
   41.15 +   $CssClass .= ($Discussion->CountUnreadComments > 0 && $Session->IsValid()) ? ' New' : '';
   41.16 +   $Sender->EventArguments['Discussion'] = &$Discussion;
   41.17 +   $First = UserBuilder($Discussion, 'First');
   41.18 +   $Last = UserBuilder($Discussion, 'Last');
   41.19 +   
   41.20 +   $Sender->FireEvent('BeforeDiscussionName');
   41.21 +   
   41.22 +   $DiscussionName = Gdn_Format::Text($Discussion->Name);
   41.23 +   if ($DiscussionName == '')
   41.24 +      $DiscussionName = T('Blank Discussion Topic');
   41.25 +
   41.26 +   static $FirstDiscussion = TRUE;
   41.27 +   if (!$FirstDiscussion)
   41.28 +      $Sender->FireEvent('BetweenDiscussion');
   41.29 +   else
   41.30 +      $FirstDiscussion = FALSE;
   41.31 +?>
   41.32 +<li class="<?php echo $CssClass; ?> ">
   41.33 +   <?php
   41.34 +   $Sender->FireEvent('BeforeDiscussionContent');
   41.35 +   WriteOptions($Discussion, $Sender, $Session);
   41.36 +   ?>
   41.37 +   <div class="ItemContent Discussion">
   41.38 +      <?php echo Anchor($DiscussionName, '/discussion/'.$Discussion->DiscussionID.'/'.Gdn_Format::Url($Discussion->Name).($Discussion->CountCommentWatch > 0 && C('Vanilla.Comments.AutoOffset') ? '/#Item_'.$Discussion->CountCommentWatch : ''), 'Title'); ?>
   41.39 +      <?php $Sender->FireEvent('AfterDiscussionTitle'); ?>
   41.40 +      <div class="Meta">
   41.41 +         <?php if ($Discussion->Announce == '1') { ?>
   41.42 +         <span class="Announcement"><?php echo T('Announcement'); ?></span>
   41.43 +         <?php } ?>
   41.44 +         <?php if ($Discussion->Closed == '1') { ?>
   41.45 +         <span class="Closed"><?php echo T('Closed'); ?></span>
   41.46 +         <?php } ?>
   41.47 +         <span class="CommentCount"><?php printf(Plural($Discussion->CountComments, '%s comment', '%s comments'), $Discussion->CountComments); ?></span>
   41.48 +         <?php
   41.49 +            if ($Session->IsValid() && $Discussion->CountUnreadComments > 0)
   41.50 +               echo '<strong>'.Plural($Discussion->CountUnreadComments, '%s New', '%s New Plural').'</strong>';
   41.51 +
   41.52 +            if ($Discussion->LastCommentID != '') {
   41.53 +               echo '<span class="LastCommentBy">'.sprintf(T('Most recent by %1$s'), UserAnchor($Last)).'</span>';
   41.54 +               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->LastDate).'</span>';
   41.55 +            } else {
   41.56 +               echo '<span class="LastCommentBy">'.sprintf(T('Started by %1$s'), UserAnchor($First)).'</span>';
   41.57 +               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->FirstDate).'</span>';
   41.58 +            }
   41.59 +         
   41.60 +            if (C('Vanilla.Categories.Use'))
   41.61 +               echo Wrap(Anchor($Discussion->Category, '/categories/'.$Discussion->CategoryUrlCode, 'Category'));
   41.62 +               
   41.63 +            $Sender->FireEvent('DiscussionMeta');
   41.64 +         ?>
   41.65 +      </div>
   41.66 +   </div>
   41.67 +</li>
   41.68 +<?php
   41.69 +}
   41.70 +
   41.71 +function WriteFilterTabs(&$Sender) {
   41.72 +   $Session = Gdn::Session();
   41.73 +   $Title = property_exists($Sender, 'Category') && is_object($Sender->Category) ? $Sender->Category->Name : T('All Discussions');
   41.74 +   $Bookmarked = T('My Bookmarks');
   41.75 +   $MyDiscussions = T('My Discussions');
   41.76 +   $MyDrafts = T('My Drafts');
   41.77 +   $CountBookmarks = 0;
   41.78 +   $CountDiscussions = 0;
   41.79 +   $CountDrafts = 0;
   41.80 +   if ($Session->IsValid()) {
   41.81 +      $CountBookmarks = $Session->User->CountBookmarks;
   41.82 +      $CountDiscussions = $Session->User->CountDiscussions;
   41.83 +      $CountDrafts = $Session->User->CountDrafts;
   41.84 +   }
   41.85 +   if (is_numeric($CountBookmarks) && $CountBookmarks > 0)
   41.86 +      $Bookmarked .= '<span>'.$CountBookmarks.'</span>';
   41.87 +
   41.88 +   if (is_numeric($CountDiscussions) && $CountDiscussions > 0)
   41.89 +      $MyDiscussions .= '<span>'.$CountDiscussions.'</span>';
   41.90 +
   41.91 +   if (is_numeric($CountDrafts) && $CountDrafts > 0)
   41.92 +      $MyDrafts .= '<span>'.$CountDrafts.'</span>';
   41.93 +      
   41.94 +   ?>
   41.95 +<div class="Tabs DiscussionsTabs">
   41.96 +   <ul>
   41.97 +      <?php $Sender->FireEvent('BeforeDiscussionTabs'); ?>
   41.98 +      <li<?php echo strtolower($Sender->ControllerName) == 'discussionscontroller' && strtolower($Sender->RequestMethod) == 'index' ? ' class="Active"' : ''; ?>><?php echo Anchor(T('All Discussions'), 'discussions'); ?></li>
   41.99 +      <?php $Sender->FireEvent('AfterAllDiscussionsTab'); ?>
  41.100 +      <?php if ($CountBookmarks > 0 || $Sender->RequestMethod == 'bookmarked') { ?>
  41.101 +      <li<?php echo $Sender->RequestMethod == 'bookmarked' ? ' class="Active"' : ''; ?>><?php echo Anchor($Bookmarked, '/discussions/bookmarked', 'MyBookmarks'); ?></li>
  41.102 +      <?php
  41.103 +         $Sender->FireEvent('AfterBookmarksTab');
  41.104 +      }
  41.105 +      if ($CountDiscussions > 0 || $Sender->RequestMethod == 'mine') {
  41.106 +      ?>
  41.107 +      <li<?php echo $Sender->RequestMethod == 'mine' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDiscussions, '/discussions/mine', 'MyDiscussions'); ?></li>
  41.108 +      <?php
  41.109 +      }
  41.110 +      if ($CountDrafts > 0 || $Sender->ControllerName == 'draftscontroller') {
  41.111 +      ?>
  41.112 +      <li<?php echo $Sender->ControllerName == 'draftscontroller' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDrafts, '/drafts', 'MyDrafts'); ?></li>
  41.113 +      <?php
  41.114 +      }
  41.115 +      $Sender->FireEvent('AfterDiscussionTabs');
  41.116 +      ?>
  41.117 +   </ul>
  41.118 +   <?php
  41.119 +   if (property_exists($Sender, 'Category') && is_object($Sender->Category)) {
  41.120 +      ?>
  41.121 +      <div class="SubTab">↳ <?php echo $Sender->Category->Name; ?></div>
  41.122 +      <?php
  41.123 +   }
  41.124 +   ?>
  41.125 +</div>
  41.126 +   <?php
  41.127 +}
  41.128 +
  41.129 +/**
  41.130 + * Render options that the user has for this discussion.
  41.131 + */
  41.132 +function WriteOptions($Discussion, &$Sender, &$Session) {
  41.133 +   if ($Session->IsValid() && $Sender->ShowOptions) {
  41.134 +      echo '<div class="Options">';
  41.135 +      // Bookmark link
  41.136 +      $Title = T($Discussion->Bookmarked == '1' ? 'Unbookmark' : 'Bookmark');
  41.137 +      echo Anchor(
  41.138 +         '<span class="Star">'
  41.139 +            .Img('applications/dashboard/design/images/pixel.png', array('alt' => $Title))
  41.140 +         .'</span>',
  41.141 +         '/vanilla/discussion/bookmark/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl),
  41.142 +         'Bookmark' . ($Discussion->Bookmarked == '1' ? ' Bookmarked' : ''),
  41.143 +         array('title' => $Title)
  41.144 +      );
  41.145 +      
  41.146 +      $Sender->Options = '';
  41.147 +      
  41.148 +      // Dismiss an announcement
  41.149 +      if (C('Vanilla.Discussions.Dismiss', 1) && $Discussion->Announce == '1' && $Discussion->Dismissed != '1')
  41.150 +         $Sender->Options .= '<li>'.Anchor(T('Dismiss'), 'vanilla/discussion/dismissannouncement/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'DismissAnnouncement') . '</li>';
  41.151 +      
  41.152 +      // Edit discussion
  41.153 +      if ($Discussion->FirstUserID == $Session->UserID || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $Discussion->CategoryID))
  41.154 +         $Sender->Options .= '<li>'.Anchor(T('Edit'), 'vanilla/post/editdiscussion/'.$Discussion->DiscussionID, 'EditDiscussion') . '</li>';
  41.155 +
  41.156 +      // Announce discussion
  41.157 +      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $Discussion->CategoryID))
  41.158 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</li>';
  41.159 +
  41.160 +      // Sink discussion
  41.161 +      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $Discussion->CategoryID))
  41.162 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</li>';
  41.163 +
  41.164 +      // Close discussion
  41.165 +      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $Discussion->CategoryID))
  41.166 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</li>';
  41.167 +      
  41.168 +      // Delete discussion
  41.169 +      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $Discussion->CategoryID))
  41.170 +         $Sender->Options .= '<li>'.Anchor(T('Delete'), 'vanilla/discussion/delete/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'DeleteDiscussion') . '</li>';
  41.171 +      
  41.172 +      // Allow plugins to add options
  41.173 +      $Sender->FireEvent('DiscussionOptions');
  41.174 +      
  41.175 +      if ($Sender->Options != '') {
  41.176 +      ?>
  41.177 +         <ul class="Options">
  41.178 +            <li>
  41.179 +               <strong><?php echo T('Options'); ?></strong>
  41.180 +               <ul>
  41.181 +                  <?php echo $Sender->Options; ?>
  41.182 +               </ul>
  41.183 +            </li>
  41.184 +         </ul>
  41.185 +      <?php
  41.186 +      }
  41.187 +      echo '</div>';
  41.188 +   }
  41.189 +}
  41.190 \ No newline at end of file
    42.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    42.2 +++ b/forum/vanilla/themes/slitaz/README.txt	Wed Dec 22 10:41:18 2010 +0100
    42.3 @@ -0,0 +1,45 @@
    42.4 +How to create a theme:
    42.5 +
    42.6 +Part 1: CSS / Design
    42.7 +================================================================================
    42.8 +1. Copy this "default" theme folder and rename it to your new theme name.
    42.9 +2. Open the "about.php" file and edit the information to reflect your theme. Be
   42.10 +   sure to change the array key like this: $ThemeInfo['YourThemeNameHere'].
   42.11 +3. Create a "design" subfolder and copy /applications/dashboard/design/style.css 
   42.12 +   and /applications/vanilla/design/vanilla.css into it.
   42.13 +4. Any background images you want to continue using (like the star png images
   42.14 +   for bookmarking) should be copied along with their respective stylesheets.
   42.15 +5. Go to your Dashboard, Themes, and apply your new theme.
   42.16 +6. Edit the copied CSS files to look however you wish!
   42.17 +
   42.18 +Other things you should know:
   42.19 +
   42.20 + + All non-forum pages should be edited in the global "style.css" file.
   42.21 +
   42.22 + + If you want to edit the look & feel of the administrative screens, also 
   42.23 +   copy /applications/dashboard/design/admin.css in step 3. Similarly, you can 
   42.24 +   copy other CSS files like /applications/vanilla/design/vanillaprofile.css to
   42.25 +   customize those pages as well.
   42.26 +
   42.27 +
   42.28 +Part 2: HTML / Views
   42.29 +================================================================================
   42.30 +If you want to customize the HTML, you can edit that too. 
   42.31 +Our pages are made up of two parts:
   42.32 +
   42.33 + 1. Master Views - these represent everything that wraps the main content of the
   42.34 +   page. If all you want to do is add a menu or banner above Vanilla, this is
   42.35 +   all you need to alter. To do so, copy the default master view from
   42.36 +   /applications/dashboard/views/default.master.php to
   42.37 +   /themes/yourtheme/views/default.master.php and edit it there.
   42.38 +   
   42.39 + 2. Views - these represent all of the content in each page. Every application
   42.40 +   has a "views" folder that contains all of the HTML for every page. So, for
   42.41 +   example, if you wanted to edit the HTML for the Discussions list, you could
   42.42 +   copy the views from /applications/vanilla/views/discussions to
   42.43 +   /themes/yourtheme/views/discussions and edit them there.
   42.44 +
   42.45 +You can avoid naming conflicts between applications' views and specify which 
   42.46 +app a view is for by optionally adding a subfolder with the app's name in 
   42.47 +/themes/yourtheme/views/ (e.g.: /themes/yourtheme/views/appname/) and placing 
   42.48 +views there rather than directly in the "views" folder.
   42.49 \ No newline at end of file
    43.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    43.2 +++ b/forum/vanilla/themes/slitaz/about.php	Wed Dec 22 10:41:18 2010 +0100
    43.3 @@ -0,0 +1,21 @@
    43.4 +<?php if (!defined('APPLICATION')) exit();
    43.5 +/*
    43.6 +Copyright 2008, 2009 Vanilla Forums Inc.
    43.7 +This file is part of Garden.
    43.8 +Garden is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
    43.9 +Garden is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
   43.10 +You should have received a copy of the GNU General Public License along with Garden.  If not, see <http://www.gnu.org/licenses/>.
   43.11 +Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com
   43.12 +*/
   43.13 +
   43.14 +/**
   43.15 + * An associative array of information about this application.
   43.16 + */
   43.17 +$ThemeInfo['SliTaz'] = array(
   43.18 +   'Name' => 'SliTaz',
   43.19 +   'Description' => "SliTaz Vanilla 2 official theme",
   43.20 +   'Version' => '1.0',
   43.21 +   'Author' => "Christophe Lincoln",
   43.22 +   'AuthorEmail' => 'pankso@slitaz.org',
   43.23 +   'AuthorUrl' => 'http://www.slitaz.org'
   43.24 +);
    44.1 Binary file forum/vanilla/themes/slitaz/design/favicon.ico has changed
    45.1 Binary file forum/vanilla/themes/slitaz/design/favicon.png has changed
    46.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    46.2 +++ b/forum/vanilla/themes/slitaz/design/style.css	Wed Dec 22 10:41:18 2010 +0100
    46.3 @@ -0,0 +1,438 @@
    46.4 +@charset "utf-8";
    46.5 +/* CSS Document */
    46.6 +
    46.7 +/***--- MAIN / DEFAULT --***/
    46.8 +html, body	{ height: 102%; margin: 0; }
    46.9 +html, body, input, select, textarea, button {
   46.10 +	font-family: Verdana, Geneva, sans-serif;
   46.11 +	font-size: 11px;
   46.12 +	line-height: 17px;
   46.13 +	color: #555;
   46.14 +}
   46.15 +a			{ color: #2f6c8e; text-decoration: none; }
   46.16 +a:hover		{ color: #69a1c1; }
   46.17 +a img		{ border: none; }
   46.18 +ul, ol		{ margin: 0; padding: 0; list-style: none; }
   46.19 +
   46.20 +.clear {
   46.21 +    clear: both;
   46.22 +    display: block;
   46.23 +    height: 0;
   46.24 +    overflow: hidden;
   46.25 +    visibility: hidden;
   46.26 +    width: 0;
   46.27 +}
   46.28 +
   46.29 +#Wrapper	{ min-height: 100%; position: relative; margin: 0 auto; }
   46.30 +.Hidden		{ display: none; }
   46.31 +
   46.32 +/***--- HEADER(S) --***/
   46.33 +
   46.34 +
   46.35 +#Header h1	{ padding: 15px; font-size: 2em; }
   46.36 +#Header a	{ color: #69a1c1; }
   46.37 +#Header a:hover	{ color: #FFF; }
   46.38 +
   46.39 +#Header{
   46.40 +	background: #f0ba08 url(../images/header.png) repeat-x top;
   46.41 +	color: black;
   46.42 +	width: 100%;
   46.43 +	height: 50px;
   46.44 +	border-top: 1px solid black;
   46.45 +	border-bottom: 1px solid black;
   46.46 +	margin-bottom: 30px;
   46.47 +	position: absolute;
   46.48 +	top: 0;
   46.49 +}
   46.50 +
   46.51 +#titre {
   46.52 +	position: absolute;
   46.53 +	font-size: 16px;
   46.54 +	font-weight: bolder ;
   46.55 +	margin-left: 200px;
   46.56 +	margin-top: 28px;
   46.57 +}
   46.58 +
   46.59 +#logo {
   46.60 +	position: absolute;
   46.61 +	float: left;
   46.62 +	margin-left: 16px;
   46.63 +	margin-top: 0px;
   46.64 +}
   46.65 +
   46.66 +/***--- NAV --***/
   46.67 +#Nav { 
   46.68 +	right: 0;
   46.69 +	position: absolute;
   46.70 +	top: 3px;
   46.71 +	font-size: 10px;
   46.72 +	font-weight: bold; }
   46.73 +
   46.74 +ul#Menu {
   46.75 +	margin: 10px 15px;
   46.76 +	float: left; }
   46.77 +
   46.78 +#Menu li { float: left; margin: 0 1px 0 0; }
   46.79 +#Menu a {
   46.80 +	display: block;
   46.81 +	padding: 5px 4px;
   46.82 +	background: inherit;
   46.83 +	color: white;
   46.84 +	text-decoration: none; }
   46.85 +
   46.86 +#Menu a:hover {
   46.87 +	background: inherit;
   46.88 +	color: #222222; }
   46.89 +#Menu li.Highlight a	{ color: #222222; }
   46.90 +
   46.91 +/* search */
   46.92 +#Search { 
   46.93 +	-moz-border-radius: 4px;
   46.94 +	-webkit-border-radius: 4px; 
   46.95 +	height: 20px; 
   46.96 +	float: right; 
   46.97 +	background: #FFF; 
   46.98 +	padding: 2px 2px; 
   46.99 +	margin: 11px 15px; }
  46.100 +#Search form	{ padding: 0; border: none; }
  46.101 +#Nav #Search input.InputBox	{ width: 150px; border: none; }
  46.102 +#Search input.Button {
  46.103 +	-moz-border-radius: 4px;
  46.104 +	-webkit-border-radius: 4px;
  46.105 +	height: 17px;
  46.106 +	margin: 0;
  46.107 +	padding: 0; }
  46.108 +
  46.109 +/***--- MAIN --***/
  46.110 +/*#Main	{ }*/
  46.111 +
  46.112 +/* If you prefer the panel on the left and content on the right, simply switch the "float" property for #Content & #Panel and set the "margin-left" to "margin-right" for the #Content */
  46.113 +#Content		{ 
  46.114 +	margin: 0px 320px 0px 0px;
  46.115 +	padding: 86px 40px 65px 80px;
  46.116 +	}
  46.117 +#Panel			{
  46.118 +	position: absolute;
  46.119 +	top: 86px;
  46.120 +	right: 80px;
  46.121 +	color: #555555;
  46.122 +	float: right;
  46.123 +	width: 250px;
  46.124 +	line-height: 1.5em;
  46.125 +	text-align: left;
  46.126 +	font-size: 12px;
  46.127 +	}
  46.128 +.Box, #UserOptions {
  46.129 +	-moz-border-radius: 8px;
  46.130 +	-webkit-border-radius: 8px;
  46.131 +	list-style-type: none;
  46.132 +	margin: 10px 0;
  46.133 +	padding: 10px 24px 10px 24px;
  46.134 +	background-color: #eaeaea;}
  46.135 +#Panel .Box ul {
  46.136 +	list-style-type: none;
  46.137 +	margin: 0;
  46.138 +	padding: 10px 24px 10px 0px;
  46.139 +}
  46.140 +
  46.141 +/***--- CONTENT --***/
  46.142 +.GuestBox	{ background: #eaeaea; }
  46.143 +.GuestBox p	{ padding: 0; }
  46.144 +.Message img	{ max-width: 100%; }
  46.145 +
  46.146 +/* headers */
  46.147 +h1				{ margin: 0; font-size: 1.5em; }
  46.148 +#Content h1, h2, #Popup h1, div.DiscussionTabs .SubTab {
  46.149 +	-moz-border-radius: 8px;
  46.150 +	-webkit-border-radius: 8px;
  46.151 +	font-size: 1.1em; background: #555555; color: #fff; margin: 0 0 10px; padding: 10px; font-weight: bold;
  46.152 +}
  46.153 +div.DiscussionTabs .SubTab	{ margin: 0; }
  46.154 +
  46.155 +#Panel h4, #Panel .GuestBox h4 {
  46.156 +	font-size: 110%;
  46.157 +	color: #666666;
  46.158 +	font-weight: bold;
  46.159 +	padding: 0 0 1px 0;
  46.160 +	margin: 0;
  46.161 +	border-bottom: 1px solid #cecece; }
  46.162 +
  46.163 +div.Empty, div#Status	{ padding: 10px; }
  46.164 +
  46.165 +/* tabs */
  46.166 +.Tabs li, .SubTab	{
  46.167 +	-moz-border-radius: 8px;
  46.168 +	-webkit-border-radius: 8px;
  46.169 +	background: #CECECE;
  46.170 +	padding: 5px 8px;
  46.171 +	font-size: 140%;
  46.172 +	font-weight: bold;
  46.173 +	border-bottom: 1px solid #fff; }
  46.174 +.Tabs li.Active		{ background: #555; border-bottom: none; }
  46.175 +.Tabs li.Active a	{ color: #fff; }
  46.176 +.Tabs span			{ display: inline-block; margin: 0 10px; color: #888; }
  46.177 +.SubTab				{ font-size: 1em; }
  46.178 +
  46.179 +/* DISCUSSIONS */
  46.180 +.DataList li.Item, .Conversation li.Item {
  46.181 +	border-bottom: 1px solid #ccc;
  46.182 +	position: relative;
  46.183 +	padding: 10px;
  46.184 +	-moz-border-radius: 8px;
  46.185 +	-webkit-border-radius: 8px;
  46.186 +}
  46.187 +.Activities li.Item	{ min-height: 50px; }
  46.188 +.DataList li.Item a.Title	{ display: block; font-size: 1.15em; font-weight: bold; padding: 0 0 8px; }
  46.189 +
  46.190 +/* discussions meta */
  46.191 +.DataList .Meta span, .DataList .Meta strong {
  46.192 +	min-width: 100px; display: inline-block; margin: 0 5px 0 0;
  46.193 +}
  46.194 +.DataList .Meta .LastCommentBy		{ width: 175px; }
  46.195 +.DataList .Meta .LastCommentDate	{ width: 100px; }
  46.196 +
  46.197 +/* discussions highlight */
  46.198 +.DataList li.Mine			{ background: #f1f1f1; border-bottom-color: #fff; }
  46.199 +.DataList li.New			{ background: #d8ecbc; }
  46.200 +.DataList li.Bookmarked		{ background: #ffdf5d; border-bottom-color: #fff; }
  46.201 +
  46.202 +.DataList li.Closed		{ background: #eee; }
  46.203 +.DataList .Meta .Closed			{ color: #333; }
  46.204 +.DataList li.Closed a.Title	{ text-decoration: line-through; }
  46.205 +
  46.206 +.DataList li.Announcement	{ background: #FFC; }
  46.207 +.DataList .Meta .Announcement, .DataList .Meta .Closed {
  46.208 +	width: 100px; font-weight: bold;
  46.209 +}
  46.210 +.DataList .Meta .Announcement	{ color: #C60; }
  46.211 +
  46.212 +/* DISCUSSION */
  46.213 +div.DiscussionTabs li		{ font-size: 1em; }
  46.214 +ul.Discussion				{ margin: 0 0 10px; }
  46.215 +
  46.216 +/* bookmark */
  46.217 +a.Bookmark					{ width: 9px; height: 9px; position: absolute; top: 8px; right: 10px; font-size: 0; background: #fff; border: 1px dotted #ffcc00; }
  46.218 +.Discussion a.Bookmark		{ top: 41px; }
  46.219 +a.Bookmarked 				{ background: #ffcc00; border: 1px solid #fff; }
  46.220 +div.Options a.Bookmark		{ top: 14px; }
  46.221 +
  46.222 +div.Comment {
  46.223 +	position: relative; 
  46.224 +	border-bottom: 1px dotted #ccc;
  46.225 +	padding: 10px; }
  46.226 +li.Even			{ background: #f8f8f8; }
  46.227 +
  46.228 +/* discussion meta */
  46.229 +.Comment .Message, .Comment .MessageForm, .ConversationMessage .Message {
  46.230 +	margin-left: 215px; line-height: 1.75em;
  46.231 +}
  46.232 +.Comment .Meta, .ConversationMessage .Meta {
  46.233 +	width: 175px; float: left; padding: 10px; background: #FFC;
  46.234 +	-moz-border-radius: 8px;
  46.235 +	-webkit-border-radius: 8px;
  46.236 +}
  46.237 +.Comment .Meta span, .ConversationMessage .Meta span, div.Meta div.PostCount {
  46.238 +	display: block; border-bottom: 1px dotted #ccc; font-size: 0.85em; padding: 1px 0; 
  46.239 +}
  46.240 +.Comment .Author, .ConversationMessage span.Author {
  46.241 +	background: #fff; padding: 5px; border-bottom: none;
  46.242 +}
  46.243 +.Comment .Author img, .ConversationMessage .Author a.Photo {
  46.244 +	float: left; margin: 0 10px 0 0;
  46.245 +}
  46.246 +.Comment .Author a, .ConversationMessage .Author a {
  46.247 +	font-weight: bold; font-size: 1.1em;
  46.248 +}
  46.249 +blockquote	{ margin: 0; padding: 10px; background: #fff; border: 1px dotted #ccc; }
  46.250 +.Odd blockquote	{ background: #F8F8F8; }
  46.251 +
  46.252 +/* post */
  46.253 +ul.PostOptions	{ margin: 0 0 10px; }
  46.254 +.Preview			{ padding: 10px; margin: 0 0 10px; border-bottom: 1px dotted #ccc; }
  46.255 +
  46.256 +/*- Conversations & Activities -*/
  46.257 +ul.Activities .Title	{ margin: 0 0 0 60px; font-weight: bold; }
  46.258 +ul.Conversations .Photo, ul.Activities .Photo {
  46.259 +	width: 50px; height: 50px; float: left; font-size: 0.9em; color: #ccc; overflow: hidden; background: #eee;
  46.260 +}
  46.261 +ul.Conversations .Excerpt, ul.Activities .Excerpt {
  46.262 +	margin: 0 0 10px 60px;
  46.263 +}
  46.264 +ul.Conversations .Meta, ul.Activities .Meta, .SearchResults .Meta {
  46.265 +	margin: 0 0 0 60px;background: #FFC; padding: 3px 5px; 
  46.266 +}
  46.267 +.SearchResults .Meta	{ margin: 5px 0 0; }
  46.268 +ul.ActivityComments		{ margin: 0 0 0 60px; }
  46.269 +
  46.270 +.ConversationMessage .Message		{ min-height: 100px; }
  46.271 +.ConversationMessage span.Author	{ height: 50px; }
  46.272 +.ConversationMessage span.ItemLink		{ display: none; }
  46.273 +
  46.274 +/***--- PANEL --***/
  46.275 +.Block		{ padding: 15px; background: #ddd; margin: 0 10px 0 0; }
  46.276 +.Post #Panel, .Search #Panel {
  46.277 +	display: none;
  46.278 +}
  46.279 +
  46.280 +.PanelInfo li			{ padding: 0px 0px; }
  46.281 +.PanelInfo li strong	{ font-weight: normal; }
  46.282 +.PanelInfo li.Active a	{ color: #c60; }
  46.283 +.PanelInfo li.Parent	{ background: #ccc; padding: 2px 5px; font-size: 1.1em; font-weight: bold; }
  46.284 +
  46.285 +.PanelInfo a {
  46.286 +	color: #0F314E;
  46.287 +	background: inherit;
  46.288 +	display: block;
  46.289 +	text-decoration: none;
  46.290 +	font-weight: bold;
  46.291 +}
  46.292 +
  46.293 +.PanelInfo a:hover {
  46.294 +	color: #c60;
  46.295 +	text-decoration: none;
  46.296 +	display: block;
  46.297 +}
  46.298 +/* account */
  46.299 +
  46.300 +#Panel .Photo		{ background: #ddd; position: absolute; right: 10px; padding: 0 0 10px 10px; }
  46.301 +#Panel .Photo img	{ width: 50px; display: block; border: 5px solid #fff; border-bottom-width: 12px; }
  46.302 +#Panel .Photo img:hover	{ width: auto; }
  46.303 +
  46.304 +#Panel dl					{ padding: 10px; background: #fff; margin: 0; }
  46.305 +#Panel dt					{ font-weight: bold; padding: 2px 0 0; }
  46.306 +#Panel dd					{ margin: 0; border-bottom: 1px dotted #ccc; padding: 0 0 2px; }
  46.307 +
  46.308 +/* inbox */
  46.309 +.PanelInfo li strong		{ display: inline-block; margin: 0 5px 0 0; }
  46.310 +
  46.311 +/*- Form elements -*/
  46.312 +form		{ padding: 0 10px 10px; border-bottom: 1px dotted #ccc; }
  46.313 +fieldset	{ margin: 0; padding: 0; border: none; }
  46.314 +
  46.315 +form#Form_User_Register	{ margin-top: 10px; }
  46.316 +
  46.317 +input, textarea, select {
  46.318 +	border: 1px solid #ccc; padding: 3px 5px; margin: 0;
  46.319 +}
  46.320 +input.InputBox		{ width: 325px; margin: 0 10px 5px 0; }
  46.321 +
  46.322 +input.Button, input.Cancel {
  46.323 +	-moz-border-radius: 4px;
  46.324 +	-webkit-border-radius: 4px;
  46.325 +	cursor: pointer; border: none; background: #c60; color: #fff; padding: 4px;
  46.326 +}
  46.327 +input.Button:hover, input.Cancel:hover {
  46.328 +	background: #555555; color: white;
  46.329 +}
  46.330 +
  46.331 +a.Back, a.Cancel {
  46.332 +	margin: 0 5px 0 0;
  46.333 +}
  46.334 +
  46.335 +textarea			{ width: 95%; min-height: 100px; display: block; margin: 10px 0; }
  46.336 +
  46.337 +label	{ display: block; font-weight: bold; }
  46.338 +label.RadioLabel, label.CheckBoxLabel {
  46.339 +	font-weight: normal;
  46.340 +}
  46.341 +label.RadioLabel input, label.CheckBoxLabel input {
  46.342 +	border: none;
  46.343 +}
  46.344 +
  46.345 +li.Gender, li.CaptchaInput {
  46.346 +	margin: 0 0 10px;
  46.347 +}
  46.348 +li.CreateAccount, li.Buttons {
  46.349 +	margin: 5px 0 0;
  46.350 +}
  46.351 +.cleditorMain	{ margin: 10px 0; }
  46.352 +
  46.353 +.CommentForm div.Messages { margin: 8px 0 0; }
  46.354 +.Errors, .Warning	{
  46.355 +	color: #F00;
  46.356 +}
  46.357 +
  46.358 +/***--- BUTTONS ---***/
  46.359 +.GuestBox a.Button	{
  46.360 +	-moz-border-radius: 4px;
  46.361 +	-webkit-border-radius: 4px;
  46.362 +	font-size: 11px;
  46.363 +	padding: 4px;
  46.364 +	margin: 0 0 10px;
  46.365 +	background: #c60; 
  46.366 +	color: #FFF; }
  46.367 +.GuestBox .Button:hover	{
  46.368 +	background: #555555; }
  46.369 +	
  46.370 +a.BigButton	{
  46.371 +	-moz-border-radius: 8px;
  46.372 +	-webkit-border-radius: 8px;
  46.373 +	display: block; 
  46.374 +	background: #c60; 
  46.375 +	color: #FFF; 
  46.376 +	padding: 10px; 
  46.377 +	font-size: 1.1em; 
  46.378 +	font-weight: bold;
  46.379 +	text-align: center}
  46.380 +a.BigButton:hover	{ background: #555555; }
  46.381 +a.ClearConversation	{ margin: 10px 0 0; }
  46.382 +
  46.383 +/* options */
  46.384 +div.Options, div.OptionButton {
  46.385 +	position: absolute; top: 12px; right: 10px;
  46.386 +}
  46.387 +div.OptionButton	{ font-weight: bold; color: #555; }
  46.388 +ul.Options strong	{
  46.389 +	-moz-border-radius: 4px;
  46.390 +	-webkit-border-radius: 4px;
  46.391 +	cursor: pointer; 
  46.392 +	display: block; 
  46.393 +	padding: 5px 10px;
  46.394 +	background: #FFC;
  46.395 +	border: 1px solid #ccc; }
  46.396 +
  46.397 +ul.Options				{ margin: 5px 40px 0 0; }
  46.398 +ul.Options li			{ position: relative; }
  46.399 +ul.Options ul			{ min-width: 125px; display: none; position: absolute; z-index: 1000; background: #FFC; right: 0; border: 1px dotted #ccc; margin-top: -1px; }
  46.400 +ul.Options li:hover ul 	{ display: block; }
  46.401 +ul.Options ul li		{ display: block; border-top: 1px dotted #ccc; }
  46.402 +ul.Options ul li:first-child	{ border-top: none; }
  46.403 +ul.Options ul li a		{ display: block; padding: 5px 10px; }
  46.404 +
  46.405 +/*- Pager -*/
  46.406 +#PagerAfter				{ margin: 10px 0; text-align: center; background: #ddd; padding: 2px 10px; }
  46.407 +#PagerAfter	a			{ display: inline-block; padding: 0 5px; }
  46.408 +#PagerAfter	a.Highlight		{ color: #c60; }
  46.409 +span.Previous, a.Previous	{ float: left; }
  46.410 +#PagerAfter	span.Next, #PagerAfter	a.Next	{ float: right; padding: 0; }
  46.411 +
  46.412 +#PagerMore				{ text-align: right; padding: 5px 10px; }
  46.413 +
  46.414 +/***--- FOOTER --***/
  46.415 +#Footer {
  46.416 +	font-size: 11px ;
  46.417 +	width: 100%; 
  46.418 +	position: absolute; 
  46.419 +	bottom: 0;
  46.420 +	background: inherit;
  46.421 +	color: #a8a8a8; }
  46.422 +#Footer ul	{ margin: 16px 15px; }
  46.423 +#Footer li	{ float: left; }
  46.424 +#Footer a { text-decoration: underline; background: inherit; color: #a8a8a8; }
  46.425 +#Footer a:hover	{ color: #666666; }
  46.426 +
  46.427 +/***--- OVERLAY ---***/
  46.428 +.Overlay	{ width: 100%; position: absolute; top: 0; z-index: 10000; background: url(../images/overlayBg.png); }
  46.429 +.Overlay #Popup	{ width: 720px; padding: 15px; background: #FFF; margin: 0 auto; border: 1px dotted #c60; position: relative; }
  46.430 +
  46.431 +.Overlay .Buttons input.Button	{ margin: 0 0 10px; }
  46.432 +.Overlay p			{ padding: 0 10px; }
  46.433 +.Overlay a.Close	{ position: absolute; display: block; top: 10px; right: 15px; padding: 13px; font-size: 1.5em; color: #fff; }
  46.434 +.Overlay a.Close:hover	{ color: #c60; }
  46.435 +.Overlay ul			{ margin: 10px 0 0; }
  46.436 +
  46.437 +.Overlay input.Button	{ margin: 10px 0 0; }
  46.438 +.Overlay textarea		{ margin: 10px 0 0; }
  46.439 +.Overlay li.Gender		{ margin: 0; }
  46.440 +
  46.441 +.Overlay #Form_Picture	{ margin: 0 0 10px; }
    47.1 Binary file forum/vanilla/themes/slitaz/images/header.png has changed
    48.1 Binary file forum/vanilla/themes/slitaz/images/logo.png has changed
    49.1 Binary file forum/vanilla/themes/slitaz/images/overlayBg.png has changed
    50.1 Binary file forum/vanilla/themes/slitaz/screenshot.png has changed
    51.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    51.2 +++ b/forum/vanilla/themes/slitaz/views/default.master.php	Wed Dec 22 10:41:18 2010 +0100
    51.3 @@ -0,0 +1,76 @@
    51.4 +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    51.5 +<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    51.6 +	<head>
    51.7 +		<?php $this->RenderAsset('Head'); ?>
    51.8 +	</head>
    51.9 +	<body id="<?php echo $BodyIdentifier; ?>" class="<?php echo $this->CssClass; ?>">
   51.10 +		<div id="Wrapper">
   51.11 +			<div id="Main">
   51.12 +				<div id="ContentHolder">
   51.13 +					<div id="Content">
   51.14 +						<?php $this->RenderAsset('Content'); ?>
   51.15 +					</div>
   51.16 +				</div>
   51.17 +				<div id="PanelHolder">
   51.18 +					<div id="Panel"><?php $this->RenderAsset('Panel'); ?></div>
   51.19 +				</div>
   51.20 +				<div class="clear">&nbsp;</div>
   51.21 +			</div>
   51.22 +			
   51.23 +			<div id="Header">
   51.24 +			
   51.25 +			<a href="<?php echo Url('/'); ?>"><img id="logo"
   51.26 +			src="themes/slitaz/images/logo.png" title="www.slitaz.org" alt="www.slitaz.org"
   51.27 +			style="border: 0px solid ; width: 200px; height: 74px;" /></a>
   51.28 +			<p id="titre">#!/Support/Forum</p>
   51.29 +				
   51.30 +			</div>
   51.31 +			
   51.32 +			<div id="Nav">
   51.33 +				<?php
   51.34 +				  $Session = Gdn::Session();
   51.35 +					if ($this->Menu) {
   51.36 +						$this->Menu->AddLink('Dashboard', T('Dashboard'), '/dashboard/settings', array('Garden.Settings.Manage'));
   51.37 +						// $this->Menu->AddLink('Dashboard', T('Users'), '/user/browse', array('Garden.Users.Add', 'Garden.Users.Edit', 'Garden.Users.Delete'));
   51.38 +						$this->Menu->AddLink('Activity', T('Activity'), '/activity');
   51.39 +					 $Authenticator = Gdn::Authenticator();
   51.40 +						if ($Session->IsValid()) {
   51.41 +							$Name = $Session->User->Name;
   51.42 +							$CountNotifications = $Session->User->CountNotifications;
   51.43 +							if (is_numeric($CountNotifications) && $CountNotifications > 0)
   51.44 +								$Name .= ' <span>'.$CountNotifications.'</span>';
   51.45 +								
   51.46 +							$this->Menu->AddLink('User', "Profile ($Name)", '/profile/{UserID}/{Username}', array('Garden.SignIn.Allow'), array('class' => 'UserNotifications'));
   51.47 +							$this->Menu->AddLink('SignOut', T('Sign Out'), $Authenticator->SignOutUrl(), FALSE, array('class' => 'NonTab SignOut'));
   51.48 +						} else {
   51.49 +							$Attribs = array();
   51.50 +							if (C('Garden.SignIn.Popup') && strpos(Gdn::Request()->Url(), 'entry') === FALSE)
   51.51 +								$Attribs['class'] = 'SignInPopup';
   51.52 +								
   51.53 +							$this->Menu->AddLink('Entry', T('Sign In'), $Authenticator->SignInUrl($this->SelfUrl), FALSE, array('class' => 'NonTab'), $Attribs);
   51.54 +						}
   51.55 +						echo $this->Menu->ToString();
   51.56 +					}
   51.57 +				?>
   51.58 +				<div id="Search">
   51.59 +					<?php
   51.60 +						$Form = Gdn::Factory('Form');
   51.61 +						$Form->InputPrefix = '';
   51.62 +						echo 
   51.63 +							$Form->Open(array('action' => Url('/search'), 'method' => 'get')),
   51.64 +							$Form->TextBox('Search'),
   51.65 +							$Form->Button('Search', array('Name' => '')),
   51.66 +							$Form->Close();
   51.67 +					?>
   51.68 +				</div>
   51.69 +			</div>
   51.70 +			
   51.71 +			<div id="Footer">
   51.72 +				Copyright &copy; 2010 <a href="http://www.slitaz.org/">SliTaz</a> -
   51.73 +				<a href="http://vanillaforums.org">Powered by Vanilla</a>
   51.74 +			</div>
   51.75 +		</div>
   51.76 +
   51.77 +		<?php $this->FireEvent('AfterBody'); ?>
   51.78 +	</body>
   51.79 +</html>
    52.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    52.2 +++ b/forum/vanilla/themes/slitaz/views/discussion/comments.php	Wed Dec 22 10:41:18 2010 +0100
    52.3 @@ -0,0 +1,25 @@
    52.4 +<?php if (!defined('APPLICATION')) exit();
    52.5 +$Session = Gdn::Session();
    52.6 +$this->FireEvent('BeforeCommentsRender');
    52.7 +if (!function_exists('WriteComment'))
    52.8 +   include($this->FetchViewLocation('helper_functions', 'discussion'));
    52.9 +   
   52.10 +$CurrentOffset = $this->Offset;
   52.11 +if ($CurrentOffset == 0 && !$this->Data('NewComments', FALSE)) {
   52.12 +   echo WriteComment($this->Discussion, $this, $Session, $CurrentOffset);
   52.13 +}
   52.14 +
   52.15 +// Only prints individual comment list items
   52.16 +$CommentData = $this->CommentData->Result();
   52.17 +$i = 0;
   52.18 +foreach ($CommentData as $Comment) {
   52.19 +   ++$CurrentOffset;
   52.20 +   $this->CurrentComment = $Comment;
   52.21 +   if ($i % 2) {
   52.22 +		$counter = 'Odd';
   52.23 +   } else {
   52.24 +	   $counter = 'Even';
   52.25 +   }
   52.26 +   WriteComment($Comment, $this, $Session, $CurrentOffset, $counter);
   52.27 +   $i++;
   52.28 +}
    53.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    53.2 +++ b/forum/vanilla/themes/slitaz/views/discussion/helper_functions.php	Wed Dec 22 10:41:18 2010 +0100
    53.3 @@ -0,0 +1,118 @@
    53.4 +<?php if (!defined('APPLICATION')) exit();
    53.5 +
    53.6 +/**
    53.7 + * $Object is either a Comment or the original Discussion.
    53.8 + */
    53.9 +function WriteComment($Object, $Sender, $Session, $CurrentOffset, $counter) {
   53.10 +   $Author = UserBuilder($Object, 'Insert');
   53.11 +   $Type = property_exists($Object, 'CommentID') ? 'Comment' : 'Discussion';
   53.12 +	$Sender->EventArguments['Object'] = $Object;
   53.13 +   $Sender->EventArguments['Type'] = $Type;
   53.14 +   $Sender->EventArguments['Author'] = $Author;
   53.15 +   $CssClass = 'Item Comment ' . $counter;
   53.16 +   if ($Type == 'Comment') {
   53.17 +      $Sender->EventArguments['Comment'] = $Object;   
   53.18 +      $Id = 'Comment_'.$Object->CommentID;
   53.19 +      $Permalink = '/discussion/comment/'.$Object->CommentID.'/#Comment_'.$Object->CommentID;
   53.20 +   } else {
   53.21 +      $Sender->EventArguments['Discussion'] = $Object;   
   53.22 +      $CssClass .= ' FirstComment';
   53.23 +      $Id = 'Discussion_'.$Object->DiscussionID;
   53.24 +      $Permalink = '/discussion/'.$Object->DiscussionID.'/'.Gdn_Format::Url($Object->Name).'/p1';
   53.25 +   }
   53.26 +   $Sender->Options = '';
   53.27 +   $CssClass .= $Object->InsertUserID == $Session->UserID ? ' Mine' : '';
   53.28 +   $Sender->FireEvent('BeforeCommentDisplay');
   53.29 +?>
   53.30 +<li class="<?php echo $CssClass; ?>" id="<?php echo $Id; ?>">
   53.31 +   <div class="Comment">
   53.32 +      <div class="Meta">
   53.33 +         <?php $Sender->FireEvent('BeforeCommentMeta'); ?>
   53.34 +         <div class="Author">
   53.35 +            <?php
   53.36 +            echo UserPhoto($Author);
   53.37 +            echo UserAnchor($Author);
   53.38 +            ?>
   53.39 +			<div class="clear">&nbsp;</div>
   53.40 +         </div>
   53.41 +         <span class="DateCreated">
   53.42 +            <?php
   53.43 +            echo Gdn_Format::Date($Object->DateInserted);
   53.44 +            ?>
   53.45 +         </span>
   53.46 +         <span class="Permalink">
   53.47 +            <?php echo Anchor(T('Permalink'), $Permalink, 'Permalink', array('name' => 'Item_'.($CurrentOffset+1), 'rel' => 'nofollow')); ?>
   53.48 +         </span>
   53.49 +         <?php WriteOptionList($Object, $Sender, $Session); ?>
   53.50 +         <div class="CommentInfo">
   53.51 +            <?php $Sender->FireEvent('CommentInfo'); ?>
   53.52 +         </div>
   53.53 +         <?php $Sender->FireEvent('AfterCommentMeta'); ?>
   53.54 +      </div>
   53.55 +      <div class="Message">
   53.56 +			<?php $Sender->FireEvent('BeforeCommentBody'); ?>
   53.57 +			<?php 
   53.58 +			   $Object->FormatBody = Gdn_Format::To($Object->Body, $Object->Format);
   53.59 +			   $Sender->FireEvent('AfterCommentFormat');
   53.60 +			   $Object = $Sender->EventArguments['Object'];
   53.61 +			   echo $Object->FormatBody;
   53.62 +			?>
   53.63 +		</div><div class="clear">&nbsp;</div>
   53.64 +      <?php $Sender->FireEvent('AfterCommentBody'); ?>
   53.65 +   </div>
   53.66 +</li>
   53.67 +<?php
   53.68 +	$Sender->FireEvent('AfterComment');
   53.69 +}
   53.70 +
   53.71 +function WriteOptionList($Object, $Sender, $Session) {
   53.72 +   $EditContentTimeout = C('Garden.EditContentTimeout', -1);
   53.73 +	$CanEdit = $EditContentTimeout == -1 || strtotime($Object->DateInserted) + $EditContentTimeout > time();
   53.74 +	$TimeLeft = '';
   53.75 +	if ($CanEdit && $EditContentTimeout > 0) {
   53.76 +		$TimeLeft = strtotime($Object->DateInserted) + $EditContentTimeout - time();
   53.77 +		$TimeLeft = $TimeLeft > 0 ? ' ('.Gdn_Format::Seconds($TimeLeft).')' : '';
   53.78 +	}
   53.79 +
   53.80 +   $Sender->Options = '';
   53.81 +	$CategoryID = GetValue('CategoryID', $Object);
   53.82 +	if(!$CategoryID && property_exists($Sender, 'Discussion'))
   53.83 +		$CategoryID = GetValue('CategoryID', $Sender->Discussion);
   53.84 +		
   53.85 +   // Show discussion options if this is the discussion / first comment
   53.86 +   if ($Sender->EventArguments['Type'] == 'Discussion') {
   53.87 +      // Can the user edit the discussion?
   53.88 +      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $CategoryID))
   53.89 +         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editdiscussion/'.$Object->DiscussionID, 'EditDiscussion').$TimeLeft.'</span>';
   53.90 +         
   53.91 +      // Can the user announce?
   53.92 +      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $CategoryID))
   53.93 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</span>';
   53.94 +
   53.95 +      // Can the user sink?
   53.96 +      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $CategoryID))
   53.97 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</span>';
   53.98 +
   53.99 +      // Can the user close?
  53.100 +      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $CategoryID))
  53.101 +         $Sender->Options .= '<span>'.Anchor(T($Sender->Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Object->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</span>';
  53.102 +      
  53.103 +      // Can the user delete?
  53.104 +      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $CategoryID))
  53.105 +         $Sender->Options .= '<span>'.Anchor(T('Delete Discussion'), 'vanilla/discussion/delete/'.$Object->DiscussionID.'/'.$Session->TransientKey(), 'DeleteDiscussion') . '</span>';
  53.106 +   } else {
  53.107 +      // And if this is just another comment in the discussion ...
  53.108 +      
  53.109 +      // Can the user edit the comment?
  53.110 +      if (($CanEdit && $Session->UserID == $Object->InsertUserID) || $Session->CheckPermission('Vanilla.Comments.Edit', TRUE, 'Category', $Sender->Discussion->CategoryID))
  53.111 +         $Sender->Options .= '<span>'.Anchor(T('Edit'), '/vanilla/post/editcomment/'.$Object->CommentID, 'EditComment').$TimeLeft.'</span>';
  53.112 +
  53.113 +      // Can the user delete the comment?
  53.114 +      if ($Session->CheckPermission('Vanilla.Comments.Delete', TRUE, 'Category', $CategoryID))
  53.115 +         $Sender->Options .= '<span>'.Anchor(T('Delete'), 'vanilla/discussion/deletecomment/'.$Object->CommentID.'/'.$Session->TransientKey().'/?Target='.urlencode($Sender->SelfUrl), 'DeleteComment') . '</span>';
  53.116 +   }
  53.117 +   
  53.118 +   // Allow plugins to add options
  53.119 +   $Sender->FireEvent('CommentOptions');
  53.120 +   echo $Sender->Options;
  53.121 +}
  53.122 \ No newline at end of file
    54.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
    54.2 +++ b/forum/vanilla/themes/slitaz/views/discussions/helper_functions.php	Wed Dec 22 10:41:18 2010 +0100
    54.3 @@ -0,0 +1,186 @@
    54.4 +<?php
    54.5 +if (!defined('APPLICATION')) exit();
    54.6 +
    54.7 +function WriteDiscussion($Discussion, &$Sender, &$Session, $Alt) {
    54.8 +   $CssClass = 'Item';
    54.9 +   $CssClass .= $Discussion->Bookmarked == '1' ? ' Bookmarked' : '';
   54.10 +   $CssClass .= $Discussion->Closed == '1' ? ' Closed' : '';
   54.11 +   $CssClass .= $Alt.' ';
   54.12 +   $CssClass .= $Discussion->Announce == '1' ? ' Announcement' : '';
   54.13 +   $CssClass .= $Discussion->Dismissed == '1' ? ' Dismissed' : '';
   54.14 +   $CssClass .= $Discussion->InsertUserID == $Session->UserID ? ' Mine' : '';
   54.15 +   $CssClass .= ($Discussion->CountUnreadComments > 0 && $Session->IsValid()) ? ' New' : '';
   54.16 +   $Sender->EventArguments['Discussion'] = &$Discussion;
   54.17 +   $First = UserBuilder($Discussion, 'First');
   54.18 +   $Last = UserBuilder($Discussion, 'Last');
   54.19 +   
   54.20 +   $Sender->FireEvent('BeforeDiscussionName');
   54.21 +   
   54.22 +   $DiscussionName = Gdn_Format::Text($Discussion->Name);
   54.23 +   if ($DiscussionName == '')
   54.24 +      $DiscussionName = T('Blank Discussion Topic');
   54.25 +
   54.26 +   static $FirstDiscussion = TRUE;
   54.27 +   if (!$FirstDiscussion)
   54.28 +      $Sender->FireEvent('BetweenDiscussion');
   54.29 +   else
   54.30 +      $FirstDiscussion = FALSE;
   54.31 +?>
   54.32 +<li class="<?php echo $CssClass; ?> ">
   54.33 +   <?php
   54.34 +   $Sender->FireEvent('BeforeDiscussionContent');
   54.35 +   WriteOptions($Discussion, $Sender, $Session);
   54.36 +   ?>
   54.37 +   <div class="ItemContent Discussion">
   54.38 +      <?php echo Anchor($DiscussionName, '/discussion/'.$Discussion->DiscussionID.'/'.Gdn_Format::Url($Discussion->Name).($Discussion->CountCommentWatch > 0 && C('Vanilla.Comments.AutoOffset') ? '/#Item_'.$Discussion->CountCommentWatch : ''), 'Title'); ?>
   54.39 +      <?php $Sender->FireEvent('AfterDiscussionTitle'); ?>
   54.40 +      <div class="Meta">
   54.41 +         <?php if ($Discussion->Announce == '1') { ?>
   54.42 +         <span class="Announcement"><?php echo T('Announcement'); ?></span>
   54.43 +         <?php } ?>
   54.44 +         <?php if ($Discussion->Closed == '1') { ?>
   54.45 +         <span class="Closed"><?php echo T('Closed'); ?></span>
   54.46 +         <?php } ?>
   54.47 +         <span class="CommentCount"><?php printf(Plural($Discussion->CountComments, '%s comment', '%s comments'), $Discussion->CountComments); ?></span>
   54.48 +         <?php
   54.49 +            if ($Session->IsValid() && $Discussion->CountUnreadComments > 0)
   54.50 +               echo '<strong>'.Plural($Discussion->CountUnreadComments, '%s New', '%s New Plural').'</strong>';
   54.51 +
   54.52 +            if ($Discussion->LastCommentID != '') {
   54.53 +               echo '<span class="LastCommentBy">'.sprintf(T('Most recent by %1$s'), UserAnchor($Last)).'</span>';
   54.54 +               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->LastDate).'</span>';
   54.55 +            } else {
   54.56 +               echo '<span class="LastCommentBy">'.sprintf(T('Started by %1$s'), UserAnchor($First)).'</span>';
   54.57 +               echo '<span class="LastCommentDate">'.Gdn_Format::Date($Discussion->FirstDate).'</span>';
   54.58 +            }
   54.59 +         
   54.60 +            if (C('Vanilla.Categories.Use'))
   54.61 +               echo Wrap(Anchor($Discussion->Category, '/categories/'.$Discussion->CategoryUrlCode, 'Category'));
   54.62 +               
   54.63 +            $Sender->FireEvent('DiscussionMeta');
   54.64 +         ?>
   54.65 +      </div>
   54.66 +   </div>
   54.67 +</li>
   54.68 +<?php
   54.69 +}
   54.70 +
   54.71 +function WriteFilterTabs(&$Sender) {
   54.72 +   $Session = Gdn::Session();
   54.73 +   $Title = property_exists($Sender, 'Category') && is_object($Sender->Category) ? $Sender->Category->Name : T('All Discussions');
   54.74 +   $Bookmarked = T('My Bookmarks');
   54.75 +   $MyDiscussions = T('My Discussions');
   54.76 +   $MyDrafts = T('My Drafts');
   54.77 +   $CountBookmarks = 0;
   54.78 +   $CountDiscussions = 0;
   54.79 +   $CountDrafts = 0;
   54.80 +   if ($Session->IsValid()) {
   54.81 +      $CountBookmarks = $Session->User->CountBookmarks;
   54.82 +      $CountDiscussions = $Session->User->CountDiscussions;
   54.83 +      $CountDrafts = $Session->User->CountDrafts;
   54.84 +   }
   54.85 +   if (is_numeric($CountBookmarks) && $CountBookmarks > 0)
   54.86 +      $Bookmarked .= '<span>'.$CountBookmarks.'</span>';
   54.87 +
   54.88 +   if (is_numeric($CountDiscussions) && $CountDiscussions > 0)
   54.89 +      $MyDiscussions .= '<span>'.$CountDiscussions.'</span>';
   54.90 +
   54.91 +   if (is_numeric($CountDrafts) && $CountDrafts > 0)
   54.92 +      $MyDrafts .= '<span>'.$CountDrafts.'</span>';
   54.93 +      
   54.94 +   ?>
   54.95 +<div class="Tabs DiscussionsTabs">
   54.96 +   <ul>
   54.97 +      <?php $Sender->FireEvent('BeforeDiscussionTabs'); ?>
   54.98 +      <li<?php echo strtolower($Sender->ControllerName) == 'discussionscontroller' && strtolower($Sender->RequestMethod) == 'index' ? ' class="Active"' : ''; ?>><?php echo Anchor(T('All Discussions'), 'discussions'); ?></li>
   54.99 +      <?php $Sender->FireEvent('AfterAllDiscussionsTab'); ?>
  54.100 +      <?php if ($CountBookmarks > 0 || $Sender->RequestMethod == 'bookmarked') { ?>
  54.101 +      <li<?php echo $Sender->RequestMethod == 'bookmarked' ? ' class="Active"' : ''; ?>><?php echo Anchor($Bookmarked, '/discussions/bookmarked', 'MyBookmarks'); ?></li>
  54.102 +      <?php
  54.103 +         $Sender->FireEvent('AfterBookmarksTab');
  54.104 +      }
  54.105 +      if ($CountDiscussions > 0 || $Sender->RequestMethod == 'mine') {
  54.106 +      ?>
  54.107 +      <li<?php echo $Sender->RequestMethod == 'mine' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDiscussions, '/discussions/mine', 'MyDiscussions'); ?></li>
  54.108 +      <?php
  54.109 +      }
  54.110 +      if ($CountDrafts > 0 || $Sender->ControllerName == 'draftscontroller') {
  54.111 +      ?>
  54.112 +      <li<?php echo $Sender->ControllerName == 'draftscontroller' ? ' class="Active"' : ''; ?>><?php echo Anchor($MyDrafts, '/drafts', 'MyDrafts'); ?></li>
  54.113 +      <?php
  54.114 +      }
  54.115 +      $Sender->FireEvent('AfterDiscussionTabs');
  54.116 +      ?>
  54.117 +   </ul>
  54.118 +   <?php
  54.119 +   if (property_exists($Sender, 'Category') && is_object($Sender->Category)) {
  54.120 +      ?>
  54.121 +      <div class="SubTab">↳ <?php echo $Sender->Category->Name; ?></div>
  54.122 +      <?php
  54.123 +   }
  54.124 +   ?>
  54.125 +</div>
  54.126 +   <?php
  54.127 +}
  54.128 +
  54.129 +/**
  54.130 + * Render options that the user has for this discussion.
  54.131 + */
  54.132 +function WriteOptions($Discussion, &$Sender, &$Session) {
  54.133 +   if ($Session->IsValid() && $Sender->ShowOptions) {
  54.134 +      echo '<div class="Options">';
  54.135 +      // Bookmark link
  54.136 +      $Title = T($Discussion->Bookmarked == '1' ? 'Unbookmark' : 'Bookmark');
  54.137 +      echo Anchor(
  54.138 +         '<span class="Star">'
  54.139 +            .Img('applications/dashboard/design/images/pixel.png', array('alt' => $Title))
  54.140 +         .'</span>',
  54.141 +         '/vanilla/discussion/bookmark/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl),
  54.142 +         'Bookmark' . ($Discussion->Bookmarked == '1' ? ' Bookmarked' : ''),
  54.143 +         array('title' => $Title)
  54.144 +      );
  54.145 +      
  54.146 +      $Sender->Options = '';
  54.147 +      
  54.148 +      // Dismiss an announcement
  54.149 +      if (C('Vanilla.Discussions.Dismiss', 1) && $Discussion->Announce == '1' && $Discussion->Dismissed != '1')
  54.150 +         $Sender->Options .= '<li>'.Anchor(T('Dismiss'), 'vanilla/discussion/dismissannouncement/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'DismissAnnouncement') . '</li>';
  54.151 +      
  54.152 +      // Edit discussion
  54.153 +      if ($Discussion->FirstUserID == $Session->UserID || $Session->CheckPermission('Vanilla.Discussions.Edit', TRUE, 'Category', $Discussion->CategoryID))
  54.154 +         $Sender->Options .= '<li>'.Anchor(T('Edit'), 'vanilla/post/editdiscussion/'.$Discussion->DiscussionID, 'EditDiscussion') . '</li>';
  54.155 +
  54.156 +      // Announce discussion
  54.157 +      if ($Session->CheckPermission('Vanilla.Discussions.Announce', TRUE, 'Category', $Discussion->CategoryID))
  54.158 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Announce == '1' ? 'Unannounce' : 'Announce'), 'vanilla/discussion/announce/'.$Discussion->DiscussionID.'/'.$Session->TransientKey(), 'AnnounceDiscussion') . '</li>';
  54.159 +
  54.160 +      // Sink discussion
  54.161 +      if ($Session->CheckPermission('Vanilla.Discussions.Sink', TRUE, 'Category', $Discussion->CategoryID))
  54.162 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Sink == '1' ? 'Unsink' : 'Sink'), 'vanilla/discussion/sink/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'SinkDiscussion') . '</li>';
  54.163 +
  54.164 +      // Close discussion
  54.165 +      if ($Session->CheckPermission('Vanilla.Discussions.Close', TRUE, 'Category', $Discussion->CategoryID))
  54.166 +         $Sender->Options .= '<li>'.Anchor(T($Discussion->Closed == '1' ? 'Reopen' : 'Close'), 'vanilla/discussion/close/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'CloseDiscussion') . '</li>';
  54.167 +      
  54.168 +      // Delete discussion
  54.169 +      if ($Session->CheckPermission('Vanilla.Discussions.Delete', TRUE, 'Category', $Discussion->CategoryID))
  54.170 +         $Sender->Options .= '<li>'.Anchor(T('Delete'), 'vanilla/discussion/delete/'.$Discussion->DiscussionID.'/'.$Session->TransientKey().'?Target='.urlencode($Sender->SelfUrl), 'DeleteDiscussion') . '</li>';
  54.171 +      
  54.172 +      // Allow plugins to add options
  54.173 +      $Sender->FireEvent('DiscussionOptions');
  54.174 +      
  54.175 +      if ($Sender->Options != '') {
  54.176 +      ?>
  54.177 +         <ul class="Options">
  54.178 +            <li>
  54.179 +               <strong><?php echo T('Options'); ?></strong>
  54.180 +               <ul>
  54.181 +                  <?php echo $Sender->Options; ?>
  54.182 +               </ul>
  54.183 +            </li>
  54.184 +         </ul>
  54.185 +      <?php
  54.186 +      }
  54.187 +      echo '</div>';
  54.188 +   }
  54.189 +}
  54.190 \ No newline at end of file