[Erledigt] benachrichtigung bei zusätzlichem review modul funzt nicht!

Begonnen von wave, 24 Februar 2008, 18:31:17

⏪ vorheriges - nächstes ⏩

0 Mitglieder und 1 Gast betrachten dieses Thema.

wave

nachdem ich mehrere reviews module eingebaut habe in mein pragma
(siehe thema hier: http://www.pragmamx.org/Forum-topic-24047.html

funzt jetzt leider bei den zusätzlich eingebauten review modulen die benachrichtigung nicht für den administrator!
also es wird nicht mehr im admin menu angezeigt, wenn ein neuer "testbericht" eingegangen ist!

der user erhält zwar nach absenden den hinweis, das der bericht eingegangen ist und durch einen moderator frei geschaltet wird.. nur fehlt der eben!
also kann ich den auch nich frei schalten..

wo liegt da problem? kann mir jemand helfen?
danke und lg
martin

JoergK

Hoi ;)

Um Meldungen von zusätzlichen (geklonten) Reviews-Modulen zu erhalten, mußt Du den Block /blocks/block-AdminNews.php entsprechend erweitern.
    if (mxModuleAllowed("Reviews")) {
        list($num) = sql_fetch_row(sql_query("select count(id) from ${prefix}_reviews WHERE active='0';"));
        if (!empty($num)) $content1 .= $arrow . "<b>" . mxValueToString($num, 0) . "</b>&nbsp;<a href=\"admin.php?op=reviews\">" . _WREVIEWS . "</a><br>";
        $num = 0;
    }

Den Code mußt Du entsprechend duplizieren und mit den richtigen, das jeweils geklonte Modul betreffenden, Daten versehen.

Um das jeweilige geklonte Modul auch administrieren zu können muß Du zusätzlich noch die Dateien /admin/case/case.reviews.php, /admin/links/links.reviews.php sowie /admin/modules/reviews.php entsprechend duplizieren und anpassen.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

wave

@ joerg
danke schon mal..
leider funzt das ganze noch nich so richtig.. ich weiß leider nich genau, was da in den jeweiligen dateien angepasst werden muß.. also an welcher stelle ich was ersetzen muß..

die benachrichtigung wird jetzt zwar angezeigt, nur kann ich noch nicht freischalten oder löschen..
ich glaub mit den verlinkungen stimmt das noch nich so ganz! hab das gefühl es springt zum original reviews modul..

hm??

JoergK

#3
Hoi ;)

Wie ich gesehen hab, hast Du das Review-Modul drei mal geklont und zu Festivals, Interviews und Konzerte umbenannt.

Ich beschreib's mal für eine Kopie, den Rest kriegste dann bestimmt selber hin. ;)

1. Anpassung der /blocks/block-AdminNews.php
Kopiere die Zeilen 44-48
    if (mxModuleAllowed("Reviews")) {
        list($num) = sql_fetch_row(sql_query("select count(id) from ${prefix}_reviews WHERE active='0';"));
        if (!empty($num)) $content1 .= $arrow . "<b>" . mxValueToString($num, 0) . "</b>&nbsp;<a href=\"admin.php?op=reviews\">" . _WREVIEWS . "</a><br>";
        $num = 0;
    }

füge sie zwischen die Zeilen 48/49 ein und ändere sie auf
Zitatif (mxModuleAllowed("Festivals")) {
        list($num) = sql_fetch_row(sql_query("select count(id) from ${prefix}_reviews WHERE active='0';"));
        if (!empty($num)) $content1 .= $arrow . "<b>" . mxValueToString($num, 0) . "</b>&nbsp;<a href=\"admin.php?op=festivals\">" . _WFESTIVALS . "</a><br>";
        $num = 0;
    }
Den Tabellennamen "reviews" musste halt Deinem Tabellennamen für die Festivals entsprechend abändern.

2. Kopiere /admin/case/case.reviews.php nach /admin/case/case.festivals.php.
3. Kopiere /admin/links/links.reviews.php nach /admin/lnks/case.festivals.php.
4. Kopiere /admin/modules/reviews.php nach /admin/modules/festivals.php.

5. Anpassung der /admin/case/case.festivals.php
Ändere
switch ($op) {
    case "reviews":
    case "mod_main":
    case "add_review":
    case "deleteNotice":
        mxSessionSetVar('panel', MX_ADMINPANEL_ADDON);
                                include("admin/modules/reviews.php");
        break;
}

zu
switch ($op) {
    case "festivals":
    case "fest_mod_main":
    case "fest_add_review":
    case "fest_deleteNotice":
        mxSessionSetVar('panel', MX_ADMINPANEL_ADDON);
                                include("admin/modules/festivals.php");
        break;
}


6. Anpassung der /admin/links/links.festivals.php
Ändere
    adminmenu("admin.php?op=reviews", _REVIEWS, "reviews.gif", MX_ADMINPANEL_ADDON);

zu
    adminmenu("admin.php?op=festivals", _FESTIVALS, "reviews.gif", MX_ADMINPANEL_ADDON);


7. Anpassung der /admin/modules/reviews.php
Zeile 19
$module_name = "Reviews";
ändern in
$module_name = "Festivals";

Zeile 49
    title( _REVADMIN);
ändern in
    title( _FESTADMIN);

Zeile 52
    echo "<center><p class=\"option\"><b>" . _REVWAITING . "</b></p>";
ändern in
    echo "<center><p class=\"option\"><b>" . _FESTWAITING . "</b></p>";

In den Zeilen 53, 137 und 144
das
$prefix . "_reviews
entsprechend dem neuen Tabellennamen für die Festivals ändern.

Zeile 68
             . "<tr><td><b>" . _REVIEWID . ":</b></td><td><b>$id</b>"
ändern in
             . "<tr><td><b>" . _FESTIVALID . ":</b></td><td><b>$id</b>"

Zeile 87
             . "<tr><td>" . _IMAGE . ":</td><td><input type=\"text\" name=\"cover\" value=\"" . mxEntityQuotes($cover) . "\" size=\"60\" maxlength=\"255\"><br /><i>" . _REVIMGINFO . "</i></td></tr>"
ändern in
             . "<tr><td>" . _IMAGE . ":</td><td><input type=\"text\" name=\"cover\" value=\"" . mxEntityQuotes($cover) . "\" size=\"60\" maxlength=\"255\"><br /><i>" . _FESTIMGINFO . "</i></td></tr>"

Zeilen 108-110
             . "<input type=\"hidden\" name=\"op\" value=\"add_review\">"
             . "<input type=\"submit\" value=\"" . _ADDREVIEW . "\">"
             . " - [&nbsp;<a href=\"admin.php?op=deleteNotice&amp;id=$id\">" . _DELETE . "</a>&nbsp;]"

ändern in
             . "<input type=\"hidden\" name=\"op\" value=\"fest_add_review\">"
             . "<input type=\"submit\" value=\"" . _ADDFESTIVAL . "\">"
             . " - [&nbsp;<a href=\"admin.php?op=fest_deleteNotice&amp;id=$id\">" . _DELETE . "</a>&nbsp;]"


Zeile 115
        echo "<br /><br /><i>" . _NOREVIEW2ADD . "</i><br /><br />";
ändern in
        echo "<br /><br /><i>" . _NOFESTIVAL2ADD . "</i><br /><br />";

Zeile 117
            echo _AUTOACTIVATENOTIC . "<br /><br />";
ändern in
            echo _FEST_AUTOACTIVATENOTIC . "<br /><br />";

Zeile 120
    echo "<p><a href=\"modules.php?name=$module_name&amp;rop=write_review\">" . _CLICK2ADDREVIEW . "</a></p></center>";
ändern in
    echo "<p><a href=\"modules.php?name=$module_name&amp;rop=fest_write_review\">" . _CLICK2ADDFESTIVAL . "</a></p></center>";

Zeile 124
    echo "<center><font class=\"option\"><b>" . _DELMODREVIEW . "</b></font><br /><br />" . _MODREVINFO . "</center>";
ändern in
    echo "<center><font class=\"option\"><b>" . _DELMODFESTIVAL . "</b></font><br /><br />" . _MODFESTINFO . "</center>";

Zeilen 138 und 145
jeweils
    header("Location: admin.php?op=reviews");
ändern in
    header("Location: admin.php?op=festivals");

Zeile 149
    case "add_review":
ändern in
    case "fest_add_review":

Zeile 153
    case "deleteNotice":
ändern in
    case "fest_deleteNotice":

Zeilen 157-158
    case "mod_main":
    case "reviews":

ändern in
    case "fest_mod_main":
    case "festivals":


8. Zusätzliche Bilderverzeichnisse
Lege im Bildverzeichnis /images für jedes geklonte Modul ein neues Verzeichnis an: /festivals, /interviews und /konzerte.

9. Ändern der Datei admin.php
Kopiere die Zeilen 390-394
    if (mxModuleAllowed("Reviews")) {
        list($num) = sql_fetch_row(sql_query("select count(id) from ${prefix}_reviews WHERE active='0';"));
        if (!empty($num)) $content1 .= $arrow . "<b>$num</b>&nbsp;<a href=\"admin.php?op=reviews\">" . _WREVIEWS . "</a><br />";
        $num = 0;
    }

füge sie zwischen die Zeilen 394/395 ein und ändere sie auf
Zitatif (mxModuleAllowed("Festivals")) {
        list($num) = sql_fetch_row(sql_query("select count(id) from ${prefix}_reviews WHERE active='0';"));
        if (!empty($num)) $content1 .= $arrow . "<b>$num</b>&nbsp;<a href=\"admin.php?op=festivals\">" . _WFESTIVALS . "</a><br />";
        $num = 0;
    }
Den Tabellennamen "reviews" musste halt Deinem Tabellennamen für die Festivals entsprechend abändern.

10. Erweiterung der Sprachdateien in /admin/language
In den Sprachdateien /lang-[sprache].php fügst Du jeweils am Ende in der Zeile vor "?>"
define("_FESTIVALS", "Festivals");
define("_FESTADMIN", "Administration Festivals");
define("_FESTWAITING", "Festivalbericht auf Best&auml;tigung wartend");
define("_FESTIVALID", "Festivalberichts-ID");
define("_FESTIMGINFO", "Lege Dein 150*150 Bild unter /images/festivals ab");
define("_ADDFESTIVAL", "Festivalbericht hinzuf&uuml;gen");
define("_NOFESTIVAL2ADD", "keinen Festivalbericht zum hinzuf&uuml;gen");
define("_FEST_AUTOACTIVATENOTIC", "<font color=red>Hinweis: z.Zt. werden alle Festivalberichte automatisch freigeschaltet.<br />&Auml;ndern Sie das ggf. bitte in der config.php vom Modul!</font>");
define("_CLICK2ADDFESTIVAL", "Hier anklicken, um einen Festivalbericht zu erstellen");
define("_DELMODFESTIVAL", "L&ouml;sche / ver&auml;ndere einen Festivalbericht");
define("_MODFESTINFO", "Als Administrator k&ouml;nnen Sie unter <a href=\"modules.php?name=Festivals\">Festivals</a> Festivalberichte ver&auml;ndern oder l&ouml;schen .");

ein. Den Text zwischen den Anführungszeichen jeweils der Sprache entsprechend ändern.

11. Ändern der Sprachdateien im Verzeichnis /language
In den Sprachdateien /lang-[sprache].php fügst Du jeweils am Ende in der Zeile vor "?>"
define("_WREVIEWS", "Festivalberichte");
ein. Den Text zwischen den Anführungszeichen jeweils der Sprache entsprechend ändern.



So, ich hoffe, ich habe nichts vergessen, denn ich hab das jetzt nicht getestet. ;)

Um entsprechende Blöcke zu bekommen, musste halt die Datei /blocks/block-Reviews.php kopieren und entsprechend anpassen.

Falls Du Kommentare zugelassen hast und diese für die geklonten Module ebenfalls administrieren möchtest, muß Du Dir noch die Datei /admin/modules/comments.php erweiteren.

Selbiges gilt für die Statistiken, hierzu musste halt die Datei /modules/maaXStat2/index.php entsprechend erweitern.

Die obige Anleitung sollte eigentlich genügen, damit Du die letztgenannten Erweiterungen selbst durchführen kannst ... oder jemand anderes Dir dabei hilft. ;)
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

