commit 46e478ba617cae00d8733715b7904eb58372d28d
parent d1a1db792a3d2aa0b690f8340e4754adf695a025
Author: dankert <devnull@localhost>
Date: Thu, 21 Mar 2013 20:42:29 +0100
Überflüssiges Scheiß-Merge. F*CK.
Diffstat:
10 files changed, 244 insertions(+), 570 deletions(-)
diff --git a/action/LoginAction.class.php b/action/LoginAction.class.php
@@ -870,6 +870,7 @@ class LoginAction extends Action
$loginOk = false;
$mustChangePassword = false;
$groups = null;
+ $lastModule = null;
// Jedes Authentifizierungsmodul durchlaufen, bis ein Login erfolgreich ist.
foreach( $modules as $module)
@@ -885,6 +886,7 @@ class LoginAction extends Action
if ( $loginOk )
{
Logger::info('Login successful for '.$loginName);
+ $lastModule = $module;
if ( isset($auth->groups ) )
$groups = $auth->groups;
@@ -908,6 +910,7 @@ class LoginAction extends Action
{
// Benutzer über den Benutzernamen laden.
$user = User::loadWithName($loginName);
+ $user->loginModuleName = $lastModule;
Session::setUser($user);
}
catch( ObjectNotFoundException $ex )
diff --git a/action/ProfileAction.class.php b/action/ProfileAction.class.php
@@ -131,6 +131,8 @@ class ProfileAction extends Action
*/
function pwView()
{
+ $user = $this->getUserFromSession();
+ $this->setTemplateVar('ok', strtolower($user->loginModuleName) == 'internal');
}
diff --git a/action/TemplateAction.class.php b/action/TemplateAction.class.php
@@ -474,6 +474,50 @@ class TemplateAction extends Action
/**
+ * Anzeigen der Maske zum Veröffentlichen.
+ */
+ public function pubView()
+ {
+
+ }
+
+
+
+ /**
+ * Veröffentlichen.
+ */
+ public function pubPost()
+ {
+ $objectIds = $this->template->getDependentObjectIds();
+
+ foreach( $objectIds as $objectid )
+ {
+ $page = new Page( $objectid );
+
+ if ( !$page->hasRight( ACL_PUBLISH ) )
+ continue;
+
+ $page->public = true;
+ $page->publish();
+ $page->publish->close();
+
+ // foreach( $this->page->publish->publishedObjects as $o )
+ // {
+ // $this->addNotice($o['type'],$o['full_filename'],'PUBLISHED','ok');
+ // }
+
+ $this->addNotice( 'page',
+ $page->fullFilename,
+ 'PUBLISHED'.($page->publish->ok?'':'_ERROR'),
+ $page->publish->ok,
+ array(),
+ $page->publish->log );
+ }
+ }
+
+
+
+ /**
* Stellt fest, welche Menüeinträge ggf. ausgeblendet werden.
*
* @see actionClasses/Action#checkMenu($name)
diff --git a/auth/HttpAuth.class.php b/auth/HttpAuth.class.php
@@ -2,14 +2,18 @@
/**
* HTTP-Authentifzierung.
+ *
* Das vom Benutzer eingegebene Kennwort wird gegen eine HTTP-Adresse
* geprüft, bei der HTTP-Auth aktiviert ist.
*
- * @author dankert
+ * @author Jan Dankert
*/
class HttpAuth implements Auth
{
+ /**
+ * Dieses Loginmodul kann keinen Namen feststellen.
+ */
public function username()
{
return null;
@@ -19,10 +23,7 @@ class HttpAuth implements Auth
/**
* Ueberpruefen des Kennwortes.
*
- * Das Kennwort wird ueber Datenbank oder ueber LDAP-Verzeichnisdienst geprueft.
- * Wenn
- * - ein LDAP-Dn ("distinghished-name") vorhanden ist, dann Pruefung ueber den LDAP-Server,
- * - sonst ueber die Benutzertabelle in der Datenbank.
+ * Das Kennwort wird gegen einen HTTP-Server geprüft.
*/
public function login( $user, $password )
{
@@ -35,223 +36,6 @@ class HttpAuth implements Auth
$ok = $http->request();
return $ok;
-
-
- $db = db_connection();
- $this->mustChangePassword = false;
-
- // Lesen des Benutzers aus der DB-Tabelle
- $sql = new Sql( <<<SQL
-SELECT * FROM {t_user}
- WHERE name={name}
-SQL
- );
- $sql->setString('name',$this->name);
-
- $row_user = $db->getRow( $sql );
-
- $check = false;
- $authType = $conf['security']['auth']['type']; // Entweder 'ldap', 'authdb', 'http', oder 'database'
-
- if ( !empty($row_user) )
- {
- // Benutzername ist bereits in der Datenbank.
- $this->userid = $row_user['id'];
- $this->ldap_dn = $row_user['ldap_dn'];
- $check = true;
- $autoAdd = false; // Darf nicht hinzugef�gt werden, da schon vorhanden.
- }
- elseif( $authType == 'ldap' && $conf['ldap']['search']['add'] )
- {
- // Benutzer noch nicht in der Datenbank vorhanden.
- // Falls ein LDAP-Account gefunden wird, wird dieser �bernommen.
- $check = true;
- $autoAdd = true;
- }
- elseif( $authType == 'authdb' && $conf['security']['authdb']['add'] )
- {
- $check = true;
- $autoAdd = true;
- }
- elseif( $authType == 'http' && $conf['security']['http']['add'] )
- {
- $check = true;
- $autoAdd = true;
- }
-
- if ( $check )
- {
- // Falls benutzerspezifischer LDAP-dn vorhanden wird Benutzer per LDAP authentifiziert
- if ( $conf['security']['auth']['userdn'] && !empty($this->ldap_dn ) )
- {
- Logger::debug( 'checking login via ldap' );
- $ldap = new Ldap();
- $ldap->connect();
-
- // Benutzer ist bereits in Datenbank
- // LDAP-Login mit dem bereits vorhandenen DN versuchen
- $ok = $ldap->bind( $this->ldap_dn, $password );
-
- // Verbindung zum LDAP-Server brav beenden
- $ldap->close();
-
- return $ok;
- }
- elseif( $authType == 'ldap' )
- {
- Logger::debug( 'checking login via ldap' );
- $ldap = new Ldap();
- $ldap->connect();
-
- if ( empty($conf['ldap']['dn']) )
- {
- // Der Benutzername wird im LDAP-Verzeichnis gesucht.
- // Falls gefunden, wird der DN (=der eindeutige Schl�ssel im Verzeichnis) ermittelt.
- $dn = $ldap->searchUser( $this->name );
-
- if ( empty($dn) )
- {
- Logger::debug( 'User not found in LDAP directory' );
- return false; // Kein LDAP-Account gefunden.
- }
-
- Logger::debug( 'User found: '.$dn );
- }
- else
- {
- $dn = str_replace( '{user}',$this->name,$conf['ldap']['dn'] );
- }
-
- // LDAP-Login versuchen
- $ok = $ldap->bind( $dn, $password );
-
- Logger::debug( 'LDAP bind: '.($ok?'success':'failed') );
-
- if ( $ok && $conf['security']['authorize']['type'] == 'ldap' )
- {
- $sucheAttribut = $conf['ldap']['authorize']['group_name'];
- $sucheFilter = str_replace('{dn}',$dn,$conf['ldap']['authorize']['group_filter']);
-
- $ldap_groups = $ldap->searchAttribute( $sucheFilter, $sucheAttribut );
- $sql_ldap_groups = "'".implode("','",$ldap_groups)."'";
-
- $sql = new Sql( <<<SQL
-SELECT id,name FROM {t_group}
- WHERE name IN($sql_ldap_groups)
- ORDER BY name ASC
-SQL
- );
- $oldGroups = $this->getGroupIds();
- $this->groups = $db->getAssoc( $sql );
-
- foreach( $this->groups as $groupid=>$groupname)
- {
- if ( ! in_array($groupid,$oldGroups))
- $this->addGroup($groupid);
- }
- foreach( $oldGroups as $groupid)
- {
- if ( !isset($this->groups[$groupid]) )
- $this->delGroup($groupid);
- }
-
-
- // Pr�fen, ob Gruppen fehlen. Diese dann ggf. in der OpenRat-Datenbank hinzuf�gen.
- if ( $conf['ldap']['authorize']['auto_add'] )
- {
- foreach( $ldap_groups as $group )
- {
- if ( !in_array($group,$this->groups) ) // Gruppe schon da?
- {
- $g = new Group();
- $g->name = $group;
- $g->add(); // Gruppe hinzuf�gen
-
- $this->groups[$g->groupid] = $group;
- }
- }
- }
-// Html::debug($this->groups,'Gruppen/Ids des Benutzers');
- }
-
- // Verbindung zum LDAP-Server brav beenden
- $ldap->close();
-
- if ( $ok && $autoAdd )
- {
- // Falls die Authentifizierung geklappt hat, wird der
- // LDAP-Account in die Datenbank �bernommen.
- $this->ldap_dn = $dn;
- $this->fullname = $this->name;
- $this->add();
- $this->save();
- }
-
- return $ok;
- }
- elseif( $authType == 'database' )
- {
- // Pruefen ob Kennwort mit Datenbank uebereinstimmt
- if ( $row_user['password'] == $password )
- {
- // Kennwort stimmt mit Datenbank �berein, aber nur im Klartext.
- // Das Kennwort muss ge�ndert werden
- $this->mustChangePassword = true;
-
- // Login nicht erfolgreich
- return false;
- }
- elseif ( $row_user['password'] == md5( $this->saltPassword($password) ) )
- {
- // Die Kennwort-Pr�fsumme stimmt mit dem aus der Datenbank �berein.
- // Juchuu, Login ist erfolgreich.
- return true;
- }
- else
- {
- // Kennwort stimmt garnicht �berein.
- return false;
- }
- }
- elseif( $authType == 'authdb' )
- {
- $authdb = new DB( $conf['security']['authdb'] );
- $sql = new Sql( $conf['security']['authdb']['sql'] );
- $sql->setString('username',$this->name);
- $sql->setString('password',$password);
- $row = $authdb->getRow( $sql );
- $ok = !empty($row);
-
- if ( $ok && $autoAdd )
- {
- // Falls die Authentifizierung geklappt hat, wird der
- // Benutzername in der eigenen Datenbank eingetragen.
- $this->fullname = $this->name;
- $this->add();
- $this->save();
- }
- // noch nicht implementiert: $authdb->close();
-
- return $ok;
- }
- elseif( $authType == 'http' )
- {
- $http = new Http( $conf['security']['http']['url'] );
- $http->method = 'HEAD';
- $http->setBasicAuthentication( $this->name, $password );
-
- $ok = $http->request();
-
- return $ok;
- }
- else
- {
- die( 'unknown authentication-type in configuration: '.$authType );
- }
- }
-
- // Benutzername nicht in Datenbank.
- return false;
}
}
diff --git a/model/Template.class.php b/model/Template.class.php
@@ -364,7 +364,8 @@ SQL
/**
- * Ermitteln alles Objekte (=Seiten), welche auf diesem Template basieren
+ * Ermitteln alles Objekte (=Seiten), welche auf diesem Template basieren.
+ *
* @return Array Liste von Objekt-IDs
*/
function getDependentObjectIds()
diff --git a/model/User.class.php b/model/User.class.php
@@ -44,6 +44,7 @@ class User
var $mustChangePassword = false;
var $groups = null;
+ var $loginModuleName = null;
// Konstruktor
function User( $userid='' )
@@ -470,7 +471,7 @@ SQL
* - Alle Gruppenzugehoerigkeiten dieses Benutzers l?schen<br>
* - Benutzer loeschen<br>
*/
- function delete()
+ public function delete()
{
$db = db_connection();
@@ -539,230 +540,18 @@ SQL
/**
* Ueberpruefen des Kennwortes.
*
- * Das Kennwort wird ueber Datenbank oder ueber LDAP-Verzeichnisdienst geprueft.
- * Wenn
- * - ein LDAP-Dn ("distinghished-name") vorhanden ist, dann Pruefung ueber den LDAP-Server,
- * - sonst ueber die Benutzertabelle in der Datenbank.
+ * Es wird festgestellt, ob das Kennwort dem des Benutzers entspricht.
+ * Es wird dabei nur gegen die interne Datenbank geprüft. Weitere
+ * Loginmodule werden nicht aufgerufen!
*/
function checkPassword( $password )
{
global $conf;
-
- $db = db_connection();
- $this->mustChangePassword = false;
- // Lesen des Benutzers aus der DB-Tabelle
- $sql = new Sql( <<<SQL
-SELECT * FROM {t_user}
- WHERE name={name}
-SQL
- );
- $sql->setString('name',$this->name);
-
- $row_user = $db->getRow( $sql );
-
- $check = false;
- $authType = $conf['security']['auth']['type']; // Entweder 'ldap', 'authdb', 'http', oder 'database'
+ $auth = new InternalAuth();
+ $ok = $auth->login($this->name, $password);
- if ( !empty($row_user) )
- {
- // Benutzername ist bereits in der Datenbank.
- $this->userid = $row_user['id'];
- $this->ldap_dn = $row_user['ldap_dn'];
- $check = true;
- $autoAdd = false; // Darf nicht hinzugef�gt werden, da schon vorhanden.
- }
- elseif( $authType == 'ldap' && $conf['ldap']['search']['add'] )
- {
- // Benutzer noch nicht in der Datenbank vorhanden.
- // Falls ein LDAP-Account gefunden wird, wird dieser �bernommen.
- $check = true;
- $autoAdd = true;
- }
- elseif( $authType == 'authdb' && $conf['security']['authdb']['add'] )
- {
- $check = true;
- $autoAdd = true;
- }
- elseif( $authType == 'http' && $conf['security']['http']['add'] )
- {
- $check = true;
- $autoAdd = true;
- }
-
- if ( $check )
- {
- // Falls benutzerspezifischer LDAP-dn vorhanden wird Benutzer per LDAP authentifiziert
- if ( $conf['security']['auth']['userdn'] && !empty($this->ldap_dn ) )
- {
- Logger::debug( 'checking login via ldap' );
- $ldap = new Ldap();
- $ldap->connect();
-
- // Benutzer ist bereits in Datenbank
- // LDAP-Login mit dem bereits vorhandenen DN versuchen
- $ok = $ldap->bind( $this->ldap_dn, $password );
-
- // Verbindung zum LDAP-Server brav beenden
- $ldap->close();
-
- return $ok;
- }
- elseif( $authType == 'ldap' )
- {
- Logger::debug( 'checking login via ldap' );
- $ldap = new Ldap();
- $ldap->connect();
-
- if ( empty($conf['ldap']['dn']) )
- {
- // Der Benutzername wird im LDAP-Verzeichnis gesucht.
- // Falls gefunden, wird der DN (=der eindeutige Schl�ssel im Verzeichnis) ermittelt.
- $dn = $ldap->searchUser( $this->name );
-
- if ( empty($dn) )
- {
- Logger::debug( 'User not found in LDAP directory' );
- return false; // Kein LDAP-Account gefunden.
- }
-
- Logger::debug( 'User found: '.$dn );
- }
- else
- {
- $dn = str_replace( '{user}',$this->name,$conf['ldap']['dn'] );
- }
-
- // LDAP-Login versuchen
- $ok = $ldap->bind( $dn, $password );
-
- Logger::debug( 'LDAP bind: '.($ok?'success':'failed') );
-
- if ( $ok && $conf['security']['authorize']['type'] == 'ldap' )
- {
- $sucheAttribut = $conf['ldap']['authorize']['group_name'];
- $sucheFilter = str_replace('{dn}',$dn,$conf['ldap']['authorize']['group_filter']);
-
- $ldap_groups = $ldap->searchAttribute( $sucheFilter, $sucheAttribut );
- $sql_ldap_groups = "'".implode("','",$ldap_groups)."'";
-
- $sql = new Sql( <<<SQL
-SELECT id,name FROM {t_group}
- WHERE name IN($sql_ldap_groups)
- ORDER BY name ASC
-SQL
- );
- $oldGroups = $this->getGroupIds();
- $this->groups = $db->getAssoc( $sql );
-
- foreach( $this->groups as $groupid=>$groupname)
- {
- if ( ! in_array($groupid,$oldGroups))
- $this->addGroup($groupid);
- }
- foreach( $oldGroups as $groupid)
- {
- if ( !isset($this->groups[$groupid]) )
- $this->delGroup($groupid);
- }
-
-
- // Pr�fen, ob Gruppen fehlen. Diese dann ggf. in der OpenRat-Datenbank hinzuf�gen.
- if ( $conf['ldap']['authorize']['auto_add'] )
- {
- foreach( $ldap_groups as $group )
- {
- if ( !in_array($group,$this->groups) ) // Gruppe schon da?
- {
- $g = new Group();
- $g->name = $group;
- $g->add(); // Gruppe hinzuf�gen
-
- $this->groups[$g->groupid] = $group;
- }
- }
- }
-// Html::debug($this->groups,'Gruppen/Ids des Benutzers');
- }
-
- // Verbindung zum LDAP-Server brav beenden
- $ldap->close();
-
- if ( $ok && $autoAdd )
- {
- // Falls die Authentifizierung geklappt hat, wird der
- // LDAP-Account in die Datenbank �bernommen.
- $this->ldap_dn = $dn;
- $this->fullname = $this->name;
- $this->add();
- $this->save();
- }
-
- return $ok;
- }
- elseif( $authType == 'database' )
- {
- // Pruefen ob Kennwort mit Datenbank uebereinstimmt
- if ( $row_user['password'] == $password )
- {
- // Kennwort stimmt mit Datenbank �berein, aber nur im Klartext.
- // Das Kennwort muss ge�ndert werden
- $this->mustChangePassword = true;
-
- // Login nicht erfolgreich
- return false;
- }
- elseif ( $row_user['password'] == md5( $this->saltPassword($password) ) )
- {
- // Die Kennwort-Pr�fsumme stimmt mit dem aus der Datenbank �berein.
- // Juchuu, Login ist erfolgreich.
- return true;
- }
- else
- {
- // Kennwort stimmt garnicht �berein.
- return false;
- }
- }
- elseif( $authType == 'authdb' )
- {
- $authdb = new DB( $conf['security']['authdb'] );
- $sql = new Sql( $conf['security']['authdb']['sql'] );
- $sql->setString('username',$this->name);
- $sql->setString('password',$password);
- $row = $authdb->getRow( $sql );
- $ok = !empty($row);
-
- if ( $ok && $autoAdd )
- {
- // Falls die Authentifizierung geklappt hat, wird der
- // Benutzername in der eigenen Datenbank eingetragen.
- $this->fullname = $this->name;
- $this->add();
- $this->save();
- }
- // noch nicht implementiert: $authdb->close();
-
- return $ok;
- }
- elseif( $authType == 'http' )
- {
- $http = new Http( $conf['security']['http']['url'] );
- $http->method = 'HEAD';
- $http->setBasicAuthentication( $this->name, $password );
-
- $ok = $http->request();
-
- return $ok;
- }
- else
- {
- die( 'unknown authentication-type in configuration: '.$authType );
- }
- }
-
- // Benutzername nicht in Datenbank.
- return false;
+ return $ok;
}
diff --git a/themes/default/templates/folder/create.tpl.src.xml b/themes/default/templates/folder/create.tpl.src.xml
@@ -2,98 +2,84 @@
xsi:schemaLocation="http://www.openrat.de/template ../template.xsd">
<header back="true" views="createfolder,createlink,createpage,createfile"></header>
<form enctype="multipart/form-data">
- <row>
- <column colspan="3">
- <group title="message:folder"></group>
- </column>
- </row>
- <row>
- <column>
- <radio name="type" value="folder" children="folder_name"></radio>
- </column>
- <column>
- <label for="type_folder">
- <text text="global_folder"></text>
- </label>
- </column>
- <column>
- <input name="folder_name" size="30" maxlength="250" default=""
- class="name"></input>
- </column>
- </row>
- <row>
- <column colspan="3">
- <group title="message:file"></group>
- </column>
- </row>
- <row>
- <column>
- <radio name="type" value="file" children="file"></radio>
- </column>
- <column>
- <label for="type_file">
- <text text="global_FILE"></text>
- </label>
- </column>
- <column>
- <upload name="file" size="30" maxlength="var:maxlength"></upload>
- <newline></newline>
- <text class="help" key="file_max_size"></text>
- <text raw="_"></text>
- <text var="max_size"></text>
- </column>
- </row>
- <row>
- <column colspan="3">
- <group title="message:page"></group>
- </column>
- </row>
- <row>
- <column>
- <radio name="type" value="page" children="page_templateid,page_name"></radio>
- </column>
- <column>
- <label for="type_page">
- <text text="global_TEMPLATE"></text>
- </label>
- </column>
- <column>
- <selectbox name="page_templateid" list="templates"></selectbox>
- </column>
- </row>
- <row>
- <column></column>
- <column>
- <label for="type_page">
- <text text="global_NAME"></text>
- </label>
- </column>
- <column>
- <input name="page_name" size="30" maxlength="250" class="name"></input>
- </column>
- </row>
- <row>
- <column colspan="3">
- <group title="message:link"></group>
- </column>
- </row>
- <row>
- <column>
- <radio name="type" value="link" children="link_name"></radio>
- </column>
- <column>
- <label for="type_link">
- <text text="global_NAME"></text>
- </label>
- </column>
- <column>
- <input name="link_name" size="30" maxlength="250" class="name"></input>
- </column>
- </row>
- <row>
- <column class="act" colspan="3">
- <button type="ok"></button>
- </column>
- </row>
+ <group title="message:folder">
+
+ <part class="line">
+ <part class="label">
+ <radio name="type" value="folder" children="folder_name"></radio>
+ <label for="type_folder">
+ <text text="global_folder"></text>
+ </label>
+ </part>
+ <part class="input">
+ <input name="folder_name" size="30" maxlength="250" default=""
+ class="name"></input>
+ </part>
+ </part>
+
+ </group>
+
+ <group title="message:file">
+
+ <part class="line">
+ <part class="label">
+ <radio name="type" value="file" children="file"></radio>
+ <label for="type_file">
+ <text text="global_FILE"></text>
+ </label>
+ </part>
+ <part class="input">
+ <upload name="file" size="30" maxlength="var:maxlength"></upload>
+ <newline></newline>
+ <text class="help" key="file_max_size"></text>
+ <text raw="_"></text>
+ <text var="max_size"></text>
+ </part>
+ </part>
+ </group>
+
+ <group title="message:page">
+
+ <part class="line">
+ <part class="label">
+ <radio name="type" value="page" children="page_templateid,page_name"></radio>
+ <label for="type_page">
+ <text text="global_TEMPLATE"></text>
+ </label>
+ </part>
+ <part class="input">
+ <selectbox name="page_templateid" list="templates"></selectbox>
+ </part>
+ </part>
+
+
+
+ <part class="line">
+ <part class="label">
+ <label for="type_page">
+ <text text="global_NAME"></text>
+ </label>
+ </part>
+ <part class="input">
+ <input name="page_name" size="30" maxlength="250" class="name"></input>
+ </part>
+ </part>
+
+ </group>
+ <group title="message:link">
+
+ <part class="line">
+ <part class="label">
+ <radio name="type" value="link" children="link_name"></radio>
+ <label for="type_link">
+ <text text="global_NAME"></text>
+ </label>
+ </part>
+ <part class="input">
+ <input name="link_name" size="30" maxlength="250" class="name"></input>
+ </part>
+ </part>
+ </group>
+
</form>
</output>
\ No newline at end of file
diff --git a/themes/default/templates/folder/createlink.tpl.src.xml b/themes/default/templates/folder/createlink.tpl.src.xml
@@ -1,3 +1,31 @@
-<output xmlns="http://www.openrat.de/template"
- xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
- xsi:schemaLocation="http://www.openrat.de/template ../template.xsd"><dummy><header back="true"></header><form><window title="" name=""><row><column><text text="global_NAME"></text></column><column><input name="name" size="20" default=""></input></column></row><row><column><text text="global_DESCRIPTION"></text></column><column><inputarea rows="5" cols="50" name="description"></inputarea></column></row><row><column class="act" colspan="2"><button type="ok"></button></column></row></window></form><focus field="name"></focus></dummy></output>-
\ No newline at end of file
+<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.openrat.de/template ../template.xsd">
+ <form>
+
+ <part class="line">
+ <part class="label">
+ <text text="global_NAME"></text>
+ </part>
+ <part class="input">
+ <input name="name" size="20" default=""></input>
+ </part>
+ </part>
+
+ <part class="line">
+ <part class="label">
+ </part>
+ <part class="input">
+ </part>
+ </part>
+
+ <part class="line">
+ <part class="label">
+ <text text="global_DESCRIPTION"></text>
+ </part>
+ <part class="input">
+ <inputarea rows="5" cols="50" name="description"></inputarea>
+ </part>
+ </part>
+
+ </form>
+</output>+
\ No newline at end of file
diff --git a/themes/default/templates/profile/pw.tpl.src.xml b/themes/default/templates/profile/pw.tpl.src.xml
@@ -4,39 +4,44 @@
<logo name="changepassword"></logo>
- <group title="message:user_act_password">
- <part class="line">
- <part class="label">
- <label for="act_password">
- <text text="user_password"></text>
- </label>
+ <if true="var:ok">
+ <group title="message:user_act_password">
+ <part class="line">
+ <part class="label">
+ <label for="act_password">
+ <text text="user_password"></text>
+ </label>
+ </part>
+ <part class="input">
+ <password name="act_password" class="focus"></password>
+ </part>
</part>
- <part class="input">
- <password name="act_password" class="focus"></password>
+ </group>
+ <group title="message:user_new_password">
+ <part class="line">
+ <part class="label">
+ <label for="password1">
+ <text text="user_new_password"></text>
+ </label>
+ </part>
+ <part class="input">
+ <password name="password1"></password>
+ </part>
</part>
- </part>
- </group>
- <group title="message:user_new_password">
- <part class="line">
- <part class="label">
- <label for="password1">
- <text text="user_new_password"></text>
- </label>
+ <part class="line">
+ <part class="label">
+ <label for="password2">
+ <text text="user_new_password_repeat"></text>
+ </label>
+ </part>
+ <part class="input">
+ <password name="password2"></password>
+ </part>
</part>
- <part class="input">
- <password name="password1"></password>
- </part>
- </part>
- <part class="line">
- <part class="label">
- <label for="password2">
- <text text="user_new_password_repeat"></text>
- </label>
- </part>
- <part class="input">
- <password name="password2"></password>
- </part>
- </part>
- </group>
+ </group>
+ </if>
+ <else>
+ <text class="warn" key="change_not_allowed" />
+ </else>
</form>
</output>
\ No newline at end of file
diff --git a/themes/default/templates/template/pub.tpl.src.xml b/themes/default/templates/template/pub.tpl.src.xml
@@ -0,0 +1,31 @@
+<output xmlns="http://www.openrat.de/template" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://www.openrat.de/template ../template.xsd">
+
+ <!--
+ Falls das Veroeffentlichen deaktiviert ist, eine Warnmeldung anzeigen.
+ -->
+ <if true="config:security/nopublish">
+ <part class="message warn">
+ <text key="GLOBAL_NOPUBLISH_DESC" class="help"></text>
+ </part>
+ </if>
+
+
+
+ <form>
+ <group title="message:options">
+
+ <part class="line">
+ <part class="label">
+ </part>
+ <part class="input">
+ <checkbox name="pages" readonly="true" default="true"></checkbox>
+ <label for="files">
+ <text text="publish"></text>
+ </label>
+ </part>
+ </part>
+
+ </group>
+ </form>
+</output>+
\ No newline at end of file