nachdem ich mehrere reviews module eingebaut habe in mein pragma
(siehe thema hier: http://www.pragmamx.org/Forum-topic-24047.html (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
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> <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.
@ 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??
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.phpKopiere 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> <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> <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.phpZeile 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 144das
$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 . "\">"
. " - [ <a href=\"admin.php?op=deleteNotice&id=$id\">" . _DELETE . "</a> ]"
ändern in
. "<input type=\"hidden\" name=\"op\" value=\"fest_add_review\">"
. "<input type=\"submit\" value=\"" . _ADDFESTIVAL . "\">"
. " - [ <a href=\"admin.php?op=fest_deleteNotice&id=$id\">" . _DELETE . "</a> ]"
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&rop=write_review\">" . _CLICK2ADDREVIEW . "</a></p></center>";
ändern in
echo "<p><a href=\"modules.php?name=$module_name&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 145jeweils
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 BilderverzeichnisseLege im Bildverzeichnis
/images für jedes geklonte Modul ein neues Verzeichnis an: /festivals, /interviews und /konzerte.
9.
Ändern der Datei admin.phpKopiere 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> <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> <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/languageIn 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ätigung wartend");
define("_FESTIVALID", "Festivalberichts-ID");
define("_FESTIMGINFO", "Lege Dein 150*150 Bild unter /images/festivals ab");
define("_ADDFESTIVAL", "Festivalbericht hinzufügen");
define("_NOFESTIVAL2ADD", "keinen Festivalbericht zum hinzufügen");
define("_FEST_AUTOACTIVATENOTIC", "<font color=red>Hinweis: z.Zt. werden alle Festivalberichte automatisch freigeschaltet.<br />Ändern Sie das ggf. bitte in der config.php vom Modul!</font>");
define("_CLICK2ADDFESTIVAL", "Hier anklicken, um einen Festivalbericht zu erstellen");
define("_DELMODFESTIVAL", "Lösche / verändere einen Festivalbericht");
define("_MODFESTINFO", "Als Administrator können Sie unter <a href=\"modules.php?name=Festivals\">Festivals</a> Festivalberichte verändern oder löschen .");
ein. Den Text zwischen den Anführungszeichen jeweils der Sprache entsprechend ändern.
11.
Ändern der Sprachdateien im Verzeichnis /languageIn 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. ;)
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 . "\">"
. " - [ <a href=\"admin.php?op=deleteNotice&id=$id\">" . _DELETE . "</a> ]"
. "</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&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;
}
?>
Hoi ;)
Jo, hast ne Zeile übersehen:
. " - [ <a href=\"admin.php?op=deleteNotice&id=$id\">" . _DELETE . "</a> ]"
änder die zu
Zitat. " - [ <a href=\"admin.php?op=kon_deleteNotice&id=$id\">" . _DELETE . "</a> ]"
dann sollte das Löschen auch funktionieren.
oki.. super!
danke joerg.. funzt..
lg martin