Ich hab ganz zum Anfang als php 5.4 rauskam und ich ebenso feststellte das der Newsletter nicht funktioniert mir was simples geschrieben.
Kann man hier und da sicher schicker machen denke aber es erfüllt sein Zweck und nimmt sich mit dem orginalen fast nichts.
Bitte den Codestyle ignorieren die ACP Sachen sind mir persönlich nicht so wichtig da nur ich sie sehe.
<?php
defined('main') or die ('no direct access');
defined('admin') or die ('only admin access');
$design = new design ('Admins Area', 'Admins Area', 2);
$design->header();
if (isset($_POST['nsub'])) {
$wer = escape($_POST['wer'], 'string');
$wahl = escape($_POST['wahl'], 'string');
$was = escape($_POST['was'], 'string');
$betreff = escape($_POST['betreff'], 'string');
$plus = escape($_POST['plus'], 'string');
$text = escape($_POST['text'], 'textarea');
if ($wer == 1) {
if ($wahl == 'Alle User') {
$erg = db_query('SELECT id,email FROM prefix_user');
while ($us = db_fetch_object($erg)) {
if ($was == '1') {
icmail($us->email, $betreff, $text, '', true);
} else {
sendpm($_SESSION['authid'], $us->id, $betreff, $text, -1);
}
}
} else {
$gruppenid = @db_result(db_query('SELECT id FROM prefix_groups WHERE name = "' . $wahl . '"'));
$ergg = db_query('SELECT a.uid,b.email FROM prefix_groupusers a LEFT JOIN prefix_users b ON a.uid = b.id WHERE a.gid = ' . $gruppenid);
while ($grus = db_fetch_object($ergg)) {
if ($was == '1') {
icmail($grus->email, $betreff, $text, '', true);
} else {
sendpm($_SESSION['authid'], $grus->uid, $betreff, $text, -1);
}
}
}
} else {
$rechtid = @db_result(db_query('SELECT id FROM prefix_grundrechte WHERE name = "' . $wahl . '"'));
if ($plus == 'on') {
$code = '<=';
} else {
$code = '=';
}
$ergu = db_query('SELECT id,email FROM prefix_user WHERE recht ' . $code . ' "' . $rechtid . '"');
while ($users = db_fetch_object($ergu)) {
if ($was == '1') {
icmail($users->email, $betreff, $text, '', true);
} else {
sendpm($_SESSION['authid'], $users->id, $betreff, $text, -1);
}
}
}
wd('admin.php?newsletter_new', 'Newsletter wurde erfolgreich verschickt!', 3);
$design->footer(1);
}
$gr = db_query('SELECT name FROM prefix_groups ORDER BY name ASC');
while ($row = db_fetch_object($gr)) {
$groups .= '<option>' . $row->name . '</option>';
}
$rechte = db_query('SELECT name FROM prefix_grundrechte ORDER BY id ASC');
while ($ror = db_fetch_object($rechte)) {
$recht .= '<option>' . $ror->name . '</option>';
}
$wahls = '<option>Bitte erst den Empfänger auswählen</option>';
echo <<<HTML
<script type="text/javascript">
$(function(){
$('#radio1').click(function(){
$('#wahle').val($('#wahle').html('<optgroup label="Benutzer"><option>Alle User</option></optgroup><optgroup label="Gruppen">{$groups}</optgroup>'));
$('#hrecht').hide();
});
$('#radio2').click(function(){
$('#wahl').val($('#wahle').html('{$recht}'));
$('#hrecht').show();
});
});
</script>
<div style="padding:10px;">
<div class="Cdark" align="center" style="width:50%;padding:10px">Newsletter verfassen</div>
<form method="post">
<div class="Cnorm" style="width:10%;float:left;">Empfänger:</div>
<div style="margin-left:10px;width:40%;float:left;"><input type="radio" name="wer" id="radio1" value="1"> Normal
<input type="radio" name="wer" id="radio2" value="2"> nach Rechten
</div>
<br style="clear:left;">
<div class="Cnorm" style="width:10%;float:left;">Auswählen:</div>
<div style="margin-left:10px;width:40%;float:left;"><select name="wahl" id="wahle">{$wahls}</select> <span id="hrecht" style="display:none;"><input type="checkbox" name="plus"> und alle höheren Rechte</span>
</div>
<br style="clear:left;">
<div class="Cnorm" style="width:10%;float:left;">Email/PM:</div>
<div style="margin-left:10px;width:40%;float:left;"><input type="radio" name="was" value="1"> Email
<input type="radio" name="was" value="2"> PM
</div>
<br style="clear:left;">
<div class="Cnorm" style="float:left;width:10%">Betreff</div>
<div style="margin-left:10px;width:40%;float:left;"><input type="text" style="width:98%" name="betreff"></div>
<br style="clear:left;">
<div class="Cnorm" style="float:left;width:10%">Text</div>
<div style="margin-left:10px;width:40%;float:left;display:block"><textarea name="text" style="width:98%" rows="20"></textarea></div>
<br style="clear:left;">
<input type="submit" name="nsub" value="Absenden">
</form>
</div>
HTML;
$design->footer();
?>
Den Code ersetzt Du einfach in deiner include/admin/newsletter.php oder aber erstellst eine neue php Datei mit meinem Inhalt.
Der funzt wie gesagt mit php 5.4.
Falls dann doch noch nichts funktioniert musst Du Jquery auch in die include/admin/templates/index.htm integrieren!
Zuletzt modifiziert von blakedj06 am 17.12.2012 - 22:32:55