Форум -> Сделайте за спасибо! Сделаю за отзыв! -> Небольшая переделка модуля Аккаунт | Небольшая переделка модуля Аккаунт |
---|
otherside | Дата: 29.03.2008, в 23:29 | Сообщение №1 |   СтарожилПользователь №: 22 Сообщений: 387
 | Добрейшего времени суток. Обычно не прошу сделать что нить на халяву, но сечас с wmz реальный напряг, поэтому прошу помощи. Нужно в модуле аккаунт при регистрации вывести все поля, которые выводятся при редактировании личной информации (Account&op=edithome). ТО есть, что б при регистрации юхверь сразу заполнял все поля, при чем чтоб все лни были обязательными!
Slaed 2.5
Благодарю!
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно otherside 29.03.2008 г. в 23:29:51 |
| | otherside | Дата: 31.03.2008, в 15:20 | Сообщение №2 |   СтарожилПользователь №: 22 Сообщений: 387
 | Простите великодушно, но UP!
Уже второй день пытаюсь сам это сделать, пока безрезультатно! |
| | Serg_pnz | Дата: 31.03.2008, в 16:47 | Сообщение №3 |   АдминистраторПользователь №: 1 Сообщений: 2243
 | 1. Смотрим функцию function newuser там есть поля "ввести пароль" и "повторить пароль"
2. Далее в function confnewuser идет проверка на заполненность этих полей и на их совпадение. При этом формируется (или не формируется) $stop
Кусок Код | 1
| if ($user_password == "" && $user_password2 == "") {
$user_password = gen_pass($minpass);
} elseif ($user_password != $user_password2) {
$stop = ""._PASSDIFFERENT."";
} elseif ($user_password == $user_password2 AND strlen($user_password) < $minpass) {
$stop = ""._CHARMIN.": $minpass";
} |
3. В первой указанной функции делаем поле пусть с именем fio, а во второй пишем после "куска" что-то типа Код | 1
| if (text_filter($_POST['fio'])=="") {$stop = "Оставленно пустым поле ФИО"} |
ЗЫ: не тестил. Но имхо таков сюжет.
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно Serg_pnz 31.03.2008 г. в 16:48:24 | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | otherside | Дата: 07.05.2008, в 11:07 | Сообщение №4 |   СтарожилПользователь №: 22 Сообщений: 387
 | Добрейшего времени суток, господа.
