ilch Forum » Ilch Clan 1.1 » Fehlersuche und Probleme » AdminMenu User Suche unter Verwalten

Geschlossen
  1. #1
    User Pic
    samo Mitglied
    Registriert seit
    06.10.2005
    Beiträge
    228
    Beitragswertungen
    0 Beitragspunkte
    Guten Abend,

    ich hab ein Problem mit der Suchfunktion im Adminmenü unter User verwalten, ich hab das LIMIT auf 25 gesetzt. Jetzt zeigt die Suche ja auch pro Seite 25 Ergebnisse, aber wenn ich auf die 2. Seite der Suchergebnisse will, lande ich in der normalen User Übersicht auf Seite 2. Wie kann man das beheben ??

    samo
    Ain't no use running, fool! I know where your mama parks your house
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    in der user.php nach db_make_sites suchen und aus '?user' -> 'admin.php?user' machen.
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    samo Mitglied
    Registriert seit
    06.10.2005
    Beiträge
    228
    Beitragswertungen
    0 Beitragspunkte
    Sorry,
    da hab ich mich wohl ungenau ausgedrückt. Ich werde nicht auf index.php?user geleitet, sondern auf admin.php?user-p2. Also ganz normal auf die Übersicht der User unter admin.php?user-p2. Die db_make_sites funktioniert, nur die Übergabe haut nicht hin. Der Link auf die 2. Seite lautet admin.php?user-p2 und es müßte doch in etwa so lauten admin.php?user-"suchbegriff"-p2, oder ??

    samo
    Ain't no use running, fool! I know where your mama parks your house
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    Mairu Coder
    Registriert seit
    16.06.2006
    Beiträge
    15.334
    Beitragswertungen
    386 Beitragspunkte
    Folgende Änderungen sind notwendig:

    db_make_sites Funktion in includes/func/db/mysql.php ersetzen mit
    function db_make_sites($page, $where, $limit, $link, $table, $anzahl = null) {
        $hvmax = 4; // hinten und vorne links nach page
        $maxpage = '';
        $MPL = '';
        if (is_null($anzahl)) {
            $resultID = db_query("SELECT COUNT(*) FROM `prefix_" . $table . "` " . $where);
            $total = (is_resource($resultID)) ? db_result($resultID, 0) : 0;
        } else {
            $total = $anzahl;
        }
        if ($limit < $total) {
            $maxpage = $total / $limit;
            if (is_double($maxpage)) {
                $maxpage = ceil($maxpage);
            }
            $ibegin = $page - $hvmax;
            $iende = $page + $hvmax;
    
            $vgl1 = $iende + $ibegin;
            $vgl2 = ($hvmax * 2) + 1;
            if ($vgl1 <= $vgl2) {
                $iende = $vgl2;
            }
            $vgl3 = $maxpage - ($vgl2 - 1);
            if ($vgl3 < $ibegin) {
                $ibegin = $vgl3;
            }
    
            if ($ibegin < 1) {
                $ibegin = 1;
            }
            if ($iende > $maxpage) {
                $iende = $maxpage;
            }
            $vMPL = '';
            if (strpos($link, '{page}') !== false) {
                $link = str_replace('{page}', '-p%u', $link);
            } else {
                $link .= '-p%u';
            }
            $linkTpl = '<a href="' . $link . '">%s</a>';
            if ($ibegin > 1) {
                $vMPL = sprintf($linkTpl, 1, '&laquo;');
            }
            $MPL = $vMPL . '[ ';
            for ($i = $ibegin; $i <= $iende; $i++) {
                if ($i == $page) {
                    $MPL .= $i;
                } else {
                    $MPL .= sprintf($linkTpl, $i, $i);
                }
                if ($i != $iende) {
                    $MPL .= ' | ';
                }
            }
            $MPL .= ' ]';
            if ($iende < $maxpage) {
                $MPL .= sprintf($linkTpl, $maxpage, '&raquo;');
            }
        }
        return $MPL;
    }


    Dann in der admin/user.php die markierten Zeilen anpassen bzw. einfügen.

    $um = $menu->get(1);
    switch ($um) {
        default :
            $design = new design ('Admins Area', 'Admins Area', 2);
            $design->header();
            $q = '';
            $mplLink = 'admin.php?user';
            if (isset($_REQUEST['q'])) {
                $q = escape($_REQUEST['q'], 'string');
                $mplLink .= '{page}&q='.$q;
            }
            $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 , $mplLink, 'user');
            $anfang = ($page - 1) * $limit;
            $class = '';
    Und auch immer mal ein Blick auf die FAQ werfen. | Mairus Ilchseite
    0 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    samo Mitglied
    Registriert seit
    06.10.2005
    Beiträge
    228
    Beitragswertungen
    0 Beitragspunkte
    Super,

    vielen Dank Mairu. Es klappt 1a.

    samo lachen
    Ain't no use running, fool! I know where your mama parks your house
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu Fehlersuche und Probleme

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten