Benachrichtigung, wenn Artikel inaktiv

You have a suggestion for a future version of phpMyFAQ? Then post it here!

Moderator: Thorsten

Post Reply
ltiedem
Posts: 12
Joined: Thu Feb 24, 2005 4:02 pm

Benachrichtigung, wenn Artikel inaktiv

Post by ltiedem »

Hallo!

Wie wäre es mit einer Mitteilung, wenn man per Link auf einen Artikel gelangt, der inzwischen deaktiviert ist? In etwa: "Dieser Artikel wird zur Zeit überarbeitet und ist deshalb nicht verfügbar.". Würde mich auch um die Umsetzung kümmern.

Gruß,
Lars
Thorsten
Posts: 15747
Joined: Tue Sep 25, 2001 11:14 am
Location: #phpmyfaq
Contact:

Post by Thorsten »

Hi,

die deaktivierten Artikel gibt es ja deswegen, weil Artikel per default deaktiviert sind, wenn sie im Frontend von Benutzern erstellt wurden. Links auf diese deaktivierten Artikel gibt es nicht... Bei einem zwischenzeitlich deaktivierter Artikel könnte das natürlich passieren.

Poste doch mal deine Lösung.

bye
Thorsten
phpMyFAQ Maintainer and Lead Developer
amazon.de Wishlist
ltiedem
Posts: 12
Joined: Thu Feb 24, 2005 4:02 pm

Post by ltiedem »

Hi!

In der Sprachdatei phpmyfaq/lang/language_de.php eine Zeile hinzufügen, die auch in den anderen Sprachdateien ergänzt werden müsste:

Code: Select all

$PMF_LANG["err_inactiveArticle"] = "<p>Der Artikel wird zur Zeit überarbeitet und kann leider nicht angezeigt werden.</p>";
Änderungen in phpmyfaq/artikel.php

Original-Code:

Code: Select all

$comment = '';
$result = $db->query('SELECT id, content, datum, author, email, comment FROM '.SQLPREFIX.'faqdata WHERE id = '.$id.' AND lang = \''.$lang.'\' AND active = \'yes\'');
while ($row = $db->fetch_object($result)) {
        $id = $row->id;
        $comment = $row->comment;
        logViews($id, $lang);
        $content = stripslashes($row->content);
        if (is_dir('attachments/')  && is_dir('attachments/'.$id) && isset($PMF_CONF['disatt'])) {
                $files = 0;
                $outstr = "";
                $dir = opendir('attachments/'.$id);

                while ($dat = readdir($dir)) {
                        if ($dat != '.' && $dat != '..') {
                                $files++;
                                $outstr .= '<a href="attachments/'.$id.'/'.$dat.'" target="_blank">'.$dat.'</a>, ';
                        }
                }
                if ($files > 0) {
                        $content .= '<p>'.$PMF_LANG['msgAttachedFiles'].' '.substr($outstr, 0, -2).'</p>';
                }
        }
        $writeDateMsg = makeDate($row->datum);
        $writeAuthor = $row->author;
    $categoryName = $tree->getPath($currentCategory);
}
geändert in:

Code: Select all

$comment = '';
$result = $db->query('SELECT id, content, datum, author, email, comment, active FROM '.SQLPREFIX.'faqdata WHERE id = '.$id.' AND lang = \''.$lang.'\'');
while ($row = $db->fetch_object($result)) {
    if ($row->active == "yes") {
        $id = $row->id;
        $comment = $row->comment;
        logViews($id, $lang);
        $content = stripslashes($row->content);
        if (is_dir('attachments/') && is_dir('attachments/'.$id) &&
        isset($PMF_CONF['disatt'])) {
            $files = 0;
            $outstr = "";
            $dir = opendir('attachments/'.$id);

            while ($dat = readdir($dir)) {
                if ($dat != '.' && $dat != '..') {
                    $files++;
                    $outstr .= '<a href="attachments/'.$id.'/'.$dat.'" target="_blank">'.$dat.'</a>, ';
                }
            }
            if ($files > 0) {
                $content .= '<p>'.$PMF_LANG['msgAttachedFiles'].' '.substr($outstr, 0, -2).'</p>';
            }
        }
        $writeDateMsg = makeDate($row->datum);
        $writeAuthor = $row->author;
        $categoryName = $tree->getPath($currentCategory);
    }
    else {
        $id = $row->id;
        $comment = "";
        $content = $PMF_LANG["err_inactiveArticle"];
        $writeDateMsg = makeDate($row->datum);
        $writeAuthor = $row->author;
        $categoryName = $tree->getPath($currentCategory);
    }
}
Post Reply