НА Слаеде есть тема про интреграцию phpbb и slaed 2.5 (http://www.slaed.net/forum/index.php?showtopic=12733)
Все отлично раотает. Но есть одно но. Там нужно файл index.php из папки Account замненить файлом, который предлагает автор. Но, у меня в файле index.php Аккаунта внесено очень много изминений и просто заменяить я не могу.
НЕ мог бы кто нить помочт перенести изминения из файла 1.php в файл 2.php (Оба файла в прикрепленном архиве).
Прикрепленные файлы:
 Скачать: 20.73 KB |
| | Serg_pnz | Дата: 07.05.2008, в 14:49 | Сообщение №5 |   АдминистраторПользователь №: 1 Сообщений: 2243
 | otherside, единственное, что могу посоветовать - взять программу, сравнивающую код построчно (где-то на слаед.нет была в файловом архиве) | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | RockKenny | Дата: 07.05.2008, в 16:11 | Сообщение №6 |   Активный участникПользователь №: 171 Сообщений: 232
 | | | otherside | Дата: 08.05.2008, в 12:56 | Сообщение №7 |   СтарожилПользователь №: 22 Сообщений: 387
 | Serg_pnz, RockKenny, спасибо за наводку! Прогу нашел. Очень оона мне помогла, все получилось! |
| | otherside | Дата: 08.05.2008, в 13:13 | Сообщение №8 |   СтарожилПользователь №: 22 Сообщений: 387
 | Гуру PHP, уж теперь мне точно без вас не обойтись. Все отлично работает, кроме одного очень не приятного НО! После внисения изминений в анекете появились поля:
Получать новости по почте:
Разрешить другим пользователям видеть E-Mail:
Быть видимым на форуме:
Уведомлять об ответах в моих темах на форуме:
Уведомлять о новых личных сообщениях на форуме:
Открывать новое окно при новом личном сообщении на форуме:
Всегда присоединять мою подпись на форуме:
BBCode на форуме всегда включён:
HTML на форуме всегда включён:
Смайлики на форуме всегда включены:
Часовой пояс на форуме:
Формат даты (Стандарт для функции date()):
Проблема в том, что после сохранения, не сохраняются данные внесенные в эти поля. Подскажите, гдже я допустил ошибку?
PS
Так как прикрепить можно только один файл, вот какие изминения я вносил в файл index.php модуля Account:
Код | 1
| Найти:
} else {
$message = ""._WELCOMETO_AC." $sitename!<br /><br />"._YOUUSEDEMAIL.": $user_email "._TOREGISTER." $sitename.<br /><br />"._TOFINISHUSER."<br
/><br /><a href=\"$finishlink\">$finishlink</a><br /><br />"._FOLLOWINGMEM."<br /><br />"._UNICKNAME.": $user_name<br />"._UPASSWORD.": $user_password";
$subject = "$sitename - "._ACTIVATIONSUB."";
mail_send($user_email, $adminmail, $subject, $message, 0, 3);
title(""._ACCOUNTCREATED."");
warning(""._YOUAREREGISTERED."<br /><br />"._FINISHUSERCONF."<br /><br />"._THANKSUSER." $sitename!", "", 15, 2);
}
} else {
ЗАМЕНИТЬ НА:
} else {
title(""._ACCOUNTCREATED."");
warning(""._YOUAREREGISTERED."<br /><br />"._FINISHUSERCONF."<br /><br />"._THANKSUSER." $sitename!", "", 15, 2);
}
$message = ""._WELCOMETO_AC." $sitename!<br /><br />"._YOUUSEDEMAIL.": $user_email "._TOREGISTER." $sitename.<br /><br />"._TOFINISHUSER."<br
/><br /><a href=\"$finishlink\">$finishlink</a><br /><br />"._FOLLOWINGMEM."<br /><br />"._UNICKNAME.": $user_name<br />"._UPASSWORD.": $user_password";
$subject = "$sitename - "._ACTIVATIONSUB."";
mail_send($user_email, $adminmail, $subject, $message, 0, 3);
} else {
================================================================================================
НАЙТИ:
Header("Location: index.php?name=Account&op=info&uname=$user_name");
ПЕРЕД ЭТИМ ДОБАВИТЬ:
$user_name = urlencode($user_name);
=======================================================================================================
НАЙТИ:
function edithome() {
global $user, $userinfo, $Default_Theme, $user_newsletter, $conffi, $broadcast_msg, $user_news, $storyhome, $module_name, $pagetitle, $defis,
$update_points, $stop, $aupload, $adirectory, $atypefile, $amaxsize, $awidth, $aheight;
В СТРОКЕ ПОСЛЕ $aheight ДОБАВИТЬ:
, $db, $prefix, $forum, $table_prefix
===========================================================================================================
НАЙТИ:
echo "<tr class=\"bgcolor1\"><td>"._ALLOWUSERS.":</td><td><input type=\"checkbox\" name=\"user_viewemail\" value=\"1\" $sel3></td></tr>";
ПОСЛЕ ДОБАВИТЬ:
if ($forum == 'phpbb'){
$user_info = $db->sql_fetchrow($db->sql_query("SELECT * FROM ".$table_prefix."users WHERE LOWER(username)='".strtolower($userinfo
['user_name'])."'"));
$selected = (intval($user_info['user_allow_viewonline'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_VIEW_ONLINE.":</td><td><input type=\"checkbox\" name=\"user_allow_viewonline\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_notify'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_NOTIFY.":</td><td><input type=\"checkbox\" name=\"user_notify\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_notify_pm'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_NOTIFY_PM.":</td><td><input type=\"checkbox\" name=\"user_notify_pm\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_popup_pm'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_POPUP_PM.":</td><td><input type=\"checkbox\" name=\"user_popup_pm\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_attachsig'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ATTACH_SIG.":</td><td><input type=\"checkbox\" name=\"user_attachsig\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_allowbbcode'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_BBCODE.":</td><td><input type=\"checkbox\" name=\"user_allowbbcode\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_allowhtml'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_HTML.":</td><td><input type=\"checkbox\" name=\"user_allowhtml\" value=\"1\"
$selected></td></tr>";
$selected = (intval($user_info['user_allowsmile'])) ? "checked" : "";
echo "<tr class=\"bgcolor1\"><td>"._ALLOW_SMILIES.":</td><td><input type=\"checkbox\" name=\"user_allowsmile\" value=\"1\"
$selected></td></tr>";
$tz_select = tz_select($user_info['user_timezone']);
echo "<tr class=\"bgcolor1\"><td>"._USER_TIMEZONE.":</td><td>".$tz_select."</td></tr>";
echo "<tr class=\"bgcolor1\"><td>"._USER_TIMESTAMP.":</td><td><input type=\"text\" name=\"user_dateformat\" value=\"".$user_info
['user_dateformat']."\" maxlength=\"150\" size=\"45\" style=\"width:400px\"></td></tr>";
}
=======================================================================================================================================================
НАЙТИ:
$user_avatar = (!$userinfo[user_avatar]) ? "00.gif" : $userinfo[user_avatar];
ЗАМЕНИТЬ НА:
$user_avatar = (!$userinfo['user_avatar']) ? "00.gif" : $userinfo['user_avatar'];
==================================================================================================================================
НАЙТИ:
function savehome($user_id, $user_email, $user_website, $user_icq, $user_occ, $user_from, $user_interests, $comment, $user_viewemail, $user_theme, $user_aim,
$user_yim, $user_msnm, $user_storynum, $user_blockon, $comment2, $user_broadcast, $user_newsletter, $day, $month, $year, $user_gender) {
global $user, $userinfo, $prefix, $db, $module_name, $stop;
В СТРОКЕ ПОСЛЕ $stop ДОБАВИТЬ:
, $forum, $table_prefix
======================================================
НАЙТИ:
$user_interests = text_filter($user_interests);
ПОСЛЕ ДОБАВИТЬ:
$comment = text_filter($comment);
==================================================================================
НАЙТИ:
$user_field = fields_save($_POST['field']);
ПОСЛЕ ДОБАВИТЬ:
$user_gender = intval($user_gender);
$user_allow_viewonline = intval($user_allow_viewonline);
$user_notify = intval($user_notify);
$user_notify_pm = intval($user_notify_pm);
$user_popup_pm = intval($user_popup_pm);
$user_attachsig = intval($user_attachsig);
$user_allowbbcode = intval($user_allowbbcode);
$user_allowhtml = intval($user_allowhtml);
$user_allowsmile = intval($user_allowsmile);
$user_timezone = text_filter($user_timezone);
$user_dateformat = text_filter($user_dateformat);
======================================================================================
НАЙТИ:
$db->sql_query("UPDATE ".$prefix."_users SET user_email='$user_email', user_website='$user_website', user_viewemail='$user_viewemail', user_icq='$user_icq',
user_occ='$user_occ', user_from='$user_from', user_interests='$user_interests', user_sig='$user_sig', user_theme='$user_theme', user_aim='$user_aim',
user_yim='$user_yim', user_msnm='$user_msnm', user_storynum='$user_storynum', user_blockon='$user_blockon', user_block='$user_block',
user_broadcast='$user_broadcast', user_newsletter='$user_newsletter', user_birthday='$user_birthday', user_gender='$user_gender', user_field='$user_field'
WHERE user_id='$user_id'");
getusrinfo($user);
ПОСЛЕ ДОБАВИТЬ:
$user_name = $userinfo['user_name'];
===================================================================================
НАЙТИ:
cookieset($userinfo[user_id], $userinfo[user_name], $userinfo[user_password], $userinfo[user_storynum], $userinfo[user_blockon], $userinfo[user_theme]);
ПОСЛЕ ДОБАВИТЬ:
if ($forum == 'phpbb'){
if (trim($comment) != ""){
$uid = substr(md5($user_name), 0, 10);
$db->sql_query("UPDATE ".$table_prefix."users SET user_sig_bbcode_uid='$uid' WHERE LOWER(username)='".strtolower
($user_name)."'");
$comment = bbencode_second_pass($comment, $uid);
}
$user_birthday = mkrealdate($day, $month, $year, $user_name);
$user_birthday = (intval($user_birthday)) ? ", user_birthday='$user_birthday'" : "";
$result = $db->sql_query("SELECT user_gender FROM ".$table_prefix."users WHERE LOWER(username)='".strtolower
($user_name)."'");
$user_gender = ($db->sql_numrows($result)) ? ", user_gender='$user_gender'" : "";
$db->sql_query("UPDATE ".$table_prefix."users SET user_email='$user_email', user_website='$user_website',
user_viewemail='$user_viewemail', user_icq='$user_icq', user_occ='$user_occ', user_from='$user_from', user_interests='$user_interests', user_sig='$comment',
user_aim='$user_aim', user_yim='$user_yim', user_msnm='$user_msnm', user_allow_viewonline='$user_allow_viewonline', user_notify='$user_notify',
user_notify_pm='$user_notify_pm', user_popup_pm='$user_popup_pm', user_attachsig='$user_attachsig', user_allowbbcode='$user_allowbbcode',
user_allowhtml='$user_allowhtml', user_allowsmile='$user_allowsmile', user_timezone='$user_timezone',
user_dateformat='$user_dateformat'".$user_birthday."".$user_gender." WHERE LOWER(username)='".strtolower($user_name)."'");
}
=========================================================================================
НАЙТИ:
function saveavatar($category, $avatar) {
global $user, $userinfo, $prefix, $db, $module_name, $stop, $aupload, $adirectory, $atypefile, $amaxsize, $awidth, $aheight;
В СТРОКЕ ПОСЛЕ $aheight ДОБАВИТЬ:
, $forum, $table_prefix
==================================================================================================================================
НАЙТИ:
$user_id = intval($user[0]);
if (!$avatar && !$category && $aupload) {
СТРОКУ $user_id = intval($user[0]); ЗАМЕНИТЬ НА:
getusrinfo($user);
$user_name = $userinfo['user_name'];
$user_id = intval($userinfo['user_id']);
=====================================================================================
НАЙТИ:
$db->sql_query("UPDATE ".$prefix."_users SET user_avatar='$avatar' WHERE user_id='$user_id'");
ПОСЛЕ ДОБАВИТЬ:
if ($forum == 'phpbb'){
$uid = substr(md5($user_name), 0, 10);
$db->sql_query("UPDATE ".$table_prefix."users SET user_avatar='$avatar', user_avatar_type='1' WHERE LOWER(username)
='".strtolower($user_name)."'");
}
=========================================================================================
НАЙТИ:
case "savehome":
savehome($user_id, $user_email, $user_website
В СТРОКЕ ПОСЛЕ $user_gender ДОБАВИТЬ:
, $user_allow_viewonline, $user_notify, $user_notify_pm, $user_popup_pm, $user_attachsig, $user_allowbbcode, $user_allowhtml, $user_allowsmile,
$user_timezone, $user_dateformat |
_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ Отредактированно otherside 08.05.2008 г. в 13:15:43
Прикрепленные файлы:
 Скачать: 11.22 KB |
| | Serg_pnz | Дата: 08.05.2008, в 13:49 | Сообщение №9 |   АдминистраторПользователь №: 1 Сообщений: 2243
 | 1. А ты в базе данных поля соответствующие создал?
2. Включи отображение запросов, уходящих в базу.
Найди тот, который выполняет вставку, скопируй его в ПМА и выполни. Так можно найти ошибку в запросе. | Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот |
| | otherside | Дата: 08.05.2008, в 13:56 | Сообщение №10 |   СтарожилПользователь №: 22 Сообщений: 387
 | ДЫк а поля не нужно создавать при этой интергации. Они же уже есть, если форум утсановлен. И еще один косяк заметил, перестал работать общий логин сайта и форума. но только в IE, в опере продолжает работать |
| | otherside | Дата: 08.05.2008, в 14:01 | Сообщение №11 |   СтарожилПользователь №: 22 Сообщений: 387
 | Эх, ща будуд пробывать еще раз изминения вносить, что то где то упустил видимо |
| | otherside | Дата: 08.05.2008, в 16:09 | Сообщение №12 |   СтарожилПользователь №: 22 Сообщений: 387
 | Все, сам разобрался! Всем спасибо!  |
| | | Вы не можете ответить в тему анонимно, пожалуйста, войдите или зарегистрируйтесь!
|
|