Hallo,
habe eben für das ACP eine Erweiterung gebastelt, so daß auch dort angezeigt wird, wenn Mail eingegangen ist und diese auf Verarbeitung wartet
in der /admin/home.php ist wie folgt zu ergänzen:
suche
$awaiting_validation = sprintf("<a href=\"".$site_sess->url("validateimages.php?action=validateimages")."\">%s</a>", $awaiting_validation);
echo "<td width=\"16%\"><b>".$lang['images']."</b></td><td width=\"16%\">".$total_images." / ".$awaiting_validation."</td>\n";
ersetze mit
$awaiting_validation = sprintf("<a href=\"".$site_sess->url("validateimages.php?action=validateimages")."\">%s</a>", $awaiting_validation);
class receiveMail
{
var $server='';
var $username='';
var $password='';
function receiveMail($server='localhost',$username,$password)
{
$strConnect='{'.$server.':110/pop3/notls}';
$this->server
=
$strConnect;
$this->username
=
$username;
$this->password
=
$password;
}
function connect()
{
$this->mbox=imap_open($this->server,$this->username,$this->password);
}
function getTotalMails()
{
$headers=imap_headers($this->mbox);
return count($headers);
}
function close_mailbox()
{
imap_close($this->mbox,CL_EXPUNGE);
}
}
$sql = "SELECT setting_value as pop_server FROM ".SETTINGS_TABLE." WHERE setting_name = 'pop_server'";
$result = $site_db->query($sql); $row = mysql_fetch_object($result);
$pop_server = $row->pop_server;
$sql = "SELECT setting_value as pop_username FROM ".SETTINGS_TABLE." WHERE setting_name = 'pop_username'";
$result = $site_db->query($sql); $row = mysql_fetch_object($result);
$pop_username = $row->pop_username;
$sql = "SELECT setting_value as pop_password FROM ".SETTINGS_TABLE." WHERE setting_name = 'pop_password'";
$result = $site_db->query($sql); $row = mysql_fetch_object($result);
$pop_password = $row->pop_password;
$obj= new receiveMail($pop_server,$pop_username,$pop_password);
$obj->connect();
$totmails=$obj->getTotalMails();
$obj->close_mailbox();
if ($totmails == 1) {
$totmails = "<b>".$totmails."</b> Mail";
}
else
{
$totmails = "<b>".$totmails."</b> Mails";
}
$totmails = sprintf("<a href=\"".$site_sess->url("plugins/eMail_upload.php")."\">%s</a>", $totmails);
echo "<td width=\"16%\"><b>".$lang['images']."</b></td><td width=\"16%\">".$total_images." / ".$awaiting_validation." / ".$totmails."</td>\n";Das sieht dann wie folgt aus:
keine Nachrichten
eine neue Nachricht
mehrere Nachrichten
Habe non noch die Idee, daß man als ADMIN das auch in der Gallerie-Ansicht irgendwo sieht, ob was zum Freischalten vorhanden ist - muß man nicht immer in das ACP sehen.
EDIT:Hier noch eine kleine Erweiterung: Der Absender der Mail bekommt eine Antwort, ob die Bilder eingelesen wurden (ob eMail_upload.php ausgeführt wurde - nicht validateimages.php) oder ob die Mail verworfen wurde.
in der eMail_upload.php ist wie folgt zu ergänzen:
1) suche
require(ROOT_PATH.'includes/image_utils.php');
füge dannach ein
include(ROOT_PATH.'includes/email.php');2) suche
$br=explode(",",$str);füge dannach ein
$message = "";3) suche
$image_id = $site_db->get_insert_id();
}
}
elseersetze mit
$image_id = $site_db->get_insert_id();
$message = $message."".$image_name." ";
}
$subject = "Deine Mail wurde von ".$config['site_name']." empfangen!";
$site_email = new Email();
$site_email->set_to($head['from']);
$site_email->set_subject($subject);
$site_email->register_vars(array(
"recipient_name" => $head['fromName'],
"site_name" => $config['site_name'],
"message" => $message
));
$site_email->set_body("mailimages_confirm", $config['language_dir']);
$site_email->send_email();
}
else4) suche
echo '<td class="marktext">Mail wurde gelöscht!</td>';
echo '</tr>';
füge dannach ein
$subject = "Deine Mail an ".$config['site_name']." wurde gelöscht!";
$site_email = new Email();
$site_email->set_to($head['from']);
$site_email->set_subject($subject);
$site_email->register_vars(array(
"recipient_name" => $head['fromName'],
"site_name" => $config['site_name']
));
$site_email->set_body("mailimages_delconfirm", $config['language_dir']);
$site_email->send_email();In der Anlage findest Du zwei Vorlagen, die müssen nach \lang\xxx\email\ und können natürlich noch angepaßt werden
Leider ist noch eine Sache zu fixen: Wenn per Mail gesendete Dateien Umlaute haben, dann zerreißt dies die Tabelle wie auch die Liste in der Confirm-Mail.
EDIT:Per Mail gesendete Dateien mit Umlauten werden nicht sauber verarbeitet - das ist offenbar noch eine generelle Baustellen. Andi, Jens: Bitte mal testen
Viel Spaß damit,
Henry