ilch Forum » Allgemein » HTML, PHP, SQL,... » Instant Messenger Nachrichten löschen?

Geschlossen
  1. #1
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    Guten morgen,

    gibt es irgendeine Möglichkeit die alten Chatnachrichten aus dem Instant Messenger zu löschen, ähnlich wie bei der Shoutbox?

    Vielen Dank schon mal für eure Antworten. lächeln

    Mfg, Galle


    verwendete ilch Version: 1.1 O

    betroffene Homepage: www.fsc-clan.org
    0 Mitglieder finden den Beitrag gut.
  2. #2
    User Pic
    z3us Mitglied
    Registriert seit
    14.09.2012
    Beiträge
    114
    Beitragswertungen
    10 Beitragspunkte
    Moin Galle,

    Ja das kann man direkt in der Datenbank machen unter ic1_messenger.

    Dort kannst du die Nachrichten löschen.

    Mfg


    Zuletzt modifiziert von z3us am 23.07.2014 - 07:40:25
    Meine Clanpage: Funny Gamers
    0 Mitglieder finden den Beitrag gut.
  3. #3
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.209
    Beitragswertungen
    130 Beitragspunkte
    Ich vermute, er meint eine direkte Lösung im Modul, der Weg über die DB ist natürlich immer möglich.
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  4. #4
    User Pic
    z3us Mitglied
    Registriert seit
    14.09.2012
    Beiträge
    114
    Beitragswertungen
    10 Beitragspunkte
    Da kannste recht haben zwinker
    Währe natürlich nicht schlecht wenn dies wie bei der shoutbox ginge.
    Super währe es natürlich dies direkt in den Admin Bereich zu integrieren und von dort aus die Löschung vorzunehmen.


    Zuletzt modifiziert von z3us am 23.07.2014 - 10:18:17
    Meine Clanpage: Funny Gamers
    1 Mitglieder finden den Beitrag gut.
  5. #5
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    ZitatZitat geschrieben von z3us
    Da kannste recht haben zwinker
    Währe natürlich nicht schlecht wenn dies wie bei der shoutbox ginge.
    Super währe es natürlich dies direkt in den Admin Bereich zu integrieren und von dort aus die Löschung vorzunehmen.


    Zuletzt modifiziert von z3us am 23.07.2014 - 10:18:17


    Und wo ist da das Problem?
    0 Mitglieder finden den Beitrag gut.
  6. #6
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    Ein kleines Script, was die Tabelle ic1_messenger leert ist denke
    ich das was Galle sucht...

    Man könnte ja mit TRUNCATE TABLE ic1_messenger einfach die Messenger
    Tabelle zurück setzen... Ne kleine php und ein link in den Adminbereich
    eingebaut... Fertig...
    0 Mitglieder finden den Beitrag gut.
  7. #7
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Ich würde es nicht mit truncate machen, sonst werden die nicht gelesen auch gelöscht. Ein einfach delete where wäre hier angebrachter.
    0 Mitglieder finden den Beitrag gut.
  8. #8
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    Stimmt, an die ungelesenen hab ich jetzt gerade nicht gedacht.
    0 Mitglieder finden den Beitrag gut.
  9. #9
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    Erst einmal vielen Dank für die zahlreichen Antworten.

    Direkt in der Datenbank kann ich die Nachrichten nicht mehr löschen, da mir in der ic1_messenger Tabelle die Optionen fehlen.
    Bei meinem alten Provider hatte ich diese Optionen.

    Ein kleines Script für den Adminbereich wäre schon schön, allerdings habe ich keine Ahnung wie ich dies umsetzen soll lächeln

    Mfg, Galle
    0 Mitglieder finden den Beitrag gut.
  10. #10
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    Ich hatte als ich den Messenger noch installiert hatte mal angefangen mir ne kleine Verwaltung der Chatnachrichten zu schreiben... Ich kann ja mal schauen ob ich die wieder finde... Müsste eigentlich fast fertig gewesen sein. Hatte damit aufgehört als ich den Messenger wieder runter gemacht habe.

    Wenn Du noch ein wenig Gedult hast, könnte ich mal schauen wo der ist und mach das mal fertig... Ist sehr einfach gehalten auf Basis der shboxshow.php, also ohne template und irgendwelchen schnik schnak...


    Zuletzt modifiziert von Jens238 am 23.07.2014 - 12:42:52
    0 Mitglieder finden den Beitrag gut.
  11. #11
    User Pic
    Nex4T ilch.de Design
    Registriert seit
    28.02.2007
    Beiträge
    2.912
    Beitragswertungen
    141 Beitragspunkte
    Möchtest du es wie ein Nachrichtensystem haben das jeder user selbst entscheiden kann was und wieviel er löscht oder einfach alles auf einmal?
    while(!asleep()) sheep++;
    0 Mitglieder finden den Beitrag gut.
  12. #12
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    @ Jens238,
    klar habe ich Geduld lächeln

    @ Nex4T,
    einfach nur eine bestimmte Anzahl an gelesenen Nachrichten löschen.
    Es können von mir aus auch alle gelesenen Nachrichten sein.
    Was halt einfacher ist für denjenigen der sich damit auseinander setzen möchte.

    Mfg, Galle
    0 Mitglieder finden den Beitrag gut.
  13. #13
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    Man könnte auch einen Button in das Chatfenster einbauen, mit dem man seinen eigenen Chatverlauf löschen kann... Ist dann halt die Frage ob die User den auch gelegentlich mal klicken zwinker

    Am einfachsten wäre glaube ich einen Link im Admin der ein kleines Script
    aufruft und alle gelesenen Chats löscht... Das Feld recd müsste sagen ob gelesen oder nicht... Was da stehen müsste kann ich aber mangels installiertem Messenger nicht sagen...
    0 Mitglieder finden den Beitrag gut.
  14. #14
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.209
    Beitragswertungen
    130 Beitragspunkte
    ZitatZitat
    0 = ungelesen
    1 = gelesen


    db_query("DELETE FROM prefix_messenger WHERE recd = 1");



    Zuletzt modifiziert von Outi77 am 23.07.2014 - 13:14:50
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  15. #15
    User Pic
    Nex4T ilch.de Design
    Registriert seit
    28.02.2007
    Beiträge
    2.912
    Beitragswertungen
    141 Beitragspunkte
    Ich installiere gerade mal eben den messenger und schau mir das an ... evtl. kann ichs dir gleich fertig machen...
    while(!asleep()) sheep++;
    0 Mitglieder finden den Beitrag gut.
  16. #16
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    ZitatZitat geschrieben von Nex4T
    Ich installiere gerade mal eben den messenger und schau mir das an ... evtl. kann ichs dir gleich fertig machen...


    Schön zu hören. lächeln

    Mach Dir keinen Stress, Hauptsache danach wird nicht die ganze Datenbank gelöscht. zwinker
    0 Mitglieder finden den Beitrag gut.
  17. #17
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Naja, viel anschauen brauchst du ja nicht mehr, Outi77 hat ja schon die Lösung gepostet. zwinker
    0 Mitglieder finden den Beitrag gut.
  18. #18
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-
    Naja, viel anschauen brauchst du ja nicht mehr, Outi77 hat ja schon die Lösung gepostet. zwinker


    Wo und wie binde ich das ein?
    0 Mitglieder finden den Beitrag gut.
  19. #19
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.209
    Beitragswertungen
    130 Beitragspunkte
    Da der query-String eine php-Geschichte ist, müßtest Du den Link in der htm eine function aufrufen lassen, die wiederum ein form.submit auslöst.
    Oder per jquery, dann sparst Du Dir den reload! Yes
    Geht vll auch anders, aber so ganz sicher zwinker


    Zuletzt modifiziert von Outi77 am 23.07.2014 - 17:37:09
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  20. #20
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Man kann auch einfach eine php erstellen und diese dann vom Adminmenü aus aufrufen, ohne form.submit, jquery etc.
    0 Mitglieder finden den Beitrag gut.
  21. #21
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    So?

    <?php 
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    db_query("DELETE FROM prefix_messenger WHERE recd = 1");
    
    $design->footer();
    ?>


    Oder wie soll ich das anstellen?

    Mfg, Galle
    0 Mitglieder finden den Beitrag gut.
  22. #22
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.209
    Beitragswertungen
    130 Beitragspunkte
    Im Prinzip ja, fehlt allerdings noch die Weiterleitung zurück zur Ausgangs-Page.
    wd ('admin.php?***', 'Gelesene Messenger-Nachrichten erfolgreich gel&ouml;scht' , 5);

    Statt der 3 Sternchen dann halt die gewünschte Seite eintragen, also messenger eventuell oder so zwinker
    Der href-Teil könnte in etwa so aussehen:
    <a href="admin.php?delete_mess">gelesene Messenger-Nachrichten löschen</a>

    Dann muss Dein Code von oben in die include/admin/delete_mess.php


    Zuletzt modifiziert von Outi77 am 23.07.2014 - 19:45:08
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  23. #23
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    Ich sehe ihr seid schon fleissig am lösen lächeln

    Hab mein angefangenes mal schnell zum funktionieren überredet.
    Ist noch ausbaufähig, vieleicht mach ich das die Tage noch und
    Lad es dann in den beta Bereich zwinker



    <?php
    
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    if (escape($menu->getA(1),'string') == 'd' AND is_numeric(escape($menu->getE(1),'string')) AND is_siteadmin())
    {
     db_query("DELETE FROM prefix_messenger WHERE id = ".escape($menu->getE(1),'string'));
    }
    
    if (escape($menu->getA(1),'string') == 'a' AND is_siteadmin())
    {
     db_query("DELETE FROM prefix_messenger WHERE recd = 1 ");
    }
    
    if (escape($menu->getA(1),'string') == 'r' AND is_siteadmin())
    {
     db_query("TRUNCATE TABLE prefix_messenger");
    }
    
    echo '
    <table width="100%" border="1" cellpadding="2" cellspacing="1">
     <tr class="Chead">
      <td colspan="2"><center><b>Instant Messenger Verwaltung</b><center></td>
     </tr>
     <tr>
      <td>
       <table width="100%" border="0" cellpadding="2" cellspacing="1" class="border">
        <tr class="Chead">
         <td align="center"><b>Chat Id</b></td>
         <td align="center"><b>Absender</b></td>
         <td align="center"><b>Empfänger</b></td>
         <td align="center"><b>Gelesen</b></td>
         <td align="center"><b>Gesendet</b></td>
         <td align="center"><b>Löschen</b></td>
        </tr>';
    
    $erg = db_query('SELECT * FROM `prefix_messenger` ORDER BY id DESC');
    while ($row = db_fetch_assoc($erg) ) {
    $class = ($class == 'Cmite' ? 'Cnorm' : 'Cmite' );
    
    if ($row['recd'] == 1) {
    $read = 'Ja';
    } else {
    $read = 'Nein';
    }
    
    $DateFromMessenger = $row['sent'];
    $Date = date("d.m.Y - H:i:s", strtotime($DateFromMessenger));
    
    $abs = (db_result(db_query('SELECT name FROM `prefix_user` WHERE id = '.$row['aid'].' ')));
    $empf = (db_result(db_query('SELECT name FROM `prefix_user` WHERE id = '.$row['eid'].' ')));
    
    if ($row['recd'] == 1) {
    $del = '<a href="admin.php?messengershow-d'.$row['id'].'"><img src="include/images/icons/del.gif" alt="Löschen" title="Löschen"></a>';
    } else {
    $del = 'n/a';
    }
    
    echo '
        <tr>
         <td class="'.$class.'" align="center" width="70">'.$row['id'].'</td>
         <td class="'.$class.'">&nbsp;'.$abs.'</td>
         ';
         
    echo '<td class="'.$class.'">&nbsp;'.$empf.'</td>';
    
    echo '<td class="'.$class.'" align="center">'.$read.'</td>';
    
    echo '<td class="'.$class.'" align="center">'.$Date.'</td>';
      
    echo '
         <td class="'.$class.'" align="center" width="80">'.$del.'</td>
        </tr>
         ';
    }
    echo '
       </table>
      </td>
     </tr>
    </table>
    ';
    
    echo '<br>';
    echo '<span style="float:left"><a href="admin.php?messengershow-a">Alle gelesenen Chats löschen</a></span>';
    echo '<span style="float:right"><a href="admin.php?messengershow-r">Alle Chats löschen und DB zurücksetzen</a></span>';
    
    $design->footer();
    ?>
    0 Mitglieder finden den Beitrag gut.
  24. #24
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    Wow, sieht schon mal sehr schick aus lächeln

    Allerdings habe ich dort folgendes oben stehen:
    Warning: mysql_result() [function.mysql-result]: Unable to jump to row 0 on MySQL result index 577 in /var/www/web711/html/hp/include/includes/func/db/mysql.php on line 54


    Edit: Aber das löschen Funktioniert lächeln
    Edit 2: Komisch auf einmal ist der Fehler weg.

    @ Outi77,

    So könnte wenn der Fehler nicht behoben werden sollte die beiden Dateien aussehen oder?

    php:
    <?php 
    defined ('main') or die ( 'no direct access' );
    defined ('admin') or die ( 'only admin access' );
    
    $design = new design ( 'Admins Area', 'Admins Area', 2 );
    $design->header();
    
    db_query("DELETE FROM prefix_messenger WHERE recd = 1");
    
    wd ('admin.php?imdelete', 'Gelesene Messenger-Nachrichten erfolgreich gel&ouml;scht' , 5);
    
    $design->footer();
    ?>


    html:
    <table width="100%" cellpadding="0" cellspacing="0" border="0">
    	<tr>
        	<td width="32"><img src="include/images/icons/admin/im.png" height="32" width="32" border="0"/></td>
            <td>Instant Messenger Chatverlauf l&ouml;schen</td>
        </tr>
        <tr>
        	<td colspan="2"><a href="admin.php?imdelete">gelesene Messenger-Nachrichten l&ouml;schen?</a></td>
        </tr>
    </table>


    Mfg, Galle


    Zuletzt modifiziert von Galle81 am 23.07.2014 - 21:27:44
    0 Mitglieder finden den Beitrag gut.
  25. #25
    User Pic
    Outi77 Mitglied
    Registriert seit
    31.03.2013
    Beiträge
    1.209
    Beitragswertungen
    130 Beitragspunkte
    Also in der php könnte noch ein kleiner Fehler stecken.
    Die Weiterleitung führt zur Datei, in der die Einträge gelöscht werden (wenn ich mich nicht irre).
    Das macht natürlich wenig Sinn, weil da ja nichts ausgegeben wird.
    Ich bin davon ausgegangen, dass es für dieses Modul eine AdminCenter-Einbindung gibt.
    Oder eine contents-Datei, zu denen man weiterleiten hätte können.
    Als Alternative könntest Du das href wie folgt machen:
    <a href="javascript:history.back(-1)">gelesene Messenger-Nachrichten l&ouml;schen?</a>

    Hier wird einfach um einen Schritt zurück weitergeleitet, also auf die letzte besuchte Seite.
    Du kannst die url im href natürlich auch in die Navigation einbinden und nur für Admins sichtbar machen.
    Am einfachsten wäre, wenn LordOfDeath das Modul schnell fertig bekommt lachen

    Zuletzt modifiziert von Outi77 am 23.07.2014 - 21:53:27
    Die richtige Formulierung eines Problems ist nicht selten bereits die halbe Lösung.
    »Albert Einstein«
    0 Mitglieder finden den Beitrag gut.
  26. #26
    User Pic
    Galle81 Mitglied
    Registriert seit
    02.10.2009
    Beiträge
    195
    Beitragswertungen
    8 Beitragspunkte
    ZitatZitat geschrieben von Outi77

    Am einfachsten wäre, wenn LordOfDeath das Modul schnell fertig bekommt lachen


    Dem stimme ich voll und ganz zu lachen
    Soweit scheint ja dort alles zu funktionieren.

    Zudem lohnt sich die php für jeden der den Instant Messenger nutzt.
    Daher schon mal großen Dank an diejenigen, die sich die Mühe gemacht haben.

    Mfg, Galle


    Zuletzt modifiziert von Galle81 am 24.07.2014 - 06:29:22
    0 Mitglieder finden den Beitrag gut.
  27. #27
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Wäre es nicht am einfachsten das ganze zu automatisieren? Sprich, jeden Tag um 00:00 Uhr werden alle gelesenen Nachrichten gelöscht.
    0 Mitglieder finden den Beitrag gut.
  28. #28
    User Pic
    Jens238 Mitglied
    Registriert seit
    20.03.2013
    Beiträge
    396
    Beitragswertungen
    42 Beitragspunkte
    ZitatZitat geschrieben von -saarlonz-
    Wäre es nicht am einfachsten das ganze zu automatisieren? Sprich, jeden Tag um 00:00 Uhr werden alle gelesenen Nachrichten gelöscht.


    Also so was... Fürs automatisieren sind doch Outi und ich zuständig zunge

    Hast aber Recht, man könnte auch einfach einen Cronjob alle 24h oder
    einmal die Woche, oder oder oder den Chatverlauf leeren lassen...

    Was mein gebasteltes Modul angeht da bin ich noch am überlegen was ich
    da noch so machen könnte... So gesehen ist es noch nicht ganz Optimal.
    Den Admin geht es eigentlich nichts an, wer wann mit wem gechatet hat.
    Na ja, mal schauen...

    Vieleicht eine einfache Liste, wer wieviele gelesene und ungelesen
    Chat Nachrichten hat. Hinter jeden Namen nen Button um den Verlauf der
    gelesenen zu löschen und wieder die zwei Globalen um alle gelesenen zu
    löschen und um die Chat Tabelle zurück zu setzen... Oder so halt lächeln


    Edit:
    Hab mal neu angefangen und dem ganzen ein wenig Privatsphäre eingehaucht.
    Das hatte mich noch ein wenig gestört das man sehen konnte wer wann mit
    wem geschrieben hat... Es fehlen noch die ganzen lösch Aktionen, die bau
    ich wenn ich es schaffe heute Abend noch ein. Dann lad ich das ganze noch
    in den beta Bereich... Hier mal ein erstes Bild:




    Zuletzt modifiziert von Jens238 am 24.07.2014 - 15:57:43
    0 Mitglieder finden den Beitrag gut.
  29. #29
    User Pic
    z3us Mitglied
    Registriert seit
    14.09.2012
    Beiträge
    114
    Beitragswertungen
    10 Beitragspunkte
    Na da ist ja was ins Rollen gekommen zwinker
    Finde die Idee echt Top.
    Hatte heute in meiner Datenbank mal nachgeschaut wie viele Einträge dort sind.
    Es waren um die 8200 Einträge:O

    Finde das Richtig @ Jens, das die Privatsphäre Vorrang hat.
    Post die einem anderen gehört Liest man ja auch nicht.

    Weiter so, werde das Modul auf jeden Fall Testen sobald es in den Beta Bereich kommt.

    Yes


    Zuletzt modifiziert von z3us am 24.07.2014 - 18:31:51
    Meine Clanpage: Funny Gamers
    0 Mitglieder finden den Beitrag gut.
  30. #30
    User Pic
    Saarlonz Moderator
    Registriert seit
    07.08.2008
    Beiträge
    3.002
    Beitragswertungen
    235 Beitragspunkte
    Ist ja alles schön und gut, aber was interessiert es denn den Admin einer Seite wie viele Nachrichten User X geschrieben oder gelesen hat? Da fände ich eine extra Tabelle in der festgehalten wird wie viele Nachrichten insgesamt geschrieben bzw gelesen wurden schon Interessanter.


    Zuletzt modifiziert von -saarlonz- am 24.07.2014 - 19:06:45
    0 Mitglieder finden den Beitrag gut.
Geschlossen

Zurück zu HTML, PHP, SQL,...

Optionen: Bei einer Antwort zu diesem Thema eine eMail erhalten