Ejemplo n.º 1
0
 function Load($fn)
 {
     $fn = ew_ScriptFolder() . EW_PATH_DELIMITER . $fn;
     $sWrk = file_get_contents($fn);
     // Load text file content
     if ($sWrk != "") {
         // Locate Header & Mail Content
         if (EW_IS_WINDOWS) {
             $i = strpos($sWrk, "\r\n\r\n");
         } else {
             $i = strpos($sWrk, "\n\n");
             if ($i === FALSE) {
                 $i = strpos($sWrk, "\r\n\r\n");
             }
         }
         if ($i > 0) {
             $sHeader = substr($sWrk, 0, $i);
             $this->Content = trim(substr($sWrk, $i, strlen($sWrk)));
             if (EW_IS_WINDOWS) {
                 $arrHeader = explode("\r\n", $sHeader);
             } else {
                 $arrHeader = explode("\n", $sHeader);
             }
             $cnt = count($arrHeader);
             for ($j = 0; $j < $cnt; $j++) {
                 $i = strpos($arrHeader[$j], ":");
                 if ($i > 0) {
                     $sName = trim(substr($arrHeader[$j], 0, $i));
                     $sValue = trim(substr($arrHeader[$j], $i + 1, strlen($arrHeader[$j])));
                     switch (strtolower($sName)) {
                         case "subject":
                             $this->Subject = $sValue;
                             break;
                         case "from":
                             $this->Sender = $sValue;
                             break;
                         case "to":
                             $this->Recipient = $sValue;
                             break;
                         case "cc":
                             $this->Cc = $sValue;
                             break;
                         case "bcc":
                             $this->Bcc = $sValue;
                             break;
                         case "format":
                             $this->Format = $sValue;
                             break;
                     }
                 }
             }
         }
     }
 }
Ejemplo n.º 2
0
 function Load($fn, $langid = "")
 {
     global $gsLanguage;
     $langid = $langid == "" ? $gsLanguage : $langid;
     $pos = strrpos($fn, '.');
     if ($pos !== FALSE) {
         $wrkname = substr($fn, 0, $pos);
         // Get file name
         $wrkext = substr($fn, $pos + 1);
         // Get file extension
         $wrkpath = ew_ScriptFolder() . EW_PATH_DELIMITER . EW_EMAIL_TEMPLATE_PATH . EW_PATH_DELIMITER;
         // Get file path
         $ar = $langid != "" ? array("_" . $langid, "-" . $langid, "") : array("");
         $exist = FALSE;
         foreach ($ar as $suffix) {
             $wrkfile = $wrkpath . $wrkname . $suffix . "." . $wrkext;
             $exist = file_exists($wrkfile);
             if ($exist) {
                 break;
             }
         }
         if (!$exist) {
             return;
         }
         $sWrk = file_get_contents($wrkfile);
         // Load template file content
         if (ew_StartsStr("", $sWrk)) {
             // UTF-8 BOM
             $sWrk = substr($sWrk, 3);
         }
         $wrkid = $wrkname . "_content";
         if (ew_ContainsStr($sWrk, $wrkid)) {
             // Replace content
             $wrkfile = $wrkpath . $wrkid . "." . $wrkext;
             if (file_exists($wrkfile)) {
                 $sContent = file_get_contents($wrkfile);
                 if (ew_StartsStr("", $sContent)) {
                     // UTF-8 BOM
                     $sContent = substr($sContent, 3);
                 }
                 $sWrk = str_replace("<!--" . $wrkid . "-->", $sContent, $sWrk);
             }
         }
     }
     if ($sWrk != "" && preg_match('/\\n\\n|\\r\\n\\r\\n/', $sWrk, $m, PREG_OFFSET_CAPTURE)) {
         // Locate Header & Mail Content
         $i = $m[0][1];
         $sHeader = trim(substr($sWrk, 0, $i)) . "\r\n";
         // Add last CrLf for matching
         $this->Content = trim(substr($sWrk, $i));
         if (preg_match_all('/^\\s*(Subject|From|To|Cc|Bcc|Format)\\s*:([^\\r\\n]*)[\\r\\n]/m', $sHeader, $m)) {
             $ar = array_combine($m[1], $m[2]);
             $this->Subject = trim(@$ar["Subject"]);
             $this->Sender = trim(@$ar["From"]);
             $this->Recipient = trim(@$ar["To"]);
             $this->Cc = trim(@$ar["Cc"]);
             $this->Bcc = trim(@$ar["Bcc"]);
             $this->Format = trim(@$ar["Format"]);
         }
     }
 }