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; } } } } } }
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"]); } } }