PHP-Nuke
  Strona głównaDownloadForumFAQ Zaloguj się  
 Menu
 Home :
 Strona główna
 Demo PHPNuke
 Archiwum
 Użytkownicy :
 Ekipa phpnuke.org.pl
 Lista Użytkowników
 Prywatne wiadomości
 Online
 Menu :
 Regulamin
 Kontakt
 Linki
 Download
 Dokumentacja :
 FAQ
 Idiots Guide
 Polecamy
» Spawanie stali nierdzewnej
» fotografia ślubna
» Nokia
» Darmowy katalog stron

» umieść tutaj swój link
 Tools
 Module Creator
 Block Creator
 HTML to PHP
 HTML to Javascript
 Online HTML Editor
 Meta Tag Creator
 Popup Creator
 Scrollbar Creator
 Hex Colors
 Previewer
 HTML Encoder
 URL Encoder
 Rot-13 Encoder
 DB Generator
 MD5 Calculator
 Top Themes
1.Tesko1101
2.BLock737
3.ICGstation587
4.Dw-Advance476
5.Fiblack3d460
6.ZoneBlue429
7.Cobalt357
8.Aeolus342
9.PH2BLUE324
10.XPMidnight310

 
Regulamin  Forum FAQ   Szukaj   Grupy   Rejestracja   Zaloguj
 
 
Zadając pytanie dotyczące PHPNuke podaj jego wersje!!

Automatyczna aktywacja konta użytkownika
Bardzo częstym problemem (szczególnie na darmowych serwerach) jest zablokowana funkcja mail(), co uniemożliwia aktywacje konta przez użytkownika rejestrującego się na naszej stronie.
Często też mail z linkiem aktywującym konto poprostu nie dochodzi do użytkownika z różnych, czasem niezależnych od nas przyczyn.

Aby wyłączyć aktywacje kont można wykonać prostą modyfikację , po której w preferencjach można będzie ustawić, czy nowy użytkownik bedzie musiał aktywować swoje konto , czy ma ono zostać automatycznie aktywowane.

Modyfikacja:Jak instalować modyfikacje
#
#------[ SQL ]---------
#
ALTER TABLE nuke_config ADD user_activation tinyint(1) NOT NULL default '1';

#
#------[ OPEN ]----------
#
mainfile.php

#
#-----[ FIND ]------------
#

$Version_Num = $row['Version_Num'];

#
#-----[ AFTER ADD ]---------
#

$activation = intval($row['activation']);

#
#------[ OPEN ]----------
#
admin/modules/settings.php

#
#-----[ FIND ]-------------
#

$CensorReplace = $row['CensorReplace'];

#
#-----[ AFTER ADD ]--------
#

$xactivation = intval($row['activation']);

#
#-----[ FIND ]----------
#

echo "</td></tr><tr><td>" . _USERSHOMENUM . "</td><td>";
if ($user_news == 1) {
echo "<input type='radio' name='xuser_news' value='1' checked>" . _YES . " &nbsp;
<input type='radio' name='xuser_news' value='0'>" . _NO . "";
} else {
echo "<input type='radio' name='xuser_news' value='1'>" . _YES . " &nbsp;
<input type='radio' name='xuser_news' value='0' checked>" . _NO . "";
}

#
#-----[ AFTER ADD ]-------
#

echo "</td></tr><tr><td>" . _USERSACTIVATION . "</td><td>";
if ($xactivation == 1) {
echo "<input type='radio' name='xactivation' value='1' checked>" . _FROMMAIL . " &nbsp;
<input type='radio' name='xactivation' value='0'>" . _NOACTIV . "";
} else {
echo "<input type='radio' name='xactivation' value='1'>" . _FROMMAIL . " &nbsp;
<input type='radio' name='xactivation' value='0' checked>" . _NOACTIV . "";
}

#
#-----[ FIND ]---------
#

