Carsten Volmer  
  •  
  •  

Preview auf Postnuke-Modul "pnMessages"

Preview auf Postnuke-Modul "pnMessages"  Unten

  • Solange wie das CVS auf noc.postnuke.com noch nicht behoben ist, werde ich hier meine Änderungen am PostNuke-Modul pnMessages dokumentieren. Vorerst werde ich nur auf Modifizierungen in den PHP-Files (inkl. Sprachdateien) eingehen, damit es nicht zu Überschneidungen in der Modulentwicklung kommt. Da die HTML-Templates, StyleSheets, Grafiken, etc. neuerdings anscheinend mein Hoheitsgebiet sind, werde ich hier nicht näher darauf eingehen.

    Was ist pnMessages? - Originaltext auf dem NOC-Projekt:
    pnMessages is a improved replacement for the orginal Messages module. main features are: - inbox, outbox and also a archive for messages - message to email, email notitfication

    Das Modul wird eigentlich unter noc.postnuke.co…cts/pnmessages entwickelt und ich bin erst im Juli dazugekommen, weil ich ursprünglich die Fehler in den HTML-Vorlagen beheben wollte (XHTML-konform). Nun macht es soviel Spaß, dass ich mich auch für das neue Design bereiterklärt habe.
    Registrierte Benutzer können das Modul auf dieser Seite unter hier aufrufen.

    Sämtliche dokumentierte Änderungen basieren auf Stand 28.07.2006 mit den neuen Dateien von dem User "Chaoskanal".
  • Hey Carsten,

    großartige Arbeit. Das sieht richtig GUT aus!!! Vor allem das Layout gefällt mir sehr (auch das deiner Website :icon20: ).
    Freue mich schon, das Modul endlich nutzen zu können.

    Gruß,
    Tim
  • Vielen Dank.
    Die Steuerung der PopUps muß noch überarbeitet werden.
    Ist ein katastrophaler Code. Ist noch ein wenig Arbeit. Leider.

    Grüße,
    Carsten Volmer
  • Sag mal, benutzt du schon PN .8? Und hast Du dieses Theme komplett selbst gebastelt, oder basiert das auf irgendeinem? Also vor allem die ganzen CSS-Styles finde ich super!
  • Hier läuft PostNuke ganz normal unter 0.762
    Das Theme habe ich selbst erstellt.
    Schlanker XHTML-Code und Design+Formatierung über CSS.
    Ich mußte kein einzige PN-Modul "hacken", sondern habe alles über Templates lösen können. Dafür ist mein Theme-Verzeichnis auch ein wenig größer, als normal.
    Unter themenametemplatesmodules... habe ich diverse Templates für z.B.
    - Avatar
    - EZComments
    - formicula
    - Members_List
    - Pagesetter
    - pnBook
    - pnForum
    - pnMessages
    - pnRender

    Meistens liegen dort aber nur Kleinigkeiten, wie einzelne Blocktemplates.
  • Ein weiterer Bug ist behoben. Das Löschen der Nachrichten hatte nicht funktioniert.

    In /modules/pnMessages/pnuserapi.php wurde das SQL-Argument geändert.
    Ich habe sql_arg wurde auf $sql_arg in Zeile 375 geändert und nun kann man die Nachrichten wieder löschen.

    Code

    function pnMessages_userapi_delete($args)
    {
    // Security check
    if (!pnSecAuthAction(0, 'pnMessages::', '::', ACCESS_COMMENT)) {
    return pnVarPrepHTMLDisplay(_PNMESSAGES_NOAUTH);
    }

    extract($args);
    // Argument check - make sure that all required arguments are present, if
    // not then set an appropriate error message and return
    if ((!isset($msg_id) || !is_numeric($msg_id)) ||
    (!isset($uid) || !is_numeric($uid)) ||
    (!isset($msg_type) || !is_numeric($msg_type))) {
    pnSessionSetVar('errormsg', _MODARGSERROR);
    return false;
    }
    // Chasm: Argument anhand msg_type aufbereiten
    switch ($msg_type) {
    case "1":
    $sql_arg = "msg_inbox";
    break;
    case "2":
    $sql_arg = "msg_outbox";
    break;
    case "3":
    $sql_arg = "msg_stored";
    break;
    default:
    return pnVarPrepHTMLDisplay(_MODARGSERROR);
    } // switch

    // Get DB
    $dbconn = &pnDBGetConn(true);
    $pntable = &pnDBGetTables();
    // define tables and columns
    $messagestable = &$pntable['pnmessages'];
    $messagescolumn = &$pntable['pnmessages_column'];

    $sql = "UPDATE $messagestable
    SET $messagescolumn[$sql_arg] = '0'
    WHERE $messagescolumn[msg_id] = '" . (int)pnVarPrepForStore($msg_id) . "'
    ";
    $dbconn->Execute($sql);
    // Check for an error with the database code, and if so set an appropriate
    // error message and return
    if ($dbconn->ErrorNo() != 0) {
    error_log("DB Error: " . $dbconn->ErrorMsg());
    return false;
    }
    // Chasm: we've removed one or more messages, delete all unused messages.
    // Chasm: return optimize routine
    return pnModAPIFunc('pnMessages', 'user', 'optimize_db');
    }
  • Funktion pnMessages_user_replyinbox() in pnuser.php

    Zeile 906 entfernt:

    Code

    'msgicons' => pnModAPIFunc('pnMessages', 'user', 'getmessageicons', $message['msg_image']),


    Zeile 903 nicht entfernt. Bitte prüfen.

    Code

    'allowmsgicons' => pnModGetVar('pnMessages', 'messages_allowmsgicons'),


    ---

    Dieser Feature-Request wurde integriert. Die User-Icons im Benutzerprofil habe ich neu erstellt und integriert.
  • Das CVS funktioniert wieder und ich habe die aktuellen Files per TortoiseCVS im NOC hochgeladen.
  • 0 Benutzer
  • und 10 Gäste

Diese Angaben basieren auf den Useraktivitäten der letzten 60 Minuten.