4images Forum & Community
4images Modifications / Modifikationen => Mods & Plugins (Releases & Support) => Topic started by: Rembrandt on December 27, 2008, 04:40:55 PM
-
Für V.1.7.8
falls ihr noch eine alte 4images version habt müßt ihr die beiden auskommentierten zeilen im code wieder aktivieren, damit die "Keywords" wieder stimmen.:
//$image_keywords = str_replace(","," ",$image_keywords); // Comment out for V 1.7.8
//$image_keywords = preg_replace("/ /", "", $image_keywords); //Comment out for V 1.7.8
Mit diesem [Mod] ist es möglich Bilder per E-Mail auf dem Server hochzu laden.
Egal ob ein oder mehrere Bilder in einer Mail, oder mehrere Mails mit einem oder mehr Bilder.
So ist es auch möglich, Bilder die mit einem Handy gemacht worden sind auf dem Server hoch zu laden,
vorrausgesetzt ihr habt ein E-Mail fähiges Handy.
Als erster würde ich euch empfehlen wenn ihr einen eigenen Webserver habt,
ein eigenes E-Mail Postfach hierzu anzulegen, ohne geht es natürlich auch.
Aber Achtung alle E-Mails die das Falsche Passwort oder Benutzernamen haben werden automatisch gelöscht.
Zu Modifizierende Dateien:
1.)lang/deutsch/admin.php
2.)admin/setting.php
3.)Eine neue Datei in admin/plugins:
"eMail_upload.php"
1.) sucht in der Datei lang/deutsch/admin.php
$setting['smtp_password'] = "SMTP Passwort";
und fügt danach ein:
//--------------------------------------- Start eMail upload --------------------------------------
$setting['pop_server'] = "POP Server";
$setting['pop_username'] = "POP Username";
$setting['pop_password'] = "POP Passwort";
$setting['pop_code'] = "POP Code";
//--------------------------------------- End eMail upload --------------------------------------
2.) sucht in der datei admin/setting.php:
show_setting_row("smtp_password");
und fügt danach ein:
//--------------------------------------- Start eMail upload --------------------------------------
show_setting_row("pop_server");
show_setting_row("pop_username");
show_setting_row("pop_password");
show_setting_row("pop_code");
//--------------------------------------- End eMail upload --------------------------------------
3.) Entweder ihr legt die Datei neu an oder ihr ladet sie euch aus dem anhang herrunter
und speichert sie unter admin/plugins ab.
<link rel="stylesheet" href="/admin/cpstyle.css">
<body bgcolor="#FFFFFF" text="#0F5475" link="#0F5475" vlink="#0F5475" alink="#0F5475">
<?// PLUGIN_TITLE: eMail_upload.php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: eMail_upload.php *
* Copyright: (C) 2008 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7.6 *
* File Version: 1.1 (by Rembrandt www.vienna-pictures.com) *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
class receiveMail {
var $server='';
var $username='';
var $password='';
function receiveMail($server='localhost',$username,$password){
// $strConnect='{'.$server.':143}INBOX';
// $strConnect='{'.$server.':110}INBOX';
$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 getHeaders($mid){
$mail_header=imap_header($this->mbox,$mid);
$sender=$mail_header->from[0];
$sender_replyto=$mail_header->reply_to[0];
if(strtolower($sender->mailbox)!='mailer-daemon' && strtolower($sender->mailbox)!='postmaster'){
$mail_details=array(
'from'=>strtolower($sender->mailbox).'@'.$sender->host,
'fromName'=>$sender->personal,
'toOth'=>strtolower($sender_replyto->mailbox).'@'.$sender_replyto->host,
'toNameOth'=>$sender_replyto->personal,
'subject'=>$mail_header->subject,
'to'=>strtolower($mail_header->toaddress)
);
}
return $mail_details;
}
function get_mime_type($structure){
$primary_mime_type = array("TEXT", "MULTIPART", "MESSAGE", "APPLICATION", "AUDIO", "IMAGE", "VIDEO", "OTHER");
if($structure->subtype) {
return $primary_mime_type[(int) $structure->type] . '/' . $structure->subtype;
}
return "TEXT/PLAIN";
}
function get_part($mbox, $mid, $mime_type, $structure = false,$part_number = false){
if(!$structure) {
$structure = imap_fetchstructure($mbox, $mid);
}
if($structure) {
if($mime_type == $this->get_mime_type($structure)){
if(!$part_number){
$part_number = "2";
}
$text = imap_fetchbody($mbox, $mid, $part_number);
if($structure->encoding == 3){
return imap_base64($text);
}
else if($structure->encoding == 4){
return imap_qprint($text);
}
else{
return $text;
}
}
if($structure->type == 1){
while(list($index, $sub_structure) = each($structure->parts)){
if($part_number){
$prefix = $part_number . '.';
}
$data = $this->get_part($mbox, $mid, $mime_type, $sub_structure, $prefix . ($index + 1));
if($data){
return $data;
}
}
}
}
return false;
}
function getTotalMails(){
$headers=imap_headers($this->mbox);
return count($headers);
}
function GetAttach($mid,$path){
$structure = imap_fetchstructure($this->mbox,$mid);
$ar="";
foreach($structure->parts as $key => $value){
$enc=$structure->parts[$key]->encoding;
if($structure->parts[$key]->ifdparameters){
$name=$structure->parts[$key]->dparameters[0]->value;
$message = imap_fetchbody($this->mbox,$mid,$key+1);
if ($enc == 1) $message = imap_8bit($message);
if ($enc == 2) $message = imap_binary ($message);
if ($enc == 3) $message = imap_base64 ($message);
if ($enc == 4) $message = imap_qprint($message);
if ($enc == 5) $message = "$message";
if (file_exists($path.$name)){
$num = '1';
while (file_exists ($path . $num . $name)){
$num++;
$name = "Copy_from_$name";
}
}
$name = $num . $name;
$fp=fopen($path.$name,"w+");
chmod ($path.$name, 0666);
fwrite($fp,$message);
fclose($fp);
$ar=$ar.$name.",";
}
}
$ar=substr($ar,0,(strlen($ar)-1));
return $ar;
}
function getBody($mid){
$body = $this->get_part($this->mbox, $mid, "TEXT/HTML");
if ($body == "")
$body = $this->get_part($this->mbox, $mid, "TEXT/PLAIN");
if ($body == ""){
return "";
}
return $body;
}
function deleteMails($mid){
imap_delete($this->mbox,$mid);
}
function close_mailbox(){
imap_close($this->mbox,CL_EXPUNGE);
}
}
flush();
//error_reporting(E_ALL);
$nozip = 1;
define('IN_CP', 1);
$root_path = (false === stristr($_SERVER['PHP_SELF'], "/plugins/")) ? "./../" : "./../../";
define('ROOT_PATH', $root_path);
require(ROOT_PATH.'admin/admin_global.php');
require(ROOT_PATH.'includes/image_utils.php');
$obj= new receiveMail($config['pop_server'],$config['pop_username'],$config['pop_password']);
$obj->connect();
$tot=$obj->getTotalMails();
echo "$tot Neue Nachrichten in ".$config['pop_server']."<br>";
if($tot>0) {
echo '<table cellpadding="0" cellspacing="0" border="0" width="100%">';
echo '<tr>';
echo '<td class="tableheader">';
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3">';
echo '<tr class="tableborder">';
echo '<td class="tableheader" width=3%>Nr.</td>';
echo '<td class="tableheader" width=8%>'.$lang['field_username'].'</td>';
echo '<td class="tableheader" width=15%>'.$lang['field_image_name'].'</td>';
echo '<td class="tableheader" width=8%>'.$lang['field_category'].'</td>';
echo '<td class="tableheader" width=30%>'.$lang['field_keywords'].'</td>';
echo '<td class="tableheader" >'.$lang['field_description'].'</td>';
echo '</tr>';
$bgcounter = 0;
// for($i=$tot;$i>=1;$i--)
for($i=1;$i<=$tot;$i++){
$body=$obj->getBody($i);
$mes = strip_tags($body);
$head=$obj->getHeaders($i);
$array = explode ("*",$head['subject']);
$sql = "SELECT u.user_id, u.user_name, c.cat_id, c.cat_name
FROM (".USERS_TABLE." u, ".CATEGORIES_TABLE." c)
WHERE user_name = '$array[0]' AND cat_id = '$array[2]'
";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$user_name = $row[user_name];
$user_id = $row[user_id];
$cat_name = $row[cat_name];
$cat_id = $row[cat_id];
if ($array[0] == "$user_name" && $array[1] == $config['pop_code']){
$path = MEDIA_TEMP_PATH."/";
$found = '*';
$pos = strpos($mes, "*");
$image_keywords = substr("$mes", 0, "$pos");
$image_description = substr("$mes", "$pos"+1,-1);
$str=$obj->GetAttach($i,$path);
$br=explode(",",$str);
foreach($br as $key=>$value){
$new_name = "$value";
$pos = strpos($new_name,".");
$image_name = substr("$new_name",0,"$pos");
$src = MEDIA_TEMP_PATH."/".$new_name;
$dest = THUMB_TEMP_PATH."/".$new_name;
$image_info = @getimagesize($src);
$convert_options = init_convert_options();
$dimension = (intval($config['auto_thumbnail_dimension'])) ? intval($config['auto_thumbnail_dimension']) : 100;
$resize_type = (intval($config['auto_thumbnail_resize_type'])) ? intval($config['auto_thumbnail_resize_type']) : 1;
$quality = (intval($config['auto_thumbnail_quality']) && intval($config['auto_thumbnail_quality']) <= 100) ? intval($config['auto_thumbnail_quality']) : 100;
create_thumbnail($src, $dest, $quality, $dimension, $resize_type);
$new_thumb_name = $new_name;
$image_description = preg_replace("/[\n\r]/is", "", $image_description);
$image_description = trim($image_description);
$image_description = preg_replace("/ /", "", $image_description);
$image_keywords = preg_replace("/[\n\r]/is", "", $image_keywords);
//$image_keywords = str_replace(","," ",$image_keywords); // Comment out for V 1.7.8
$image_keywords = trim($image_keywords);
//$image_keywords = preg_replace("/ /", "", $image_keywords); //Comment out for V 1.7.8
$row_bg_number = ($bgcounter++ % 2 == 0) ? "tablerow" : "tablerow2";
echo '<tr class="' .$row_bg_number.'">';
echo '<td width=3%>'.$i.'</td>';
echo '<td width=8%>'.$user_name.'</td>';
echo '<td width=15%>'.$image_name.'</td>';
echo '<td width=8%>'.$cat_name.'</td>';
echo '<td width=30%>'. $image_keywords . '</td>';
echo '<td >'. $image_description . '</td>';
echo '</tr>';
$current_time = time();
$sql = "INSERT INTO ".IMAGES_TEMP_TABLE."
(cat_id, user_id, image_name, image_description, image_keywords, image_date, image_media_file, image_thumb_file)
VALUES
('$cat_id','$user_id','$image_name','$image_description','$image_keywords','$current_time', '$new_name', '$new_thumb_name')";
$result = $site_db->query($sql);
$image_id = $site_db->get_insert_id();
}
}
else{
$obj->deleteMails($i);
$row_bg_number = ($bgcounter++ % 2 == 0) ? "tablerow" : "tablerow2";
echo '<tr class= "'.$row_bg_number.'">';
echo '<td width=3%>'.$i.'</td>';
echo '<td width=10%>'.$head['from'].'</td>';
echo '<td width=15%>'.$image_name.'</td>';
echo '<td width=8%>'.$cat_name.'</td>';
echo '<td class="marktext">Falscher Benutzername oder Passwort!</td>';
echo '<td class="marktext">Mail wurde gelöscht!</td>';
echo '</tr>';
}
flush();
$obj->deleteMails($i); // Delete Mail from Mail box
}
echo '</table></td></tr></table>';
}
$obj->close_mailbox(); //Close Mail Box
?>
</body>
Habt ihr alles richtig gemacht solltet ihr in ACP unter Allgemein/Einstellungen nach "SMTP Passwort"
4 neue Felder sehen:
POP Server: Hier tragt ihr euren pop3 email Server ein.
Habt ihr einen imap Server müsst ihr in der eMail_upload.php den port auf "143" ändern.
POP Username:Login Name vom E-Mail Server
POP Passwort:Login Passwort vom E-Mail Server
POP Code: diese Passwort ist frei wählbar und wird für den Bilder upload benötigt.
Für den Bilder upload werden in der Betreffzeile:
der "4images Username", der "POP Code" und die "Kategorie Nummer" in folgenden Format benötigt:
4images_Username * POP Code * Kategorie Nummer
Beispiel:"Rembrandt*Trs5g*45"
als Trennzeichen unbedingt "*" verwenden.
sollte der Username oder der POP Code falsch sein wird die Mail gelöscht.
Im Text Feld wird genauso verfahren, und als Trennzeichen "*" zwischen Keywords(Stichwörter) und Beschreibung verwendet.
Stichwörter und Beschreibung in folgenden Format:
"keyword1,keyword2,keyword*das ist ein Beispiel"
Wichtig, vor dem "*" die keywords mit "," trennen nach dem "*" die Bildbeschreibung.
Wurden die Bilder mit der "eMail_upload.php" übertragen könnt ihr sie mit "Bilder Freischalten" in eure Galerie übernehmen.
mfg Andi
-
Genial!
-
Der Mod ist wie Weihnachten und Ostern zusammen :D
-
Also irgendwie bekomme ich nur diesen fehler hier:
Warning: require() [function.require]: Unable to access ./../admin/admin_global.php in /xxxxx/xxxxxxxxx.de/xxxxxxxxxxxxx.de/httpd.www/gallery/admin/plugins/eMail_upload.php on line 190
Warning: require(./../admin/admin_global.php) [function.require]: failed to open stream: No such file or directory in /xxxxx/xxxxxxxxx.de/xxxxxxxxxxxxx.de/httpd.www/gallery/admin/plugins/eMail_upload.php on line 190
Fatal error: require() [function.require]: Failed opening required './../admin/admin_global.php' (include_path='.:') in /xxxxx/xxxxxxxxx.de/xxxxxxxxxxxxx.de/httpd.www/gallery/admin/plugins/eMail_upload.php on line 190
-
Hi!
Also irgendwie bekomme ich nur diesen fehler hier:...
und das hast du gemacht:
..und speichert sie unter admin/plugins ab
und im ACP unten unter "Plugins" aufgerufen?
mfg Andi
-
jep, das passiert wenn ich es im ACP aufrufen möchte
-
Hi!
aus irgend einem grund hast du da anscheinend keine rechte.
Warning: require() [function.require]: Unable to access ./../admin/admin_global.php
b.z.w gib mal deinen pfad zur admin_global.php selber in der zeile 190 an.
mfg Andi
-
da bekomme ich die selbe fehler meldung
-
Hallo
Wenn ich an den 'eMail_upload.php' taste, krige ich die folgenden Fehler:
Parse error: syntax error, unexpected T_CLASS in /data/members/paid/h/u/huboftheuniverse.net/htdocs/maureens/admin/plugins/eMail_upload.php on line 27
Kanst du mir helfen?
MfG
Nick
-
Hi!
...
tja wirklich weiter helfen kann ich dir dabei nicht.
ein wirklicher syntax error kanns nicht sein, ausser du hast beim rauskopieren irgendwas vergessen.
ich nehme mal an das du die felder in der datenbank angelegt hast, und auch einen funktionierenden zugang zu deiner mailbox hast.
mfg Andi
Edit: habe gerade die version aus dem forum bei mir nochmal probiert, funktioniert einwandfrei.
-
Hi
Ich habe die code in Stufe 4 mit den txt file ersetz und jetz funkioniert es.
Danke, sehr cool mod.
Nick
-
Hi!
...Ich habe die code in Stufe 4 mit den txt file ersetz und jetz funkioniert es.
...
k.a. was du jetzt meinst, aber egal hauptsache es funktioniert.
ein tip noch, wenn du in der admin/validateimages nach der zeile:
if ($action == "validateimages") {
$condition = "1=1";
diese zeile einfügst:
include ('admin/plugins/eMail_upload.php');
kannst du gleich auf "Bilder Freischalten" klicken.
mfg Andi
-
hallo
ich bekomme die selbe meldung wie "Implant"
Warning: require(./../admin/admin_global.php) [function.require]: failed to open stream: No such file or directory in ******************************gp/admin/plugins/eMail_upload.php on line 190
Warning: require(./../admin/admin_global.php) [function.require]: failed to open stream: No such file or directory in +++++++++++++++++++++++++gp/admin/plugins/eMail_upload.php on line 190
rechte habe ich überprüft. chmod 777 ist vorhannden
was kann es noch sein ?
gruß lkubiczek
-
Hi!
...ich bekomme die selbe meldung wie "Implant"...
wenn du das so eingebaut wie oben beschrieben sollte das auch funktionieren.
ich habe es mit meiner galerie, und einer komplett neu aufgesetzten V1.7.6 getestet,
alle beide galerien unter PHP4 und PHP5.
mfg Andi
-
habe es jetzt in eine ganz frischen umgebung eingebaut, der selbe fehlerkommt wieder.
meine php version 5.0.51a-3ubuntu5.4
rechte habe ich auf 777
weis kein rat mehr
-
Hi!
ich könnte es mir ja mal ansehn.
sende mir FTP und ACP zugangsdaten, per pm oder mail.
mfg Andi
-
Hallo :-)
Soweit so gut, also erstmal grosses Lob, das Script funktioniert bei mir. Ich habe es nur ein wenig abgewandelt, das die Nutzer nur eine Kategorie die Bilder laden können ($array[2] = 565; fest definiert).
Nun verzweifel ich leider daran, das dieses Script keine EXIF Daten ausliest, bzw. ich diese Funktion nicht einbauen kann. Einige Handys speichern ja auch die GPS Daten und diese wollte ich dann via Google Maps anzeigen.
Doch ein einfügen von
$exif_array = get_exif_info($exif_data);
foreach ($exif_array as $key => $val) {
if ($key == "GPSLongitudeRef") {
$GPSLongitudeRef = $val;
}
if ($key == "GPSLatitudeRef") {
$GPSLatitudeRef = $val;
}
if ($key == "GPSLongitude") {
$GPSLongitude = substr (strrchr($val, "("), 1);
$GPSLongitude = substr ($GPSLongitude,0, strlen($GPSLonigtude)-1);
}
if ($key == "GPSLatitude") {
$GPSLatitude = substr (strrchr($val, "("), 1);
$GPSLatitude = substr ($GPSLatitude,0, strlen($GPSLatitude)-1);
$image_gmap_zoom = "12";
$image_gmap_type = "3";
$image_gmap_show = "1";
}
if ($key == "GPSAltitude") {
$GPSAltitude = $val;
}
if ($key == "GPSTrack") {
$GPSTrack = $val;
}
}
bringt leider nichts, da irgendwie nicht die exif Daten ausgelesen werden. Exif GPS Daten sind in dem Bild enthalten! Vielleicht kann mir einer weiterhelfen?
Gruß
Ingo
-
Hi!
du importierst doch die bilder über die validate.php, was ist wenn du dort die exif funktion einbaust?
mfg Andi
Edit : vergiss das wieder.....
-
Hallo
Jedesmal wenn ich vom Handy eine mail schicke kommt in eMail_upload.php Falscher Benutzername oder Passwort Mail wurde gelöscht!
Aber die Daten sind richtig.
-
@rembrandt
Nein ich schreibe alles direkt in die Datenbank und lasse die Bilder in das media/cat_id/ Verzeichnis direkt speichern. Die validate.php nutze ich nicht. Es werden ja nur Mails von registrierten Benutzern angenommen, daher umgehe ich auch die validate.php.
Über einen CronJob lasse ich den Mail Account checken, und importiere so automatisch alle 15 Minuten die Bilder in die Kategorie. Das klappt auch soweit ganz gut :-) Nur eben mit dem auslesen der GPS Daten hapert es:-(
Deinen Vorschlag hatte ich schon so umgesetzt, nur hinter der Zeile von dir vorgeschlagen eingefügt. Leider klappt das nicht. Habs gerade nochmal probiert.
Gruß
Ingo
-
Hi!
so funktioniert es:
suche:
$row_bg_number = ($bgcounter++ % 2 == 0) ? "tablerow" : "tablerow2";
und füge danach ein:
if (function_exists('exif_read_data') && $exif_data = @exif_read_data($src, 'EXIF'))
{
$exif_array = get_exif_info($exif_data);
foreach ($exif_array as $key => $val){
if ($key == "Make"){
$Make = $val;
}
if ($key == "Model"){
$Model = $val;
}
if ($key == "DateTimeOriginal"){
$DateTimeOriginal = $val;
}
if ($key == "ISOSpeedRatings"){
$ISOSpeedRatings = $val;
}
if ($key == "ExposureTime"){
$ExposureTime = $val;
}
if ($key == "FNumber"){
$FNumber = $val;
}
if ($key == "FocalLength"){
$FocalLength = $val;
}
if ($key == "ExposureBiasValue"){
$ExposureBiasValue = $val;
}
if ($key == "ApertureValue"){
$ApertureValue = $val;
}
if ($key == "MaxApertureValue"){
$MaxApertureValue = $val;
}
if ($key == "MeteringMode"){
$MeteringMode = $val;
}
if ($key == "Flash"){
$Flash = $val;
}
if ($key == "ExposureProgram"){
$ExposureProgram = $val;
}
if ($key == "ExposureMode"){
$ExposureMode = $val;
}
if ($key == "WhiteBalance"){
$WhiteBalance = $val;
}
if ($key == "GPSLongitudeRef"){
$GPSLongitudeRef = $val;
}
if ($key == "GPSLatitudeRef"){
$GPSLatitudeRef = $val;
}
if ($key == "GPSLongitude"){
$GPSLongitude = substr (strrchr($val, "("), 1);
$GPSLongitude = substr ($GPSLongitude,0, strlen($GPSLonigtude)-1);
}
if ($key == "GPSLatitude"){
$GPSLatitude = substr (strrchr($val, "("), 1);
$GPSLatitude = substr ($GPSLatitude,0, strlen($GPSLatitude)-1);
}
if ($key == "GPSAltitude"){
$GPSAltitude = $val;
}
if ($key == "GPSTrack"){
$GPSTrack = $val;
}
}
}
mfg Andi
-
Cool, es funktioniert, auf die Idee die Abfrage dorthin zu setzen wäre ich nicht gekommen.
Danke Dir für Deine Hilfe :-) Nun werden, sofern GPS Informationen vorliegen, auch diese in die Datenbank eingetragen und in Google Maps dargestellt :-)
Gruß
Ingo
-
Hi!
Cool, es funktioniert, ...
na fein, sorry wegen der formatierung aber durch das copy&paste wird das alles ein bischen verwurschtelt :lol:
mfg Andi
-
Folgenden Fehler habe ich noch entdeckt. Sobald ein Bild existiert, wird es genau einmal umbennant, danach nie wieder :-(
Ich habe die funktion des umbennen geändert, und anstelle von Copy_from_$name wird nun eine Zahl vorne angefügt.
Die Bilder sofern sie existieren heissen dann 1Bild.jpg, 2Bild.jpg usw.
finde in eMail_upload.php
if (file_exists($path.$name))
$name = "Copy_from_$name";
ersetze mit
if (file_exists($path.$name))
{
$num = '1';
while (file_exists ($path . $num . $name)) {
$num++;
}
}
$name = $num . $name;
Kann man sicherlich auch eleganter lösen, aber bei mir klappt es :-)
Gruß
Ingo
-
Folgenden Fehler habe ich noch entdeckt. ...
naja obs ein fehler ist weis ich nicht, aber ich dachte mir wieviele bilder werden schon mit dem gleichen namen hochgeladen.
aber deine lösung ist sicher besser.
ich habe es nochmal abgeändert, so sehe ich gleich ob es eine copy von einen namen gibt:
if (file_exists($path.$name))
{
$num = '1';
while (file_exists ($path . $num . $name))
{
$num++;
$name = "Copy_from_$name";
}
}
$name = $num . $name;
mfg Andi
-
Naja Fehler hast du recht. Mir ist es nur aufgefallen, als ich mir jemand ein Bild vom IPhone gesendet hatte, das den gleichen Namen trägt wie bei mir. Das IPhone nennt das Bild immer Photo wenn man es via Mail versenden möchte. Da wäre dann schnell ende gewesen :-)
-
Hallo Rembrant
habe jetzt dein Mod in einer Neuen Umgebung eingebaut. es kommt immernoch der selbe Fehler
Warning: require(./../admin/admin_global.php) [function.require]: failed to open stream: No such file or directory in ++++++++++++++++/gp/admin/plugins/eMail_upload.php on line 190
Warning: require(./../admin/admin_global.php) [function.require]: failed to open stream: No such file or directory in /+++++++++++++++++++gp/admin/plugins/eMail_upload.php on line 190
Fatal error: require() [function.require]: Failed opening required './../admin/admin_global.php' (include_path='.:/usr/share/php:/usr/share/pear') in ++++++++++++++++++gp/admin/plugins/eMail_upload.php on line 190
Hast du schon etwas herausgefunden???????
gruß kubiczek
-
in eMail_upload.php find:
$root_path = (eregi("\/plugins\/", $PHP_SELF)) ? "./../../" : "./../";
Replace it with:
$root_path = "./../../";
-
Hallo, Vaneo
es hat geklapt :lol: :lol:, Besten Dank :lol:
gruß kubiczek
-
Hi!
...Replace it with:
$root_path = "./../../";
THX @Vano
-
Hallo rinaldos
wenn ich " include ('admin/plugins/eMail_upload.php'); " in der validateimages.php einbaue,
bekomme ich folgende fehlermeldung wenn ich auf bilder freischalten klicke.
Warning: include(admin/plugins/eMail_upload.php) [function.include]: failed to open stream: No such file or directory in /www++++++++++++++++++/validateimages.php on line 323
Warning: include(admin/plugins/eMail_upload.php) [function.include]: failed to open stream: No such file or directory in /www++++++++++++++++++/admin/validateimages.php on line 323
Warning: include() [function.include]: Failed opening 'admin/plugins/eMail_upload.php' for inclusion (include_path='.:/usr/share/php:/usr/share/pear') in /www/++++++++++++/gp/admin/validateimages.php on line 323
was mach ich falsch????????????
-
bin zwar nicht rinaldos, aber
kommt darauf an wo du sie eingebaut hast:
suche in der validateimages.php:
if ($action == "validateimages") {
$condition = "1=1";
füge das danach ein:
include ('admin/plugins/eMail_upload.php');
mfg Andi
-
genau da habe ich sie eingebaut,
habe auch schon versucht von Vaneo den tip mit dem root pfad "./../../" einzubauen
include ('./../../admin/plugins/eMail_upload.php');
leider ohne erfolg
-
Hi,
ich habe die Datei nirgends eingebaut. Daher habe ich wohl auch nicht den Fehler. Ich starte die Datei über ein script / wget, und lasse so automatisch die Mails abfragen.
Hat den Vorteil, das der Handyreporter auch sehr schnell die Bilder online stellen kann.
Da ich ein Linux Server habe ist dieses anders realisiert, habe aber eben die scripte hier verwendet.
Sorry das ich bei dem Problem nicht helfen kann.
Gruß
Ingo
-
Hi!
...habe auch schon versucht von Vaneo den tip mit dem root pfad "./../../" einzubauen
...
da soll sich jetzt noch einer auskennen:
http://www.4homepages.de/forum/index.php?topic=23681.msg134298#msg134298
nur so mal am rande, diese fehlermeldungen haben doch nichts mit dem script zu tun?
wenn du in der validaeimages.php ein includes einbaust und der pfad zu der angegebenen datei wird nicht gefunden.
mfg Andi
-
danke für die info an euch zwei, ich bin in den sachen root blabal...... und php eine echte nullnummer. ich baue Eure Scripte nur nach Anleitung ein.
das macht mir unentlich viel spass.
Verzeit mir meine unwissenheit.
gruß kubiczek
-
Hallo!
Ich habe den Mod auch eingebaut und bekomme folgenden Fehler:
Parse error: syntax error, unexpected ';' in /.../.../..../..../images/admin/plugins/eMail_upload.php on line 232
line 232: $root_path = (eregi("\/plugins\/", $PHP_SELF)) ? "./../../";
Vielleicht weiß ja einer der Profis hier was da falsch ist :)
-
http://www.4homepages.de/forum/index.php?topic=23681.msg134269#msg134269
-
Danke, das hat beim fünften Anlauf funktioniert ^^
Jetzt habe ich aber den nächten Fehler, wo ich denke das er das Bild nicht speicern kann was man per Mail schickt.
Warning: include(admin/plugins/eMail_upload.php) [function.include]: failed to open stream: No such file or directory in /var/www/web2/html/images/admin/validateimages.php on line 323
Warning: include() [function.include]: Failed opening 'admin/plugins/eMail_upload.php' for inclusion (include_path='.') in /var/www/web2/html/images/admin/validateimages.php on line 323
-
Hallo,
habe das eben mal versucht. Bei mir kommt der Fehler:
Warning: main(./../admin/admin_global.php) [function.main]: failed to open stream: No such file or directory in /mnt/web5/43/32/51260132/htdocs/gallery/admin/plugins/eMail_upload.php on line 190
Fatal error: main() [function.require]: Failed opening required './../admin/admin_global.php' (include_path='.:/opt/RZphp4/includes') in /mnt/web5/43/32/51260132/htdocs/gallery/admin/plugins/eMail_upload.php on line 190
Kann jemand weiter helfen ?
Gruß
Ralf
Edit:
Der Tip von @Vano weiter oben hat geholfen.
Danke
-
genau da habe ich sie eingebaut,
habe auch schon versucht von Vaneo den tip mit dem root pfad "./../../" einzubauen
include ('./../../admin/plugins/eMail_upload.php');
leider ohne erfolg
Dein Pfad stimmt nicht ganz wenn du ./../../ eingegeben hast, dann sollte dein Server als Bsp. auf C:\ stehen. Du wirst die Gallery sicherlich in einem Unterverzeichnis haben. Als muss da noch was dazu Bsp. "./../../Bilder/admin/plugins/eMail_upload.php"
So habe ich es jedenfalls hin bekommen.
Gruß
Ralf
-
Hi,
ich hab folgendes Problem:
Meine Emails werden immer gelöscht, Falscher Benutzername oder Passwort.
Die Kategorie wird richtig erkannt:
(http://www.xup.in/pic,95359519/test.png) (http://www.xup.in/dl,95359519/test.png/)
Ich habe diese formatierung versucht:
Betreff: benutzername*passwort*kategorienummer
Text: test*testbild
Wo ist der Fehler, verstehe ich rembrandt falsch?
Gruß Jens
-
das passwort ist richtig?
das ist nicht das von der galerie sondern das frei wählbare.
ausserdem gehört in den code der abschnitt mit dem keywords geändert falls du die galerie version 1.7.8 verwendest.
wenn ich zeit habe werde ich den mod neu coden, da ist vieles unnötig. (war einer meiner ersten :) )
EDIT: habe es soeben ausprobiert, funktioniert einwandfrei aber du mußt bei benutzername und passwort auf die groß kleinschreibung achten.
-
das passwort ist richtig?
das ist nicht das von der galerie sondern das frei wählbare.
ausserdem gehört in den code der abschnitt mit dem keywords geändert falls du die galerie version 1.7.8 verwendest.
wenn ich zeit habe werde ich den mod neu coden, da ist vieles unnötig. (war einer meiner ersten :) )
EDIT: habe es soeben ausprobiert, funktioniert einwandfrei aber du mußt bei benutzername und passwort auf die groß kleinschreibung achten.
Hi,
das Passwort ist natürlich der POP Code den ich im ACP eingetragen habe.
Das Script kann die Emails ja scheinbar abholen sonst würde die Mail ja nicht gelöscht werden.
Hmmm der Benutzername im 4images lautet z.b. 123test der POP Code: 123upload.
Also Betreff: 123test*123upload*3
Auf die groß kleinschreibung habe ich schon geachtet ist aber alles kleingeschrieben...
Welchen Code muss ich ändern? Ja 1.7.8 :) wo ist der Schnipsel zu finden?
Ich habs gerade nochmal probiert, alle Varianten werden gekillt!
EDIT:
Mir ist gerade aufgefallen in deinen Screenshots steht da zumindest der Dateiname
auch bei den Mail wo der User bzw. Pass falsch sein soll, bei mir ist der Dateiname leer.
Kann dein Script nur mit jpgs? :) ich versuche bislang nur pngs... mal probieren...
EDIT2:
Es geht... aber alter Falter :) wo steht das die absendende Emailadresse identisch
mit der registrierten sein muss :) herje ich hab die Mail zum testen direkt vom Server
verschickt, der Hinweis war der Benutzername... da wurde die Absende-Email angezeigt
und nicht der Benutzername (Login)
Wie doof das hätte ich längst herausfinden können.
Danke dir für die Hilfe.
Gruß Jens
-
.....
Es geht... aber alter Falter :) wo steht das die absendende Emailadresse identisch
mit der registrierten sein muss :) .....
du meinst aber jetzt deinen server und nicht den mod?
ohne eine gültige absender email addy werden die mails meistens entweder als spam gewertet oder gar nicht gesendet.
-
.....
Es geht... aber alter Falter :) wo steht das die absendende Emailadresse identisch
mit der registrierten sein muss :) .....
du meinst aber jetzt deinen server und nicht den mod?
ohne eine gültige absender email addy werden die mails meistens entweder als spam gewertet oder gar nicht gesendet.
Hi,
ne die Mail kommt ja im Postfach an das kann ich ja vorher checken.
ich habe von der gleichen Adresse versendet die auch die Email empfängt.
Die Mails davor die nicht funktionierten hatten ja einen gültigen Absender,
war ja zu erkennen in der Liste der email_upload.php
Gruß Jens
-
ähhh.. ok ....
so ich habe einen kleinen Code update gemacht, das mit den "keywords" funktioniert jetzt für die V1.7.8
mfg Andi
-
ähhh.. ok ....
so ich habe einen kleinen Code update gemacht, das mit den "keywords" funktioniert jetzt für die V1.7.8
mfg Andi
Hi,
prima dankeschön :)
Gruß Jens
-
Hi!
so funktioniert es:
........
jetzt habe ich 6 stunden getüftelt, wenn ich jetzt ein bild mit GPS Daten einfüge erscheit es auf der google karte.
http://www.grosspeterwitz.org/friedhof/4images/details.php?image_id=3020 (http://www.grosspeterwitz.org/friedhof/4images/details.php?image_id=3020)
nur mit der übernahme der GPS Daten beim EMAIL UPLOAD will es ums verrecken nicht gehen :twisted:.
der upload funktioniert nur die GPS Daten werden nicht übernohmen.
Bin ratlos
-
...nur mit der übernahme der GPS Daten beim EMAIL UPLOAD will es ums verrecken nicht gehen :twisted:.
...
1.) denke ich das du in der DB in der "images_temp_table" die exif felder nicht eingetragen hast.
2.) du muß in diesen mod die felder bei der SQL auch hinzufügen...
$sql = "INSERT INTO ".IMAGES_TEMP_TABLE."
(cat_id, user_id, image_name, image_description, image_keywords, image_date, image_media_file, image_thumb_file, image_GPSLatitude, image_GPSLongitude )
VALUES
('$cat_id','$user_id','$image_name','$image_description','$image_keywords','$current_time', '$new_name', '$new_thumb_name','$GPSLatitude','$GPSLongitude')";
$result = $site_db->query($sql);
die felder mußt du halt noch in der richtige reihenfolge reinschreiben.
mfg Andi
-
Geschaft....
Beim email_upload werden jetzt die GPS Daten übernomen.
Voraussetzung ist der Einbau von den zwei folgenden erweiterungen
[MOD] Google-Maps Integration V.01 http://www.4homepages.de/forum/index.php?topic=16533.0 (http://www.4homepages.de/forum/index.php?topic=16533.0)
[MOD] Google-Maps / GPS Integration V1.2 http://www.4homepages.de/forum/index.php?topic=19926.0 (http://www.4homepages.de/forum/index.php?topic=19926.0)
danach bitte die email_upload im admin/plugins duch folgendes ersetzen.
<link rel="stylesheet" href="/admin/cpstyle.css">
<body bgcolor="#FFFFFF" text="#0F5475" link="#0F5475" vlink="#0F5475" alink="#0F5475">
<?// PLUGIN_TITLE: eMail_upload.php
/**************************************************************************
* *
* 4images - A Web Based Image Gallery Management System *
* ---------------------------------------------------------------- *
* *
* File: eMail_upload.php *
* Copyright: (C) 2008 Jan Sorgalla *
* Email: jan@4homepages.de *
* Web: http://www.4homepages.de *
* Scriptversion: 1.7.6 *
* File Version: 1.1 (by Rembrandt www.vienna-pictures.com) *
* Never released without support from: Nicky (http://www.nicky.net) *
* *
**************************************************************************
* *
* Dieses Script ist KEINE Freeware. Bitte lesen Sie die Lizenz- *
* bedingungen (Lizenz.txt) für weitere Informationen. *
* --------------------------------------------------------------- *
* This script is NOT freeware! Please read the Copyright Notice *
* (Licence.txt) for further information. *
* *
*************************************************************************/
class receiveMail {
var $server='';
var $username='';
var $password='';
function receiveMail($server='localhost',$username,$password){
// $strConnect='{'.$server.':143}INBOX';
// $strConnect='{'.$server.':110}INBOX';
$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 getHeaders($mid){
$mail_header=imap_header($this->mbox,$mid);
$sender=$mail_header->from[0];
$sender_replyto=$mail_header->reply_to[0];
if(strtolower($sender->mailbox)!='mailer-daemon' && strtolower($sender->mailbox)!='postmaster'){
$mail_details=array(
'from'=>strtolower($sender->mailbox).'@'.$sender->host,
'fromName'=>$sender->personal,
'toOth'=>strtolower($sender_replyto->mailbox).'@'.$sender_replyto->host,
'toNameOth'=>$sender_replyto->personal,
'subject'=>$mail_header->subject,
'to'=>strtolower($mail_header->toaddress)
);
}
return $mail_details;
}
function get_mime_type($structure){
$primary_mime_type = array("TEXT", "MULTIPART", "MESSAGE", "APPLICATION", "AUDIO", "IMAGE", "VIDEO", "OTHER");
if($structure->subtype) {
return $primary_mime_type[(int) $structure->type] . '/' . $structure->subtype;
}
return "TEXT/PLAIN";
}
function get_part($mbox, $mid, $mime_type, $structure = false,$part_number = false){
if(!$structure) {
$structure = imap_fetchstructure($mbox, $mid);
}
if($structure) {
if($mime_type == $this->get_mime_type($structure)){
if(!$part_number){
$part_number = "2";
}
$text = imap_fetchbody($mbox, $mid, $part_number);
if($structure->encoding == 3){
return imap_base64($text);
}
else if($structure->encoding == 4){
return imap_qprint($text);
}
else{
return $text;
}
}
if($structure->type == 1){
while(list($index, $sub_structure) = each($structure->parts)){
if($part_number){
$prefix = $part_number . '.';
}
$data = $this->get_part($mbox, $mid, $mime_type, $sub_structure, $prefix . ($index + 1));
if($data){
return $data;
}
}
}
}
return false;
}
function getTotalMails(){
$headers=imap_headers($this->mbox);
return count($headers);
}
function GetAttach($mid,$path){
$structure = imap_fetchstructure($this->mbox,$mid);
$ar="";
foreach($structure->parts as $key => $value){
$enc=$structure->parts[$key]->encoding;
if($structure->parts[$key]->ifdparameters){
$name=$structure->parts[$key]->dparameters[0]->value;
$message = imap_fetchbody($this->mbox,$mid,$key+1);
if ($enc == 1) $message = imap_8bit($message);
if ($enc == 2) $message = imap_binary ($message);
if ($enc == 3) $message = imap_base64 ($message);
if ($enc == 4) $message = imap_qprint($message);
if ($enc == 5) $message = "$message";
if (file_exists($path.$name)){
$num = '1';
while (file_exists ($path . $num . $name)){
$num++;
$name = "Copy_from_$name";
}
}
$name = $num . $name;
$fp=fopen($path.$name,"w+");
chmod ($path.$name, 0666);
fwrite($fp,$message);
fclose($fp);
$ar=$ar.$name.",";
}
}
$ar=substr($ar,0,(strlen($ar)-1));
return $ar;
}
function getBody($mid){
$body = $this->get_part($this->mbox, $mid, "TEXT/HTML");
if ($body == "")
$body = $this->get_part($this->mbox, $mid, "TEXT/PLAIN");
if ($body == ""){
return "";
}
return $body;
}
function deleteMails($mid){
imap_delete($this->mbox,$mid);
}
function close_mailbox(){
imap_close($this->mbox,CL_EXPUNGE);
}
}
flush();
//error_reporting(E_ALL);
$nozip = 1;
define('IN_CP', 1);
$root_path = (false === stristr($_SERVER['PHP_SELF'], "/plugins/")) ? "./../" : "./../../";
define('ROOT_PATH', $root_path);
require(ROOT_PATH.'admin/admin_global.php');
require(ROOT_PATH.'includes/image_utils.php');
$obj= new receiveMail($config['pop_server'],$config['pop_username'],$config['pop_password']);
$obj->connect();
$tot=$obj->getTotalMails();
echo "$tot Neue Nachrichten in ".$config['pop_server']."<br>";
if($tot>0) {
echo '<table cellpadding="0" cellspacing="0" border="0" width="100%">';
echo '<tr>';
echo '<td class="tableheader">';
echo '<table width="100%" border="0" cellspacing="1" cellpadding="3">';
echo '<tr class="tableborder">';
echo '<td class="tableheader" width=3%>Nr.</td>';
echo '<td class="tableheader" width=8%>'.$lang['field_username'].'</td>';
echo '<td class="tableheader" width=15%>'.$lang['field_image_name'].'</td>';
echo '<td class="tableheader" width=8%>'.$lang['field_category'].'</td>';
echo '<td class="tableheader" width=30%>'.$lang['field_keywords'].'</td>';
echo '<td class="tableheader" >'.$lang['field_description'].'</td>';
echo '</tr>';
$bgcounter = 0;
// for($i=$tot;$i>=1;$i--)
for($i=1;$i<=$tot;$i++){
$body=$obj->getBody($i);
$mes = strip_tags($body);
$head=$obj->getHeaders($i);
$array = explode ("*",$head['subject']);
$sql = "SELECT u.user_id, u.user_name, c.cat_id, c.cat_name
FROM (".USERS_TABLE." u, ".CATEGORIES_TABLE." c)
WHERE user_name = '$array[0]' AND cat_id = '$array[2]'
";
$result = $site_db->query($sql);
$row = $site_db->fetch_array($result);
$user_name = $row[user_name];
$user_id = $row[user_id];
$cat_name = $row[cat_name];
$cat_id = $row[cat_id];
if ($array[0] == "$user_name" && $array[1] == $config['pop_code']){
$path = MEDIA_TEMP_PATH."/";
$found = '*';
$pos = strpos($mes, "*");
$image_keywords = substr("$mes", 0, "$pos");
$image_description = substr("$mes", "$pos"+1,-1);
$str=$obj->GetAttach($i,$path);
$br=explode(",",$str);
foreach($br as $key=>$value){
$new_name = "$value";
$pos = strpos($new_name,".");
$image_name = substr("$new_name",0,"$pos");
$src = MEDIA_TEMP_PATH."/".$new_name;
$dest = THUMB_TEMP_PATH."/".$new_name;
$image_info = @getimagesize($src);
$convert_options = init_convert_options();
$dimension = (intval($config['auto_thumbnail_dimension'])) ? intval($config['auto_thumbnail_dimension']) : 100;
$resize_type = (intval($config['auto_thumbnail_resize_type'])) ? intval($config['auto_thumbnail_resize_type']) : 1;
$quality = (intval($config['auto_thumbnail_quality']) && intval($config['auto_thumbnail_quality']) <= 100) ? intval($config['auto_thumbnail_quality']) : 100;
create_thumbnail($src, $dest, $quality, $dimension, $resize_type);
$new_thumb_name = $new_name;
$image_description = preg_replace("/[\n\r]/is", "", $image_description);
$image_description = trim($image_description);
$image_description = preg_replace("/ /", "", $image_description);
$image_keywords = preg_replace("/[\n\r]/is", "", $image_keywords);
$image_keywords = str_replace(","," ",$image_keywords);
$image_keywords = trim($image_keywords);
$image_keywords = preg_replace("/ /", "", $image_keywords);
$row_bg_number = ($bgcounter++ % 2 == 0) ? "tablerow" : "tablerow2";
if (function_exists('exif_read_data') && $exif_data = @exif_read_data($src, 'EXIF'))
{
$exif_array = get_exif_info($exif_data);
foreach ($exif_array as $key => $val){
if ($key == "Make"){
$Make = $val;
}
if ($key == "Model"){
$Model = $val;
}
if ($key == "DateTimeOriginal"){
$DateTimeOriginal = $val;
}
if ($key == "ISOSpeedRatings"){
$ISOSpeedRatings = $val;
}
if ($key == "ExposureTime"){
$ExposureTime = $val;
}
if ($key == "FNumber"){
$FNumber = $val;
}
if ($key == "FocalLength"){
$FocalLength = $val;
}
if ($key == "ExposureBiasValue"){
$ExposureBiasValue = $val;
}
if ($key == "ApertureValue"){
$ApertureValue = $val;
}
if ($key == "MaxApertureValue"){
$MaxApertureValue = $val;
}
if ($key == "MeteringMode"){
$MeteringMode = $val;
}
if ($key == "Flash"){
$Flash = $val;
}
if ($key == "ExposureProgram"){
$ExposureProgram = $val;
}
if ($key == "ExposureMode"){
$ExposureMode = $val;
}
if ($key == "WhiteBalance"){
$WhiteBalance = $val;
}
if ($key == "GPSLongitudeRef"){
$GPSLongitudeRef = $val;
}
if ($key == "GPSLatitudeRef"){
$GPSLatitudeRef = $val;
}
if ($key == "GPSLongitude"){
$gmap_longitude = substr (strrchr($val, "("), 1);
$gmap_longitude = substr ($gmap_longitude,0, strlen($gmap_longitude)-1);
}
if ($key == "GPSLatitude"){
$gmap_latitude = substr (strrchr($val, "("), 1);
$gmap_latitude = substr ($gmap_latitude,0, strlen($gmap_latitude)-1);
}
if ($key == "GPSAltitude"){
$GPSAltitude = $val;
}
if ($key == "GPSTrack"){
$GPSTrack = $val;
}
if (($gmap_longitude <> "") && ($gmap_latitude <>"")) {
$image_gmap_zoom = 13;
$image_gmap_type = 3;
$image_gmap_show = 1;
}
}
}
echo '<tr class="' .$row_bg_number.'">';
echo '<td width=3%>'.$i.'</td>';
echo '<td width=8%>'.$user_name.'</td>';
echo '<td width=15%>'.$image_name.'</td>';
echo '<td width=8%>'.$cat_name.'</td>';
echo '<td width=30%>'. $image_keywords . '</td>';
echo '<td >'. $image_description . '</td>';
echo '</tr>';
$current_time = time();
$sql = "INSERT INTO ".IMAGES_TEMP_TABLE."
(cat_id, user_id, image_name, image_description, image_keywords, image_date, image_media_file, image_thumb_file,image_gmap_longitude, image_gmap_latitude , image_gmap_zoom, image_gmap_type, image_gmap_show)
VALUES
('$cat_id','$user_id','$image_name','$image_description','$image_keywords','$current_time', '$new_name', '$new_thumb_name','$gmap_longitude','$gmap_latitude', '$image_gmap_zoom', '$image_gmap_type', '$image_gmap_show')";
$result = $site_db->query($sql);
$image_id = $site_db->get_insert_id();
}
}
else{
$obj->deleteMails($i);
$row_bg_number = ($bgcounter++ % 2 == 0) ? "tablerow" : "tablerow2";
echo '<tr class= "'.$row_bg_number.'">';
echo '<td width=3%>'.$i.'</td>';
echo '<td width=10%>'.$head['from'].'</td>';
echo '<td width=15%>'.$image_name.'</td>';
echo '<td width=8%>'.$cat_name.'</td>';
echo '<td class="marktext">Falscher Benutzername oder Passwort!</td>';
echo '<td class="marktext">Mail wurde gelöscht!</td>';
echo '</tr>';
}
flush();
$obj->deleteMails($i); // Delete Mail from Mail box
}
echo '</table></td></tr></table>';
}
$obj->close_mailbox(); //Close Mail Box
?>
</body>
Danke an Rembrandt für die entscheidenden hinweise.
kubiczek
-
...danach bitte die email_upload im admin/plugins duch folgendes ersetzen.
...
du solltest den neueren code von diesen mod verwenden, den code den du hier eingestellt hast funktioniert ab der v1.7.8 nicht mehr.
mfg Andi
-
Ist es möglich das die email adresse ausgelesen wird, ohne das mann in der Betreffzeile user*passwort*cat eingeben muss.
also anonym user in eine vorgegeben Kategorie, die der Administrator dann beim freischalten gegebenfals änder kann.
das würde mir sehr weiterhelfen.
gruß
-
Hi,
leg doch einen user anonym an und biete den usern einen mailto: link in der galerie in dem
der betreff vorausgefüllt ist?
Nur als Beispiel Auszug aus meiner details.php:
$upload_url = "";
$eupload_url = "";
$upload_button = "<img src=\"".get_gallery_image("upload_off.gif")."\" border=\"0\" alt=\"\" />";
$eupload_button = "<img src=\"".get_gallery_image("eupload_off.png")."\" border=\"0\" alt=\"\" />";
}
else {
$user_upload_name = $user_info[$user_table_fields['user_name']];
$upload_url = $site_sess->url(ROOT_PATH."member.php?action=uploadform&".URL_CAT_ID."=".$cat_id);
$eupload_url = "mailto:upload@blub.blah.de?subject=$user_upload_name*upload*$cat_id&body=Attach your icons!";
$upload_button = "<a href=\"".$upload_url."\"><img src=\"".get_gallery_image("upload.gif")."\" title=\"general Upload\" border=\"0\" alt=\"\" /></a>";
$eupload_button = "<a href=\"".$eupload_url."\"><img src=\"".get_gallery_image("eupload.png")."\" title=\"eMail Upload\" border=\"0\" alt=\"\" /></a>";
Gruß Jens
-
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 :wink:
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:
(http://www.4homepages.de/forum/index.php?action=dlattach;topic=23681.0;attach=6126;image)
keine Nachrichten
(http://www.4homepages.de/forum/index.php?action=dlattach;topic=23681.0;attach=6128;image)
eine neue Nachricht
(http://www.4homepages.de/forum/index.php?action=dlattach;topic=23681.0;attach=6130;image)
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();
}
}
else
ersetze 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();
}
else
4) 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 :wink:
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 :wink:
Viel Spaß damit,
Henry
-
Hallo Andi,
habe eben eine neue Variante des "auth email" hochgeladen... beim Erstellen dieser Modifikation Deines MOD ist mir die Idee gekommen, daß man in Abhängigkeit des Status "upload" oder "direct upload" die Übergabe an das validateimages.php überspringen könnte. Für meine Änderungen wäre das genial, aber auch in der Grundeinstellung über den POP-Code und der übermittelten CAT/User_id macht das natürlich irgendwie Sinn...
IMO ist das nicht so eine große Sache :wink:
Noch eine weitere Frage: Mit meiner Erweiterung "Antwortmail" (die ich noch um eine Einstellung im UserCP erweitern will) wäre es hilfreich, daß generell nur auf Mails geantwortet wird, die mit Anlage kommen (Spam also nicht beantwortet würde). Bisher prüft Deine Routine nur die Anzahl der Mails, nicht die Mails mit Anlage - bekommst Du das easy geregelt? Sprich: Könntst Du das Script insoweit ändern, daß letztlich der Inbox-Zähler überhaupt nur bei Mails mit Anlage > 0 wird?
Viele Grüße & Danke,
Henry
-
....Bisher prüft Deine Routine nur die Anzahl der Mails, nicht die Mails mit Anlage - bekommst Du das easy geregelt? ....
es werden alle emails gelöscht die nicht den usernamen und pop code in der betreffzeile mitschicken.
den rest werde ich mir ansehn.
zu deinem code in diesen post: http://www.4homepages.de/forum/index.php?topic=23681.msg154151#msg154151
das:
$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);
ersetze mit dem:
$obj= new receiveMail($config['pop_server'],$config['pop_username'],$config['pop_password']);
mfg Andi
-
Hallo,
dieser Mod ist eine super Sache, funktioniert einwandfrei. Nun zu meiner Frage, ist es möglich, das der Admin bei einer eingehenden Email per Mail über den Eingang informiert wird? So könnte man zeitnah reagieren und das Bild freischalten.
Gibt es dafür eine Einstellung, ich habe leider nichts darüber gefunden und mit PHP kenne ich mich leider nicht aus.
mfG
Duese
-
Willkommen im Forum!
... ist es möglich, das der Admin bei einer eingehenden Email per Mail über den Eingang informiert wird? ....
über das galeriesystem geht das nicht, da ja die emails erst abgerufen werden wenn du im ACP auf den link klickst.
bei einer emal benachrichtigung ist es das gleiche, die muß erst von irgend jemand abgeschickt werden.
das galerie system selber macht b.zw. kann nichts von alleine machen.
das einzige was du machen kannst, ist über dein handy den posteingang überprüfen, das könntest du ja automatisch machen.
mfg Andi
-
Danke für die schnelle Antwort, hätte ja sein können, das ich was übersehen habe oder es schon einen Codeschnipsel dafür gäbe.
mfG
Duese
-
Hello, it's compatible with version 1.7.10?
-
Welcome to the Forum!
Hello, it's compatible with version 1.7.10?
i think, yes.
mfg Andi
-
I, riceive this error:
Warning: imap_open() [function.imap-open]: Couldn't open stream {mail.officinadellarete.com:110/pop3/notls} in /home2/eventixt/public_html/gate/admin/plugins/eMail_upload.php on line 41
Warning: imap_headers(): supplied argument is not a valid imap resource in /home2/***/public_html/gate/admin/plugins/eMail_upload.php on line 105
1 Neue Nachrichten in mail.officinadellarete.com
Warning: imap_fetchstructure(): supplied argument is not a valid imap resource in /home2/****/public_html/gate/admin/plugins/eMail_upload.php on line 71
Warning: imap_fetchstructure(): supplied argument is not a valid imap resource in /home2/****/public_html/gate/admin/plugins/eMail_upload.php on line 71
Warning: imap_header(): supplied argument is not a valid imap resource in /home2/***/public_html/gate/admin/plugins/eMail_upload.php on line 45
Warning: imap_fetchstructure(): supplied argument is not a valid imap resource in /home2/***/public_html/gate/admin/plugins/eMail_upload.php on line 110
Warning: Invalid argument supplied for foreach() in /home2/***/public_html/gate/admin/plugins/eMail_upload.php on line 112
Warning: imap_delete(): supplied argument is not a valid imap resource in /home2/****/public_html/gate/admin/plugins/eMail_upload.php on line 152
=========
Fixed
funzione imap_open disable in the server ;)
-
look in top of the code:
// $strConnect='{'.$server.':143}INBOX';
// $strConnect='{'.$server.':110}INBOX';
$strConnect='{'.$server.':110/pop3/notls}';
test it with:
$strConnect='{'.$server.':110}INBOX';
or ask your provider for the correct path
mfg Andi
-
Wird zwar alles fein ausgeführt, nur fehlt bei mir der Bildname und das Bild ?
siehe Bild
-
Hi!
Wird zwar alles fein ausgeführt, nur fehlt bei mir der Bildname und das Bild ?
siehe Bild
Habe den Mod Seinerzeit eingebaut und funktioniert noch immer, was mich eh wundert :)
Kontrollier die Rechte: "data/tmp_Media" und "data/tmp_thumb"
Das mit dem includen in der validateimages.php funktioniert bei mir auch nicht.
Wenn du nur die emails abrufst "plugins/eMail_upload.php", schau mal nach ob du in den Ordner "data/tmp_Media" und "data/tmp_thumb" die Bilder drinnen hast.
Der Mod sollte auch einmal überarbeitet werden.
mfg Andi
-
Rechte stimmen 777, Bilder sind in "data/tmp_Media" und "data/tmp_thumb" nicht enthalten.
Nicht weiter schlimm, dachte nur, könnte es für den Urlaub nutzen (nur für mich)
Wäre natürlich klasse wenn du das mal bei einem Anfall von Langeweile updaten würdest :wink:
LG Harald
-
Hallo zusammen.
Habe den Mod eingebaut. Beim Abruf im Plugin Bereich kommt folgender Fehler.
1 Neue Nachrichten in pop.1und1.de
Fatal error: Out of memory (allocated 59768832) (tried to allocate 23040 bytes) in /homepages/13/d44........../htdocs/4images/includes/image_utils.php on line 80
Grüße
-
Du hast ganz einfach zu wenig Speicher das hat nichts mit 4images zu tun, das liegt an den Serversettings.
Suche nach "Out of memory allocated" in Google oder hier.
-
Ok. Dann kann mans leider nicht nutzen
-
Ok. Dann kann mans leider nicht nutzen
Du meinst "Du" kannst es nicht nutzen...
-
Jap ;-)