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

Gender Mod by Niels

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
Аватара пользователя
Steinberg
phpBB 1.4.4
Сообщения: 147
Стаж: 19 лет
Откуда: Петербург

Gender Mod by Niels

Сообщение Steinberg »

Скачать с phpbbGuru

Drupal refresh

А я вот, хоть убейте, никогда не видел настолько кривого мода. :evil:

Может быть, конечно, ошибаюсь... но в таком случае, прошу разъяснить следующее в коде. Версия мода 1.2.6

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

 # 
#-----[ FIND ]------------------------------------------------ 
# 
$pm_img = '<a href=
    
# 
#-----[ AFTER, ADD ]------------------------------------------ 
#

// Start add - Gender MOD
switch ($postrow[$i]['user_gender']) 
{ 
	case 1 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_male'] . "\" alt=\"" . $lang['Gender'].  ":".$lang['Male']."\" title=\"" . $lang['Gender'] . ":".$lang['Male']. "\" border=\"0\" />"; break; 
	case 2 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_female'] . "\" alt=\"" . $lang['Gender']. ":".$lang['Female']. "\" title=\"" . $lang['Gender'] . ":".$lang['Female']. "\" border=\"0\" />"; break; 
	default : $gender_image=""; 
}
// End add - Gender MOD
    
# 
#-----[ FIND ]------------------------------------------------ 
# 
'POSTER_RANK' =>

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

// Start add - Gender MOD
'POSTER_GENDER' => $gender_image,
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
#
'DELETE' =>

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

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'],
// End add - Gender MOD
Я, конечно, понимаю, может быть автор мода рассчитывал на догадливость тех, кто будет устанавливать... Но тем не менее

КАК можно после

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

$pm_img = '<a href=
поставить

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

// Start add - Gender MOD
switch ($postrow[$i]['user_gender']) 
{ 
	case 1 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_male'] . "\" alt=\"" . $lang['Gender'].  ":".$lang['Male']."\" title=\"" . $lang['Gender'] . ":".$lang['Male']. "\" border=\"0\" />"; break; 
	case 2 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_female'] . "\" alt=\"" . $lang['Gender']. ":".$lang['Female']. "\" title=\"" . $lang['Gender'] . ":".$lang['Female']. "\" border=\"0\" />"; break; 
	default : $gender_image=""; 
}
// End add - Gender MOD
если в оригинале viewtopic после

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

$pm_img = '<a href=
непосредственно сразу идет

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

"' . $temp_url . '"><img src="' . $images['icon_pm'] . '" alt="' . $lang['Send_private_message'] . '" title="' . $lang['Send_private_message'] . '" border="0" /></a>';
Куда прикажете всовывать нужный фрагмент? :?:

Далее.


Это

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

# 
#-----[ FIND ]------------------------------------------------ 
#
'DELETE' =>

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

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'],
// End add - Gender MOD
похоже на абсурд.
Ведь

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

'DELETE' =>
идет в одной строке с

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

'DELETE' => $delpost,
и ежу понятно, что эту строку разбивать нельзя.
Допустим, мы до этого дошли сами, хотя я до сих пор не понимаю, что мешало автору мода добавить этот $delpost в качестве ориентира... Но в таком случае, куда добавлять нужную строку мода? Перед

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

'DELETE' => $delpost,
или после?


Это было первое.

Второе

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

# 
#-----[ OPEN ]------------------------------------------------ 
# 
admin/admin_users.php

# 
#-----[ FIND ]------------------------------------------------ 
# 
$interests = ( !empty($HTTP_POST_VARS['interests']) )

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

// Start add - Gender MOD
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0;
// End add - Gender MOD
Этот кусок мне тоже не понятен, учитывая, что

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

$interests = ( !empty($HTTP_POST_VARS['interests']) )
идет в одной строке с

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

$interests = ( !empty($HTTP_POST_VARS['interests']) ) ? trim(strip_tags( $HTTP_POST_VARS['interests'] ) ) : '';
Куда ставить строку из мода?..

3.

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$s_hidden_fields .= '<input type="hidden" name="viewemail"

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

// Start add - Gender MOD
$s_hidden_fields .= '<input type="hidden" name="gender" value="' . $gender . '" />';
// End add - Gender MOD
Напоминаю, что

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

$s_hidden_fields .= '<input type="hidden" name="viewemail"
идет в строке с

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

$s_hidden_fields .= '<input type="hidden" name="viewemail" value="' . $viewemail . '" />';
Что помешало автору мода дописать

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

value="' . $viewemail . '" />';
к строке, которую надо найти? :roll:

