ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Problem mit Trial-Counter Modul 1.0

Geschlossen
  1. #1
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Hallo zusammen

    Hab es zwar schon im Forum von DragonDesigns versucht, ist aber schon über nen Monat her und Antwort hab ich leider immer noch keine erhalten... Da es für uns relativ wichtig ist, das Teil zum laufen zu bringen, hoffe ich bei euch Hilfe zu erhalten - Nun also zum Problem:

    Hab ein hoffentlich kleines Problem mit dem Trial-Counter Modul 1.0 von Elb-Rocker. Wenn ich die Funktionsweise richtig verstanden habe, sollte ja eine PN an die Squadleader rausgehen, nachdem ein User seit X Tagen (definierbar im Adminbereich) die Berechtigung Trial vergeben bekommen hat. Nun geht in unserem Fall die PN immer gleich sofort raus, wenn ich einem User die Trial Berechtigung vergebe. Jemand eine Idee zur Lösung des Problems???

    Zusatz Frage: wo kann geändert werden, im Namen von welcher User ID die PN versendet wird?

    Vielen Dank schon im Voraus!

    Es grüsst sladee

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    bitte den Code posten
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Ups, in der Eile vergessen, hier mal die index und trailcounter php... falls nochwas benötigt wird, einfach bescheid geben - thx zwinker

    <?php
    #   Copyright by: Manuel
    #   Support: www.ilch.de
    
    define ( 'main' , TRUE );
    
    //Konfiguration zur Anzeige von Fehlern
    //Auf http://www.php.net/manual/de/function.error-reporting.php sind die verf&#65533;gbaren Modi aufgelistet
    
    //Seit php-5.3 ist eine Angabe der TimeZone Pflicht
    if (version_compare(phpversion(), '5.3') != -1) {
    	if (E_ALL > E_DEPRECATED) {
    		@error_reporting(E_ALL ^ E_NOTICE ^ E_DEPRECATED);
    	} else {
    		@error_reporting(E_ALL ^ E_NOTICE);
    	}
    	date_default_timezone_set('Europe/Berlin');
    } else {
    	@error_reporting(E_ALL ^ E_NOTICE);
    }
    @ini_set('display_errors','On');
    
    session_name  ('sid');
    session_start ();
    
    require_once ('include/includes/config.php');
    require_once ('include/includes/loader.php');
    
    db_connect();
    $allgAr = getAllgAr ();
    $menu = new menu();
    user_identification();
    if ( isset ( $_GET['messenger'] ) ) {
        require_once('include/includes/func/messenger.php');
    }
    site_statistic();
    
    // Trail-Counter
    require_once ('include/includes/func/trailcounter.php');
    // Trail-Counter Ende
    
    // Auto-IP-Ban Start
    require_once ('include/includes/func/autoipban.php');
    autoipban();
    // Auto-IP-Ban Ende
    
    if (is_admin()) { 
      require_once ('include/contents/'.$menu->get_url());
    } 
    
    if ( $allgAr['wartung'] == 1) {
      require_once ('include/contents/wartung.php');
    } else {
      require_once ('include/contents/'.$menu->get_url());
    }
    
    db_close();
    if (false) { //debugging aktivieren
    	debug('anzahl sql querys: '.$count_query_xyzXYZ);
    	debug('',1,true);
    }
    ?>


    <?php
    #   Copyright by: Elb-Rocker
    #   Support: http://dragondesigns.de/
    
    defined('main') or die('no direct access' );
    
    
    $query = db_query('SELECT `id`,`name` FROM `prefix_user` WHERE `trail_since` != 0 AND `trail_since` < "'.(time()+$allgAr['trail_days']*86400).'"');
    
    while ($row = @db_fetch_assoc($query))
    {
    	$text = str_replace('#user#', $row['name'], $allgAr['trail_pm']);
    	$query2 = db_query('SELECT `id` FROM `prefix_user` WHERE `recht` <= -5');
    
    	while ($row2 = @db_fetch_assoc($query2))
    	{
    		sendpm(1, $row2['id'], $allgAr['trail_bet'], $text);
    	}
        
    	db_query('UPDATE `prefix_user` SET `trail_since` = 0 WHERE `id` = '.$row['id']);
    }
    ?>


    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function user_get_group_list ($uid) {
        $l = 'Mitglied in Gruppen:<br />';
        $erg = db_query("SELECT prefix_groups.name FROM prefix_groupusers LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid WHERE prefix_groupusers.uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['name'] . '<br />';
        }
        return ($l);
    }
    
    function user_get_all_mod_list () {
        $l = '';
        $erg = db_query("SELECT DISTINCT name FROM prefix_modules WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            $x = $r['name'];
            $l .= '<th style="font-size: 9px; font-weight: normal;" title="' . $r['name'] . '" valign="bottom">' . $x . '</th>';
        }
        return ($l);
    }
    
    function user_get_mod_change_list ($uid) {
        $l = '';
        $erg = db_query("SELECT prefix_modules.id, uid FROM prefix_modules LEFT JOIN prefix_modulerights ON prefix_modulerights.mid = prefix_modules.id AND prefix_modulerights.uid = " . $uid . " WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            if ($r['uid'] == '') {
                $c = '';
            } else {
                $c = ' checked';
            }
            $l .= '<td align="center"><input onclick="changeModulRecht(' . $r['id'] . ',' . $uid . ')" type="checkbox" id="MN' . $r['id'] . '-' . $uid . '" name="MN' . $r['id'] . '-' . $uid . '" ' . $c . ' /></td>';
        }
        return ($l);
    }
    
    function user_get_mod_list ($uid) {
        $l = 'Modulrechte:<br />';
        $erg = db_query("SELECT DISTINCT module FROM prefix_modulerights WHERE uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['module'] . '<br />';
        }
        return ($l);
    }
    
    function getfl($gid) {
        $liste = '';
        $erg = db_query("SELECT view,name,reply,start,mods FROM prefix_forums WHERE view = " . $gid . " OR reply = " . $gid . " OR start = " . $gid . " OR mods = " . $gid);
        while ($row = db_fetch_assoc($erg)) {
            $v = ($row['view'] == $gid ? 'sehen/lesen,' : '');
            $r = ($row['reply'] == $gid ? 'antworten,' : '');
            $s = ($row['start'] == $gid ? 'Themen starten,' : '');
            $m = ($row['mods'] == $gid ? 'Moderieren,' : '');
            $liste .= $row['name'] . '<span class="smalfont">(' . $v . $r . $s . $m . ')</span>&nbsp;';
        }
        return($liste);
    }
    
    if (isset($_POST['action'])) {
    	$design = new design ('Admins Area', 'Admins Area', 0);
    	$design->header();
    	$wdtext = 'Es ist ein Fehler aufgetreten.';
    	if (chk_antispam('adminuser_action', true) and isset($_POST['uid'])) {
    		$uid = escape($_POST['uid'], 'integer');
    		switch($_POST['action']){
    			// einen user komplett loeschen
    			case 'deleteUser':
    				$name = get_n($uid);
    				if ($uid != 1 and !empty($name)) {
    					user_remove($uid);
    					$wdtext = 'Der User ' . $name . ' wurde erfolgreich gel&ouml;scht.';
    				}
    				break;
    			// das recht eines users aendern
    			case 'changeRight' :
    				$altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
    				$neues_recht = escape($_POST['newright'], 'integer');
    				if (($neues_recht > $_SESSION['authright'] AND $altes_recht > $_SESSION['authright']) OR ($_SESSION['authid'] == 1 AND $uid <> 1)) {
    
                // Trail-Account Set
                if ($neues_recht == -3 AND $altes_recht == -3) {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht." WHERE id = ".$uid;
                } else if ($neues_recht == -3) {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht.", trail_since = ".time()." WHERE id = ".$uid;
                } else {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht.", trail_since = 0 WHERE id = ".$uid;
                }
    
                db_query($q);
            }
    				$wdtext = false;
    			break;
    			// modulrechte fuer einen user aendern
    			case 'changeModulRight' :
    				$modul = escape($_POST['modul'], 'integer');
    				$aktion = $_POST['giveremove'];
    				if ($aktion == 'give' AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("INSERT INTO prefix_modulerights (mid,uid) VALUES ('" . $modul . "'," . $uid . ")");
    				} elseif ($aktion == 'remove' AND 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("DELETE FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid);
    				}
    				$wdtext = false;
    			break;
    		}
    	}
    	if ($wdtext === false) {
    		$antispam = get_antispam('adminuser_action', 0, true);
    		?><script type="text/javascript"><!--
    		    function updateParent() { parent.setNewAntispam(document.getElementById('tmp').childNodes[0]);}
    		    window.onload = function() { updateParent(); };
    		    //--></script>
    		    <div id="tmp"><?php echo $antispam; ?></div>
    		<?php
    		exit;
    	}
    	wd('admin.php?' . $menu->get_complete(), $wdtext, 5);
    	$design->footer(1);
    }
    
    $um = $menu->get(1);
    switch ($um) {
        default :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $q = '';
            if (isset($_REQUEST['q'])) {
                $q = escape($_REQUEST['q'], 'string');
            }
            $tpl = new tpl ('user/user', 1);
            $tpl->set('modlall', user_get_all_mod_list());
            $tpl->set('anzmods', db_result(db_query("SELECT COUNT(*) FROM prefix_modules WHERE fright = 1"), 0));
            $tpl->set('action_antispam', get_antispam('adminuser_action', 0, true));
            $tpl->set_out('q', unescape($q), 0);
    
            $q = str_replace('*', '%', $q);
            if (strpos($q, '%') === false) {
                $q = $q . '%';
            }
    
            $limit = 15; // Limit
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            $MPL = db_make_sites ($page , "WHERE name LIKE '" . $q . "'" , $limit , '?user' , 'user');
            $anfang = ($page - 1) * $limit;
            $class = '';
            $q = "SELECT name,recht,id FROM `prefix_user` WHERE name LIKE '" . $q . "' ORDER by recht,posts DESC LIMIT " . $anfang . "," . $limit;
            $erg = db_query($q);
            while ($row = db_fetch_object($erg)) {
                if ($class == 'Cmite') {
                    $class = 'Cnorm';
                } else {
                    $class = 'Cmite';
                }
                $ar = array ('name' => $row->name,
                    'class' => $class,
                    'id' => $row->id,
                    'grouplist' => user_get_group_list($row->id),
                    'recht' => dblistee($row->recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"),
                    'modslist' => user_get_mod_change_list($row->id),
                    );
    
                $tpl->set_ar_out($ar, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            $design->footer();
            break;
    
        // gruppen zugehoerigkeiten eines users aendern
        case 'gruppen' :
            $uid = $menu->get(2);
            if (isset($_POST['usergroups'])) {
                $erg = db_query("SELECT id FROM prefix_groups");
                while ($row = db_fetch_assoc($erg)) {
                    $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    if ($ck == 0 AND isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("INSERT INTO prefix_groupusers (uid,gid,fid) VALUES ( " . $uid . ", " . $row['id'] . ", 3 )");
                    } elseif ($ck == 1 AND !isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("DELETE FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    }
                }
            }
    
            $user_name = db_result(db_query("SELECT name FROM prefix_user WHERE id = " . $uid), 0);
            $tpl = new tpl ('user/gruppen', 1);
            $tpl->set_ar_out(array('username' => $user_name, 'userid' => $uid), 0);
            $class = 'Cnorm';
            $erg = db_query("SELECT name,id FROM prefix_groups");
            while ($row = db_fetch_assoc($erg)) {
                $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                $row['ck'] = ($ck == 0 ? '' : 'checked');
                $class = ($class == 'Cnorm' ? 'Cmite' : 'Cnorm');
                $row['class'] = $class;
                $tpl->set_ar_out($row, 1);
            }
            $tpl->out(2);
            break;
    
        // details eines users anzeigen
        case 1 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            if (isset ($_REQUEST['uID'])) {
                $uid = $_REQUEST['uID'];
            } else {
                $uid = $menu->get(2);
            }
            $erg = db_query("SELECT name,email,id,recht,wohnort,homepage,aim,msn,icq,yahoo,status,staat,gebdatum,sig,opt_pm,opt_pm_popup,opt_mail,geschlecht,spezrank,avatar FROM prefix_user WHERE id = '" . $uid . "'");
            if (db_num_rows($erg) == 0) {
                die ('Fehler: Username nicht gefunden <a href="?user">zur&uuml;ck</a>');
            } else {
                $row = db_fetch_assoc($erg);
    
                $tpl = new tpl ('user/details', 1);
                $row['recht'] = dbliste ($row['recht'] , $tpl, 'recht', "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC");
                $row['staat'] = '<option></option>' . arliste ($row['staat'] , get_nationality_array() , $tpl , 'staat');
                $row['spezrank'] = '<option></option>' . dbliste ($row['spezrank'], $tpl, 'spezrank', "SELECT id, bez FROM prefix_ranks WHERE spez = 1");
    
                $row['geschlecht0'] = ($row['geschlecht'] < 1 ? 'checked' : '');
                $row['geschlecht1'] = ($row['geschlecht'] == 1 ? 'checked' : '');
                $row['geschlecht2'] = ($row['geschlecht'] == 2 ? 'checked' : '');
                if ($row['status'] == 1) {
                    $row['status1'] = 'checked';
                    $row['status0'] = '';
                } else {
                    $row['status1'] = '';
                    $row['status0'] = 'checked';
                }
                if ($row['opt_mail'] == 1) {
                    $row['opt_mail1'] = 'checked';
                    $row['opt_mail0'] = '';
                } else {
                    $row['opt_mail1'] = '';
                    $row['opt_mail0'] = 'checked';
                }
                if ($row['opt_pm'] == 1) {
                    $row['opt_pm1'] = 'checked';
                    $row['opt_pm0'] = '';
                } else {
                    $row['opt_pm1'] = '';
                    $row['opt_pm0'] = 'checked';
                }
                if ($row['opt_pm_popup'] == 1) {
                    $row['opt_pm_popup1'] = 'checked';
                    $row['opt_pm_popup0'] = '';
                } else {
                    $row['opt_pm_popup1'] = '';
                    $row['opt_pm_popup0'] = 'checked';
                }
                if (@file_exists($row['avatar'])) {
                    $row['avatar'] = '<img src="' . $row['avatar'] . '" border="0" /><br />' ;
                }else {
                    $row['avatar'] = '';
                }
                $row['antispam'] = get_antispam('adminuser', 0, true);
                $tpl->set_ar_out ($row, 0);
    
                profilefields_change ($row['id']);
    
                $tpl->out(1);
            }
            $design->footer();
            break;
        // details des users aendern
        case 2 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $changeok = true;
            $uid = escape($_POST['uID'], 'integer');
    
            $altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
            $neues_recht = escape($_POST['urecht'], 'integer');
            if (($neues_recht <= $_SESSION['authright'] OR $altes_recht <= $_SESSION['authright']) AND $_SESSION['authid'] > 1) {
                $changeok = false;
            }
    
            if ($changeok and chk_antispam('adminuser', true)) {
    // Trail-Account Set
            if ($neues_recht == -3 AND $altes_recht == -3) {
                $trail_since = 'trail_since';
            } else if ($neues_recht == -3) {
                $trail_since = time();
            } else {
                $trail_since = 0;
            }
                if (isset($_POST['userdel'])) {
                    user_remove($uid);
                    wd ('?user', 'User wurde erfolgreich gel&ouml;scht');
                } else {
                    $abf = "SELECT * FROM prefix_user WHERE id = '" . $uid . "'";
                    $erg = db_query($abf);
                    $row = db_fetch_object($erg);
    
                    if (isset($_POST['passw'])) {
                        $newPass = genkey (8);
                        $newPassMD5 = md5($newPass);
                        icmail ($row->email , 'neues Password' , "Hallo\n\nDein Password wurde soeben von einem Administrator g&#65533;endert es ist nun:\n\n$newPass\n\nGru&#65533; der Administrator");
                        db_query('UPDATE `prefix_user` SET pass = "' . $newPassMD5 . '" WHERE id = "' . escape($_POST['uID'], 'integer') . '"');
                    }
                    // avatar speichern START
                    $avatar_sql_update = '';
                    if (!empty ($_FILES['avatarfile']['name'])) {
                        $file_tmpe = $_FILES['avatarfile']['tmp_name'];
                        $rile_type = ic_mime_type ($_FILES['avatarfile']['tmp_name']);
                        $file_type = $_FILES['avatarfile']['type'];
                        $file_size = $_FILES['avatarfile']['size'];
                        $fmsg = $lang['avatarisnopicture'];
                        $size = @getimagesize ($file_tmpe);
                        $endar = array (1 => 'gif', 2 => 'jpg', 3 => 'png');
                        if (($size[2] == 1 OR $size[2] == 2 OR $size[2] == 3) AND $size[0] > 10 AND $size[1] > 10 AND substr ($file_type , 0 , 6) == 'image/' AND substr ($rile_type , 0 , 6) == 'image/') {
                            $endung = $endar[$size[2]];
                            $breite = $size[0];
                            $hoehe = $size[1];
                            $neuer_name = 'include/images/avatars/' . $uid . '.' . $endung;
                            @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                            move_uploaded_file ($file_tmpe , $neuer_name);
                            @chmod($neuer_name, 0777);
                            $avatar_sql_update = ', avatar = "' . $neuer_name . '"';
                            $fmsg = $lang['pictureuploaded'];
                        }
                    } elseif (isset($_POST['avatardel'])) {
                        $fmsg = $lang['picturedelete'];
                        @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                        $avatar_sql_update = ', avatar = ""';
                    }
                    // avatar speichern ENDE
                    profilefields_change_save (escape($_POST['uID'], 'integer'));
                    $usaName1 = escape($_POST['usaName1'], 'string');
                    $email = escape($_POST['email'], 'string');
                    $homepage = escape($_POST['homepage'], 'string');
                    $wohnort = escape($_POST['wohnort'], 'string');
                    $icq = escape($_POST['icq'], 'string');
                    $msn = escape($_POST['msn'], 'string');
                    $yahoo = escape($_POST['yahoo'], 'string');
                    $aim = escape($_POST['aim'], 'string');
                    $staat = escape($_POST['staat'], 'string');
                    $spezrank = escape($_POST['spezrank'], 'integer');
                    $geschlecht = escape($_POST['geschlecht'], 'integer');
                    $status = escape($_POST['status'], 'integer');
                    $opt_mail = escape($_POST['opt_mail'], 'integer');
                    $opt_pm = escape($_POST['opt_pm'], 'integer');
                    $opt_pm_popup = escape($_POST['opt_pm_popup'], 'integer');
                    $gebdatum = escape($_POST['gebdatum'], 'string');
                    $sig = escape($_POST['sig'], 'string');
                    // Name im Forum &#65533;ndern
                    if ($_POST['forumname'] == 'on') {
                        $oldname = db_count_query("SELECT name FROM `prefix_user` WHERE id =" . $uid);
                        if ($oldname != $usaName1) {
                            db_query("UPDATE `prefix_posts` SET erst = '$usaName1' WHERE erstid = " . $uid);
                            db_query("UPDATE `prefix_topics` SET erst = '$usaName1' WHERE erst = '$oldname'");
                        }
                    }
                    db_query('UPDATE prefix_user
    			  SET
    					name  = "' . $usaName1 . '",
    					recht = "' . $neues_recht . '",
    					email = "' . $email . '",
              homepage = "' . $homepage . '",
              wohnort = "' . $wohnort . '",
              icq = "' . $icq . '",
              msn = "' . $msn . '",
              yahoo = "' . $yahoo . '",
              aim = "' . $aim . '",
              staat = "' . $staat . '",
              spezrank = "' . $spezrank . '",
              geschlecht = "' . $geschlecht . '",
              status = "' . $status . '",
              opt_mail = "' . $opt_mail . '",
              opt_pm = "' . $opt_pm . '",
              opt_pm_popup = "' . $opt_pm_popup . '",
              gebdatum = "' . $gebdatum . '",
              sig = "'.$sig.'",
            trail_since = '.$trail_since.'
              ' . $avatar_sql_update . '
    				WHERE id = "' . $uid . '"');
                }
            }
            wd('admin.php?user-1-' . $uid, 'Das Profil wurde erfolgreich geaendert', 2);
            $design->footer();
            break;
        // mal kurz nen neuen user anlegen
        case 'createNewUser' :
            $msg = '';
            if (!empty($_POST['name']) AND !empty($_POST['pass']) AND !empty($_POST['email']) and chk_antispam('adminuser_create', true)) {
                $_POST['name'] = escape($_POST['name'], 'string');
                $_POST['recht'] = escape($_POST['recht'], 'integer');
                $_POST['email'] = escape($_POST['email'], 'string');
                $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '" . $_POST['name'] . "'");
                if (db_num_rows($erg) > 0) {
                    $msg = 'Der Name ist leider schon vorhanden!';
                } else {
                    $new_pass = $_POST['pass'];
                    $md5_pass = md5($new_pass);
    if ($_POST['recht'] == -3) {
                $trail = time();
            } else {
                $trail = 0;
            }
                    db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,trail_since)
            VALUES('".$_POST['name']."','".$md5_pass."',".$_POST['recht'].",'".time()."','".time()."','".$_POST['email']."',".$trail.")");
                    $userid = db_last_id();
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",2,'1')");
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",3,'1')");
    
                    if (isset($_POST['info'])) {
                        $page = $_SERVER["HTTP_HOST"] . $_SERVER["SCRIPT_NAME"];
                        $page = str_replace('admin.php', 'index.php', $page);
                        $tpl = new tpl ('user/new_user_email', 1);
                        $tpl->set('name', $_POST['name']);
                        $tpl->set('pass', $_POST['pass']);
                        $tpl->set('page', $page);
                        $txt = $tpl->get(0);
                        unset($tpl);
                        icmail ($_POST['email'], 'Admin hat dich angelegt', $txt);
                    }
                    $msg = 'Benutzer angelegt <a href="javascript:closeThisWindow()">Fenster schlie&#65533;en</a>';
                }
            }
            $pass = '';
            $email = '';
            $recht = '';
            if (isset($_POST['pass'])) {
                $pass = $_POST['pass'];
            }
            if (isset($_POST['email'])) {
                $email = $_POST['email'];
            }
            if (isset($_POST['recht'])) {
                $recht = $_POST['recht'];
            } else {
                $recht = '-1';
            }
            $tpl = new tpl ('user/new_user', 1);
            $tpl->set('msg', $msg);
            $tpl->set('pass', $pass);
            $tpl->set('email', $email);
            $tpl->set('recht', dblistee($recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"));
        	$tpl->set('antispam', get_antispam('adminuser_create', 0, true));
            $tpl->out(0);
            break;
    }
    
    ?>



    Zuletzt modifiziert von sladee am 25.04.2013 - 14:39:21
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Abgesehen davon das das mal gegen jede richtlinie die wir hier anwenden geht, Vermute ich ein Zeit Problem.

    Allerdings müsste ich noch den Code aus dem AdminBereich sehen der das Datenbank Feld trail_since füttert.

    Falls es ein Zeitproblem ist:

    externer Link

    Ansonsten währe es interessant zu sehen was in der db steht ^^
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Wie meinst jetzt das - "das mal gegen jede richtlinie die wir hier anwenden geht"?

    Hab die admin/user.php im oberen Post noch eingefügt, dass alles zusammen ist zwinker
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Das Modul war definitv nicht im Beta test

    es includiert funktionen in der index.php ... und nicht in der der loader.php wo es hingehören würde

    Die Formatierung passt nicht wir haben uns da auf nen standart geeinigt..
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ohja da hat rock@wulf eindeutig recht das modul macht viele unerwünschte sachen
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Okay kann ich nachvollziehen!

    Bin ja aber auch nur ein "user" der sich auf einer Seite die ilch Module anbietet was gezogen hat - ergo gehe ich davon aus, dass es getestet wurde (von wem auch immer ^^) und funktionieren sollte...

    Es wär jedenfalls sehr nice, wenn wir es irgendwie zum funktionieren bringen könnten - da ich die Funtion als solches echt cool und hilfreich finde zwinker

    Sollte es aber nicht gehen, schmeiss ich's wieder runter und sag unseren Squadleadern sie sollen sich selbst nen Reminder im iPhone setzen ^^
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    was steht denn in der Datenbank? install.php ausgeführt?
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Trucker-Siggi Mitglied
    Registriert seit
    21.11.2010
    Beiträge
    740
    Beitragswertungen
    41 Beitragspunkte
    dann solltest du dich an den ersteller wenden!
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ZitatZitat geschrieben von SiV-Siggi

    dann solltest du dich an den ersteller wenden!


    sagte er ja schon das es dort keine reaktion gibt
    1 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    ZitatZitat geschrieben von Rockwulf

    was steht denn in der Datenbank? install.php ausgeführt?


    Na klar hab ich die install.php ausgeführt zwinker

    Was bräuchtest denn aus der Datenbank, nen kompletten auszug vom server weg? (Sorry für die "doofe" Frage, hab an der DB noch nie was gemacht, ausser Backups)

    @holz: thx ^^
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    der Auszug aus der user db feld trial since würde reichen
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Hoffe hab das gefunden was du brauchst ^^

    `trail_since` int(12) NOT NULL,
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    nein er würde gerne wissen was der inhalt ist ... geh mal oben links auf anzeigen in php my admin
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    achsooo...^^

    nun ja, da steht mal einfach bei jedem "0" drin, was aber sicherlich auch daher kommt, dass ich niemandem die Berechtigung Trial mehr vergeben habe, da ja sonst immer gleich die PN an die Squadleader raus ging.


    Zuletzt modifiziert von sladee am 25.04.2013 - 16:01:24
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    holz Hall Of Fame
    Registriert seit
    17.11.2005
    Beiträge
    4.606
    Beitragswertungen
    117 Beitragspunkte
    ja dann mach das mal noch einmal bei dir oder so und schau noch was da dann drinsteht
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Also hab nem User nun die Berechtigung Trial vergeben, die PN ging wieder sofort raus und im Feld trial_since steht immernoch eine "0"
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    vorher das include in der index.php auskommentieren

    // Trail-Counter
    #require_once ('include/includes/func/trailcounter.php');
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    gemacht!

    nun ging die PN nicht raus und im Feld steht nun "1366918664"

    bedeutet das was gutes? lachen
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    prinzipiell schon...

    was steht denn im admijn bereich unter konfig Trial days?
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    also eingetragen sind 30 Tage... ich nehme aber an, du meinst wieder an einem speziellen Ort, oder? Dann müsstest mir noch genauer sagen wo ich nachschauen muss zwinker

    Also in der DB steht auch einfach 30


    Zuletzt modifiziert von sladee am 25.04.2013 - 22:22:46
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    morgen gähn ich muss ins bett syr
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Kein Ding, bin schon froh das mir dabei hilfst zwinker

    Gute Nacht also!
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Guten Morggähn
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Autsch tut das weh.....

    Also das Modul ist und bleibt schlicht Müll, ist aber eine nette Idee.

    Also zu Erklärung:

    <?php
    // Copyright by: Manuel
    // Support: www.ilch.de
    defined ('main') or die ('no direct access');
    defined ('admin') or die ('only admin access');
    
    function user_get_group_list ($uid) {
        $l = 'Mitglied in Gruppen:<br />';
        $erg = db_query("SELECT prefix_groups.name FROM prefix_groupusers LEFT JOIN prefix_groups ON prefix_groups.id = prefix_groupusers.gid WHERE prefix_groupusers.uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['name'] . '<br />';
        }
        return ($l);
    }
    
    function user_get_all_mod_list () {
        $l = '';
        $erg = db_query("SELECT DISTINCT name FROM prefix_modules WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            $x = $r['name'];
            $l .= '<th style="font-size: 9px; font-weight: normal;" title="' . $r['name'] . '" valign="bottom">' . $x . '</th>';
        }
        return ($l);
    }
    
    function user_get_mod_change_list ($uid) {
        $l = '';
        $erg = db_query("SELECT prefix_modules.id, uid FROM prefix_modules LEFT JOIN prefix_modulerights ON prefix_modulerights.mid = prefix_modules.id AND prefix_modulerights.uid = " . $uid . " WHERE fright = 1 ORDER BY prefix_modules.name");
        while ($r = db_fetch_assoc($erg)) {
            if ($r['uid'] == '') {
                $c = '';
            } else {
                $c = ' checked';
            }
            $l .= '<td align="center"><input onclick="changeModulRecht(' . $r['id'] . ',' . $uid . ')" type="checkbox" id="MN' . $r['id'] . '-' . $uid . '" name="MN' . $r['id'] . '-' . $uid . '" ' . $c . ' /></td>';
        }
        return ($l);
    }
    
    function user_get_mod_list ($uid) {
        $l = 'Modulrechte:<br />';
        $erg = db_query("SELECT DISTINCT module FROM prefix_modulerights WHERE uid = " . $uid);
        while ($r = db_fetch_assoc($erg)) {
            $l .= '- ' . $r['module'] . '<br />';
        }
        return ($l);
    }
    
    function getfl($gid) {
        $liste = '';
        $erg = db_query("SELECT view,name,reply,start,mods FROM prefix_forums WHERE view = " . $gid . " OR reply = " . $gid . " OR start = " . $gid . " OR mods = " . $gid);
        while ($row = db_fetch_assoc($erg)) {
            $v = ($row['view'] == $gid ? 'sehen/lesen,' : '');
            $r = ($row['reply'] == $gid ? 'antworten,' : '');
            $s = ($row['start'] == $gid ? 'Themen starten,' : '');
            $m = ($row['mods'] == $gid ? 'Moderieren,' : '');
            $liste .= $row['name'] . '<span class="smalfont">(' . $v . $r . $s . $m . ')</span>&nbsp;';
        }
        return($liste);
    }
    
    if (isset($_POST['action'])) {
    	$design = new design ('Admins Area', 'Admins Area', 0);
    	$design->header();
    	$wdtext = 'Es ist ein Fehler aufgetreten.';
    	if (chk_antispam('adminuser_action', true) and isset($_POST['uid'])) {
    		$uid = escape($_POST['uid'], 'integer');
    		switch($_POST['action']){
    			// einen user komplett loeschen
    			case 'deleteUser':
    				$name = get_n($uid);
    				if ($uid != 1 and !empty($name)) {
    					user_remove($uid);
    					$wdtext = 'Der User ' . $name . ' wurde erfolgreich gel&ouml;scht.';
    				}
    				break;
    			// das recht eines users aendern
    			case 'changeRight' :
    				$altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
    				$neues_recht = escape($_POST['newright'], 'integer');
    				if (($neues_recht > $_SESSION['authright'] AND $altes_recht > $_SESSION['authright']) OR ($_SESSION['authid'] == 1 AND $uid <> 1)) {
    
                // Trail-Account Set
                if ($neues_recht == -3 AND $altes_recht == -3) {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht." WHERE id = ".$uid;
                } else if ($neues_recht == -3) {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht.", trail_since = ".time()." WHERE id = ".$uid;
                } else {
                    $q = "UPDATE prefix_user SET recht = ".$neues_recht.", trail_since = 0 WHERE id = ".$uid;
                }
    
                db_query($q);
            }
    				$wdtext = false;
    			break;
    			// modulrechte fuer einen user aendern
    			case 'changeModulRight' :
    				$modul = escape($_POST['modul'], 'integer');
    				$aktion = $_POST['giveremove'];
    				if ($aktion == 'give' AND 0 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("INSERT INTO prefix_modulerights (mid,uid) VALUES ('" . $modul . "'," . $uid . ")");
    				} elseif ($aktion == 'remove' AND 1 == db_result(db_query("SELECT COUNT(*) FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid), 0)) {
    					db_query("DELETE FROM prefix_modulerights WHERE mid = '" . $modul . "' AND uid = " . $uid);
    				}
    				$wdtext = false;
    			break;
    		}
    	}
    	if ($wdtext === false) {
    		$antispam = get_antispam('adminuser_action', 0, true);
    		?><script type="text/javascript"><!--
    		    function updateParent() { parent.setNewAntispam(document.getElementById('tmp').childNodes[0]);}
    		    window.onload = function() { updateParent(); };
    		    //--></script>
    		    <div id="tmp"><?php echo $antispam; ?></div>
    		<?php
    		exit;
    	}
    	wd('admin.php?' . $menu->get_complete(), $wdtext, 5);
    	$design->footer(1);
    }
    
    $um = $menu->get(1);
    switch ($um) {
        default :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $q = '';
            if (isset($_REQUEST['q'])) {
                $q = escape($_REQUEST['q'], 'string');
            }
            $tpl = new tpl ('user/user', 1);
            $tpl->set('modlall', user_get_all_mod_list());
            $tpl->set('anzmods', db_result(db_query("SELECT COUNT(*) FROM prefix_modules WHERE fright = 1"), 0));
            $tpl->set('action_antispam', get_antispam('adminuser_action', 0, true));
            $tpl->set_out('q', unescape($q), 0);
    
            $q = str_replace('*', '%', $q);
            if (strpos($q, '%') === false) {
                $q = $q . '%';
            }
    
            $limit = 15; // Limit
            $page = ($menu->getA(1) == 'p' ? $menu->getE(1) : 1);
            $MPL = db_make_sites ($page , "WHERE name LIKE '" . $q . "'" , $limit , '?user' , 'user');
            $anfang = ($page - 1) * $limit;
            $class = '';
            $q = "SELECT name,recht,id FROM `prefix_user` WHERE name LIKE '" . $q . "' ORDER by recht,posts DESC LIMIT " . $anfang . "," . $limit;
            $erg = db_query($q);
            while ($row = db_fetch_object($erg)) {
                if ($class == 'Cmite') {
                    $class = 'Cnorm';
                } else {
                    $class = 'Cmite';
                }
                $ar = array ('name' => $row->name,
                    'class' => $class,
                    'id' => $row->id,
                    'grouplist' => user_get_group_list($row->id),
                    'recht' => dblistee($row->recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"),
                    'modslist' => user_get_mod_change_list($row->id),
                    );
    
                $tpl->set_ar_out($ar, 1);
            }
            $tpl->set_out('MPL', $MPL, 2);
            $design->footer();
            break;
    
        // gruppen zugehoerigkeiten eines users aendern
        case 'gruppen' :
            $uid = $menu->get(2);
            if (isset($_POST['usergroups'])) {
                $erg = db_query("SELECT id FROM prefix_groups");
                while ($row = db_fetch_assoc($erg)) {
                    $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    if ($ck == 0 AND isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("INSERT INTO prefix_groupusers (uid,gid,fid) VALUES ( " . $uid . ", " . $row['id'] . ", 3 )");
                    } elseif ($ck == 1 AND !isset ($_POST['grprhave'][$row['id']][$uid])) {
                        db_query("DELETE FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                    }
                }
            }
    
            $user_name = db_result(db_query("SELECT name FROM prefix_user WHERE id = " . $uid), 0);
            $tpl = new tpl ('user/gruppen', 1);
            $tpl->set_ar_out(array('username' => $user_name, 'userid' => $uid), 0);
            $class = 'Cnorm';
            $erg = db_query("SELECT name,id FROM prefix_groups");
            while ($row = db_fetch_assoc($erg)) {
                $ck = db_count_query("SELECT COUNT(uid) FROM prefix_groupusers WHERE uid = " . $uid . " AND gid = " . $row['id']);
                $row['ck'] = ($ck == 0 ? '' : 'checked');
                $class = ($class == 'Cnorm' ? 'Cmite' : 'Cnorm');
                $row['class'] = $class;
                $tpl->set_ar_out($row, 1);
            }
            $tpl->out(2);
            break;
    
        // details eines users anzeigen
        case 1 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            if (isset ($_REQUEST['uID'])) {
                $uid = $_REQUEST['uID'];
            } else {
                $uid = $menu->get(2);
            }
            $erg = db_query("SELECT name,email,id,recht,wohnort,homepage,aim,msn,icq,yahoo,status,staat,gebdatum,sig,opt_pm,opt_pm_popup,opt_mail,geschlecht,spezrank,avatar FROM prefix_user WHERE id = '" . $uid . "'");
            if (db_num_rows($erg) == 0) {
                die ('Fehler: Username nicht gefunden <a href="?user">zur&uuml;ck</a>');
            } else {
                $row = db_fetch_assoc($erg);
    
                $tpl = new tpl ('user/details', 1);
                $row['recht'] = dbliste ($row['recht'] , $tpl, 'recht', "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC");
                $row['staat'] = '<option></option>' . arliste ($row['staat'] , get_nationality_array() , $tpl , 'staat');
                $row['spezrank'] = '<option></option>' . dbliste ($row['spezrank'], $tpl, 'spezrank', "SELECT id, bez FROM prefix_ranks WHERE spez = 1");
    
                $row['geschlecht0'] = ($row['geschlecht'] < 1 ? 'checked' : '');
                $row['geschlecht1'] = ($row['geschlecht'] == 1 ? 'checked' : '');
                $row['geschlecht2'] = ($row['geschlecht'] == 2 ? 'checked' : '');
                if ($row['status'] == 1) {
                    $row['status1'] = 'checked';
                    $row['status0'] = '';
                } else {
                    $row['status1'] = '';
                    $row['status0'] = 'checked';
                }
                if ($row['opt_mail'] == 1) {
                    $row['opt_mail1'] = 'checked';
                    $row['opt_mail0'] = '';
                } else {
                    $row['opt_mail1'] = '';
                    $row['opt_mail0'] = 'checked';
                }
                if ($row['opt_pm'] == 1) {
                    $row['opt_pm1'] = 'checked';
                    $row['opt_pm0'] = '';
                } else {
                    $row['opt_pm1'] = '';
                    $row['opt_pm0'] = 'checked';
                }
                if ($row['opt_pm_popup'] == 1) {
                    $row['opt_pm_popup1'] = 'checked';
                    $row['opt_pm_popup0'] = '';
                } else {
                    $row['opt_pm_popup1'] = '';
                    $row['opt_pm_popup0'] = 'checked';
                }
                if (@file_exists($row['avatar'])) {
                    $row['avatar'] = '<img src="' . $row['avatar'] . '" border="0" /><br />' ;
                }else {
                    $row['avatar'] = '';
                }
                $row['antispam'] = get_antispam('adminuser', 0, true);
                $tpl->set_ar_out ($row, 0);
    
                profilefields_change ($row['id']);
    
                $tpl->out(1);
            }
            $design->footer();
            break;
        // details des users aendern
        case 2 :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $changeok = true;
            $uid = escape($_POST['uID'], 'integer');
    
            $altes_recht = db_result(db_query("SELECT recht FROM prefix_user WHERE id = " . $uid), 0);
            $neues_recht = escape($_POST['urecht'], 'integer');
            if (($neues_recht <= $_SESSION['authright'] OR $altes_recht <= $_SESSION['authright']) AND $_SESSION['authid'] > 1) {
                $changeok = false;
            }
    
            if ($changeok and chk_antispam('adminuser', true)) {
    			// Trail-Account Set
            if ($neues_recht == -3 AND $altes_recht == -3) {
                $trail_since = 'trail_since';
            } else if ($neues_recht == -3) {
                $trail_since = time();
            } else {
                $trail_since = 0;
            }
                if (isset($_POST['userdel'])) {
                    user_remove($uid);
                    wd ('?user', 'User wurde erfolgreich gel&ouml;scht');
                } else {
                    $abf = "SELECT * FROM prefix_user WHERE id = '" . $uid . "'";
                    $erg = db_query($abf);
                    $row = db_fetch_object($erg);
    
                    if (isset($_POST['passw'])) {
                        $newPass = genkey (8);
                        $newPassMD5 = md5($newPass);
                        icmail ($row->email , 'neues Password' , "Hallo\n\nDein Password wurde soeben von einem Administrator gäendert es ist nun:\n\n$newPass\n\nGruß der Administrator");
                        db_query('UPDATE `prefix_user` SET pass = "' . $newPassMD5 . '" WHERE id = "' . escape($_POST['uID'], 'integer') . '"');
                    }
                    // avatar speichern START
                    $avatar_sql_update = '';
                    if (!empty ($_FILES['avatarfile']['name'])) {
                        $file_tmpe = $_FILES['avatarfile']['tmp_name'];
                        $rile_type = ic_mime_type ($_FILES['avatarfile']['tmp_name']);
                        $file_type = $_FILES['avatarfile']['type'];
                        $file_size = $_FILES['avatarfile']['size'];
                        $fmsg = $lang['avatarisnopicture'];
                        $size = @getimagesize ($file_tmpe);
                        $endar = array (1 => 'gif', 2 => 'jpg', 3 => 'png');
                        if (($size[2] == 1 OR $size[2] == 2 OR $size[2] == 3) AND $size[0] > 10 AND $size[1] > 10 AND substr ($file_type , 0 , 6) == 'image/' AND substr ($rile_type , 0 , 6) == 'image/') {
                            $endung = $endar[$size[2]];
                            $breite = $size[0];
                            $hoehe = $size[1];
                            $neuer_name = 'include/images/avatars/' . $uid . '.' . $endung;
                            @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                            move_uploaded_file ($file_tmpe , $neuer_name);
                            @chmod($neuer_name, 0777);
                            $avatar_sql_update = ', avatar = "' . $neuer_name . '"';
                            $fmsg = $lang['pictureuploaded'];
                        }
                    } elseif (isset($_POST['avatardel'])) {
                        $fmsg = $lang['picturedelete'];
                        @unlink (db_result(db_query("SELECT avatar FROM prefix_user WHERE id = " . $uid), 0));
                        $avatar_sql_update = ', avatar = ""';
                    }
                    // avatar speichern ENDE
                    profilefields_change_save (escape($_POST['uID'], 'integer'));
                    $usaName1 = escape($_POST['usaName1'], 'string');
                    $email = escape($_POST['email'], 'string');
                    $homepage = escape($_POST['homepage'], 'string');
                    $wohnort = escape($_POST['wohnort'], 'string');
                    $icq = escape($_POST['icq'], 'string');
                    $msn = escape($_POST['msn'], 'string');
                    $yahoo = escape($_POST['yahoo'], 'string');
                    $aim = escape($_POST['aim'], 'string');
                    $staat = escape($_POST['staat'], 'string');
                    $spezrank = escape($_POST['spezrank'], 'integer');
                    $geschlecht = escape($_POST['geschlecht'], 'integer');
                    $status = escape($_POST['status'], 'integer');
                    $opt_mail = escape($_POST['opt_mail'], 'integer');
                    $opt_pm = escape($_POST['opt_pm'], 'integer');
                    $opt_pm_popup = escape($_POST['opt_pm_popup'], 'integer');
                    $gebdatum = escape($_POST['gebdatum'], 'string');
                    $sig = escape($_POST['sig'], 'string');
                    // Name im Forum ändern
                    if ($_POST['forumname'] == 'on') {
                        $oldname = db_count_query("SELECT name FROM `prefix_user` WHERE id =" . $uid);
                        if ($oldname != $usaName1) {
                            db_query("UPDATE `prefix_posts` SET erst = '$usaName1' WHERE erstid = " . $uid);
                            db_query("UPDATE `prefix_topics` SET erst = '$usaName1' WHERE erst = '$oldname'");
                        }
                    }
                    db_query('UPDATE prefix_user
    			  SET
    					name  = "' . $usaName1 . '",
    					recht = "' . $neues_recht . '",
    					email = "' . $email . '",
              homepage = "' . $homepage . '",
              wohnort = "' . $wohnort . '",
              icq = "' . $icq . '",
              msn = "' . $msn . '",
              yahoo = "' . $yahoo . '",
              aim = "' . $aim . '",
              staat = "' . $staat . '",
              spezrank = "' . $spezrank . '",
              geschlecht = "' . $geschlecht . '",
              status = "' . $status . '",
              opt_mail = "' . $opt_mail . '",
              opt_pm = "' . $opt_pm . '",
              opt_pm_popup = "' . $opt_pm_popup . '",
              gebdatum = "' . $gebdatum . '",
              sig = "'.$sig.'",
              trail_since = '.$trail_since.'
              ' . $avatar_sql_update . '
    				WHERE id = "' . $uid . '"');
                }
            }
            wd('admin.php?user-1-' . $uid, 'Das Profil wurde erfolgreich geaendert', 2);
            $design->footer();
            break;
        // mal kurz nen neuen user anlegen
        case 'createNewUser' :
            $msg = '';
            if (!empty($_POST['name']) AND !empty($_POST['pass']) AND !empty($_POST['email']) and chk_antispam('adminuser_create', true)) {
                $_POST['name'] = escape($_POST['name'], 'string');
                $_POST['recht'] = escape($_POST['recht'], 'integer');
                $_POST['email'] = escape($_POST['email'], 'string');
                $erg = db_query("SELECT id FROM prefix_user WHERE name = BINARY '" . $_POST['name'] . "'");
                if (db_num_rows($erg) > 0) {
                    $msg = 'Der Name ist leider schon vorhanden!';
                } else {
                    $new_pass = $_POST['pass'];
                    $md5_pass = md5($new_pass);
    				        if ($_POST['recht'] == -3) {
                $trail = time();
            } else {
                $trail = 0;
            }
            db_query("INSERT INTO prefix_user (name,pass,recht,regist,llogin,email,trail_since)
            VALUES('".$_POST['name']."','".$md5_pass."',".$_POST['recht'].",'".time()."','".time()."','".$_POST['email']."',".$trail.")");
                    $userid = db_last_id();
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",2,'1')");
                    db_query("INSERT INTO prefix_userfields (uid,fid,val) VALUES (" . $userid . ",3,'1')");
    
                    if (isset($_POST['info'])) {
                        $page = $_SERVER["HTTP_HOST"] . $_SERVER["SCRIPT_NAME"];
                        $page = str_replace('admin.php', 'index.php', $page);
                        $tpl = new tpl ('user/new_user_email', 1);
                        $tpl->set('name', $_POST['name']);
                        $tpl->set('pass', $_POST['pass']);
                        $tpl->set('page', $page);
                        $txt = $tpl->get(0);
                        unset($tpl);
                        icmail ($_POST['email'], 'Admin hat dich angelegt', $txt);
                    }
                    $msg = 'Benutzer angelegt <a href="javascript:closeThisWindow()">Fenster schließen</a>';
                }
            }
            $pass = '';
            $email = '';
            $recht = '';
            if (isset($_POST['pass'])) {
                $pass = $_POST['pass'];
            }
            if (isset($_POST['email'])) {
                $email = $_POST['email'];
            }
            if (isset($_POST['recht'])) {
                $recht = $_POST['recht'];
            } else {
                $recht = '-1';
            }
            $tpl = new tpl ('user/new_user', 1);
            $tpl->set('msg', $msg);
            $tpl->set('pass', $pass);
            $tpl->set('email', $email);
            $tpl->set('recht', dblistee($recht, "SELECT id,name FROM prefix_grundrechte ORDER BY id ASC"));
        	$tpl->set('antispam', get_antispam('adminuser_create', 0, true));
            $tpl->out(0);
            break;
    }
    
    ?>


    Hier wird trial_since als jetzt bzw Zeitpunkt der änderung bestimmt, wir nehmen an "1366918664"

    Ruft man jetzt die seite neu auf passiert das:

    <?php
    #   Copyright by: Elb-Rocker
    #   Support: http://dragondesigns.de/
    
    defined('main') or die('no direct access' );
    
    
    $query = db_query('SELECT `id`,`name` FROM `prefix_user` WHERE `trail_since` != 0 AND `trail_since` < "'.(time()+$allgAr['trail_days']*86400).'"');
    
    while ($row = @db_fetch_assoc($query))
    {
    	$text = str_replace('#user#', $row['name'], $allgAr['trail_pm']);
    	$query2 = db_query('SELECT `id` FROM `prefix_user` WHERE `recht` <= -5');
    
    	while ($row2 = @db_fetch_assoc($query2))
    	{
    		sendpm(1, $row2['id'], $allgAr['trail_bet'], $text);
    	}
        
    	db_query('UPDATE `prefix_user` SET `trail_since` = 0 WHERE `id` = '.$row['id']);
    }
    ?>


    In Zeile 8 werden alle Einträge wo der Wert im Feld trail_since ungleich 0 und trail_since < Jetzt + Eingestellte Tage im Adminbereich *86400 weil wert in Sekunden.

    Aufgelöst sieht das dann so aus wenn man annimt es sei eine Minute seit der änderung vergangen:

    1366918724 + 2592000 = 1369510724


    So was stand jetzt gleich nochmal in der Tabelle?

    Ah genau also ist 1366918664 < 1369510724 ?

    Gut soviel dazu das Script macht genau das was der Programmierer wollte das es tut nicht bestimmungsgemäß richtig funktionieren.

    Ah wenn man es gern hätte das es bestimmungsgemäß funktioniert muss man folgendes ändern:

    $query = db_query('SELECT `id`,`name` FROM `prefix_user` WHERE `trail_since` != 0 AND `trail_since` < "'.(time()-$allgAr['trail_days']*86400).'"');


    in der trialcounter.php Zeile 8


    Zuletzt modifiziert von Rock@wulf am 26.04.2013 - 07:41:05
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Moin zwinker

    Also wenn ich die Änderung an der trialcounter.php Zeile 8 vornehme, sollte es korrekt funktionieren, richtig?

    Wenn die Antwort ja lautet, wär noch die Frage offen, ob es eine Möglichkeit gibt zu bestimmen, im Namen welcher User ID die Reminder PN versendet wird?... denn aktuell wird sie natürlich mit der ID 1 versendet, was aber "nur" unser Webmaster ist.


    Zuletzt modifiziert von sladee am 26.04.2013 - 10:05:04
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Die Antwort ist JA.

    Die zweite Frage

    <?php
    #   Copyright by: Elb-Rocker
    #   Support: http://dragondesigns.de/
    
    defined('main') or die('no direct access' );
    
    
    $query = db_query('SELECT `id`,`name` FROM `prefix_user` WHERE `trail_since` != 0 AND `trail_since` < "'.(time()+$allgAr['trail_days']*86400).'"');
    
    while ($row = @db_fetch_assoc($query))
    {
    	$text = str_replace('#user#', $row['name'], $allgAr['trail_pm']);
    	$query2 = db_query('SELECT `id` FROM `prefix_user` WHERE `recht` <= -5');
    
    	while ($row2 = @db_fetch_assoc($query2))
    	{
    		sendpm(1, $row2['id'], $allgAr['trail_bet'], $text);
    	}
        
    	db_query('UPDATE `prefix_user` SET `trail_since` = 0 WHERE `id` = '.$row['id']);
    }
    ?>


    hier einfach

    sendpm(1,
    zu
    sendpm(ID DES WUNSCHUSERES,
    ändern
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    1 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    sladee Mitglied
    Registriert seit
    19.01.2010
    Beiträge
    55
    Beitragswertungen
    1 Beitragspunkte
    Sehr geil! Und besten Dank nochmals für deine Hilfe zwinker
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Rock@wulf Hall Of Fame
    Registriert seit
    03.06.2004
    Beiträge
    3.282
    Beitragswertungen
    239 Beitragspunkte
    Kein Problem,

    du bist im übrigen ID 4 ^^

    externer Link4


    Zuletzt modifiziert von Rock@wulf am 26.04.2013 - 10:40:05
    Meine Postings repräsentieren meine Meinung wenn nicht anders gekennzeichnet.
    MFG Rock@wulf
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten