» Forum » Clanscript » Kritik und Verbesserungen » Bei login anderes Design
  Mitglieder   |   Gallery   |   FAQ's   |   Regeln

[ Anmelden zum schreiben ]

Bei login anderes Design
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 22.09.2009 - 19:37:24     Zitieren
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.
>>>> www.sts-clan.de
Balthazar3k
Mitglied
2 Beitragspunkte
Posts: 343

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 23.09.2009 - 14:33:56     Zitieren
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.
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 23.09.2009 - 19:40:17     Zitieren
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.
>>>> www.sts-clan.de
Ithron
Hall Of Fame
24 Beitragspunkte
Posts: 2658

0 Mitglieder finden den Beitrag gut.

Merkliste 23.09.2009 - 20:33:36     Zitieren
www.ilch.de/doku-entwickler11i.html#design

Scroll zu: NEU: Bedingungen in Templatedateien


Zitat geschrieben von loW

Ja ich habs gesehen und wenn ichs kostenlos bekomm dann zahl ich doch nix dafür oder?


olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 23.09.2009 - 22:10:46     Zitieren
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.
>>>> www.sts-clan.de
XxMaTzExX
Mitglied
4 Beitragspunkte
Posts: 884

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 07:31:28     Zitieren
doch gleich das du den kompletten code haben willst!


GT. 264PS Driving experience
GeCk0
Administrator
92 Beitragspunkte
Posts: 2996

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 07:50:33     Zitieren
# 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


.:.Module, Zitate, 1-Klick-IMG-Host, MD5 und mehr.:.
"Do not argue with an idiot. He will drag you down to his level and beat you with experience."
Flomavali
Mitglied
 Beitragspunkte

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 08:17:19     Zitieren
Ne GeCk0, das wäre der falsche Ansatz...
Richtig wäre $_SESSION['authgfx']
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 09:29:57     Zitieren
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.
>>>> www.sts-clan.de
Fire86
Mitglied
0 Beitragspunkte
Posts: 543

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 14:00:12     Zitieren
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!
GeCk0
Administrator
92 Beitragspunkte
Posts: 2996

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 24.09.2009 - 21:42:47     Zitieren
kk 'authgfx' kannte ich noch gar nicht. steht nix in der Doku dazu Zwinker


.:.Module, Zitate, 1-Klick-IMG-Host, MD5 und mehr.:.
"Do not argue with an idiot. He will drag you down to his level and beat you with experience."
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 25.09.2009 - 12:13:39     Zitieren
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.
>>>> www.sts-clan.de
Fire86
Mitglied
0 Beitragspunkte
Posts: 543

0 Mitglieder finden den Beitrag gut.

Merkliste 25.09.2009 - 12:29:58     Zitieren
Dann muss das an ne andere Stelle.
Poste mal die komplette user.php


Kein Support per Email oder ICQ!
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 25.09.2009 - 21:06:09     Zitieren
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.
>>>> www.sts-clan.de
OloX
Moderator
20 Beitragspunkte
Posts: 979

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 25.09.2009 - 21:36:56     Zitieren
Hey olos Zwinker
hier bitte... müsste funzen Smilie
>>>>>>>>>>>>>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, C/C++, CSS, HTML
Fire86
Mitglied
0 Beitragspunkte
Posts: 543

0 Mitglieder finden den Beitrag gut.

Merkliste 25.09.2009 - 22:04:00     Zitieren
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!
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 26.09.2009 - 11:19:44     Zitieren
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.
>>>> www.sts-clan.de
Fire86
Mitglied
0 Beitragspunkte
Posts: 543

0 Mitglieder finden den Beitrag gut.

Merkliste 26.09.2009 - 12:18:20     Zitieren
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!
Flomavali
Mitglied
 Beitragspunkte

0 Mitglieder finden den Beitrag gut.

Merkliste 26.09.2009 - 12:52:02     Zitieren
Sieht mir immer mehr nach dem PremiumACC Modul mit Design-Erweiterung aus Lachen
olos
Mitglied
1 Beitragspunkte
Posts: 144

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 29.09.2009 - 09:44:17     Zitieren
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.
>>>> www.sts-clan.de
Akira
Mitglied
1 Beitragspunkte
Posts: 1368

User Pic

0 Mitglieder finden den Beitrag gut.

Merkliste 05.10.2009 - 15:57:49     Zitieren
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 ^^


www.torridOrbs.com/ref-1.html Visit Us Zwinker
Neue Scripte: JQuery Login usw... Turnier(www.torridorbs.com/?turnier), Multi-Bewertung, Refferer, Forum Upload, E-Mail login

[ Anmelden zum schreiben ]