Fork me on GitHub Fork me on GitHub
Ochrona email w userinfo.php - Artykuły
Ochrona email w userinfo.php
  Posted on Tue 28 Jun 2005 by Frano (4636 reads)
Hej

Kilka dni temu zauważyłem w jednym z pism sposób do ochrony adresów email. Wystarczy tylko użyć biblioteki GD do stworzenia obrazka z wypisanym adresem email

Minelo troszkę czasu aż postanowiłem zabrać się za to
Efektem jest drobna modyfikacja pliku userinfo.php

w pakiecie znajdują się 2 pliki:
./emailprotection.php odpowiedzialny za tworzenie obrazka
./fonts/arial.tff -> wielka krowa z MS jeśli ktoś chce używać fontów TTF a nie chce mu się od siebie zgrywać
(3 plik super ukryty to README )

aby modyfikacja zadziałała, należy po zgraniu wyedytować plik userinfo.php.

Znalawszy
if ($thisUser->getVar('user_viewemail') == 1) {
    
$xoopsTpl->assign('user_email'$thisUser->getVar('email''E'));
} else {
    if (
is_object($xoopsUser)) {
         
// All admins will be allowed to see emails, even those that are not allowed to edit users (I think it's ok like this)
        
if ($xoopsUserIsAdmin || ($xoopsUser->getVar("uid") == $thisUser->getVar("uid"))) {
            
$xoopsTpl->assign('user_email'$thisUser->getVar('email''E'));
        } else {
            
$xoopsTpl->assign('user_email'' ');
        }
    }
}


zamienic na:
if ($thisUser->getVar('user_viewemail') == 1) {
    
$protectedEmail '<img src="'.XOOPS_URL.'/emailprotection.php?uid='.$thisUser->getVar("uid").'">';
    
$xoopsTpl->assign('user_email'$protectedEmail);
} else {
    if (
is_object($xoopsUser)) {
         
// All admins will be allowed to see emails, even those that are not allowed to edit users (I think it's ok like this)
        
if ($xoopsUser->isAdmin() || ($xoopsUser->getVar("uid") == $thisUser->getVar("uid"))) {
            
$protectedEmail '<img src="'.XOOPS_URL.'/emailprotection.php?uid='.$thisUser->getVar("uid").'">';
            
$xoopsTpl->assign('user_email'$protectedEmail);
        } else {
            
$xoopsTpl->assign('user_email''&nbsp;');
        }
    }
}


Wyjaśnienie: jak widać dodałem jedna nowa linijkę
$protectedEmail = '';
która wywołuje nasz supermegahiperkosmiczny skrypt 'emailprotected.php'
oraz zmieniłem
$xoopsTpl->assign('user_email', $thisUser->getVar('email', 'E')); na $xoopsTpl->assign('user_email', $protectedEmail); aby nasz system wyświetlił obrazek.

PORADA: Jeśli chcesz, to zajrzyj do pliku emailprotection.php aby zmienić np. kolor czcionki, lub sposób wyświetlania

I nareszcie, oczekiwany .... link

http://www.kongresruchow.pl/kuba/xoops/emailprotection.tgz

DEMO: http://www.kongresruchow.pl/userinfo.php?uid=1


Autor : turbaki
Index :: Print :: E-mail
The comments are owned by the author. We aren't responsible for their content.