openrat-cms

Unnamed repository; edit this file 'description' to name the repository.
Log | Files | Refs

commit 46e478ba617cae00d8733715b7904eb58372d28d
parent d1a1db792a3d2aa0b690f8340e4754adf695a025
Author: dankert <devnull@localhost>
Date:   Thu, 21 Mar 2013 20:42:29 +0100

Überflüssiges Scheiß-Merge. F*CK.

Diffstat:
action/LoginAction.class.php | 3+++
action/ProfileAction.class.php | 2++
action/TemplateAction.class.php | 44++++++++++++++++++++++++++++++++++++++++++++
auth/HttpAuth.class.php | 228+++----------------------------------------------------------------------------
model/Template.class.php | 3++-
model/User.class.php | 227+++----------------------------------------------------------------------------
themes/default/templates/folder/create.tpl.src.xml | 172++++++++++++++++++++++++++++++++++++-------------------------------------------
themes/default/templates/folder/createlink.tpl.src.xml | 36++++++++++++++++++++++++++++++++----
themes/default/templates/profile/pw.tpl.src.xml | 67++++++++++++++++++++++++++++++++++++-------------------------------
themes/default/templates/template/pub.tpl.src.xml | 32++++++++++++++++++++++++++++++++
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