From 2332585d8aca51255911a513d6bf22379ad33439 Mon Sep 17 00:00:00 2001
From: pherum83
Date: Sun, 14 Aug 2011 10:19:04 +0000
Subject: [PATCH] r209
git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@209 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
---
upload/config.php | 4 +-
upload/groupcp.php | 239 ++++++++----------
upload/language/lang_english/lang_main.php | 4 +-
upload/language/lang_russian/lang_main.php | 4 +-
upload/language/lang_russian/lang_xs.php | 2 +-
upload/templates/default/groupcp.tpl | 147 ++++++-----
.../templates/default/usercp_viewprofile.tpl | 2 +-
7 files changed, 205 insertions(+), 197 deletions(-)
diff --git a/upload/config.php b/upload/config.php
index 183efd3c8..a67b57699 100644
--- a/upload/config.php
+++ b/upload/config.php
@@ -57,8 +57,8 @@ $bb_cfg['css_ver'] = 1;
// Increase number of revision after update
$bb_cfg['tp_version'] = '2.1 Beta';
-$bb_cfg['tp_release_state'] = 'R208';
-$bb_cfg['tp_release_date'] = '12-08-2011';
+$bb_cfg['tp_release_state'] = 'R209';
+$bb_cfg['tp_release_date'] = '14-08-2011';
$bb_cfg['board_disabled_msg'] = 'форум временно отключен'; // 'forums temporarily disabled'; // show this msg if board has been disabled via ON/OFF trigger
$bb_cfg['srv_overloaded_msg'] = "Извините, в данный момент сервер перегружен\nПопробуйте повторить запрос через несколько минут";
diff --git a/upload/groupcp.php b/upload/groupcp.php
index 922b285d2..9a9bcba13 100644
--- a/upload/groupcp.php
+++ b/upload/groupcp.php
@@ -6,66 +6,41 @@ define('BB_ROOT', './');
require(BB_ROOT ."common.php");
require(INC_DIR .'functions_group.php');
+$page_cfg['use_tablesorter'] = true;
+
$s_member_groups = $s_pending_groups = $s_member_groups_opt = $s_pending_groups_opt = '';
$select_sort_mode = $select_sort_order = '';
-// -------------------------
-//
-function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$poster_avatar, &$profile_img, &$profile, &$search_img, &$search, &$pm_img, &$pm, &$email_img, &$email, &$www_img, &$www, &$icq_status_img, &$icq_img, &$icq)
+function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$joined, &$pm, &$email, &$www)
{
global $lang, $images, $bb_cfg;
- $from = ( !empty($row['user_from']) ) ? $row['user_from'] : ' ';
- $joined = bb_date($row['user_regdate'], $date_format);
- $posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
+ $from = ( !empty($row['user_from']) ) ? $row['user_from'] : '';
+ $joined = bb_date($row['user_regdate'], $lang['DATE_FORMAT']);
+ $posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
+ $pm = ($bb_cfg['text_buttons']) ? ''. $lang['SEND_PM_TXTB'] .'' : '
';
+
+ if (bf($row['user_opt'], 'user_opt', 'viewemail') || $group_mod)
+ {
+ $email_uri = ($bb_cfg['board_email_form']) ? append_sid("profile.php?mode=email&". POST_USERS_URL ."=".$row['user_id']) : 'mailto:'. $row['user_email'];
+ $email = ''. $row['user_email'] .'';
+ }
+ else
+ {
+ $email = '';
+ }
- //$poster_avatar = get_avatar($row['user_avatar'], $row['user_avatar_type'], !bf($row['user_opt'], 'user_opt', 'allow_avatar'));
-
- if ( bf($row['user_opt'], 'user_opt', 'viewemail') || $group_mod )
- {
- $email_uri = ( $bb_cfg['board_email_form'] ) ? "profile.php?mode=email&u={$row['user_id']}" : 'mailto:' . $row['user_email'];
-
- $email_img = '
';
- $email = '' . $lang['SEND_EMAIL'] . '';
- }
- else
- {
- $email_img = ' ';
- $email = ' ';
- }
-
- $temp_url = "profile.php?mode=viewprofile&" . POST_USERS_URL . "=" . $row['user_id'];
- $profile_img = '
';
- $profile = '' . $lang['READ_PROFILE'] . '';
-
- $temp_url = "privmsg.php?mode=post&" . POST_USERS_URL . "=" . $row['user_id'];
- $pm_img = '
';
- $pm = '' . $lang['SEND_PRIVATE_MESSAGE'] . '';
-
- $www_img = ( $row['user_website'] ) ? '
' : '';
- $www = ( $row['user_website'] ) ? '' . $lang['VISIT_WEBSITE'] . '' : '';
-
- if ( !empty($row['user_icq']) )
- {
- $icq_status_img = '
';
- $icq_img = '
';
- $icq = '' . $lang['ICQ'] . '';
- }
- else
- {
- $icq_status_img = '';
- $icq_img = '';
- $icq = '';
- }
-
- $temp_url = "search.php?search_author=1&uid={$row['user_id']}";
- $search_img = '
';
- $search = '' . sprintf($lang['SEARCH_USER_POSTS'], $row['username']) . '';
+ if ($row['user_website'])
+ {
+ $www = ($bb_cfg['text_buttons']) ? ''. $lang['VISIT_WEBSITE_TXTB'] .'' : '
';
+ }
+ else
+ {
+ $www = '';
+ }
return;
}
-//
-// --------------------------
$user->session_start(array('req_login' => true));
@@ -101,17 +76,22 @@ if (!$group_id)
g.group_name, g.group_description, g.group_id, g.group_type,
IF(ug.user_id IS NOT NULL, IF(ug.user_pending = 1, $pending, $member), 0) AS membership,
g.group_moderator, u.username AS moderator_name,
- IF(g.group_moderator = ug.user_id, 1, 0) AS is_group_mod
+ IF(g.group_moderator = ug.user_id, 1, 0) AS is_group_mod,
+ COUNT(ug2.user_id) AS members, SUM(ug2.user_pending) AS candidates
FROM
". BB_GROUPS ." g
LEFT JOIN
". BB_USER_GROUP ." ug ON
ug.group_id = g.group_id
AND ug.user_id = ". $userdata['user_id'] ."
+ LEFT JOIN
+ ". BB_USER_GROUP ." ug2 ON
+ ug2.group_id = g.group_id
LEFT JOIN
". BB_USERS ." u ON g.group_moderator = u.user_id
WHERE
g.group_single_user = 0
+ GROUP BY g.group_id
ORDER BY
is_group_mod DESC,
membership DESC,
@@ -123,33 +103,60 @@ if (!$group_id)
{
if ($row['is_group_mod'])
{
- $type = 'mod';
+ $type = 'MOD';
}
else if ($row['membership'] == $member)
{
- $type = 'member';
+ $type = 'MEMBER';
}
else if ($row['membership'] == $pending)
{
- $type = 'pending';
+ $type = 'PENDING';
}
else if ($row['group_type'] == GROUP_OPEN)
{
- $type = 'open';
+ $type = 'OPEN';
}
else if ($row['group_type'] == GROUP_CLOSED)
{
- $type = 'closed';
+ $type = 'CLOSED';
}
else if ($row['group_type'] == GROUP_HIDDEN && IS_ADMIN)
{
- $type = 'hidden';
+ $type = 'HIDDEN';
}
else
{
continue;
}
- $groups[$type][$row['group_name']] = $row['group_id'];
+
+ $data = array('id' => $row['group_id'], 'm' => ($row['members'] - $row['candidates']), 'c' => $row['candidates']);
+
+ $groups[$type][$row['group_name']] = $data;
+ }
+
+ function build_group($params)
+ {
+ global $lang;
+
+ $options = '';
+ foreach ($params as $name => $data)
+ {
+ $text = htmlCHR(str_short(rtrim($name), HTML_SELECT_MAX_LENGTH));
+
+ $members = ($data['m']) ? $lang['MEMBERS_IN_GROUP'] .': '. $data['m'] : $lang['NO_GROUP_MEMBERS'];
+ $candidates = ($data['c']) ? $lang['PENDING_MEMBERS'] .': '. $data['c'] : $lang['NO_PENDING_GROUP_MEMBERS'];
+
+ $options .= ''. $text .'';
+ $options .= '- '. $members .'
';
+ if(IS_AM)
+ {
+ $options .= '- '. $candidates .'
';
+ }
+ $options .= '
';
+
+ }
+ return $options;
}
if ($groups)
@@ -159,8 +166,8 @@ if (!$group_id)
foreach ($groups as $type => $grp)
{
$template->assign_block_vars('groups', array(
- 'MEMBERSHIP' => $lang['GROUP_MEMBER_' . strtoupper($type)],
- 'GROUP_SELECT' => build_select(POST_GROUPS_URL, $grp),
+ 'MEMBERSHIP' => $lang["GROUP_MEMBER_{$type}"],
+ 'GROUP_SELECT' => build_group($grp),
));
}
@@ -235,7 +242,7 @@ else if (@$_POST['joingroup'])
if ($bb_cfg['groupcp_send_email'])
{
- include(BB_ROOT .'includes/emailer.class.php');
+ include(INC_DIR .'emailer.class.php');
$emailer = new emailer($bb_cfg['smtp_delivery']);
$emailer->from($bb_cfg['board_email']);
@@ -295,7 +302,7 @@ else
if ($bb_cfg['groupcp_send_email'])
{
- require(BB_ROOT .'includes/emailer.class.php');
+ require(INC_DIR .'emailer.class.php');
$emailer = new emailer($bb_cfg['smtp_delivery']);
$emailer->from($bb_cfg['board_email']);
@@ -410,45 +417,41 @@ else
WHERE user_id = ". $group_info['group_moderator'] ."
");
- // Get user information for this group
- $members_count = $modgroup_pending_count = 0;
-
- // Members
- $group_members = DB()->fetch_rowset("
- SELECT u.username, u.user_id, u.user_opt, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq, ug.user_pending
+ // Members
+ $count_members = DB()->fetch_rowset("
+ SELECT u.username, u.user_id, u.user_opt, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, ug.user_pending
FROM ". BB_USER_GROUP ." ug, ". BB_USERS ." u
WHERE ug.group_id = $group_id
AND ug.user_pending = 0
AND ug.user_id <> ". $group_moderator['user_id'] ."
AND u.user_id = ug.user_id
ORDER BY u.username
- LIMIT $start, ". ($per_page + 1) ."
+ ");
+ $count_members = count($count_members);
+
+ // Get user information for this group
+ $modgroup_pending_count = 0;
+
+ // Members
+ $group_members = DB()->fetch_rowset("
+ SELECT u.username, u.user_id, u.user_opt, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, ug.user_pending
+ FROM ". BB_USER_GROUP ." ug, ". BB_USERS ." u
+ WHERE ug.group_id = $group_id
+ AND ug.user_pending = 0
+ AND ug.user_id <> ". $group_moderator['user_id'] ."
+ AND u.user_id = ug.user_id
+ ORDER BY u.username
+ LIMIT $start, $per_page
");
$members_count = count($group_members);
- if ($members_count == $per_page + 1)
- {
- array_pop($group_members);
- }
-
- if ($members_count > $per_page)
- {
- $items_count = $start + ($per_page * 2);
- $pages = '?';
- }
- else
- {
- $items_count = $start + $members_count;
- $pages = (!$members_count) ? 1 : ceil($items_count / $per_page);
- }
-
- generate_pagination(GROUP_URL . $group_id, $items_count, $per_page, $start);
+ generate_pagination(GROUP_URL . $group_id, $count_members, $per_page, $start);
// Pending
if ($is_moderator)
{
$modgroup_pending_list = DB()->fetch_rowset("
- SELECT u.username, u.user_id, u.user_opt, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email, u.user_icq
+ SELECT u.username, u.user_id, u.user_opt, u.user_posts, u.user_regdate, u.user_from, u.user_website, u.user_email
FROM ". BB_USER_GROUP ." ug, ". BB_USERS ." u
WHERE ug.group_id = $group_id
AND ug.user_pending = 1
@@ -524,9 +527,25 @@ else
$username = $group_moderator['username'];
$user_id = $group_moderator['user_id'];
- generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $poster_avatar, $profile_img, $profile, $search_img, $search, $pm_img, $pm, $email_img, $email, $www_img, $www, $icq_status_img, $icq_img, $icq);
+ generate_user_info($group_moderator, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www);
+ $group_type = '';
+ if($group_info['group_type'] == GROUP_OPEN)
+ {
+ $group_type = $lang['GROUP_OPEN'];
+ }
+ elseif($group_info['group_type'] == GROUP_CLOSED)
+ {
+ $group_type = $lang['GROUP_CLOSED'];
+ }
+ elseif($group_info['group_type'] == GROUP_HIDDEN)
+ {
+ $group_type = $lang['GROUP_HIDDEN'];
+ }
+
+ $i = 0;
$template->assign_vars(array(
+ 'ROW_NUMBER' => $i + ( $start + 1 ),
'GROUP_INFO' => true,
'PAGE_TITLE' => $lang['GROUP_CONTROL_PANEL'],
@@ -537,24 +556,12 @@ else
'MOD_FROM' => $from,
'MOD_JOINED' => $joined,
'MOD_POSTS' => $posts,
- 'MOD_AVATAR_IMG' => $poster_avatar,
- 'MOD_PROFILE_IMG' => $profile_img,
- 'MOD_PROFILE' => $profile,
- 'MOD_SEARCH_IMG' => $search_img,
- 'MOD_SEARCH' => $search,
- 'MOD_PM_IMG' => $pm_img,
'MOD_PM' => $pm,
- 'MOD_EMAIL_IMG' => $email_img,
'MOD_EMAIL' => $email,
- 'MOD_WWW_IMG' => $www_img,
'MOD_WWW' => $www,
- 'MOD_ICQ_STATUS_IMG' => $icq_status_img,
- 'MOD_ICQ_IMG' => $icq_img,
- 'MOD_ICQ' => $icq,
-
'U_MOD_VIEWPROFILE' => "profile.php?mode=viewprofile&" . POST_USERS_URL . "=$user_id",
'U_SEARCH_USER' => "search.php?mode=searchuser",
-
+ 'GROUP_TYPE' => $group_type,
'S_GROUP_OPEN_TYPE' => GROUP_OPEN,
'S_GROUP_CLOSED_TYPE' => GROUP_CLOSED,
'S_GROUP_HIDDEN_TYPE' => GROUP_HIDDEN,
@@ -573,34 +580,23 @@ else
$username = $member['username'];
$user_id = $member['user_id'];
- generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $poster_avatar, $profile_img, $profile, $search_img, $search, $pm_img, $pm, $email_img, $email, $www_img, $www, $icq_status_img, $icq_img, $icq);
+ generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www);
if ($group_info['group_type'] != GROUP_HIDDEN || $is_group_member || $is_moderator)
{
$row_class = !($i % 2) ? 'row1' : 'row2';
$template->assign_block_vars('member', array(
+ 'ROW_NUMBER' => $i + ( $start + 1 ),
'ROW_CLASS' => $row_class,
'USERNAME' => $username,
'FROM' => $from,
'JOINED' => $joined,
'POSTS' => $posts,
'USER_ID' => $user_id,
- 'AVATAR_IMG' => $poster_avatar,
- 'PROFILE_IMG' => $profile_img,
- 'PROFILE' => $profile,
- 'SEARCH_IMG' => $search_img,
- 'SEARCH' => $search,
- 'PM_IMG' => $pm_img,
'PM' => $pm,
- 'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
- 'WWW_IMG' => $www_img,
'WWW' => $www,
- 'ICQ_STATUS_IMG' => $icq_status_img,
- 'ICQ_IMG' => $icq_img,
- 'ICQ' => $icq,
-
'U_VIEWPROFILE' => "profile.php?mode=viewprofile&" . POST_USERS_URL . "=$user_id",
));
@@ -634,7 +630,7 @@ else
$username = $member['username'];
$user_id = $member['user_id'];
- generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $poster_avatar, $profile_img, $profile, $search_img, $search, $pm_img, $pm, $email_img, $email, $www_img, $www, $icq_status_img, $icq_img, $icq);
+ generate_user_info($member, $bb_cfg['default_dateformat'], $is_moderator, $from, $posts, $joined, $pm, $email, $www);
$row_class = !($i % 2) ? 'row1' : 'row2';
@@ -647,21 +643,8 @@ else
'JOINED' => $joined,
'POSTS' => $posts,
'USER_ID' => $user_id,
- 'AVATAR_IMG' => $poster_avatar,
- 'PROFILE_IMG' => $profile_img,
- 'PROFILE' => $profile,
- 'SEARCH_IMG' => $search_img,
- 'SEARCH' => $search,
- 'PM_IMG' => $pm_img,
'PM' => $pm,
- 'EMAIL_IMG' => $email_img,
'EMAIL' => $email,
- 'WWW_IMG' => $www_img,
- 'WWW' => $www,
- 'ICQ_STATUS_IMG' => $icq_status_img,
- 'ICQ_IMG' => $icq_img,
- 'ICQ' => $icq,
-
'U_VIEWPROFILE' => "profile.php?mode=viewprofile&". POST_USERS_URL ."=$user_id",
));
}
diff --git a/upload/language/lang_english/lang_main.php b/upload/language/lang_english/lang_main.php
index 3531bbdae..f4abc2f53 100644
--- a/upload/language/lang_english/lang_main.php
+++ b/upload/language/lang_english/lang_main.php
@@ -782,7 +782,7 @@ $lang['NONE'] = 'None';
$lang['SUBSCRIBE'] = 'Subscribe';
$lang['UNSUBSCRIBE_GROUP'] = 'Unsubscribe';
$lang['VIEW_INFORMATION'] = 'View Information';
-
+$lang['MEMBERS_IN_GROUP'] = 'Members in group';
//
// Search
@@ -1538,7 +1538,7 @@ $lang['TRACKER_S'] = 'on tracker';
// copyright
$lang['NOTICE'] = '!ATTENTION!';
-$lang['POWERED'] = 'Powered by TorrentPier © Meithar';
+$lang['POWERED'] = 'Powered by TorrentPier II © Meithar';
$lang['DIVE'] = 'The forum is submitted on base phpBB © phpBB Group';
$lang['COPY'] = 'The site does not give electronic versions of products, and is engaged only in a collecting and cataloguing of the references sent and published at a forum by our readers. If you are the legal owner of any submitted material and do not wish that the reference to him{it} was in our catalogue, contact us and we shall immediately remove her. Files for an exchange on tracker are given by users of a site, and the administration does not bear the responsibility for their maintenance. The request to not fill in the files protected by copyrights, and also files of the illegal maintenance!';
diff --git a/upload/language/lang_russian/lang_main.php b/upload/language/lang_russian/lang_main.php
index d070ba6d5..17d58f6f5 100644
--- a/upload/language/lang_russian/lang_main.php
+++ b/upload/language/lang_russian/lang_main.php
@@ -786,7 +786,7 @@ $lang['NONE'] = 'Нет';
$lang['SUBSCRIBE'] = 'Записаться в группу';
$lang['UNSUBSCRIBE_GROUP'] = 'Выйти из группы';
$lang['VIEW_INFORMATION'] = 'Просмотреть информацию';
-
+$lang['MEMBERS_IN_GROUP'] = 'Кол-во участников';
//
// Search
@@ -1543,7 +1543,7 @@ $lang['TRACKER_S'] = 'по трекеру';
// copyright
$lang['NOTICE'] = '!ВНИМАНИЕ!';
-$lang['POWERED'] = 'Powered by TorrentPier © Meithar';
+$lang['POWERED'] = 'Powered by TorrentPier II © Meithar';
$lang['DIVE'] = 'Форум представлен на базе phpBB © phpBB Group';
$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!';
diff --git a/upload/language/lang_russian/lang_xs.php b/upload/language/lang_russian/lang_xs.php
index a68fe634e..d120d13bc 100644
--- a/upload/language/lang_russian/lang_xs.php
+++ b/upload/language/lang_russian/lang_xs.php
@@ -43,7 +43,7 @@ $lang['XS_MENU'] = 'Меню «eXtreme Styles»';
$lang['XS_CONFIGURATION'] = 'Конфигурация';
$lang['XS_CONFIGURATION_EXPLAIN'] = 'Эта функция позволяет вам управлять стилями.';
$lang['XS_MANAGE_CACHE'] = 'Управление кешем';
-$lang['XS_MANAGE_CACHE_EXPLAIN'] = 'This feature allows you to manage cached files.';
+$lang['XS_MANAGE_CACHE_EXPLAIN'] = 'Эта функция позволяет вам управлять кэшированными файлами.';
$lang['XS_SET_CONFIGURATION_LC'] = 'Выбрать конфигурацию';
$lang['XS_SET_DEFAULT_STYLE_LC'] = 'Выбрать стандартный стиль';
$lang['XS_MANAGE_CACHE_LC'] = 'Управление кешем';
diff --git a/upload/templates/default/groupcp.tpl b/upload/templates/default/groupcp.tpl
index 13abb6f01..3fc8f0da4 100644
--- a/upload/templates/default/groupcp.tpl
+++ b/upload/templates/default/groupcp.tpl
@@ -1,4 +1,7 @@
{PAGE_TITLE} :: {GROUP_NAME}
+{L_GROUP_TYPE}: {GROUP_TYPE}
+{PAGE_NUMBER}
+
{T_INDEX}
@@ -6,32 +9,40 @@
-
-
- {L_MEMBERSHIP_DETAILS} |
+ {L_MEMBERSHIP_DETAILS} |
-
+
- {groups.MEMBERSHIP} |
-
-
+ |
+
+
+
+ {groups.MEMBERSHIP} |
+
+
+
+
+
+
+ {groups.GROUP_SELECT}
+
+ |
+
+
+
|
-
+
+
+ |
+
+
@@ -56,17 +67,14 @@
{L_GROUP_MEMBERSHIP}: |
- {GROUP_DETAILS}
+ | {GROUP_DETAILS}
-
-
-
+
-
-
-
+
+
|
@@ -77,7 +85,6 @@
-
@@ -92,40 +99,49 @@