Zurück   klamm-Forum > klamm-Lose > Lose4Scripts > Lose4Scripts (erledigt)

 
 
LinkBack Themen-Optionen Ansicht
Alt 19.12.2006, 10:41:23   #1 (permalink)
Erfahrener Benutzer

ID: 430650
Lose-Remote

Reg: 21.04.2006
Beiträge: 810
Lächeln DRINGEND,kleine php Datei prüfen

Ich habe eine php Datei die ich als cron job aufrufen muss, leider bringt die diese beim aufruf folgenden Fehler:

Die Seite kann nicht angezeigt werden.
Die gewünschte Seite ist zurzeit nicht verfügbar. Möglicherweise sind technische Schwierigkeiten aufgetreten oder Sie sollten die Browsereinstellungen überprüfen.



Hier der Quellcode der php Datei, config sind nur DB Angaben. Der erste der den Fehler findet bekommt 1Mio Lose von mir.

<?

include("config.php");

$abfrage = "SELECT * FROM sss_user";
$result = mysql_query($abfrage);
$anz_user = mysql_num_rows($result);

$abfrage = "SELECT * FROM sss_adressen WHERE typ='1'";
$result = mysql_query($abfrage);
$anz_erlaubt =mysql_num_rows($result);

$abfrage = "SELECT * FROM sss_adressen WHERE typ='2'";
$result = mysql_query($abfrage);
$anz_verboten = mysql_num_rows($result);

$abfrage = "SELECT * FROM sss_verbotene";
$result = mysql_query($abfrage);
$anz_verboten = $anz_verboten + mysql_num_rows($result);

$abfrage = "SELECT * FROM sss_user WHERE ref != '0'";
$result = mysql_query($abfrage);
$anz_ref = mysql_num_rows($result);


$old = 60 * 60 * 24 * $CONF_MAIL_DELETE;
$old = time() - $old;

$abfrage = "SELECT * FROM sss_stats";
$result = mysql_query($abfrage);
$stats = mysql_fetch_object($result);

$abfrage = "SELECT * FROM sss_mails WHERE stamp < '$old' and status='0'";
$result = mysql_query($abfrage);
$anz = mysql_num_rows($result);

$stats->geloescht = $stats->geloescht + $anz;

$abfrage = "DELETE FROM sss_mails WHERE stamp < '$old' and status='0'";
$result = mysql_query($abfrage);

$abfrage = "OPTIMIZE TABLE 'sss_mails'";
$result = mysql_query($abfrage);

$Mailbox = "{".$CONF_MAIL_SERVER."/pop3:110}INBOX";
$Benutzername = $CONF_MAIL_USER;
$Passwort = $CONF_MAIL_PASSWORT;

$mbox = imap_open($Mailbox, $Benutzername, $Passwort);

$check= imap_check($mbox);
$new_mails=$check->Nmsgs;

$overview=@imap_fetch_overview($mbox,"1:$new_mails",0);
$size=sizeof($overview);
for($i=$size-1;$i>=0;$i--){
$mail = $overview[$i];
$mail_header = imap_headerinfo($mbox,"$mail->msgno",0);
$array_mail = object_to_array($mail_header);

$empfaenger = strtolower($array_mail['to']['0']['mailbox']);
$empfaenger_komplett = strtolower($array_mail['to']['0']['mailbox'])."@".strtolower($array_mail['to']['0']['host']);
$ip = gethostbyname($array_mail['from']['0']['host']);

$abfrage = "SELECT * FROM sss_ip_sperre WHERE ip='$ip'";
$result = mysql_query($abfrage);
$ip_sperre = mysql_fetch_object($result);

if($ip_sperre->id != ""){

$no = "1";

}

if($array_mail['to']['0']['host'] == "spamblocker.cc"){
$abfrage = "SELECT * FROM sss_user WHERE benutzername='$empfaenger'";
$result = mysql_query($abfrage);
$user = mysql_fetch_object($result);
}

if($user->id == ""){

$abfrage = "SELECT * FROM sss_weitere_adressen WHERE adresse='$empfaenger_komplett'";
$result = mysql_query($abfrage);
$absender = mysql_fetch_object($result);

if($absender->id == ""){


$no = "1";

}else{

$abfrage = "SELECT * FROM sss_user WHERE id='$absender->user'";
$result = mysql_query($abfrage);
$user = mysql_fetch_object($result);

}


}

$header = imap_fetchheader($mbox, $mail->msgno);

if($no == "1"){



//Löschen da Empfänger unbekannt
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;


}elseif(ereg("mail.spamblocker.cc", $header)){



//Löschen da selber gesendet
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;

}else{


;
if($array_mail['size'] >= $user->size){


imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;

}else{
$absender = $array_mail['from']['0']['mailbox']."@".$array_mail['from']['0']['host'];
$absender_long = $array_mail['from']['0']['mailbox']."@".$array_mail['from']['0']['host'];
$absender_short = "@".$array_mail['from']['0']['host'];

$abfrage = "SELECT * FROM sss_adressen WHERE user='$user->id' and (adresse = '$absender' or adresse = '$absender_short')";
$result = mysql_query($abfrage);
$absender = mysql_fetch_object($result);

if($absender->typ == "1"){
//erlaubt

$abfrage = "SELECT * FROM sss_verbotene WHERE adresse = '$absender_long' or adresse = '$absender_short'";
$result = mysql_query($abfrage);
$absender = mysql_fetch_object($result);

if($absender->id == ""){

$header = imap_fetchheader($mbox, $mail->msgno);
$body = imap_body($mbox, $mail->msgno);
$betreff = $array_mail['subject'];
mail($user->weiterleitung, $betreff, $body, $header);
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");

}else{

//verboten
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;

}

}elseif($absender->typ == "2" or $absender->typ == "0"){



//verboten
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;

}else{

$abfrage = "SELECT * FROM sss_verbotene WHERE adresse = '$absender_long' or adresse = '$absender_short'";
$result = mysql_query($abfrage);
$absender = mysql_fetch_object($result);

if($absender->id == ""){

//Unbekannt
$message_id = $array_mail['message_id'];
$stamp = time();//$array_mail['udate'];
$header = mysql_real_escape_string(imap_fetchheader($mbox, $mail->msgno));
$body = mysql_real_escape_string(imap_body($mbox, $mail->msgno));
$betreff = um_decode(imap_utf8(mysql_real_escape_string($array_mail['subject'])));
$absender = $array_mail['from']['0']['mailbox']."@".$array_mail['from']['0']['host'];

$html = mysql_real_escape_string(get_part($mbox, $mail->msgno, "TEXT/HTML"));
$text = mysql_real_escape_string(get_part($mbox, $mail->msgno, "TEXT/PLAIN"));

$code = md5(time());
$code = substr($code, 0, 6);
$abfrage = "INSERT INTO sss_mails VALUES('', '$message_id', '$user->id', '$header', '$absender', '$betreff', '$body', '$html', '$text', '0', '$stamp', '$code');";
$result = @mysql_query($abfrage);
$insert_id = mysql_insert_id();

$from = "From: ".$CONF_EMAIL3."\n";
$from .= "Reply-To: ".$CONF_EMAIL3."\n";
$from .= "X-Sender-IP: $REMOTE_ADDR\n";
$from .= "Content-Type: text/html";
$betreff = "Ihre Email mit dem Betreff '$betreff' an unserem User $user->benutzername";
$text = "Hallo $absender,<br><br>
vielen Dank für Ihre Email an: $empfaenger_komplett.<br>
<br>
Diese Email wird der Empfaenger erst bekommen, wenn Sie folgenden Link klicken:<br>
<br>
<a href='".$CONF_URL."index.php?op=confirm_mail&id=$insert_id&code=$code'> Email bestaetigen</a><br><br>
Sollte der Link nicht funktionieren, bitte folgende URL im Browser eingeben bzw. rein Kopieren: ".$CONF_URL."index.php?op=confirm_mail&id=$insert_id&code=$code<br>
<br>
Diese Bestaetigung ist nur 1x von Ihnen zu machen, danach erhält der Empfänger alle Ihre Emails.
<br><br>
Wird dieses nicht innerhalb von $CONF_MAIL_DELETE Tagen bestaetigt, so wird Ihre Email an $empfaenger_komplett geloescht. Haben Sie mehrfach diese Email bekommen, so haben Sie auch mehrere Emails an $empfaenger_komplett geschickt. Sie brauchen aber nur eine der gesamten Emails zu bestaetigen, die anderen koennen Sie loeschen.<br>
<br>
PS.: Milliarden Emails verstopfen taeglich unsere Postfaecher, mit dem Service von www.spamblocker.cc gehoert dieses der Vergangenheit an. Sie haben auch Interesse an ein Spamfreies Postfach, dann kommen Sie zu uns, Sie finden diesen Spamschutz - Service unter www.spamblocker.cc<br><br>
<table border='0' width='100%' id='table1'>
<tr>
<td width='30%'>Angemeldete Benutzer:</td>
<td width='70%'>".$anz_user."</td>
</tr>
<tr>
<td>Gelöschte Spammails:</td>
<td>".$stats->geloescht."</td>
</tr>
</table>";


$abfrage = "SELECT * FROM sss_weitere_adressen WHERE adresse='$absender'";
$result = mysql_query($abfrage);
$abs = mysql_fetch_object($result);

if($abs->id != ""){

$abfrage = "SELECT * FROM sss_user WHERE id='$abs->user'";
$result = mysql_query($abfrage);
$user = mysql_fetch_object($result);
mail($user->weiterleitung, $betreff, $text, $from);

}else{

if($array_mail['from']['0']['host'] == "spamblocker.cc"){

$abfrage = "SELECT * FROM sss_user WHERE benutzername='".$array_mail['from']['0']['mailbox']."'";
$result = mysql_query($abfrage);
$user = mysql_fetch_object($result);

if($user->id != ""){

mail($user->weiterleitung, $betreff, $text, $from);

}else{

mail($absender, $betreff, $text, $from);

}

}else{

$abfrage = "SELECT * FROM sss_user WHERE email='$absender'";
$result = mysql_query($abfrage);
$user = mysql_fetch_object($result);

if($user->id != ""){

mail($user->weiterleitung, $betreff, $text, $from);

}else{

mail($absender, $betreff, $text, $from);

}

}


}

imap_setflag_full($mbox, $mail->msgno, "\\Deleted");

}else{

//verboten
imap_setflag_full($mbox, $mail->msgno, "\\Deleted");
$stats->geloescht = $stats->geloescht + 1;

}

}
}
}
}
imap_expunge ($mbox);

$abfrage = "Update sss_stats SET geloescht='$stats->geloescht'";
$result = mysql_query($abfrage)or die(mysql_error());


function object_to_array($the_object)
{
$the_array=array();
if(!is_scalar($the_object))
{
foreach($the_object as $id => $object)
{
if(is_scalar($object))
{
$the_array[$id]=$object;
}
else
{
$the_array[$id]=object_to_array($object);
}
}
return $the_array;
}
else
{
return $the_object;
}
}



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($stream, $msg_number, $mime_type, $structure = false, $part_number = false)
{
if(!$structure)
{
$structure = imap_fetchstructure($stream, $msg_number);
}
if($structure)
{
if($mime_type == get_mime_type($structure))
{
if(!$part_number)
{
$part_number = "1";
}
$text = imap_fetchbody($stream, $msg_number, $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) /* multipart */
{
while(list($index, $sub_structure) = each($structure->parts))
{
if($part_number)
{
$prefix = $part_number . '.';
}
$data = get_part($stream, $msg_number, $mime_type, $sub_structure, $prefix . ($index + 1));
if($data)
{
return $data;
}
}
}
}
return false;
}

function um_decode($text){

$text = str_replace("ä", "ä", $text);
$text = str_replace("ö", "ö", $text);
$text = str_replace("ü", "ü", $text);
$text = str_replace("ß", "ß", $text);
$text = str_replace("Ä", "Ä", $text);
$text = str_replace("Ö", "Ö", $text);
$text = str_replace("Ãœ", "Ü", $text);

return $text;
}

Geändert von Maverick1976 (19.12.2006 um 10:43:31 Uhr)
Maverick1976 ist offline  
Alt 19.12.2006, 10:47:09   #2 (permalink)
ohne Vertrauen
Benutzerbild von Bububoomt

ID: 10361
Lose-Remote
Krank

Bububoomt eine Nachricht über ICQ schicken
Reg: 28.04.2006
Beiträge: 19.532
Standard

ähm so ein fehler kommt

a) wenn der Server down ist
b) deine Inetrenetverbindung nicht geht
c) keine Ahnung
aber
d) nciht weil da ein fehler drin ist in der Datei!!


Wenn da ein fehler drin wäre würdest du einen fehler bekommen, der dir sagt, das so und so ein fehler in zeile so und soviel in der datei so und so vorkommt....
Bububoomt ist offline  
 

Gesponsorte Links

Anzeige


Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
 
Themen-Optionen
Ansicht

Forumregeln
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks sind an
Pingbacks sind an
Refbacks sind an


Ähnliche Themen
Thema Autor Forum Antworten Letzter Beitrag
[PHP] Prüfen ob externe CSV Datei vorhanden ist Sammler Programmierung 5 28.04.2008 20:03:15
[S] Progger für ein paar kleine arbeiten an einer PHP-Datei Chrisler1 Lose4Scripts 9 15.06.2007 22:39:54
Suche DRINGEND Progger (1 php Datei!!) Headshoot Lose4Scripts (erledigt) 7 20.09.2006 22:54:10
250k Lose für eine kleine Datei (htaccess) 40dd Lose4Scripts (erledigt) 8 14.09.2006 22:15:56
S: Jemanden für kleine Anpassungen bei vorhandenener PSD Datei STONE Lose4Graphics 5 17.07.2006 15:13:30


Alle Zeitangaben in WEZ +1. Es ist jetzt 09:25:16 Uhr.