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

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Splurov
phpBB 1.4.4
Сообщения: 138
Зарегистрирован: 28.11.2004 10:12
Откуда: Россия, Москва
Контактная информация:

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

Сообщение Splurov » 17.01.2005 1:55

У себя использую нижеприведённую оптимизацию Birthday Mod.
Принцип и суть ясна из кода.
Буду рад любым предложениям/исправлениям.

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

// Актуально только для тех, у кого установлен Birthday Mod!
OPEN index.php
FIND
$sql = ($board_config['birthday_check_day'])
BEFORE, ADD
$fname= date('d-m-y').'.dat';
if (!file_exists($fname)) {
FIND
		if ($birthday_today_list) $birthday_today_list[ strlen( $birthday_today_list)-1] = ' ';
		if ($birthday_week_list) $birthday_week_list[ strlen( $birthday_week_list)-1] = ' ';
	}
AFTER, ADD
	$oldfname= date('d-m-y', mktime(0, 0, 0, date("m"), date("d")-1, date("Y"))).'.dat';
	if (file_exists($oldfname)) unlink($oldfname);
	$fp= @fopen($fname,'w');
	$data= serialize(array($birthday_today_list,$birthday_week_list));
	fwrite ($fp, $data);
	fclose ($fp);
FIND
	$db->sql_freeresult($result);
}
AFTER, ADD
}
else {
	$data= unserialize(file_get_contents($fname));
	$birthday_today_list=$data[0];
	$birthday_week_list=$data[1];
}

OPEN profile.php
FIND
	else if ( $mode == 'editprofile' || $mode == 'register' )
	{
AFTER, ADD
		unlink(date('d-m-y').'.dat');

OPEN admin/admin_users.php
FIND
	//
	// Ok, the profile has been modified and submitted, let's update
	//
	if ( ( $mode == 'save' && isset( $HTTP_POST_VARS['submit'] ) ) || isset( $HTTP_POST_VARS['avatargallery'] ) || isset( $HTTP_POST_VARS['submitavatar'] ) || isset( $HTTP_POST_VARS['cancelavatar'] ) )
	{
AFTER, ADD
		unlink('../'.date('d-m-y').'.dat');
Мог, ессно, где-то описаться, или что-то не учесть - поправляйте ;-)

Скачать с phpbbGuru

Drupal refresh

Аватара пользователя
macar
phpBB 1.2.1
Сообщения: 22
Зарегистрирован: 02.03.2005 22:48
Откуда: Красногорск М.О
Контактная информация:

Сообщение macar » 15.04.2005 1:27

Поставил мод дней рождения, работает, но почему то в профиле и при регистрации выводит два блока подряд, как это поправить?
Хочу на пенсию :)
http://mondeoclub.ru

Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Зарегистрирован: 16.12.2004 10:36
Откуда: tln.ee
Контактная информация:

Сообщение Romiyo » 15.04.2005 1:50

Вы продублировали этот кусок. Уберите

<td class="row2"><span class="gen">{S_BIRTHDAY}</span></td>

из
templates/subSilver/profile_add_body.tpl
templates/subSilver/profile_view_body.tpl
Неадекватен

Аватара пользователя
macar
phpBB 1.2.1
Сообщения: 22
Зарегистрирован: 02.03.2005 22:48
Откуда: Красногорск М.О
Контактная информация:

Сообщение macar » 15.04.2005 2:14

Нет, если я убираю то пустая ячейка. :(
Хочу на пенсию :)
http://mondeoclub.ru

Аватара пользователя
Romiyo
Неадекватен
Сообщения: 603
Зарегистрирован: 16.12.2004 10:36
Откуда: tln.ee
Контактная информация:

Сообщение Romiyo » 15.04.2005 2:28

в вышеуказанной строке у вас сколько вот таких вот {S_BIRTHDAY}? Думаю, две. ... Одну убираем.
Неадекватен

Аватара пользователя
macar
phpBB 1.2.1
Сообщения: 22
Зарегистрирован: 02.03.2005 22:48
Откуда: Красногорск М.О
Контактная информация:

Сообщение macar » 15.04.2005 2:30

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

<tr>
<td class="row1"><span class="gen">{L_BIRTHDAY}:{BIRTHDAY_REQUIRED}</span></td>
<td class="row2"><span class="gen">{S_BIRTHDAY}</span></td>
</tr>
Хочу на пенсию :)
http://mondeoclub.ru

Аватара пользователя
macar
phpBB 1.2.1
Сообщения: 22
Зарегистрирован: 02.03.2005 22:48
Откуда: Красногорск М.О
Контактная информация:

Сообщение macar » 15.04.2005 13:42

