Strict Standards: Declaration of action_plugin_dlcount::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/dlcount/action.php on line 14

Strict Standards: Declaration of action_plugin_indexmenu::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/indexmenu/action.php on line 169

Strict Standards: Declaration of action_plugin_ipban::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/ipban/action.php on line 67

Strict Standards: Declaration of action_plugin_loglog::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/loglog/action.php on line 82

Strict Standards: Declaration of action_plugin_navi::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/navi/action.php on line 46

Strict Standards: Declaration of action_plugin_uparrow::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/uparrow/action.php on line 69

Strict Standards: Declaration of action_plugin_userspagecreate::register() should be compatible with DokuWiki_Action_Plugin::register($controller) in /home/www/wiki/lib/plugins/userspagecreate/action.php on line 97

Strict Standards: Declaration of cache_instructions::retrieveCache() should be compatible with cache::retrieveCache($clean = true) in /home/www/wiki/inc/cache.php on line 289

Warning: Cannot modify header information - headers already sent by (output started at /home/www/wiki/lib/plugins/dlcount/action.php:14) in /home/www/wiki/inc/auth.php on line 312

Strict Standards: Only variables should be passed by reference in /home/www/wiki/doku.php on line 71

Warning: Cannot modify header information - headers already sent by (output started at /home/www/wiki/lib/plugins/dlcount/action.php:14) in /home/www/wiki/inc/actions.php on line 154
Superuser [BE] [phpwcms-HowTo:wiki]

Strict Standards: Declaration of syntax_plugin_code::render() should be compatible with DokuWiki_Syntax_Plugin::render($format, &$renderer, $data) in /home/www/wiki/lib/plugins/code/syntax.php on line 41

Strict Standards: Declaration of syntax_plugin_tip::render() should be compatible with DokuWiki_Syntax_Plugin::render($format, &$renderer, $data) in /home/www/wiki/lib/plugins/tip/syntax.php on line 38

Superuser [BE]

Backend: Dis ist eine sehr einfache Lösung - ein schneller Hack, damit Benutzer mit Admin-Rechten arbeiten, jedoch keine Admin-Bereiche ohne einen speziellen Super-Usercheck editieren können.

Docu: –
Forum: Quick and dirty Superuser functionality

Autor: O.Georgi http://phpwcms.de
CMS version: >= 1.4
Version: V1.0

Tag mysite.com/phpwcms.php?superuser=muschi

Dateiname: navi_text.inc.php

Verzeichnis: include/inc_lib/



Unzip die anhängende Datei navi_text.inc.php.zip (1 KiB, 35 downloads)

und tausche navi_text.inc.php in include/inc_lib/ (mache vorher ein Backup der Originaldatei).

In der Datei findest du ein neues “verstecktes” Wort - ersetze

    $phpwcms['superuser_checkword'] = 'muschi';

mit irgendeinem Wort was dir gefällt und vergesse es nicht.

Das Admin-Menü wird nicht angezeigt, solange die Superuser URI nicht eingegeben wird:
mysite.com/phpwcms.php?superuser=muschi

Schaue dir die Bilder an:



Nun ist der Superuser in dieser Session registriert und das Admin-Menü bleibt sichtbar, solange die Session gültig ist.


Variante 01

Nur für diese eingetragenen Admin-Benutzer ist das Admin-Menü verfügbar.
Im Beispiel für die Benutzer mit den Benutzernamen “hans” und “erwin”.

Die Idee basiert darauf, das alle Benutzer Adminrechte erhalten jedoch nicht das Admin-Menü sehen.

Datei: include/inc_lib/navi_text.inc.php

Ersetze

$wcsnav["admin"]        = '<a href="phpwcms.php?do=admin&amp;p=6">'.$BL['be_nav_admin'].'</a>';

durch

// +KH: 14.04.10  Only for this registered admin user the admin menu is available
// -----------------------------------------------------
if ($_SESSION['wcs_user'] === 'hans' OR
    $_SESSION['wcs_user'] === 'erwin')
        $wcsnav["admin"]        = '<a href="phpwcms.php?do=admin&amp;p=6">'.$BL['be_nav_admin'].'</a>';
// -----------------------------------------------------


Variante 02

Getestet in V 1.4.6 r402

Für diese eingetragenen Admin-Benutzer ist das Admin-Menü nicht verfügbar.
Im Beispiel für die Benutzer mit den Benutzernamen “oblong” und “don-blech”.

Die Idee basiert darauf, das alle Benutzer Adminrechte erhalten jedoch nicht das Admin-Menü sehen.

Darüberhinaus wird noch die CP-Auswahl für die eingetragenen User reduziert.

Dazu wird ein Duplikat der Datei “include/inc_lib/article.contenttype.inc.php” erzeugt und die entsprechenden CPs gesperrt oder freigegeben.
→ Neuer Dateiname: “include/inc_lib/article.contenttype_small.inc.php”


Menü sperren

Datei: include/inc_lib/navi_text.inc.php

Ersetze

$wcsnav["admin"]        = '<a href="phpwcms.php?do=admin&amp;p=6">'.$BL['be_nav_admin'].'</a>';

