Přidat otázku mezi oblíbenéZasílat nové odpovědi e-mailemVyřešeno Problém s php scriptem pro generování e-mailu

Dotaz bude trochu složitější, omlouvám se... ale pokusím se co nejjednodušeji vysvětlit problém.
1) PHP příliš nerozumím, umím jen to, co jsem se naučil "za pochodu", což je opravdu hodně málo...
2) Používám CMS PHP-Fusion a rád bych použil soubor s "panelem" Tell a Friend, tedy jakési jednoduché doporučení stránky, na které uživatel je.
3) Na stránkách s mody pro CMS PHP-Fusion jsem našel jakýsi skript, který moc nefungoval a jestli dokážu laicky posoudit, zdál se mi poněkud "zmatený" a svými vlastními úpravami jsem ho dorazil. Nicméně po konzultacích s lidmi, kteří tomu rozumějí jsem ho jakžtakž dokázal zprovoznit, což považuji za malý zázrak. Ovšem dějí se v něm stále docela zvláštní věci.
4) Nejpozoruhodnější je následující: skript využívá proměnné z externího souboru (kvůli lokalizaci) např.

$webmasterEmail = $locale['TF_002'];
. Někdy to jde bez problémů, na jiném místě scriptu odkaz na jiný soubor nefunguje - a syntaxe je poodle věech lidí, se kterými jsem to konzultoval správná... Proto mi nezbývalo, než lokalizaci definovat "natvrdo".
5) A teď co vlastně potřebuji: hledám někoho, kdo dokáže odhalit problém s těmi odkazy na externí soubor a eventuálně ten script pročistit... (rád bych ještě jednu drobnou úpravu, ale tohle je teď to hlavní). Díky všem, kteří najdou tu odvahu a podívají se na to...

1. část scriptu:

if (!defined("IN_FUSION")) { header("Location:../../index.php"); exit; }
if (file_exists(INFUSIONS."tell_friend_panel/locale/".$settings['locale'].".php")) {
        include INFUSIONS."tell_friend_panel/locale/".$settings['locale'].".php";
} else {
        include INFUSIONS."tell_friend_panel/locale/English.php";
}

openside($locale['TF_001']);

$webmasterEmail = $locale['TF_002'];
$returnPage = $locale['TF_003'];
$sendNotification = 0;
$subject = $locale['TF_009'];
$customMessage = $locale['TF_016'];
$sendAsHtml = 0;
$htmlHeader = <<<EOD
EOD;

error_reporting(E_ERROR); 
/* start main */
if(!isset($_POST["action"])) {
if($useHeader) include($headerFile);
show_form();
if($useFooter) include($footerFile);
} else {
//begin error checking
$_POST['senderEmail'] = trim($_POST['senderEmail']);

if(!isValid($_POST['senderEmail'])) {
$error[] = $locale['TF_005'];
unset($_POST['senderEmail']);
}
$validRecips = check_valid($_POST['friend']);
if($validRecips == FALSE) {
$error[] = $locale['TF_006'];
}
//end error checking

if($useHeader) include($headerFile);

if($error) {
echo "<center>\n";
foreach($error as $oneError) {
echo "$oneError<br>\n";
}
echo "</center>\n";

echo show_form();

if($useFooter) include($footerFile);

} else { //no error
$subject = str_replace("[SENDER_EMAIL]", $_POST['senderEmail'], $subject);
$message = $_POST['customMessage'] . "\n\n\n_________________________________________\n"
.$locale['TF_007']. $_SERVER['SERVER_NAME'] . $locale['TF_008']. "$webmasterEmail.";

Odpověď na otázku

1 Zadajte svou přezdívku:
2 Napište svou odpověď:
3 Pokud chcete dostat ban, zadejte libovolný text:

Zpět do poradny