auboard-devel Mailing List for Auboard
Status: Beta
Brought to you by:
oalbers
You can subscribe to this list here.
2005 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
(59) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2006 |
Jan
(196) |
Feb
(74) |
Mar
(104) |
Apr
(20) |
May
(16) |
Jun
(21) |
Jul
(14) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2007 |
Jan
|
Feb
(5) |
Mar
(6) |
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
From: auboard-devel <aub...@li...> - 2007-03-23 22:28:17
|
Revision: 59 Author: olli Date: 2007-03-23 23:28:13 +0100 (Fri, 23 Mar 2007) Log Message: ----------- logout implemented Modified Paths: -------------- trunk/protected/modules/Navbar.php trunk/protected/modules/User.php trunk/protected/pages/Login.php Modified: trunk/protected/modules/Navbar.php =================================================================== --- trunk/protected/modules/Navbar.php 2007-03-23 22:16:06 UTC (rev 58) +++ trunk/protected/modules/Navbar.php 2007-03-23 22:28:13 UTC (rev 59) @@ -38,6 +38,10 @@ array( 'name' => 'help', 'url' => $this->getService()->constructUrl('Help', array('foo' => 'bar')) + ), + array( + 'name' => 'logged in as ' . $this->getApplication()->getUser()->getBoarduser()->getUsername(), + 'url' => '#' ) ); } Modified: trunk/protected/modules/User.php =================================================================== --- trunk/protected/modules/User.php 2007-03-23 22:16:06 UTC (rev 58) +++ trunk/protected/modules/User.php 2007-03-23 22:28:13 UTC (rev 59) @@ -4,6 +4,7 @@ public function __construct(IUserManager $manager) { parent::__construct($manager); + $this->_boarduser = null; } public function login($username, $password) { @@ -29,12 +30,20 @@ $this->setIsGuest(false); $this->_boarduser = $user; - $this->getManager()->Session["USER"] = $this; + $this->getManager()->Session['USER'] = $this; return true; } return false; } + + public function logout() { + $this->getManager()->Session->remove('USER'); + } + + public function getBoarduser() { + return $this->_boarduser; + } } ?> \ No newline at end of file Modified: trunk/protected/pages/Login.php =================================================================== --- trunk/protected/pages/Login.php 2007-03-23 22:16:06 UTC (rev 58) +++ trunk/protected/pages/Login.php 2007-03-23 22:28:13 UTC (rev 59) @@ -1,14 +1,20 @@ <?php class Login extends AUPage { - private $loginOkay; - + private function forwardToHome() { + $this->getApplication()->getResponse()->redirect('index.php?page=Home'); + } + public function OnInit() { - $this->loginOkay = false; + if ($this->getApplication()->getRequest()->contains('logout')) { + $this->getApplication()->getUser()->logout(); + + $this->forwardToHome(); + } } public function loginButton_Click($sender, $params) { if ($this->getApplication()->getUser()->login($this->username->Text, $this->password->Text)) { - $this->getApplication()->getResponse()->redirect('index.php?page=Home'); + $this->forwardToHome(); } else { sleep(3); } |
From: auboard-devel <aub...@li...> - 2007-03-23 22:16:11
|
Revision: 58 Author: olli Date: 2007-03-23 23:16:06 +0100 (Fri, 23 Mar 2007) Log Message: ----------- login workflow now does actual logins Modified Paths: -------------- trunk/protected/modules/User.php trunk/protected/modules/UserManager.php trunk/protected/pages/Home.php trunk/protected/pages/Login.php Modified: trunk/protected/modules/User.php =================================================================== --- trunk/protected/modules/User.php 2007-03-23 21:57:58 UTC (rev 57) +++ trunk/protected/modules/User.php 2007-03-23 22:16:06 UTC (rev 58) @@ -29,6 +29,8 @@ $this->setIsGuest(false); $this->_boarduser = $user; + $this->getManager()->Session["USER"] = $this; + return true; } Modified: trunk/protected/modules/UserManager.php =================================================================== --- trunk/protected/modules/UserManager.php 2007-03-23 21:57:58 UTC (rev 57) +++ trunk/protected/modules/UserManager.php 2007-03-23 22:16:06 UTC (rev 58) @@ -9,9 +9,13 @@ public function getUser($name = null) { if (is_null($name)) { - $user = new User($this); - $user->setIsGuest(true); - return $user; + if (!$this->Session->contains('USER')) { + $user = new User($this); + $user->setIsGuest(true); + return $user; + } else { + return $this->Session["USER"]; + } } else { $user = new User($this); return $user; Modified: trunk/protected/pages/Home.php =================================================================== --- trunk/protected/pages/Home.php 2007-03-23 21:57:58 UTC (rev 57) +++ trunk/protected/pages/Home.php 2007-03-23 22:16:06 UTC (rev 58) @@ -1,7 +1,6 @@ <?php class Home extends AUPage { public function __construct() { - $this->setCrumbParam('Home', 'foo', 'bar'); parent::__construct(); } @@ -10,7 +9,6 @@ $this->ForumsRepeater->DataSource = $boardData; $this->ForumsRepeater->dataBind(); - } } ?> \ No newline at end of file Modified: trunk/protected/pages/Login.php =================================================================== --- trunk/protected/pages/Login.php 2007-03-23 21:57:58 UTC (rev 57) +++ trunk/protected/pages/Login.php 2007-03-23 22:16:06 UTC (rev 58) @@ -7,7 +7,7 @@ } public function loginButton_Click($sender, $params) { - if ($this->getApplication()->getModule('auth')->login($this->username->Text, $this->password->Text)) { + if ($this->getApplication()->getUser()->login($this->username->Text, $this->password->Text)) { $this->getApplication()->getResponse()->redirect('index.php?page=Home'); } else { sleep(3); |
From: auboard-devel <aub...@li...> - 2007-03-23 21:59:08
|
Revision: 57 Author: Date: Log Message: ----------- |
From: auboard-devel <aub...@li...> - 2007-03-23 00:03:24
|
Revision: 56 Author: olli Date: 2007-03-23 01:02:47 +0100 (Fri, 23 Mar 2007) Log Message: ----------- added some documentation Modified Paths: -------------- trunk/protected/controls/AUPage.php trunk/protected/controls/Layout.php Modified: trunk/protected/controls/AUPage.php =================================================================== --- trunk/protected/controls/AUPage.php 2007-03-22 23:56:45 UTC (rev 55) +++ trunk/protected/controls/AUPage.php 2007-03-23 00:02:47 UTC (rev 56) @@ -1,13 +1,40 @@ <?php +/** + * Base class for all application pages. + * This class supports configuration of application specific modules and + * supplies some helper methods to all pages. + * + * @author olli + */ + class AUPage extends TPage { + /** + * Add a breadcrumb to the page + * This is used by config.xml + * @param string $crumb ID of the breadcrumb to add + */ public function setBreadCrumb($crumb) { $this->getApplication()->getModule('Breadcrumb')->addBreadcrumb($crumb); } + /** + * Add a parameter to a breadcrumb (like thread id or something like that) + * + * @param string $crumbName ID of the breadcrumb + * @param string $paramName Name of the parameter + * @param string $paramValue Paremeter value + */ public function setCrumbParam($crumbName, $paramName, $paramValue) { $this->getApplication()->getModule('Breadcrumb')->setCrumbParam($crumbName, $paramName, $paramValue); } + /** + * Translate a string literal to the user's locale + * @todo implement this sometime, currently it only returns the key itself + * + * @param string $key String that should be translated, this also is the key for the translation handling + * @return string translated key + */ protected function __trl($key) { return $key; } Modified: trunk/protected/controls/Layout.php =================================================================== --- trunk/protected/controls/Layout.php 2007-03-22 23:56:45 UTC (rev 55) +++ trunk/protected/controls/Layout.php 2007-03-23 00:02:47 UTC (rev 56) @@ -1,4 +1,12 @@ <?php +/** + * Base Layout class used by all pages + * This class enforces use of the template to all pages + * You can edit the template of the application by editing the corresponding tpl + * file to this class + * + * @author olli + */ class Layout extends TTemplateControl { public function onInit($params) { parent::onInit($params); |
From: auboard-devel <aub...@li...> - 2007-03-22 23:56:45
|
Revision: 55 Author: olli Date: 2007-03-23 00:56:45 +0100 (Fri, 23 Mar 2007) Log Message: ----------- more interactive login page Modified Paths: -------------- trunk/protected/controls/AUPage.php trunk/protected/pages/Login.page trunk/protected/pages/Login.php Modified: trunk/protected/controls/AUPage.php =================================================================== --- trunk/protected/controls/AUPage.php 2007-03-22 23:49:15 UTC (rev 54) +++ trunk/protected/controls/AUPage.php 2007-03-22 23:56:45 UTC (rev 55) @@ -7,5 +7,9 @@ public function setCrumbParam($crumbName, $paramName, $paramValue) { $this->getApplication()->getModule('Breadcrumb')->setCrumbParam($crumbName, $paramName, $paramValue); } + + protected function __trl($key) { + return $key; + } } ?> \ No newline at end of file Modified: trunk/protected/pages/Login.page =================================================================== --- trunk/protected/pages/Login.page 2007-03-22 23:49:15 UTC (rev 54) +++ trunk/protected/pages/Login.page 2007-03-22 23:56:45 UTC (rev 55) @@ -9,7 +9,10 @@ <td><com:TTextBox id="password" Text="" TextMode="Password"/></td> </tr> <tr> - <td colspan="2"><com:TButton id="login" Text="Login" onClick="loginButton_Click"/></td> + <td colspan="2"> + <com:TLabel id="errors"></com:TLabel> + <com:TButton id="login" Text="Login" onClick="loginButton_Click"/> + </td> </tr> </table> </com:TForm> Modified: trunk/protected/pages/Login.php =================================================================== --- trunk/protected/pages/Login.php 2007-03-22 23:49:15 UTC (rev 54) +++ trunk/protected/pages/Login.php 2007-03-22 23:56:45 UTC (rev 55) @@ -5,11 +5,23 @@ * */ public function loginButton_Click() { - $username = TPropertyValue::ensureString($this->username->Text); - $password = TPropertyValue::ensureString($this->password->Text); + $username = trim(TPropertyValue::ensureString($this->username->Text)); + $password = trim(TPropertyValue::ensureString($this->password->Text)); + + if ($username == '') { + $this->errors->Text = $this->__trl('Please enter your user name'); + } else if ($password == '') { + $this->errors->Text = $this->__trl('Please enter your password'); + } else { + $this->errors->Text = ''; + } + if ($this->getApplication()->getModule('auth')->login($username, $password)) { $this->getApplication()->getResponse()->redirect( $this->getApplication()->getModule('auth')->getReturnUrl()); + } else { + sleep(3); + $this->errors->Text = $this->__trl('Unknown username or password'); } } } |
From: auboard-devel <aub...@li...> - 2007-03-22 23:49:30
|
Revision: 54 Author: olli Date: 2007-03-23 00:49:15 +0100 (Fri, 23 Mar 2007) Log Message: ----------- runs again Modified Paths: -------------- trunk/index.php trunk/protected/application.xml Modified: trunk/index.php =================================================================== --- trunk/index.php 2007-02-15 01:25:35 UTC (rev 53) +++ trunk/index.php 2007-03-22 23:49:15 UTC (rev 54) @@ -13,9 +13,9 @@ if(!is_writable($runtimePath)) die("Please make sure that the directory $runtimePath is writable by Web server process."); - require_once($frameworkPath); +set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . '/protected/pear/'); Prado::using('Log/file'); Prado::using('propel/Propel'); Propel::init(dirname(__FILE__) . '/protected/db/src/build/conf/auboard-conf.php'); Modified: trunk/protected/application.xml =================================================================== --- trunk/protected/application.xml 2007-02-15 01:25:35 UTC (rev 53) +++ trunk/protected/application.xml 2007-03-22 23:49:15 UTC (rev 54) @@ -7,8 +7,6 @@ <using namespace="System.Security.*"/> <using namespace="Application.*"/> <using namespace="Application.db.*"/> - <using namespace="Application.pear.*"/> - <using namespace="Application.pear.propel.*"/> </paths> <modules> |
From: auboard-devel <aub...@li...> - 2007-02-15 01:25:36
|
Revision: 53 Author: olli Date: 2007-02-15 02:25:35 +0100 (Thu, 15 Feb 2007) Log Message: ----------- example for using propel objects as a prado data source Modified Paths: -------------- trunk/protected/pages/Home.page trunk/protected/pages/Home.php Modified: trunk/protected/pages/Home.page =================================================================== --- trunk/protected/pages/Home.page 2007-02-15 01:21:09 UTC (rev 52) +++ trunk/protected/pages/Home.page 2007-02-15 01:25:35 UTC (rev 53) @@ -2,24 +2,19 @@ <table> <tr> <th></th> - <th>board name</th> - <th>threads</th> - <th>posts</th> - <th>last post</th> + <th><%[board name]%></th> </tr> <com:TRepeater id="ForumsRepeater"> <prop:ItemTemplate> <tr> <td></td> - <td><%# $this->DataItem['name'] %></td> - <td><%# $this->DataItem['threads'] %></td> - <td><%# $this->DataItem['posts'] %></td> - <td> - <com:TDateFormat Culture="en_US" Value="<%# $this->DataItem['lastpostdate']%>" /> - by <%# $this->DataItem['lastpostauthor'] %>: - <%# $this->DataItem['lastposttitle'] %> - </td> + <td><%# $this->DataItem->getName() %></td> </tr> + <tr> + <td></td> + <td><em><%# $this->DataItem->getDescription() %></em></td> + </tr> + </prop:Itemtemplate> </com:TRepeater> </table> Modified: trunk/protected/pages/Home.php =================================================================== --- trunk/protected/pages/Home.php 2007-02-15 01:21:09 UTC (rev 52) +++ trunk/protected/pages/Home.php 2007-02-15 01:25:35 UTC (rev 53) @@ -6,20 +6,9 @@ } public function onLoad() { - $forums = array( - array( - 'id' => 0, - 'name' => 'PHP', - 'threads' => 10, - 'posts' => 25, - 'lastpostauthor' => 'olli', - 'lastpostid' => 1234, - 'lastpostdate' => time(), - 'lastposttitle' => 'Yay!' - ) - ); + $boardData = BoardPeer::getTree(1); - $this->ForumsRepeater->DataSource = $forums; + $this->ForumsRepeater->DataSource = $boardData; $this->ForumsRepeater->dataBind(); } |
From: auboard-devel <aub...@li...> - 2007-02-15 01:22:06
|
Revision: 52 Author: olli Date: 2007-02-15 02:21:09 +0100 (Thu, 15 Feb 2007) Log Message: ----------- excluse root of the tree (where name is null) from the results Modified Paths: -------------- trunk/protected/db/BoardPeer.php Modified: trunk/protected/db/BoardPeer.php =================================================================== --- trunk/protected/db/BoardPeer.php 2007-02-15 00:59:28 UTC (rev 51) +++ trunk/protected/db/BoardPeer.php 2007-02-15 01:21:09 UTC (rev 52) @@ -76,6 +76,8 @@ ON b2.id = ? AND board.lft BETWEEN b2.lft AND b2.rgt + WHERE + " . BoardPeer::NAME . " IS NOT NULL ORDER BY board.lft "; |
From: auboard-devel <aub...@li...> - 2007-02-15 00:59:30
|
Revision: 51 Author: olli Date: 2007-02-15 01:59:28 +0100 (Thu, 15 Feb 2007) Log Message: ----------- method to read board tree from db Modified Paths: -------------- trunk/protected/db/BoardPeer.php Modified: trunk/protected/db/BoardPeer.php =================================================================== --- trunk/protected/db/BoardPeer.php 2007-02-15 00:18:18 UTC (rev 50) +++ trunk/protected/db/BoardPeer.php 2007-02-15 00:59:28 UTC (rev 51) @@ -26,22 +26,63 @@ /** * Prepare database table for insertion of a new node in the tree - * @param parent rgt value of the parent's node, equal to lft value of the new node + * @param int rgt value of the parent's node, equal to lft value of the new node * */ - public function prepareInsert($rgt) { - $con = PROPEL::getConnection(DATABASE_NAME); + public static function prepareInsert($rgt) { + $con = PROPEL::getConnection(parent::DATABASE_NAME); + if (! is_int($rgt)) { + throw new Exception("rgt parameter of BoardPeer::prepareInsert has to be an int."); + } + $sql = " UPDATE board SET rgt = rgt + 1 WHERE - rgt > $rgt + rgt > ? "; - $stmt = $con->createStatement($sql); + $stmt = $con->prepareStatement($sql); + $stmt->setInt(1, $rgt); + $stmt->executeUpdate(); } + + /** + * Retrieve a whole tree of boards + * + * @param int id of the root node + */ + public static function getTree($rootId) { + $con = PROPEL::getConnection(parent::DATABASE_NAME); + + if (! is_int($rootId)) { + throw new Exception("rootId parameter of BoardPeer::getTree has to be an int."); + } + + $criteria = new Criteria(); + BaseBoardPeer::addSelectColumns($criteria); + + $sql = " + SELECT + " . join(", ", $criteria->getSelectColumns()) . " + FROM + board + INNER JOIN + board b2 + ON + b2.id = ? AND + board.lft BETWEEN b2.lft AND b2.rgt + ORDER BY + board.lft + "; + + $stmt = $con->prepareStatement($sql); + $stmt->setInt(1, $rootId); + + return parent::populateObjects($stmt->executeQuery(ResultSet::FETCHMODE_NUM)); + } } // BoardPeer |
From: auboard-devel <aub...@li...> - 2007-02-15 00:18:21
|
Revision: 50 Author: olli Date: 2007-02-15 01:18:18 +0100 (Thu, 15 Feb 2007) Log Message: ----------- added function to prepare insertion of new nodes in our board tree Modified Paths: -------------- trunk/protected/db/BoardPeer.php trunk/protected/pages/config.xml Modified: trunk/protected/db/BoardPeer.php =================================================================== --- trunk/protected/db/BoardPeer.php 2007-02-12 22:25:20 UTC (rev 49) +++ trunk/protected/db/BoardPeer.php 2007-02-15 00:18:18 UTC (rev 50) @@ -24,4 +24,24 @@ */ class BoardPeer extends BaseBoardPeer { + /** + * Prepare database table for insertion of a new node in the tree + * @param parent rgt value of the parent's node, equal to lft value of the new node + * + */ + public function prepareInsert($rgt) { + $con = PROPEL::getConnection(DATABASE_NAME); + + $sql = " + UPDATE + board + SET + rgt = rgt + 1 + WHERE + rgt > $rgt + "; + + $stmt = $con->createStatement($sql); + $stmt->executeUpdate(); + } } // BoardPeer Modified: trunk/protected/pages/config.xml =================================================================== --- trunk/protected/pages/config.xml 2007-02-12 22:25:20 UTC (rev 49) +++ trunk/protected/pages/config.xml 2007-02-15 00:18:18 UTC (rev 50) @@ -6,7 +6,7 @@ </pages> <authorization> - <allow pages="Home" roles="admin"/> - <deny pages="Home" roles="user,mod" users="?"/> + <!-- allow pages="Home" roles="user,admin"/> + <deny pages="Home" roles="mod" users="?"/ --> </authorization> </configuration> \ No newline at end of file |
From: auboard-devel <aub...@li...> - 2007-02-12 22:25:27
|
Revision: 49 Author: olli Date: 2007-02-12 23:25:20 +0100 (Mon, 12 Feb 2007) Log Message: ----------- dummy-commit to see if svnnotify (mail commit logs to devel-list) works again Modified Paths: -------------- trunk/index.php Modified: trunk/index.php =================================================================== --- trunk/index.php 2007-02-11 23:50:31 UTC (rev 48) +++ trunk/index.php 2007-02-12 22:25:20 UTC (rev 49) @@ -1,6 +1,6 @@ <?php $frameworkPath='./framework/prado.php'; - + /** The directory checks may be removed if performance is required **/ $basePath=dirname(__FILE__); $assetsPath=$basePath."/assets"; |
From: auboard-devel <aub...@li...> - 2006-07-13 12:48:03
|
Revision: 36 Author: chrissi Date: 2006-07-13 14:51:09 +0200 (Thu, 13 Jul 2006) Log Message: ----------- Modified Paths: -------------- trunk/contrib/de/templates/profile.php Modified: trunk/contrib/de/templates/profile.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/profile.php 2006-07-13 12:05:55 UTC (rev 3= 5) +++ trunk/contrib/de/templates/profile.php 2006-07-13 12:51:09 UTC (rev 3= 6) @@ -7,7 +7,7 @@ </td> </tr> <tr class=3D"content"> - <td>Akutelles Passwort<?php if ($error['OLDPASSNOTMATCH']) error('oldpa= ssnotmatch', 'Sie haben Ihr altes Passwort falsch eingegeben', true) ?></= td> + <td>Aktuelles Passwort<?php if ($error['OLDPASSNOTMATCH']) error('oldpa= ssnotmatch', 'Sie haben Ihr altes Passwort falsch eingegeben', true) ?></= td> <td><input type=3D"password" name=3D"oldpass" size=3D"20" /></td> </tr> <tr class=3D"body"> |
From: auboard-devel <aub...@li...> - 2006-07-13 12:03:00
|
Revision: 35 Author: chrissi Date: 2006-07-13 14:05:55 +0200 (Thu, 13 Jul 2006) Log Message: ----------- Modified Paths: -------------- trunk/contrib/de/templates/header.php trunk/contrib/de/templates/help.php trunk/contrib/de/templates/register.php Modified: trunk/contrib/de/templates/header.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/header.php 2006-07-13 11:45:58 UTC (rev 34= ) +++ trunk/contrib/de/templates/header.php 2006-07-13 12:05:55 UTC (rev 35= ) @@ -56,7 +56,7 @@ <?php } ?> | <?php //this is shown in both cases * ?> <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller' =3D> 'members')) ?>">Benutzerliste</a> | - <a class=3D"navigation" href=3D"index.php">search</a> | + <a class=3D"navigation" href=3D"index.php">Suche</a> | <?php //if user is admin show link to administration * ?> <?php if($userisadmin) { ?> <a class=3D"navigation" href=3D"admin/">Administration</a> | Modified: trunk/contrib/de/templates/help.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/help.php 2006-07-13 11:45:58 UTC (rev 34) +++ trunk/contrib/de/templates/help.php 2006-07-13 12:05:55 UTC (rev 35) @@ -188,4 +188,4 @@ <h1>Hilfe: Unbekanntes Thema</h1> Leider ist noch keine Hilfe für Ihre Hilfeanfrage vorhanden. <?php } ?> -<div align=3D"center"><input type=3D"button" value=3D"Close" onClick=3D"= self.close();" name=3D"Close" /></div> +<div align=3D"center"><input type=3D"button" value=3D"Schließen" o= nClick=3D"self.close();" name=3D"Close" /></div> Modified: trunk/contrib/de/templates/register.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/register.php 2006-07-13 11:45:58 UTC (rev = 34) +++ trunk/contrib/de/templates/register.php 2006-07-13 12:05:55 UTC (rev = 35) @@ -5,7 +5,7 @@ <p>Gratulation, Ihr Benutzeraccount für dieses Forum wurde erfolg= reich aktviert.<br/> <br/> Sie können Ihren Benutzeraccount sofort nutzen oder - ein Profil mit zusätzlichen Informationen über Sie, die ande= re Benutzer sehen können.</p> + ein Profil mit zusätzlichen Informationen über Sie, die ande= re Benutzer sehen können, erstellen.</p> <?php } else { ?> <h1 class=3D"error">Registrationfehler</h1> <p>Ihr Benutzeraccount konnte nicht aktiviert werden.<br/> @@ -49,10 +49,10 @@ </table> </form> <?php } else { ?> - <h1>Aktivierung des Benutzeraccounts steht bevor</h1> + <h1>Aktivierung Ihres Benutzeraccounts steht bevor</h1> <p>Danke für Ihre Registrierung.<br/> <br/> - Eine E-mail wurde an Sie gesendet. Diese beinhaltet, was sie für I= hren neuen Benutzeraccount machen müssen. - Bitt warten Sie ein paar Minuten, bis die E-mail ankommt. Wenn die E-ma= il in ein paar Minuten nicht ankommt, - können Sie sich später neuregistrieren.</p> + Eine E-mail wurde an Sie gesendet. Diese enthält Informationen, wa= s Sie für Ihren neuen Benutzeraccount machen müssen. + Bitt warten Sie ein paar Minuten, bis Sie die E-mail erhalten. Wenn die= E-mail in ein paar Minuten nicht ankommt, + können Sie sich später neu registrieren.</p> <?php } ?> \ No newline at end of file |
From: auboard-devel <aub...@li...> - 2006-07-13 11:42:57
|
Revision: 34 Author: chrissi Date: 2006-07-13 13:45:58 +0200 (Thu, 13 Jul 2006) Log Message: ----------- Modified Paths: -------------- trunk/contrib/de/templates/contactform.php trunk/contrib/de/templates/deletepost.php trunk/contrib/de/templates/deletethread.php trunk/contrib/de/templates/header.php trunk/contrib/de/templates/login.php trunk/contrib/de/templates/movethread.php trunk/contrib/de/templates/newpassword.php trunk/contrib/de/templates/newpm.php trunk/contrib/de/templates/newthread.php trunk/contrib/de/templates/profile.php trunk/contrib/de/templates/showpm.php trunk/contrib/de/templates/threads.php Modified: trunk/contrib/de/templates/contactform.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/contactform.php 2006-07-13 11:00:02 UTC (r= ev 33) +++ trunk/contrib/de/templates/contactform.php 2006-07-13 11:45:58 UTC (r= ev 34) @@ -21,7 +21,7 @@ <td><textarea name=3D"text" rows=3D"10" cols=3D"40"><?php echo htmlenti= ties($text) ?></textarea></td> </tr> <tr> - <td colspan=3D"2" align=3D"center"><input type=3D"submit" name=3D"send"= value=3D"send"/></td> + <td colspan=3D"2" align=3D"center"><input type=3D"submit" name=3D"send"= value=3D"Senden"/></td> </tr> </table> <input type=3D"hidden" name=3D"md5" value=3D"<?php echo $md5 ?>"/> Modified: trunk/contrib/de/templates/deletepost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/deletepost.php 2006-07-13 11:00:02 UTC (re= v 33) +++ trunk/contrib/de/templates/deletepost.php 2006-07-13 11:45:58 UTC (re= v 34) @@ -1,6 +1,6 @@ <?php //@EN-REV 1 ?> <form action=3D"<?php echo Template::makeurl(array('controller'=3D>"dele= tepost")) ?>" method=3D"post"> Beitrag wirklich löschen?<br/> -<input type=3D"submit" name=3D"yes" value=3D"Yes"/> -<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> +<input type=3D"submit" name=3D"yes" value=3D"Ja"/> +<input type=3D"submit" name=3D"cancel" value=3D"Nein"/> </form> Modified: trunk/contrib/de/templates/deletethread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/deletethread.php 2006-07-13 11:00:02 UTC (= rev 33) +++ trunk/contrib/de/templates/deletethread.php 2006-07-13 11:45:58 UTC (= rev 34) @@ -1,6 +1,6 @@ <?php //@EN-REV 1 ?> <form action=3D"<?php echo Template::makeurl(array('controller'=3D>"dele= tethread")) ?>" method=3D"post"> Thread wirklich löschen?<br/> -<input type=3D"submit" name=3D"yes" value=3D"Yes"/> -<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> +<input type=3D"submit" name=3D"yes" value=3D"Ja"/> +<input type=3D"submit" name=3D"cancel" value=3D"Abbrechen"/> </form> Modified: trunk/contrib/de/templates/header.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/header.php 2006-07-13 11:00:02 UTC (rev 33= ) +++ trunk/contrib/de/templates/header.php 2006-07-13 11:45:58 UTC (rev 34= ) @@ -1,3 +1,4 @@ +<?php //@EN-REV 23 ?> <?php // this function outputs an error message function error($id, $text, $newline =3D false) Modified: trunk/contrib/de/templates/login.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/login.php 2006-07-13 11:00:02 UTC (rev 33) +++ trunk/contrib/de/templates/login.php 2006-07-13 11:45:58 UTC (rev 34) @@ -25,7 +25,7 @@ <tr> <td colspan=3D"2" class=3D"body"> <input type=3D"hidden" name=3D"fromUrl" value=3D"<?php echo $fromUrl= ?>"/> - <input type=3D"submit" name=3D"login" value=3D"Log in"/> + <input type=3D"submit" name=3D"login" value=3D"Anmeldenen"/> </td> </tr> </table> Modified: trunk/contrib/de/templates/movethread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/movethread.php 2006-07-13 11:00:02 UTC (re= v 33) +++ trunk/contrib/de/templates/movethread.php 2006-07-13 11:45:58 UTC (re= v 34) @@ -10,6 +10,6 @@ <?php } ?> <?php } ?> </select><br/> -<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> -<input type=3D"submit" name=3D"move" value=3D"Move thread"/> +<input type=3D"submit" name=3D"cancel" value=3D"Abbrechen"/> +<input type=3D"submit" name=3D"move" value=3D"Verschiebe Thread"/> </form> \ No newline at end of file Modified: trunk/contrib/de/templates/newpassword.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newpassword.php 2006-07-13 11:00:02 UTC (r= ev 33) +++ trunk/contrib/de/templates/newpassword.php 2006-07-13 11:45:58 UTC (r= ev 34) @@ -7,14 +7,14 @@ <form action=3D"<?php echo Template::makeurl(array('controller' =3D> "fo= rgotpassword")) ?>" method=3D"POST"> <table border=3D"0"> <tr class=3D"content"> - <td>Mail address<?php if ($error['NOMAIL']) error('nomail', 'Bitte gebe= n Sie Ihre E-mailadresse an', true) ?> + <td>E-mailadresse<?php if ($error['NOMAIL']) error('nomail', 'Bitte geb= en Sie Ihre E-mailadresse an', true) ?> <?php if ($error['NOUSER']) { ?><br/> <?php error('noaccount', 'Es existiert kein Benutzeraccount mit dieser = E-mailadresse'); } ?></td> <td><input type=3D"text" name=3D"mail" value=3D"<?php echo $mail ?>" si= ze=3D"30" maxlength=3D"255"></td> </tr> <tr class=3D"body"> <td colspan=3D"2" align=3D"center"> - <input type=3D"submit" name=3D"submit" value=3D"submit"/> + <input type=3D"submit" name=3D"submit" value=3D"Passwort senden"/> </td> </tr> </table> Modified: trunk/contrib/de/templates/newpm.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newpm.php 2006-07-13 11:00:02 UTC (rev 33) +++ trunk/contrib/de/templates/newpm.php 2006-07-13 11:45:58 UTC (rev 34) @@ -14,7 +14,7 @@ <tr> <td> Text<?php if ($error['NOTEXT']) error('notext', 'Bitte einen Text an= geben', true) ?> - <?php if ($error['PARSEERROR']) error('parseerror', $error['PARSEERR= ORTEXT'].'<br/>in line '.$error['PARSEERRORLINE'].' at position '.$error[= 'PARSEERRORCHAR'], true) ?> + <?php if ($error['PARSEERROR']) error('parseerror', $error['PARSEERR= ORTEXT'].'<br/>in Zeile '.$error['PARSEERRORLINE'].' Spalte '.$error['PAR= SEERRORCHAR'], true) ?> </td> <td> <div class=3D"autocomplete" id=3D"text_autocomplete"></div> @@ -37,8 +37,8 @@ </tr> <tr> <td colspan=3D"2" align=3D"center"> - <input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> - <input type=3D"submit" name=3D"send" value=3D"Send"/> + <input type=3D"submit" name=3D"cancel" value=3D"Abbrechen"/> + <input type=3D"submit" name=3D"send" value=3D"Senden"/> </td> </tr> </table> Modified: trunk/contrib/de/templates/newthread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newthread.php 2006-07-13 11:00:02 UTC (rev= 33) +++ trunk/contrib/de/templates/newthread.php 2006-07-13 11:45:58 UTC (rev= 34) @@ -38,24 +38,24 @@ </tr> <tr> <td class=3D"body">E-mailbenachrichtigung</td> - <td class=3D"content"><input type=3D"checkbox" name=3D"email" value=3D= "email" <?php if ($email) { ?>checked=3D"checked"<?php } ?>/>Notify me of= new answers to this thread by mail</td> + <td class=3D"content"><input type=3D"checkbox" name=3D"email" value=3D= "email" <?php if ($email) { ?>checked=3D"checked"<?php } ?>/>Mich bei neu= en Antworten zu diesem Thread benachrichtigen</td> </tr> <tr> <td class=3D"body">Smilies</td> - <td class=3D"content"><input type=3D"checkbox" name=3D"smileys" value=3D= "smileys" <?php if ($smileys) { ?>checked=3D"checked"<?php } ?>/>Replace = smileys in text with their graphical representations.</td> + <td class=3D"content"><input type=3D"checkbox" name=3D"smileys" value=3D= "smileys" <?php if ($smileys) { ?>checked=3D"checked"<?php } ?>/>Ersetze = Smilies mit Grafiken.</td> </tr> <tr> <td class=3D"body"><a href=3D"<?php echo Template::makeurl(array('cont= roller'=3D>"help", 'topic'=3D>"Code")) ?>" onclick=3D"javascript:window.o= pen('<?php echo Template::makeurl(array('controller'=3D>"help", 'topic'=3D= >"Code")) ?>', 'Help', 'width=3D600,height=3D400,status=3Dno,toolbar=3Dno= ,menubar=3Dno,location=3Dno,hotkeys=3Dno'); return false;">Auboard Code</= a></td> - <td class=3D"content"><input type=3D"checkbox" name=3D"code" value=3D"= code" <?php if ($code) { ?>checked=3D"checked"<?php } ?>/>Enable Auboard = code in the posting</td> + <td class=3D"content"><input type=3D"checkbox" name=3D"code" value=3D"= code" <?php if ($code) { ?>checked=3D"checked"<?php } ?>/>Auboardcode im = Text benutzen</td> </tr> <tr> <td class=3D"body"> </td> <td class=3D"content"> - <input type=3D"submit" name=3D"preview" value=3D"Show Preview"/> + <input type=3D"submit" name=3D"preview" value=3D"Vorschau"/> <?php if ($newthread) { ?> - <input type=3D"submit" name=3D"submit" value=3D"Save thread"/> + <input type=3D"submit" name=3D"submit" value=3D"Thread speichern"/> <?php } else { ?> - <input type=3D"submit" name=3D"submit" value=3D"Save post"/> + <input type=3D"submit" name=3D"submit" value=3D"Beitrag speichern"/> <?php } ?> </td> </tr> @@ -64,6 +64,6 @@ <?php } else { // Show preview * ?> <form action=3D"<?php $formurl ?>" method=3D"post"> <?php echo $text ?><br/> -<input type=3D"submit" name=3D"back" value=3D"Back"> <input type=3D"subm= it" name=3D"save" value=3D"Save"/> +<input type=3D"submit" name=3D"back" value=3D"Back"> <input type=3D"subm= it" name=3D"save" value=3D"Speichern"/> </form> <?php } ?> \ No newline at end of file Modified: trunk/contrib/de/templates/profile.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/profile.php 2006-07-13 11:00:02 UTC (rev 3= 3) +++ trunk/contrib/de/templates/profile.php 2006-07-13 11:45:58 UTC (rev 3= 4) @@ -7,15 +7,15 @@ </td> </tr> <tr class=3D"content"> - <td>current password<?php if ($error['OLDPASSNOTMATCH']) error('oldpass= notmatch', 'Sie haben Ihr altes Passwort falsch eingegeben', true) ?></td= > + <td>Akutelles Passwort<?php if ($error['OLDPASSNOTMATCH']) error('oldpa= ssnotmatch', 'Sie haben Ihr altes Passwort falsch eingegeben', true) ?></= td> <td><input type=3D"password" name=3D"oldpass" size=3D"20" /></td> </tr> <tr class=3D"body"> - <td>new password</td> + <td>Neues Passwort</td> <td><input type=3D"password" name=3D"pass1" size=3D"20" /></td> </tr> <tr class=3D"content"> - <td>repeat new password<?php if ($error['PASSNOTMATCH']) error('passnot= match', 'Sie haben sich beim neuen Passwort vertippt', true) ?></td> + <td>Neues Passwort wiederholen<?php if ($error['PASSNOTMATCH']) error('= passnotmatch', 'Sie haben sich beim neuen Passwort vertippt', true) ?></t= d> <td><input type=3D"password" name=3D"pass2" size=3D"20" /></td> </tr> </table> Modified: trunk/contrib/de/templates/showpm.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/showpm.php 2006-07-13 11:00:02 UTC (rev 33= ) +++ trunk/contrib/de/templates/showpm.php 2006-07-13 11:45:58 UTC (rev 34= ) @@ -72,8 +72,8 @@ </tr> <tr> <td> </td> - <td><a href=3D"<?php echo Template::makeurl(array('controller'=3D>"newp= m", 'id'=3D>$fromuserid, 're'=3D>$id)) ?>">reply</a> - <a href=3D"<?php echo Template::makeurl(array('controller'=3D>"newpm",= 'id'=3D>$fromuserid, 'req'=3D>$id)) ?>">quote and reply</a></td> + <td><a href=3D"<?php echo Template::makeurl(array('controller'=3D>"newp= m", 'id'=3D>$fromuserid, 're'=3D>$id)) ?>">Antworten</a> + <a href=3D"<?php echo Template::makeurl(array('controller'=3D>"newpm",= 'id'=3D>$fromuserid, 'req'=3D>$id)) ?>">Zitieren und Antworten</a></td> </tr> <tr> <td colspan=3D"2" class=3D"body"><?php echo $text ?></td> Modified: trunk/contrib/de/templates/threads.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/threads.php 2006-07-13 11:00:02 UTC (rev 3= 3) +++ trunk/contrib/de/templates/threads.php 2006-07-13 11:45:58 UTC (rev 3= 4) @@ -1,6 +1,6 @@ <?php //@EN-REV 23 ?> <?php -if ($newthread) { ?><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"newthread", 'board'=3D>$newthread)) ?>">create new thread</a><= ?php } ?> +if ($newthread) { ?><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"newthread", 'board'=3D>$newthread)) ?>">Neuen Thread erstellen= </a><?php } ?> <table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> <tr> <td class=3D"title">Überschrift</td> |
From: auboard-devel <aub...@li...> - 2006-07-13 10:57:37
|
Revision: 33 Author: chrissi Date: 2006-07-13 13:00:02 +0200 (Thu, 13 Jul 2006) Log Message: ----------- Added Paths: ----------- trunk/contrib/de/ trunk/contrib/de/templates/ trunk/contrib/de/templates/.cvsignore trunk/contrib/de/templates/Tuffy.ttf trunk/contrib/de/templates/board.css trunk/contrib/de/templates/contactform.php trunk/contrib/de/templates/deletepost.php trunk/contrib/de/templates/deletethread.php trunk/contrib/de/templates/header.php trunk/contrib/de/templates/help.php trunk/contrib/de/templates/index.php trunk/contrib/de/templates/login.php trunk/contrib/de/templates/mail/ trunk/contrib/de/templates/mail/.htaccess trunk/contrib/de/templates/mail/mail_contactform.php trunk/contrib/de/templates/mail/mail_header.php trunk/contrib/de/templates/mail/mail_newpost.php trunk/contrib/de/templates/mail/mail_password.php trunk/contrib/de/templates/mail/mail_register.php trunk/contrib/de/templates/members.php trunk/contrib/de/templates/movethread.php trunk/contrib/de/templates/newpassword.php trunk/contrib/de/templates/newpm.php trunk/contrib/de/templates/newthread.php trunk/contrib/de/templates/posts.php trunk/contrib/de/templates/profile.php trunk/contrib/de/templates/register.php trunk/contrib/de/templates/showpm.php trunk/contrib/de/templates/threads.php Added: trunk/contrib/de/templates/.cvsignore =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/.cvsignore 2006-07-01 20:08:05 UTC (rev 32= ) +++ trunk/contrib/de/templates/.cvsignore 2006-07-13 11:00:02 UTC (rev 33= ) @@ -0,0 +1 @@ +compiled Added: trunk/contrib/de/templates/Tuffy.ttf =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D (Binary files differ) Property changes on: trunk/contrib/de/templates/Tuffy.ttf ___________________________________________________________________ Name: svn:mime-type + application/octet-stream Added: trunk/contrib/de/templates/board.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/board.css 2006-07-01 20:08:05 UTC (rev 32) +++ trunk/contrib/de/templates/board.css 2006-07-13 11:00:02 UTC (rev 33) @@ -0,0 +1,670 @@ +body { + background: #EBEEF0; + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + color: #000000; + font-weight: normal; + line-height: 12pt; +} +h1 { + font-family: Arial, Helfetica, sans-serif; + font-size: 12pt; + color: #333333; + font-weight: bold; + line-height: 14pt ; +} +h2 { + font-family: Arial, Helfetica, sans-serif; + font-size: 11pt; + color: #333333; + font-weight: bold; + line-height: 12.5pt;=20 +} +h3 { + font-family: Arial, Helfetica, sans-serif; + font-size: 10pt; + color: #333333; + font-weight: bold; + line-height: 12pt;=20 +} + +a { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} +a:link { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} +a:hover { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000000; + text-decoration: underline; +} +a:active { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} + +/* navigation */ +a.navigation { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: bold; + color: #FFFFFF; + text-decoration: none; +} +a.navigation:link { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: bold; + color: #FFFFFF; + text-decoration: none; +} +a.navigation:hover { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: bold; + color: #FFFFFF; + text-decoration: underline; +} +a.navigation:active { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: bold; + color: #FFFFFF; + text-decoration: underline; +} +td.navigation { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #FFFFFF; + font-weight: bold; + background-color: #344F77; +} +/* navigation */ + + + +/* breadcrumb */ +a.breadcrumb { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; +color: #FFFFFF; + text-decoration: none; +} +a.breadcrumb:link { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; + color: #FFFFFF; + text-decoration: none; +} +a.breadcrumb:hover { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; + color: #FFFFFF; + text-decoration: underline; +} +a.breadcrumb:active { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; + color: #FFFFFF; + text-decoration: underline; +} +td.breadcrumb { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; + color: #FFFFFF; + background-color: #8F98AB; + font-weight: normal; + border-top: 1px solid white; +} +/* breadcrumb */ + + + +td { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #000000; + font-weight: normal; +} +td.title { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + color: #000000; + line-height: 10pt; + background-color: #F8F8F8; + font-weight: normal; +} +td.head { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + color: #333333; + line-height: 12pt; + background-color: #E4E4E4; + font-weight: bold; +} +td.content { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #000000; + font-weight: normal; + background-color: #F0F0F0; +} +td.body { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #000000; + font-weight: normal; + background-color: #E4E4E4; +} +tr.content { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #000000; + font-weight: normal; + background-color: #F0F0F0; +} +tr.body { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + color: #000000; + font-weight: normal; + background-color: #E4E4E4; +} + +td.copyright { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #FFFFFF; + font-weight: normal; + background-color: #344F77; +} + +div.postquote { + padding:5px; + background-color:#FFFFFF; + border: 1px solid #333333; +} + +/* zoom: 1 is not valid, but a IE hack for js effects to work */ +span.error { + zoom: 1; + color: #EE0000; + padding-left: 10px; +} + +/* autocompletion */ +div.autocomplete { + position: relative; + top: 0px; + left: 0px; + border: 1px solid #000000; + background-color: #EBEEF0; + z-index: 1; +} + +div.autocomplete ul { + list-style-type: none; + display:block; + margin:0; + padding:2px; +} + +div.autocomplete li { + cursor: pointer; +} + +div.autocomplete li.selected { + background-color: #8F98AB; + color: #FFFFFF; + font-weight: bold; +} + +/* Style for the Pear TextHighlighter Class */ +div.hl-main { + background-color:#FFFFFF; + border: 1px solid #333333; + width: 100%; + overflow: auto; +} +table.hl-table { + background-color:#FFFFFF; + border: 1px solid #333333; + width: 100%; + overflow: auto; +} + +/* PHP--> */ +span.hl-php-inlinetags { + font-weight:bold; + color:#FF0000; +} +span.hl-php-brackets { + font-weight:normal; + color:#000000; +} +span.hl-php-comment { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-php-quotes { + font-weight:normal; + color:#DD0000; +} +span.hl-php-code { + font-weight:normal; + color:#000000; +} +span.hl-php-string { + font-weight:normal; + color:#DD0000; +} +span.hl-php-identifier { + font-weight:normal; + color:#0000BB; +} +span.hl-php-reserved { + font-weight:normal; + color:#007700; +} +span.hl-php-number { + font-weight:normal; + color:#FF0000; +} +span.hl-php-var { + font-weight:normal; + color:#9999CC; +} +span.hl-php-default { + font-weight:normal; + color:#000000; +} +span.hl-php-url { + font-weight:normal; + color:#000000; +} +span.hl-php-inlinedoc { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-php-special { + font-weight:normal; + color:#000000; +} +/* <--PHP */ + + +/* CSS--> */ +span.hl-css-comment { + font-weight:normal; + color:#999999; +} +span.hl-css-brackets { + font-weight:normal; + color:#FF0099; +} +span.hl-css-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-css-reserved { + font-weight:normal; + color:#003399; +} +span.hl-css-var { + font-weight:normal; + color:#0033FF; +} +span.hl-css-identifier { + font-weight:normal; + color:#FF0099; +} +span.hl-css-special { + font-weight:normal; + color:#FF0000; /*wich part is this?*/ +} +span.hl-css-code { + font-weight:normal; + color:#FF0099; +} +span.hl-css-number { + font-weight:normal; + color:#0033FF; +} +span.hl-css-string { + font-weight:normal; + color:#0033FF; +} +/* <--CSS */ + + +/* HTML--> */ +span.hl-html-comment { + font-weight:normal; + color:#999999; +} +span.hl-html-brackets { + font-weight:normal; + color:#339966; +} +span.hl-html-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-html-code { + font-weight:normal; + color:#000000; +} +span.hl-html-special { + font-weight:normal; + color:#000000; +} +span.hl-html-reserved { + font-weight:normal; + color:#339966; +} +span.hl-html-var { + font-weight:normal; + color:#339966; +} +span.hl-html-string { + font-weight:normal; + color:#0033FF; +} +/* <--HTMl */ + +/* XML--> */ +span.hl-xml-comment { + font-weight:normal; + color:#999999; +} +span.hl-xml-brackets { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-quotes { + font-weight:normal; + color:#339966; +} +span.hl-xml-code { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-special { + font-weight:normal; + color:#ff0000; +} +span.hl-xml-reserved { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-var { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-string { + font-weight:normal; + color:#339966; +} +/* <--XML */ + +/* JAVA SCRIPT --> */ +span.hl-javascript-brackets { + font-weight:bold; + color:#003399; +} +span.hl-javascript-comment { + font-weight:normal; + color:#999999; +} +span.hl-javascript-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-javascript-code { + font-weight:normal; + color:#000000; +} +span.hl-javascript-string { + font-weight:normal; + color:#0033FF; +} +span.hl-javascript-identifier { + font-weight:normal; + color:#000000; +} +span.hl-javascript-number { + font-weight:normal; + color:#FF0000; +} +span.hl-javascript-url { + font-weight:normal; + color:#000000; +} +span.hl-javascript-inlinedoc { + font-weight:normal; + color:#999999; +} +span.hl-javascript-special { + font-weight:normal; + color:#FF0000; +} +span.hl-javascript-reserved { + font-weight:bold; + color:#000000; +} +span.hl-javascript-builtin { + font-weight:normal; + color:#800056; +} + +/* <-- JAVA SCRIPT */ + +/* SQL--> */ +span.hl-sql-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-sql-comment { + font-weight:normal; + color:#999999; +} +span.hl-sql-brackets { + font-weight:normal; + color:#990000; +} +span.hl-sql-identifier { +} +span.hl-sql-string { + font-weight:normal; + color:#0033FF; +} +span.hl-sql-code { + font-weight:normal; + color:#990000; +} +span.hl-sql-number { + font-weight:normal; + color:#FF0099; +} +span.hl-sql-reserved { + font-weight:bold; + color:#990000; +} +/* <--SQL */ + +/* MySQL--> */ +span.hl-mysql-quotes { + +} +span.hl-mysql-comment { + +} +span.hl-mysql-brackets { + +} +span.hl-mysql-string { + +} +span.hl-mysql-code { + +} +span.hl-mysql-number { +} +span.hl-mysql-identifier { +} +span.hl-mysql-special { + +} +/* <--MySQL */ + +/* JAVA--> */ +span.hl-java-brackets { + font-weight:normal; + color:#000000; +} +span.hl-java-comment { + font-weight:normal; + color:#3F7E5F; +} +span.hl-java-quotes { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-code { + font-weight:normal; + color:#000000; +} +span.hl-java-string { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-identifier { + font-weight:normal; + color:#000000; + +} +span.hl-java-number { + font-weight:normal; + color:#FF0000; +} +span.hl-java-inlinedoc { + font-weight:normal; + color:#3F7E5F; +} +span.hl-java-url { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-special { + font-weight:normal; + color:#FF0000; +} +span.hl-java-reserved { + font-weight:bold; + color:#800056; +} +span.hl-java-var { + font-weight:normal; + color:#809FBF; +} + +/* <--JAVA */ + +/* -> */ +span.hl-inlinetags { + font-weight:bold; + color:#FF0000; +} +span.hl-brackets { + font-weight:normal; + color:#000000; +} +span.hl-comment { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-quotes { + font-weight:normal; + color:#DD0000; +} +span.hl-code { + font-weight:normal; + color:#000000; +} +span.hl-string { + font-weight:normal; + color:#DD0000; +} +span.hl-identifier { + font-weight:normal; + color:#0000BB; +} +span.hl-reserved { + font-weight:normal; + color:#007700; +} +span.hl-number { + font-weight:normal; + color:#FF0000; +} +span.hl-var { + font-weight:normal; + color:#9999CC; +} +span.hl-default { + font-weight:normal; + color:#000000; +} +span.hl-url { + font-weight:normal; + color:#000000; +} +span.hl-inlinedoc { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-special { + font-weight:normal; + color:#000000; +} +/* <--PERL */ + Added: trunk/contrib/de/templates/contactform.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/contactform.php 2006-07-01 20:08:05 UTC (r= ev 32) +++ trunk/contrib/de/templates/contactform.php 2006-07-13 11:00:02 UTC (r= ev 33) @@ -0,0 +1,33 @@ +<?php //@EN-REV 1 ?> +<?php if ($NOSUCHMAILERROR) error('idunknown', 'Das ist eine unbekannte = E-mailadresse, bitte laden Sie den Thread neu, welches Sie benutzt habe u= m auf das Kontaktfoumular zu klicken.'); else { ?> +<?php if (!$successful) { ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"cont= actform")) ?>" method=3D"post"> +<table border=3D"0"> +<tr> + <td>Ihr Name<?php if ($error['NONAME']) error('noname', 'Bitte geben Si= e ihren Namen ein', true) ?></td> + <td><input type=3D"text" name=3D"name" value=3D"<?php echo htmlentities= ($name) ?>" size=3D"30" maxlength=3D"50"/></td> +</tr> +<tr> + <td>Ihre E-mailadresse<?php if ($error['NOMAIL']) error('nomail', 'Bitt= e geben Sie Ihre E-mailadresse ein', true) ?> + <?php if ($error['SEEMSINVALID']) error('mailinvalid', 'Die E-mailadres= se scheint ung=FCltig zu sein') ?></td> + <td><?php if ($loggedin) { ?><?php echo $mail ?><?php } else { ?><input= type=3D"text" name=3D"mail" value=3D"<?php echo htmlentities($mail) ?>" = size=3D"30" maxlength=3D"255"/><?php } ?></td> +</tr> +<tr> + <td>=DCberschrift<?php if ($error['NOSUBJECT']) error('nosubject', 'Bit= te geben Sie eine =DCberschrift an', true) ?></td> + <td><input type=3D"text" name=3D"subject" value=3D"<?php echo htmlentit= ies($subject) ?>" size=3D"40" maxlength=3D"200"/></td> +</tr> +<tr> + <td>Text<?php if ($error['NOTEXT']) error('notext', 'Geben Sie hier Ihr= en Text an', true) ?></td> + <td><textarea name=3D"text" rows=3D"10" cols=3D"40"><?php echo htmlenti= ties($text) ?></textarea></td> +</tr> +<tr> + <td colspan=3D"2" align=3D"center"><input type=3D"submit" name=3D"send"= value=3D"send"/></td> +</tr> +</table> +<input type=3D"hidden" name=3D"md5" value=3D"<?php echo $md5 ?>"/> +</form> +<?php } else { ?> +<h1>E-mail gesendet</h1> +<p>Ihre E-mail wurde erfolgreich an den Benutzer gesendet.</p> +<?php } ?> +<?php } ?> \ No newline at end of file Added: trunk/contrib/de/templates/deletepost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/deletepost.php 2006-07-01 20:08:05 UTC (re= v 32) +++ trunk/contrib/de/templates/deletepost.php 2006-07-13 11:00:02 UTC (re= v 33) @@ -0,0 +1,6 @@ +<?php //@EN-REV 1 ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"dele= tepost")) ?>" method=3D"post"> +Beitrag wirklich löschen?<br/> +<input type=3D"submit" name=3D"yes" value=3D"Yes"/> +<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> +</form> Added: trunk/contrib/de/templates/deletethread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/deletethread.php 2006-07-01 20:08:05 UTC (= rev 32) +++ trunk/contrib/de/templates/deletethread.php 2006-07-13 11:00:02 UTC (= rev 33) @@ -0,0 +1,6 @@ +<?php //@EN-REV 1 ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"dele= tethread")) ?>" method=3D"post"> +Thread wirklich löschen?<br/> +<input type=3D"submit" name=3D"yes" value=3D"Yes"/> +<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> +</form> Added: trunk/contrib/de/templates/header.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/header.php 2006-07-01 20:08:05 UTC (rev 32= ) +++ trunk/contrib/de/templates/header.php 2006-07-13 11:00:02 UTC (rev 33= ) @@ -0,0 +1,102 @@ +<?php + // this function outputs an error message + function error($id, $text, $newline =3D false) + { + if($newline) echo '<br/>'; + echo '<span class=3D"error" id=3D"'.$id.'">'.$text.'</span>'."\n"; + echo '<script type=3D"text/javascript">'."\n"; + echo '// <![CDATA['."\n"; + echo ' Effect.Pulsate(\''.$id.'\');'."\n"; + echo '// ]]>'."\n"; + echo '</script>'."\n"; + } + + // avoid parse errors because of short open tags by echoing + echo '<?xml version=3D"1.0" encoding=3D"ISO-8859-1" ?>'; +?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/= xhtml11/DTD/xhtml11.dtd"> +<html xmlns=3D"http://www.w3.org/1999/xhtml" xml:lang=3D"de"> +<head> +<title>Auboard<?php if(strlen($title) > 0) { ?> <?php echo $title ?><?ph= p } ?></title> +<link href=3D"templates/board.css" rel=3D"stylesheet" type=3D"text/css" = /> +<script src=3D"templates/js/prototype.js" type=3D"text/javascript"></scr= ipt> +<script src=3D"templates/js/scriptaculous.js" type=3D"text/javascript"><= /script> +</head> + +<body<?php if ($userhasnewpm) { ?> onload=3D"javascript:alert('You have = received new private messages.');"<?php } ?>> +<table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"5"> + <tr> + <td><img src=3D"templates/img/logo.gif" width=3D"400" height=3D"119"= alt=3D"auboard" /></td> + <td align=3D"right" valign=3D"top"> <p> +<!-- <a href=3D"http://validator.w3.org/check?uri=3Dreferer"><img + style=3D"border: 0px none white" + src=3D"http://www.w3.org/Icons/valid-xhtml11" + alt=3D"Valid XHTML 1.1" height=3D"31" width=3D"88" /></a> --> + </p></td> + </tr> +</table> +<table width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0"> + <tr> + <td> +<?php //when variable nonavigation is not set (which currently only is f= or help pages) don't show navigation ?> +<?php if (!isset($nonavigation)) { ?> + <table width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0"> + <tr> + <td class=3D"navigation"> +<?php //navigation to show when logged in * ?> +<?php if($login =3D=3D 1) { ?> + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"logout")) ?>">Abmelden</a> | + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"showpm")) ?>">Private Nachrichten</a></a> | + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"userprofile", 'id'=3D>$userid)) ?>">Profil</a> +<?php //navigation to show when not logged in * ?> +<?php } else { ?> + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"login", 'fromUrl'=3D>$fromUrl)) ?>">Anmelden</a> | + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"register")) ?>">Registrieren</a> +<?php } ?> | +<?php //this is shown in both cases * ?> + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller' =3D> 'members')) ?>">Benutzerliste</a> | + <a class=3D"navigation" href=3D"index.php">search</a> | +<?php //if user is admin show link to administration * ?> +<?php if($userisadmin) { ?> + <a class=3D"navigation" href=3D"admin/">Administration</a> | +<?php } ?> + <a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('co= ntroller' =3D> "help", 'topic' =3D> $controller)) ?>" onclick=3D"javascri= pt:window.open('<?php echo Template::makeurl(array('controller'=3D>"help"= , 'topic'=3D>$controller)) ?>', 'Help', 'width=3D600,height=3D400,status=3D= no,toolbar=3Dno,menubar=3Dno,location=3Dno,hotkeys=3Dno,scrollbars=3Dyes'= ); return false;">Hilfe</a></td> + <td align=3D"right" class=3D"navigation">Willkommen, <?php echo htmlen= tities($username) ?>! </td> + </tr> + </table> +<?php //@EN-REV 23 ?> +<?php } ?> + </td> + </tr> + <tr> + <td> + <table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"0"= > + <tr> + <td class=3D"breadcrumb"> + +<?php if (!isset($nonavigation)) { ?> + <?php if(is_array($breadcrumb)) foreach($breadcrumb as $crumb) { ?> + <?php if(strlen($crumb['link']) > 0) { ?> + <a class=3D"breadcrumb" href=3D"<?php echo $crumb['link'] ?>"><?php e= cho htmlentities($crumb['name']) ?></a> + <?php } else { ?> + <?php echo htmlentities($crumb['name']) ?> + <?php } ?> + <?php if (next($breadcrumb)) { ?> > <?php } ?> + <?php } ?> +<?php } ?> + </td> + </tr> + </table> + </td> + </tr> + <tr> + <td> +<?php include 'templates/'.$template ?> + </td> + </tr> + <tr> + <td align=3D"right" class=3D"copyright">powered by <a href=3D"http://w= ww.auboard.de/" class=3D"breadcrumb">Auboard</a></td> + </tr> +</table> +</body> +</html> Added: trunk/contrib/de/templates/help.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/help.php 2006-07-01 20:08:05 UTC (rev 32) +++ trunk/contrib/de/templates/help.php 2006-07-13 11:00:02 UTC (rev 33) @@ -0,0 +1,191 @@ +<?php //@EN-REV 1 ?> +<?php switch($topic) { + case 'Index': ?> +<h1>Hilfe: Forumübersicht</h1> +Auf der Forumüberscihtseite kannst du alle Kategorien +und Foren in dem Forum, welche du sehen darfst.<br/> +<br/> +Die Übersicht besteht auf mehreren Elementen: Der Name des Forums, = Anzahl der Threads, +Anzahl der Antworten und Informationen über den letzten Thread auf = dem Forum.<br/> +Der Name des Forums ist wirklich einfach.<br/> +Die Anzahl der Threads zeigt dir die komplette Anzahl von Threads auf de= m ganzen Forum.<br/> +Die Anzahl der Antworten zeigt dir die Summe von allen Antworten in jede= m Thread auf dem Board.<br/> +Die Informationen über die letzten Threads zeigt die Zeit des letzt= en Threads +oder der letzten Antwort, den Autor und das Thema im Forum. + +<?php break; case 'Help': ?> +<h1>Hilfe: Hilfe</h1> +Die Hilfeseite gibt Hilfe zu einem bestimmtem Thema.<br/> +<br/> +Wenn du Hilfe braucht, musst du nur auf den 'Hilfe'-link auf der Website= klicken, +auf der du Hilfe brauchst. + +<?php break; case 'Showboard': ?> +<h1>Hilfe: Forumübersicht</h1> +Die Forumübersicht zeigt dir alle Threads eines bestimmten Forums.<= br/> +<br/> +Jeder Thread wird gezeigt mit seinem Theama, zahl der Antworten, +Viewcounter, der Benutzername (oder Gastname) des ursprünglichen Au= tor +des Threads plus Informationen über wer und wann die letzte Antwort +im Thread geschrieben hat.<br/> +<br/> +Diese Seite zeigt einen Link zu einem Formular, in welchem neue Threads = von jedem User erstellt werden können, +die die Erlaubnis dazu haben. + +<?php break; case 'Showthread': ?> +<h1>Hilfe: Zeige einen Thread an</h1> +Diese Seite zeigt den kompletten Thread<br/> +<br/> +Ein Thread ist eine sammlung von mehreren Antworten. Ein Thread dreht si= ch +um den Post des Erstellers des Threads der Inhalt +der folgenden Beiträge beziehen sich normalerweise auf auf den erst= en Post. +Also hat ein Thread normalerweise ein festgelegtes Thema.<br/> +<br/> +Diese Seite zeigt Beiträge von einem Thread mit Informationen +über den Author des Posts, die Zeit und den Tag dem der Beitrag ges= chrieben wurde und +natürlich den Inhalt des Beitrags.<br/> +<br/> +Wenn du die Erlaubnis hast, dem Thread zu antworten wirst du ein Formula= r +zum Antworten unter den Beiträgen finden.<br/> +Dieses Formular wird dich nach dem Inhalt deines Beitrags fragen und auc= h, wenn du es willst, +ob du benachrichtigt werden möchtest, bei einer Antwort, +ob die Smilies im Text mit Bildern ersetzt werden sollen und, wenn du wi= llst, + ob du <a href=3D"<?php echo Template::makeurl(array('controller'=3D>"he= lp", 'topic'=3D>"Code")) ?>">Auboard code</a> +in deinem Beitrag haben willst.<br/> +<br/> +Abhänig von deinen Rechten auf dem Forum hast du folgende Links +auf dieser Seite für bestimmte Zwecke: +<table border=3D"0"> +<tr content=3D"body"> + <td>Profil</td> + <td>Zeigt das Profil des Autors, i.e. sein richtiger Name, E-mailadress= e, + Homepage etc.</td> +</tr> +<tr class=3D"content"> + <td>pm</td> + <td>Sendet dem Autor des Beitrags eine Private Nachricht.</td> +</tr> +<tr class=3D"body"> + <td>Zitat</td> + <td>Antworte auf diesen Beitrag und füge Inhalte aus seinem Post + als Zitat zu deinem dazu.</td> +</tr> +<tr class=3D"content"> + <td>Editieren</td> + <td>Editier den Inhalt des Posts.</td> +</tr> +<tr class=3D"body"> + <td>Löschen</td> + <td>Lösche den Post.</td> +</tr> +<tr class=3D"content"> + <td>Thread Löschen</td> + <td>Löscht den ganzen Thread.</td> +</tr> +<tr class=3D"body"> + <td>Verschiebe Thread</td> + <td>Verschiebt den Thread zu einem anderen Forum.</td> +</tr> +<tr class=3D"content"> + <td>Schließe Thread</td> + <td>Schließt den Thread. In einem geschlossenem Thread kann niema= nd + antworten.</td> +</tr> +<tr class=3D"body"> + <td>Markiere als sichtig</td> + <td>Markiert den Thread als wichtig, i.e. er wird immer + ganz oben bei den Thread gezeigt auf der Forenübersicht.</td> +</tr> +</table> + +<?php break; case 'Code': ?> +<h1>Hilfe: Auboard code</h1> +Auboard code ist eine text markup language, die es dir erlaubt, bestimmt= e +Formatierungen in deinem Text zu nutzen, z.B. einen Text als Link markie= ren, +Fett, Unterstrichen oder Kursiv.<br/> +<br/> +Um dieses Feature zu nutzen musst du bestimmte +"Tags" in deinem Text nutzen - ähnlich wie HTML.<br/> +Als beispiel wird ein Fett markierter Text so auschauen:<br/> +<pre>Ein [b]Fetter[/b] Text.</pre><br/> +Wie erwartet wird er so ausschauen:<br/> +Ein <strong>Fetter</strong> Text.<br/> +<br/> +Wie du vieleicht im Beispiel oben gemerkt hast, sind die Tags in eckigen +Klammern und enthalten ein Paar von Öffnentags und Schließent= ags. +Das Schließentag zeichnet sich selbst aus durch einen Schräcg= strick +vor dem Keyword.<br/> +<br/> +Die folgenden Tags werden von Auboard unterstützt:<br/> +<table border=3D"0"> +<tr class=3D"body"> + <td>[b]Text[/b]</td> + <td>Text Fett markieren.</td> +</tr> +<tr class=3D"content"> + <td>[i]Text[/i]</td> + <td>Text Kursiv markieren.</td> +</tr> +<tr class=3D"body"> + <td>[u]Text[/u]</td> + <td>Text unterstreichen.</td> +</tr> +<tr class=3D"content"> + <td>[quote]Text[/quote]</td> + <td>Markiert den Text als Format.</td> +</tr> +<tr class=3D"body"> + <td>[color=3Dred]roter Text[/color], [color=3D"#0000FF"]blauer Text[/co= lor], + [color=3D"red"]auch rot[/color], [color=3D#0000FF]auch blau[/color]= </td> + <td>Markiert den Text in der angegebenen Farbe. Mögliche Farben si= nd + difiniert in der <a href=3D"http://www.w3.org/TR/html4/types.html#h-6.5= "> + HTML</a> spezifikation. Du kannst einfach die englischen Namen zu den F= arben + angeben wie red, blue, green, navy, purple etc.</td> +</tr> +</table> +Das sind nur die Basicformattags. Sie können ineinander vorkommen +ohne Probleme, solange sie wieder geschlossen werden. +Um Fetten, Kursiven und Blauen Text zu schreiben kannst du folgendes sch= reiben: +something like<br/> +<pre>[b][i][color=3Dblue]Text!!!![/color][/i][/b]</pre><br/> +Das Resultat wäre:<br/> +<strong><em><span style=3D"color:blue">Text!!!!</span></em></strong><br/= > +<h2>Spezielle Tags</h2> +Nun gibt es aber noch spezielle Tags, die man nicht ineinander schreiben= kann +und die Oberen Tags funktionieren auch nicht in Ihnen.<br/> +<table border=3D"0"> +<tr class=3D"content"> + <td>[url]http://www.example.com[/url], [url=3D"Example"]http://www.exam= ple.com[/url]</td> + <td>Die [url]-Tags markieren einen Text als Link. Wenn du die [url=3Dso= mething]-Tag + benutzt, werden die Links in einem angegeben Text versteckt.</td> +</tr> +<tr class=3D"body"> + <td>[mail]som...@ex...[/mail], [email]som...@ex...[/mai= l]</td> + <td>Diese Tags können Ihre E-mailadresse vor Spammern schütze= n.</td> +</tr> +<tr class=3D"content"> + <td>[img]http://www.example.com/example.png[/img]</td> + <td>Mit diesen Tags können Sie Bilder in Ihren Text hinzufüge= n.</td> +</tr> +<tr class=3D"body"> + <td>[code]Ein bisschen Code[/code]</td> + <td>Markiert Text als Code.</td> +</tr> +<tr class=3D"content"> + <td>[php]code[/php], [html]code[/html], [sql]code[/sql], + [xml]code[/xml], css, js, java, javascript, mysql, + python, perl</td> + <td>Fügt syntax highlighted Text in der angegebenen Sprache hinzu.= </td> +</tr> +<tr class=3D"body"> + <td>[noparse]text[/noparse]</td> + <td>In den Noparse-Tags wird kein Auboardcode geparst.</td> +</tr> +</table> +<h2><a id=3D"parseerror">Parse errors</a></h2> +Wenn du einen <strong>parsing error</strong> bekommst, kann es sein, das= s du einige Tags nicht geschlossen hast, oder Tags benutzt, die nicht exi= stieren.<br/> +<?php break; default: ?> +<h1>Hilfe: Unbekanntes Thema</h1> +Leider ist noch keine Hilfe für Ihre Hilfeanfrage vorhanden. +<?php } ?> +<div align=3D"center"><input type=3D"button" value=3D"Close" onClick=3D"= self.close();" name=3D"Close" /></div> Added: trunk/contrib/de/templates/index.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/index.php 2006-07-01 20:08:05 UTC (rev 32) +++ trunk/contrib/de/templates/index.php 2006-07-13 11:00:02 UTC (rev 33) @@ -0,0 +1,28 @@ +<?php //@EN-REV 23 ?> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<tr> + <td class=3D"title"> </td> + <td class=3D"title">Forumname</td> + <td class=3D"title">Threads</td> + <td class=3D"title">Beiträge</td> + <td class=3D"title">Letztes Thema</td> +</tr> +<?php if(is_array($boards)) foreach($boards as $category) {?> +<tr> + <td colspan=3D"5" class=3D"body"><?php echo $category['name'] ?><?php = if($category['description']) { ?><br/> + <em><?php echo $category['description'] ?></em><?php } ?></td> +</tr> +<?php if(is_array($category['children'])) foreach($category['children'] = as $board) { ?> +<tr> + <td class=3D"body" style=3D"width:25px"><img src=3D"templates/img/fold= er.gif" width=3D"18" height=3D"18" alt=3D"<?php $board.name ?>" /></td> + <td class=3D"content" style=3D"width:300px"><a href=3D"<?php echo Temp= late::makeurl(array('controller'=3D>"showboard", 'id'=3D>$board['id'])) ?= >"><?php echo $board['name'] ?><?php if($board['description']) { ?><br/> + <em><?php $board['description'] ?></em><?php } ?></a></td> + <td class=3D"body" style=3D"width:50px"><?php echo $board['threads'] ?= ></td> + <td class=3D"content" style=3D"width:50px"><?php echo $board['posts'] = ?></td> + <td class=3D"body"><?php if($board['lastthreadauthor']) { ?><?php echo= Template::date($board['lastthreadcreated']) ?>: + <a href=3D"<?php echo Template::makeurl(array('controller'=3D>"showthr= ead", 'id'=3D>$board['lastthreadid'])) ?>"><?php echo htmlentities($board= ['lastthreadtopic']) ?></a> + by <?php echo htmlentities($board['lastthreadauthor']) ?><?php } else = { ?> <?php } ?></td> +</tr> +<?php } ?> +<?php } ?> +</table> Added: trunk/contrib/de/templates/login.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/login.php 2006-07-01 20:08:05 UTC (rev 32) +++ trunk/contrib/de/templates/login.php 2006-07-13 11:00:02 UTC (rev 33) @@ -0,0 +1,33 @@ +<?php //@EN-REV 17 ?> +<?php if ($showform) { ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>'logi= n')) ?>" method=3D"post"><?php } ?> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<tr> + <td class=3D"head" colspan=3D"2">Login</td> +</tr> +<?php if ($error['NOTFOUND']) { ?> +<tr> + <td class=3D"body" colspan=3D"2"><?php error('errornotfound', 'Usernam= e or password not found.') ?></td> +</tr> +<?php } ?> +<tr> + <td class=3D"content">Benutzername:<?php if ($error['NOUSER']) error('= errorusername', 'Bitte geben Sie Ihren Benutzernamen an.', true) ?></td> + <td class=3D"content"><input type=3D"text" name=3D"user" size=3D"20" m= axlength=3D"32" value=3D"<?php echo htmlentities($user) ?>"/> </td> +</tr> +<tr> + <td class=3D"body">Passwort: <?php if ($error['NOPASS']) error('error= password', 'Bitte geben Sie Ihr Passwort an.', true) ?></td> + <td class=3D"body"><input type=3D"password" size=3D"20" maxlength=3D"3= 2" name=3D"pass"/></td> +</tr> +<tr> + <td class=3D"content"></td> + <td class=3D"content"><input type=3D"checkbox" name=3D"logincookie" va= lue=3D"logincookie"/>Cookie setzen und Angemeldet bleiben</td> +</tr> +<tr> + <td colspan=3D"2" class=3D"body"> + <input type=3D"hidden" name=3D"fromUrl" value=3D"<?php echo $fromUrl= ?>"/> + <input type=3D"submit" name=3D"login" value=3D"Log in"/> + </td> +</tr> +</table> +<p>Passwort vergessen? <a href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"forgotpassword")) ?>">Nimm ein Neues!</a>.</p> +<?php if ($showform) { ?></form><?php } ?> Added: trunk/contrib/de/templates/mail/.htaccess =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/.htaccess 2006-07-01 20:08:05 UTC (re= v 32) +++ trunk/contrib/de/templates/mail/.htaccess 2006-07-13 11:00:02 UTC (re= v 33) @@ -0,0 +1,2 @@ +Order Deny,Allow +Deny From All \ No newline at end of file Added: trunk/contrib/de/templates/mail/mail_contactform.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/mail_contactform.php 2006-07-01 20:08= :05 UTC (rev 32) +++ trunk/contrib/de/templates/mail/mail_contactform.php 2006-07-13 11:00= :02 UTC (rev 33) @@ -0,0 +1,9 @@ +<?php //@EN-REV 1 ?> +<?php $mail->subject(htmlentities($subject)) ?> +<h1>Post erhalten</h1> +<p>Hallo,<br/> +Sie haben eine Private Nachricht von <strong><?php echo $name ?></strong= > erhalten. +Text:<br/> +<div style=3D"background:#FFFFFF;padding:5px"> +<?php echo $text ?></div><br/> +Um zu antworten können Sie unter Private Nachrichten dem Benutzer a= ntworten.</p> \ No newline at end of file Added: trunk/contrib/de/templates/mail/mail_header.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/mail_header.php 2006-07-01 20:08:05 U= TC (rev 32) +++ trunk/contrib/de/templates/mail/mail_header.php 2006-07-13 11:00:02 U= TC (rev 33) @@ -0,0 +1,73 @@ +<?php //@EN-REV 1 ?> +<html> +<head> +<title>Auboard</title> +<style type=3D"text/css"> +<!-- +body { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + color: #000000; + font-weight: normal; + line-height: 12pt; +} +h1 { + font-family: Arial, Helfetica, sans-serif; + font-size: 12pt; + color: #333333; + font-weight: bold + line-height: 14pt +} +a { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} +a:link { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} +a:hover { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000000; + text-decoration: underline; +} +a:active { + font-family: Arial, Helfetica, sans-serif; + font-size: 9pt; + line-height: 12pt; + font-weight: normal; + color: #000033; + text-decoration: underline; +} +--> +</style> +</head> +<body> +<table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"5" a= lign=3D"center" bgcolor=3D"#EBEEF0"> + <tr> + <td><?php echo $mail->img(array('src'=3D>"templates/img/logo.gif", + 'width'=3D>"400", 'height'=3D>"119", 'cid'=3D>"auboard", + 'alt'=3D>"Auboard Logo")) ?></td> + </tr> + <tr> + <td> +<?php include dirname(__FILE__).'/'.$template ?> + </td> + </tr> + <tr> + <td align=3D"right" class=3D"copyright">powered by <a href=3D"http://w= ww.auboard.de/" target=3D"_blank">Auboard</a></td> + </tr> +</table> +</body> +</html> \ No newline at end of file Added: trunk/contrib/de/templates/mail/mail_newpost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/mail_newpost.php 2006-07-01 20:08:05 = UTC (rev 32) +++ trunk/contrib/de/templates/mail/mail_newpost.php 2006-07-13 11:00:02 = UTC (rev 33) @@ -0,0 +1,15 @@ +<?php //@EN-REV 1 ?> +<?php $mail->subject("Neuer Beitrag in einem abonniertem Thread") ?> +<h1>Neuer Beitrag</h1> +<p>Sie haben den Thread <strong><?php echo $topic ?></strong> in unserem= Forum abonniert.<br/> +<br/> +Es gibt einen neuen Beitrag in diesem Thread von <strong><?php echo $aut= hor ?></strong>.<br> +Sie können den Thread in <a href=3D"<?php echo + Template::makeurl(array( + 'absolute' =3D> true, + 'controller' =3D> 'showthread', + 'id' =3D> $threadid + )) +?>">unserem Forum</a> finden.</p> +<p>Danke, dass sie unser Forum benutzen,<br/> +Ihre Forumadminitratoren.</p> \ No newline at end of file Added: trunk/contrib/de/templates/mail/mail_password.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/mail_password.php 2006-07-01 20:08:05= UTC (rev 32) +++ trunk/contrib/de/templates/mail/mail_password.php 2006-07-13 11:00:02= UTC (rev 33) @@ -0,0 +1,23 @@ +<?php //@EN-REV 1 ?> +<?php $mail->subject("Bitte best=E4tigen Sie Ihr neues Passwort") ?> +<h1>Bestätigen Sie Ihr neues Passwort</h1> +<p>Eine Anfrage für ein neues Passwort für Ihren Benutzeraccou= tn +wurde durchgeführt. Wenn sie ein neues Passwort angefordert haben, +klicken Sie auf den Link unten.<br/> +<br/> +Wenn Sie kein neues Passwort angefordert habe, klicken Sie <strong>nicht= </strong> auf den Link unten +und ignorieren Sie diese E-mail. Keine änderungen werden dann vorge= nommen an Ihren +Benutzeraccount wenn Sie nicht draufklicken.</br> +<br/> +<a href=3D"<?php echo + Template::makeurl( + array( + 'absolute' =3D> true, + 'controller' =3D> 'forgotpassword', + 'key' =3D> $key + ) + ) +?>"> +Ein neues Passwort bekommen</a></p> +<p>Danke, dass sie unser Forum benutzen,<br/> +ihre Forenadminitratoren.</p> \ No newline at end of file Added: trunk/contrib/de/templates/mail/mail_register.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/mail/mail_register.php 2006-07-01 20:08:05= UTC (rev 32) +++ trunk/contrib/de/templates/mail/mail_register.php 2006-07-13 11:00:02= UTC (rev 33) @@ -0,0 +1,19 @@ +<?php //@EN-REV 1 ?> +<?php $mail->subject("Bitte aktivieren Sie Ihren Benutzeraccount") ?> +<h1>Aktivieren Sie Ihren Benutzeraccount</h1> +<p>Gratulation. Sie haben es geschafft, sich zu registrieren +in unserem Forum. Sie können Ihren Account jetzt noch nicht benutze= n.<br/> +<br/> +Sie erhalten diese E-mail um Ihre Registration zu bestätigen. +Wenn Sie Ihren Account jetzt aktivieren möchtchen, klicken Sie auf = den folgenden Link: +<a href=3D"<?php + echo Template::makeurl( + array( + 'absolute' =3D> true, + 'controller' =3D> 'register', + 'regkey' =3D> $key + ) + ) +?>">Benutzeraccount Aktivieren</a></p> +<p>Danke, dass sie unser Forum benutzen,<br/> +Ihre Forumadminitratoren.</p> \ No newline at end of file Added: trunk/contrib/de/templates/members.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/members.php 2006-07-01 20:08:05 UTC (rev 3= 2) +++ trunk/contrib/de/templates/members.php 2006-07-13 11:00:02 UTC (rev 3= 3) @@ -0,0 +1,92 @@ +<?php //@EN-REV 23 ?> +Zeige alle Benutzer, dessen Benutzernam so anfängt: <br/> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> '')) ?>">all</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'a')) ?>">a</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'b')) ?>">b</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'c')) ?>">c</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'd')) ?>">d</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'e')) ?>">e</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'f')) ?>">f</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'g')) ?>">g</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'h')) ?>">h</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'i')) ?>">i</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'j')) ?>">j</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'k')) ?>">k</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'l')) ?>">l</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'm')) ?>">m</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'n')) ?>">n</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'o')) ?>">o</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'p')) ?>">p</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'q')) ?>">q</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'r')) ?>">r</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 's')) ?>">s</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 't')) ?>">t</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'u')) ?>">u</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'v')) ?>">v</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'w')) ?>">w</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'x')) ?>">x</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'y')) ?>">y</a> +<a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'z')) ?>">z</a> + +<table width=3D"100%" border=3D"0"> +<tr> + <td><a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'me= mbers', 'order' =3D> 'name', 'sort' =3D> $sortinv, 'letter' =3D> $letter)= ) ?>">Benutzername</a> + <?php if($order =3D=3D 'name' && $sort =3D=3D 0) { ?> + <img src=3D"templates/img/up.png" alt=3D"ascending order" width=3D"16= " height=3D"16"/> + <?php } ?> + <?php if($order =3D=3D 'name' && $sort =3D=3D 1) { ?> + <img src=3D"templates/img/down.png" alt=3D"descending order" width=3D= "16" height=3D"16"/> + <?php } ?> + </td> + + <td><a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'me= mbers', 'order' =3D> 'email', 'sort' =3D> $sortinv, 'letter' =3D> $letter= )) ?>">E-mailadresse</a> + <?php if($order =3D=3D 'email' && $sort =3D=3D 0) { ?> + <img src=3D"templates/img/up.png" alt=3D"ascending order" width=3D"16= " height=3D"16"/> + <?php } ?> + <?php if($order =3D=3D 'email' && $sort =3D=3D 1) { ?> + <img src=3D"templates/img/down.png" alt=3D"descending order" width=3D= "16" height=3D"16"/> + <?php } ?> + </td> + + <td><a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'me= mbers', 'order' =3D> 'posts', 'sort' =3D> $sortinv, 'letter' =3D> $letter= )) ?>">Beiträge</a> + <?php if($order =3D=3D 'posts' && $sort =3D=3D 0) { ?> + <img src=3D"templates/img/up.png" alt=3D"ascending order" width=3D"16= " height=3D"16"/> + <?php } ?> + <?php if($order =3D=3D 'posts' && $sort =3D=3D 1) { ?> + <img src=3D"templates/img/down.png" alt=3D"descending order" width=3D= "16" height=3D"16"/> + <?php } ?> + </td> + + <td><a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'me= mbers', 'order' =3D> 'joined', 'sort' =3D> $sortinv, 'letter' =3D> $lette= r)) ?>">Dabei seit</a> + <?php if($order =3D=3D 'joined' && $sort =3D=3D 0) { ?> + <img src=3D"templates/img/up.png" alt=3D"ascending order" width=3D"16= " height=3D"16"/> + <?php } ?> + <?php if($order =3D=3D 'joined' && $sort =3D=3D 1) { ?> + <img src=3D"templates/img/down.png" alt=3D"descending order" width=3D= "16" height=3D"16"/> + <?php } ?> + </td> + + <td></td> +</tr> +<?php + foreach($users as $user) { +?> +<tr> + <td><?php echo htmlentities($user['username']) ?></td> + <td><?php echo $user['email'] ?></td> + <td><?php echo $user['posts'] ?></td> + <td><?php echo Template::date($user['joined']) ?></td> + <td><?php if($login) { ?> + <a href=3D"<?php echo Template::makeurl( + array( + 'controller' =3D> 'newpm', + 'id' =3D> $user['id'] + )) ?>">pm</a> + <?php } ?></td> +</tr> +<?php + } +?> +</table> +pages: <?php foreach($pagelinks as $page) { ?> +<a href=3D"<?php echo $page['url'] ?>"><?php echo $page['name'] ?></a> <= ?php } ?> \ No newline at end of file Added: trunk/contrib/de/templates/movethread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/movethread.php 2006-07-01 20:08:05 UTC (re= v 32) +++ trunk/contrib/de/templates/movethread.php 2006-07-13 11:00:02 UTC (re= v 33) @@ -0,0 +1,15 @@ +<?php //@EN-REV 1 ?> +<?php if($NOPERMISSION) error('noperm', 'Du hast nicht die erforderliche= Erlaubnis, +diesen Thread zu verschieben.') ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"Move= thread")) ?>" method=3D"post"> +Move thread into board:<br/> +<select name=3D"board"> +<?php foreach($boards as $category) { ?> + <?php foreach($category['children'] as $board) { ?> + <option value=3D"<?php echo $board['id'] ?>"><?php echo $category['nam= e'] ?> > <?php echo $board['name'] ?></option> + <?php } ?> +<?php } ?> +</select><br/> +<input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> +<input type=3D"submit" name=3D"move" value=3D"Move thread"/> +</form> \ No newline at end of file Added: trunk/contrib/de/templates/newpassword.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newpassword.php 2006-07-01 20:08:05 UTC (r= ev 32) +++ trunk/contrib/de/templates/newpassword.php 2006-07-13 11:00:02 UTC (r= ev 33) @@ -0,0 +1,33 @@ +<?php //@EN-REV 1 ?> +<?php if (!$mailsent && !$newpassword) { ?> +<p>Wenn du dich nicht an dein Passwort erinnern kannst, kannst du ein ne= ues anfordern.<br/> +Gib Sie Ihre E-mailadresse an, mit der du hier registriert bist. +Sie erhalten dann eine E-mail mit einem Bestätigungslink. Nachdem s= ie auf diesen Link +geklickt haben, erhalten Sie ein neues Passwort.</p> +<form action=3D"<?php echo Template::makeurl(array('controller' =3D> "fo= rgotpassword")) ?>" method=3D"POST"> +<table border=3D"0"> +<tr class=3D"content"> + <td>Mail address<?php if ($error['NOMAIL']) error('nomail', 'Bitte gebe= n Sie Ihre E-mailadresse an', true) ?> + <?php if ($error['NOUSER']) { ?><br/> + <?php error('noaccount', 'Es existiert kein Benutzeraccount mit dieser = E-mailadresse'); } ?></td> + <td><input type=3D"text" name=3D"mail" value=3D"<?php echo $mail ?>" si= ze=3D"30" maxlength=3D"255"></td> +</tr> +<tr class=3D"body"> + <td colspan=3D"2" align=3D"center"> + <input type=3D"submit" name=3D"submit" value=3D"submit"/> + </td> +</tr> +</table> +</form> +<?php } elseif (!$newpassword) { ?> +<h1>E-mail gesendet</h1> +<p>Ein Bestätigungslink auf deine Anfrage für ein neues +wurde gesendet per Mail. Bitte warten Sie auf die Mail und klicken Sie +auf den Link in der Mail.</p> +<?php } else { ?> +<h1>Neues Passwort</h1> +<p>Gratulation. Sie haben erfolgreich ein neues Passwort für Ihren +Benutzeraccount auf diesem Forum.<br/> +Ihr neues Passwort ist <strong><?php echo $password ?></strong></p> +<p>Sie sollten das Passwort sofort ändern!</p> +<?php } ?> \ No newline at end of file Added: trunk/contrib/de/templates/newpm.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newpm.php 2006-07-01 20:08:05 UTC (rev 32) +++ trunk/contrib/de/templates/newpm.php 2006-07-13 11:00:02 UTC (rev 33) @@ -0,0 +1,45 @@ +<?php //@EN-REV 13 ?> +<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"Newp= m")) ?>" method=3D"post"> +<?php if ($error['OUTBOXFULL']) error('outboxfull', 'Your outbox is full= . You cannot send any more PMs without deleting old PMs from your outbox.= ') ?> +<?php if ($error['INBOXFULL']) error('inboxfull', 'The inbox of the reci= pient is full. You cannot send him any PMs until he has deleted some PMs = from his inbox.') ?> +<table border=3D"0"> +<tr> + <td> + Überschrift<?php if ($error['NOSUBJECT']) error('nosubject', 'B= itte eine Überschrift angeben', true) ?> + </td> + <td> + <input type=3D"text" name=3D"subject" value=3D"<?php echo htmlentiti= es($subject) ?>" maxlength=3D"255" size=3D"50"/> + </td> +</tr> +<tr> + <td> + Text<?php if ($error['NOTEXT']) error('notext', 'Bitte einen Text an= geben', true) ?> + <?php if ($error['PARSEERROR']) error('parseerror', $error['PARSEERR= ORTEXT'].'<br/>in line '.$error['PARSEERRORLINE'].' at position '.$error[= 'PARSEERRORCHAR'], true) ?> + </td> + <td> + <div class=3D"autocomplete" id=3D"text_autocomplete"></div> + <textarea name=3D"text" id=3D"text" cols=3D"40" rows=3D"10"><?php ec= ho htmlentities($text) ?></textarea> + <script type=3D"text/javascript"> + new Autocompleter.Local('text', 'text_autocomplete', + [ + '[noparse] [/noparse]', '[b] [/b]', '[i] [/i]', '[u] [/u]', + '[url] [/url]', '[url=3D"http://"] [/url]', '[mail] [/mail]', + '[img] [/img]', '[quote] [/quote]', '[color=3Dblack] [/color]', + '[code] [/code]', '[php] [/php]', '[html] [/html]', + '[sql] [/sql]', '[xml] [/xml]', '[css] [/css]', + '[javascript] [/javascript]', '[java] [/java]', + '[python] [/python]', '[perl] [/perl]' + ], + { tokens: [']', ' ', '\n']}); + </script> + + </td> +</tr> +<tr> + <td colspan=3D"2" align=3D"center"> + <input type=3D"submit" name=3D"cancel" value=3D"Cancel"/> + <input type=3D"submit" name=3D"send" value=3D"Send"/> + </td> +</tr> +</table> +</form> \ No newline at end of file Added: trunk/contrib/de/templates/newthread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/de/templates/newthread.php 2006-07-01 20:08:05 UTC (rev= 32) +++ trunk/contrib/de/templates/newthread.php 2006-07-13 11:00:02 UTC (rev= 33) @@ -0,0 +1,69 @@ +<?php //@EN-REV 32 ?> +<?php if (!$showpreview) { ?> +<form action=3D"<?php echo $formurl ?>" method=3D"post"> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<?php if ($newthread) { ?> + <tr> + <td class=3D"body">Überschrift <?php if ($error['NOSUBJECT']) err= or('nosubject', 'Bitte ein Überschrift angeben', true) ?></td> + <td class=3D"content"><input type=3D"text" name=3D"subject" size=3D"50= " maxlength=3D"255" value=3D"<?php echo htmlentities($subject) ?>"/></td> + </tr> +<?php } ?> +<?php if ($guest) { ?> + <tr> + <td class=3D"body">Dein Name <?php if ($error['NONAME']) error('noname= ', 'Bitte Name angeben', true) ?></td> + <td class=3D"content"><input type=3D"text" name=3D"name" size=3D"20" m= axlength=3D"255" value=3D"<?php echo htmlentities($name) ?>"/></td> + </tr> +<?php } ?> + <tr> + <td valign=3D"top" class=3D"body">Text + <?php if ($error['NOTEXT']) error('notext', 'Bitte Text eingeben',= true) ?> + <?php if ($error['PARSEERROR']) error('parseerror', $error['PARSEE= RRORTEXT'].'<br/>in Zeile '.$error['PARSEERRORLINE'].' Spalte '.$error['P= ARSEERRORCHAR'], true) ?></td> + <td class=3D"content"> + <div class=3D"autocomplete" id=3D"text_autocomplete"></div> + <textarea name=3D"text" id=3D"text" rows=3D"20" cols=3D"50"><?php ech= o $text ?></textarea> + <script type=3D"text/javascript"> + new Autocompleter.Local('text', 'text_autocomplete', + [ + '[noparse] [/noparse]', '[b] [/b]', '[i] [/i]', '[u] [/u]', + '[url] [/url]', '[url=3D"http://"] [/url]', '[mail] [/mail]', + '[img] [/img]', '[quote] [/quote]', '[color=3Dblack] [/color]', + '[code] [/code]', '[php] [/php]', '[html] [/html]', + '[sql] [/sql]', '[xml] [/xml]', '[css] [/css]', + '[javascript] [/javascript]', '[java] [/java]', + '[python] [/python]', '[perl] [/perl]' + ], + { tokens: [']', ' ', '\n']}); + </script> + </td> + </tr> + <tr> + <td class=3D"body">E-mailbenachrichtigung</td> + <td class=3D"content"><input type=3D"checkbox" name=3D"email" value=3D= "email" <?php if ($email) { ?>checked=3D"checked"<?php } ?>/>Notify me of= new answers to this thread by mail</td> + </tr> + <tr> + <td class=3D"body">Smilies</td> + <td class=3D"content"><input type=3D"checkbox" name=3D"smileys" value=3D= "smileys" <?php if ($smileys) { ?>checked=3D"checked"<?php } ?>/>Replace = smileys in text with their graphical representations.</td> + </tr> + <tr> + <td class=3D"body"><a href=3D"<?php echo Template::makeurl(array('cont= roller'=3D>"help", 'topic'=3D>"Code")) ?>" onclick=3D"javascript:window.o= pen('<?php echo Template::makeurl(array('controller'=3D>"help", 'topic'=3D= >"Code")) ?>', 'Help', 'width=3D600,height=3D400,status=3Dno,toolbar=3Dno= ,menubar=3Dno,location=3Dno,hotkeys=3Dno'); return false;">Auboard Code</= a></td> + <td class=3D"content"><input type=3D"checkbox" name=3D"code" value=3D"= code" <?php if ($code) { ?>checked=3D"checked"<?php } ?>/>Enable Auboard = code in the posting</td> + </tr> + <tr> + <td class=3D"body"> </td> + <td class=3D"content"> + <input type=3D"submit" name=3D"preview" value=3D"Show Preview"/> + <?php if ($newthread) { ?> + <input type=3D"submit" name=3D"submit" value=3D"Save thread"/> + <?php } else { ?> + <input type=3D"submit" name=3D"submit" value=3D"Save post"/> + <?php } ?> + </td> + </tr> +</table> +</form> +<?php } else { // Show preview * ?> + <form action=3D"<?php $formurl ?>" method=3D"post"> +<?php echo $text ?><br/> +<input type=3D"submit" name=3D"back" value=3D"Back"> <input type=3D"subm= it" name=3D"save" value=3D"Save"/> +</form> +<?php } ?> \ No newline at end of file Added: trunk/contrib/de/templates/posts.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/contrib/... [truncated message content] |
From: auboard-devel <aub...@li...> - 2006-07-01 20:05:33
|
Revision: 32 Author: olli Date: 2006-07-01 22:08:05 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Subscription to threads now not dependent on having posted in the thread = anymore Modified Paths: -------------- trunk/auboard/Mail.php trunk/auboard/controller/Newpost.php trunk/auboard/controller/Showthread.php trunk/auboard/db/om/BaseThread.php trunk/auboard/db/om/BaseThreadPeer.php trunk/auboard/db/om/BaseUser.php trunk/auboard/db/om/BaseUserPeer.php trunk/auboard/schema-transformed.xml trunk/auboard/schema.xml trunk/auboard/sql/schema.sql trunk/auboard/templates/newthread.php trunk/auboard/templates/posts.php Added Paths: ----------- trunk/auboard/controller/Subscribethread.php trunk/auboard/db/Subscriptions.php trunk/auboard/db/SubscriptionsPeer.php trunk/auboard/db/map/SubscriptionsMapBuilder.php trunk/auboard/db/om/BaseSubscriptions.php trunk/auboard/db/om/BaseSubscriptionsPeer.php trunk/auboard/snippets/NotifySubscriptions.php Modified: trunk/auboard/Mail.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/Mail.php 2006-07-01 18:53:13 UTC (rev 31) +++ trunk/auboard/Mail.php 2006-07-01 20:08:05 UTC (rev 32) @@ -132,6 +132,11 @@ $mime =3D 'image/gif'; }=20 =09 + if(!file_exists($params['src'])) + { + return 'Could not find image '.$params['src']; + } + =09 $this->mail->AddEmbeddedImage($params['src'], $params['cid'], '', 'base64', $mime); =09 Modified: trunk/auboard/controller/Newpost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Newpost.php 2006-07-01 18:53:13 UTC (rev 31) +++ trunk/auboard/controller/Newpost.php 2006-07-01 20:08:05 UTC (rev 32) @@ -69,7 +69,6 @@ $error['NOTEXT'] =3D true; } =09 =09 - $email =3D $this->postVar('email') !=3D null; $smileys =3D $this->postVar('smileys') !=3D null; $code =3D $this->postVar('code') !=3D null; $preview =3D $this->postVar('preview') !=3D null; @@ -88,7 +87,6 @@ $globals =3D Globals::getInstance(); $name =3D $globals->remove('newthread_preview_name'); $text =3D $globals->remove('newthread_preview_text'); - $email =3D $globals->remove('newthread_preview_email'); $smileys =3D $globals->remove('newthread_preview_smileys'); $code =3D $globals->remove('newthread_preview_code'); $preview =3D false; @@ -103,7 +101,6 @@ =09 $smarty->assign('name', $name); $smarty->assign('text', $text); - $smarty->assign('email', $email); $smarty->assign('smileys', $smileys); $smarty->assign('code', $code); $smarty->assign('error', $error); @@ -119,7 +116,6 @@ $globals =3D Globals::getInstance(); $globals->add('newthread_preview_name', $name, true); $globals->add('newthread_preview_text', $text, true); - $globals->add('newthread_preview_email', $email, true); $globals->add('newthread_preview_smileys', $smileys, true); $globals->add('newthread_preview_code', $code, true); =09 @@ -145,7 +141,6 @@ $post->setText($text); $post->setCode($code); $post->setSmileys($smileys); - $post->setEmailnotify($email); $post->setIp($_SERVER['REMOTE_ADDR']); =09 $thread->setReplies($thread->getReplies() + 1); @@ -169,30 +164,10 @@ =20 Globals::getInstance()->remove('thread'); =20 - // send notification mails - // TODO: cries for a join also - // TODO: urgh, slow as hell, could this be done somewhere less painf= ully? - $c =3D new Criteria(); - $c->add(PostPeer::FK_THREAD, $thread->getId()); - $c->addAnd(PostPeer::EMAILNOTIFY, true); - $c->addGroupByColumn(PostPeer::FK_AUTHOR); - $posts =3D PostPeer::doSelect($c); - $authors =3D array(); - foreach($posts as $newpost) - { - $user =3D $newpost->getUser(); - if(in_array($user->getId(), $authors)) - { - continue; - } - $mail =3D new Mail('mail_newpost', $user); - $mail->assign('threadid', $thread->getId()); - $mail->assign('topic', $thread->getTopic()); - $mail->assign('author', $name); - $mail->send(); - $authors[] =3D $user->getId(); - } - + // send subscribers a mail + Snippet::load('NotifySubscriptions', array('thread' =3D> $thread, + 'post' =3D> $post)); + =09 Snippet::load('Redirect', array('controller' =3D> 'showthread',=20 'id' =3D> $threadid)); } Modified: trunk/auboard/controller/Showthread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Showthread.php 2006-07-01 18:53:13 UTC (rev = 31) +++ trunk/auboard/controller/Showthread.php 2006-07-01 20:08:05 UTC (rev = 32) @@ -325,6 +325,20 @@ $smarty->assign('stickthread', $thread->getId()); } =09 + if($user->getLoggedin()) + { + $smarty->assign('subscribethread', $thread->getId()); + =09 + $subsciption =3D SubscriptionsPeer::retrieveByPk($user->getId(), + $thread->getId()); + if($subsciption !=3D=3D null) + { + $smarty->assign('subscribed', true); + } else { + $smarty->assign('subscribed', false); + } + } + =09 $smarty->assign('threadid', $threadid); $smarty->assign('posts', $array);=20 =09 Added: trunk/auboard/controller/Subscribethread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Subscribethread.php 2006-07-01 18:53:13 UTC = (rev 31) +++ trunk/auboard/controller/Subscribethread.php 2006-07-01 20:08:05 UTC = (rev 32) @@ -0,0 +1,66 @@ +<?php +/* + auboard - web based bulletin board + Copyright (C) 2005 Oliver Albers, Claudio Walser + + This program 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 2 of the License, or + (at your option) any later version. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-130= 1 USA +*/ + + /** + * Subscribes or unsubscribes a user to a thread + * i.e. the user receives mails announcing new posts in the thread when= he is + * subscribed + * @author olli + */ + class Subscribethread extends Controller + { + public function doGet() + { + $threadid =3D $this->getVar('id', Controller::TYPE_INT); + if($threadid =3D=3D null) + { + Snippet::load('Redirect', array('controller' =3D> 'Index')); + } + =09 + $user =3D Globals::getInstance()->get('user'); + $thread =3D ThreadPeer::retrieveByPk($threadid); + =09 + $checkPerms =3D array( + 'board' =3D> $thread->getFkBoard(), + 'permission' =3D> Permission::VIEW, + 'groups' =3D> $user->getGroups()); + if(!Snippet::load('CheckPermission', $checkPerms)) + { + Snippet::load('Redirect', array('controller' =3D> 'Index')); + } + =09 + $subscriptions =3D SubscriptionsPeer::retrieveByPk($user->getId(), + $threadid); + if($subscriptions !=3D=3D null) + { + $subscriptions->delete(); + } else { + $subscriptions =3D new Subscriptions(); + $subscriptions->setFkUser($user->getId()); + $subscriptions->setFkThread($threadid); + $subscriptions->save(); + } + =09 + Snippet::load('Redirect', + array('controller' =3D> 'Showthread', + 'id' =3D> $threadid)); + } + } +?> Added: trunk/auboard/db/Subscriptions.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/db/Subscriptions.php 2006-07-01 18:53:13 UTC (rev 31) +++ trunk/auboard/db/Subscriptions.php 2006-07-01 20:08:05 UTC (rev 32) @@ -0,0 +1,19 @@ +<?php + +require_once 'db/om/BaseSubscriptions.php'; + + +/** + * Skeleton subclass for representing a row from the 'subscriptions' tab= le. + * + * Subscriptions to Threads + * + * You should add additional methods to this class to meet the + * application requirements. This class will only be generated as + * long as it does not already exist in the output directory. + * + * @package db + */=09 +class Subscriptions extends BaseSubscriptions { + +} // Subscriptions Added: trunk/auboard/db/SubscriptionsPeer.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/db/SubscriptionsPeer.php 2006-07-01 18:53:13 UTC (rev 3= 1) +++ trunk/auboard/db/SubscriptionsPeer.php 2006-07-01 20:08:05 UTC (rev 3= 2) @@ -0,0 +1,23 @@ +<?php + + // include base peer class + require_once 'db/om/BaseSubscriptionsPeer.php'; + =20 + // include object class + include_once 'db/Subscriptions.php'; + + +/** + * Skeleton subclass for performing query and update operations on the '= subscriptions' table. + * + * Subscriptions to Threads + * + * You should add additional methods to this class to meet the + * application requirements. This class will only be generated as + * long as it does not already exist in the output directory. + * + * @package db + */=09 +class SubscriptionsPeer extends BaseSubscriptionsPeer { + +} // SubscriptionsPeer Added: trunk/auboard/db/map/SubscriptionsMapBuilder.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/db/map/SubscriptionsMapBuilder.php 2006-07-01 18:53:13 = UTC (rev 31) +++ trunk/auboard/db/map/SubscriptionsMapBuilder.php 2006-07-01 20:08:05 = UTC (rev 32) @@ -0,0 +1,73 @@ +<?php + =09 +require_once 'propel/map/MapBuilder.php'; +include_once 'creole/CreoleTypes.php'; + + +/** + * This class adds structure of 'subscriptions' table to 'auboard' Datab= aseMap object. + * + * + * + * These statically-built map classes are used by Propel to do runtime d= b structure discovery. + * For example, the createSelectSql() method checks the type of a given = column used in an=20 + * ORDER BY clause to know whether it needs to apply SQL to make the ORD= ER BY case-insensitive=20 + * (i.e. if it's a text column type). + * + * @package db.map + */=09 +class SubscriptionsMapBuilder { + + /** + * The (dot-path) name of this class + */ + const CLASS_NAME =3D 'db.map.SubscriptionsMapBuilder';=09 + + /** + * The database map. + */ + private $dbMap; + + /** + * Tells us if this DatabaseMapBuilder is built so that we + * don't have to re-build it every time. + * + * @return boolean true if this DatabaseMapBuilder is built, false o= therwise. + */ + public function isBuilt() + { + return ($this->dbMap !=3D=3D null); + } + + /** + * Gets the databasemap this map builder built. + * + * @return the databasemap + */ + public function getDatabaseMap() + { + return $this->dbMap; + } + + /** + * The doBuild() method builds the DatabaseMap + * + * @return void + * @throws PropelException + */ + public function doBuild() + { + $this->dbMap =3D Propel::getDatabaseMap('auboard'); + =09 + $tMap =3D $this->dbMap->addTable('subscriptions'); + $tMap->setPhpName('Subscriptions'); + + $tMap->setUseIdGenerator(false); + + $tMap->addForeignPrimaryKey('FK_USER', 'FkUser', 'int' , CreoleTypes::= INTEGER, 'user', 'ID', true, null); + + $tMap->addForeignPrimaryKey('FK_THREAD', 'FkThread', 'int' , CreoleTyp= es::INTEGER, 'thread', 'ID', true, null); + =09 + } // doBuild() + +} // SubscriptionsMapBuilder Added: trunk/auboard/db/om/BaseSubscriptions.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/db/om/BaseSubscriptions.php 2006-07-01 18:53:13 UTC (re= v 31) +++ trunk/auboard/db/om/BaseSubscriptions.php 2006-07-01 20:08:05 UTC (re= v 32) @@ -0,0 +1,598 @@ +<?php + +require_once 'propel/om/BaseObject.php'; + +require_once 'propel/om/Persistent.php'; + + +include_once 'propel/util/Criteria.php'; + +include_once 'db/SubscriptionsPeer.php'; + +/** + * Base class that represents a row from the 'subscriptions' table. + * + * Subscriptions to Threads + * + * @package db.om + */ +abstract class BaseSubscriptions extends BaseObject implements Persiste= nt { + + + /** + * The Peer class. + * Instance provides a convenient way of calling static methods on a cl= ass + * that calling code may not be able to identify. + * @var SubscriptionsPeer + */ + protected static $peer; + + + /** + * The value for the fk_user field. + * @var int + */ + protected $fk_user; + + + /** + * The value for the fk_thread field. + * @var int + */ + protected $fk_thread; + + /** + * @var User + */ + protected $aUser; + + /** + * @var Thread + */ + protected $aThread; + + /** + * Flag to prevent endless save loop, if this object is referenced + * by another object which falls in this transaction. + * @var boolean + */ + protected $alreadyInSave =3D false; + + /** + * Flag to prevent endless validation loop, if this object is reference= d + * by another object which falls in this transaction. + * @var boolean + */ + protected $alreadyInValidation =3D false; + + /** + * Get the [fk_user] column value. + * User ID + * @return int + */ + public function getFkUser() + { + + return $this->fk_user; + } + + /** + * Get the [fk_thread] column value. + * Thread ID + * @return int + */ + public function getFkThread() + { + + return $this->fk_thread; + } + + /** + * Set the value of [fk_user] column. + * User ID + * @param int $v new value + * @return void + */ + public function setFkUser($v) + { + + if ($this->fk_user !=3D=3D $v) { + $this->fk_user =3D $v; + $this->modifiedColumns[] =3D SubscriptionsPeer::FK_USER; + } + + if ($this->aUser !=3D=3D null && $this->aUser->getId() !=3D=3D $v) { + $this->aUser =3D null; + } =09 + + } // setFkUser() + + /** + * Set the value of [fk_thread] column. + * Thread ID + * @param int $v new value + * @return void + */ + public function setFkThread($v) + { + + if ($this->fk_thread !=3D=3D $v) { + $this->fk_thread =3D $v; + $this->modifiedColumns[] =3D SubscriptionsPeer::FK_THREAD; + } + + if ($this->aThread !=3D=3D null && $this->aThread->getId() !=3D=3D $v)= { + $this->aThread =3D null; + } =09 + + } // setFkThread() + + /** + * Hydrates (populates) the object variables with values from the datab= ase resultset. + * + * An offset (1-based "start column") is specified so that objects can = be hydrated + * with a subset of the columns in the resultset rows. This is needed,= for example, + * for results of JOIN queries where the resultset row includes columns= from two or + * more tables. + * + * @param ResultSet $rs The ResultSet class with cursor advanced to des= ired record pos. + * @param int $startcol 1-based offset column which indicates which res= tultset column to start with. + * @return int next starting column + * @throws PropelException - Any caught Exception will be rewrapped as= a PropelException. + */ + public function hydrate(ResultSet $rs, $startcol =3D 1) + { + try { + + $this->fk_user =3D $rs->getInt($startcol + 0); + + $this->fk_thread =3D $rs->getInt($startcol + 1); + + $this->resetModified(); + + $this->setNew(false); + + // FIXME - using NUM_COLUMNS may be clearer. + return $startcol + 2; // 2 =3D SubscriptionsPeer::NUM_COLUMNS - Subsc= riptionsPeer::NUM_LAZY_LOAD_COLUMNS). + + } catch (Exception $e) { + throw new PropelException("Error populating Subscriptions object", $e= ); + } + } + + /** + * Removes this object from datastore and sets delete attribute. + * + * @param Connection $con + * @return void + * @throws PropelException + * @see BaseObject::setDeleted() + * @see BaseObject::isDeleted() + */ + public function delete($con =3D null) + { + if ($this->isDeleted()) { + throw new PropelException("This object has already been deleted."); + } + + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(SubscriptionsPeer::DATABASE_NAME); + } + + try { + $con->begin(); + SubscriptionsPeer::doDelete($this, $con); + $this->setDeleted(true); + $con->commit(); + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + /** + * Stores the object in the database. If the object is new, + * it inserts it; otherwise an update is performed. This method + * wraps the doSave() worker method in a transaction. + * + * @param Connection $con + * @return int The number of rows affected by this insert/update and an= y referring fk objects' save() operations. + * @throws PropelException + * @see doSave() + */ + public function save($con =3D null) + { + if ($this->isDeleted()) { + throw new PropelException("You cannot save an object that has been de= leted."); + } + + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(SubscriptionsPeer::DATABASE_NAME); + } + =09 + try { + $con->begin(); + $affectedRows =3D $this->doSave($con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + throw $e; + } + } + + /** + * Stores the object in the database. + *=20 + * If the object is new, it inserts it; otherwise an update is performe= d. + * All related objects are also updated in this method. + * + * @param Connection $con + * @return int The number of rows affected by this insert/update and an= y referring fk objects' save() operations. + * @throws PropelException + * @see save() + */ + protected function doSave($con) + { + $affectedRows =3D 0; // initialize var to track total num of affected = rows=09 + if (!$this->alreadyInSave) { + $this->alreadyInSave =3D true; + + + // We call the save method on the following object(s) if they + // were passed to this object by their coresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aUser !=3D=3D null) { + if ($this->aUser->isModified()) { + $affectedRows +=3D $this->aUser->save($con); + } + $this->setUser($this->aUser); + } + + if ($this->aThread !=3D=3D null) { + if ($this->aThread->isModified()) { + $affectedRows +=3D $this->aThread->save($con); + } + $this->setThread($this->aThread); + } +=09 + + // If this object has been modified, then save it to the database. + if ($this->isModified()) { + if ($this->isNew()) { + $pk =3D SubscriptionsPeer::doInsert($this, $con); + $affectedRows +=3D 1; // we are assuming that there is only 1 row p= er doInsert() which=20 + // should always be true here (even though technically=20 + // BasePeer::doInsert() can insert multiple rows). + + $this->setNew(false); + } else { + $affectedRows +=3D SubscriptionsPeer::doUpdate($this, $con); + } + $this->resetModified(); // [HL] After being saved an object is no lo= nger 'modified' + } + + $this->alreadyInSave =3D false; + } + return $affectedRows; + } // doSave() + + /** + * Array of ValidationFailed objects. + * @var array ValidationFailed[] + */ + protected $validationFailures =3D array(); + + /** + * Gets any ValidationFailed objects that resulted from last call to va= lidate(). + * + * + * @return array ValidationFailed[] + * @see validate() + */ + public function getValidationFailures() + { + return $this->validationFailures; + } + + /** + * Validates the objects modified field values and all objects related = to this table. + * + * If $columns is either a column name or an array of column names + * only those columns are validated. + * + * @param mixed $columns Column name or an array of column names. + * @return boolean Whether all columns pass validation. + * @see doValidate() + * @see getValidationFailures() + */ + public function validate($columns =3D null) + { + $res =3D $this->doValidate($columns); + if ($res =3D=3D=3D true) { + $this->validationFailures =3D array(); + return true; + } else { + $this->validationFailures =3D $res; + return false; + } + } + + /** + * This function performs the validation work for complex object models= . + * + * In addition to checking the current object, all related objects will + * also be validated. If all pass then <code>true</code> is returned; = otherwise + * an aggreagated array of ValidationFailed objects will be returned. + * + * @param array $columns Array of column names to validate. + * @return mixed <code>true</code> if all validations pass; array of <c= ode>ValidationFailed</code> objets otherwise. + */ + protected function doValidate($columns =3D null) + { + if (!$this->alreadyInValidation) { + $this->alreadyInValidation =3D true; + $retval =3D null; + + $failureMap =3D array(); + + + // We call the validate method on the following object(s) if they + // were passed to this object by their coresponding set + // method. This object relates to these object(s) by a + // foreign key reference. + + if ($this->aUser !=3D=3D null) { + if (!$this->aUser->validate($columns)) { + $failureMap =3D array_merge($failureMap, $this->aUser->getValidatio= nFailures()); + } + } + + if ($this->aThread !=3D=3D null) { + if (!$this->aThread->validate($columns)) { + $failureMap =3D array_merge($failureMap, $this->aThread->getValidat= ionFailures()); + } + } + + + if (($retval =3D SubscriptionsPeer::doValidate($this, $columns)) !=3D= =3D true) { + $failureMap =3D array_merge($failureMap, $retval); + } + + + + $this->alreadyInValidation =3D false; + } + + return (!empty($failureMap) ? $failureMap : true); + } + + /** + * Build a Criteria object containing the values of all modified column= s in this object. + * + * @return Criteria The Criteria object containing all modified values. + */ + public function buildCriteria() + { + $criteria =3D new Criteria(SubscriptionsPeer::DATABASE_NAME); + + if ($this->isColumnModified(SubscriptionsPeer::FK_USER)) $criteria->ad= d(SubscriptionsPeer::FK_USER, $this->fk_user); + if ($this->isColumnModified(SubscriptionsPeer::FK_THREAD)) $criteria->= add(SubscriptionsPeer::FK_THREAD, $this->fk_thread); + + return $criteria; + } + + /** + * Builds a Criteria object containing the primary key for this object. + * + * Unlike buildCriteria() this method includes the primary key values r= egardless + * of whether or not they have been modified. + * + * @return Criteria The Criteria object containing value(s) for primary= key(s). + */ + public function buildPkeyCriteria() + { + $criteria =3D new Criteria(SubscriptionsPeer::DATABASE_NAME); + + $criteria->add(SubscriptionsPeer::FK_USER, $this->fk_user); + $criteria->add(SubscriptionsPeer::FK_THREAD, $this->fk_thread); + + return $criteria; + } + + /** + * Returns the composite primary key for this object. + * The array elements will be in same order as specified in XML. + * @return array + */ + public function getPrimaryKey() + { + $pks =3D array(); + + $pks[0] =3D $this->getFkUser(); + + $pks[1] =3D $this->getFkThread(); + + return $pks; + } + + /** + * Set the [composite] primary key. + * + * @param array $keys The elements of the composite key (order must mat= ch the order in XML file). + * @return void + */ + public function setPrimaryKey($keys) + { + + $this->setFkUser($keys[0]); + + $this->setFkThread($keys[1]); + + } + + /** + * Sets contents of passed object to values from current object. + *=20 + * If desired, this method can also make copies of all associated (fkey= referrers) + * objects. + * + * @param object $copyObj An object of Subscriptions (or compatible) ty= pe. + * @param boolean $deepCopy Whether to also copy all rows that refer (b= y fkey) to the current row. + * @throws PropelException + */ + public function copyInto($copyObj, $deepCopy =3D false) + { + + + $copyObj->setNew(true); + + $copyObj->setFkUser(NULL); // this is a pkey column, so set to default= value + + $copyObj->setFkThread(NULL); // this is a pkey column, so set to defau= lt value + + } + + /** + * Makes a copy of this object that will be inserted as a new row in ta= ble when saved. + * It creates a new object filling in the simple attributes, but skippi= ng any primary + * keys that are defined for the table. + *=20 + * If desired, this method can also make copies of all associated (fkey= referrers) + * objects. + * + * @param boolean $deepCopy Whether to also copy all rows that refer (b= y fkey) to the current row. + * @return Subscriptions Clone of current object. + * @throws PropelException + */ + public function copy($deepCopy =3D false) + { + // we use get_class(), because this might be a subclass + $clazz =3D get_class($this); + $copyObj =3D new $clazz(); + $this->copyInto($copyObj, $deepCopy); + return $copyObj; + } + + /** + * Returns a peer instance associated with this om. + * + * Since Peer classes are not to have any instance attributes, this met= hod returns the + * same instance for all member of this class. The method could therefo= re + * be static, but this would prevent one from overriding the behavior. + * + * @return SubscriptionsPeer + */ + public function getPeer() + { + if (self::$peer =3D=3D=3D null) { + self::$peer =3D new SubscriptionsPeer(); + } + return self::$peer; + } + + /** + * Declares an association between this object and a User object. + * + * @param User $v + * @return void + * @throws PropelException + */ + public function setUser($v) + { + + + if ($v =3D=3D=3D null) { + $this->setFkUser(NULL); + } else { + $this->setFkUser($v->getId()); + } + + + $this->aUser =3D $v; + } + + + /** + * Get the associated User object + * + * @param Connection Optional Connection object. + * @return User The associated User object. + * @throws PropelException + */ + public function getUser($con =3D null) + { + // include the related Peer class + include_once 'db/om/BaseUserPeer.php'; + + if ($this->aUser =3D=3D=3D null && ($this->fk_user !=3D=3D null)) { + + $this->aUser =3D UserPeer::retrieveByPK($this->fk_user, $con); + =09 + /* The following can be used instead of the line above to + guarantee the related object contains a reference + to this object, but this level of coupling + may be undesirable in many circumstances. + As it can lead to a db query with many results that may + never be used. + $obj =3D UserPeer::retrieveByPK($this->fk_user, $con); + $obj->addUsers($this); + */ + } + return $this->aUser; + } + + /** + * Declares an association between this object and a Thread object. + * + * @param Thread $v + * @return void + * @throws PropelException + */ + public function setThread($v) + { + + + if ($v =3D=3D=3D null) { + $this->setFkThread(NULL); + } else { + $this->setFkThread($v->getId()); + } + + + $this->aThread =3D $v; + } + + + /** + * Get the associated Thread object + * + * @param Connection Optional Connection object. + * @return Thread The associated Thread object. + * @throws PropelException + */ + public function getThread($con =3D null) + { + // include the related Peer class + include_once 'db/om/BaseThreadPeer.php'; + + if ($this->aThread =3D=3D=3D null && ($this->fk_thread !=3D=3D null)) = { + + $this->aThread =3D ThreadPeer::retrieveByPK($this->fk_thread, $con); + =09 + /* The following can be used instead of the line above to + guarantee the related object contains a reference + to this object, but this level of coupling + may be undesirable in many circumstances. + As it can lead to a db query with many results that may + never be used. + $obj =3D ThreadPeer::retrieveByPK($this->fk_thread, $con); + $obj->addThreads($this); + */ + } + return $this->aThread; + } + +} // BaseSubscriptions Added: trunk/auboard/db/om/BaseSubscriptionsPeer.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/db/om/BaseSubscriptionsPeer.php 2006-07-01 18:53:13 UTC= (rev 31) +++ trunk/auboard/db/om/BaseSubscriptionsPeer.php 2006-07-01 20:08:05 UTC= (rev 32) @@ -0,0 +1,1105 @@ +<?php + +require_once 'propel/util/BasePeer.php'; +// The object class -- needed for instanceof checks in this class. +// actual class may be a subclass -- as returned by SubscriptionsPeer::g= etOMClass() +include_once 'db/Subscriptions.php'; + +/** + * Base static class for performing query and update operations on the '= subscriptions' table. + * + * Subscriptions to Threads + * + * @package db.om + */ +abstract class BaseSubscriptionsPeer { + + /** the default database name for this class */ + const DATABASE_NAME =3D 'auboard'; + + /** the table name for this class */ + const TABLE_NAME =3D 'subscriptions'; + + /** A class that can be returned by this peer. */ + const CLASS_DEFAULT =3D 'db.Subscriptions'; + + /** The total number of columns. */ + const NUM_COLUMNS =3D 2; + + /** The number of lazy-loaded columns. */ + const NUM_LAZY_LOAD_COLUMNS =3D 0; + + + /** the column name for the FK_USER field */ + const FK_USER =3D 'subscriptions.FK_USER'; + + /** the column name for the FK_THREAD field */ + const FK_THREAD =3D 'subscriptions.FK_THREAD'; + + /** The PHP to DB Name Mapping */ + private static $phpNameMap =3D null; + + + /** + * holds an array of fieldnames + * + * first dimension keys are the type constants + * e.g. self::$fieldNames[self::TYPE_PHPNAME][0] =3D 'Id' + */ + private static $fieldNames =3D array ( + BasePeer::TYPE_PHPNAME =3D> array ('FkUser', 'FkThread', ), + BasePeer::TYPE_COLNAME =3D> array (SubscriptionsPeer::FK_USER, Subscri= ptionsPeer::FK_THREAD, ), + BasePeer::TYPE_FIELDNAME =3D> array ('fk_user', 'fk_thread', ), + BasePeer::TYPE_NUM =3D> array (0, 1, ) + ); + + /** + * holds an array of keys for quick access to the fieldnames array + * + * first dimension keys are the type constants + * e.g. self::$fieldNames[BasePeer::TYPE_PHPNAME]['Id'] =3D 0 + */ + private static $fieldKeys =3D array ( + BasePeer::TYPE_PHPNAME =3D> array ('FkUser' =3D> 0, 'FkThread' =3D> 1,= ), + BasePeer::TYPE_COLNAME =3D> array (SubscriptionsPeer::FK_USER =3D> 0, = SubscriptionsPeer::FK_THREAD =3D> 1, ), + BasePeer::TYPE_FIELDNAME =3D> array ('fk_user' =3D> 0, 'fk_thread' =3D= > 1, ), + BasePeer::TYPE_NUM =3D> array (0, 1, ) + ); + + /** + * @return MapBuilder the map builder for this peer + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function getMapBuilder() + { + include_once 'db/map/SubscriptionsMapBuilder.php'; + return BasePeer::getMapBuilder('db.map.SubscriptionsMapBuilder'); + } + /** + * Gets a map (hash) of PHP names to DB column names. + * + * @return array The PHP to DB name map for this peer + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + * @deprecated Use the getFieldNames() and translateFieldName() methods= instead of this. + */ + public static function getPhpNameMap() + { + if (self::$phpNameMap =3D=3D=3D null) { + $map =3D SubscriptionsPeer::getTableMap(); + $columns =3D $map->getColumns(); + $nameMap =3D array(); + foreach ($columns as $column) { + $nameMap[$column->getPhpName()] =3D $column->getColumnName(); + } + self::$phpNameMap =3D $nameMap; + } + return self::$phpNameMap; + } + /** + * Translates a fieldname to another type + * + * @param string $name field name + * @param string $fromType One of the class type constants TYPE_PHPNAME= , + * TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM + * @param string $toType One of the class type constants + * @return string translated name of the field. + */ + static public function translateFieldName($name, $fromType, $toType) + { + $toNames =3D self::getFieldNames($toType); + $key =3D isset(self::$fieldKeys[$fromType][$name]) ? self::$fieldKeys[= $fromType][$name] : null; + if ($key =3D=3D=3D null) { + throw new PropelException("'$name' could not be found in the field na= mes of type '$fromType'. These are: " . print_r(self::$fieldKeys[$fromTyp= e], true)); + } + return $toNames[$key]; + } + + /** + * Returns an array of of field names. + * + * @param string $type The type of fieldnames to return: + * One of the class type constants TYPE_PHPNAME, + * TYPE_COLNAME, TYPE_FIELDNAME, TYPE_NUM + * @return array A list of field names + */ + + static public function getFieldNames($type =3D BasePeer::TYPE_PHPNAME) + { + if (!array_key_exists($type, self::$fieldNames)) { + throw new PropelException('Method getFieldNames() expects the paramet= er $type to be one of the class constants TYPE_PHPNAME, TYPE_COLNAME, TYP= E_FIELDNAME, TYPE_NUM. ' . $type . ' was given.'); + } + return self::$fieldNames[$type]; + } + + /** + * Convenience method which changes table.column to alias.column. + * + * Using this method you can maintain SQL abstraction while using colum= n aliases. + * <code> + * $c->addAlias("alias1", TablePeer::TABLE_NAME); + * $c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUM= N), TablePeer::PRIMARY_KEY_COLUMN); + * </code> + * @param string $alias The alias for the current table. + * @param string $column The column name for current table. (i.e. Subsc= riptionsPeer::COLUMN_NAME). + * @return string + */ + public static function alias($alias, $column) + { + return str_replace(SubscriptionsPeer::TABLE_NAME.'.', $alias.'.', $col= umn); + } + + /** + * Add all the columns needed to create a new object. + * + * Note: any columns that were marked with lazyLoad=3D"true" in the + * XML schema will not be added to the select list and only loaded + * on demand. + * + * @param criteria object containing the columns to add. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function addSelectColumns(Criteria $criteria) + { + + $criteria->addSelectColumn(SubscriptionsPeer::FK_USER); + + $criteria->addSelectColumn(SubscriptionsPeer::FK_THREAD); + + } + + const COUNT =3D 'COUNT(subscriptions.FK_USER)'; + const COUNT_DISTINCT =3D 'COUNT(DISTINCT subscriptions.FK_USER)'; + + /** + * Returns the number of rows matching criteria. + * + * @param Criteria $criteria + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCount(Criteria $criteria, $distinct =3D false,= $con =3D null) + { + // we're going to modify criteria, so copy it first + $criteria =3D clone $criteria; + + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + /** + * Method to select one object from the DB. + * + * @param Criteria $criteria object used to create the SELECT statement= . + * @param Connection $con + * @return Subscriptions + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectOne(Criteria $criteria, $con =3D null) + { + $critcopy =3D clone $criteria; + $critcopy->setLimit(1); + $objects =3D SubscriptionsPeer::doSelect($critcopy, $con); + if ($objects) { + return $objects[0]; + } + return null; + } + /** + * Method to do selects. + * + * @param Criteria $criteria The Criteria object used to build the SELE= CT statement. + * @param Connection $con + * @return array Array of selected Objects + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelect(Criteria $criteria, $con =3D null) + { + return SubscriptionsPeer::populateObjects(SubscriptionsPeer::doSelectR= S($criteria, $con)); + } + /** + * Prepares the Criteria object and uses the parent doSelect() + * method to get a ResultSet. + * + * Use this method directly if you want to just get the resultset + * (instead of an array of objects). + * + * @param Criteria $criteria The Criteria object used to build the SELE= CT statement. + * @param Connection $con the connection to use + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + * @return ResultSet The resultset object with numerically-indexed fiel= ds. + * @see BasePeer::doSelect() + */ + public static function doSelectRS(Criteria $criteria, $con =3D null) + { + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(self::DATABASE_NAME); + } + + if (!$criteria->getSelectColumns()) { + $criteria =3D clone $criteria; + SubscriptionsPeer::addSelectColumns($criteria); + } + + // Set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + // BasePeer returns a Creole ResultSet, set to return + // rows indexed numerically. + return BasePeer::doSelect($criteria, $con); + } + /** + * The returned array will contain objects of the default type or + * objects that inherit from the default. + * + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function populateObjects(ResultSet $rs) + { + $results =3D array(); +=09 + // set the class once to avoid overhead in the loop + $cls =3D SubscriptionsPeer::getOMClass(); + $cls =3D Propel::import($cls); + // populate the object(s) + while($rs->next()) { + =09 + $obj =3D new $cls(); + $obj->hydrate($rs); + $results[] =3D $obj; + =09 + } + return $results; + } + + /** + * Returns the number of rows matching criteria, joining the related Us= er table + * + * @param Criteria $c + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCountJoinUser(Criteria $criteria, $distinct =3D= false, $con =3D null) + { + // we're going to modify criteria, so copy it first + $criteria =3D clone $criteria; + =09 + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + =09 + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + + + /** + * Returns the number of rows matching criteria, joining the related Th= read table + * + * @param Criteria $c + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCountJoinThread(Criteria $criteria, $distinct = =3D false, $con =3D null) + { + // we're going to modify criteria, so copy it first + $criteria =3D clone $criteria; + =09 + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + =09 + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + + + /** + * Selects a collection of Subscriptions objects pre-filled with their = User objects. + * + * @return array Array of Subscriptions objects. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectJoinUser(Criteria $c, $con =3D null) + { + $c =3D clone $c; + + // Set the correct dbName if it has not been overridden + if ($c->getDbName() =3D=3D Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + SubscriptionsPeer::addSelectColumns($c); + $startcol =3D (SubscriptionsPeer::NUM_COLUMNS - SubscriptionsPeer::NUM= _LAZY_LOAD_COLUMNS) + 1; + UserPeer::addSelectColumns($c); + + $c->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + $rs =3D BasePeer::doSelect($c, $con); + $results =3D array(); + + while($rs->next()) { + + $omClass =3D SubscriptionsPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj1 =3D new $cls(); + $obj1->hydrate($rs); + + $omClass =3D UserPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj2 =3D new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject =3D true; + foreach($results as $temp_obj1) { + $temp_obj2 =3D $temp_obj1->getUser(); //CHECKME + if ($temp_obj2->getPrimaryKey() =3D=3D=3D $obj2->getPrimaryKey()) { + $newObject =3D false; + // e.g. $author->addBookRelatedByBookId() + $temp_obj2->addSubscriptions($obj1); //CHECKME + break; + } + } + if ($newObject) { + $obj2->initSubscriptionss(); + $obj2->addSubscriptions($obj1); //CHECKME + } + $results[] =3D $obj1; + } + return $results; + } + + + /** + * Selects a collection of Subscriptions objects pre-filled with their = Thread objects. + * + * @return array Array of Subscriptions objects. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectJoinThread(Criteria $c, $con =3D null) + { + $c =3D clone $c; + + // Set the correct dbName if it has not been overridden + if ($c->getDbName() =3D=3D Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + SubscriptionsPeer::addSelectColumns($c); + $startcol =3D (SubscriptionsPeer::NUM_COLUMNS - SubscriptionsPeer::NUM= _LAZY_LOAD_COLUMNS) + 1; + ThreadPeer::addSelectColumns($c); + + $c->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + $rs =3D BasePeer::doSelect($c, $con); + $results =3D array(); + + while($rs->next()) { + + $omClass =3D SubscriptionsPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj1 =3D new $cls(); + $obj1->hydrate($rs); + + $omClass =3D ThreadPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj2 =3D new $cls(); + $obj2->hydrate($rs, $startcol); + + $newObject =3D true; + foreach($results as $temp_obj1) { + $temp_obj2 =3D $temp_obj1->getThread(); //CHECKME + if ($temp_obj2->getPrimaryKey() =3D=3D=3D $obj2->getPrimaryKey()) { + $newObject =3D false; + // e.g. $author->addBookRelatedByBookId() + $temp_obj2->addSubscriptions($obj1); //CHECKME + break; + } + } + if ($newObject) { + $obj2->initSubscriptionss(); + $obj2->addSubscriptions($obj1); //CHECKME + } + $results[] =3D $obj1; + } + return $results; + } + + + /** + * Returns the number of rows matching criteria, joining all related ta= bles + * + * @param Criteria $c + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCountJoinAll(Criteria $criteria, $distinct =3D= false, $con =3D null) + { + $criteria =3D clone $criteria; + + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + =09 + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + + $criteria->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + + + /** + * Selects a collection of Subscriptions objects pre-filled with all re= lated objects. + * + * @return array Array of Subscriptions objects. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectJoinAll(Criteria $c, $con =3D null) + { + $c =3D clone $c; + + // Set the correct dbName if it has not been overridden + if ($c->getDbName() =3D=3D Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + SubscriptionsPeer::addSelectColumns($c); + $startcol2 =3D (SubscriptionsPeer::NUM_COLUMNS - SubscriptionsPeer::NU= M_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 =3D $startcol2 + UserPeer::NUM_COLUMNS; + + ThreadPeer::addSelectColumns($c); + $startcol4 =3D $startcol3 + ThreadPeer::NUM_COLUMNS; + + $c->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + + $c->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + + $rs =3D BasePeer::doSelect($c, $con); + $results =3D array(); + =09 + while($rs->next()) { + + $omClass =3D SubscriptionsPeer::getOMClass(); + + =09 + $cls =3D Propel::import($omClass); + $obj1 =3D new $cls(); + $obj1->hydrate($rs); + + =09 + // Add objects for joined User rows +=09 + $omClass =3D UserPeer::getOMClass(); + +=09 + $cls =3D Propel::import($omClass); + $obj2 =3D new $cls(); + $obj2->hydrate($rs, $startcol2); + =09 + $newObject =3D true; + for ($j=3D0, $resCount=3Dcount($results); $j < $resCount; $j++) { + $temp_obj1 =3D $results[$j]; + $temp_obj2 =3D $temp_obj1->getUser(); // CHECKME + if ($temp_obj2->getPrimaryKey() =3D=3D=3D $obj2->getPrimaryKey()) { + $newObject =3D false; + $temp_obj2->addSubscriptions($obj1); // CHECKME + break; + } + } + =09 + if ($newObject) { + $obj2->initSubscriptionss(); + $obj2->addSubscriptions($obj1); + } + + =09 + // Add objects for joined Thread rows +=09 + $omClass =3D ThreadPeer::getOMClass(); + +=09 + $cls =3D Propel::import($omClass); + $obj3 =3D new $cls(); + $obj3->hydrate($rs, $startcol3); + =09 + $newObject =3D true; + for ($j=3D0, $resCount=3Dcount($results); $j < $resCount; $j++) { + $temp_obj1 =3D $results[$j]; + $temp_obj3 =3D $temp_obj1->getThread(); // CHECKME + if ($temp_obj3->getPrimaryKey() =3D=3D=3D $obj3->getPrimaryKey()) { + $newObject =3D false; + $temp_obj3->addSubscriptions($obj1); // CHECKME + break; + } + } + =09 + if ($newObject) { + $obj3->initSubscriptionss(); + $obj3->addSubscriptions($obj1); + } + + $results[] =3D $obj1; + } + return $results; + } + + + /** + * Returns the number of rows matching criteria, joining the related Us= er table + * + * @param Criteria $c + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCountJoinAllExceptUser(Criteria $criteria, $di= stinct =3D false, $con =3D null) + { + // we're going to modify criteria, so copy it first + $criteria =3D clone $criteria; + =09 + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + =09 + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + + + /** + * Returns the number of rows matching criteria, joining the related Th= read table + * + * @param Criteria $c + * @param boolean $distinct Whether to select only distinct columns (Yo= u can also set DISTINCT modifier in Criteria). + * @param Connection $con + * @return int Number of matching rows. + */ + public static function doCountJoinAllExceptThread(Criteria $criteria, $= distinct =3D false, $con =3D null) + { + // we're going to modify criteria, so copy it first + $criteria =3D clone $criteria; + =09 + // clear out anything that might confuse the ORDER BY clause + $criteria->clearSelectColumns()->clearOrderByColumns(); + if ($distinct || in_array(Criteria::DISTINCT, $criteria->getSelectModi= fiers())) { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT_DISTINCT); + } else { + $criteria->addSelectColumn(SubscriptionsPeer::COUNT); + } + =09 + // just in case we're grouping: add those columns to the select statem= ent + foreach($criteria->getGroupByColumns() as $column) + { + $criteria->addSelectColumn($column); + } + + $criteria->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + + $rs =3D SubscriptionsPeer::doSelectRS($criteria, $con); + if ($rs->next()) { + return $rs->getInt(1); + } else { + // no rows returned; we infer that means 0 matches. + return 0; + } + } + + + /** + * Selects a collection of Subscriptions objects pre-filled with all re= lated objects except User. + * + * @return array Array of Subscriptions objects. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectJoinAllExceptUser(Criteria $c, $con =3D = null) + { + $c =3D clone $c; + + // Set the correct dbName if it has not been overridden + // $c->getDbName() will return the same object if not set to another v= alue + // so =3D=3D check is okay and faster + if ($c->getDbName() =3D=3D Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + SubscriptionsPeer::addSelectColumns($c); + $startcol2 =3D (SubscriptionsPeer::NUM_COLUMNS - SubscriptionsPeer::NU= M_LAZY_LOAD_COLUMNS) + 1; + + ThreadPeer::addSelectColumns($c); + $startcol3 =3D $startcol2 + ThreadPeer::NUM_COLUMNS; + + $c->addJoin(SubscriptionsPeer::FK_THREAD, ThreadPeer::ID); + + + $rs =3D BasePeer::doSelect($c, $con); + $results =3D array(); + =09 + while($rs->next()) { + + $omClass =3D SubscriptionsPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj1 =3D new $cls(); + $obj1->hydrate($rs); =09 + + $omClass =3D ThreadPeer::getOMClass(); + +=09 + $cls =3D Propel::import($omClass); + $obj2 =3D new $cls(); + $obj2->hydrate($rs, $startcol2); + =09 + $newObject =3D true; + for ($j=3D0, $resCount=3Dcount($results); $j < $resCount; $j++) { + $temp_obj1 =3D $results[$j]; + $temp_obj2 =3D $temp_obj1->getThread(); //CHECKME + if ($temp_obj2->getPrimaryKey() =3D=3D=3D $obj2->getPrimaryKey()) { + $newObject =3D false; + $temp_obj2->addSubscriptions($obj1); + break; + } + } + =09 + if ($newObject) { + $obj2->initSubscriptionss(); + $obj2->addSubscriptions($obj1); + } + + $results[] =3D $obj1; + } + return $results; + } + + + /** + * Selects a collection of Subscriptions objects pre-filled with all re= lated objects except Thread. + * + * @return array Array of Subscriptions objects. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doSelectJoinAllExceptThread(Criteria $c, $con =3D= null) + { + $c =3D clone $c; + + // Set the correct dbName if it has not been overridden + // $c->getDbName() will return the same object if not set to another v= alue + // so =3D=3D check is okay and faster + if ($c->getDbName() =3D=3D Propel::getDefaultDB()) { + $c->setDbName(self::DATABASE_NAME); + } + + SubscriptionsPeer::addSelectColumns($c); + $startcol2 =3D (SubscriptionsPeer::NUM_COLUMNS - SubscriptionsPeer::NU= M_LAZY_LOAD_COLUMNS) + 1; + + UserPeer::addSelectColumns($c); + $startcol3 =3D $startcol2 + UserPeer::NUM_COLUMNS; + + $c->addJoin(SubscriptionsPeer::FK_USER, UserPeer::ID); + + + $rs =3D BasePeer::doSelect($c, $con); + $results =3D array(); + =09 + while($rs->next()) { + + $omClass =3D SubscriptionsPeer::getOMClass(); + + $cls =3D Propel::import($omClass); + $obj1 =3D new $cls(); + $obj1->hydrate($rs); =09 + + $omClass =3D UserPeer::getOMClass(); + +=09 + $cls =3D Propel::import($omClass); + $obj2 =3D new $cls(); + $obj2->hydrate($rs, $startcol2); + =09 + $newObject =3D true; + for ($j=3D0, $resCount=3Dcount($results); $j < $resCount; $j++) { + $temp_obj1 =3D $results[$j]; + $temp_obj2 =3D $temp_obj1->getUser(); //CHECKME + if ($temp_obj2->getPrimaryKey() =3D=3D=3D $obj2->getPrimaryKey()) { + $newObject =3D false; + $temp_obj2->addSubscriptions($obj1); + break; + } + } + =09 + if ($newObject) { + $obj2->initSubscriptionss(); + $obj2->addSubscriptions($obj1); + } + + $results[] =3D $obj1; + } + return $results; + } + + /** + * Returns the TableMap related to this peer. + * This method is not needed for general use but a specific application= could have a need. + * @return TableMap + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function getTableMap() + { + return Propel::getDatabaseMap(self::DATABASE_NAME)->getTable(self::TAB= LE_NAME); + } + + /** + * The class that the Peer will make instances of. + * + * This uses a dot-path notation which is tranalted into a path + * relative to a location on the PHP include_path. + * (e.g. path.to.MyClass -> 'path/to/MyClass.php') + * + * @return string path.to.ClassName + */ + public static function getOMClass() + { + return SubscriptionsPeer::CLASS_DEFAULT; + } + + /** + * Method perform an INSERT on the database, given a Subscriptions or C= riteria object. + * + * @param mixed $values Criteria or Subscriptions object containing dat= a that is used to create the INSERT statement. + * @param Connection $con the connection to use + * @return mixed The new primary key. + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doInsert($values, $con =3D null) + { + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(self::DATABASE_NAME); + } + + if ($values instanceof Criteria) { + $criteria =3D clone $values; // rename for clarity + } else { + $criteria =3D $values->buildCriteria(); // build Criteria from Subscr= iptions object + } + + + // Set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + try { + // use transaction because $criteria could contain info + // for more than one table (I guess, conceivably) + $con->begin(); + $pk =3D BasePeer::doInsert($criteria, $con); + $con->commit(); + } catch(PropelException $e) { + $con->rollback(); + throw $e; + } + + return $pk; + } + + /** + * Method perform an UPDATE on the database, given a Subscriptions or C= riteria object. + * + * @param mixed $values Criteria or Subscriptions object containing dat= a that is used to create the UPDATE statement. + * @param Connection $con The connection to use (specify Connection obj= ect to exert more control over transactions). + * @return int The number of affected rows (if supported by underlying = database driver). + * @throws PropelException Any exceptions caught during processing will= be + * rethrown wrapped into a PropelException. + */ + public static function doUpdate($values, $con =3D null) + { + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(self::DATABASE_NAME); + } + + $selectCriteria =3D new Criteria(self::DATABASE_NAME); + + if ($values instanceof Criteria) { + $criteria =3D clone $values; // rename for clarity + + $comparison =3D $criteria->getComparison(SubscriptionsPeer::FK_USER); + $selectCriteria->add(SubscriptionsPeer::FK_USER, $criteria->remove(Su= bscriptionsPeer::FK_USER), $comparison); + + $comparison =3D $criteria->getComparison(SubscriptionsPeer::FK_THREAD= ); + $selectCriteria->add(SubscriptionsPeer::FK_THREAD, $criteria->remove(= SubscriptionsPeer::FK_THREAD), $comparison); + + } else { // $values is Subscriptions object + $criteria =3D $values->buildCriteria(); // gets full criteria + $selectCriteria =3D $values->buildPkeyCriteria(); // gets criteria w/= primary key(s) + } + + // set the correct dbName + $criteria->setDbName(self::DATABASE_NAME); + + return BasePeer::doUpdate($selectCriteria, $criteria, $con); + } + + /** + * Method to DELETE all rows from the subscriptions table. + * + * @return int The number of affected rows (if supported by underlying = database driver). + */ + public static function doDeleteAll($con =3D null) + { + if ($con =3D=3D=3D null) { + $con =3D Propel::getConnection(self::DATABASE_NAME); + } + $affectedRows =3D 0; // initialize var to track total num of affected = rows + try { + // use transaction because $criteria could contain info + // for more than one table or we could emulating ON DELETE CASCADE, e= tc. + $con->begin(); + $affectedRows +=3D BasePeer::doDeleteAll(SubscriptionsPeer::TABLE_NAM= E, $con); + $con->commit(); + return $affectedRows; + } catch (PropelException $e) { + $con->rollback(); + ... [truncated message content] |
From: auboard-devel <aub...@li...> - 2006-07-01 18:50:40
|
Revision: 31 Author: olli Date: 2006-07-01 20:53:13 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Ticket #18 Displaying a thread does now display correct links to further pages Modified Paths: -------------- trunk/auboard/controller/Showthread.php Modified: trunk/auboard/controller/Showthread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Showthread.php 2006-07-01 17:31:15 UTC (rev = 30) +++ trunk/auboard/controller/Showthread.php 2006-07-01 18:53:13 UTC (rev = 31) @@ -44,10 +44,10 @@ =09 $c =3D new Criteria(); $c->add(PostPeer::FK_THREAD, $id); - $threadcount =3D ThreadPeer::doCount($c); + $threadcount =3D PostPeer::doCount($c); $numpages =3D (int) ceil($threadcount / $limit); $smarty->assign('numpages', $numpages); - =09 + if($page < 1) { $page =3D 1; @@ -75,7 +75,7 @@ 'url' =3D> Template::makeurl(array('controller' =3D> 'showthread', 'id' =3D> $id, 'page' =3D> $i))); } - =09 + return $pagelinks; } =09 |
From: auboard-devel <aub...@li...> - 2006-07-01 17:28:43
|
Revision: 30 Author: olli Date: 2006-07-01 19:31:15 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Configuration of pre- and postprocessing filters using the configfile Modified Paths: -------------- trunk/auboard/conf/auboard.conf trunk/auboard/snippets/BBCode.php Modified: trunk/auboard/conf/auboard.conf =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/conf/auboard.conf 2006-07-01 13:38:27 UTC (rev 29) +++ trunk/auboard/conf/auboard.conf 2006-07-01 17:31:15 UTC (rev 30) @@ -12,7 +12,7 @@ postsperpage =3D 25 =20 ; Number of pages before and after the current page to display -displaypages =3D 4 +displaypages =3D 3 =20 [bbcode] ; How to handle mail-addresses @@ -64,6 +64,19 @@ ; to add both www.example.com and example.com to this list internaldomain =3D localhost =20 +; list of files which contain custom bbcode filters +filterfile =3D=20 + +; list of class names which are preprocessor-filters +; i.e. these classes will be executed before bbcode parsing is done +; and thus these filters output can contain bbcode +preprocessors =3D=20 + +; list of class names which are postprocessing filters +; i.e. these classes will be executed after bbcode parsing is done +; these have to return html code instead of bbcode +postprocessors =3D=20 + [pm] ; How many PMs may a user have in his inbox inboxsize =3D 50 Modified: trunk/auboard/snippets/BBCode.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/snippets/BBCode.php 2006-07-01 13:38:27 UTC (rev 29) +++ trunk/auboard/snippets/BBCode.php 2006-07-01 17:31:15 UTC (rev 30) @@ -26,7 +26,63 @@ */ class BBCode extends Snippet { =20 - /** + private function registerFilters(AuboardCodeParser $parser) + { + $config =3D Globals::getInstance()->get('config'); + if(!isset($config['root']['bbcode']['filterfile'])) + { + return; + } + =09 + $files =3D $config['root']['bbcode']['filterfile']; + if(!is_array($files) && $files !=3D null) + { + $files =3D array($files); + } else { + $files =3D array(); + } + foreach($files as $file) + { + if(file_exists($file)) + { + require_once $file; + } else { + // TODO: Do some logging + } + } + =09 + if(isset($config['root']['bbcode']['preprocessors'])) + { + $preprocessors =3D $config['root']['bbcode']['preprocessors']; + if(!is_array($preprocessors)) + { + $preprocessors =3D array($preprocessors); + } + =09 + foreach($preprocessors as $filter) + { + $parser->registerFilter(AuboardCodeParser::PREPROCESSOR, + new $filter()); + } + } + =09 + if(isset($config['root']['bbcode']['postprocessors'])) + { + $postprocessors =3D $config['root']['bbcode']['postprocessors']; + if(!is_array($postprocessors)) + { + $postprocessors =3D array($postprocessors); + } + =09 + foreach($postprocessors as $filter) + { + $parser->registerFilter(AuboardCodeParser::POSTPROCESSOR, + new $filter()); + } + } + } + =20 + /** * Implements a BBCode parser * @param params Text to be parsed * @return Parsed text @@ -52,12 +108,14 @@ } =09 $parser =3D new AuboardCodeParser(); + $this->registerFilters($parser); return $parser->parse($text, $na); } =09 public function checkCode($text, &$error, &$line, &$char) { $parser =3D new AuboardCodeParser(); + //$this->registerFilters($parser); return $parser->checkCode($text, $error, $line, $char); } } |
From: auboard-devel <aub...@li...> - 2006-07-01 13:35:51
|
Revision: 29 Author: olli Date: 2006-07-01 15:38:27 +0200 (Sat, 01 Jul 2006) Log Message: ----------- BBCode parser allows custom filters now, which can be used for custom bbc= ode tags and other operations on the text before and after the parser did= its job e.g. one can add a regexp that replaces [doc] tags, finally Modified Paths: -------------- trunk/auboard/codeparser/AuboardCodeLexer.php trunk/auboard/codeparser/ParserMachine.o.inc.php trunk/auboard/index.php trunk/auboard/snippets/BBCode.php Added Paths: ----------- trunk/auboard/codeparser/AuboardCodeParser.php trunk/auboard/codeparser/Filter.php Modified: trunk/auboard/codeparser/AuboardCodeLexer.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/codeparser/AuboardCodeLexer.php 2006-07-01 12:39:18 UTC= (rev 28) +++ trunk/auboard/codeparser/AuboardCodeLexer.php 2006-07-01 13:38:27 UTC= (rev 29) @@ -17,6 +17,7 @@ along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-130= 1 USA */ + require_once 'Filter.php'; =20 /** * Lexical analyzation of auboard code @@ -28,21 +29,21 @@ * Container for tokens * @access private */ - var $tokens; + private $tokens; =09 /** * Position in token "stream" * @access private=20 */ - var $pos; + private $pos; =09 /** * In certain situations bbcode has to be shut off, e.g. php uses [] * The scanner only checks for [ if $codeoff =3D false * @access private */ - var $codeoff; -=09 + private $codeoff; + =09 /** * Determines the token type for a code token * @param string Content of the token @@ -247,7 +248,8 @@ * @access public * @author olli */ - public function lex($text, $notAllowed =3D array()) { + public function lex($text, $notAllowed =3D array()) + { $this->pos =3D 0; $tokens =3D array (); $ttext =3D ''; @@ -395,7 +397,8 @@ * @access public * @author olli */ - public function hasNextToken() { + public function hasNextToken() + { return $this->pos < count($this->tokens); } =20 @@ -405,7 +408,8 @@ * @access public * @author olli */ - function nextToken() { + public function nextToken() + { $token =3D $this->tokens[$this->pos]; $this->pos++; return $token; Added: trunk/auboard/codeparser/AuboardCodeParser.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/codeparser/AuboardCodeParser.php 2006-07-01 12:39:18 UT= C (rev 28) +++ trunk/auboard/codeparser/AuboardCodeParser.php 2006-07-01 13:38:27 UT= C (rev 29) @@ -0,0 +1,135 @@ +<?php +/* + auboard - web based bulletin board + Copyright (C) 2005, 2006 Oliver Albers, Claudio Walser + + This program 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 2 of the License, or + (at your option) any later version. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-130= 1 USA + */ +=20 + require_once 'Text/Highlighter.php'; + require_once 'Text/Highlighter/Renderer/Html.php'; +=20 + require_once 'Filter.php'; + require_once 'AuboardCodeLexer.php'; + require_once 'astclasses.php'; + require_once 'callbackclass.o.inc.php'; + require_once 'ParserMachine.o.inc.php'; +=20 + class AuboardCodeParser + { + /** + * Constant for preprocessing functions + */ + const PREPROCESSOR =3D 0; +=09 + /** + * Constant for postprocessing functions + */ + const POSTPROCESSOR =3D 1; +=09 + =09 + /** + * Array of functions for preprocessing of the text + */ + private $preProcessing =3D array(); +=09 + /** + * Array of functions for postprocessing of the text + */ + private $postProcessing =3D array(); + =09 + /** + * Add a user-defined function as a pre- or postprocessor filter + * A preprocessor filter is a function that gets to change the text + * before the BBCode is parsed. A postprocessor gets to do its work + * afer BBCode parsing was done. + * @param type Integer defining filter type + * see constants PREPROCESSOR, POSTPROCESSOR + * @param function Filter-object which does the filtering + */ + public function registerFilter($type, AuboardCodeFilter $function) + { + switch($type) + { + case self::PREPROCESSOR: + $this->preProcessing[] =3D $function; + break; + case self::POSTPROCESSOR: + $this->postProcessing[] =3D $function; + break; + } + } +=09 + public function parse($text, $notallowed =3D null) + { + require 'auboardcode.lalr.php'; + =09 + foreach($this->preProcessing as $preprocessor) + { + $text =3D $preprocessor->process($text); + } + =09 + $lex =3D new AuboardCodeLexer(); + if($notallowed =3D=3D null) + { + $lex->lex($text); + } else { + $lex->lex($text, $notallowed); + } + =09 + $callback =3D new callbackclass(); + $parser =3D new ParserMachine($lex, $parsertable, $parserproductions, = false, true); + if ($parser->run($callback)) + { + $text =3D $callback->getAST()->dumpHTML()."\n"; + =09 + foreach($this->postProcessing as $postprocessor) + { + $text =3D $postprocessor->process($text); + } + + return $text; + } else { + return nl2br(htmlentities($text)). + "<br/>\n<span class=3D\"error\" style=3D\"font-size:75%\">".$parser-= >error."</span><br/>"; + } + } +=09 + public function checkCode($text, &$error, &$line, &$char) + { + require 'codeparser/auboardcode.lalr.php'; + =09 + foreach($this->preProcessing as $preprocessor) + { + $text =3D $preprocessor->process($text); + } + =09 + =09 + $lex =3D new AuboardCodeLexer(); + $lex->lex($text); + $callback =3D new callbackclass(); + $parser =3D new ParserMachine($lex, $parsertable, $parserproductions, = false, true); + if ($parser->run($callback)) + { + return true; + } else { + $error =3D $parser->error; + $line =3D $parser->errorline; + $char =3D $parser->errorchar; + return false; + } + } + } +?> \ No newline at end of file Added: trunk/auboard/codeparser/Filter.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/codeparser/Filter.php 2006-07-01 12:39:18 UTC (rev 28) +++ trunk/auboard/codeparser/Filter.php 2006-07-01 13:38:27 UTC (rev 29) @@ -0,0 +1,28 @@ +<?php + /* + auboard - web based bulletin board + Copyright (C) 2005, 2006 Oliver Albers, Claudio Walser + + This program 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 2 of the License, or + (at your option) any later version. + + This program 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. + + You should have received a copy of the GNU General Public License + along with this program; if not, write to the Free Software + Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-130= 1 USA + */ + +/** + * Interface for text processing filters + */ +interface AuboardCodeFilter +{ + public function process($text); +}=20 +?> \ No newline at end of file Modified: trunk/auboard/codeparser/ParserMachine.o.inc.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/codeparser/ParserMachine.o.inc.php 2006-07-01 12:39:18 = UTC (rev 28) +++ trunk/auboard/codeparser/ParserMachine.o.inc.php 2006-07-01 13:38:27 = UTC (rev 29) @@ -88,7 +88,7 @@ { if($this->quiet) { - $this->error =3D "Parsing error: at token $token[value]= of $token[type]"; + $this->error =3D "Parsing error: unexpected $token[valu= e]"; if(isset($token['line'])) $this->errorline =3D $token['= line']; if(isset($token['charno'])) $this->errorchar =3D $token= ['charno']; } else { Modified: trunk/auboard/index.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/index.php 2006-07-01 12:39:18 UTC (rev 28) +++ trunk/auboard/index.php 2006-07-01 13:38:27 UTC (rev 29) @@ -36,8 +36,6 @@ return; } } - =09 - require_once 'codeparser/astclasses.php'; } =20 session_start(); Modified: trunk/auboard/snippets/BBCode.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/snippets/BBCode.php 2006-07-01 12:39:18 UTC (rev 28) +++ trunk/auboard/snippets/BBCode.php 2006-07-01 13:38:27 UTC (rev 29) @@ -1,7 +1,7 @@ <?php /* auboard - web based bulletin board - Copyright (C) 2005 Oliver Albers, Claudio Walser + Copyright (C) 2005, 2006 Oliver Albers, Claudio Walser =20 This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by @@ -18,14 +18,9 @@ Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-130= 1 USA */ =20 - require_once 'Text/Highlighter.php'; - require_once 'Text/Highlighter/Renderer/Html.php'; - require_once 'codeparser/ParserMachine.o.inc.php'; - require_once 'codeparser/callbackclass.o.inc.php'; - require_once 'codeparser/astclasses.php'; - require_once 'codeparser/AuboardCodeLexer.php'; + require_once 'codeparser/AuboardCodeParser.php'; + require_once 'codeparser/Filter.php'; =20 -=20 /** * Implements a BBCode parser */ @@ -40,8 +35,7 @@ */ protected function run($params =3D null) { - require 'codeparser/auboardcode.lalr.php'; - $lex =3D new AuboardCodeLexer(); + $text =3D ''; if(is_array($params)) { if(!isset($params['text'])) @@ -49,40 +43,22 @@ $params['text'] =3D ''; } =09 - $lex->lex($params['text'], $params['notallowed']); - $params =3D $params['text']; + $text =3D $params['text']; + $na =3D $params['notallowed']; + =09 } else { - $lex->lex($params); + $text =3D $params; + $na =3D array(); } - $callback =3D new callbackclass(); - $parser =3D new ParserMachine($lex, $parsertable, $parserproductions, = false, true); - if ($parser->run($callback)) - { - $text =3D $callback->getAST()->dumpHTML()."\n"; - return $text; - } else { - return nl2br(htmlentities($params)). - "<br/>\n<span class=3D\"error\" style=3D\"font-size:75%\">".$parser-= >error."</span><br/>"; - } + =09 + $parser =3D new AuboardCodeParser(); + return $parser->parse($text, $na); } =09 public function checkCode($text, &$error, &$line, &$char) { - require 'codeparser/auboardcode.lalr.php'; - =09 - $lex =3D new AuboardCodeLexer(); - $lex->lex($text); - $callback =3D new callbackclass(); - $parser =3D new ParserMachine($lex, $parsertable, $parserproductions, = false, true); - if ($parser->run($callback)) - { - return true; - } else { - $error =3D $parser->error; - $line =3D $parser->errorline; - $char =3D $parser->errorchar; - return false; - } + $parser =3D new AuboardCodeParser(); + return $parser->checkCode($text, $error, $line, $char); } } ?> |
From: auboard-devel <aub...@li...> - 2006-07-01 12:36:42
|
Revision: 28 Author: olli Date: 2006-07-01 14:39:18 +0200 (Sat, 01 Jul 2006) Log Message: ----------- reverted to previous version Modified Paths: -------------- trunk/auboard/controller/Newpost.php Modified: trunk/auboard/controller/Newpost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Newpost.php 2006-07-01 12:27:49 UTC (rev 27) +++ trunk/auboard/controller/Newpost.php 2006-07-01 12:39:18 UTC (rev 28) @@ -134,7 +134,8 @@ $text =3D Snippet::load('Smileys', $text); } =09 - $smarty->assign('text', $text);=09 + $smarty->assign('text', $text); + $smarty->assign('showpreview', true); } else { $post =3D new Post(); $post->setThread($thread); @@ -167,7 +168,7 @@ $user->save(); =20 Globals::getInstance()->remove('thread'); - =09 + // send notification mails // TODO: cries for a join also // TODO: urgh, slow as hell, could this be done somewhere less painf= ully? |
From: auboard-devel <aub...@li...> - 2006-07-01 12:25:17
|
Revision: 27 Author: olli Date: 2006-07-01 14:27:49 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Ticket #15 Modified Paths: -------------- trunk/auboard/controller/Login.php Modified: trunk/auboard/controller/Login.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Login.php 2006-07-01 11:36:57 UTC (rev 26) +++ trunk/auboard/controller/Login.php 2006-07-01 12:27:49 UTC (rev 27) @@ -48,6 +48,10 @@ =09 return true; } + =09 + // sleep to slow down cracking attempts + sleep(5); + =09 return false; } =20 |
From: auboard-devel <aub...@li...> - 2006-07-01 11:34:23
|
Revision: 26 Author: gary Date: 2006-07-01 13:36:57 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Made a mistake :(=20 Modified Paths: -------------- trunk/auboard/controller/Newpost.php Modified: trunk/auboard/controller/Newpost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Newpost.php 2006-07-01 11:01:11 UTC (rev 25) +++ trunk/auboard/controller/Newpost.php 2006-07-01 11:36:57 UTC (rev 26) @@ -168,31 +168,28 @@ =20 Globals::getInstance()->remove('thread'); =09 - if($email) + // send notification mails + // TODO: cries for a join also + // TODO: urgh, slow as hell, could this be done somewhere less painf= ully? + $c =3D new Criteria(); + $c->add(PostPeer::FK_THREAD, $thread->getId()); + $c->addAnd(PostPeer::EMAILNOTIFY, true); + $c->addGroupByColumn(PostPeer::FK_AUTHOR); + $posts =3D PostPeer::doSelect($c); + $authors =3D array(); + foreach($posts as $newpost) { - // send notification mails - // TODO: cries for a join also - // TODO: urgh, slow as hell, could this be done somewhere less pain= fully? - $c =3D new Criteria(); - $c->add(PostPeer::FK_THREAD, $thread->getId()); - $c->addAnd(PostPeer::EMAILNOTIFY, true); - $c->addGroupByColumn(PostPeer::FK_AUTHOR); - $posts =3D PostPeer::doSelect($c); - $authors =3D array(); - foreach($posts as $newpost) + $user =3D $newpost->getUser(); + if(in_array($user->getId(), $authors)) { - $user =3D $newpost->getUser(); - if(in_array($user->getId(), $authors)) - { - continue; - } - $mail =3D new Mail('mail_newpost', $user); - $mail->assign('threadid', $thread->getId()); - $mail->assign('topic', $thread->getTopic()); - $mail->assign('author', $name); - $mail->send(); - $authors[] =3D $user->getId(); + continue; } + $mail =3D new Mail('mail_newpost', $user); + $mail->assign('threadid', $thread->getId()); + $mail->assign('topic', $thread->getTopic()); + $mail->assign('author', $name); + $mail->send(); + $authors[] =3D $user->getId(); } =20 Snippet::load('Redirect', array('controller' =3D> 'showthread',=20 |
From: auboard-devel <aub...@li...> - 2006-07-01 10:58:34
|
Revision: 25 Author: gary Date: 2006-07-01 13:01:11 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Insert a back-button to forum Modified Paths: -------------- trunk/auboard/admin/templates/AdminShowIndex.php Modified: trunk/auboard/admin/templates/AdminShowIndex.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/admin/templates/AdminShowIndex.php 2006-07-01 11:00:38 = UTC (rev 24) +++ trunk/auboard/admin/templates/AdminShowIndex.php 2006-07-01 11:01:11 = UTC (rev 25) @@ -27,6 +27,7 @@ <td class=3D"navigation"> <a href=3D"index.php?controller=3DAdminGroup= s" class=3D"navigation">Groups</a> =20 | <a href=3D"index.php?controller=3DAdminUsers" class=3D"navigat= ion">Users</a> | <a href=3D"index.php?controller=3DAdminBoards" class=3D"naviga= tion">Boards</a> + | <a href=3D"../" class=3D"navigation">Back to Forum</a> </td> </tr> </table> |
From: auboard-devel <aub...@li...> - 2006-07-01 10:58:02
|
Revision: 24 Author: gary Date: 2006-07-01 13:00:38 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Information mail about new posts is only send when checkbox is checked. Modified Paths: -------------- trunk/auboard/controller/Newpost.php Modified: trunk/auboard/controller/Newpost.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/controller/Newpost.php 2006-07-01 10:59:46 UTC (rev 23) +++ trunk/auboard/controller/Newpost.php 2006-07-01 11:00:38 UTC (rev 24) @@ -134,8 +134,7 @@ $text =3D Snippet::load('Smileys', $text); } =09 - $smarty->assign('text', $text); - $smarty->assign('showpreview', true); + $smarty->assign('text', $text);=09 } else { $post =3D new Post(); $post->setThread($thread); @@ -168,29 +167,32 @@ $user->save(); =20 Globals::getInstance()->remove('thread'); - - // send notification mails - // TODO: cries for a join also - // TODO: urgh, slow as hell, could this be done somewhere less painf= ully? - $c =3D new Criteria(); - $c->add(PostPeer::FK_THREAD, $thread->getId()); - $c->addAnd(PostPeer::EMAILNOTIFY, true); - $c->addGroupByColumn(PostPeer::FK_AUTHOR); - $posts =3D PostPeer::doSelect($c); - $authors =3D array(); - foreach($posts as $newpost) + =09 + if($email) { - $user =3D $newpost->getUser(); - if(in_array($user->getId(), $authors)) + // send notification mails + // TODO: cries for a join also + // TODO: urgh, slow as hell, could this be done somewhere less pain= fully? + $c =3D new Criteria(); + $c->add(PostPeer::FK_THREAD, $thread->getId()); + $c->addAnd(PostPeer::EMAILNOTIFY, true); + $c->addGroupByColumn(PostPeer::FK_AUTHOR); + $posts =3D PostPeer::doSelect($c); + $authors =3D array(); + foreach($posts as $newpost) { - continue; + $user =3D $newpost->getUser(); + if(in_array($user->getId(), $authors)) + { + continue; + } + $mail =3D new Mail('mail_newpost', $user); + $mail->assign('threadid', $thread->getId()); + $mail->assign('topic', $thread->getTopic()); + $mail->assign('author', $name); + $mail->send(); + $authors[] =3D $user->getId(); } - $mail =3D new Mail('mail_newpost', $user); - $mail->assign('threadid', $thread->getId()); - $mail->assign('topic', $thread->getTopic()); - $mail->assign('author', $name); - $mail->send(); - $authors[] =3D $user->getId(); } =20 Snippet::load('Redirect', array('controller' =3D> 'showthread',=20 |
From: auboard-devel <aub...@li...> - 2006-07-01 10:57:14
|
Revision: 23 Author: gary Date: 2006-07-01 12:59:46 +0200 (Sat, 01 Jul 2006) Log Message: ----------- Made some small fixes on HTML and CSS.=20 Now we have two CSS-files.=20 One for general settings, one for PEAR Highlighter. Modified Paths: -------------- trunk/auboard/templates/board.css trunk/auboard/templates/header.php trunk/auboard/templates/index.php trunk/auboard/templates/members.php trunk/auboard/templates/newthread.php trunk/auboard/templates/posts.php trunk/auboard/templates/profile.php trunk/auboard/templates/showpm.php trunk/auboard/templates/threads.php Added Paths: ----------- trunk/auboard/templates/pearhighlighter.css Modified: trunk/auboard/templates/board.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/board.css 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/board.css 2006-07-01 10:59:46 UTC (rev 23) @@ -27,6 +27,11 @@ font-weight: bold; line-height: 12pt;=20 } + +img +{ + border: 0;=09 +} =20 a { font-family: Arial, Helfetica, sans-serif; @@ -143,6 +148,16 @@ background-color: #8F98AB; font-weight: normal; border-top: 1px solid white; +} + +div.breadcrumb { + font-family: Arial, Helfetica, sans-serif; + font-size: 8pt; + line-height: 10pt; + color: #FFFFFF; + background-color: #8F98AB; + font-weight: normal; + border-top: 1px solid white; } /* breadcrumb */ =20 @@ -212,8 +227,24 @@ color: #FFFFFF; font-weight: normal; background-color: #344F77; +} + +td.left +{ + text-align: left;=09 } - + +td.right +{ + text-align: right;=09 +} + +td.author +{ + text-align: left;=09 + valign: top; + width: 15%; +} div.postquote { padding:5px; background-color:#FFFFFF; @@ -252,419 +283,4 @@ background-color: #8F98AB; color: #FFFFFF; font-weight: bold; -} - -/* Style for the Pear TextHighlighter Class */ -div.hl-main { - background-color:#FFFFFF; - border: 1px solid #333333; - width: 100%; - overflow: auto; -} -table.hl-table { - background-color:#FFFFFF; - border: 1px solid #333333; - width: 100%; - overflow: auto; -} - -/* PHP--> */ -span.hl-php-inlinetags { - font-weight:bold; - color:#FF0000; -} -span.hl-php-brackets { - font-weight:normal; - color:#000000; -} -span.hl-php-comment { - font-style:italic; - font-weight:normal; - color:#FF8000; -} -span.hl-php-quotes { - font-weight:normal; - color:#DD0000; -} -span.hl-php-code { - font-weight:normal; - color:#000000; -} -span.hl-php-string { - font-weight:normal; - color:#DD0000; -} -span.hl-php-identifier { - font-weight:normal; - color:#0000BB; -} -span.hl-php-reserved { - font-weight:normal; - color:#007700; -} -span.hl-php-number { - font-weight:normal; - color:#FF0000; -} -span.hl-php-var { - font-weight:normal; - color:#9999CC; -} -span.hl-php-default { - font-weight:normal; - color:#000000; -} -span.hl-php-url { - font-weight:normal; - color:#000000; -} -span.hl-php-inlinedoc { - font-style:italic; - font-weight:normal; - color:#FF8000; -} -span.hl-php-special { - font-weight:normal; - color:#000000; -} -/* <--PHP */ - - -/* CSS--> */ -span.hl-css-comment { - font-weight:normal; - color:#999999; -} -span.hl-css-brackets { - font-weight:normal; - color:#FF0099; -} -span.hl-css-quotes { - font-weight:normal; - color:#0033FF; -} -span.hl-css-reserved { - font-weight:normal; - color:#003399; -} -span.hl-css-var { - font-weight:normal; - color:#0033FF; -} -span.hl-css-identifier { - font-weight:normal; - color:#FF0099; -} -span.hl-css-special { - font-weight:normal; - color:#FF0000; /*wich part is this?*/ -} -span.hl-css-code { - font-weight:normal; - color:#FF0099; -} -span.hl-css-number { - font-weight:normal; - color:#0033FF; -} -span.hl-css-string { - font-weight:normal; - color:#0033FF; -} -/* <--CSS */ - - -/* HTML--> */ -span.hl-html-comment { - font-weight:normal; - color:#999999; -} -span.hl-html-brackets { - font-weight:normal; - color:#339966; -} -span.hl-html-quotes { - font-weight:normal; - color:#0033FF; -} -span.hl-html-code { - font-weight:normal; - color:#000000; -} -span.hl-html-special { - font-weight:normal; - color:#000000; -} -span.hl-html-reserved { - font-weight:normal; - color:#339966; -} -span.hl-html-var { - font-weight:normal; - color:#339966; -} -span.hl-html-string { - font-weight:normal; - color:#0033FF; -} -/* <--HTMl */ - -/* XML--> */ -span.hl-xml-comment { - font-weight:normal; - color:#999999; -} -span.hl-xml-brackets { - font-weight:normal; - color:#0033FF; -} -span.hl-xml-quotes { - font-weight:normal; - color:#339966; -} -span.hl-xml-code { - font-weight:normal; - color:#0033FF; -} -span.hl-xml-special { - font-weight:normal; - color:#ff0000; -} -span.hl-xml-reserved { - font-weight:normal; - color:#0033FF; -} -span.hl-xml-var { - font-weight:normal; - color:#0033FF; -} -span.hl-xml-string { - font-weight:normal; - color:#339966; -} -/* <--XML */ - -/* JAVA SCRIPT --> */ -span.hl-javascript-brackets { - font-weight:bold; - color:#003399; -} -span.hl-javascript-comment { - font-weight:normal; - color:#999999; -} -span.hl-javascript-quotes { - font-weight:normal; - color:#0033FF; -} -span.hl-javascript-code { - font-weight:normal; - color:#000000; -} -span.hl-javascript-string { - font-weight:normal; - color:#0033FF; -} -span.hl-javascript-identifier { - font-weight:normal; - color:#000000; -} -span.hl-javascript-number { - font-weight:normal; - color:#FF0000; -} -span.hl-javascript-url { - font-weight:normal; - color:#000000; -} -span.hl-javascript-inlinedoc { - font-weight:normal; - color:#999999; -} -span.hl-javascript-special { - font-weight:normal; - color:#FF0000; -} -span.hl-javascript-reserved { - font-weight:bold; - color:#000000; -} -span.hl-javascript-builtin { - font-weight:normal; - color:#800056; -} - -/* <-- JAVA SCRIPT */ - -/* SQL--> */ -span.hl-sql-quotes { - font-weight:normal; - color:#0033FF; -} -span.hl-sql-comment { - font-weight:normal; - color:#999999; -} -span.hl-sql-brackets { - font-weight:normal; - color:#990000; -} -span.hl-sql-identifier { -} -span.hl-sql-string { - font-weight:normal; - color:#0033FF; -} -span.hl-sql-code { - font-weight:normal; - color:#990000; -} -span.hl-sql-number { - font-weight:normal; - color:#FF0099; -} -span.hl-sql-reserved { - font-weight:bold; - color:#990000; -} -/* <--SQL */ - -/* MySQL--> */ -span.hl-mysql-quotes { - -} -span.hl-mysql-comment { - -} -span.hl-mysql-brackets { - -} -span.hl-mysql-string { - -} -span.hl-mysql-code { - -} -span.hl-mysql-number { -} -span.hl-mysql-identifier { -} -span.hl-mysql-special { - -} -/* <--MySQL */ - -/* JAVA--> */ -span.hl-java-brackets { - font-weight:normal; - color:#000000; -} -span.hl-java-comment { - font-weight:normal; - color:#3F7E5F; -} -span.hl-java-quotes { - font-weight:normal; - color:#2D00FF; -} -span.hl-java-code { - font-weight:normal; - color:#000000; -} -span.hl-java-string { - font-weight:normal; - color:#2D00FF; -} -span.hl-java-identifier { - font-weight:normal; - color:#000000; - -} -span.hl-java-number { - font-weight:normal; - color:#FF0000; -} -span.hl-java-inlinedoc { - font-weight:normal; - color:#3F7E5F; -} -span.hl-java-url { - font-weight:normal; - color:#2D00FF; -} -span.hl-java-special { - font-weight:normal; - color:#FF0000; -} -span.hl-java-reserved { - font-weight:bold; - color:#800056; -} -span.hl-java-var { - font-weight:normal; - color:#809FBF; -} - -/* <--JAVA */ - -/* -> */ -span.hl-inlinetags { - font-weight:bold; - color:#FF0000; -} -span.hl-brackets { - font-weight:normal; - color:#000000; -} -span.hl-comment { - font-style:italic; - font-weight:normal; - color:#FF8000; -} -span.hl-quotes { - font-weight:normal; - color:#DD0000; -} -span.hl-code { - font-weight:normal; - color:#000000; -} -span.hl-string { - font-weight:normal; - color:#DD0000; -} -span.hl-identifier { - font-weight:normal; - color:#0000BB; -} -span.hl-reserved { - font-weight:normal; - color:#007700; -} -span.hl-number { - font-weight:normal; - color:#FF0000; -} -span.hl-var { - font-weight:normal; - color:#9999CC; -} -span.hl-default { - font-weight:normal; - color:#000000; -} -span.hl-url { - font-weight:normal; - color:#000000; -} -span.hl-inlinedoc { - font-style:italic; - font-weight:normal; - color:#FF8000; -} -span.hl-special { - font-weight:normal; - color:#000000; -} -/* <--PERL */ - +} \ No newline at end of file Modified: trunk/auboard/templates/header.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/header.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/header.php 2006-07-01 10:59:46 UTC (rev 23) @@ -19,28 +19,17 @@ <head> <title>Auboard<?php if(strlen($title) > 0) { ?> <?php echo $title ?><?ph= p } ?></title> <link href=3D"templates/board.css" rel=3D"stylesheet" type=3D"text/css" = /> +<link href=3D"templates/pearhighlighter.css" rel=3D"stylesheet" type=3D"= text/css" /> <script src=3D"templates/js/prototype.js" type=3D"text/javascript"></scr= ipt> <script src=3D"templates/js/scriptaculous.js" type=3D"text/javascript"><= /script> </head> =20 <body<?php if ($userhasnewpm) { ?> onload=3D"javascript:alert('You have = received new private messages.');"<?php } ?>> -<table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"5"> - <tr> - <td><img src=3D"templates/img/logo.gif" width=3D"400" height=3D"119"= alt=3D"auboard" /></td> - <td align=3D"right" valign=3D"top"> <p> -<!-- <a href=3D"http://validator.w3.org/check?uri=3Dreferer"><img - style=3D"border: 0px none white" - src=3D"http://www.w3.org/Icons/valid-xhtml11" - alt=3D"Valid XHTML 1.1" height=3D"31" width=3D"88" /></a> --> - </p></td> - </tr> -</table> -<table width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0"> - <tr> - <td> +<a class=3D"navigation" href=3D"<?php echo Template::makeurl(array('cont= roller'=3D>"index")) ?>"><img src=3D"templates/img/logo.gif" width=3D"400= " height=3D"119" alt=3D"auboard" /></a> + <?php //when variable nonavigation is not set (which currently only is f= or help pages) don't show navigation ?> <?php if (!isset($nonavigation)) { ?> - <table width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0"> + <table width=3D"100%" border=3D"0" cellpadding=3D"0" cellspacing=3D"0" = summary=3D"Navigation"> <tr> <td class=3D"navigation"> <?php //navigation to show when logged in * ?> @@ -65,13 +54,7 @@ </tr> </table> <?php } ?> - </td> - </tr> - <tr> - <td> - <table width=3D"100%" border=3D"0" cellspacing=3D"0" cellpadding=3D"0"= > - <tr> - <td class=3D"breadcrumb"> + <div class=3D"breadcrumb"> <?php if (!isset($nonavigation)) { ?>=09 <?php if(is_array($breadcrumb)) foreach($breadcrumb as $crumb) { ?> @@ -83,19 +66,10 @@ <?php if (next($breadcrumb)) { ?> > <?php } ?> <?php } ?> <?php } ?> =20 - </td> - </tr> - </table> - </td> - </tr> - <tr> - <td> + </div> + <?php include 'templates/'.$template ?> - </td> - </tr> - <tr> - <td align=3D"right" class=3D"copyright">powered by <a href=3D"http://w= ww.auboard.de/" class=3D"breadcrumb">Auboard</a></td> - </tr> -</table> +<br /><br /> +<div class=3D"copyright">powered by <a href=3D"http://www.auboard.de/" c= lass=3D"breadcrumb">Auboard</a></div> </body> </html> Modified: trunk/auboard/templates/index.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/index.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/index.php 2006-07-01 10:59:46 UTC (rev 23) @@ -1,4 +1,4 @@ -<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5" s= ummary=3D"Board"> <tr> <td class=3D"title"> </td> <td class=3D"title">board name</td> @@ -6,22 +6,67 @@ <td class=3D"title">posts</td> <td class=3D"title">last topic</td> </tr> -<?php if(is_array($boards)) foreach($boards as $category) {?> -<tr> - <td colspan=3D"5" class=3D"body"><?php echo $category['name'] ?><?php = if($category['description']) { ?><br/> - <em><?php echo $category['description'] ?></em><?php } ?></td> -</tr> -<?php if(is_array($category['children'])) foreach($category['children'] = as $board) { ?> -<tr> - <td class=3D"body" style=3D"width:25px"><img src=3D"templates/img/fold= er.gif" width=3D"18" height=3D"18" alt=3D"<?php $board.name ?>" /></td> - <td class=3D"content" style=3D"width:300px"><a href=3D"<?php echo Temp= late::makeurl(array('controller'=3D>"showboard", 'id'=3D>$board['id'])) ?= >"><?php echo $board['name'] ?><?php if($board['description']) { ?><br/> - <em><?php $board['description'] ?></em><?php } ?></a></td> - <td class=3D"body" style=3D"width:50px"><?php echo $board['threads'] ?= ></td> - <td class=3D"content" style=3D"width:50px"><?php echo $board['posts'] = ?></td> - <td class=3D"body"><?php if($board['lastthreadauthor']) { ?><?php echo= Template::date($board['lastthreadcreated']) ?>:=20 - <a href=3D"<?php echo Template::makeurl(array('controller'=3D>"showthr= ead", 'id'=3D>$board['lastthreadid'])) ?>"><?php echo htmlentities($board= ['lastthreadtopic']) ?></a> - by <?php echo htmlentities($board['lastthreadauthor']) ?><?php } else = { ?> <?php } ?></td> -</tr> -<?php } ?> -<?php } ?> +<?php=20 +if(is_array($boards))=20 +{ + foreach($boards as $category)=20 + { + ?> + <tr> + <td colspan=3D"5" class=3D"body"> + <?php=20 + echo $category['name'];=20 + if($category['description'])=20 + {=20 + echo '<br/><em>'; + echo $category['description']; + echo '</em>'; + }=20 + ?> + </td> + </tr> + <?php=20 + if(is_array($category['children']))=20 + { + foreach($category['children'] as $board)=20 + {=20 + ?> + <tr> + <td class=3D"body" style=3D"width:25px"><img src=3D"templates/img= /folder.gif" width=3D"18" height=3D"18" alt=3D"<?php echo $board['name'];= ?>" /></td> + <td class=3D"content" style=3D"width:300px"><a href=3D"<?php echo= Template::makeurl(array('controller'=3D>"showboard", 'id'=3D>$board['id'= ])) ?>"> + <?php=20 + echo $board['name']; + ?> + </a> + <?php + if($board['description'])=20 + {=20 + echo '<br/><em>'; + echo $board['description']; + echo '</em>';=20 + }=20 + ?> =09 + </td> + <td class=3D"body" style=3D"width:50px"><?php echo $board['thread= s'] ?></td> + <td class=3D"content" style=3D"width:50px"><?php echo $board['pos= ts'] ?></td> + <td class=3D"body"> + <?php=20 + if($board['lastthreadauthor'])=20 + {=20 + echo Template::date($board['lastthreadcreated']);=20 + ?> + :<a href=3D"<?php echo Template::makeurl(array('controller'=3D>"= showthread", 'id'=3D>$board['lastthreadid'])) ?>"><?php echo htmlentities= ($board['lastthreadtopic']) ?></a> + by <?php echo htmlentities($board['lastthreadauthor']);=20 + }=20 + else=20 + echo ' '; + ?> + </td> + </tr> + <?php + } + } + } +}=20 +?> </table> Modified: trunk/auboard/templates/members.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/members.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/members.php 2006-07-01 10:59:46 UTC (rev 23) @@ -27,7 +27,7 @@ <a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'y')) ?>">y</a> <a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'members= ', 'order' =3D> 'name', 'sort' =3D> $sort, 'letter' =3D> 'z')) ?>">z</a> =20 -<table width=3D"100%" border=3D"0"> +<table width=3D"100%" border=3D"0" summary=3D"User"> <tr> <td><a href=3D"<?php echo Template::makeurl(array('controller' =3D> 'me= mbers', 'order' =3D> 'name', 'sort' =3D> $sortinv, 'letter' =3D> $letter)= ) ?>">username</a> <?php if($order =3D=3D 'name' && $sort =3D=3D 0) { ?> Modified: trunk/auboard/templates/newthread.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/newthread.php 2006-06-28 20:40:05 UTC (rev 22= ) +++ trunk/auboard/templates/newthread.php 2006-07-01 10:59:46 UTC (rev 23= ) @@ -1,6 +1,6 @@ <?php if (!$showpreview) { ?> <form action=3D"<?php echo $formurl ?>" method=3D"post"> -<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5" s= ummary=3D"New Post"> <?php if ($newthread) { ?> <tr> <td class=3D"body">Subject <?php if ($error['NOSUBJECT']) error('nosub= ject', 'Please enter a subject', true) ?></td> @@ -44,7 +44,7 @@ <td class=3D"content"><input type=3D"checkbox" name=3D"smileys" value=3D= "smileys" <?php if ($smileys) { ?>checked=3D"checked"<?php } ?>/>Replace = smileys in text with their graphical representations.</td> </tr> <tr> - <td class=3D"body"><a href=3D"<?php echo Template::makeurl(array('cont= roller'=3D>"help", 'topic'=3D>"Code")) ?>" onclick=3D"javascript:window.o= pen('<?php echo Template::makeurl(array('controller'=3D>"help", 'topic'=3D= >"Code")) ?>', 'Help', 'width=3D600,height=3D400,status=3Dno,toolbar=3Dno= ,menubar=3Dno,location=3Dno,hotkeys=3Dno'); return false;">Auboard Code</= a></td> + <td class=3D"body"><a href=3D"<?php echo Template::makeurl(array('cont= roller'=3D>"help", 'topic'=3D>"Code")) ?>" onclick=3D"javascript:window.o= pen('<?php echo Template::makeurl(array('controller'=3D>"help", 'topic'=3D= >"Code")) ?>', 'Help', 'width=3D600,height=3D400,status=3Dno,toolbar=3Dno= ,menubar=3Dno,location=3Dno,hotkeys=3Dno,scrollbars=3Dyes'); return false= ;">Auboard Code</a></td> <td class=3D"content"><input type=3D"checkbox" name=3D"code" value=3D"= code" <?php if ($code) { ?>checked=3D"checked"<?php } ?>/>Enable Auboard = code in the posting</td> </tr> <tr> Added: trunk/auboard/templates/pearhighlighter.css =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/pearhighlighter.css 2006-06-28 20:40:05 UTC (= rev 22) +++ trunk/auboard/templates/pearhighlighter.css 2006-07-01 10:59:46 UTC (= rev 23) @@ -0,0 +1,414 @@ +/* Style for the Pear TextHighlighter Class */ +div.hl-main { + background-color:#FFFFFF; + border: 1px solid #333333; + width: 100%; + overflow: auto; +} +table.hl-table { + background-color:#FFFFFF; + border: 1px solid #333333; + width: 100%; + overflow: auto; +} + +/* PHP--> */ +span.hl-php-inlinetags { + font-weight:bold; + color:#FF0000; +} +span.hl-php-brackets { + font-weight:normal; + color:#000000; +} +span.hl-php-comment { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-php-quotes { + font-weight:normal; + color:#DD0000; +} +span.hl-php-code { + font-weight:normal; + color:#000000; +} +span.hl-php-string { + font-weight:normal; + color:#DD0000; +} +span.hl-php-identifier { + font-weight:normal; + color:#0000BB; +} +span.hl-php-reserved { + font-weight:normal; + color:#007700; +} +span.hl-php-number { + font-weight:normal; + color:#FF0000; +} +span.hl-php-var { + font-weight:normal; + color:#9999CC; +} +span.hl-php-default { + font-weight:normal; + color:#000000; +} +span.hl-php-url { + font-weight:normal; + color:#000000; +} +span.hl-php-inlinedoc { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-php-special { + font-weight:normal; + color:#000000; +} +/* <--PHP */ + + +/* CSS--> */ +span.hl-css-comment { + font-weight:normal; + color:#999999; +} +span.hl-css-brackets { + font-weight:normal; + color:#FF0099; +} +span.hl-css-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-css-reserved { + font-weight:normal; + color:#003399; +} +span.hl-css-var { + font-weight:normal; + color:#0033FF; +} +span.hl-css-identifier { + font-weight:normal; + color:#FF0099; +} +span.hl-css-special { + font-weight:normal; + color:#FF0000; /*wich part is this?*/ +} +span.hl-css-code { + font-weight:normal; + color:#FF0099; +} +span.hl-css-number { + font-weight:normal; + color:#0033FF; +} +span.hl-css-string { + font-weight:normal; + color:#0033FF; +} +/* <--CSS */ + + +/* HTML--> */ +span.hl-html-comment { + font-weight:normal; + color:#999999; +} +span.hl-html-brackets { + font-weight:normal; + color:#339966; +} +span.hl-html-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-html-code { + font-weight:normal; + color:#000000; +} +span.hl-html-special { + font-weight:normal; + color:#000000; +} +span.hl-html-reserved { + font-weight:normal; + color:#339966; +} +span.hl-html-var { + font-weight:normal; + color:#339966; +} +span.hl-html-string { + font-weight:normal; + color:#0033FF; +} +/* <--HTMl */ + +/* XML--> */ +span.hl-xml-comment { + font-weight:normal; + color:#999999; +} +span.hl-xml-brackets { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-quotes { + font-weight:normal; + color:#339966; +} +span.hl-xml-code { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-special { + font-weight:normal; + color:#ff0000; +} +span.hl-xml-reserved { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-var { + font-weight:normal; + color:#0033FF; +} +span.hl-xml-string { + font-weight:normal; + color:#339966; +} +/* <--XML */ + +/* JAVA SCRIPT --> */ +span.hl-javascript-brackets { + font-weight:bold; + color:#003399; +} +span.hl-javascript-comment { + font-weight:normal; + color:#999999; +} +span.hl-javascript-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-javascript-code { + font-weight:normal; + color:#000000; +} +span.hl-javascript-string { + font-weight:normal; + color:#0033FF; +} +span.hl-javascript-identifier { + font-weight:normal; + color:#000000; +} +span.hl-javascript-number { + font-weight:normal; + color:#FF0000; +} +span.hl-javascript-url { + font-weight:normal; + color:#000000; +} +span.hl-javascript-inlinedoc { + font-weight:normal; + color:#999999; +} +span.hl-javascript-special { + font-weight:normal; + color:#FF0000; +} +span.hl-javascript-reserved { + font-weight:bold; + color:#000000; +} +span.hl-javascript-builtin { + font-weight:normal; + color:#800056; +} + +/* <-- JAVA SCRIPT */ + +/* SQL--> */ +span.hl-sql-quotes { + font-weight:normal; + color:#0033FF; +} +span.hl-sql-comment { + font-weight:normal; + color:#999999; +} +span.hl-sql-brackets { + font-weight:normal; + color:#990000; +} +span.hl-sql-identifier { +} +span.hl-sql-string { + font-weight:normal; + color:#0033FF; +} +span.hl-sql-code { + font-weight:normal; + color:#990000; +} +span.hl-sql-number { + font-weight:normal; + color:#FF0099; +} +span.hl-sql-reserved { + font-weight:bold; + color:#990000; +} +/* <--SQL */ + +/* MySQL--> */ +span.hl-mysql-quotes { + +} +span.hl-mysql-comment { + +} +span.hl-mysql-brackets { + +} +span.hl-mysql-string { + +} +span.hl-mysql-code { + +} +span.hl-mysql-number { +} +span.hl-mysql-identifier { +} +span.hl-mysql-special { + +} +/* <--MySQL */ + +/* JAVA--> */ +span.hl-java-brackets { + font-weight:normal; + color:#000000; +} +span.hl-java-comment { + font-weight:normal; + color:#3F7E5F; +} +span.hl-java-quotes { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-code { + font-weight:normal; + color:#000000; +} +span.hl-java-string { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-identifier { + font-weight:normal; + color:#000000; + +} +span.hl-java-number { + font-weight:normal; + color:#FF0000; +} +span.hl-java-inlinedoc { + font-weight:normal; + color:#3F7E5F; +} +span.hl-java-url { + font-weight:normal; + color:#2D00FF; +} +span.hl-java-special { + font-weight:normal; + color:#FF0000; +} +span.hl-java-reserved { + font-weight:bold; + color:#800056; +} +span.hl-java-var { + font-weight:normal; + color:#809FBF; +} + +/* <--JAVA */ + +/* -> */ +span.hl-inlinetags { + font-weight:bold; + color:#FF0000; +} +span.hl-brackets { + font-weight:normal; + color:#000000; +} +span.hl-comment { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-quotes { + font-weight:normal; + color:#DD0000; +} +span.hl-code { + font-weight:normal; + color:#000000; +} +span.hl-string { + font-weight:normal; + color:#DD0000; +} +span.hl-identifier { + font-weight:normal; + color:#0000BB; +} +span.hl-reserved { + font-weight:normal; + color:#007700; +} +span.hl-number { + font-weight:normal; + color:#FF0000; +} +span.hl-var { + font-weight:normal; + color:#9999CC; +} +span.hl-default { + font-weight:normal; + color:#000000; +} +span.hl-url { + font-weight:normal; + color:#000000; +} +span.hl-inlinedoc { + font-style:italic; + font-weight:normal; + color:#FF8000; +} +span.hl-special { + font-weight:normal; + color:#000000; +} +/* <--PERL */ + Modified: trunk/auboard/templates/posts.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/posts.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/posts.php 2006-07-01 10:59:46 UTC (rev 23) @@ -1,35 +1,30 @@ -<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5" s= ummary=3D"Posts"> <?php $i=3D0; foreach($posts as $post) { ?> <tr class=3D"<?php if ($i % 2 =3D=3D 0) { ?>content<?php } else { ?>body= <?php } ?>"> - <td valign=3D"top" align=3D"left"> + <td class=3D"author"> <?php echo $post['postnum'] ?><br/> <?php echo Template::date($post['date']) ?><br/> <b><?php echo htmlentities($post['author']) ?></b><br/></td> - <td valign=3D"top" align=3D"left"> + <td valign=3D"top" align=3D"left" colspan=3D"2"> <?php echo $post['text'] ?><br/> -- <br/> <?php echo $post['signature'] ?></td> </tr> <tr class=3D"<?php if ($i % 2 =3D=3D 0) { ?>content<?php } else { ?>body= <?php } ?>"> <td> </td> - <td> - <table style=3D"font-size: 80%" border=3D"0" width=3D"100%"> - <tr> - <td align=3D"left"> + <td class=3D"left"> <?php if (isset($post['authorid'])) { ?><a href=3D"<?php echo Templ= ate::makeurl(array('controller'=3D>"userprofile", 'id'=3D>$post['authorid= '])) ?>">profile</a><?php } ?> <?php if ($post['pm']) { ?> | <a href=3D"<?php echo Template::makeu= rl(array('controller'=3D>"newpm", 'id'=3D>$post['authorid'])) ?>">pm</a><= ?php } ?> </td> - <td align=3D"right"> + <td class=3D"right"> <?php if ($showform) { ?><a href=3D"<?php echo Template::makeurl(ar= ray('controller'=3D>"showthread", 'id'=3D>$threadid, 'post'=3D>$post['id'= ])) ?>#form">quote</a> | <?php } ?> <?php if ($post['edit']) { ?><a href=3D"<?php echo Template::makeur= l(array('controller'=3D>"editpost", 'id'=3D>$post['id'])) ?>">edit</a> | = <?php } ?> <?php if ($post['delete']) { ?><a href=3D"<?php echo Template::make= url(array('controller'=3D>"deletepost", 'id'=3D>$post['id'])) ?>">delete<= /a><?php } ?> </td> - </tr></table> - </td> </tr> <?php $i++;} ?> <tr> - <td colspan=3D"2" align=3D"center"> + <td colspan=3D"3" align=3D"center"> <?php if ($deletethread) { ?><a href=3D"<?php echo Template::makeurl(= array('controller'=3D>"deletethread", 'id'=3D>$deletethread)) ?>">delete = thread</a> | <?php } ?> <?php if ($movethread) { ?><a href=3D"<?php echo Template::makeurl(ar= ray('controller'=3D>"movethread", 'id'=3D>$movethread)) ?>">move thread</= a> | <?php } ?> <?php if ($closethread) { ?><a href=3D"<?php echo Template::makeurl(a= rray('controller'=3D>"closethread", 'id'=3D>$closethread)) ?>"><?php if (= $thread['closed']) { ?>open<?php } else { ?>close<?php } ?> thread</a> | = <?php } ?> Modified: trunk/auboard/templates/profile.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/profile.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/profile.php 2006-07-01 10:59:46 UTC (rev 23) @@ -1,5 +1,5 @@ <?php if ($edit) { ?><form action=3D"<?php echo Template::makeurl(array(= 'controller'=3D>"userprofile")) ?>" method=3D"post"> -<table border=3D"0" width=3D"80%"> +<table border=3D"0" width=3D"80%" summary=3D"User Profile"> <tr> <td colspan=3D"2">To change your password enter your current password a= nd a new one. If you leave the password fields empty your password will n= ot be changed. <?php if ($error['PASSCHANGED']) error('passchanged', 'Your password has= been changed') ?> @@ -17,10 +17,7 @@ <td>repeat new password<?php if ($error['PASSNOTMATCH']) error('passnot= match', 'The entered passwords do not match', true) ?></td> <td><input type=3D"password" name=3D"pass2" size=3D"20" /></td> </tr> -</table> -<p></p> <?php } ?> -<table border=3D"0" width=3D"80%"> <?php if ($edit) { ?> <tr> <td colspan=3D"2"> @@ -61,7 +58,7 @@ <tr class=3D"body"> <td>location</td> <td> - <?php if ($edit) { ?><table border=3D"0"><tr><td>city</td><td><input ty= pe=3D"text" name=3D"city" size=3D"20" maxlength=3D"255" value=3D"<?php ec= ho htmlentities($city) ?>" /></td></tr><tr><td>country</td><td><input typ= e=3D"text" name=3D"country" size=3D"20" maxlength=3D"255" value=3D"<?php = echo htmlentities($country) ?>" /></td></tr></table> + <?php if ($edit) { ?><table border=3D"0" summary=3D"City, Country"><tr>= <td>city</td><td><input type=3D"text" name=3D"city" size=3D"20" maxlength= =3D"255" value=3D"<?php echo htmlentities($city) ?>" /></td></tr><tr><td>= country</td><td><input type=3D"text" name=3D"country" size=3D"20" maxleng= th=3D"255" value=3D"<?php echo htmlentities($country) ?>" /></td></tr></t= able> <?php } else { ?><?php echo htmlentities($city) ?><?php if ($country) {= ?>, <?php echo htmlentities($country) ?><?php } ?> <?php } ?></td> </tr> Modified: trunk/auboard/templates/showpm.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/showpm.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/showpm.php 2006-07-01 10:59:46 UTC (rev 23) @@ -1,56 +1,113 @@ -<?php if ($pmmode !=3D 1) { ?> -<?php // no certain pm is displayed but inbox and outbox ?> - -<h1>inbox</h1> -<?php echo $inboxsize ?> messages -<?php if ($inboxsize !=3D 0) { ?> -<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"show= pm")) ?>" method=3D"post"> -<table border=3D"0" width=3D"100%"> -<tr> - <td> </td> - <td>subject</td> - <td>from</td> - <td>date</td> -</tr> -<?php $i=3D0; foreach($inbox as $pm) { ?> -<tr <?php if ($i % 2 =3D=3D 0) { ?>class=3D"body"<?php } else { ?>class=3D= "content"<?php } ?>> - <td width=3D"2%"><input type=3D"checkbox" name=3D"delete<?php echo htm= lentities($pm['id']) ?>" value=3D"1"/></td> - <td width=3D"65%"><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"showpm", 'id'=3D>$pm['id'])) ?>"> - <?php if (!$pm['read']) { ?><strong><?php } ?><?php echo htmlentities(= $pm['subject']) ?><?php if (!$pm['read']) { ?></strong><?php } ?></a></td= > - <td width=3D"18%"><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"newpm", 'id'=3D>$pm['id'])) ?>"><?php echo htmlentities($pm['u= ser']) ?></a></td> - <td width=3D"15%"><?php echo Template::date($pm['date']) ?></td> -</tr> -<?php $i++;} ?> -</table> -<input type=3D"submit" name=3D"deletepms" value=3D"Delete selected" /> -</form> -<?php } ?> - -<h1>outbox</h1> -<?php echo $outboxsize ?> messages -<?php if ($outboxsize !=3D 0) { ?> -<form action=3D"<?php echo Template::makeurl(array('controller'=3D>"show= pm")) ?>" method=3D"post"> -<table border=3D"0" width=3D"100%"> -<tr> - <td> </td> - <td>subject</td> - <td>to</td> - <td>date</td> -</tr> -<?php $i=3D0; foreach($outbox as $pm) { ?> -<tr <?php if ($i % 2 =3D=3D 0) { ?>class=3D"body"<?php } else { ?>class=3D= "content"<?php } ?>> - <td width=3D"2%"><input type=3D"checkbox" name=3D"delete<?php echo htm= lentities($pm['id']) ?>" value=3D"1"/></td> - <td width=3D"65%"><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"showpm", 'id'=3D>$pm['id'])) ?>"> - <?php if (!$pm['read']) { ?><strong><?php } ?><?php echo htmlentities(= $pm['subject']) ?><?php if (!$pm['read']) { ?></strong><?php } ?></a></td= > - <td width=3D"18%"><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"newpm", 'id'=3D>$pm['id'])) ?>"><?php echo htmlentities($pm['u= ser']) ?></a></td> - <td width=3D"15%"><?php echo Template::date($pm['date']) ?></td> -</tr> -<?php $i++; } // foreach ?> -</table> -<?php } // if $outboxsize !=3D 0?> -<input type=3D"submit" name=3D"deletepms" value=3D"Delete selected" /> -</form> -<?php } else { ?> +<?php=20 +if ($pmmode !=3D 1)=20 +{=20 + // no certain pm is displayed but inbox and outbox=20 + ?> + <h1>inbox</h1> + <?php=20 + echo $inboxsize ?> messages + <?php=20 + if ($inboxsize !=3D 0)=20 + {=20 + ?> + <form action=3D"<?php echo Template::makeurl(array('controller'=3D>"sh= owpm")) ?>" method=3D"post"> + <table border=3D"0" width=3D"100%"> + <tr> + <td> </td> + <td>subject</td> + <td>from</td> + <td>date</td> + </tr> + <?php=20 + $i=3D0;=20 + foreach($inbox as $pm)=20 + {=20 + ?> + <tr <?php if ($i % 2 =3D=3D 0) { ?>class=3D"body"<?php } else { ?>cla= ss=3D"content"<?php } ?>> + <td width=3D"2%"><input type=3D"checkbox" name=3D"delete<?php echo = htmlentities($pm['id']) ?>" value=3D"1"/></td> + <td width=3D"65%"><a href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"showpm", 'id'=3D>$pm['id'])) ?>"> + <?php=20 + if (!$pm['read'])=20 + {=20 + ?> + <strong> + <?php=20 + }=20 + echo htmlentities($pm['subject']); + if (!$pm['read'])=20 + {=20 + ?> + </strong> + <?php=20 + }=20 + ?> + </a></td> + <td width=3D"18%"><a href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"newpm", 'id'=3D>$pm['id'])) ?>"><?php echo htmlentities($pm= ['user']) ?></a></td> + <td width=3D"15%"><?php echo Template::date($pm['date']) ?></td> + </tr> + <?php=20 + $i++; + }=20 + ?> + </table> + <input type=3D"submit" name=3D"deletepms" value=3D"Delete selected" /> + </form> + <?php=20 + }=20 + ?> + <h1>outbox</h1> + <?php=20 + echo $outboxsize ?> messages + <?php=20 + if ($outboxsize !=3D 0)=20 + {=20 + ?> + <form action=3D"<?php echo Template::makeurl(array('controller'=3D>"sh= owpm")) ?>" method=3D"post"> + <table border=3D"0" width=3D"100%"> + <tr> + <td> </td> + <td>subject</td> + <td>to</td> + <td>date</td> + </tr> + <?php=20 + $i=3D0;=20 + foreach($outbox as $pm)=20 + {=20 + ?> + <tr <?php if ($i % 2 =3D=3D 0) { ?>class=3D"body"<?php } else { ?>cla= ss=3D"content"<?php } ?>> + <td width=3D"2%"><input type=3D"checkbox" name=3D"delete<?php echo = htmlentities($pm['id']) ?>" value=3D"1"/></td> + <td width=3D"65%"><a href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"showpm", 'id'=3D>$pm['id'])) ?>"> + <?php=20 + if (!$pm['read'])=20 + {=20 + ?> + <strong> + <?php=20 + }=20 + echo htmlentities($pm['subject']); + if (!$pm['read'])=20 + {=20 + ?> + </strong> + <?php=20 + }=20 + ?> + </a></td> + <td width=3D"18%"><a href=3D"<?php echo Template::makeurl(array('co= ntroller'=3D>"newpm", 'id'=3D>$pm['id'])) ?>"><?php echo htmlentities($pm= ['user']) ?></a></td> + <td width=3D"15%"><?php echo Template::date($pm['date']) ?></td> + </tr> + <?php=20 + $i++;=20 + } // foreach=20 + ?> + </table> + <input type=3D"submit" name=3D"deletepms" value=3D"Delete selected" /> + </form> + <?php=20 + }=20 +} +else { ?> <?php // display a single pm * ?> <table border=3D"0" width=3D"100%"> <tr> Modified: trunk/auboard/templates/threads.php =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D= =3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D=3D --- trunk/auboard/templates/threads.php 2006-06-28 20:40:05 UTC (rev 22) +++ trunk/auboard/templates/threads.php 2006-07-01 10:59:46 UTC (rev 23) @@ -1,6 +1,6 @@ <?php if ($newthread) { ?><a href=3D"<?php echo Template::makeurl(array('contr= oller'=3D>"newthread", 'board'=3D>$newthread)) ?>">create new thread</a><= ?php } ?> -<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5"> +<table width=3D"100%" border=3D"0" cellspacing=3D"1" cellpadding=3D"5" s= ummary=3D"Threads"> <tr> <td class=3D"title">subject</td> <td class=3D"title">replies</td> |