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

Battle Of Sexes [Add-On]

Ответы на вопросы, связанные с модами для phpBB 2.0.x, кроме относящихся к форуму Для авторов (phpBB 2.0.x).
zKiLL
phpBB 1.4.1
Сообщения: 43
Стаж: 17 лет 7 месяцев
Контактная информация:

Battle Of Sexes [Add-On]

Сообщение zKiLL »

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

Стоит мод Gender 1.2.8 by Niels.
Стоит адд-он для Gender Require (обязать пользователей выбрать пол).

Для него установлен следущий Add-On - Battle of Sexes (офиц. название), вот сам мод:

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

############################################################## 
## MOD Title: No of Female and Male Members on Index
## MOD Author: Dioxins < dioxins@yahoo.com > 
## Special thanks to dannic06 < http://www.phpbb.com/phpBB/profile.php?mode=viewprofile&u=68228 > 
##
## MOD Description: This mod will allow users to see the number of female and male registrants 
## in the index
## MOD Version: 0.0.1
## 
## Installation Level: Easy
## Installation Time: ~3 Minutes 
## Files To Edit: 4
## 		  language/lang_xxx/lang_main.php
## 		  includes/functions.php 
## 		  index.php
## 		  templates/xxx/index_body.tpl
## Files Included: none
##
############################################################## 
## For Security Purposes, Please Check: http://www.phpbb.com/mods/ for the 
## latest version of this MOD. Downloading this MOD from other sites could cause malicious code 
## to enter into your phpBB Forum. As such, phpBB will not offer support for MOD's not offered 
## in our MOD-Database, located at: http://www.phpbb.com/mods/ 
############################################################## 
## Author Notes: 
## Requires Gender Mod by Niels Chr Rшd. Denmark < ncr@db9.dk >
## Tested on 2.0.4 and without problems.
############################################################## 
## Before Adding This MOD To Your Forum, You Should Back Up All Files Related To This MOD 
############################################################## 
# 
#-----[ OPEN ]------------------------------------------ 
# 
# (make sure to edit this file for every language your board uses). 

language/lang_xxx/lang_main.php

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

$lang['Registered_user_total'] = 'We have <b>%d</b> registered user';

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

$lang['male_zero_total'] = 'We have <b>0</b> Male Member'; // # registered male users
$lang['male_total'] = 'We have <b>%d</b> Male Members'; // # registered male users
$lang['male_one_total'] = 'We have <b>%d</b> Male Member'; // # registered male users
$lang['female_zero_total'] = 'We have <b>0</b> Female Member'; // # registered female users
$lang['female_total'] = 'We have <b>%d</b> Female Members'; // # registered female users
$lang['female_one_total'] = 'We have <b>%d</b> Female Member'; // # registered female users

# 
#-----[ OPEN ]------------------------------------------ 
# 

includes/functions.php 

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

       case 'newestuser': 
            $sql = "SELECT user_id, username 
                FROM " . USERS_TABLE . " 
                WHERE user_id <> " . ANONYMOUS . " 
                ORDER BY user_id DESC 
                LIMIT 1"; 
            break; 

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

        case 'gender-male': 
            $sql = "SELECT COUNT(user_id) AS total_male 
                FROM " . USERS_TABLE . " 
                WHERE user_gender = '1'"; 
            break; 
        case 'gender-female': 
            $sql = "SELECT COUNT(user_id) AS total_female 
                FROM " . USERS_TABLE . " 
                WHERE user_gender = '2'"; 
            break; 

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

        case 'topiccount': 
            return $row['topic_total']; 
            break; 

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

        case 'gender-male': 
            return $row['total_male']; 
            break; 
        case 'gender-female': 
            return $row['total_female']; 
            break; 
            
# 
#-----[ OPEN ]------------------------------------------ 
#

index.php

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

$total_posts = get_db_stat('postcount');
$total_users = get_db_stat('usercount');

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

$total_male = get_db_stats('gender-male');
$total_female = get_db_stats('gender-female');

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

if( $total_users == 0 )
{
	$l_total_user_s = $lang['Registered_users_zero_total'];
}
else if( $total_users == 1 )
{
	$l_total_user_s = $lang['Registered_user_total'];
}
else
{
	$l_total_user_s = $lang['Registered_users_total'];
}

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

if( $total_male == 0 )
{
	$l_total_male = $lang['male_zero_total'];
}
else if( $total_male == 1 )
{
	$l_total_male = $lang['male_one_total'];
}
else
{
	$l_total_male = $lang['male_total'];
}

if( $total_female == 0 )
{
	$l_total_female = $lang['female_zero_total'];
}
else if( $total_female == 1 )
{
	$l_total_female = $lang['female_one_total'];
}
else
{
	$l_total_female = $lang['female_total'];
}

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

'TOTAL_USERS' => sprintf($l_total_user_s, $total_users),

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

'TOTAL_MALE' => sprintf($l_total_male, $total_male),
'TOTAL_FEMALE' => sprintf($l_total_female, $total_female),

# 
#-----[ OPEN ]------------------------------------------ 
# 

templates/xxx/index_body.tpl

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

{TOTAL_USERS}<br />{NEWEST_USER}

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

<br /><br /><b>Battle of the Sexes</b><br /><br />{TOTAL_FEMALE}<br />{TOTAL_MALE}

# 
#-----[ SAVE/CLOSE ALL FILES ]------------------------------------- ----- 
# 
# EoM 
В чём заключается главная проблема:

В последствии, был установлен мод - Hide Zero Posters 2.0.0. Он скрывает всех пользователей, которые не активизировали себя (не сделали ни одного сообщения).

После чего получилась такая штука. На главной странице, где отображается общее кол-во пользователей видим следущее:

(пример)
Общее кол-во пользователей 100
Женского рода 50
Мужского 120

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

Получается, что данный мод обновляет кол-во пользователей по родам только в плюсовую сторону (+)

Если можно, подскажите, как решить проблему, как сделать Resync для этого мода, и как его поженить на Hide Zero Posters 2.0.0.

Чтобы все значения были точными, и проблема была бы решена...

Добавлено спустя 33 минуты 30 секунд:

Забыл приложить мод...

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

Главная суть в том, что пользователи считаются только те, кто сделал хотя бы один пост. Батл оф сексес так не считает )
Вложения
Hide Zero Posters 2.0.0.zip
(5.89 КБ) 289 скачиваний
Newbie ) Не обижать )
Закрыто

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