pragmaMx Support Forum pragmaMx Support Forum

Feed/Backend für Reviews

0 Mitglieder und 1 Gast betrachten dieses Thema.

Offline Tears

  • **
  • 23
  • +0/-1
  • Geschlecht: Männlich
Feed/Backend für Reviews
« am: 30 Januar 2009, 22:55:01 »
Ich hab gerade mal etwas rumgebastelt da ich die neusten Reviews gern ebenfalls in einem Feed anbieten würde. Damit ich hier außer blöden Fragen auch mal etwas beisteuere hier der Code. Die Änderungen müssen in die backend.php - vor dem Bearbeiten unbedingt ein Backup erstellen.

In ca. Zeile 117 das Array "$actions" erweitern um den Wert "reviews"
$actions = array("news", "story", "downs", "board", "link", "auswahl", "calendar", "reviews", "all");

Einfügen nach der Funktion downloads (um ca. Zeile 230):
function reviews ($version)
{
    global $rss, $limit, $prefix, $itemdescriptiontrunk, $modcheck ;
    $result = sql_query("select id, title, text, UNIX_TIMESTAMP(date)AS datum, reviewer from " . $prefix . "_reviews WHERE id > 0 ORDER BY date DESC limit " . $limit);
    if (!$result) {
        echo "<!-- An database error occured: " . mysql_error() . " -->";
    } else {
        if ((mxModuleAllowed("Reviews")) && ($modcheck['Reviews'])) {
            while ($data_down = sql_fetch_object($result)) {
                if (($version == "RSS1.0")or($version == "RSS2.0")) {
                    $data_down->text = rss_bbencode($data_down->text);
                    $data_down->title = rss_bbencode($data_down->title);
                }
                $item = new FeedItem();
                $item->descriptionTruncSize = $itemdescriptiontrunk;
                $item->title = strip_tags(rss_bbencode($data_down->title));
                $item->link = MX_HOME_URL . "/modules.php?name=Reviews&rop=showcontent&id=" . $data_down->id;
                $item->description = strip_tags(rss_bbencode($data_down->text));
                $item->date = intval($data_down->datum);
                $item->source = MX_HOME_URL . "/modules.php?name=Reviews";
                // $item->author = $data_down->submitter;
                $rss->addItem($item);
            }
        } else {
            moduleerror("Reviews");
        }
    }
}

In der Funktion "auswahl" im switch nach dem calendar-case ein weiteres case einfügen (ca. Zeile 379):
case "reviews":
reviews($version);
break;

Um Zeile 444 im switch-Bereich ein weiteres case einfügen (ebenfalls nach dem calender-case):
case "reviews":
        reviews($version);
        break;

Direkt darunter ist das case "all", dort muss ebenfalls (wenn gewünscht) die Funktion eingefügt werden. Hier könnt ihr variieren, je weiter oben ihr dort die Funktion aufruft desto weiter oben erscheint es im Feed später:
reviews($version);
(das sollte dann etwa so aussehen, nur um es verständlicher zu machen, dies ist KEINE extra Änderung sondern lediglich eine Erläuterung der vorhergehenden Änderung:
    case "all":
        stories($version);
        eBoard($version);
        downloads($version);
        links($version);
        calendar($version);
reviews($version);
        break;
)

Datei speichern und backend.php?op=reviews aufrufen - fertig.

Wer sich die Arbeit sparen möchte, der kann sich auf die angehängte Datei herunterladen, die stammt aus der Revision 1.16.2.4, ist also zumindest heute noch aktuell.