Poprzedni temat :: Następny temat |
sebonpl Wysłany: Nie 19 Lis, 2006 |
|
|
##############################################################
## Nazwa Modyfikacji: AJAX Weryfikacja nazwy u?ytkownika
## Autor Modyfikacji: adrien < webmaster@pc-facile.com > http://www.pc-facile.com
## Dostosowa? dla phpBB by Przemo: SeBoN < sebonpl@gmail.com > http://www.vista.skazzza.pl
## MOD Description: Modyfikacja sprawdza dzi?ki AJAX dost?pno?? nazwy u?ytkownika podczas rejestracji.
## Wersja Modyfikacji: 0.9.1
##
## Trudno?? Wgrania: ?atwe
## Czas instalacj: 10 minut
## Pliki do edycji: profile.php,
## includes/usercp_register.php,
## lang_main.php
## templates/SubSilver/profile_add_body.tpl
##
## pliki do wgrania: class.sajax.php
##############################################################
#
#-----[ Kopiuj ]------------------------------------------
#
# Plik znajduje si? w za??czniku
#
copy class.sajax.php to includes/class.sajax.php
#
#-----[ Otw?rz ]------------------------------------------
#
profile.php
#
#-----[ Znajd? ]------------------------------------------
#
PHP Code:<?php
include($phpbb_root_path . 'extension.inc');
include($phpbb_root_path . 'common.'.$phpEx);
?>
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
include($phpbb_root_path . 'includes/class.sajax.'.$phpEx);
sajax_init(); // Intialize Sajax
sajax_export("check_user_exist"); // Register the function
sajax_handle_client_request(); // Serve client instances
?>
#
#-----[ Znajd? ]------------------------------------------
#
PHP Code:<?php
redirect(append_sid("index.$phpEx", true));
?>
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
function check_user_exist ($username)
{
global $db;
// Make a list of words to postfix on username for suggest
$suggest = array('007', '1', 'x', 'xxx', '2000', '2007');
$username = mysql_escape_string ($username);
$sql = "SELECT username FROM " . USERS_TABLE . " WHERE username = '" . $username . "'";
if (!($result = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain confirmation code', __LINE__, __FILE__, $sql);
}
$list = array();
while ( $row = $db->sql_fetchrow($result) )
{
$list[] = $row;
}
$db->sql_freeresult($result);
if ( count ($list) > 0)
{
// Username not available
$avail[0] = 'no';
$i = 2;
// Loop through suggested ones checking them
foreach ($suggest AS $postfix)
{
$sql = "SELECT username FROM " . USERS_TABLE . " WHERE username = '" . $username . $postfix . "'";
if (!($result_2 = $db->sql_query($sql)))
{
message_die(GENERAL_ERROR, 'Could not obtain confirmation code', __LINE__, __FILE__, $sql);
}
$user = $db->sql_fetchrow($result_2);
if ( empty ($user) )
{
$avail[$i] = $username . $postfix;
$i++;
}
}
$avail[1] = $i - 1;
return ($avail);
}
// Username is available
return array('yes');
}
?>
#
#-----[ Znajd? ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
?>
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
));
?>
#
#-----[ Otw?rz ]------------------------------------------
#
lang_main.php
#
#-----[ Znajd? ]------------------------------------------
#
PHP Code:<?php
$lang['Empty_subject_email'] = 'Musisz określi? temat dla email\'a';
$lang['Empty_message_email'] = 'Musisz wpisa? wiadomoś? do wys?ania';
?>
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
$lang['Verify_username'] = "Sprawdz Dost?pnoś?";
$lang['Username_available'] = "Nazwa u?ytkownika dost?pna.";
$lang['Try_one_these'] = "Nazwa u?ytkownika niedost?pna.Wybierz z listy lub wymyśl nowy.";
?>
#
#-----[ Otw?rz ]------------------------------------------
#
templates/SubSilver/profile_add_body.tpl
#
#-----[ Znajd? ]------------------------------------------
#
<form action="{S_PROFILE_ACTION}" {S_FORM_ENCTYPE} method="post">
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:<?php
<script type="text/javascript">
{SAJAX_JAVASCRIPT}
function check_handle(result) {
if(result[0] == 'yes') {
document.getElementById('not_available').style.display = 'none';
document.getElementById('available').style.display = 'block';
}
else {
document.getElementById('available').style.display = 'none';
document.getElementById('not_available').style.display = 'block';
var str = '{TRY_ONE_OF_THESE} <br />';
for(i = 1; i < result[1]; i++) {
str += "<input type=\"radio\" name=\"try\" onclick=\"switch_username('"+result[i+1]+"')\"/>" + result[i+1] + "<br />";
}
document.getElementById('not_available').innerHTML = str;
}
}
function check_user_exist() {
var username = document.getElementById('username').value;
x_check_user_exist(username, check_handle);
}
function switch_username(username) {
document.getElementById('username').value = username;
}
</script>
<style type="text/css">
#available {
display: none;
color: green;
}
#not_available {
display: none;
color: red;
}
</style>
?>
#
#-----[ Znajd? ]------------------------------------------
#
PHP Code:<?php
<tr>
<td class="row1" width="38%"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" onFocus="Active(this)" onBlur="NotActive(this)" style="width:200px" name="username" size="25" maxlength="15" value="{USERNAME}" /></td>
</tr>
?>
#
#-----[ Zamie? na ]------------------------------------------
#
PHP Code:<?php
<tr>
<td class="row1" width="38%" valign="top"><span class="gen">{L_USERNAME}: *</span></td>
<td class="row2"><input type="text" class="post" style="width:200px" name="username" size="25" maxlength="25" value="{USERNAME}" id="username" /> <input type="button" name="check" value="{L_VERIFY_USERNAME}" onclick="check_user_exist(); return false;">
<span class="gen"><div id="available">{L_USERNAME_AVAILABLE}</div></span>
<span class="gen"><div id="not_available"></div></span></td>
</tr>
?>
#
#-----[ Zapisz wszystko ]------------------------------------------
#
# EoM |
|
ispep Wysłany: Nie 19 Lis, 2006 |
|
|
bardzo fajna modifikacja |
|
sebonpl Wysłany: Nie 19 Lis, 2006 |
|
|
Jak by nie by?a fajna bym jej nie doda?. |
|
hannibal Wysłany: Wto 21 Lis, 2006 |
|
|
Du?y plus dla kolegi za t? modyfikacje brakowa?o tego bardzo! |
|
Shery Wysłany: Pon 27 Lis, 2006 |
|
|
hmmm a ja jak zwykle pytam czy obci?za ? |
|
KnofeL Wysłany: Pon 27 Lis, 2006 |
|
|
Z tego co wiem to Ajax zosta? stworzony ?eby zmniejszy? szybko?? ??dowania si? strony i obci?zenie serwera, wiec chyba nie. |
|
sonik87 Wysłany: Nie 15 Lip, 2007 |
|
|
Modyfikacja ciekawa i mo?e by? przydatna jednak u mnie po instalacji wyst?puj? k?opoty ... wykonywa?em j? 3 razy bo do trzech razy sztuka no ale zawsze ten sam b??d ... :( niestety tak dobrze jak niekt?rzy u?ytkownicy tego forum nie jestem obeznany dlatego prosz? o pomoc ...
Mo?e kto? b?dzie zna? przyczyn? tego b??du ? z g?ry za pomoc i zainteresowanie bardzo dzi?kuj |
|
KnofeL Wysłany: Nie 15 Lip, 2007 |
|
|
Gdzi?s brakuje ; musia?e? cos gdzie? wklei? ?le |
|
sonik87 Wysłany: Pon 16 Lip, 2007 |
|
|
nie raczej nie pr?bowa?em 3 razy wcze?niej a teraz 4 raz od podstawowych plik?w ... mo?e to nie pasuje po prostu do mojego stylu albo co? ? a mo?e wykona?em ?le t? instrukcj?
Kod#
#-----[ Znajd? ]------------------------------------------
#
includes/usercp_register.php
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:
<?php
'S_FORM_ENCTYPE' => $form_enctype,
'S_PROFILE_ACTION' => append_sid("profile.$phpEx"))
);
?>
#
#-----[ Po tym dodaj ]------------------------------------------
#
PHP Code:
<?php
$template->assign_vars(array(
'L_USERNAME_AVAILABLE' => $lang['Username_available'],
'L_VERIFY_USERNAME' => $lang['Verify_username'],
'TRY_ONE_OF_THESE' => $lang['Try_one_these'],
'SAJAX_JAVASCRIPT' => sajax_get_javascript()
));
?>
#
ja robi?em to tak bo my?la?em ?e w tej instrukcji jest b??d
Otw?r -> includes/usercp_register.php (a nie znajd?)
znajd? -> (po tym dodaj)
po tym dodaj - > (po tym dodaj)
najwy?ej tej modyfikacji nie zainstaluje ... |
|
Przemek211 Wysłany: Pon 16 Lip, 2007 |
|
|
sonik87 napisał/aja robi?em to tak bo my?la?em ?e w tej instrukcji jest b??d
Otw?r -> includes/usercp_register.php (a nie znajd?)
znajd? -> (po tym dodaj)
po tym dodaj - > (po tym dodaj)
To raczej b??d, ale mo?e to dlatego, ?e ten g?upi tag PHP dodaje zawsze <?php i ?>
Mo?e tego nie usun??e?. |
|
sonik87 Wysłany: Pon 16 Lip, 2007 |
|
|
niee kopiowa?em bez tych tag?w ... teoretycznie wszystko dobrze jest ... nie wiem co mo?e by? :( niestety :( najwy?ej nie wstawie modyfikacje :P
no i rozwi?zanie b??du si? znalaz?o ... modyfikacja dzia?a poprawnie :] problemem modyfikacji na moim forum by? serwer yoyo :| nie wiadomo z jakiego powodu ta modyfikacja na tamtym serwerze nie dzia?a?a ... po przeniesieniu na inny lepszy hosting modyfikacja dzia?a bez problem?w :] |
|
Czajo Wysłany: Czw 26 Lip, 2007 |
|
|
wgra?em wszystko wed?ug instrukcji, a mod nie daje znaku ?ycia :(
przy rejestracji nic si? nie dzieje |
|
|
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
|