4. Полная аналогия с DELETE из моего первого комментария

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

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

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

// Start add - Gender MOD
'GENDER' => $gender, 
'GENDER_NO_SPECIFY_CHECKED' => $gender_no_specify_checked, 
'GENDER_MALE_CHECKED' => $gender_male_checked, 
'GENDER_FEMALE_CHECKED' => $gender_female_checked,
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

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

// Start add - Gender MOD
'L_GENDER' =>$lang['Gender'], 
'L_GENDER_MALE' =>$lang['Male'], 
'L_GENDER_FEMALE' =>$lang['Female'], 
'L_GENDER_NOT_SPECIFY' =>$lang['No_gender_specify'],
// End add - Gender MOD
5.

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

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$signature = str_replace(

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

// Start add - Gender MOD
$gender = ( isset($HTTP_POST_VARS['gender']) ) ? intval ($HTTP_POST_VARS['gender']) : 0;
// End add - Gender MOD
Строка

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

$signature = str_replace(
идет в одной строке с

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

$signature = str_replace('<br />', "\n", $signature);
Что, кусок необходимый нужно ставить, отрывая

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

$signature = str_replace(
от

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

('<br />', "\n", $signature);
?

6.

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$smilies_status = (

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

// Start add - Gender MOD
switch ($gender) 
{ 
   case 1: $gender_male_checked="checked=\"checked\"";break; 
   case 2: $gender_female_checked="checked=\"checked\"";break; 
   default:$gender_no_specify_checked="checked=\"checked\""; 
}
// End add - Gender MOD
Нет нужды говорить, что

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

$smilies_status = (
идет вместе с

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

$smilies_status = ( $userdata['user_allowsmile'] && $board_config['allow_smilies']  ) ? $lang['Smilies_are_ON'] :
Куда ставить кусок мода, относящийся к гендеру? :?

7.

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
'VIEW_EMAIL_YES' =>

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

// Start add - Gender MOD
'LOCK_GENDER' =>($mode!='register') ? 'DISABLED':'', 
'GENDER' => $gender, 
'GENDER_NO_SPECIFY_CHECKED' => $gender_no_specify_checked, 
'GENDER_MALE_CHECKED' => $gender_male_checked, 
'GENDER_FEMALE_CHECKED' => $gender_female_checked, 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

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

// Start add - Gender MOD
'L_GENDER' =>$lang['Gender'], 
'L_GENDER_MALE' =>$lang['Male'], 
'L_GENDER_FEMALE' =>$lang['Female'], 
'L_GENDER_NOT_SPECIFY' =>$lang['No_gender_specify'], 
// End add - Gender MOD
Уже писал выше

8.

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

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

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

// Start add - Gender MOD
'GENDER' => $gender, 
// End add - Gender MOD

# 
#-----[ FIND ]------------------------------------------------ 
# 
'L_INTERESTS' =>

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

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'], 
// End add - Gender MOD
Аналогично



Может быть, я отстал от жизни, но по-моему моды надо писать более конкретно, а не рассчитывать на логику юзеров, их устанавливающих...
זלמן בערג
Аватара пользователя
Coagulant
Former team member
Сообщения: 955
Стаж: 19 лет 3 месяца
Откуда: Москва

Сообщение Coagulant »

Steinberg
Мод рассчитан на EasyMod, поэтому всё написано не по человечески :wink: Если написано

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

# 
#-----[ FIND ]------------------------------------------------ 
# 
$pm_img = '<a href= 
    
# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 

// Start add - Gender MOD 
switch ($postrow[$i]['user_gender']) 
{ 
   case 1 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_male'] . "\" alt=\"" . $lang['Gender'].  ":".$lang['Male']."\" title=\"" . $lang['Gender'] . ":".$lang['Male']. "\" border=\"0\" />"; break; 
   case 2 : $gender_image = $lang['Gender'].": <img src=\"" . $images['icon_minigender_female'] . "\" alt=\"" . $lang['Gender']. ":".$lang['Female']. "\" title=\"" . $lang['Gender'] . ":".$lang['Female']. "\" border=\"0\" />"; break; 
   default : $gender_image=""; 
} 
// End add - Gender MOD
то добавлять надо сразу после строки в которую входит find а не в саму строку.
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

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

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

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
Steinberg
phpBB 1.4.4
Сообщения: 147
Стаж: 19 лет
Откуда: Петербург

Сообщение Steinberg »

Поручик
Поручик писал(а): авторы модов иногда учитывают наличие и других, установленных на форум модов
мне это известно. Но в данном случае этот аргумент неубедителен, так как едва ли найдется мод, изменяющий строки типа

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

'DELETE' => $delpost,
:roll:

Здесь скорее суть в другом. Я уже прочел дискуссию в теме про мод Birthday. Но все-таки подобный стиль написания модов мне кажется не совсем гуманным по отношению к рядовым юзерам, а не проф.программерам
זלמן בערג
Аватара пользователя
[R: R@m$e$ :U]
phpBB Maniac
Сообщения: 1464
Стаж: 19 лет 3 месяца
Откуда: Novosibirsk,RU

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

Steinberg
для интереса... phpBB Group требует, чтобы подобные длинные строки, а также sql запросы были вставлены не полностью, а частично, тк возможно был установлен мод изменивший эту строку... так что мод вполне нормальный.. а руководство по установке модов вам в помощь.. =)
Руководство пользователя | FAQ | Правила | Как устанавливать MOD'ы
ВОСПОЛЬЗУЙСЯ ПОИСКОМ, ТАМ ЕСТЬ БОЛЬШИНСТВО ОТВЕТОВ
ЕСЛИ НЕ ПОМОГЛО, ИСПОЛЬЗУЙ ШАБЛОН ЗАПРОСА, ПОМОГИ В РЕШЕНИИ ЗАДАЧИ
БЕСПЛАТНО ПОМОГУ ТОЛЬКО НА ФОРУМЕ!!! (ЛС НЕ В СЧЕТ)

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

ВСЕ ПРАВА НА МОДЫ ОТДАНЫ m157y
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 18 лет 11 месяцев
Благодарил (а): 20 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

Подскажите, как поменять картинки во viewtopic на простой текст, как в viewprofile? Я немного посмотрел, но сам так сделать не смогу.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

MAzZY
Смотрите как сделано в профиле и точно так же делайте во viewtopic'е.
я люблю daft punk | новый sugoi.ru
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 18 лет 11 месяцев
Благодарил (а): 20 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

VVVas, я смотрел. Там большие различия, поэтому я не могу сделать.
Аватара пользователя
VVVas
Former team member
Сообщения: 4463
Стаж: 19 лет 5 месяцев
Поблагодарили: 1 раз

Сообщение VVVas »

MAzZY
Вам нужен только вывод - вот переменные отвечающие за вывод и правьте.
я люблю daft punk | новый sugoi.ru
Аватара пользователя
AlexWB
phpBB 1.4.4
Сообщения: 199
Стаж: 19 лет 3 месяца
Откуда: Kiev.UA

Сообщение AlexWB »

Steinberg
если вы полезли править код, можете забыть о том, что являетесь "рядовым юзером"
в противном случае, откажитесь от этой затеи совсем или пользуйтесь услугами профи
MAzZY
Бывший член :)
Сообщения: 2925
Стаж: 18 лет 11 месяцев
Благодарил (а): 20 раз
Поблагодарили: 30 раз
Забанен: Бессрочно

Сообщение MAzZY »

MAzZY писал(а):Подскажите, как поменять картинки во viewtopic на простой текст, как в viewprofile? Я немного посмотрел, но сам так сделать не смогу.
Все же сделал.
Вот инструкции для таких же страдальцев, как и я. Применять вместо первоначальной инструкциидля данного файла

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

# 
#-----[ OPEN ]------------------------------------------------ 
# 
viewtopic.php 

# 
#-----[ FIND ]------------------------------------------------ 
# 
$sql = "SELECT u.username

# 
#-----[ IN-LINE FIND ]---------------------------------------- 
# 
, p.*

# 
#-----[ IN-LINE BEFORE, ADD ]--------------------------------- 
# 
, u.user_gender

# 
#-----[ FIND ]------------------------------------------------ 
# 
$pm_img = '<a href= 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
// Start add - Gender MOD 
      if ( !empty($postrow[$i]['user_gender'])) 
      { 
         switch ($postrow[$i]['user_gender']) 
         { 
         case 1: $gender=$lang['Male'];break; 
         case 2: $gender=$lang['Female'];break; 
         default:$gender=$lang['No_gender_specify']; 
         } 
      } 
      else $gender=$lang['No_gender_specify']; 
      // End add - Gender MOD 

# 
#-----[ FIND ]------------------------------------------------ 
# 
'POSTER_RANK' => 

# 
#-----[ AFTER, ADD ]------------------------------------------ 
# 
'POSTER_GENDER' => $gender,

# 
#-----[ FIND ]------------------------------------------------ 
#
'DELETE' =>

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

// Start add - Gender MOD
'L_GENDER' => $lang['Gender'],
// End add - Gender MOD
Вроде так. Если не нравится то, каким образом теперь пишется пол - можно поправить viewtopic_body.tpl по своему усмотрению
Аватара пользователя
ПочемучМэн
phpBB 1.2.0
Сообщения: 15
Стаж: 18 лет 2 месяца
Откуда: Одесса

Сообщение ПочемучМэн »

Товарищи... я не умелец и вообще плохо знаюсь на PHP... а поскольку тема подходящая - спрошу 2 вопроса... по поводу Gendera

1) Очень бы хотелось переместить строку "Пол: картинка" ниже Никнэйма... хоть куда-либо ниже... но не поверх...

2) Хотелось бы также уменьшить размер шрифта, которым написано "Пол:"...

Все это относится к вопросу о виде минипрофиля в самом топике...

Для наглядности проблемы: http://www.enigmatic.com.ua/viewtopic.php?t=52

Заранее огромнейшее спасибо вам... часто читал ваш форум, теперь решил присоедится...
Аватара пользователя
LD.
phpBB 1.4.4
Сообщения: 100
Стаж: 18 лет 3 месяца
Откуда: BEERюлево-ZAPADное

Сообщение LD. »

Это ты не туда вставил в ТПЛ-ке "пол". Если хоть немного шаришь в ХТМЛ, должен сам разобраться
Аватара пользователя
Поручик
Former team member
Сообщения: 3942
Стаж: 18 лет 11 месяцев
Откуда: Оренбург (Южный Урал)
Благодарил (а): 3 раза

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

ПочемучМэн писал(а):вообще плохо знаюсь на PHP
Это даже не php а просто html

1. открываем viewtopic_body.tpl
ищем {postrow.POSTER_GENDER}
и куда нибудь перемещаем


2. например так
<span class=gensmall>{postrow.POSTER_GENDER}</span>
Профессионал - тот же дилетант, только знающий, где ошибётся.
Генератор db_update.php для phpBB2 с некоторыми удобствами. Многие моды я беру или ищу здесь, здесь, тут
Все консультации только на форуме, приваты и стук в аську по таким вопросам игнорируются!
FAQ-phpBB3 | Ошибки новичков, или как не поссориться с модератором | Правила конференции

наш форум http://forum.aeroion.ru/cat1.html
Аватара пользователя
ПочемучМэн
phpBB 1.2.0
Сообщения: 15
Стаж: 18 лет 2 месяца
Откуда: Одесса

Сообщение ПочемучМэн »

Ясно... спасибо... я просто не знал :oops:
Попробую...

Добавлено спустя 1 час 54 минуты 49 секунд:

Вот... все сделал, все ОК... но не так, как в руководстве МОДа...
я добавил сторку, подобную нижним...
<tr>
<td align="left" valign="top"><table border="0" cellspacing="0" cellpadding="0">
<tr><td nowrap="nowrap"><span class="name"><b>{postrow.POSTER_NAME}</b></span></td></tr>
<tr><td nowrap="nowrap"><span class="postdetails">{postrow.POSTER_RANK}</span></td></tr>
<tr><td nowrap="nowrap"><span class="postdetails">{postrow.RANK_IMAGE}{postrow.POSTER_AVATAR}</span></tr>
<tr><td><img src="{T_TEMPLATE_PATH}/images/spacer.gif" width="110" height="5" border="0" alt="" /></td></tr>
<tr><td><span class="postdetails">{postrow.POSTER_GENDER}<br />
<tr><td><span class="postdetails">{postrow.POSTER_POSTS}</span></td></tr>
<tr><td><span class="postdetails">{postrow.POSTER_FROM}<br/>{postrow.L_USER_GROUP}{postrow.L_NO_USER_GROUP}:&nbsp;{postrow.SHOW_USERGROUPS}{postrow.L_NO_USERGROUPS}</span></td></tr>
</table></td>
</tr>
Еще по своей глупости и наивности, видимо, пытался добавить строки типа
<tr><td><span class="postdetails">{postrow.OCCUPATION}<br />
или
<tr><td><span class="postdetails">{postrow.INTERESTS}<br />
, но, увы, ничего не выходило :(

Вобщем, простите за жуткий и наглый оффтопик... очень сильно и честно простите, но - вопрос... как вывести поля "Занятие" и "Интересы" (они у меня переименованы, но по умолчанию кажись так называются)... вывести их в профиль в топиках... по аналогу "Зарегестрирован", "Откуда" и т.д.
Очень прошу помочь в ответе или ссылке на какие-либо источники...

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