$db->sql_query("UPDATE ".$prefix."_config SET sitename='$xsitename', nukeurl='$xnukeurl'

#
#-----[ IN LINE, FIND ]---------
#

, CensorReplace='$xCensorReplace'

#
#-----[ IN LINE, AFTER ADD ]---------
#

, activation='$xactivation'

#
#-----[ OPEN ]---------------
#
admin/language/lang-polish.php

#
#-----[ FIND ]--------------
#

?>

#
#-----[ BEFORE ADD ]----------
#

define("_USERSACTIVATION","Aktywacja nowego użytkownika");
define("_FROMMAIL","Przez e-mail");
define("_NOACTIV","Brak aktywacji");

#
#------[ OPEN ]----------
#
modules/Your_Account/index.php

#
#-----[ FIND ]------------
#

function finishNewUser($username, $user_email, $user_password, $random_num, $gfx_check) {
global $stop, $EditedMessage, $adminmail, $sitename, $Default_Theme, $user_prefix, $db, $storyhome, $module_name, $nukeurl;
include("header.php");
include("config.php");
userCheck($username, $user_email);
$user_regdate = date("M d, Y");
if (!isset($stop)) {
$datekey = date("F j");
$rcode = hexdec(md5($_SERVER[HTTP_USER_AGENT] . $sitekey . $random_num . $datekey));
$code = substr($rcode, 2, 6);
if (extension_loaded("gd") AND $code != $gfx_check AND ($gfx_chk == 3 OR $gfx_chk == 4 OR $gfx_chk == 6 OR $gfx_chk == 7)) {
Header("Location: modules.php?name=$module_name");
die();
}
mt_srand ((double)microtime()*1000000);
$maxran = 1000000;
$check_num = mt_rand(0, $maxran);
$check_num = md5($check_num);
$time = time();
$finishlink = "$nukeurl/modules.php?name=$module_name&op=activate&username=$username&check_num=$check_num";
$new_password = md5($user_password);
$username = check_html($username, nohtml);
$user_email = check_html($user_email, nohtml);
$result = $db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', '$user_regdate', '$check_num', '$time')");
if(!$result) {
echo ""._ERROR."<br>";
} else {
$message = ""._WELCOMETO." $sitename!\n\n"._YOUUSEDEMAIL." ($user_email) "._TOREGISTER." $sitename.\n\n "._TOFINISHUSER."\n\n $finishlink\n\n "._FOLLOWINGMEM."\n\n"._UNICKNAME." $username\n"._UPASSWORD." $user_password";
$subject = ""._ACTIVATIONSUB."";
$from = "$adminmail";
mail($user_email, $subject, $message, "From: $from\nX-Mailer: PHP/" . phpversion());
title("$sitename: "._USERREGLOGIN."");
OpenTable();
echo "<center>"._ACCOUNTCREATED."<br><br>";
echo ""._YOUAREREGISTERED.""
."<br><br>"
.""._FINISHUSERCONF."<br><br>"
.""._THANKSUSER." $sitename!</center>";
CloseTable();
}
} else {
echo "$stop";
}
include("footer.php");
}

#
#-----[ AFTER ADD ]--------
#

function finishNewUserNoA($username, $user_email, $user_password, $random_num, $gfx_check) {
global $stop, $EditedMessage, $adminmail, $sitename, $Default_Theme, $user_prefix, $db, $storyhome, $module_name, $nukeurl;
include_once("header.php");
include("config.php");
userCheck($username, $user_email);
$user_regdate = date("M d, Y");
if (!isset($stop)) {
$datekey = date("F j");
$rcode = hexdec(md5($_SERVER[HTTP_USER_AGENT] . $sitekey . $random_num . $datekey));
$code = substr($rcode, 2, 6);
//if (extension_loaded("gd") AND $code != $gfx_check) {
// Header("Location: modules.php?name=$module_name");
// die();
//}
mt_srand ((double)microtime()*1000000);
$maxran = 1000000;
$check_num = mt_rand(0, $maxran);
$check_num = md5($check_num);
$time = time();
$finishlink = "$nukeurl/modules.php?name=$module_name&op=activate&username=$username&check_num=$check_num";
$new_password = md5($user_password);
$db->sql_query("INSERT INTO ".$user_prefix."_users_temp (user_id, username, user_email, user_password, user_regdate, check_num, time) VALUES (NULL, '$username', '$user_email', '$new_password', '$user_regdate', '$check_num', '$time')");
if(!$result) {
echo ""._ERROR."<br>";
} else {
////
global $db, $user_prefix, $module_name, $language;
$past = time()-86400;
$db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE time < $past");
$sql = "SELECT * FROM ".$user_prefix."_users_temp WHERE username='$username' AND check_num='$check_num'";
$result = $db->sql_query($sql);
if ($db->sql_numrows($result) == 1) {
$row = $db->sql_fetchrow($result);
if ($check_num == $row[check_num]) {
$db->sql_query("INSERT INTO ".$user_prefix."_users (user_id, username, user_email, user_password, user_avatar, user_regdate, user_lang) VALUES (NULL, '$row[username]', '$row[user_email]', '$row[user_password]', 'gallery/blank.gif', '$row[user_regdate]', '$language')");
$db->sql_query("DELETE FROM ".$user_prefix."_users_temp WHERE username='$username' AND check_num='$check_num'");
// include_once("header.php");
title(""._ACTIVATIONYES."");
// OpenTable();
echo "<center>$row[username]: "._ACTMSG."</center>";
// CloseTable();
// include("footer.php");
// die();
} else {
// include("header.php");
title(""._ACTIVATIONERROR."");
// OpenTable();
echo "<center>"._ACTERROR1."</center>";
// CloseTable();
// include("footer.php");
// die();
}
} else {
// include("header.php");
title(""._ACTIVATIONERROR."");
// OpenTable();
echo "<center>"._ACTERROR2."</center>";
// CloseTable();
// include("footer.php");
die();
}

////
}
} else {
echo "$stop";
}
include("footer.php");
}

#
#-----[ FIND ]---------
#
case "finish":
finishNewUser($username, $user_email, $user_password, $random_num, $gfx_check);
break;

#
#-----[ REPLACE WITH ]---------
#

case "finish":
if ($activation) {
finishNewUser($username, $user_email, $user_password, $random_num, $gfx_check);
} else {
finishNewUserNoA($username, $user_email, $user_password, $random_num, $gfx_check);
}
break;

#
#------[ SAVE AND CLOSE FILES ]-------
#
# EoM


Wcześniej oczywiście proponuje zrobić kopię edytowanych plików Wink

@dudi
 


Powered by phpBB [CR] © 2001, 2006 phpBB Group.
 

Copyright © 2004-2009 by phpnuke.org.pl :: PHP-Nuke Copyright © 2004 by Francisco Burzi.
Zdjęcia ślubne
Tworzenie strony: 0.37 sekund
Zapytań: 4