====== 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: [[http://forum.phpwcms.org/viewtopic.php?p=117699|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 {{:english:other-enhancements:hacks:navi_text.inc.php.zip|navi_text.inc.php.zip}} 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: {{:english:other-enhancements:hacks:superuser01_be.gif|}} \\ {{:english:other-enhancements:hacks:superuser02_be.gif|}} \\ {{:english:other-enhancements:hacks:superuser03_be.gif|}} Nun ist der Superuser in dieser Session registriert und das Admin-Menü bleibt sichtbar, solange die Session gültig ist. \\ ~~UP~~ ===== 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"] = ''.$BL['be_nav_admin'].''; 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"] = ''.$BL['be_nav_admin'].''; // ----------------------------------------------------- \\ ~~UP~~ ===== 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"] = ''.$BL['be_nav_admin'].''; 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"] = ''.$BL['be_nav_admin'].''; // ----------------------------------------------------- \\ ==== 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. $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: [[deutsch/technik/aufruf-interner-funktionen/content_part_typen]])//. \\