Witaj Sandro
Bardzo przepraszam, teraz to już w ogóle są szkodliwe warunki pracy przy komie, a u mnie nie przybywa czasu na luzik i ostatnio w ogóle nie mogłem się tu pojawiać... sorka
Na szybko to coś mi w podświetlaniu składni się nie podoba, konkretnie chodzi mi o funkcję sprawdzania maila:
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.023s | speed:2.21 KB/s
Tu są różne warunki i nie podoba mi się ta linijka, ( z funkcji sprawdzajki), linia ~148:
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.026s | speed:4.95 KB/s
hmm wygląda jakby co najmniej brakowało średnika na końcu --> ;
Dlatego przetestuj 3 opcje:
1 - ze średnikiem na końcu -->
;// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.027s | speed:4.73 KB/s
2 - z
return false; // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.029s | speed:4.91 KB/s
3 - i z
return true;// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.029s | speed:4.86 KB/s
Sprawdź, po kolei czy jest ok, czy są jakieś błędy? Funkcja sprawdza również rekordy DNS, więc mail powinien być prawdziwy, ponadto wpisałbym inny niż mail admina.
Na stronie smf.org, tam gdzie ten mod to kliknąłem "parse" i nie podoba mi się w template tego moda wartość value="" w inpucie maila, ponieważ nie powinno tu być żadnych spacji, (w cudzysłowach value), a tym czasem widzę jedną na końcu..
To jest cały ten input do wpisywania maila + opis itd:
//--------------------------------------------------------------------------------------------------
// Email address
//--------------------------------------------------------------------------------------------------
echo'
<div style="padding-bottom: 6px;">
<label for="email"><span class="normaltext">',
$txt['contact_form_label_email'],
'<span class="smalltext"',
empty($modSettings['contact_form_require_email']) ? '> ' . $txt['contact_form_field_optional_email'] : ' style="color: red;"> ' . $txt['contact_form_field_required'],
'</span></span><br />
<input ';
if (isset($context['contact_form_message_sent'])) echo 'readonly="readonly" style="background-color: #F0F0F0;" ';
if (isset($_POST['email'])) echo 'value="', trim($_POST['email']), '" ';
echo 'type="text" size="24" name="email" id="email"';
if (isset($context['contact_form_error_no_email']) && isset($_POST['submit']))
{
echo ' style="border-style: solid; border-color: red;" />
</label> <span class="smalltext" style="color: red;">', $txt['contact_form_error_no_email'], '</span>';
}
else if (isset($context['contact_form_error_invalid_email']) && isset($_POST['submit']))
{
echo ' style="border-style: solid; border-color: red;" />
</label> <span class="smalltext" style="color: red;">', $txt['contact_form_error_invalid_email'], '</span>';
}
else echo ' />
</label>';
echo '
</div>';
//--------------------------------------------------------------------------------------------------
// Subject line
//--------------------------------------------------------------------------------------------------
To w linii około ~60 zaczyna się sam input, czyli ten kawałek kodu:
<input ';
if (isset($context['contact_form_message_sent'])) echo 'readonly="readonly" style="background-color: #F0F0F0;" ';
if (isset($_POST['email'])) echo 'value="', trim($_POST['email']), '" ';
echo 'type="text" size="24" name="email" id="email"';
if (isset($context['contact_form_error_no_email']) && isset($_POST['submit']))
{
echo ' style="border-style: solid; border-color: red;" />
// Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.029s | speed:13.44 KB/s
Jak widać w value= po ' ,trim($_POST['email']), ' -> właśnie tu jest spacja i dopiero cudzysłów " to wytnij ją, ale daj spację linijkę poniżej zaraz po echo i a'postofie, tam gdzie zaczyna się type="text"
Czyli zapisałbym ten kawałek tak:
<input
';
if (isset($context['contact_form_message_sent
'])) echo 'readonly
="readonly" style
="background-color: #F0F0F0;" ';
if (isset($_POST['email
'])) echo 'value
="', trim($_POST['email']), '"'; // wycięta spacja na końcu przed zamykającym cudzysłowem
echo ' type
="text" size
="24" name
="email" id
="email"'; // dodana spacja na początku, zaraz po echo ' if (isset($context['contact_form_error_no_email']) && isset($_POST['submit'])) { echo ' style="border-style: solid; border-color: red;" /> // Created by GeSHi 1.0.8.10 | code: -› [code=PHP] | load:0.030s | speed:16.53 KB/s
Po za tym podejrzałbym kod, - jestem ciekaw jak wygląda ten input w przeglądarce w poglądzie źródła?
Sandro, sorry, na szybko tylko to przychodzi mi do głowy..
W tym inpucie jest tak, że po przetworzeniu wpisanego emaila i tak zostaje tam spacja, przed zamykającym value cudzysłowem "
I chyba od tego zacznij, (a dopiero grzebnij w silniku tego moda), czyli zacznij w ./Themes/default/
Contact.template.phpDopiero później! dłubnij w silniku czyli w ./Sources/
Contact.php Jest okrutnie gorąco, martwię się o kompy, a roboty i wydarzeń nie ubywa.., dlatego weź proszę na to poprawkę.
Oczywiście w miarę możliwości postaram się tu zaglądać., częściej niż ostatnio, okay?
Mam nadzieję, że to bzdet i to co tu powypisywałem, pomoże
Pozdrawiam
roco