ilch Forum » Ilch Clan 1.1 » Allgemein » Admin Login Design

Geschlossen
  1. #1
    User Pic
    samo Mitglied
    Registriert seit
    06.10.2005
    Beiträge
    228
    Beitragswertungen
    0 Beitragspunkte
    Guten Tag,

    gibt es eine Möglichkeit, ein eigenes Template zu benutzen?
    Also ich ruf das Adminmenü immer über xxxxxxxxx.de/admin.php auf. Nun ist es doch so, das er das über das Template include/template/user/login.htm darstellt.

    Ich würde gern ein eigenes Template schreiben, aber hab keinen Plan wo im Script ich das ändern muss, das er automatisch die include/template/user/login.htm aufruft.

    samo


    verwendete ilchClan Version: 1.1 O
    Ain't no use running, fool! I know where your mama parks your house
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    macht es doch automatisch. du hast schon die richtige datei raus gesucht. die musst du nur anpassen!
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die wird aber auch vom Login im Contentbereich benutzt und kann deswegen nicht wirklich verändert werden.

    In der Funktion user_has_admin_right() in der includes/func/user.php
    function user_has_admin_right($menu, $sl = true) {
        if ($_SESSION['authright'] <= -8) {  # co leader...
            return true;
        } else {
            $uri_to_check1 = $menu->get(0);
            $uri_to_check2 = $menu->get(1);
            if (count($_SESSION['adminaccess']) < 1 OR !loggedin()) {
                if ($sl === true) {
                    if (!loggedin()) {
                        $tpl = new tpl('user/login.htm');
                        $tpl->set_out('WDLINK', 'admin.php', 0);
                    } else {
                        echo '<strong>Keine Berechtigung!</strong> <a href="index.php">Startseite</a>';
                    }
                }
                return false;
            } elseif ((isset($_SESSION['adminaccess'][$uri_to_check1]) AND $_SESSION['adminaccess'][$uri_to_check1] == true)


    Dort kannst du nun z.B. das Design initialisieren und anzeigen oder aber ein anderes Template verwenden, was dann natürlich den Teil aus der login.htm beinhalten sollte.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    1 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja das schon ... aber wenn man möchte dass frontend und backend gleich aussehen dann kann man das schon tun..
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Eine sehr einfache Möglichkeit für diese Änderung wäre, wenn man in der Funktion user_has_admin_right einfach die Request Url Abfragt.

    Also wenn admin.php aufgerufen wurde, benutze dieses Template. So könnte das ganze dann aussehen:

    Einfach Zeile 276 ( $tpl = new tpl('user/login.htm'); )
    ersetzen durch:

    if(strpos($_SERVER['REQUEST_URI'],"admin.php")!==false) {
              $tpl = new tpl ( 'user/adminlogin.htm' );
    			}else{
    		  $tpl = new tpl ( 'user/login.htm' );
    		}

    >>>Diese Änderung ist nicht nötig, es reicht den namen des Templates zu ändern.

    Das neue Login Template wäre dann, adminlogin.htm. Die Datei muss also erstellt werden, z.B. durch eine Kopie der Standard login.htm

    Schnelle und einfache Lösung, nicht getestet!

    EDIT:
    Ich hab das grade mal getestet, es läuft eigentlich Fehlerfrei. Allerdings hab ich danach noch die contents/user/login.php um eine If Abfrage erweitert, damit bei einem Fehl-Login nicht wieder die Contents/login.htm als template genutzt wird.

    Nach dem else Zeile 27
    (Vorsicht die folgenden Zeilen stammen aus meiner geänderten Version!
    (Nicht 1 zu 1 übernehmen!)
    Die Zeilen mit # bitte aus der Original Funktion übernehmen!!!
    if($_POST['wdlink']!== 'admin.php'){
    	#  $design = new design ( $title , $hmenu );
    	#  $design->header();
    	  
    	# $tpl = new tpl ( 'user/login.htm' );
    	# $tpl->set_out('WDLINK','?user-account',0);
    	
    	#  #$tpl->set_out('WDLINK','index.php?'.$allgAr['smodul'],0);
    	#  $design->footer();
    	}else{
    		$tpl = new tpl ( 'user/adminlogin.htm' );
    		$tpl->set_out('WDLINK','admin.php',0);
    	}




    Wie immer bitte zuvor ein BACKUP der Datei / Funktion anlegen.

    Falls jemand eine Verbesserung oder sogar eine schönere Variante gefunden hat....gerne Posten lachen

    Zuletzt modifiziert von Revolution am 31.05.2013 - 19:26:48
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    1 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Die Funktion sollte meines Wissens nur von der admin.php benutzt werden, von daher ist eigentlich keine Weiche notwendig.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Revolution Hall Of Fame
    Registriert seit
    14.08.2006
    Beiträge
    1.688
    Beitragswertungen
    109 Beitragspunkte
    Stimmt natürlich...
    In der user_has_admin_right reicht es den Namen des Templates zu ändern.
    Bleibt nur der zweite Teil, damit man auch in diesem Template bleibt und nach einem Fehler nicht in den "Fronted" kommt.


    Zuletzt modifiziert von Revolution am 31.05.2013 - 19:24:54
    Kreativ, modern, Conversion und Usability optimiert
    individuelles Webdesign für ein optimales Erscheinungsbild
    404studios
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    samo Mitglied
    Registriert seit
    06.10.2005
    Beiträge
    228
    Beitragswertungen
    0 Beitragspunkte
    Vielen Dank !!!

    Werd mich gleich mal ransetzen.

    Edit: Danke es klappt wunderbar!!!

    samo


    Zuletzt modifiziert von samo am 01.06.2013 - 12:11:37
    Ain't no use running, fool! I know where your mama parks your house
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    memory Mitglied
    Registriert seit
    28.08.2012
    Beiträge
    38
    Beitragswertungen
    2 Beitragspunkte
    ZitatZitat geschrieben von Revolution

    Eine sehr einfache Möglichkeit für diese Änderung wäre, wenn man in der Funktion user_has_admin_right einfach die Request Url Abfragt.

    Also wenn admin.php aufgerufen wurde, benutze dieses Template. So könnte das ganze dann aussehen:

    Einfach Zeile 276 ( $tpl = new tpl('user/login.htm'); )
    ersetzen durch:

    if(strpos($_SERVER['REQUEST_URI'],"admin.php")!==false) {
              $tpl = new tpl ( 'user/adminlogin.htm' );
    			}else{
    		  $tpl = new tpl ( 'user/login.htm' );
    		}

    >>>Diese Änderung ist nicht nötig, es reicht den namen des Templates zu ändern.

    Das neue Login Template wäre dann, adminlogin.htm. Die Datei muss also erstellt werden, z.B. durch eine Kopie der Standard login.htm

    Schnelle und einfache Lösung, nicht getestet!

    EDIT:
    Ich hab das grade mal getestet, es läuft eigentlich Fehlerfrei. Allerdings hab ich danach noch die contents/user/login.php um eine If Abfrage erweitert, damit bei einem Fehl-Login nicht wieder die Contents/login.htm als template genutzt wird.

    Nach dem else Zeile 27
    (Vorsicht die folgenden Zeilen stammen aus meiner geänderten Version!
    (Nicht 1 zu 1 übernehmen!)
    Die Zeilen mit # bitte aus der Original Funktion übernehmen!!!
    if($_POST['wdlink']!== 'admin.php'){
    	#  $design = new design ( $title , $hmenu );
    	#  $design->header();
    	  
    	# $tpl = new tpl ( 'user/login.htm' );
    	# $tpl->set_out('WDLINK','?user-account',0);
    	
    	#  #$tpl->set_out('WDLINK','index.php?'.$allgAr['smodul'],0);
    	#  $design->footer();
    	}else{
    		$tpl = new tpl ( 'user/adminlogin.htm' );
    		$tpl->set_out('WDLINK','admin.php',0);
    	}




    Wie immer bitte zuvor ein BACKUP der Datei / Funktion anlegen.

    Falls jemand eine Verbesserung oder sogar eine schönere Variante gefunden hat....gerne Posten lachen

    Zuletzt modifiziert von Revolution am 31.05.2013 - 19:26:48

    Awsome!
    WERBUNG entfernt!
    Gruß Lord|Schirmer
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Allgemein

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten