Уважаемые пользователи!
C 7 ноября 2020 года phpBB Group прекратила выпуск обновлений и завершила дальнейшее развитие phpBB версии 3.2.
С 1 августа 2024 года phpBB Group прекращает поддержку phpBB 3.2 на официальном сайте.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.2 до 31 декабря 2024 года.
С учетом этого, настоятельно рекомендуется обновить конференции до версии 3.3.

Мини-оптимизация Birthday Mod

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
DragonDX

Сообщение DragonDX »

Porutchik писал(а):z:\home\forum.buglan.ru\www\includes\usercp_viewprofile.php on line 187
Там и копать :D
Просмотреть все места, которые изменят этот мод и удалить, то что осталось :)
Porutchik

Сообщение Porutchik »

Уже разобрался, оставался кусок кода от удаленного мода
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Поставил мод (на локалку), при просмотре профиля пишет:

Код: Выделить всё

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 594

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 596

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 597
Вероятно проблема связана с тем, что в в файле usercp_register.php требуется

Код: Выделить всё

#-----[ OPEN ]------------------------------------------------
#
includes/usercp_register.php

#
#-----[ FIND ]------------------------------------------------
#
$signature_bbcode_uid = ''; 

#
#-----[ AFTER, ADD ]------------------------------------------
#
а в моем файле:

Код: Выделить всё

if ( $signature_bbcode_uid == '' )
и требуется:

Код: Выделить всё

#
#-----[ FIND ]------------------------------------------------
#
	VALUES ($user_id,

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

#
#-----[ IN-LINE BEFORE, ADD ]---------------------------------
#
, '$birthday', '$next_birthday_greeting' 
, но здесь у меня в usercp_register.php вот такой код
$sql = "INSERT INTO " . USER_GROUP_TABLE . " (user_id, group_id, user_pending)
VALUES ($user_id, $group_id, 0)";
if( !($result = $db->sql_query($sql, END_TRANSACTION)) )
{
я вставил так

Код: Выделить всё

	VALUES ($user_id, $group_id, '$birthday', '$next_birthday_greeting', 0)";
birthday_1.5.9em

форум 2.0.17

моды:
view_profile_sig_1.1.1.mod
first_post_on_every_page_1.0.1.txt
admin_mass_delete_users.zip
admin_prv_msgs.zip
admin_users_list_v110.zip
Admin_Voting_118.zip
agreement.zip
album_rus.zip
album_Smart_linking1[1].1_updated.zip
album_v2053.zip
Allow Guest Voting 2.0.3.zip
attach_mod_241.zip
change_poster_101a.zip
DetectorBots.zip
edit_post_date_102.zip
email links directly to new pms_1-0-1.zip
eqr_3.0.3.zip
extended_quote_tag.zip
first_post_on_every_page_1.0.1.zip
flashing_gif_for_new_pm_1.0.1.zip
font_face_bbcode1_0_4.mod.zip
Forum_Icon_with_ACP_Control_1.0.4.zip
gender_1.2.8em_416.zip
ip_in_topic.zip
live_email_validate_mod_101.zip
Log_Registration_IP.zip
moderator_tags_130.zip
multi_bbcode-140c.zip
only_more_smilies_1.1.0.zip
pmsender.zip
rc_stop_adv_bots_1[1].0.2.zip
rssfeed_2.2.4.zip
split_posts_and_merge_in_one_step_1-0-3.zip
who_viewed_a_topic_1.0.3em.zip
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

vlad77, поднимите форум до последней версии, иначе так и будете спотыкаться

Добавлено спустя 8 минут 13 секунд:

Умм, ладно, для старых версий двига этот злосчастный участок мода можно изложить так

Код: Выделить всё

#-----[ OPEN ]------------------------------------------------ 
# 
includes/usercp_register.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
	// Run some validation on the optional fields. These are pass-by-ref, so they'll be changed to

# 
#-----[ BEFORE, ADD ]------------------------------------------ 
#
А по второй ошибке, искать-то надо первое вхождение
VALUES ($user_id,

то есть такой код
#NOTE: this is a partial match

Код: Выделить всё

			$sql = "INSERT INTO " . USERS_TABLE . "
				VALUES ($user_id,
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Мод теперь работает лучше, но ставить на форум в инете пока рано. :(
Теперь при работе с днями рождения из админки - все идеально. При редактировании профиля и при регистрации теперь можно установить день рождения, запоминается и показывает ближайших именинников (завтра увижу поздравит или нет). Но когда смотришь профиль, редактируешь его или регистрируешься по прежнему пишет:

Код: Выделить всё

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 594 

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 596 

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 597 
:(
Вот фрагменты usercp_register.php, где я вроде бы исправил ошибки

Код: Выделить всё

// Start add - Birthday MOD
	if (isset($HTTP_POST_VARS['birthday']) )
	{
		$birthday = intval ($HTTP_POST_VARS['birthday']);
		if ($birthday!=999999)
		{
			$b_day = realdate('j',$birthday); 
			$b_md = realdate('n',$birthday); 
			$b_year = realdate('Y',$birthday);
		}
	} else
	{
		$b_day = ( isset($HTTP_POST_VARS['b_day']) ) ? intval ($HTTP_POST_VARS['b_day']) : 0;
		$b_md = ( isset($HTTP_POST_VARS['b_md']) ) ? intval ($HTTP_POST_VARS['b_md']) : 0;
		$b_year = ( isset($HTTP_POST_VARS['b_year']) ) ? intval ($HTTP_POST_VARS['b_year']) : 0;
		if ($b_day && $b_md && $b_year)
		{
			$birthday = mkrealdate($b_day,$b_md,$b_year);
		} else
		{
			$birthday = 999999;
		}
	}
// End add - Birthday MOD


// Run some validation on the optional fields. These are pass-by-ref, so they'll be changed to
	// empty strings if they fail.
	validate_optional_fields($icq, $aim, $msn, $yim, $website, $location, $occupation, $interests, $signature);
и

Код: Выделить всё

			//
			// Get current date
			//
			$sql = "INSERT INTO " . USERS_TABLE . "	(user_reg_ip, user_reg_host, user_id, username, user_regdate, user_password, user_email, user_icq, user_website, user_occ, user_from, user_interests, user_sig, user_sig_bbcode_uid, user_avatar, user_avatar_type, user_viewemail, user_aim, user_yim, user_msnm, user_attachsig, user_allowsmile, user_allowhtml, user_allowbbcode, user_allow_viewonline, user_notify, user_notify_pm, user_popup_pm, user_timezone, user_dateformat, user_lang, user_style, user_gender, user_level, user_allow_pm, user_birthday, user_next_birthday_greeting, user_active, user_actkey)
				VALUES ('" . str_replace("\'", "''", $user_reg_id) . "', '" . str_replace("\'", "''", $user_reg_host) . "', $user_id, '" . str_replace("\'", "''", $username) . "', " . time() . ", '" . str_replace("\'", "''", $new_password) . "', '" . str_replace("\'", "''", $email) . "', '" . str_replace("\'", "''", $icq) . "', '" . str_replace("\'", "''", $website) . "', '" . str_replace("\'", "''", $occupation) . "', '" . str_replace("\'", "''", $location) . "', '" . str_replace("\'", "''", $interests) . "', '" . str_replace("\'", "''", $signature) . "', '$signature_bbcode_uid', $avatar_sql, $viewemail, '" . str_replace("\'", "''", str_replace(' ', '+', $aim)) . "', '" . str_replace("\'", "''", $yim) . "', '" . str_replace("\'", "''", $msn) . "', $attachsig, $allowsmilies, $allowhtml, $allowbbcode, $allowviewonline, $notifyreply, $notifypm, $popup_pm, $user_timezone, '" . str_replace("\'", "''", $user_dateformat) . "', '" . str_replace("\'", "''", $user_lang) . "', $user_style, '$gender', 0, 1, '$birthday', '$next_birthday_greeting', ";
			if ( $board_config['require_activation'] == USER_ACTIVATION_SELF || $board_config['require_activation'] == USER_ACTIVATION_ADMIN || $coppa )
			{
				$user_actkey = gen_rand_string(true);
				$key_len = 54 - (strlen($server_url));
				$key_len = ( $key_len > 6 ) ? $key_len : 6;
				$user_actkey = substr($user_actkey, 0, $key_len);
				$sql .= "0, '" . str_replace("\'", "''", $user_actkey) . "')";
			}
фрагмент файла page_header.php

Код: Выделить всё

// Add no-cache control for cookies if they are set
//$c_no_cache = (isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_sid']) || isset($HTTP_COOKIE_VARS[$board_config['cookie_name'] . '_data'])) ? 'no-cache="set-cookie", ' : '';

// Work around for "current" Apache 2 + PHP module which seems to not
// cope with private cache control setting
if (!empty($HTTP_SERVER_VARS['SERVER_SOFTWARE']) && strstr($HTTP_SERVER_VARS['SERVER_SOFTWARE'], 'Apache/2'))
{
	header ('Cache-Control: no-cache, pre-check=0, post-check=0');
}
else
{
строка № 594	header ('Cache-Control: private, pre-check=0, post-check=0, max-age=0');
}
строка № 596 	header ('Expires: 0');
строка № 597  	header ('Pragma: no-cache');

$template->pparse('overall_header');

?>
Код: VALUES ($user_id, у меня только 1 раз встречается в этом файле (там, где 1й раз я его нашел)
Поручик если вас не затруднит, проконсультируйте, что дальше делать
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

Сообщение Поручик »

Воспользуйтесь модом Multiple, ммм, чего-то там
А лучше дальше смотреть установку, явный косяк где-то
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
sergey13
phpBB 1.0.0
Сообщения: 5
Стаж: 18 лет 3 месяца

Сообщение sergey13 »

Люди. Поставил мод. Пишу свою дату рождения, а он мне выдает что мне 36 лет. Мне всего 22. Где косяк может быть? ))

http://www.schekino.net/forum/
user=sergey
Даже путь длиною в тысячу миль начинается с одного шага
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Странно, при любом раскладе пишет 36. Может все-таки где-то ошиблись?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
Аватара пользователя
sergey13
phpBB 1.0.0
Сообщения: 5
Стаж: 18 лет 3 месяца

Сообщение sergey13 »

Xpert писал(а):Странно, при любом раскладе пишет 36. Может все-таки где-то ошиблись?
Дело в том что внизу в скобочках верно дату расчитывает.
А вот то что добавлял в viewtopic_body.tpl неверно.
Причем 36 у всех юзеров. Откуда вообще эти 36?

Я же юзерам еще не сообщил что мод поставил.
Т.е. вероятно либо я где накосячил при апдейте либо мод такой.

Добавлено спустя 13 минут 16 секунд:

Нашел. Ошибка была в том, что при обновлении я пропустил в одном месте в vievprofile.php ", u.user_birthday, u.user_next_birthday_greeting"
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Все файлы РНР по новой отредактировал, ошибка вылетает по прежнему

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 594

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 596

Warning: Cannot modify header information - headers already sent by (output started at z:\home\saite.ru\www\forum\profile.php:2) in z:\home\saite.ru\www\forum\includes\page_header.php on line 597

еще заметил, что если у пользователя стоит галочка - скрывать свой емэйл, он тоже его не видит.

Завтра буду по новой tpl переделывать.

А ведь v2.0.17 уже снабжена русским переводом для birthday, может просто ссылку на birthday более ранней версии ?
Xpert
phpBB Guru
phpBB Guru
Сообщения: 5484
Стаж: 20 лет 1 месяц
Поблагодарили: 2 раза

Сообщение Xpert »

Ищите лишние проблеы и переводы строки до <?php в указанном файле.
Ничего она не содержит, откуда такие мысли?
Эксперт - это человек, который избегает мелких ошибок на пути к грандиозному провалу.
Любая более-менее сложная задача имеет несколько простых, изящных, лёгких для понимания неправильных решений
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Перезалил все файлы из интернета на винчестер и все заработало :D (я на локалке тестировал)
service
phpBB 1.2.1
Сообщения: 25
Стаж: 17 лет 7 месяцев
Откуда: Киев

Сообщение service »

Поставил на версию 2.19, с includes/usercp_register.php воспользовался советом Поручика. Все вроде рабоатет спасибо.
Вот и все, теперь ипебешнег! :(
Upd. 21.06.2012 вернулся в семью ;)
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Почему то имениннику не показывается всплывающее окно с поздравлением (не запускается birthday_popup.php).

В админке стоит:
Заставить пользователей вводить ДР - Нет
Включить поздрвления с ДР - Да
Максимальный возраст пользователя - 100
Минимальный возраст пользователя - 1
Количество дней, за которое будут показаны . . . - 7

О версии и модах написано чуть выше на этой странице
vlad77
phpBB 1.4.4
Сообщения: 152
Стаж: 17 лет 8 месяцев

Сообщение vlad77 »

Удалено автором
Последний раз редактировалось vlad77 21.11.2006 8:11, всего редактировалось 1 раз.

Вернуться в «Поддержка модов для phpBB 2.0.x»