wave

danke joerg!
da haste dir echt mühe gegeben.. habs zuerst jetzt mit den konzerten versucht!
also das freischalten geht, nur das löschen noch nicht!
vielleicht kannst mal bitte über meine modules/konzerte.php drüber schauen, ob ich was übersehen hab.. ?!
wäre supi..
danke und lg
martin

hier: if (!defined("mxAdminFileLoaded")) die("Access Denied");

if (!mxGetAdminPref('radminreviews')) {
    mxErrorScreen("Access Denied");
    die();
}

$wysiwyg = 0;
$wysiwyg_review = 0;
include_once('spaw/spaw_control.class.php');

$module_name = "Konzerte";
require_once("modules/$module_name/config.php");
// #################################################################################
function reviews()
{
    global $prefix, $multilingual, $module_name, $revautoactivate;

    include_once("header.php");

    GraphicAdmin();
    OpenTable();
    echo "<center><font class=\"title\"><b>" . _KONADMIN . "</b></font></center>";
    CloseTable();
    echo "<br />";
    OpenTable();
    echo "<center><p class=\"option\"><b>" . _KONWAITING . "</b></p>";
    $result = sql_query("select * from " . $prefix . "_konzerte WHERE active='0' order by id");
    $numrows = sql_num_rows($result);
    if ($numrows > 0) {
        while (list($id, $date, $title, $text, $reviewer, $score, $cover, $url, $url_title, $hits, $rlanguage, $active) = sql_fetch_row($result)) {
            $id = (empty($id)) ? 0 : intval($id);
            for($i = 0; $i < 11; $i++) {
                if ($score == $i)
                    $select[$i] = "selected=\"selected\"";
                else
                    $select[$i] = "";
            }
            echo "<hr noshade size=\"1\"><br />"
             . ""
             . "<form action=\"admin.php\" method=\"post\">"
             . "<table border=\"0\" cellpadding=\"1\" cellspacing=\"2\" width=\"100%\">"
             . "<tr><td><b>" . _KONZERTID . ":</b></td><td><b>$id</b>"
             . "</td></tr>"
             . "<tr><td>" . _DATE . ":</td><td>" . mx_strftime(_DATESTRING . ' %H:%m', $date) . "</td></tr>"
             . "<tr><td>" . _PRODUCTTITLE . ":</td><td><input type=\"text\" name=\"title\" value=\"" . mxEntityQuotes($title) . "\" size=\"60\" maxlength=\"255\"></td></tr>";
            if ($multilingual == 1) {
                echo "<tr><td>" . _LANGUAGE . ":</td><td>" . mxLanguageSelect('rlanguage', $rlanguage, 'language', 1) . "</td></tr>";
            }
            echo "<tr valign='top'><td>" . _TEXT . ":</td><td>";
            if ($GLOBALS['wysiwyg'] && $GLOBALS['wysiwyg_review']) {
                $sw = new SPAW_Wysiwyg('text_' . $id, $text, _DOC_LANGUAGE, $GLOBALS['wysiwyg_toolbar'], $GLOBALS['wysiwyg_btnset'], '100%', '300');
                $sw->show();
            } else {
                echo "<textarea name=\"text_" . $id . "\" rows=\"15\" cols=\"60\">" . htmlspecialchars($text) . "</textarea><br /><br />"
                 . "<font class=\"content\">" . _PAGEBREAK . "</font><br /><br />";
            }
            echo "</td></tr>"
             . "<tr><td>" . _RELATEDLINK . ":</td><td><input type=\"text\" name=\"url\" value=\"" . mxEntityQuotes($url) . "\" size=\"60\" maxlength=\"255\"></td></tr>"
             . "<tr><td>" . _LINKTITLE . ":</td><td><input type=\"text\" name=\"url_title\" value=\"" . mxEntityQuotes($url_title) . "\" size=\"60\" maxlength=\"255\"></td></tr>"
             . "<tr><td>" . _IMAGE . ":</td><td><input type=\"text\" name=\"cover\" value=\"" . mxEntityQuotes($cover) . "\" size=\"60\" maxlength=\"255\"><br /><i>" . _KONIMGINFO . "</i></td></tr>"
             . "<tr><td>" . _REVIEWER . ":</td><td><input type=\"text\" name=\"reviewer\" value=\"" . mxEntityQuotes($reviewer) . "\" size=\"30\" maxlength=\"255\"></td></tr>"
             . "<tr><td>" . _SCORE . "</td>
<td>
<select name=\"score\">
    <option value=\"10\" $select[10]>10</option>
    <option value=\"9\" $select[9]>9</option>
    <option value=\"8\" $select[8]>8</option>
    <option value=\"7\" $select[7]>7</option>
    <option value=\"6\" $select[6]>6</option>
    <option value=\"5\" $select[5]>5</option>
    <option value=\"4\" $select[4]>4</option>
    <option value=\"3\" $select[3]>3</option>
    <option value=\"2\" $select[2]>2</option>
    <option value=\"1\" $select[1]>1</option>
    <option value=\"0\" $select[0]>0</option>
</select>
</td></tr>"
             . "</table><br />"
             . "<input type=\"hidden\" name=\"date\" value=\"$date\">"
             . "<input type=\"hidden\" name=\"id\" value=\"$id\">"
             . "<input type=\"hidden\" name=\"op\" value=\"kon_add_review\">"
             . "<input type=\"submit\" value=\"" . _ADDKONZERT . "\">"
             . " - [&nbsp;<a href=\"admin.php?op=deleteNotice&amp;id=$id\">" . _DELETE . "</a>&nbsp;]"
             . "</form>";
        }
        echo "<hr noshade size=\"1\"><br /><br />";
    } else {
        echo "<br /><br /><i>" . _NOKONZERT2ADD . "</i><br /><br />";
        if ($revautoactivate) {
            echo _KON_AUTOACTIVATENOTIC . "<br /><br />";
        }
    }
    echo "<p><a href=\"modules.php?name=$module_name&amp;rop=kon_write_review\">" . _CLICK2ADKONZERT . "</a></p></center>";
    CloseTable();
    echo "<br />";
    OpenTable();
    echo "<center><font class=\"option\"><b>" . _DELMODKONZERT . "</b></font><br /><br />" . _MODKONINFO . "</center>";
    CloseTable();
    echo "<br /><br />";
    include_once("footer.php");
}
// #################################################################################
function add_review()
{
    global $prefix;
    extract($_POST);
    $rlanguage = (empty($rlanguage)) ? '' : $rlanguage;
    $id = (empty($_POST['id'])) ? 0 : intval($_POST['id']);
    $text = $_POST['text_' . $id];
    sql_query("UPDATE " . $prefix . "_konzerte SET title='" . mxAddSlashesForSQL($title) . "', text='" . mxAddSlashesForSQL($text) . "', reviewer='" . mxAddSlashesForSQL($reviewer) . "', score='$score', cover='" . mxAddSlashesForSQL($cover) . "', url='" . mxAddSlashesForSQL($url) . "', url_title='" . mxAddSlashesForSQL($url_title) . "', rlanguage='" . mxAddSlashesForSQL($rlanguage) . "', active='1' WHERE id='" . intval($id) . "'");
    header("Location: admin.php?op=konzerte");
}
// #################################################################################
function deleteNotice($id)
{
    global $prefix;
    sql_query("DELETE FROM " . $prefix . "_konzerte WHERE id = " . intval($id));
    header("Location: admin.php?op=konzerte");
}
// #################################################################################
switch ($op) {
    case "kon_add_review":
        add_review();
        break;

    case "kon_deleteNotice":
        deleteNotice($id);
        break;

    case "kon_mod_main":
    case "konzerte":
    default:
        reviews();
        break;
}

?>

JoergK

Hoi ;)

Jo, hast ne Zeile übersehen:
            . " - [&nbsp;<a href=\"admin.php?op=deleteNotice&amp;id=$id\">" . _DELETE . "</a>&nbsp;]"

änder die zu
Zitat. " - [&nbsp;<a href=\"admin.php?op=kon_deleteNotice&amp;id=$id\">" . _DELETE . "</a>&nbsp;]"
dann sollte das Löschen auch funktionieren.
Gruß,
Jörg


Nobody is perfect ... so don't call me Nobody

wave