BorMan
Я привел код из шаблонов, он только выводит тот что ему сказано остального кода много, там редактируется с десяток файлов,
по конкретней можно какой, я тоже предполагаю что генерится дважды, где это происходит? я пробовал вчера искать, но то ли уже сил не было, то ли с головой был не порядок, не нашел.
Хочу на пенсию :)
http://mondeoclub.ru

Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Зарегистрирован: 12.05.2005 17:25
Откуда: Оренбург (Южный Урал)
Благодарил (а): 24 раза
Поблагодарили: 54 раза
Контактная информация:

Сообщение Поручик » 17.05.2005 19:45

вот этот кусок все портит (выдрал из мода)

$s_birthday = '';
for ($i=0; $i<=strlen($lang['Submit_date_format']); $i++)
{
switch ($lang['Submit_date_format'][$i])
{
case d: $s_birthday .= $s_b_day;break;
case m: $s_birthday .= $s_b_md;break;
case Y: $s_birthday .= $s_b_year;break;
}
}

заменить его, если по тупому, этим
$s_birthday =$s_b_day.$s_b_md.$s_b_year;

и все будет хоккей
так и у себя сделал

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

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

наш форум http://forum.aeroion.ru/cat1.html

Аватара пользователя
Гога
phpBB 2.0.0
Сообщения: 220
Зарегистрирован: 09.05.2005 16:06
Откуда: Архангельск
Контактная информация:

Сообщение Гога » 02.06.2005 0:51

Правда, что
} //Sorry user shall not have a greeting this year
Т. е. в год установки мода фиг, а не поздравления? :roll: Как исправить?
Или я чего не понял?
Гугл рулит. Я люблю ЛОР.
Интересно, они пришли с миром или им таки нужен наш моск?
Знания принадлежат всему человечеству.

Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Зарегистрирован: 12.11.2004 0:20
Поблагодарили: 13 раз
Контактная информация:

Сообщение VVVas » 02.06.2005 1:06

У меня вот всё нормально вылетело, только ругнулось
sprintf(): Too few arguments in
на 23 строку файла birthday_popup.php

Может кто подскажет где я дурак?
я люблю daft punk | новый sugoi.ru

Anonymous

Сообщение Anonymous » 20.08.2005 4:04

При регистрации на мыло высылается письмо о подтверждении регистрации, но аккаунт становится сразу активным.

Один из последних поставленных модов - Birthday. Где я мог ошибиться?

Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Зарегистрирован: 16.01.2005 13:04
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] » 22.08.2005 9:11

trace
позволь угадать?
есть две строки в includes/usercp_register.php начинающиеся так...

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

			$sql = "INSERT INTO " . USERS_TABLE . "	(user_id, username
				VALUES ($user_id, '" . str_replace("\'", "''", $username) . "', 
конец после установки birthday должен быть вроде такого...

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

, user_birthday, user_next_birthday_greeting, user_active, user_actkey)
, '$birthday', '$next_birthday_greeting', ";
но ни как не иначе... а ведь Niels перед установкой этого мода предупредил, что здесь чаще всего ошибки делают... ведь глядя на то, что код получается вида

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

0, 1, '$birthday', '$next_birthday_greeting', ";
вас начинает смущать... мол а где ставится user_active, user_actkey... но ведь дальше код ни кто не смотрит и не видет там установки этих двух значений... а жаль... это и дает такие глупые ошибки...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y

Anonymous

Сообщение Anonymous » 24.08.2005 16:43

Подскажите, что-же мне делать конкретно дальше?

Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Зарегистрирован: 16.01.2005 13:04
Откуда: Novosibirsk,RU
Контактная информация:

Сообщение [R: R@m$e$ :U] » 24.08.2005 19:45

trace
например....
есть две строки в includes/usercp_register.php начинающиеся так...

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

         $sql = "INSERT INTO " . USERS_TABLE . "   (user_id, username 
            VALUES ($user_id, '" . str_replace("\'", "''", $username) . "',
выложи сюда...
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

Оставь благодарность, подтверди работоспособность совета.

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y

Аватара пользователя
MiTrI
phpBB 1.4.2
Сообщения: 67
Зарегистрирован: 20.12.2004 13:20
Откуда: Spb
Контактная информация:

Сообщение MiTrI » 25.08.2005 16:29

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

#
#-----[ FIND ]------------------------------------------------
#
'OCCUPATION' =>
'INTERESTS' =>

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

// Start add - Birthday MOD
		'S_BIRTHDAY' => $s_birthday,
		'BIRTHDAY_REQUIRED' => ($board_config['birthday_required']) ? '*' : '',
// End add - Birthday MOD
Так все таки после чего ставить

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

// Start add - Birthday MOD
		'S_BIRTHDAY' => $s_birthday,
		'BIRTHDAY_REQUIRED' => ($board_config['birthday_required']) ? '*' : '',
// End add - Birthday MOD
после 'OCCUPATION' => или 'INTERESTS' =>
Или все таки нужно ставить после
'LOCATION' => $location,

я прост не пойму после => или после $location, ???

Форцм плюется ошибками =/
Cold silence has a tendency to atrophy any sense of compassion...

Закрыто

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