|
Witajcie. Pokombinowałem trochę z tym kontaktem i udało mi się coś zdziałać. Co prawda nie jest to wtyczka tylko odpowiednio zmodyfikowany plik contact.php. Wszystko przetestowane i ładnie działa.
Na samym początku warto zmodyfikować plik sendmail_include.php w katalogu includes, tak aby mail był wysyłany w formacie HTML.
Odnajdujemy:
function sendemail($toname, $toemail, $fromname, $fromemail, $subject, $message, $type = "plain", $cc = "", $bcc = "") {
Kliknij i zaczekaj na załadowanie kodu ...
I zamieniamy na:
function sendemail($toname, $toemail, $fromname, $fromemail, $subject, $message, $type = "html", $cc = "", $bcc = "") {
Kliknij i zaczekaj na załadowanie kodu ...
Następnie kopiujemy całą zawartość poniższego kodu i zapisujemy jako contact.php
<?php
/*-------------------------------------------------------+
| PHP-Fusion Content Management System
| Copyright (C) 2002 - 2008 Nick Jones
| http://www.php-fu...
+--------------------------------------------------------+
| Filename: contact.php
| Author: Nick Jones (Digitanium)
+--------------------------------------------------------+
| This program is released as free software under the
| Affero GPL license. You can redistribute it and/or
| modify it under the terms of this license which you
| can read by viewing the included agpl.txt or online
| at www.gnu.org/licen... Removal of this
| copyright header is strictly prohibited without
| written permission from the original author(s).
+--------------------------------------------------------*/
require_once "maincore.php";
require_once THEMES."templates/header.php";
include LOCALE.LOCALESET."contact.php";
add_to_title($locale['global_200'].$locale['400']);
if (isset($_POST['sendmessage'])) {
include_once INCLUDES."securimage/securimage.php";
$error = "";
//dodanie opcji dla utworzonej zmiennej adresat
$adresat = substr(stripinput(trim($_POST['adresat'])), 0, 50);
$mailname = substr(stripinput(trim($_POST['mailname'])), 0, 50);
$email = substr(stripinput(trim($_POST['email'])), 0, 100);
$subject = substr(str_replace(array("\r","\n","@"), "", descript(stripslash(trim($_POST['subject'])))), 0, 50);
$message = descript(stripslash(trim($_POST['message'])));
//pobieranie adresu IP nadawcy ;]
$ip = $_SERVER['REMOTE_ADDR'];
//wyglad(uklad) wiadomosci - mozna sobie edytowac jak sie chce
$wiadomosc = 'Nadawca: '.$mailname.'<br>Adres e-mail nadawcy: '.$email.'<br>Temat wiadomo¶ci: '.$subject.'<br><br><b>Tre¶ć wiadomo¶ci:</b><br><br>'.$message.'<br><br><hr>Wiadomo¶c została wysłana za pomoc± formularza znajduj±cego się na stronie www.wyspian.pl <br>Adres IP nadawcy to '.$ip.'';
//dodanie opcji dla utworzonej zmiennej adresat
if ($adresat == "") {
$error .= "· <span class='alt'>".$locale['420']."</span><br />\n";
}
if ($mailname == "") {
$error .= "· <span class='alt'>".$locale['420']."</span><br />\n";
}
if ($email == "" || !preg_match("/^[-0-9A-Z_\.]{1,50}@([-0-9A-Z_\.]+\.){1,50}([0-9A-Z]){2,4}$/i", $email)) {
$error .= "· <span class='alt'>".$locale['421']."</span><br />\n";
}
if ($subject == "") {
$error .= "· <span class='alt'>".$locale['422']."</span><br />\n";
}
if ($message == "") {
$error .= "· <span class='alt'>".$locale['423']."</span><br />\n";
}
$securimage = new Securimage();
if (!isset($_POST['captcha_code']) || $securimage->check($_POST['captcha_code']) == false) {
$error .= "· <span class='alt'>".$locale['424']."</span><br />\n";
}
if (!$error) {
require_once INCLUDES."sendmail_include.php";
if (!sendemail('',$adresat,$mailname,$email,$subject,$wiadomosc)) {
$error .= "· <span class='alt'>".$locale['425']."</span><br />\n";
}
}
if ($error) {
opentable($locale['400']);
echo "<div style='text-align:center'><br />\n".$locale['442']."<br /><br />\n".$error."<br />\n".$locale['443']."</div><br />\n";
closetable();
} else {
opentable($locale['400']);
echo "<div style='text-align:center'><br />\n".$locale['440']."<br /><br />\n".$locale['441']."</div><br />\n";
closetable();
}
} else {
opentable($locale['400']);
echo $locale['401'];
echo "<form name='userform' method='post' action='".FUSION_SELF."'>\n";
echo "<table cellpadding='0' cellspacing='0' class='center'>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['410']."</td>\n";
echo "<td class='tbl'><select name='adresat'>
//deklarowanie adresów e-mail
<option value=adres@domena>nazwa_wyswietlana_na_liscie</option>
<option value=adres@domena>nazwa_wyswietlana_na_liscie</option>
</select></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['402']."</td>\n";
echo "<td class='tbl'><input type='text' name='mailname' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['403']."</td>\n";
echo "<td class='tbl'><input type='text' name='email' maxlength='100' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['404']."</td>\n";
echo "<td class='tbl'><input type='text' name='subject' maxlength='50' class='textbox' style='width: 200px;' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['405']."</td>\n";
echo "<td class='tbl'><textarea name='message' rows='10' class='textbox' style='width: 320px'></textarea></td>\n";
echo "</tr>\n<tr>\n";
echo "<td width='100' class='tbl'>".$locale['407']."</td>\n";
echo "<td class='tbl'>";
echo "<img id='captcha' src='".INCLUDES."securimage/securimage_show.php' alt='' align='left' />\n";
echo "<a href='".INCLUDES."securimage/securimage_play.php'><img src='".INCLUDES."securimage/images/audio_icon.gif' alt='' align='top' class='tbl-border' style='margin-bottom:1px' /></a><br />\n";
echo "<a href='#' onclick=\"document.getElementById('captcha').src = '".INCLUDES."securimage/securimage_show.php?sid=' + Math.random(); return false\"><img src='".INCLUDES."securimage/images/refresh.gif' alt='' align='bottom' class='tbl-border' /></a>\n";
echo "</td>\n</tr>\n<tr>";
echo "<td class='tbl'>".$locale['408']."</td>\n";
echo "<td class='tbl'><input type='text' name='captcha_code' class='textbox' style='width:100px' /></td>\n";
echo "</tr>\n<tr>\n";
echo "<td align='center' colspan='2' class='tbl'>\n";
echo "<input type='submit' name='sendmessage' value='".$locale['406']."' class='button' /></td>\n";
echo "</tr>\n</table>\n</form>\n";
closetable();
}
require_once THEMES."templates/footer.php";
?>
Kliknij i zaczekaj na załadowanie kodu ...
Na koniec dodajemy wpis w pliku językowym. W tym celu otwieramy plik contact.php z katalogu locale/polish i dodajemy:
$locale['410'] = "Adresat:";
Kliknij i zaczekaj na załadowanie kodu ...
W pliku głównym contact.php dodałem przydatne komentarze.
Teraz aby dodać dodatkowego adresata wystarczy w odpowiednim miejscu w pliku contact.php dodać:
<option value=adres@domena>nazwa_wyswietlana_na_liscie</option>
Dodatkowo skrypt ten pobiera adres IP nadawcy i dodaje go w stopce wysłanego na wskazany adres maila w celu walki przed ewentualnym spamem.
Dla leniwych zamieszczam gotową paczkę w załączniku z plikami, które trzeba podmienić na serwerze.
Komentarze i uwagi mile widziane :) |