ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » Startseite wählbar zwischen Gast /Member

Geschlossen
  1. #1
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Moin zusammen,
    da mir jetzt öfters zu Ohren gekommen ist, das die NEWS irgendwie untergehen, wollte ich fragen ob es möglich ist:

    das man für Gäste ganz normal diese Startseite anzeigt

    externer Link

    und für eingeloggte User/Member/usw.....

    externer Link

    als Startseite auftaucht.

    Habe das problem erstmal so gelöst, das wenn man sich einloggt, direkt auf die ?news weitergeleitet wird, nur viele haben den automatischen Login drin und übersehen demnach alles.


    Wäre klassen wenn mir einer da unter die arme greifen könnte.....

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    mic_pt Mitglied
    Registriert seit
    03.01.2008
    Beiträge
    319
    Beitragswertungen
    19 Beitragspunkte
    hi,

    Admin - Konfiguration - Allgemeine Optionen - Start Modul der Seite

    auf

    News stellen.

    dann kriegt jeder die Newsseite als erstes - egal obe Gast oder User oder Admin - egal ob manuell oder automatischer Login zwinker
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Ja das ist mir schon bekannt, ich möchte aber wissen ob es die alternative gibt die ich oben vorgeschlagen habe.
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Kannst du in der include/includes/class/menu.php in der Funktion get_url() verändern. Vielleicht kannst was damit anfangen, wenn nicht schicke ich dir nachher dir Lösung wenn ich an meinem Rechner bin zwinker


    Zuletzt modifiziert von Sniper am 20.05.2012 - 12:34:48
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    ZitatZitat geschrieben von Sniper

    Vielleicht kannst was damit anfangen


    Nee leider nicht, mach das ganze mehr aus Hobby, ich probiere viel und in den seltensten Fällen sowie jetzt frage ich mal nach.
    Wäre cool wenn du da eine Lösung für hättest.

    Hier mal die menu.php

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    class menu {
      var $menu_ar;
    
      function menu () {
        $this->set_menu_ar();
      }
    
      # menustring suchen und finden und zerteilen
      # in die richtige reihenfolge usw. blahhh :)
      function set_menu_ar () {
        $ar = array();
        if ( isset($_SERVER['QUERY_STRING']) ) {
          $q = $_SERVER['QUERY_STRING'];
          $q = preg_replace("/[^a-z0-9-_\&=]/i","",$q);
          $fu = strpos ($q,'&');
          $fi = strpos ($q,'=');
          $ende = strlen ($q);
    
          if ( $fi !== FALSE AND $fu !== FALSE ) {
            if ( $fu < $fi ) {
              $ende = $fu;
            } elseif ( $fi < $fu ) {
              $ende = $fi;
            }
          } elseif ($fu !== FALSE) {
            $ende = $fu;
          } elseif ($fi !== FALSE) {
            $ende = $fi;
          }
          $qs = substr($q,0,$ende);
          $ar = explode('-',$qs);
        }
        $this->menu_ar = $ar;
      }
    
    	# gibt ein array mit strings aus was alle sinnvollen kombinationen des menu_ar enthaelt
    	function get_string_ar () {
    	  $s = '';
    		$a = array ();
    		foreach ($this->menu_ar as $k => $v) {
    		  if ($s == '') {
    			  $s .= $v;
    			} else {
    			  $s .= '-'.$v;
    			}
    			$a[$s] = $s;
    		}
    		return ($a);
    	}
    
      # diese funktion wird nur im admin.php und index.php
      # aufgerufen. is aber relativ zentral gell weil ohne
      # deren ok und rueckgabe laueft gar nix :)...
      function get_url ($w = 'contents') {
        global $allgAr;
    
        # startwert und pfad zum pruefen raustuefteln.
        if ( $w == 'contents' ) {
          $pfad = 'include/contents';
          $smod = $allgAr['smodul'];
        } else {
          $pfad = 'include/admin';
          $smod = 'admin';
        }
    
        # wennes also leer is wird das startmodul genommen
        if (empty($this->menu_ar[0])) {
          $this->set_url ( 0, $smod );
        }
    
        # diverse sachen geprueft zum zurueck geben,
        # is halt so dings wegen selfpages usw...
        if ( !file_exists ( $pfad.'/'.$this->get(0).'.php' ) AND file_exists($pfad.'/selfbp/selfp/'.$this->get(0).'.php') ) {
          $this->set_url ( 1, $this->get(0) );
          $this->set_url ( 0, 'self' );
        } elseif ( !file_exists ( $pfad.'/'.$this->get(0).'.php' ) ) {
          if (substr($smod,0,5) == 'self-') {
            $this->set_url ( 1, substr($smod, 5));
            $this->set_url ( 0, 'self' );
          } elseif (file_exists($pfad.'/selfbp/selfp/'.$smod.'.php')) {
            $this->set_url ( 1, $smod );
            $this->set_url ( 0, 'self');
          } else {
            $this->set_url (0, $smod);
          }
        }
    
        # pruefen ob der client die noetigen rechte hat
        # das modul zu sehen.. bzw. den menupunkt zu sehen
        $exit = false;
        if ($w == 'contents') {
          $where = "(path = '".$this->get(0)."' OR path = '".$this->get(0)."-".$this->get(1)."')";
          if ($this->get(0) == 'self') {
            $where = "(path = '".$this->get(0)."-".$this->get(1)."' OR path = '".$this->get(1)."')";
          }
          $r = @db_result(@db_query("SELECT recht FROM prefix_menu WHERE ".$where." ORDER BY LENGTH(path) DESC"),0);
          if (($r != '' AND !has_right($r)) OR ($r == '' AND $allgAr['allg_menupoint_access'] == 0)) {
            $exit = true;
          }
        }
    
        # das usermodul kann aus eigener sicherheit nicht
        # gesperrt werden, sonst koennen sich member
        # usw. nicht mehr einloggen, bzw. es kann
        # sich sonst keiner registrieren. deshalb is das
        # user modul immer frei geschaltet
        $alwaysallowed = array('regist','login','1','2','confirm','remind','13','3','logout');
        if ($exit === true AND $this->get(0) == 'user' AND in_array($this->get(1),$alwaysallowed)) {
          $exit = false;
          debug ('o');
        }
    
    	  if ( $exit ) {
          $title = $allgAr['title'].' :: Keine Berechtigung';
          $hmenu = 'Keine Berechtigung';
          $design = new design ( $title , $hmenu );
          $design->header();
          if (loggedin()) {
            echo 'Du hast leider nicht die n&ouml;tigen Rechte... :-S';
          } else {
    			  $tpl = new tpl ( 'user/login' );
    			  $tpl->set_out('WDLINK','index.php',0);
          }
    			$design->footer();
    			exit();
    	  }
    
        return ( $this->get(0).'.php' );
      }
    
      # ersten buchstaben erhalten
      # zb. wichtig fuer strings p1 (page nr 1)...
      function getA ($x) {
        $x = substr($this->get($x),0,1);
        return($x);
      }
    
      # bei $x int alles nach dem ersten buchstaben erhalten z.b. die nummer der page..s.o
      # bei $x string -> direkt getE('p') und 1 zu erhalten, falls -p1
      function getE($x) {
        if (is_int($x)) {
            $x = substr($this->get($x),1);
        } else {
            $ar = array_filter($this->menu_ar, create_function('$a','return (preg_match("/^'.$x.'\d+$/",$a) == 1);'));
            $x = substr(array_shift($ar),1);
        }
        $x = escape($x, 'integer');
        return($x);
      }
    
      # Bsp. ?test-next
      # getN('test') -> 'next'
      function getN($x){
        if (in_array($x,$this->menu_ar)) {
          $t = array_search($x,$this->menu_ar);
          return $this->menu_ar[$t+1];
        }
        return false;
      }
      # Prüft ob ein Eintrag vorhanden ist
      function exists($x){
        return in_array($x,$this->menu_ar);
      }
    
      # der url reseten (wichtig im adminbereich) fals ein user
      # nicht die entsprechenden rechte hat... wird der query
      # string des objekts manipuliert so das eine andere seite
      # angezeigt wird...
      function set_url ($index, $wert) {
        $index = escape($index, 'integer');
        $wert  = preg_replace("/[^a-z0-9-]/i","",$wert);
        $this->menu_ar[$index] = $wert;
        return(true);
      }
    
      # hier wird ein spzeiller teil
      # des querystrings abgefragt
      function get ( $n ) {
        if ( isset ( $this->menu_ar[$n] ) ) {
          return ( $this->menu_ar[$n] );
        } else {
          return ( '' );
        }
      }
    
      # gibt den kompletten "Pfad" aus
      function get_complete(){
          return implode('-',$this->menu_ar);
      }
    }
    ?>



    Zuletzt modifiziert von DerLange_313 am 20.05.2012 - 13:43:57
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Zeile 72 musst du ändern. Kann dir momentan leider ned besser helfen bin nur mit dem handy online


    Zuletzt modifiziert von Sniper am 20.05.2012 - 18:26:44
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Wäre nett wenn du mir das machen würdest, es eilt jetzt nicht direkt. Reicht wenn es die Tage erst funktioniert bzw. bin ich froh wenn es überhaupt klappt.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Sniper Mitglied
    Registriert seit
    31.10.2007
    Beiträge
    1.468
    Beitragswertungen
    63 Beitragspunkte
    Zeile 72 ersetzen mit

    <?php
     # wennes also leer is wird das startmodul genommen
        if (empty($this->menu_ar[0])) {
          if(loggedin()){
            $this->set_url ( 0, 'news' );
          }
          else{
            $this->set_url ( 0, $smod );
          }
        }
    ?>


    Porbiere es mal so


    Zuletzt modifiziert von Sniper am 20.05.2012 - 23:05:27
    1 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    Hatte es eingesetzt

    folgende Message:
    Parse error: syntax error, unexpected '<' in /var/www/web1172/html/Ilch_Design/include/includes/class/menu.php on line 72

    <?php
    #   Copyright by Manuel
    #   Support www.ilch.de
    
    defined ('main') or die ( 'no direct access' );
    
    class menu {
      var $menu_ar;
    
      function menu () {
        $this->set_menu_ar();
      }
    
      # menustring suchen und finden und zerteilen
      # in die richtige reihenfolge usw. blahhh :)
      function set_menu_ar () {
        $ar = array();
        if ( isset($_SERVER['QUERY_STRING']) ) {
          $q = $_SERVER['QUERY_STRING'];
          $q = preg_replace("/[^a-z0-9-_\&=]/i","",$q);
          $fu = strpos ($q,'&');
          $fi = strpos ($q,'=');
          $ende = strlen ($q);
    
          if ( $fi !== FALSE AND $fu !== FALSE ) {
            if ( $fu < $fi ) {
              $ende = $fu;
            } elseif ( $fi < $fu ) {
              $ende = $fi;
            }
          } elseif ($fu !== FALSE) {
            $ende = $fu;
          } elseif ($fi !== FALSE) {
            $ende = $fi;
          }
          $qs = substr($q,0,$ende);
          $ar = explode('-',$qs);
        }
        $this->menu_ar = $ar;
      }
    
    	# gibt ein array mit strings aus was alle sinnvollen kombinationen des menu_ar enthaelt
    	function get_string_ar () {
    	  $s = '';
    		$a = array ();
    		foreach ($this->menu_ar as $k => $v) {
    		  if ($s == '') {
    			  $s .= $v;
    			} else {
    			  $s .= '-'.$v;
    			}
    			$a[$s] = $s;
    		}
    		return ($a);
    	}
    
      # diese funktion wird nur im admin.php und index.php
      # aufgerufen. is aber relativ zentral gell weil ohne
      # deren ok und rueckgabe laueft gar nix :)...
      function get_url ($w = 'contents') {
        global $allgAr;
    
        # startwert und pfad zum pruefen raustuefteln.
        if ( $w == 'contents' ) {
          $pfad = 'include/contents';
          $smod = $allgAr['smodul'];
        } else {
          $pfad = 'include/admin';
          $smod = 'admin';
        }
    
    <?php
     # wennes also leer is wird das startmodul genommen
        if (empty($this->menu_ar[0])) {
          if(loggedin()){
            $this->set_url ( 0, 'news' );
          }
          else{
            $this->set_url ( 0, $smod );
          }
        }
    ?>
    
        # diverse sachen geprueft zum zurueck geben,
        # is halt so dings wegen selfpages usw...
        if ( !file_exists ( $pfad.'/'.$this->get(0).'.php' ) AND file_exists($pfad.'/selfbp/selfp/'.$this->get(0).'.php') ) {
          $this->set_url ( 1, $this->get(0) );
          $this->set_url ( 0, 'self' );
        } elseif ( !file_exists ( $pfad.'/'.$this->get(0).'.php' ) ) {
          if (substr($smod,0,5) == 'self-') {
            $this->set_url ( 1, substr($smod, 5));
            $this->set_url ( 0, 'self' );
          } elseif (file_exists($pfad.'/selfbp/selfp/'.$smod.'.php')) {
            $this->set_url ( 1, $smod );
            $this->set_url ( 0, 'self');
          } else {
            $this->set_url (0, $smod);
          }
        }
    
        # pruefen ob der client die noetigen rechte hat
        # das modul zu sehen.. bzw. den menupunkt zu sehen
        $exit = false;
        if ($w == 'contents') {
          $where = "(path = '".$this->get(0)."' OR path = '".$this->get(0)."-".$this->get(1)."')";
          if ($this->get(0) == 'self') {
            $where = "(path = '".$this->get(0)."-".$this->get(1)."' OR path = '".$this->get(1)."')";
          }
          $r = @db_result(@db_query("SELECT recht FROM prefix_menu WHERE ".$where." ORDER BY LENGTH(path) DESC"),0);
          if (($r != '' AND !has_right($r)) OR ($r == '' AND $allgAr['allg_menupoint_access'] == 0)) {
            $exit = true;
          }
        }
    
        # das usermodul kann aus eigener sicherheit nicht
        # gesperrt werden, sonst koennen sich member
        # usw. nicht mehr einloggen, bzw. es kann
        # sich sonst keiner registrieren. deshalb is das
        # user modul immer frei geschaltet
        $alwaysallowed = array('regist','login','1','2','confirm','remind','13','3','logout');
        if ($exit === true AND $this->get(0) == 'user' AND in_array($this->get(1),$alwaysallowed)) {
          $exit = false;
          debug ('o');
        }
    
    	  if ( $exit ) {
          $title = $allgAr['title'].' :: Keine Berechtigung';
          $hmenu = 'Keine Berechtigung';
          $design = new design ( $title , $hmenu );
          $design->header();
          if (loggedin()) {
            echo 'Du hast leider nicht die n&ouml;tigen Rechte... :-S';
          } else {
    			  $tpl = new tpl ( 'user/login' );
    			  $tpl->set_out('WDLINK','index.php',0);
          }
    			$design->footer();
    			exit();
    	  }
    
        return ( $this->get(0).'.php' );
      }
    
      # ersten buchstaben erhalten
      # zb. wichtig fuer strings p1 (page nr 1)...
      function getA ($x) {
        $x = substr($this->get($x),0,1);
        return($x);
      }
    
      # bei $x int alles nach dem ersten buchstaben erhalten z.b. die nummer der page..s.o
      # bei $x string -> direkt getE('p') und 1 zu erhalten, falls -p1
      function getE($x) {
        if (is_int($x)) {
            $x = substr($this->get($x),1);
        } else {
            $ar = array_filter($this->menu_ar, create_function('$a','return (preg_match("/^'.$x.'\d+$/",$a) == 1);'));
            $x = substr(array_shift($ar),1);
        }
        $x = escape($x, 'integer');
        return($x);
      }
    
      # Bsp. ?test-next
      # getN('test') -> 'next'
      function getN($x){
        if (in_array($x,$this->menu_ar)) {
          $t = array_search($x,$this->menu_ar);
          return $this->menu_ar[$t+1];
        }
        return false;
      }
      # Prüft ob ein Eintrag vorhanden ist
      function exists($x){
        return in_array($x,$this->menu_ar);
      }
    
      # der url reseten (wichtig im adminbereich) fals ein user
      # nicht die entsprechenden rechte hat... wird der query
      # string des objekts manipuliert so das eine andere seite
      # angezeigt wird...
      function set_url ($index, $wert) {
        $index = escape($index, 'integer');
        $wert  = preg_replace("/[^a-z0-9-]/i","",$wert);
        $this->menu_ar[$index] = $wert;
        return(true);
      }
    
      # hier wird ein spzeiller teil
      # des querystrings abgefragt
      function get ( $n ) {
        if ( isset ( $this->menu_ar[$n] ) ) {
          return ( $this->menu_ar[$n] );
        } else {
          return ( '' );
        }
      }
    
      # gibt den kompletten "Pfad" aus
      function get_complete(){
          return implode('-',$this->menu_ar);
      }
    }
    ?>
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    legalsauger Mitglied
    Registriert seit
    14.08.2009
    Beiträge
    492
    Beitragswertungen
    43 Beitragspunkte
    <?php und ?> entfernen... (in zeile72)


    Zuletzt modifiziert von legalsauger am 21.05.2012 - 01:35:37
    1 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    DerLange_313 Mitglied
    Registriert seit
    25.03.2012
    Beiträge
    37
    Beitragswertungen
    0 Beitragspunkte
    sauber Jungs, es funktioniert........

    Vielen Dank nochmal......


    by the way:
    weiss jemand wo ich diesen Hinweis herbekomme,

    ZitatZitat
    Sie sind noch nicht registriert! Einige Bereiche werden für Sie nicht zugänglich sein.


    zu sehen hier auf der Seite: externer Link (oben links als Popup)

    Ich hatte hier im Forum schonmal die Suche gequält aber nichts passendes gefunden.
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    lutzip0 Mitglied
    Registriert seit
    24.05.2012
    Beiträge
    14
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von DerLange_313

    sauber Jungs, es funktioniert........

    Vielen Dank nochmal......


    by the way:
    weiss jemand wo ich diesen Hinweis herbekomme,

    ZitatZitat
    Sie sind noch nicht registriert! Einige Bereiche werden für Sie nicht zugänglich sein.


    zu sehen hier auf der Seite: externer Link (oben links als Popup)

    Ich hatte hier im Forum schonmal die Suche gequält aber nichts passendes gefunden.


    das ist ein Addon fürs PHPKIT, da wird Dir hier so keiner helfen können!
    Gruß Lutz!!!
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten