ilch Forum » Ilch Clan 1.1 » Module und Modifikationen » Inaktiv Mod

Geschlossen
  1. #1
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    Hallo,

    ich nutze diesen Mod externer Link würde mich aber freuen wenn mir nicht alle user Angezeigt werden, sondern erst ab zB dem Recht Trialmember. Kann das von euch einer umsetzen ?

    Gruß Marvman

    betroffene Homepage: externer Link
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    $sql_getuser = isset($_POST['show_all']) ? 'SELECT id,name,llogin FROM prefix_user' : 'SELECT id,name,llogin FROM prefix_user WHERE llogin <= '.strtotime('-'.$wocheninaktiv.' weeks', CURRENT_TIME).' ORDER BY llogin ASC';


    zu

    $sql_getuser = isset($_POST['show_all']) ? 'SELECT id,name,llogin FROM prefix_user' : 'SELECT id,name,llogin FROM prefix_user WHERE llogin <= '.strtotime('-'.$wocheninaktiv.' weeks', CURRENT_TIME).' AND recht <= -3 ORDER BY llogin ASC';



    Zuletzt modifiziert von Lord|Schirmer am 10.02.2013 - 23:28:12
    rules :: doku :: faq :: linkus
    1 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    hmmm dann werden gar keine mehr angezeigt
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Poste mal die Datei!
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    <?php
    # ###################################################
    # Inactive by DjGeCk0
    # Version 1.0
    # Support unter www.ilch.de oder djgecko.kilu.de
    # pimped by annemarie`
    # ###################################################
    error_reporting(E_ALL & E_NOTICE);
    ini_set('display_errors','On');
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    
    // definieren einer time konstante
    !defined('CURRENT_TIME') ? define('CURRENT_TIME', time()):'';
    
    /**
     * inactive_modul_count_days: liefert anzahl vergangener tage zurück
     * @author     annemarie`
     * @version    1.0
     * @param      $last_login     	ein Unix Timestamp
     * @return     int				Anzahl vergangener tage
     */
    function inactive_modul_count_days($last_login) {
    	$rechsec = CURRENT_TIME - $last_login;
    	$rechmin = $rechsec / 60;
    	$rechstd = $rechmin / 60;
    	return round($rechstd / 24);
    }
    
    $design->header();
    $tpl = new tpl ( 'inactive.htm', 1 );
    
    ##################################################
    	// Query zum auslesen des konfigurierten wochenwertes
    	$sql_wocheninaktiv = 'SELECT einstellung FROM prefix_inactive_settings WHERE auswahl = \'wocheninaktiv\'';
    	// fetchen der datenbank & des results
    	$wocheninaktiv = db_result(db_query($sql_wocheninaktiv));
    	
    	// Wenn änderung an der inaktivität gespeichert werden soll + Prüfen ob zu speichernder wert eine Zahl ist
    	if (isset($_POST['saveinaktiv']) && is_numeric($_POST['inaktivset']) && is_numeric(substr($_POST['inaktivset'],0,1)) && $_POST['inaktivset'] != 0) { // alle daten sind valide
    		
    		// escapen des zu speichernden wochenwertes
    		$setinaktivinput = escape($_POST['inaktivset'], 'integer'); 
    		
    		// Update query für wochen
    		$sql_update_wochen = "UPDATE prefix_inactive_settings SET einstellung = ".$setinaktivinput." WHERE auswahl = 'wocheninaktiv'";
    		// fetchen der datenbank
    		db_query($sql_update_wochen);
    		
    		// prüfen ob wert "woche" oder "wochen" genommen werden soll
    		$woche = $setinaktivinput<=1?' woche':' wochen';
    		
    		// statusmeldung
    		wd ('admin.php?inactive', 'inaktive user werden nun ab '.$setinaktivinput.$woche.' inaktivit&auml;t angezeigt',  '5' );
    		
    	} else if (isset($_POST['saveinaktiv']) && !is_numeric($_POST['inaktivset'])){ // Es wurde versucht einen nicht numerischen wert zu speichern
    		// statusmeldung
    		wd ('admin.php?inactive', 'Speichern nicht m&ouml;glich, wert f&uuml;r wochen muss eine Zahl sein!',  '5' ); 
    	} else if (isset($_POST['saveinaktiv']) && (!is_numeric(substr($_POST['inaktivset'],0,1)) || $_POST['inaktivset'] == 0)){ // Es wurde versucht einen nicht numerischen wert zu speichern
    		// statusmeldung
    		wd ('admin.php?inactive', 'Speichern nicht m&ouml;glich, wert f&uuml;r wochen muss eine positive Zahl sein!',  '5' ); 
    	} else if (isset($_POST['banid']) && is_numeric($_POST['delete_user_id'])) { // alle daten sind valide
    	// Wenn ein user gelöscht werden soll + Prüfen ob zu speichernder wert eine Zahl ist
    		// Löschen des users
    		user_remove(escape($_POST['delete_user_id'], 'integer'));
    		// statusmeldung
    		wd ('admin.php?inactive', 'User "'.$_POST['delete_user_name'].'" wird gel&ouml;scht...',  '1' ); 
    	} else if (isset($_POST['banid']) && !is_numeric($_POST['delete_user_id'])) {  // Es wurde versucht einen nicht numerischen wert zu speichern
    		// statusmeldung
    		wd ('admin.php?inactive', 'es wurde eine Fehlerhafte user ID übergeben ...',  '5' ); 
    	}
    
    # ###################################################
    
    // erstellen des querys, entweder query zur anzeige aller user oder query mit der wochenbedingung
    
    $sql_getuser = isset($_POST['show_all']) ? 'SELECT id,name,llogin FROM prefix_user' : 'SELECT id,name,llogin FROM prefix_user WHERE llogin <= '.strtotime('-'.$wocheninaktiv.' weeks', CURRENT_TIME).' ORDER BY llogin ASC';
    
    // fetchen der datenbank
    $getuser = @db_query($sql_getuser);
    
    // variable userlist anlegen
    $userlist = '';
    
    // iterieren über das datenbank result
    while ($listuser = db_fetch_assoc($getuser)) {
    	// anzahl tage feststellen, wenn wert nicht numerisch ist Fehlerursache mit ausgeben
    	$anzahl_tage = is_numeric($listuser['llogin']) ? inactive_modul_count_days($listuser['llogin']).' Tage' : 'Fehlerhafter Datensatz';
    	// erstellen der ausgabe
    	$userlist .= '<tr>';
    	$userlist .= '	<td>'.$listuser['id'].'</td>';
    	$userlist .= '	<td><a href="index.php?user-details-'.$listuser['id'].'">'.$listuser['name'].'</a></td>';
    	$userlist .= '	<td><form method="post"><input type="hidden" name="delete_user_name" value="'.$listuser['name'].'"/><input type="hidden" name="delete_user_id" value="'.$listuser['id'].'"/><input type="submit" name="banid" value="l&ouml;schen" /></form></td>';
    	$userlist .= '	<td>'.$anzahl_tage.'</td>';
    	$userlist .= '</tr>';
    }
    	
    #########################################################
    # Version Abfragen                                      #
    #########################################################
    # Ihre Version:
    $v = '1.13';
    # Ihr Script
    $s = 'inactive';
    
    #########################################################
    # Template erstellen                                    #
    #########################################################
    
    // entscheidung ob "woche" oder "wochen"
    $woche_frontend = $wocheninaktiv<=1?' woche':' wochen';
    
    $ansichtsmodus = isset($_POST['show_all']) ? 'Es werden nun alle User angezeigt' : 'User die l&auml;nger als '.$wocheninaktiv.' '.$woche_frontend.' inaktiv sind';
    $modus_switch = isset($_POST['show_all']) ? '<input type="submit" name="show_limit" value="Wochenlimit benutzen" />' : '<input type="submit" name="show_all" value="Alle User anzeigen" />';
    
    $versionplubb = isset($_POST['version']) ? '<hr><iframe width="100%" height="100" border="0" src="http://djgecko.kilu.de/updatechecks/'.$s.'.php?s='.$s.'&v='.$v.'"></iframe><br>' : '<form method="post"><input type="submit" name="version" value="Versionscheck anzeigen" /></form>';
    
    $tpl->set('NAME', $listuser['name']);
    $tpl->set('ANSICHTSMODUS', $ansichtsmodus);
    $tpl->set('MODUS_SWITCH', $modus_switch);
    $tpl->set('ANZAHLINAKTIV', $wocheninaktiv);
    $tpl->set('USERIST', $userlist);
    $tpl->set('VERSION', $versionplubb);
    $tpl->out(0); 
    
    #########################################################
    #          Copyright darf nicht entfernt werden
    
    $design->footer();
    
    ?>
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Lord|Schirmer Administrator
    Registriert seit
    21.03.2007
    Beiträge
    7.634
    Beitragswertungen
    1193 Beitragspunkte
    Das muss aber so funktionieren, nur die Zeile 78 ersetzen.
    Entweder alle (ab User) anzeigen oder Inactive ab Trialmember ( <= -3 ).

    Oder habe ich da etwas falsch verstanden.
    rules :: doku :: faq :: linkus
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    marvman Mitglied
    Registriert seit
    22.05.2006
    Beiträge
    587
    Beitragswertungen
    3 Beitragspunkte
    jetzt funtzt es war wohl er das falsche Recht .... vielen dank ... cu

    Gruß Marvman
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Module und Modifikationen

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten