Hjelp med eregi

picxx

WF 09
Hups.

Jeg er absolutt ingen stor koder.
Fant en kode på et forum som hadde passet meg perfekt, men var visst ett eller annet som var "deprecated" i nyere php versjoner.

Koden ser slik ut:

PHP:
if (eregi('Content-Type:', $to_name)) return false;
if (eregi('Content-Type:', $to_email_address)) return false;
if (eregi('Content-Type:', $email_subject)) return false;
if (eregi('Content-Type:', $email_text)) return false;
if (eregi('Content-Type:', $from_email_name)) return false;
if (eregi('Content-Type:', $from_email_address)) return false;

Hele koden er slik

PHP:
//BOC e-mail with attachment
  function tep_mail_pdf_anhang($to_name, $to_email_address, $email_subject, $email_text, $from_email_name, $from_email_address, $file, $filetype) {
    if (SEND_EMAILS != 'true') return false;

if (eregi('Content-Type:', $to_name)) return false;
if (eregi('Content-Type:', $to_email_address)) return false;
if (eregi('Content-Type:', $email_subject)) return false;
if (eregi('Content-Type:', $email_text)) return false;
if (eregi('Content-Type:', $from_email_name)) return false;
if (eregi('Content-Type:', $from_email_address)) return false;
if ( (strstr($to_name, "\n") != false) || (strstr($to_name, "\r") != false) ) return false;
if ( (strstr($to_email_address, "\n") != false) || (strstr($to_email_address, "\r") != false) ) return false;
if ( (strstr($email_subject, "\n") != false) || (strstr($email_subject, "\r") != false) ) return false;
if ( (strstr($from_email_name, "\n") != false) || (strstr($from_email_name, "\r") != false) ) return false;
if ( (strstr($from_email_address, "\n") != false) || (strstr($from_email_address, "\r") != false) ) return false;

    $message = new email(array('X-Mailer: osCommerce Mailer'));

    $text = strip_tags($email_text);
    if (EMAIL_USE_HTML == 'true') {
      $message->add_html($email_text, $text);
    } else {
      $message->add_text($text);
    }
   $attachment = fread(fopen($file, "r"), filesize($file));
   $message->add_attachment($attachment, TEXT_NAME_OF_CONDITIONS, $filetype);
//   $message->add_html_image($file_content, $file);

    $message->build_message();
    $message->send($to_name, $to_email_address, $from_email_name, $from_email_address, $email_subject);
  }
//EOC e-mail with attachment

Noen som kan hjelpe med dette?
Har forsøkt å skifte ut eregi med preg match, men ettersom jeg er passe blank kommer jeg ingen veg.
 

picxx

WF 09
Ut fra det jeg kan se vil stri_pos hjelpe deg. Eneste er at du må bytte om på argumentene; haystack skal være fremst.

Uhm, ok... nå snakker du et språk som jeg ikke kan :)
Skal jeg bytte ut ordet eregi med stri_pos?
Haystack vet jeg faktisk ikke hva er.

Takker for hjelpen :)
 

nukleuz

Medlem
Haystack, betyr rett og slett høystakk.

Wikipedia skrev:
En høystakk er en lagringsmetode for tørt høy fra utslåtter. Stakken bygges opp omkring ei stang, som står på stedet permanent. Høyet legges slik at vann som trenger inn i stakken vil ledes utover. På toppen legges ofte et lag med kvister, også slik at vann ledes utover.

Nøkkelordet haystack blir ofte brukt i programmering, sammen med ordet "needle". Du er kanskje kjent med utrykket "needle in the haystack" (nålen i høystakken). Altså her skal det letes etter noe...

PHP:
eregi('Content-Type:', $from_email_address)

blir

PHP:
// int stripos ( string $haystack , string $needle [, int $offset = 0 ] )
stripos ( $from_email_address, 'Content-Type:' )
//osv...

$from_email_address blir høystakken, og vil leter etter 'Content-Type:' som da blir needle.
 

picxx

WF 09
Forsøkte å forandre dette nå, men får fremdeles en error i dette scriptet.

Parse error: syntax error, unexpected T_RETURN in...
 

picxx

WF 09
Setter utrolig pris på at du tar deg tid til dette nukleuz, men jeg får fremdeles en error når jeg forsøker å kjøre dette.

Warning: array_keys() expects parameter 1 to be array, string given in

Det er snakk om oscommerce. Å få lagt ved en melding i en utgående epost (angrefristskjema).
Fant den gamle koden her:
Email attachments to confirmation - osCommerce Support Forum
 

Nutz

Med lem
I hvilken forbindelse benyttes denne mail-funksjonen?
Dersom det er mail i fra "systemet" og admin til kunder, eller fra systemet til admin så er det vel bare å slette de linjene som trøbler.
Går ut ifra at det er for å forhindre spam og andre ulumskheter..
 

picxx

WF 09
Den fungerte perfekt nukleuz.
Tusen takk for hjelpen :)
 
Topp