durch

// +KH: 14.04.10  Only for this registered admin user the admin menu is available
// -----------------------------------------------------
if ($_SESSION['wcs_user'] !== 'oblong' AND
    $_SESSION['wcs_user'] !== 'don-blech')
        $wcsnav["admin"]        = '<a href="phpwcms.php?do=admin&amp;p=6">'.$BL['be_nav_admin'].'</a>';
// -----------------------------------------------------


CPs filtern

Datei: phpwcms.php

Ersetze (etwa in Zeile 87)

include(PHPWCMS_ROOT.'/include/inc_lib/article.contenttype.inc.php'); //loading array with actual content types

durch

// +KH: 14.04.10  This user has a special contentpart list
// ---------------------------------------------------------
if ($_SESSION['wcs_user'] !== 'oblong' AND $_SESSION['wcs_user'] !== 'don-blech')
    include(PHPWCMS_ROOT.'/include/inc_lib/article.contenttype.inc.php'); //loading array with actual content types
else
    include(PHPWCMS_ROOT.'/include/inc_lib/article.contenttype_small.inc.php'); //loading array with small content type list
// ---------------------------------------------------------


Die Datei “include/inc_lib/article.contenttype_small.inc.php” wird neu erzeugt und die nicht verwendbaren CPs auskommentiert.

article.contenttype_small.inc.php

<?php
/*************************************************************************************
   Copyright notice
 
   (c) 2002-2010 Oliver Georgi (oliver@phpwcms.de) // All rights reserved.
 
   This script is part of PHPWCMS. The PHPWCMS web content management system 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.
 
   The GNU General Public License can be found at http://www.gnu.org/copyleft/gpl.html
   A copy is found in the textfile GPL.txt and important notices to the license
   from the author is found in LICENSE.txt distributed with these scripts.
 
   This script 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.
 
   This copyright notice MUST APPEAR in all copies of the script!
*************************************************************************************/
 
// Content Part Types
// DO NOT define 30 = used for modules
$wcs_content_type = array(
     0 => $BL['be_ctype_plaintext'] ,
//kh     6 => $BL['be_ctype_html'],
    14 => $BL['be_ctype_wysywig'],
//kh    11 => $BL['be_ctype_code'],
     1 => $BL['be_ctype_textimage'],
    29 => $BL['be_ctype_imagesdiv'],
//kh    31 => $BL['be_ctype_imagesspecial'],
//kh    32 => $BL['be_ctype_tabs'],
     2 => $BL['be_ctype_images'],
//kh     4 => $BL['be_ctype_bulletlist'],
//kh 100 => $BL['be_ctype_ullist'],
//kh     3 => $BL['be_ctype_link'],
     5 => $BL['be_ctype_linklist'],
     8 => $BL['be_ctype_linkarticle'],
//kh    33 => $BL['be_news'],
    15 => $BL['be_ctype_articlemenu'],
//kh     9 => $BL['be_ctype_multimedia'],
     7 => $BL['be_ctype_filelist'],
//kh    16 => $BL['be_ctype_ecard'],
//17 => $BL['be_ctype_blog'],
//kh    23 => $BL['be_ctype_simpleform'],
//kh    10 => $BL['be_ctype_emailform'].' [old]',
//kh    12 => $BL['be_ctype_newsletter'],
//kh    13 => $BL['be_ctype_search'],
//kh    18 => $BL['be_ctype_guestbook'],
//kh    19 => $BL['be_ctype_sitemap'],
//20 => $BL['be_ctype_bid'],
//kh    21 => $BL['be_ctype_pages'],
//kh    22 => $BL['be_ctype_rssfeed'],
//kh    50 => $BL['be_ctype_reference'],
//kh    51 => $BL['be_ctype_map'],
//kh    52 => $BL['be_ctype_phpvar'],
//53 => $BL['be_ctype_forum'],
//kh    24 => $BL['be_ctype_alias'],
//kh    89 => $BL['be_ctype_poll'], // jens poll
//kh    26 => $BL['be_ctype_recipe'],
//kh    27 => $BL['be_ctype_faq'],
//kh    28 => $BL['be_ctype_felogin'],
//kh    25 => $BL['be_ctype_flashplayer']
);
 
// set module content parts = 30
if(count($phpwcms['modules'])) {
    foreach($phpwcms['modules'] as $value) {
        if($value['cntp']) {
            $wcs_content_type[30] = $BL['be_ctype_module'];
            break;
        }
    }
}
 
?>

Die Auswahlreihenfolge der CPs im BE ist abhängig von der Reihenfolge der Einträge in dieser Datei. (Siehe auch: Content Part Typen).


deutsch/andere-erweiterungen/hacks/superuser.txt · Last modified: 2010/08/16 16:19 by Knut Heermann (flip-flop)
www.planmatrix.de www.chimeric.de Creative Commons License Valid CSS Driven by DokuWiki do yourself a favour and use a real browser - get firefox!! Recent changes RSS feed Valid XHTML 1.0

Strict Standards: Only variables should be passed by reference in /home/www/wiki/doku.php on line 79