ilch Forum » Ilch Clan 1.1 » Kritik und Verbesserungen » Bei login anderes Design

Geschlossen
  1. #1
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    Hi,

    Erstmal vorweg ich habe die Sufu genutzt aber leider nichts passendes zu Thema gefunden.

    Und zwar. Gibt es die Möglichkeit, daß man wenn man eingeloggt ist ein anderes Design (andere htm Datei zu laden)?

    Hintergrund ist, daß ich gerade dabei bin ein neues Design komplett mit Drop down Menus zu machen. Da sind aber auch dann Links drunter, welche nur Member was angehen. OK dann kommt zwar. "Sie haben nicht die nötigen Rechte" aber besser wäre es, wenn ein modifiziertes Design geladen wird, wo dann die entsrechenden Links erst erscheinen würden, wenn man eingeloggt ist.

    Als user würde dann das Standart design ohne die "Member" Links sehen und Member dann das zweite Design mit den entsprechenden Links.

    Gibts da ne Möglichkeit oder geht das nur über den Satz "Sie haben nicht die nötigen Rechte"?

    Danke im Vorraus

    Gruss Olos


    verwendete ilchClan Version: 1.1
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Balthazar3k Mitglied
    Registriert seit
    23.04.2006
    Beiträge
    422
    Beitragswertungen
    7 Beitragspunkte
    recht unlogisch dein ansatz.

    erstell ein dynamisches drop down menu das man im admin bereich steuern kann so werden nur die links angezeigt wofür man die bnerechtigung hat, und ja mann kann auch andere designs einbinden nach dem Login mit ein wenig coden
    Kein Support für den Raidplaner über PM.
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    nauja klingt ja erstmal einfach

    "erstell ein dynamisches drop down menu das man im admin bereich steuern kann"

    drop down menue über java script erstellen geht ja aber wie dynamisch über admin bereich machen??

    da wäre mir das ein wenig coden für ein neues design beim einloggen wesentlich lieber. da könnte man dann auch ein memberspezifisches design mit einbringen.

    aber habe von php sagen wir mal "anwenderahnung"^^

    wenn es nicht viel aufwand ist, dann könnte man ja mal nen code posten, was man in welcher php datei verändern muss.

    wäre echt nice.

    danke im vorraus
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Ithron Hall Of Fame
    Registriert seit
    21.01.2006
    Beiträge
    2.659
    Beitragswertungen
    24 Beitragspunkte
    externer Link

    Scroll zu: NEU: Bedingungen in Templatedateien
    ZitatZitat geschrieben von loW

    Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    hab mir das angeschaut aber irgendwie zu hoch für mich^^

    ich weis ja nichtmal in welcher datei ich was ändern muss^^

    könnt ihr bitte sagen was man wo genauer ändern muss. Ich hab sonst keinen plan.^^
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    XxMaTzExX Mitglied
    Registriert seit
    28.05.2008
    Beiträge
    1.039
    Beitragswertungen
    14 Beitragspunkte
    doch gleich das du den kompletten code haben willst!
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    # wenn nicht eingelogged
    if ($_SESSION['authid'] == 0) { 
    $design = new design ( $titel, $menu [, $welche] [, $seite] ); 
    }
    # wenn user eingelogged
    else { 
    $design = new design ( $titel, $menu [, $welche] [, $seite] ); 
    }

    so ähnlich könnte man das wohl realisieren


    Zuletzt modifiziert von GeCk0 am 24.09.2009 - 07:53:10
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Flomavali gelöschter User
    Ne GeCk0, das wäre der falsche Ansatz...
    Richtig wäre $_SESSION['authgfx']
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    jungs ihr seit spitze

    wenn ich nur jetz noch wüsste in welcher datei das reinkommt hätten wir gewonnen.
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Such in der includes/func/user.php in der Funktion user_set_user_online() nach der Zeile
    $_SESSION['authgfx'] = $allgAr['gfx'];

    und ersetze sie mit
    if ( loggedin() ) {
    $_SESSION['authgfx'] = 'DEINDESIGNNAME'; //Design für eingeloggte User
    }
    else {
    $_SESSION['authgfx'] = $allgAr['gfx']; //Design für Gäste
    }

    Im AdminCP dann noch als Standarddesign das auswählen, was Gäste sehen sollen.
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    GeCk0 Hall Of Fame
    Registriert seit
    01.05.2009
    Beiträge
    2.989
    Beitragswertungen
    96 Beitragspunkte
    kk 'authgfx' kannte ich noch gar nicht. steht nix in der Doku dazu zwinker
    Alle Module von mir sind nun unter php-gecko.de erreichbar
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    Erstmal danke für die Antworten.

    Aber es will nicht funktionieren.

    Habe es mit.
    if ( loggedin() ) {

    if ($_SESSION['authid'] == 0) {

    if ($_SESSION['authid'] <= 0) {

    als Abfrage probiert
    und dann eben dementsprechend
    $_SESSION['authgfx'] = 'ab_user_design'; User
    }
    else {
    $_SESSION['authgfx'] = $allgAr['gfx'];
    }


    aber er nimmt immer nur ein Design (teilweise Standard, teilweise das ab user) und wechselt nicht beim ein oder ausloggen.

    Am Cash kanns nicht liegen, weil ich den teilweise gelöscht habe, bzw auch mehrere (jungfräuliche) rechner probiert habe.

    Bin mit meinem Latein im Mom am ende.^^

    Woran kann es denn liegen?

    Ach übrigens bei

    $design = new design ( $titel, $menu [, $welche] [, $seite] );
    }
    else {
    $design = new design ( $titel, $menu [, $welche] [, $seite] );
    }


    kommt Fehlermeldung
    Parse error: syntax error, unexpected '(' in include/includes/func/user.php on line 63


    Zuletzt modifiziert von olos am 25.09.2009 - 12:16:09
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Dann muss das an ne andere Stelle.
    Poste mal die komplette user.php
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    So hier unsere orginale unveränderte user.php

    Das was du sagtest steht ja in Zeile 62

    <?php
    
    # hier werden alle user spezifischen funktionen
    # definert...
    
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
    }
    
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
    
        debug ('user - nicht in db oder nicht authid');
    
        user_set_guest_vars();
        user_set_user_online ();
    
        # wenn cn cookie vorhanden
        # dann checken ob er sich damit einloggen darf
        if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
    
        # gruppen, und modulzugehoerigkeit setzten
        user_set_grps_and_modules();
      }
    }
    
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
        # auch urls wie formulare usw. damit
        # suchmaschienen bots nicht iritiert sind ;)
        # output_reset_rewrite_vars ist eine php funktion
        # nicht unnoetig dannach suchen ;) ...
        output_reset_rewrite_vars ();
      }
    }
    
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
      }
    }
    
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
    
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
    
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
    
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $name = escape($_POST['name'],'string');
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 50) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE email = BINARY '".$name."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if ( $row['pass'] == md5($_POST['pass']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            setcookie($_SESSION['authsess'], $row['id'].'='.$row['pass'] , time() + 31104000, "/" );
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
    
    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
      }
    
      user_logout ();
      return (false);
    }
    
    function user_set_guest_vars() {
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_SESSION['authsess']  = session_und_cookie_name();
    }
    
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
    
    function user_logout () {
      #global $allgAr;
      #$_SESSION = array();
      #$_SESSION['authgfx'] = $allgAr['gfx'];
      user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
      #  setcookie(session_name(), '', time()-99999999999931104000, '/');
      #}
      #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #session_destroy();
    }
    
    function user_set_grps_and_modules () {
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      if ( loggedin() ) {
        $erg = db_query("SELECT gid FROM prefix_groupusers WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authgrp'][$row['gid']] = TRUE;
        }
        $erg = db_query("SELECT DISTINCT url
        FROM prefix_modulerights
        left join prefix_modules on prefix_modules.id = prefix_modulerights.mid
        WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authmod'][$row['url']] = TRUE;
        }
      }
    }
    
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    }
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
    
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
    
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
    
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
    
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
    
      return (false);
    }
    
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt...
    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['authmod']) < 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['authmod'][$uri_to_check1]) AND $_SESSION['authmod'][$uri_to_check1] == true)
                  OR (isset($_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2]) AND $_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2] == true) ) {
          return ( true );
       	} elseif ( count($_SESSION['authmod']) > 0 AND loggedin() ) {
          if ( $sl === true ) {
            foreach($_SESSION['authmod'] as $k => $v ) { $x = $k; break; }
            $x = explode('-',$x);
            $menu->set_url (0, $x[0]);
            if ( isset($x[1]) ) {
              $menu->set_url (1, $x[1]);
            }
          }
          return ( true );
        }
      }
      return ( false );
    }
    
    function user_regist ($name, $mail, $pass) {
      global $allgAr, $lang;
    
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
    
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
    		$new_pass = genkey(8);
      } else {
    	  $new_pass = $pass;
    	}
    
      $md5_pass = md5($new_pass);
    	$confirmlinktext = '';
    
    	# confirm insert in confirm tb not confirm insert in user tb
    	if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
    		# confirm link + text ... bit of shit put it in languages file
    	  $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
    		$id = md5 (uniqid (rand()));
    		$confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
    		db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,datime,ak)
    		VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
    	  db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm)
    		VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1)");
    		$userid = db_last_id();
    	}
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
    
    	icmail($mail,'Anmeldung',$regmail); # email an user
    
      return (true);
    }
    
    function user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
    
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
    }
    ?>
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    OloX Hall Of Fame
    Registriert seit
    25.02.2006
    Beiträge
    990
    Beitragswertungen
    23 Beitragspunkte
    Hey olos zwinker
    hier bitte... müsste funzen lächeln
    >>>>>>>>>>>>>DESIGN NAME WENN EINGELOGGT<<<<<<<<<<<<<<<<<<< musst du natürlich noch ändern (3mal).
    <?php
     
    # hier werden alle user spezifischen funktionen
    # definert...
     
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
    }
     
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
     
        debug ('user - nicht in db oder nicht authid');
     
        user_set_guest_vars();
        user_set_user_online ();
     
        # wenn cn cookie vorhanden
       # dann checken ob er sich damit einloggen darf
       if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
     
        # gruppen, und modulzugehoerigkeit setzten
       user_set_grps_and_modules();
      }
    }
     
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
       # auch urls wie formulare usw. damit
       # suchmaschienen bots nicht iritiert sind ;)
       # output_reset_rewrite_vars ist eine php funktion
       # nicht unnoetig dannach suchen ;) ...
       output_reset_rewrite_vars ();
      }
    }
     
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
      }
    }
     
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = loggedin() ? '>>>>>>>>>>>>>DESIGN NAME WENN EINGELOGGT<<<<<<<<<<<<<<<<<<<' : $allgAr['gfx'];
    }
     
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
     
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
     
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $name = escape($_POST['name'],'string');
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 50) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE email = BINARY '".$name."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if ( $row['pass'] == md5($_POST['pass']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
    		$_SESSION['authgfx'] = '>>>>>>>>>>>>>DESIGN NAME WENN EINGELOGGT<<<<<<<<<<<<<<<<<<<';
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            setcookie($_SESSION['authsess'], $row['id'].'='.$row['pass'] , time() + 31104000, "/" );
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
     
    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
    	  $_SESSION['authgfx'] = '>>>>>>>>>>>>>DESIGN NAME WENN EINGELOGGT<<<<<<<<<<<<<<<<<<<';	  
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
      }
     
      user_logout ();
      return (false);
    }
     
    function user_set_guest_vars() {
      global $allgAr;
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_SESSION['authsess']  = session_und_cookie_name();
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
     
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
     
    function user_logout () {
      #global $allgAr;
     #$_SESSION = array();
     #$_SESSION['authgfx'] = $allgAr['gfx'];
     user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
     #  setcookie(session_name(), '', time()-99999999999931104000, '/');
     #}
     #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
     #session_destroy();
    }
     
    function user_set_grps_and_modules () {
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      if ( loggedin() ) {
        $erg = db_query("SELECT gid FROM prefix_groupusers WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authgrp'][$row['gid']] = TRUE;
        }
        $erg = db_query("SELECT DISTINCT url
       FROM prefix_modulerights
       left join prefix_modules on prefix_modules.id = prefix_modulerights.mid
       WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authmod'][$row['url']] = TRUE;
        }
      }
    }
     
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    }
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
     
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
     
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
     
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
     
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
     
      return (false);
    }
     
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt...
    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['authmod']) < 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['authmod'][$uri_to_check1]) AND $_SESSION['authmod'][$uri_to_check1] == true)
                  OR (isset($_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2]) AND $_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2] == true) ) {
          return ( true );
        } elseif ( count($_SESSION['authmod']) > 0 AND loggedin() ) {
          if ( $sl === true ) {
            foreach($_SESSION['authmod'] as $k => $v ) { $x = $k; break; }
            $x = explode('-',$x);
            $menu->set_url (0, $x[0]);
            if ( isset($x[1]) ) {
              $menu->set_url (1, $x[1]);
            }
          }
          return ( true );
        }
      }
      return ( false );
    }
     
    function user_regist ($name, $mail, $pass) {
      global $allgAr, $lang;
     
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
     
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
            $new_pass = genkey(8);
      } else {
          $new_pass = $pass;
        }
     
      $md5_pass = md5($new_pass);
        $confirmlinktext = '';
     
        # confirm insert in confirm tb not confirm insert in user tb
        if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
            # confirm link + text ... bit of shit put it in languages file
          $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
            $id = md5 (uniqid (rand()));
            $confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
            db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,datime,ak)
            VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
          db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm)
            VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1)");
            $userid = db_last_id();
        }
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
     
        icmail($mail,'Anmeldung',$regmail); # email an user
     
      return (true);
    }
     
    function user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
     
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
    }
    ?>


    MfG OloX


    Zuletzt modifiziert von OloX am 25.09.2009 - 21:40:19
    PHP, JavaScript, CSS
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Ich seh grad woran es hapert, überall wo $allgAr['gfx'] benutzt wird, muss ein
    global $allgAr;

    davor.

    Hiermit wird's auf jeden Fall klappen, musst nur in Zeile 16 DEINDESIGNNAMEHIER ersetzen.
    <?php
     
    # hier werden alle user spezifischen funktionen
    # definert...
     
    function user_identification () {
      user_auth();
      user_login_check();
      user_update_database();
      user_check_url_rewrite();
      user_set_session_gfx();
    }
    
    function user_set_session_gfx() {
      global $allgAr;
      $_SESSION['authgfx'] = loggedin() ? 'DEINDESIGNNAMEHIER' : $allgAr['gfx'];
    }
     
    function user_auth () {
      debug ('user - auth gestartet'. session_id());
      $cn = session_und_cookie_name();
      if (!user_key_in_db()
       OR !isset($_SESSION['authid'])
       OR (isset($_SESSION['authsess']) AND $_SESSION['authsess'] != $cn)) {
     
        debug ('user - nicht in db oder nicht authid');
     
        user_set_guest_vars();
        user_set_user_online ();
     
        # wenn cn cookie vorhanden
       # dann checken ob er sich damit einloggen darf
       if (isset($_COOKIE[$cn])) {
          user_auto_login_check();
        }
     
        # gruppen, und modulzugehoerigkeit setzten
       user_set_grps_and_modules();
      }
    }
     
    function user_check_url_rewrite() {
      global $allgAr;
      if ( !loggedin() AND $allgAr['show_session_id'] == 0 ) {
        # loescht die sessionid von allen urls
       # auch urls wie formulare usw. damit
       # suchmaschienen bots nicht iritiert sind ;)
       # output_reset_rewrite_vars ist eine php funktion
       # nicht unnoetig dannach suchen ;) ...
       output_reset_rewrite_vars ();
      }
    }
     
    function user_update_database () {
      $dif = date('Y-m-d H:i:s', time() - 7200);
      db_query("UPDATE prefix_online SET uptime = now() WHERE sid = '".session_id()."'");
      db_query("DELETE FROM prefix_online WHERE uptime < '". $dif."'");
      if ( loggedin() ) {
        db_query("UPDATE prefix_user SET llogin = '".time()."' WHERE id = '".$_SESSION['authid']."'");
      }
    }
     
    function user_set_user_online () {
      global $allgAr;
      if (0 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        db_query("INSERT INTO prefix_online (sid,uptime,ipa) VALUES ('".session_id()."',now(),'".getip()."')");
      }
      $_SESSION['authgfx'] = $allgAr['gfx'];
    }
     
    function user_key_in_db() {
      if ( 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_online WHERE sid = '".session_id()."'"),0) ) {
        return ( true );
      } else {
        return ( false );
      }
    }
     
    function session_und_cookie_name () {
      return (md5(dirname($_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"]).DBPREF));
    }
     
    function user_login_check () {
      if ( isset ($_POST['user_login_sub']) AND isset ($_POST['name']) AND isset ($_POST['pass']) ) {
        debug ('posts vorhanden');
        $name = escape($_POST['name'],'string');
        if ($name != $_POST['name'] OR strlen($_POST['name']) > 50) {
            return false;
        }
        $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE email = BINARY '".$name."'");
        if ( db_num_rows($erg) == 1 ) {
          debug ('user gefunden');
          $row = db_fetch_assoc($erg);
          if ( $row['pass'] == md5($_POST['pass']) ) {
            debug ('passwort stimmt ... '.$row['name']);
            $_SESSION['authname']  = $row['name'];
            $_SESSION['authid']    = $row['id'];
            $_SESSION['authright'] = $row['recht'];
            $_SESSION['lastlogin'] = $row['llogin'];
            $_SESSION['authsess']  = session_und_cookie_name();
            db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
            setcookie($_SESSION['authsess'], $row['id'].'='.$row['pass'] , time() + 31104000, "/" );
            user_set_grps_and_modules();
            return (true);
          }
        }
        global $menu;
        $menu->set_url (0, 'user');
        $menu->set_url (1, 'login');
      }
      return ( false );
    }
     
    function user_auto_login_check () {
      $cn = session_und_cookie_name();
      $dat = explode('=',$_COOKIE[$cn]);
      $id = $pw = 0;
      if (isset($dat[0])) { $id = escape($dat[0], 'integer'); }
      if (isset($dat[1])) { $pw = $dat[1]; }
      debug (' pw ' . $pw );
      debug (' id ' . $id );
      $erg = db_query("SELECT name,id,recht,pass,llogin FROM prefix_user WHERE id = ".$id);
      if (db_num_rows($erg) == 1) {
        debug ('benutzer gefunden');
        $row = db_fetch_assoc($erg);
        if ($row['pass'] == $pw) {
          debug ('passwoerter stimmen');
          debug ($row['name']);
          $_SESSION['authname']  = $row['name'];
          $_SESSION['authid']    = $row['id'];
          $_SESSION['authright'] = $row['recht'];
          $_SESSION['lastlogin'] = $row['llogin'];
          $_SESSION['authsess']  = $cn;
          db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
          setcookie($cn, $row['id'].'='.$row['pass'], time() + 31104000, "/" );
          return (true);
        }
      }
     
      user_logout ();
      return (false);
    }
     
    function user_set_guest_vars() {
      $_SESSION['authname']  = 'Gast';
      $_SESSION['authid']    = 0;
      $_SESSION['authright'] = 0;
      $_SESSION['lastlogin'] = time();
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      $_SESSION['authsess']  = session_und_cookie_name();
    }
     
    function user_markallasread () {
      $_SESSION['lastlogin'] = time();
    }
     
    function user_logout () {
      #global $allgAr;
     #$_SESSION = array();
     #$_SESSION['authgfx'] = $allgAr['gfx'];
     user_set_guest_vars();
      db_query("UPDATE prefix_online SET uid = ".$_SESSION['authid']." WHERE sid = '".session_id()."'");
      setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
      #if (isset($_COOKIE[session_name()])) {
     #  setcookie(session_name(), '', time()-99999999999931104000, '/');
     #}
     #setcookie(session_und_cookie_name(), "", time()-999999999999, "/" );
     #session_destroy();
    }
     
    function user_set_grps_and_modules () {
      $_SESSION['authgrp'] = array();
      $_SESSION['authmod'] = array();
      if ( loggedin() ) {
        $erg = db_query("SELECT gid FROM prefix_groupusers WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authgrp'][$row['gid']] = TRUE;
        }
        $erg = db_query("SELECT DISTINCT url
       FROM prefix_modulerights
       left join prefix_modules on prefix_modules.id = prefix_modulerights.mid
       WHERE uid = ".$_SESSION['authid']);
        while ( $row = db_fetch_assoc ( $erg ) ) {
          $_SESSION['authmod'][$row['url']] = TRUE;
        }
      }
    }
     
    function loggedin () {
      if ( has_right(-1) ) { return ( true ); } else { return ( false ); }
    }
    function is_admin () {
      if ( has_right(-9) ) { return ( true ); } else { return ( false ); }
    }
    function is_coadmin () {
      if ( has_right(-8) ) { return ( true ); } else { return ( false ); }
    }
    function is_siteadmin ($m = NULL) {
      if ( has_right(-7) ) { return ( true ); }
      if ( !is_null($m) AND has_right(NULL, $m)) { return (true); }
      return ( false );
    }
     
    # diese funktion liefert immer true wenn es ein admin ist.
    # wenn kein kein admin wird geprueft ob der user
    # entweder ein angegebenes recht oder in einer angegebene
    # gruppe ist. oder ob er fals angegben das modulrecht hat.
    # wenn eines von diesen 3 kriterien stimmt wird true ansonsten
    # wenn keins uebereinstimmt false zurueck gegeben.
    function has_right ($recht,$modul = '') {
      if ( !is_array($recht) AND !is_null($recht) ) {
        $recht = array ( $recht );
      }
     
      if ( $_SESSION['authright'] == -9 ) {
        return ( true );
      }
     
      if ( !is_null($recht) ) {
        foreach ( $recht as $v ) {
          if ( ($v <= 0 AND $v >= $_SESSION['authright'] ) OR (isset($_SESSION['authgrp'][$v]) AND $_SESSION['authgrp'][$v] === true) ) {
            return (true);
          }
        }
      }
     
      if ( !empty($modul) AND isset($_SESSION['authmod'][$modul]) AND $_SESSION['authmod'][$modul] === true ) {
        return ( true );
      }
     
      return (false);
    }
     
    ### admin
    # wenn der 2. parameter weggelassen wird oder auf true gesetzt wird
    # dann wird ein login formular angezeigt, wenn der user kein admin ist.
    # wird der parameter auf false gesetzt wird das login formular nicht angezeigt.
    # erste parameter ist das menu objekt...
    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['authmod']) < 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['authmod'][$uri_to_check1]) AND $_SESSION['authmod'][$uri_to_check1] == true)
                  OR (isset($_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2]) AND $_SESSION['authmod'][$uri_to_check1.'-'.$uri_to_check2] == true) ) {
          return ( true );
        } elseif ( count($_SESSION['authmod']) > 0 AND loggedin() ) {
          if ( $sl === true ) {
            foreach($_SESSION['authmod'] as $k => $v ) { $x = $k; break; }
            $x = explode('-',$x);
            $menu->set_url (0, $x[0]);
            if ( isset($x[1]) ) {
              $menu->set_url (1, $x[1]);
            }
          }
          return ( true );
        }
      }
      return ( false );
    }
     
    function user_regist ($name, $mail, $pass) {
      global $allgAr, $lang;
     
      $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '".$name."'");
      if (db_num_rows($erg) > 0) {
        return (false);
      }
     
      if ( $allgAr['forum_regist_user_pass'] == 0 ) {
            $new_pass = genkey(8);
      } else {
          $new_pass = $pass;
        }
     
      $md5_pass = md5($new_pass);
        $confirmlinktext = '';
     
        # confirm insert in confirm tb not confirm insert in user tb
        if ( $allgAr['forum_regist_confirm_link'] == 1 ) {
            # confirm link + text ... bit of shit put it in languages file
          $page = $_SERVER["HTTP_HOST"].$_SERVER["SCRIPT_NAME"];
            $id = md5 (uniqid (rand()));
            $confirmlinktext = "\n".$lang['registconfirm']."\n\n".sprintf($lang['registconfirmlink'], $page, $id );
            db_query("INSERT INTO prefix_usercheck (`check`,name,email,pass,datime,ak)
            VALUES ('".$id."','".$name."','".$mail."','".$md5_pass."',NOW(),1)");
      } else {
          db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,status,opt_mail,opt_pm)
            VALUES('".$name."','".$md5_pass."',-1,'".time()."','".time()."','".$mail."',1,1,1)");
            $userid = db_last_id();
        }
      $regmail = sprintf($lang['registemail'],$name, $confirmlinktext, $name, $new_pass);
     
        icmail($mail,'Anmeldung',$regmail); # email an user
     
      return (true);
    }
     
    function user_remove($uid){
        $row = @db_fetch_object(db_query("SELECT recht,avatar FROM prefix_user WHERE id = ".$uid));
        if ( $uid <> 1 AND ($_SESSION['authid'] == $uid OR $_SESSION['authid'] == 1 OR (is_coadmin() AND $_SESSION['authright'] < $row->recht))) {
            db_query("DELETE FROM prefix_user WHERE id = ".$uid);
            db_query("DELETE FROM prefix_userfields WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_groupusers WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_modulerights WHERE uid = ".$uid);
            db_query("DELETE FROM prefix_pm WHERE eid = ".$uid);
            db_query("DELETE FROM prefix_online WHERE uid = ".$uid);
            //Usergallery entfernen
            $sql = db_query("SELECT id,endung FROM prefix_usergallery WHERE uid = ".$uid);
            while( $r = db_fetch_object($sql) ){
                @unlink("include/images/usergallery/img_$r->id.$r->endung");
                @unlink("include/images/usergallery/img_thumb_$r->id.$r->endung");
            }
            db_query("DELETE FROM prefix_usergallery WHERE uid = ".$uid);
            //Avatar
            @unlink($row->avatar);
        }
    }
     
    function sendpm ($sid,$eid,$ti,$te,$status = 0) {
      db_query("INSERT INTO `prefix_pm` (sid,eid,time,titel,txt,status) VALUES (".$sid.",".$eid.",'".time()."','".$ti."','".$te."',".$status.")");
    }
    ?>
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    funktioniert

    danke euch jungs

    eine frage noch.

    wie wäre die abfrage wenn man das so haben möchte, daß man erst ab einem bestimmten recht (sagen wir mal member) das andere design hat.

    PS. Es mach vielleicht umfangreichere oder auch bessere CMS geben wie Ilch aber der Support hier ist unschlagbar.

    Danke nochmal.
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Fire86 Mitglied
    Registriert seit
    25.04.2009
    Beiträge
    543
    Beitragswertungen
    0 Beitragspunkte
    Nehmen wir an, Member haben bei dir das Recht -2, dann musst du (wenn du meine user.php genommen hast) Zeile 16 hiermit ersetzen:
    $_SESSION['authgfx'] = $_SESSION['authright'] <= -2 ? 'DEINDESIGNNAMEHIER' : $allgAr['gfx'];
    Kein Support per Email oder ICQ!
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Flomavali gelöschter User
    Sieht mir immer mehr nach dem PremiumACC Modul mit Design-Erweiterung aus lachen
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    olos Mitglied
    Registriert seit
    30.10.2007
    Beiträge
    148
    Beitragswertungen
    1 Beitragspunkte
    danke nochmal an euch jungs

    gehört zwar nicht direckt hier her aber das mit den Design nach rang wäre ne maßnahme für eine nächste Ilch Version. Das ergibt nämlich in Sachen Ilch und Design ganz neue Möglichkeiten. Da kann man nen Richtigen User bzw Memberbereich bauen.

    In diesem Sinne Gruß olos
    =====================================
    Wenn man nur das macht, was man schon kann wird man immer nur das sein, was man schon ist.
    >>>> externer Link
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Akira Mitglied
    Registriert seit
    25.01.2007
    Beiträge
    1.369
    Beitragswertungen
    1 Beitragspunkte
    kannste doch auch jetzt schon

    x_X

    und du kannst membern bzw anderen rängen ein design geben

    such mal nach design wechseln musst es halt nur im admin bereich wenn jemanden nen rang gibst halt noch anpassen das er die gfx dan auch bekommt

    und das design wechseln solltest umbaen das nur auf ihren rang und das standart kommst

    so haste member bereich und standart

    naja ^^
    externer Link Visit Us zwinker
    Neue Scripte: JQuery Login usw... Turnier(externer Link Multi-Bewertung, Refferer, Forum Upload, E-Mail login
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Kritik und Verbesserungen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten