mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-20 05:13:54 -07:00
r589
ALTER TABLE `bb_users` DROP `user_next_birthday_greeting`; Начиная с этой версии запустить TorrentPier II можно с PHP не ниже версии 5.3 !!! Исправлена ошибка, при которой можно было получить доступ к файлам в обход трекера Исправлена ошибка, при которой можно было запустить html код на некоторых страницах трекера Исправлена ошибка, при которой мог удалиться DL лист пользователей на сайте Исправлена ошибка, приводящая к падению сайта при генерировании кеша Исправлена чистка кеша, когда скрипт очищал не все объекты кеша Исправлена ошибка работы с фреймами в администраторском разделе Исправлено отображение списка форумов при скрытии категорий на главной странице Полностью переписана работа модуля "Позвать скачавших", а также добавлена опция отключения приема писем от нее Обновлена страница настроек Добавлен обновленный список текущих закачек в профиле Добавлено уведомление для пользователей используещих старые браузеры Добавлена заглушка, чтобы сторонние пользователя не могли получить доступ к списку картинок на фтп Добавлена опция позволяющая отключить компиляцию кеша шаблонов страниц Изменены имена администраторских и пользовательских настроек. Теперь это выглядит так: 'dis_*' => ЗАПРЕТЫ 'user_*' => НАСТРОЙКИ Также испралена куча незначительных ошибок и багов из списка присылаемых пользователями git-svn-id: https://torrentpier2.googlecode.com/svn/trunk@589 a8ac35ab-4ca4-ca47-4c2d-a49a94f06293
This commit is contained in:
parent
ab3c480fe0
commit
c37b6bca24
45 changed files with 1139 additions and 1324 deletions
|
@ -1339,7 +1339,6 @@ CREATE TABLE IF NOT EXISTS `bb_users` (
|
|||
`avatar_ext_id` tinyint(4) NOT NULL,
|
||||
`user_gender` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`user_birthday` date NOT NULL DEFAULT '0000-00-00',
|
||||
`user_next_birthday_greeting` int(11) NOT NULL DEFAULT '0',
|
||||
`user_email` varchar(255) NOT NULL DEFAULT '',
|
||||
`user_skype` varchar(32) NOT NULL DEFAULT '',
|
||||
`user_twitter` varchar(15) NOT NULL DEFAULT '',
|
||||
|
@ -1365,9 +1364,9 @@ CREATE TABLE IF NOT EXISTS `bb_users` (
|
|||
-- Дамп данных таблицы `bb_users`
|
||||
--
|
||||
|
||||
INSERT INTO `bb_users` VALUES (-1, 0, 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 0, 0, '', 0, 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
INSERT INTO `bb_users` VALUES (2, 1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', 0, 0, '0', 0, '0', 1, 1, 4.00, '', 0, 0, 0, 304, 1, '', 0, 0, 0, 'admin@admin.com', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
INSERT INTO `bb_users` VALUES (-746, 0, 'bot', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 144, 0, '', 0, 0, 0, 'bot@bot.bot', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
INSERT INTO `bb_users` VALUES (-1, 0, 'Guest', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 0, 0, '', 0, 0, '', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
INSERT INTO `bb_users` VALUES (2, 1, 'admin', 'c3284d0f94606de1fd2af172aba15bf3', 0, 0, '0', 0, '0', 1, 1, 4.00, '', 0, 0, 0, 304, 1, '', 0, 0, 'admin@admin.com', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
INSERT INTO `bb_users` VALUES (-746, 0, 'bot', 'd41d8cd98f00b204e9800998ecf8427e', 0, 0, '0', 0, '0', 0, 0, 0.00, '', 0, 0, 0, 144, 0, '', 0, 0, 'bot@bot.bot', '', '', '', '', '', '', '', '', '', '', '', 0, 0, 'default');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
|
|
10
readme.txt
10
readme.txt
|
@ -13,23 +13,14 @@
|
|||
************************************
|
||||
|
||||
Устанавливаем права доступа на данные папки 777, на файлы внутри этих папок (кроме .htaccess) 666:
|
||||
- ajax
|
||||
- ajax/html
|
||||
- cache
|
||||
- cache/filecache
|
||||
- cache/filecache/bb_cache
|
||||
- cache/filecache/bb_cap_sid
|
||||
- cache/filecache/bb_login_err
|
||||
- cache/filecache/bb_poll_data
|
||||
- cache/filecache/datastore
|
||||
- cache/filecache/session_cache
|
||||
- cache/filecache/tr_cache
|
||||
- files
|
||||
- files/thumbs
|
||||
- images
|
||||
- images/avatars
|
||||
- images/captcha
|
||||
- images/logo
|
||||
- images/ranks
|
||||
- images/smiles
|
||||
- log
|
||||
|
@ -47,7 +38,6 @@ magic_quotes_gpc = Off
|
|||
************************************
|
||||
|
||||
php5-tidy
|
||||
php5-sqlite
|
||||
|
||||
************************************
|
||||
** Необходимый запуск cron.php **
|
||||
|
|
|
@ -194,25 +194,25 @@ elseif (isset($_GET['pane']) && $_GET['pane'] == 'right')
|
|||
|
||||
if( count($onlinerow_reg) )
|
||||
{
|
||||
$registered_users = 0;
|
||||
$registered_users = $hidden_users = 0;
|
||||
|
||||
for($i=0, $cnt=count($onlinerow_reg); $i < $cnt; $i++)
|
||||
{
|
||||
if( !inarray($onlinerow_reg[$i]['user_id'], $reg_userid_ary) )
|
||||
if (!in_array($onlinerow_reg[$i]['user_id'], $reg_userid_ary))
|
||||
{
|
||||
$reg_userid_ary[] = $onlinerow_reg[$i]['user_id'];
|
||||
|
||||
$username = $onlinerow_reg[$i]['username'];
|
||||
|
||||
if( !bf($onlinerow_reg[$i]['user_opt'], 'user_opt', 'allow_viewonline'))
|
||||
if (bf($onlinerow_reg[$i]['user_opt'], 'user_opt', 'user_viewonline'))
|
||||
{
|
||||
$registered_users++;
|
||||
$hidden = FALSE;
|
||||
$hidden_users++;
|
||||
$hidden = TRUE;
|
||||
}
|
||||
else
|
||||
{
|
||||
@$hidden_users++;
|
||||
$hidden = TRUE;
|
||||
$registered_users++;
|
||||
$hidden = FALSE;
|
||||
}
|
||||
|
||||
$row_class = 'row1';
|
||||
|
|
|
@ -87,7 +87,6 @@ class ajax_common
|
|||
'gen_passkey' => array('user'),
|
||||
'change_torrent' => array('user'),
|
||||
'change_tor_status' => array('user'),
|
||||
'view_profile' => array('user'),
|
||||
|
||||
'view_post' => array('guest'),
|
||||
'view_torrent' => array('guest'),
|
||||
|
@ -396,11 +395,6 @@ class ajax_common
|
|||
require(AJAX_DIR . 'index_data.php');
|
||||
}
|
||||
|
||||
function view_profile()
|
||||
{
|
||||
require(AJAX_DIR . 'view_profile.php');
|
||||
}
|
||||
|
||||
function avatar()
|
||||
{
|
||||
require(AJAX_DIR . 'avatar.php');
|
||||
|
|
|
@ -65,7 +65,7 @@ switch($mode)
|
|||
if (empty($this->request['confirmed']))
|
||||
{
|
||||
$msg = $lang['TOR_STATUS_OF'] ." {$lang['TOR_STATUS_NAME'][$tor['tor_status']]}\n\n";
|
||||
$msg .= ($username = get_username($tor['checked_user_id'])) ? $lang['TOR_STATUS_CHANGED'] . html_entity_decode($username) .", ". delta_time($tor['checked_time']) . $lang['BACK'] ."\n\n" : "";
|
||||
$msg .= ($username = get_username($tor['checked_user_id'])) ? $lang['TOR_STATUS_CHANGED'] . html_entity_decode($username) .", ". delta_time($tor['checked_time']) . $lang['TOR_BACK'] ."\n\n" : "";
|
||||
$msg .= $lang['PROCEED'] .'?';
|
||||
$this->prompt_for_confirm($msg);
|
||||
}
|
||||
|
@ -73,7 +73,7 @@ switch($mode)
|
|||
|
||||
change_tor_status($attach_id, $new_status);
|
||||
|
||||
$this->response['status'] = $bb_cfg['tor_icons'][$new_status] .' <b> '. $lang['TOR_STATUS_NAME'][$new_status]. '</b> · '. profile_url($userdata) .' · <i>'. delta_time(TIMENOW) . $lang['BACK']. '</i>';
|
||||
$this->response['status'] = $bb_cfg['tor_icons'][$new_status] .' <b> '. $lang['TOR_STATUS_NAME'][$new_status]. '</b> · '. profile_url($userdata) .' · <i>'. delta_time(TIMENOW) . $lang['TOR_BACK']. '</i>';
|
||||
|
||||
if ($bb_cfg['tor_comment'] && (($comment && $comment != $lang['COMMENT']) || in_array($new_status, $bb_cfg['tor_reply'])))
|
||||
{
|
||||
|
|
|
@ -57,43 +57,28 @@ switch ($field)
|
|||
|
||||
case 'user_birthday':
|
||||
if (!$bb_cfg['birthday_enabled']) $this->ajax_die($lang['MODULE_OFF']);
|
||||
$data = explode('-', $value);
|
||||
$b_day = (isset($data[2])) ? (int) $data[2] : '';
|
||||
$b_md = (isset($data[1])) ? (int) $data[1] : '';
|
||||
$b_year = (isset($data[0])) ? (int) $data[0] : '';
|
||||
$birthday_date = date_parse($value);
|
||||
|
||||
if ($b_day || $b_md || $b_year)
|
||||
if (!empty($birthday_date['year']))
|
||||
{
|
||||
if ((bb_date(TIMENOW, 'Y', 'false') - $b_year) > $bb_cfg['birthday_max_age'])
|
||||
{
|
||||
$this->ajax_die(sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']));
|
||||
}
|
||||
elseif ((bb_date(TIMENOW, 'Y', 'false') - $b_year) < $bb_cfg['birthday_min_age'])
|
||||
{
|
||||
$this->ajax_die(sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']));
|
||||
}
|
||||
if (!checkdate($b_md, $b_day, $b_year))
|
||||
if (strtotime($value) >= TIMENOW)
|
||||
{
|
||||
$this->ajax_die($lang['WRONG_BIRTHDAY_FORMAT']);
|
||||
}
|
||||
else
|
||||
elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] > $bb_cfg['birthday_max_age'])
|
||||
{
|
||||
$value = "$b_year-$b_md-$b_day";
|
||||
$next_birthday_greeting = (date('md') < $b_md . (($b_day <= 9) ? '0' : '') . $b_day) ? date('Y') : date('Y')+1;
|
||||
$this->ajax_die(sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']));
|
||||
}
|
||||
}
|
||||
else
|
||||
elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] < $bb_cfg['birthday_min_age'])
|
||||
{
|
||||
$value = '';
|
||||
$next_birthday_greeting = 0;
|
||||
$this->ajax_die(sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']));
|
||||
}
|
||||
}
|
||||
DB()->query("UPDATE $table SET user_next_birthday_greeting = $next_birthday_greeting WHERE user_id = $user_id LIMIT 1");
|
||||
|
||||
$this->response['new_value'] = $this->request['value'];
|
||||
break;
|
||||
|
||||
case 'user_icq':
|
||||
$value = (int) $value;
|
||||
if ($value && !preg_match('#^\d{6,15}$#', $value))
|
||||
{
|
||||
$this->ajax_die($lang['ICQ_ERROR']);
|
||||
|
@ -131,7 +116,7 @@ switch ($field)
|
|||
{
|
||||
$this->ajax_die($lang['INVALID_DATE'] . $this->request['value']);
|
||||
}
|
||||
$this->response['new_value'] = bb_date($value);
|
||||
$this->response['new_value'] = bb_date($value, 'Y-m-d H:i', 'false');
|
||||
break;
|
||||
|
||||
case 'u_up_total':
|
||||
|
|
|
@ -19,7 +19,7 @@ switch($mode)
|
|||
{
|
||||
foreach($stats['birthday_week_list'] as $week)
|
||||
{
|
||||
$html[] = profile_url($week) .' <span class="small">('. birthday_age($week['age']) .')</span>';
|
||||
$html[] = profile_url($week) .' <span class="small">('. birthday_age($week['user_birthday']) .')</span>';
|
||||
}
|
||||
$html = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $html));
|
||||
}
|
||||
|
@ -36,7 +36,7 @@ switch($mode)
|
|||
{
|
||||
foreach($stats['birthday_today_list'] as $today)
|
||||
{
|
||||
$html[] = profile_url($today) .' <span class="small">('. birthday_age($today['age'], 1) .')</span>';
|
||||
$html[] = profile_url($today) .' <span class="small">('. birthday_age($today['user_birthday']) .')</span>';
|
||||
}
|
||||
$html = $lang['BIRTHDAY_TODAY'] . join(', ', $html);
|
||||
}
|
||||
|
|
|
@ -10,20 +10,13 @@ switch ($mode)
|
|||
{
|
||||
case 'clear_cache':
|
||||
|
||||
$gc_cache = array(
|
||||
'bb_cache',
|
||||
'tr_cache',
|
||||
'session_cache',
|
||||
'bb_cap_sid',
|
||||
'bb_login_err',
|
||||
'bb_poll_data',
|
||||
);
|
||||
|
||||
// foreach ($bb_cfg['cache']['engines'] as $cache_name => $cache_val)
|
||||
foreach ($gc_cache as $cache_name)
|
||||
foreach ($bb_cfg['cache']['engines'] as $cache_name => $cache_val)
|
||||
{
|
||||
if (!in_array('db_sqlite', $cache_val))
|
||||
{
|
||||
CACHE($cache_name)->rm();
|
||||
}
|
||||
}
|
||||
|
||||
$this->response['cache_html'] = '<span class="seed bold">'. $lang['ALL_CACHE_CLEARED'] .'</span>';
|
||||
|
||||
|
|
|
@ -67,7 +67,7 @@ switch($this->request['type'])
|
|||
break;
|
||||
|
||||
case 'reply';
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_post'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_post'))
|
||||
{
|
||||
$this->ajax_die(strip_tags($lang['RULES_REPLY_CANNOT']));
|
||||
}
|
||||
|
@ -113,7 +113,7 @@ switch($this->request['type'])
|
|||
|
||||
case 'edit':
|
||||
case 'editor':
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_post_edit'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_post_edit'))
|
||||
{
|
||||
$this->ajax_die($lang['POST_EDIT_CANNOT']);
|
||||
}
|
||||
|
@ -226,7 +226,7 @@ switch($this->request['type'])
|
|||
$this->ajax_die('empty topic_id');
|
||||
}
|
||||
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_post'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_post'))
|
||||
{
|
||||
$this->ajax_die(strip_tags($lang['RULES_REPLY_CANNOT']));
|
||||
}
|
||||
|
|
|
@ -1,167 +0,0 @@
|
|||
<?php
|
||||
|
||||
if (!defined('IN_AJAX')) die(basename(__FILE__));
|
||||
|
||||
global $user, $bb_cfg, $tr_cfg, $lang, $userdata;
|
||||
|
||||
$mode = (string) $this->request['mode'];
|
||||
|
||||
switch ($mode)
|
||||
{
|
||||
case 'active_torrents':
|
||||
$user_id = (int) $this->request['user_id'];
|
||||
if (!$user_id) $this->ajax_die($lang['NO_USER_ID_SPECIFIED']);
|
||||
$user_info = get_userdata($user_id);
|
||||
if (!bf($user_info['user_opt'], 'user_opt', 'allow_dls') && !IS_AM && $user_id != $userdata['user_id']) $this->ajax_die($lang['CUR_ACTIVE_DLS_DISALLOWED']);
|
||||
|
||||
$excluded_forums_csv = $user->get_excluded_forums(AUTH_VIEW);
|
||||
$not_auth_forums_sql = ($excluded_forums_csv) ? "
|
||||
AND f.forum_id NOT IN($excluded_forums_csv)
|
||||
AND f.forum_parent NOT IN($excluded_forums_csv)
|
||||
" : '';
|
||||
|
||||
$dl = ' ';
|
||||
if(IS_AM || $user_id == $userdata['user_id'])
|
||||
{
|
||||
$dl_link = "search.php?dlu=$user_id&";
|
||||
$dl = '
|
||||
<a href="'. $dl_link .'dlw=1" class="med">'. $lang['SEARCH_DL_WILL_DOWNLOADS'] .'</a>
|
||||
::
|
||||
<a href="'. $dl_link .'dld=1" class="med">'. $lang['SEARCH_DL_DOWN'] .'</a>
|
||||
::
|
||||
<a href="'. $dl_link .'dlc=1" class="med">'. $lang['SEARCH_DL_COMPLETE'] .'</a>
|
||||
::
|
||||
<a href="'. $dl_link .'dla=1" class="med">'. $lang['SEARCH_DL_CANCEL'] .'</a>
|
||||
';
|
||||
}
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
f.forum_id, f.forum_name,
|
||||
t.topic_title,
|
||||
tor.tor_type, tor.size,
|
||||
trs.seeders, trs.leechers,
|
||||
tr.*
|
||||
FROM ". BB_FORUMS ." f, ". BB_TOPICS ." t, ". BB_BT_TRACKER ." tr, ". BB_BT_TORRENTS ." tor, ". BB_BT_TRACKER_SNAP ." trs
|
||||
WHERE tr.user_id = $user_id
|
||||
AND tr.topic_id = tor.topic_id
|
||||
AND trs.topic_id = tor.topic_id
|
||||
AND tor.topic_id = t.topic_id
|
||||
AND t.forum_id = f.forum_id
|
||||
$not_auth_forums_sql
|
||||
GROUP BY tr.topic_id
|
||||
ORDER BY tr.releaser DESC, tr.seeder DESC, f.forum_name ASC, t.topic_title ASC";
|
||||
|
||||
if (!$result = DB()->sql_query($sql))
|
||||
{
|
||||
$this->ajax_die('Could not query users torrent profile information', '', __LINE__, __FILE__, $sql);
|
||||
}
|
||||
|
||||
$r = $s = $l = $releasing_count = $seeding_count = $leeching_count = 0;
|
||||
|
||||
if ($rowset = DB()->sql_fetchrowset($result))
|
||||
{
|
||||
$html = '';
|
||||
for ($i=0; $i<count($rowset); $i++)
|
||||
{
|
||||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($rowset[$i]['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" /> ';
|
||||
}
|
||||
elseif ($rowset[$i]['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" /> ';
|
||||
}
|
||||
}
|
||||
$topic_title = ($rowset[$i]['update_time']) ? wbr($rowset[$i]['topic_title']) : '<s>'. wbr($rowset[$i]['topic_title']) .'</s>';
|
||||
$topic_seeders = '<span class="seedmed"><b>'. $rowset[$i]['seeders'] .'</b></span>';
|
||||
$topic_leechers = '<span class="leechmed"><b>'. $rowset[$i]['leechers'] .'</b></span>';
|
||||
$topic_speed_up = ($rowset[$i]['speed_up']) ? humn_size($rowset[$i]['speed_up'], 0, 'KB') .'/s' : '-';
|
||||
|
||||
$compl_perc_html = '';
|
||||
$colspan = 'colspan="2" ';
|
||||
if ($rowset[$i]['releaser'])
|
||||
{
|
||||
$r = $r + $rowset[$i]['size'];
|
||||
$type = $type = '<td class="row1 tCenter dlComplete lh_150 pad_4 nowrap">'. $lang['RELEASER'] .'</td>';
|
||||
$releasing_count++;
|
||||
}
|
||||
elseif ($rowset[$i]['seeder'])
|
||||
{
|
||||
$s = $s + $rowset[$i]['size'];
|
||||
$type = $type = '<td class="row1 tCenter dlComplete lh_150 pad_4 nowrap">'. $lang['SEEDER'] .'</td>';
|
||||
$seeding_count++;
|
||||
}
|
||||
else
|
||||
{
|
||||
$l = $l + $rowset[$i]['size'];
|
||||
$type = '<td class="row1 tCenter dlDown lh_150 pad_4 nowrap">'. $lang['LEECHER'] .'</td>';
|
||||
|
||||
$compl_size = ($rowset[$i]['remain'] && $rowset[$i]['size'] && $rowset[$i]['size'] > $rowset[$i]['remain']) ? ($rowset[$i]['size'] - $rowset[$i]['remain']) : 0;
|
||||
|
||||
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $rowset[$i]['size']) : 0;
|
||||
|
||||
$colspan = '';
|
||||
$compl_perc_html = '<td class="tCenter med"><b>'. $compl_perc .'%</b></td>';
|
||||
$leeching_count++;
|
||||
}
|
||||
|
||||
$html .= '
|
||||
<tr class="row1">
|
||||
'. $type .'
|
||||
<td class="tCenter pad_4"><a class="gen" href="viewforum.php?'. POST_FORUM_URL .'='. $rowset[$i]['forum_id'] .'">'. htmlCHR($rowset[$i]['forum_name']) .'</a></td>
|
||||
<td class="pad_4"><a class="med" href="viewtopic.php?'. POST_TOPIC_URL .'='. $rowset[$i]['topic_id'] .'&spmode=full#leechers">'. $is_gold .'<b>'. $topic_title .'</b></a></td>
|
||||
'. $compl_perc_html .'
|
||||
<td '. $colspan .'class="tCenter pad_4">
|
||||
<div>
|
||||
<p>'. $topic_seeders .'<span class="med"> | </span>'. $topic_leechers .'</p>
|
||||
<p style="padding-top: 2px" class="seedsmall">'. $topic_speed_up .'</p>
|
||||
</div>
|
||||
</td>
|
||||
</tr>
|
||||
';
|
||||
}
|
||||
|
||||
$releasing_count = ($releasing_count) ? $releasing_count .' ('. humn_size($r) .')' : 0;
|
||||
$seeding_count = ($seeding_count) ? $seeding_count .' ('. humn_size($s) .')' : 0;
|
||||
$leeching_count = ($leeching_count) ? $leeching_count .' ('. humn_size($l) .')' : 0;
|
||||
}
|
||||
else
|
||||
{
|
||||
$html = '
|
||||
<tr class="row1">
|
||||
<td colspan="4" class="tCenter pad_4">'. $lang['NONE'] .'</td>
|
||||
</tr>
|
||||
';
|
||||
}
|
||||
|
||||
$this->response['active_torrents'] = '
|
||||
<a name="torrent"></a>
|
||||
|
||||
<div class="spacer_8"></div>
|
||||
<h1 class="pagetitle tCenter">'. $lang['CUR_ACTIVE_DLS'] .'</h1>
|
||||
<div class="bold tCenter">'. $lang['RELEASING'] .': <span class="dlComplete">'. $releasing_count .'</span> :: '. $lang['SEEDING'] .': <span class="dlComplete">' . $seeding_count .'</span> :: '. $lang['LEECHING'] .': <span class="dlDown">' . $leeching_count .'</span></div>
|
||||
<div class="spacer_8"></div>
|
||||
|
||||
<div class="fon2">
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th><b class="tbs-text">'. $lang['TYPE'] .'</b></th>
|
||||
<th><b class="tbs-text">'. $lang['FORUM'] .'</b></th>
|
||||
<th><b class="tbs-text">'. $lang['TOPICS'] .'</b></th>
|
||||
<th colspan="2"><b class="tbs-text">'. $lang['TORRENT'] .'</b></th>
|
||||
</tr>
|
||||
'. $html .'
|
||||
<tr class="row2 tCenter">
|
||||
<td class="catBottom pad_6" colspan="5">
|
||||
'. $dl .'
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</div>
|
||||
';
|
||||
break;
|
||||
}
|
|
@ -219,7 +219,7 @@ if ($tor_reged && $tor_info)
|
|||
'TOR_FROZEN' => (!IS_AM) ? (isset($bb_cfg['tor_frozen'][$tor_info['tor_status']]) && !(isset($bb_cfg['tor_frozen_author_download'][$tor_info['tor_status']]) && $userdata['user_id'] == $tor_info['poster_id'])) ? true : '' : '',
|
||||
'TOR_STATUS_TEXT' => $lang['TOR_STATUS_NAME'][$tor_info['tor_status']],
|
||||
'TOR_STATUS_ICON' => $bb_cfg['tor_icons'][$tor_info['tor_status']],
|
||||
'TOR_STATUS_BY' => ($tor_info['checked_user_id'] && $is_auth['auth_mod']) ? ('<span title="'. bb_date($tor_info['checked_time'], 'd-M-Y H:i') .'"> · '. profile_url($tor_info) .' · <i>'. delta_time($tor_info['checked_time']) . $lang['TOR_BACK'] .'</i></span>') : '',
|
||||
'TOR_STATUS_BY' => ($tor_info['checked_user_id'] && $is_auth['auth_mod']) ? ('<span title="'. bb_date($tor_info['checked_time']) .'"> · '. profile_url($tor_info) .' · <i>'. delta_time($tor_info['checked_time']) . $lang['TOR_BACK'] .'</i></span>') : '',
|
||||
'TOR_STATUS_SELECT' => build_select('sel_status', array_flip($lang['TOR_STATUS_NAME']), TOR_APPROVED),
|
||||
'TOR_STATUS_REPLY' => $bb_cfg['tor_comment'] && !IS_GUEST && in_array($tor_info['tor_status'], $bb_cfg['tor_reply']) && $userdata['user_id'] == $tor_info['poster_id'] && $t_data['topic_status'] != TOPIC_LOCKED,
|
||||
//end torrent status mod
|
||||
|
@ -599,5 +599,5 @@ $template->assign_vars(array(
|
|||
'SEED_EXIST' => ($seeders || defined('SEEDER_EXIST')),
|
||||
'LEECH_EXIST' => ($leechers || defined('LEECHER_EXIST')),
|
||||
'TOR_HELP_LINKS' => $bb_cfg['tor_help_links'],
|
||||
'CALL_SEED' => ($bb_cfg['callseed'] && $tor_reged && !isset($bb_cfg['tor_no_tor_act'][$tor_info['tor_status']])),
|
||||
'CALL_SEED' => ($bb_cfg['callseed'] && $tor_reged && !isset($bb_cfg['tor_no_tor_act'][$tor_info['tor_status']]) && $seed_count < 3 && $tor_info['call_seed_time'] < (TIMENOW - 86400)),
|
||||
));
|
|
@ -8,134 +8,87 @@ require(BB_ROOT . 'common.php');
|
|||
// Init userdata
|
||||
$user->session_start(array('req_login' => true));
|
||||
|
||||
set_die_append_msg();
|
||||
$topic_id = (int) request_var('t', 0);
|
||||
$t_data = topic_info($topic_id);
|
||||
$forum_id = $t_data['forum_id'];
|
||||
|
||||
require(INC_DIR .'bbcode.php');
|
||||
set_die_append_msg($forum_id, $topic_id);
|
||||
|
||||
if ($t_data['seeders'] > 2)
|
||||
{
|
||||
bb_die(sprintf($lang['CALLSEED_HAVE_SEED'], $t_data['seeders']));
|
||||
}
|
||||
elseif ($t_data['call_seed_time'] > (TIMENOW - 86400))
|
||||
{
|
||||
$time_left = delta_time($t_data['call_seed_time'] + 86400, TIMENOW, 'days');
|
||||
bb_die(sprintf($lang['CALLSEED_MSG_SPAM'], $time_left));
|
||||
}
|
||||
|
||||
$ban_user_id = array();
|
||||
|
||||
$sql = DB()->fetch_rowset("SELECT ban_userid FROM ". BB_BANLIST ." WHERE ban_userid != 0");
|
||||
|
||||
foreach ($sql as $row)
|
||||
{
|
||||
$ban_user_id[] = ','. $row['ban_userid'];
|
||||
}
|
||||
$ban_user_id = join('', $ban_user_id);
|
||||
|
||||
$user_list = DB()->fetch_rowset("
|
||||
SELECT DISTINCT dl.user_id, u.user_opt, tr.user_id as active_dl
|
||||
FROM ". BB_BT_DLSTATUS ." dl
|
||||
LEFT JOIN ". BB_USERS ." u ON(u.user_id = dl.user_id)
|
||||
LEFT JOIN ". BB_BT_TRACKER ." tr ON(tr.user_id = dl.user_id)
|
||||
WHERE dl.topic_id = $topic_id
|
||||
AND dl.user_status IN (". DL_STATUS_COMPLETE.", ". DL_STATUS_DOWN.")
|
||||
AND dl.user_id NOT IN ({$userdata['user_id']}, ". EXCLUDED_USERS_CSV . $ban_user_id .")
|
||||
AND u.user_active = 1
|
||||
GROUP BY dl.user_id
|
||||
");
|
||||
|
||||
$subject = sprintf($lang['CALLSEED_SUBJECT'], $t_data['topic_title']);
|
||||
$message = sprintf($lang['CALLSEED_TEXT'], make_url(TOPIC_URL . $topic_id), $t_data['topic_title'], make_url(DOWNLOAD_URL . $t_data['attach_id']));
|
||||
|
||||
if ($user_list)
|
||||
{
|
||||
foreach ($user_list as $row)
|
||||
{
|
||||
if (!empty($row['active_dl'])) continue;
|
||||
|
||||
if (bf($row['user_opt'], 'user_opt', 'user_callseed'))
|
||||
{
|
||||
send_pm($row['user_id'], $subject, $message, BOT_UID);
|
||||
}
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
send_pm($t_data['poster_id'], $subject, $message, BOT_UID);
|
||||
}
|
||||
|
||||
DB()->query("UPDATE ". BB_BT_TORRENTS ." SET call_seed_time = ". TIMENOW ." WHERE topic_id = $topic_id LIMIT 1");
|
||||
|
||||
meta_refresh(TOPIC_URL . $topic_id);
|
||||
bb_die($lang['CALLSEED_MSG_OK']);
|
||||
|
||||
function topic_info ($topic_id)
|
||||
{
|
||||
$sql = " SELECT tor.poster_id, tor.forum_id, tor.attach_id, t.topic_title, f.forum_name
|
||||
FROM ". BB_BT_TORRENTS ." tor , ". BB_TOPICS ." t, ". BB_FORUMS ." f
|
||||
global $lang;
|
||||
|
||||
$sql = "
|
||||
SELECT
|
||||
tor.poster_id, tor.forum_id, tor.attach_id, tor.call_seed_time,
|
||||
t.topic_title, sn.seeders
|
||||
FROM ". BB_BT_TORRENTS ." tor
|
||||
LEFT JOIN ". BB_TOPICS ." t USING(topic_id)
|
||||
LEFT JOIN ". BB_BT_TRACKER_SNAP ." sn USING(topic_id)
|
||||
WHERE tor.topic_id = $topic_id
|
||||
AND t.topic_id = tor.topic_id
|
||||
AND f.forum_id = tor.forum_id
|
||||
LIMIT 1";
|
||||
$row = DB()->fetch_row($sql);
|
||||
";
|
||||
|
||||
$t = array(
|
||||
"topic_title" => $row['topic_title'],
|
||||
"forum_title" => $row['forum_name'],
|
||||
"attach_id" => $row['attach_id'],
|
||||
"topic_poster" => $row['poster_id'],
|
||||
"forum_id" => $row['forum_id'],
|
||||
);
|
||||
|
||||
return $t;
|
||||
}
|
||||
|
||||
function call_seed($topic_id, $t_info, $to_user_id)
|
||||
if (!$torrent = DB()->fetch_row($sql))
|
||||
{
|
||||
global $userdata, $lang, $msg_error;
|
||||
|
||||
$sql = "UPDATE ". BB_BT_TORRENTS ." SET call_seed_time=". TIMENOW ." WHERE topic_id = $topic_id";
|
||||
if (!DB()->sql_query($sql)) {
|
||||
$msg_error = "TIME";
|
||||
return;
|
||||
message_die(GENERAL_ERROR, $lang['TOPIC_POST_NOT_EXIST']);
|
||||
}
|
||||
|
||||
$subj = sprintf ($lang['CALLSEED_SUBJ'], $t_info['topic_title']);
|
||||
$text = sprintf ($lang['CALLSEED_TEXT'], $topic_id, $t_info['forum_title'], $t_info['topic_title'], $t_info['attach_id']);
|
||||
$subj = DB()->escape($subj);
|
||||
$text = DB()->escape($text);
|
||||
|
||||
send_pm($to_user_id, $subj, $text, $userdata['user_id']);
|
||||
return $torrent;
|
||||
}
|
||||
|
||||
$u_id = array();
|
||||
$topic_id = request_var('t', 0);
|
||||
$t_info = topic_info($topic_id);
|
||||
$forum_id = $t_info['forum_id'];
|
||||
$msg_error = "OK";
|
||||
|
||||
$sql = "SELECT call_seed_time FROM ". BB_BT_TORRENTS ." WHERE topic_id = $topic_id LIMIT 1";
|
||||
if($row = DB()->fetch_row($sql))
|
||||
{
|
||||
$pr_time = $row['call_seed_time'];
|
||||
$pause = 86400; //1 day
|
||||
$cp = TIMENOW - $pr_time;
|
||||
$pcp = $pause - $cp;
|
||||
if($cp <= $pause)
|
||||
{
|
||||
$cur_pause_hour = floor($pcp/3600);
|
||||
$cur_pause_min = floor($pcp/60);
|
||||
$msg_error = "SPAM";
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
message_die(GENERAL_ERROR, 'Topic does not callseed time', '', __LINE__, __FILE__);
|
||||
}
|
||||
|
||||
// check have_seed
|
||||
if ($msg_error == "OK")
|
||||
{
|
||||
$sql = "SELECT seeders, leechers FROM ". BB_BT_TRACKER_SNAP ." WHERE topic_id = $topic_id LIMIT 1";
|
||||
$row = DB()->fetch_row($sql);
|
||||
if ($row['seeders'] <= 2)
|
||||
{
|
||||
$sql = "SELECT user_id FROM ". BB_BT_DLSTATUS ." WHERE topic_id = $topic_id AND user_id NOT IN ({$userdata['user_id']}, ". EXCLUDED_USERS_CSV .")";
|
||||
|
||||
foreach(DB()->fetch_rowset($sql) as $row)
|
||||
{
|
||||
$u_id[] = $row['user_id'];
|
||||
}
|
||||
if (!in_array($t_info['topic_poster'], $u_id))
|
||||
{
|
||||
$u_id[] = $t_info['topic_poster'];
|
||||
}
|
||||
array_unique($u_id);
|
||||
|
||||
foreach($u_id as $i=>$user_id)
|
||||
{
|
||||
if ($msg_error != "OK") break;
|
||||
|
||||
call_seed($topic_id, $t_info, $user_id);
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
$seeders = $row['seeders'];
|
||||
$leechers = $row['leechers'];
|
||||
$msg_error = "HAVE_SEED";
|
||||
}
|
||||
}
|
||||
|
||||
$msg = '';
|
||||
meta_refresh(TOPIC_URL . $topic_id, 8);
|
||||
|
||||
switch($msg_error) {
|
||||
case "OK":
|
||||
$msg .= $lang['CALLSEED_MSG_OK'];
|
||||
break;
|
||||
case "SPAM":
|
||||
$msg .= sprintf ($lang['CALLSEED_MSG_SPAM'], $cur_pause_hour, $cur_pause_min);
|
||||
break;
|
||||
case "MSG":
|
||||
$msg .= $lang['CALLSEED_MSG_MSG'];
|
||||
break;
|
||||
case "MSG_TEXT":
|
||||
$msg .= $lang['CALLSEED_MSG_MSG_TEXT'];
|
||||
break;
|
||||
case "POPUP":
|
||||
$msg .= $lang['CALLSEED_MSG_POPUP'];
|
||||
break;
|
||||
case "TIME":
|
||||
$msg .= $lang['CALLSEED_MSG_TIME'];
|
||||
break;
|
||||
case "HAVE_SEED":
|
||||
$msg .= sprintf ($lang['CALLSEED_HAVE_SEED'], $seeders, $leechers);
|
||||
break;
|
||||
}
|
||||
|
||||
set_die_append_msg($forum_id, $topic_id);
|
||||
bb_die($msg);
|
|
@ -14,6 +14,8 @@ if (empty($_SERVER['SERVER_NAME'])) $_SERVER['SERVER_NAME'] = '';
|
|||
if (!defined('BB_ROOT')) define('BB_ROOT', './');
|
||||
if (!defined('IN_FORUM') && !defined('IN_TRACKER')) define('IN_FORUM', true);
|
||||
|
||||
header('X-Frame-Options: SAMEORIGIN');
|
||||
|
||||
// Get initial config
|
||||
require(BB_ROOT .'config.php');
|
||||
|
||||
|
|
|
@ -55,8 +55,8 @@ $domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $do
|
|||
|
||||
// Increase number of revision after update
|
||||
$bb_cfg['tp_version'] = '2.6 (RC)';
|
||||
$bb_cfg['tp_release_date'] = '18-06-2014';
|
||||
$bb_cfg['tp_release_state'] = 'R588';
|
||||
$bb_cfg['tp_release_date'] = '19-06-2014';
|
||||
$bb_cfg['tp_release_state'] = 'R589';
|
||||
|
||||
// Database
|
||||
$charset = 'utf8';
|
||||
|
@ -111,7 +111,6 @@ $bb_cfg['cache']['engines'] = array(
|
|||
'bb_login_err' => array('filecache', array()),
|
||||
'bb_poll_data' => array('filecache', array()),
|
||||
);
|
||||
|
||||
// Datastore
|
||||
// Available datastore types: memcache, sqlite, redis, eaccelerator, apc, xcache (default filecache)
|
||||
$bb_cfg['datastore_type'] = 'filecache';
|
||||
|
@ -556,7 +555,7 @@ $bb_cfg['gen_forums_allowed_ext'] = array('zip', 'rar'); // для о
|
|||
$bb_cfg['avatars'] = array(
|
||||
'allowed_ext' => array('gif','jpg','jpeg','png'), // разрешенные форматы файлов
|
||||
'bot_avatar' => 'gallery/bot.gif', // аватара бота
|
||||
'max_size' => 512*1024, // размер аватары в байтах
|
||||
'max_size' => 50*1024, // размер аватары в байтах
|
||||
'max_height' => 100, // высота аватара в px
|
||||
'max_width' => 100, // ширина аватара в px
|
||||
'no_avatar' => 'gallery/noavatar.png', // дефолтная аватара
|
||||
|
|
|
@ -1,3 +1,5 @@
|
|||
php_flag engine off
|
||||
RemoveHandler .php .php5 .php4 .php3 .phtml .pl .asp
|
||||
AddType text/plain .php .php .htm .html .phtml .pl .asp
|
||||
Options -Indexes
|
||||
|
||||
|
|
|
@ -21,7 +21,7 @@ function generate_user_info(&$row, $date_format, $group_mod, &$from, &$posts, &$
|
|||
$posts = ( $row['user_posts'] ) ? $row['user_posts'] : 0;
|
||||
$pm = ($bb_cfg['text_buttons']) ? '<a class="txtb" href="'. (PM_URL . "?mode=post&". POST_USERS_URL ."=".$row['user_id']) .'">'. $lang['SEND_PM_TXTB'] .'</a>' : '<a href="' . (PM_URL . "?mode=post&". POST_USERS_URL ."=".$row['user_id']) .'"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
|
||||
|
||||
if (bf($row['user_opt'], 'user_opt', 'viewemail') || $group_mod)
|
||||
if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || $group_mod)
|
||||
{
|
||||
$email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&". POST_USERS_URL ."=".$row['user_id']) : 'mailto:'. $row['user_email'];
|
||||
$email = '<a class="editable" href="'. $email_uri .'">'. $row['user_email'] .'</a>';
|
||||
|
|
0
upload/images/index.html
Normal file
0
upload/images/index.html
Normal file
|
@ -2,16 +2,9 @@
|
|||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
|
||||
$gc_cache = array(
|
||||
'bb_cache',
|
||||
'tr_cache',
|
||||
'session_cache',
|
||||
'bb_cap_sid',
|
||||
'bb_login_err',
|
||||
'bb_poll_data',
|
||||
);
|
||||
global $cron_runtime_log
|
||||
|
||||
foreach ($gc_cache as $cache_name)
|
||||
foreach ($bb_cfg['cache']['engines'] as $cache_name => $cache_val)
|
||||
{
|
||||
if (method_exists(CACHE($cache_name), 'gc'))
|
||||
{
|
||||
|
|
|
@ -2,45 +2,6 @@
|
|||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
|
||||
define('BUF_DLSTATUS_TABLE', 'tmp_buf_dlstatus');
|
||||
|
||||
// Move new dl-status records to main table
|
||||
DB()->query("
|
||||
CREATE TEMPORARY TABLE ". BUF_DLSTATUS_TABLE ." (
|
||||
user_id mediumint(9) NOT NULL default '0',
|
||||
topic_id mediumint(8) unsigned NOT NULL default '0',
|
||||
user_status tinyint(1) NOT NULL default '0',
|
||||
PRIMARY KEY (user_id, topic_id)
|
||||
) ENGINE = MyISAM
|
||||
");
|
||||
|
||||
DB()->query("
|
||||
INSERT INTO ". BUF_DLSTATUS_TABLE ."
|
||||
(user_id, topic_id, user_status)
|
||||
SELECT
|
||||
user_id, topic_id, user_status
|
||||
FROM
|
||||
". BB_BT_DLSTATUS ."
|
||||
WHERE
|
||||
last_modified_dlstatus < DATE_SUB(NOW(), INTERVAL 1 DAY)
|
||||
");
|
||||
|
||||
DB()->query("
|
||||
REPLACE INTO ". BB_BT_DLSTATUS ."
|
||||
(user_id, topic_id, user_status)
|
||||
SELECT
|
||||
user_id, topic_id, user_status
|
||||
FROM ". BUF_DLSTATUS_TABLE ."
|
||||
");
|
||||
|
||||
DB()->query("
|
||||
DELETE dl
|
||||
FROM ". BUF_DLSTATUS_TABLE ." buf
|
||||
INNER JOIN ". BB_BT_DLSTATUS ." dl USING(user_id, topic_id)
|
||||
");
|
||||
|
||||
DB()->query("DROP TEMPORARY TABLE ". BUF_DLSTATUS_TABLE);
|
||||
|
||||
// Delete staled dl-status records
|
||||
$keeping_dlstat = array(
|
||||
DL_STATUS_WILL => (int) $bb_cfg['dl_will_days_keep'],
|
||||
|
|
|
@ -38,52 +38,53 @@ if ($bb_cfg['tor_stats'])
|
|||
// gender stat
|
||||
if ($bb_cfg['gender'])
|
||||
{
|
||||
$sql = DB()->fetch_rowset("SELECT user_gender FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .")");
|
||||
$data['male'] = $data['female'] = $data['unselect'] = 0;
|
||||
$male = DB()->fetch_row("SELECT COUNT(user_id) AS male FROM ". BB_USERS ." WHERE user_gender = ". MALE ." AND user_id NOT IN(". EXCLUDED_USERS_CSV .")");
|
||||
$female = DB()->fetch_row("SELECT COUNT(user_id) AS female FROM ". BB_USERS ." WHERE user_gender = ". FEMALE ." AND user_id NOT IN(". EXCLUDED_USERS_CSV .")");
|
||||
$unselect = DB()->fetch_row("SELECT COUNT(user_id) AS unselect FROM ". BB_USERS ." WHERE user_gender = 0 AND user_id NOT IN(". EXCLUDED_USERS_CSV .")");
|
||||
|
||||
foreach ($sql as $row)
|
||||
{
|
||||
if($row['user_gender'] == MALE) $data['male']++;
|
||||
if($row['user_gender'] == FEMALE) $data['female']++;
|
||||
if(!$row['user_gender']) $data['unselect']++;
|
||||
}
|
||||
$data['male'] = $male['male'];
|
||||
$data['female'] = $female['female'];
|
||||
$data['unselect'] = $unselect['unselect'];
|
||||
}
|
||||
|
||||
// birthday stat
|
||||
if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
|
||||
{
|
||||
$sql = DB()->fetch_rowset("SELECT user_id, username, user_birthday, user_rank FROM ". BB_USERS ." WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .") AND user_birthday != '0000-00-00' AND user_active = 1 ORDER BY user_level DESC, username");
|
||||
$this_year = bb_date(TIMENOW, 'Y', 'false');
|
||||
$date_today = bb_date(TIMENOW, 'Ymd', 'false');
|
||||
$date_forward = bb_date(TIMENOW + ($bb_cfg['birthday_check_day']*86400), 'Ymd', 'false');
|
||||
$sql = DB()->fetch_rowset("SELECT user_id, username, user_rank , user_birthday
|
||||
FROM ". BB_USERS ."
|
||||
WHERE user_id NOT IN(". EXCLUDED_USERS_CSV .")
|
||||
AND user_birthday IS not NULL
|
||||
AND user_active = 1
|
||||
ORDER BY user_level DESC, username
|
||||
");
|
||||
|
||||
$date_today = bb_date(TIMENOW, 'md', 'false');
|
||||
$date_forward = bb_date(TIMENOW + ($bb_cfg['birthday_check_day']*86400), 'md', 'false');
|
||||
|
||||
$birthday_today_list = $birthday_week_list = array();
|
||||
|
||||
foreach ($sql as $row)
|
||||
{
|
||||
$user_birthday = date('md', strtotime($row['user_birthday']));
|
||||
$user_birthday2 = $this_year . $user_birthday;
|
||||
|
||||
if ($user_birthday2 < $date_today) $user_birthday2 += 10000;
|
||||
|
||||
if ($user_birthday2 > $date_today && $user_birthday2 <= $date_forward)
|
||||
if ($user_birthday > $date_today && $user_birthday <= $date_forward)
|
||||
{
|
||||
// user are having birthday within the next days
|
||||
$birthday_week_list[] = array(
|
||||
'user_id' => $row['user_id'],
|
||||
'username' => $row['username'],
|
||||
'user_rank' => $row['user_rank'],
|
||||
'age' => $row['user_birthday'],
|
||||
'user_birthday' => $row['user_birthday'],
|
||||
);
|
||||
}
|
||||
elseif ($user_birthday2 == $date_today)
|
||||
elseif ($user_birthday == $date_today)
|
||||
{
|
||||
//user have birthday today
|
||||
$birthday_today_list[] = array(
|
||||
'user_id' => $row['user_id'],
|
||||
'username' => $row['username'],
|
||||
'user_rank' => $row['user_rank'],
|
||||
'age' => $row['user_birthday'],
|
||||
'user_birthday' => $row['user_birthday'],
|
||||
);
|
||||
}
|
||||
}
|
||||
|
|
|
@ -127,7 +127,7 @@ class ads_common
|
|||
global $bb_cfg;
|
||||
|
||||
$this->ad_blocks =& $bb_cfg['ad_blocks'];
|
||||
$this->active_ads = !empty($bb_cfg['active_ads']) ? unserialize($bb_cfg['active_ads']) : array();
|
||||
$this->active_ads = !empty($bb_cfg['active_ads']) ? @unserialize($bb_cfg['active_ads']) : array();
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -258,21 +258,23 @@ $bf['forum_perm'] = array(
|
|||
);
|
||||
|
||||
$bf['user_opt'] = array(
|
||||
'viewemail' => 0, // Показывать e-mail
|
||||
'allow_sig' => 1, // Запрет на подпись
|
||||
'allow_avatar' => 2, // Запрет на аватар
|
||||
'allow_pm' => 3, // Запрет на отправку ЛС
|
||||
'allow_viewonline' => 4, // Скрывать пребывание пользователя
|
||||
'notify' => 5, // Сообщать об ответах в отслеживаемых темах
|
||||
'notify_pm' => 6, // Сообщать о новых ЛС
|
||||
'allow_passkey' => 7, // Запрет на добавление passkey, он же запрет на скачивание торрентов
|
||||
'hide_porn_forums' => 8, // Скрывать pron форумы
|
||||
'allow_gallery' => 9, // Неиспользуемое (запрет использования галереи)
|
||||
'hide_ads' => 10, // Запрет на показ рекламы
|
||||
'allow_topic' => 11, // Запрет на создание новых тем
|
||||
'allow_post' => 12, // Запрет на отправку сообщений
|
||||
'allow_post_edit' => 13, // Запрет на редактирование сообщений
|
||||
'allow_dls' => 14, // Запрет на список текущих закачек в профиле
|
||||
# 'dis_opt_name' => ЗАПРЕТЫ используемые администраторами для пользователей
|
||||
# 'user_opt_name' => НАСТРОЙКИ используемые пользователями
|
||||
'user_viewemail' => 0, // Показывать e-mail
|
||||
'dis_sig' => 1, // Запрет на подпись
|
||||
'dis_avatar' => 2, // Запрет на аватар
|
||||
'dis_pm' => 3, // Запрет на отправку ЛС
|
||||
'user_viewonline' => 4, // Скрывать пребывание пользователя
|
||||
'user_notify' => 5, // Сообщать об ответах в отслеживаемых темах
|
||||
'user_notify_pm' => 6, // Сообщать о новых ЛС
|
||||
'dis_passkey' => 7, // Запрет на добавление passkey, он же запрет на скачивание торрентов
|
||||
'user_porn_forums' => 8, // Скрывать pron форумы
|
||||
'user_callseed' => 9, // Позвать скачавших
|
||||
'user_hide_ads' => 10, // Запрет на показ рекламы
|
||||
'dis_topic' => 11, // Запрет на создание новых тем
|
||||
'dis_post' => 12, // Запрет на отправку сообщений
|
||||
'dis_post_edit' => 13, // Запрет на редактирование сообщений
|
||||
'user_dls' => 14, // Скрывать список текущих закачек в профиле
|
||||
);
|
||||
|
||||
function bit2dec ($bit_num)
|
||||
|
@ -1618,90 +1620,13 @@ function bb_date ($gmepoch, $format = false, $tz = null)
|
|||
return ($bb_cfg['translate_dates']) ? strtr(strtoupper($date), $lang['DATETIME']) : $date;
|
||||
}
|
||||
|
||||
// Birthday
|
||||
// Add function mkrealdate for Birthday MOD
|
||||
// the originate php "mktime()", does not work proberly on all OS, especially when going back in time
|
||||
// before year 1970 (year 0), this function "mkrealtime()", has a mutch larger valid date range,
|
||||
// from 1901 - 2099. it returns a "like" UNIX timestamp divided by 86400, so
|
||||
// calculation from the originate php date and mktime is easy.
|
||||
// mkrealdate, returns the number of day (with sign) from 1.1.1970.
|
||||
function mkrealdate ($day, $month, $birth_year)
|
||||
{
|
||||
// define epoch
|
||||
$epoch = 0;
|
||||
// range check months
|
||||
if ($month < 1 || $month > 12) return "error";
|
||||
// range check days
|
||||
switch ($month)
|
||||
{
|
||||
case 1: if ($day > 31) return "error"; break;
|
||||
case 2: if ($day > 29) return "error";
|
||||
$epoch = $epoch+31; break;
|
||||
case 3: if ($day > 31) return "error";
|
||||
$epoch = $epoch+59; break;
|
||||
case 4: if ($day > 30) return "error" ;
|
||||
$epoch = $epoch+90; break;
|
||||
case 5: if ($day > 31) return "error";
|
||||
$epoch = $epoch+120; break;
|
||||
case 6: if ($day > 30) return "error";
|
||||
$epoch = $epoch+151; break;
|
||||
case 7: if ($day > 31) return "error";
|
||||
$epoch = $epoch+181; break;
|
||||
case 8: if ($day > 31) return "error";
|
||||
$epoch = $epoch+212; break;
|
||||
case 9: if ($day > 30) return "error";
|
||||
$epoch = $epoch+243; break;
|
||||
case 10: if ($day > 31) return "error";
|
||||
$epoch = $epoch+273; break;
|
||||
case 11: if ($day > 30) return "error";
|
||||
$epoch = $epoch+304; break;
|
||||
case 12: if ($day > 31) return "error";
|
||||
$epoch = $epoch+334; break;
|
||||
}
|
||||
$epoch = $epoch+$day;
|
||||
$epoch_Y = sqrt(($birth_year-1970)*($birth_year-1970));
|
||||
$leapyear = round((($epoch_Y+2) / 4)-.5);
|
||||
if (($epoch_Y+2)%4 == 0)
|
||||
{// curent year is leapyear
|
||||
$leapyear--;
|
||||
if ($birth_year > 1970 && $month >= 3) $epoch = $epoch+1;
|
||||
if ($birth_year < 1970 && $month < 3) $epoch = $epoch-1;
|
||||
}
|
||||
else if ($month == 2 && $day > 28) return "error";//only 28 days in feb.
|
||||
//year
|
||||
if ($birth_year > 1970)
|
||||
{
|
||||
$epoch = $epoch + $epoch_Y*365-1 + $leapyear;
|
||||
}
|
||||
else
|
||||
{
|
||||
$epoch = $epoch - $epoch_Y*365-1 - $leapyear;
|
||||
}
|
||||
return $epoch;
|
||||
}
|
||||
|
||||
// Add function realdate for Birthday MOD
|
||||
// the originate php "date()", does not work proberly on all OS, especially when going back in time
|
||||
// before year 1970 (year 0), this function "realdate()", has a mutch larger valid date range,
|
||||
// from 1901 - 2099. it returns a "like" UNIX date format (only date, related letters may be used, due to the fact that
|
||||
// the given date value should already be divided by 86400 - leaving no time information left)
|
||||
// a input like a UNIX timestamp divided by 86400 is expected, so
|
||||
// calculation from the originate php date and mktime is easy.
|
||||
// e.g. realdate ("m d Y", 3) returns the string "1 3 1970"
|
||||
|
||||
// UNIX users should replace this function with the below code, since this should be faster
|
||||
//
|
||||
|
||||
function realdate ($date, $format = "Ymd")
|
||||
function birthday_age ($date)
|
||||
{
|
||||
global $bb_cfg;
|
||||
if (!$date) return;
|
||||
return bb_date($date*86400 + 1, $format, 0);
|
||||
}
|
||||
|
||||
function birthday_age ($date, $list = 0)
|
||||
{
|
||||
if (!$date) return;
|
||||
return delta_time(mktime(11, 0, 0, date('m', strtotime($date)), date('d', strtotime($date)), (date('Y', strtotime($date)) - $list)));
|
||||
$tz = TIMENOW + (3600 * $bb_cfg['board_timezone']);
|
||||
return delta_time(strtotime($date, $tz));
|
||||
}
|
||||
|
||||
//
|
||||
|
@ -2881,18 +2806,11 @@ function send_pm ($user_id, $subject, $message, $poster_id = BOT_UID)
|
|||
$poster_ip = USER_IP;
|
||||
}
|
||||
|
||||
DB()->sql_query("INSERT INTO ". BB_PRIVMSGS ." (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip)
|
||||
VALUES (". PRIVMSGS_NEW_MAIL .", '$subject', {$poster_id}, $user_id, ". TIMENOW .", '$poster_ip')");
|
||||
DB()->query("INSERT INTO ". BB_PRIVMSGS ." (privmsgs_type, privmsgs_subject, privmsgs_from_userid, privmsgs_to_userid, privmsgs_date, privmsgs_ip) VALUES (". PRIVMSGS_NEW_MAIL .", '$subject', {$poster_id}, $user_id, ". TIMENOW .", '$poster_ip')");
|
||||
$pm_id = DB()->sql_nextid();
|
||||
|
||||
DB()->sql_query("INSERT INTO " . BB_PRIVMSGS_TEXT . " (privmsgs_text_id, privmsgs_text)
|
||||
VALUES ($pm_id, '$message')");
|
||||
|
||||
DB()->sql_query("UPDATE ". BB_USERS ." SET
|
||||
user_new_privmsg = user_new_privmsg + 1,
|
||||
user_last_privmsg = ". TIMENOW .",
|
||||
user_newest_pm_id = $pm_id
|
||||
WHERE user_id = $user_id");
|
||||
DB()->query("INSERT INTO " . BB_PRIVMSGS_TEXT . " (privmsgs_text_id, privmsgs_text) VALUES ($pm_id, '$message')");
|
||||
DB()->query("UPDATE ". BB_USERS ." SET user_new_privmsg = user_new_privmsg + 1, user_last_privmsg = ". TIMENOW .", user_newest_pm_id = $pm_id WHERE user_id = $user_id");
|
||||
}
|
||||
|
||||
function profile_url ($data)
|
||||
|
@ -2930,7 +2848,7 @@ function profile_url ($data)
|
|||
return $profile;
|
||||
}
|
||||
|
||||
function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true)
|
||||
function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true, $height = '', $width = '')
|
||||
{
|
||||
global $bb_cfg;
|
||||
|
||||
|
@ -2939,15 +2857,21 @@ function get_avatar ($user_id, $ext_id, $allow_avatar = true, $size = true)
|
|||
// TODO
|
||||
}
|
||||
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar'] .'" alt="'. $user_id .'" "/>';
|
||||
$height = ($height != '') ? 'height="'. $height .'"' : '';
|
||||
$width = ($width != '') ? 'width="'. $width .'"' : '';
|
||||
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['no_avatar'] .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
|
||||
|
||||
if ($user_id == BOT_UID && $bb_cfg['avatars']['bot_avatar'])
|
||||
{
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar'] .'" alt="'. $user_id .'" />';
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . $bb_cfg['avatars']['bot_avatar'] .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
|
||||
}
|
||||
elseif ($allow_avatar && $ext_id)
|
||||
{
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id) .'" alt="'. $user_id .'" />';
|
||||
if (file_exists($bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id)))
|
||||
{
|
||||
$user_avatar = '<img src="'. $bb_cfg['avatars']['upload_path'] . get_avatar_path($user_id, $ext_id) .'" alt="'. $user_id .'" '. $height .' '. $width .' />';
|
||||
}
|
||||
}
|
||||
|
||||
return $user_avatar;
|
||||
|
|
|
@ -396,7 +396,7 @@ function send_torrent_with_passkey ($filename)
|
|||
message_die(GENERAL_ERROR, $lang['PASSKEY_ERR_TOR_NOT_REG']);
|
||||
}
|
||||
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_passkey') && !IS_GUEST)
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_passkey') && !IS_GUEST)
|
||||
{
|
||||
message_die(GENERAL_ERROR, 'Could not add passkey');
|
||||
}
|
||||
|
@ -511,7 +511,7 @@ function generate_passkey ($user_id, $force_generate = false)
|
|||
}
|
||||
if ($row = DB()->sql_fetchrow($result))
|
||||
{
|
||||
if (bf($row['user_opt'], 'user_opt', 'allow_passkey'))
|
||||
if (bf($row['user_opt'], 'user_opt', 'dis_passkey'))
|
||||
{
|
||||
message_die(GENERAL_MESSAGE, $lang['NOT_AUTHORISED']);
|
||||
}
|
||||
|
|
|
@ -1,6 +1,7 @@
|
|||
<?php
|
||||
|
||||
if (!defined('BB_ROOT')) die(basename(__FILE__));
|
||||
if (PHP_VERSION < '5.3') die('TorrentPier II requires PHP version 5.3+. Your PHP version '. PHP_VERSION);
|
||||
if (!defined('BB_SCRIPT')) define('BB_SCRIPT', 'undefined');
|
||||
if (!defined('BB_CFG_LOADED')) trigger_error('bb_cfg not loaded', E_USER_ERROR);
|
||||
|
||||
|
|
|
@ -170,7 +170,7 @@ $template->assign_vars(array(
|
|||
'SHOW_ADS' => (!$logged_in || isset($bb_cfg['show_ads_users'][$user->id]) || (!IS_AM && $user->show_ads)),
|
||||
'USER_HIDE_CAT' => (BB_SCRIPT == 'index'),
|
||||
|
||||
'USER_RUS' => ($userdata['user_lang'] != 'english') ? true : false,
|
||||
'USER_LANG' => $userdata['user_lang'],
|
||||
|
||||
'INCLUDE_BBCODE_JS' => !empty($page_cfg['include_bbcode_js']),
|
||||
'USER_OPTIONS_JS' => (IS_GUEST) ? '{}' : bb_json_encode($user->opt_js),
|
||||
|
@ -206,8 +206,8 @@ $template->assign_vars(array(
|
|||
'SESSION_USER_ID' => $userdata['user_id'],
|
||||
'POINTS' => $userdata['user_points'],
|
||||
'THIS_USER' => profile_url($userdata),
|
||||
'THIS_AVATAR' => get_avatar($userdata['user_id'], $userdata['avatar_ext_id'], !bf($userdata['user_opt'], 'user_opt', 'allow_avatar')),
|
||||
'AVATAR_DISALLOWED' => bf($userdata['user_opt'], 'user_opt', 'allow_avatar'),
|
||||
'THIS_AVATAR' => get_avatar($userdata['user_id'], $userdata['avatar_ext_id'], !bf($userdata['user_opt'], 'user_opt', 'dis_avatar')),
|
||||
'AVATAR_DISALLOWED' => bf($userdata['user_opt'], 'user_opt', 'dis_avatar'),
|
||||
'SHOW_LOGIN_LINK' => !defined('IN_LOGIN'),
|
||||
'AUTOLOGIN_DISABLED' => !$bb_cfg['allow_autologin'],
|
||||
'S_LOGIN_ACTION' => LOGIN_URL,
|
||||
|
|
|
@ -755,7 +755,7 @@ class user_common
|
|||
$excluded[] = $not_auth;
|
||||
}
|
||||
|
||||
if (bf($this->opt, 'user_opt', 'hide_porn_forums'))
|
||||
if (bf($this->opt, 'user_opt', 'user_porn_forums'))
|
||||
{
|
||||
global $datastore;
|
||||
|
||||
|
@ -789,7 +789,7 @@ class user_common
|
|||
{
|
||||
global $datastore, $bb_cfg;
|
||||
|
||||
if ($bb_cfg['show_ads'] && !bf($this->opt, 'user_opt', 'hide_ads') && !defined('IN_ADMIN') && !defined('IN_AJAX'))
|
||||
if ($bb_cfg['show_ads'] && !bf($this->opt, 'user_opt', 'user_hide_ads') && !defined('IN_ADMIN') && !defined('IN_AJAX'))
|
||||
{
|
||||
$datastore->enqueue('ads');
|
||||
$this->show_ads = true;
|
||||
|
|
|
@ -117,7 +117,7 @@ class Template
|
|||
*/
|
||||
function Template($root = '.')
|
||||
{
|
||||
global $lang;
|
||||
global $bb_cfg, $lang;
|
||||
|
||||
// setting pointer "vars"
|
||||
$this->vars = &$this->_tpldata['.'][0];
|
||||
|
@ -126,6 +126,7 @@ class Template
|
|||
$this->root = $root;
|
||||
$this->tpl = basename($root);
|
||||
$this->lang =& $lang;
|
||||
$this->use_cache = $bb_cfg['xs_use_cache'];
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
@ -39,10 +39,8 @@ switch ($mode)
|
|||
* Регистрация
|
||||
*/
|
||||
case 'register':
|
||||
if (!$can_register)
|
||||
{
|
||||
redirect('index.php');
|
||||
}
|
||||
if (!$can_register) redirect('index.php');
|
||||
|
||||
if (!IS_ADMIN)
|
||||
{
|
||||
// Ограничение по ip
|
||||
|
@ -75,6 +73,7 @@ switch ($mode)
|
|||
'user_email' => true,
|
||||
'user_timezone' => true,
|
||||
'user_lang' => true,
|
||||
'user_opt' => true,
|
||||
);
|
||||
|
||||
$pr_data = array(
|
||||
|
@ -93,10 +92,7 @@ switch ($mode)
|
|||
* Редактирование профиля
|
||||
*/
|
||||
case 'editprofile':
|
||||
if (IS_GUEST)
|
||||
{
|
||||
login_redirect();
|
||||
}
|
||||
if (IS_GUEST) login_redirect();
|
||||
|
||||
// field => can_edit
|
||||
$profile_fields = array(
|
||||
|
@ -137,7 +133,6 @@ switch ($mode)
|
|||
user_id,
|
||||
user_rank,
|
||||
user_level,
|
||||
user_email,
|
||||
$profile_fields_sql
|
||||
FROM ". BB_USERS ."
|
||||
WHERE user_id = $pr_user_id
|
||||
|
@ -326,11 +321,11 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
* Пол (edit, reg)
|
||||
*/
|
||||
case 'user_gender':
|
||||
$gender = isset($_POST['user_gender']) ? (int) $_POST['user_gender'] : $pr_data['user_gender'];
|
||||
if ($submit && $gender != $pr_data['user_gender'])
|
||||
$user_gender = isset($_POST['user_gender']) ? (int) $_POST['user_gender'] : $pr_data['user_gender'];
|
||||
if ($submit && $user_gender != $pr_data['user_gender'])
|
||||
{
|
||||
$pr_data['user_gender'] = $gender;
|
||||
$db_data['user_gender'] = $gender;
|
||||
$pr_data['user_gender'] = $user_gender;
|
||||
$db_data['user_gender'] = $user_gender;
|
||||
}
|
||||
$tp_data['USER_GENDER'] = build_select('user_gender', array_flip($lang['GENDER_SELECT']), $pr_data['user_gender']);
|
||||
break;
|
||||
|
@ -339,38 +334,32 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
* Возраст (edit)
|
||||
*/
|
||||
case 'user_birthday':
|
||||
$user_birthday = ($pr_data['user_birthday'] != '0000-00-00') ? strtotime($pr_data['user_birthday']) : false;
|
||||
$user_birthday = isset($_POST['user_birthday']) ? (string) $_POST['user_birthday'] : $pr_data['user_birthday'];
|
||||
|
||||
$b_day = (isset($_POST['b_day'])) ? (int) $_POST['b_day'] : (($user_birthday) ? date('j', $user_birthday) : 0);
|
||||
$b_md = (isset($_POST['b_md'])) ? (int) $_POST['b_md'] : (($user_birthday) ? date('n', $user_birthday) : 0);
|
||||
$b_year = (isset($_POST['b_year'])) ? (int) $_POST['b_year'] : (($user_birthday) ? date('Y', $user_birthday) : 0);
|
||||
|
||||
if ($b_day || $b_md || $b_year)
|
||||
if ($submit && $user_birthday != $pr_data['user_birthday'])
|
||||
{
|
||||
if (!checkdate($b_md, $b_day, $b_year))
|
||||
$birthday_date = date_parse($user_birthday);
|
||||
|
||||
if (!empty($birthday_date['year']))
|
||||
{
|
||||
if (strtotime($user_birthday) >= TIMENOW)
|
||||
{
|
||||
$errors[] = $lang['WRONG_BIRTHDAY_FORMAT'];
|
||||
$birthday = '';
|
||||
$next_birthday_greeting = 0;
|
||||
}
|
||||
else
|
||||
elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] > $bb_cfg['birthday_max_age'])
|
||||
{
|
||||
$birthday = "$b_year-$b_md-$b_day";
|
||||
$next_birthday_greeting = (date('md') < $b_md . (($b_day <= 9) ? '0' : '') . $b_day) ? date('Y') : date('Y') + 1;
|
||||
$errors[] = sprintf($lang['BIRTHDAY_TO_HIGH'], $bb_cfg['birthday_max_age']);
|
||||
}
|
||||
}
|
||||
else
|
||||
elseif (bb_date(TIMENOW, 'Y', 'false') - $birthday_date['year'] < $bb_cfg['birthday_min_age'])
|
||||
{
|
||||
$birthday = '';
|
||||
$next_birthday_greeting = 0;
|
||||
$errors[] = sprintf($lang['BIRTHDAY_TO_LOW'], $bb_cfg['birthday_min_age']);
|
||||
}
|
||||
}
|
||||
|
||||
if ($submit && $birthday != $pr_data['user_birthday'])
|
||||
{
|
||||
$pr_data['user_birthday'] = $birthday;
|
||||
$db_data['user_birthday'] = $birthday;
|
||||
$db_data['user_next_birthday_greeting'] = $next_birthday_greeting;
|
||||
$pr_data['user_birthday'] = $user_birthday;
|
||||
$db_data['user_birthday'] = $user_birthday;
|
||||
}
|
||||
$tp_data['USER_BIRTHDAY'] = $pr_data['user_birthday'];
|
||||
break;
|
||||
|
||||
/**
|
||||
|
@ -378,24 +367,29 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
*/
|
||||
case 'user_opt':
|
||||
$user_opt = $pr_data['user_opt'];
|
||||
$reg_mode = ($mode == 'register');
|
||||
|
||||
$update_user_opt = array(
|
||||
'viewemail' => true,
|
||||
'allow_viewonline' => true,
|
||||
'notify' => true,
|
||||
'notify_pm' => true,
|
||||
'hide_porn_forums' => true,
|
||||
'allow_dls' => true,
|
||||
# 'user_opt_name' => ($reg_mode) ? #reg_setting : #in_login_change
|
||||
'user_viewemail' => ($reg_mode) ? false : true,
|
||||
'user_viewonline' => ($reg_mode) ? false : true,
|
||||
'user_notify' => ($reg_mode) ? true : true,
|
||||
'user_notify_pm' => ($reg_mode) ? true : true,
|
||||
'user_porn_forums' => ($reg_mode) ? false : true,
|
||||
'user_dls' => ($reg_mode) ? false : true,
|
||||
'user_callseed' => ($reg_mode) ? true : true,
|
||||
);
|
||||
|
||||
foreach ($update_user_opt as $opt => $can_change_opt)
|
||||
{
|
||||
if ($submit && $can_change_opt && isset($_POST[$opt]))
|
||||
if ($submit && (isset($_POST[$opt]) && $can_change_opt || $reg_mode))
|
||||
{
|
||||
setbit($user_opt, $bf['user_opt'][$opt], !empty($_POST[$opt]));
|
||||
$change_opt = ($reg_mode) ? $can_change_opt : !empty($_POST[$opt]);
|
||||
setbit($user_opt, $bf['user_opt'][$opt], $change_opt);
|
||||
}
|
||||
$tp_data[strtoupper($opt)] = bf($user_opt, 'user_opt', $opt);
|
||||
}
|
||||
if ($submit && $user_opt != $pr_data['user_opt'])
|
||||
if ($submit && ($user_opt != $pr_data['user_opt'] || $reg_mode))
|
||||
{
|
||||
$pr_data['user_opt'] = $user_opt;
|
||||
$db_data['user_opt'] = (int) $user_opt;
|
||||
|
@ -406,7 +400,7 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
* Avatar (edit)
|
||||
*/
|
||||
case 'avatar_ext_id':
|
||||
if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'))
|
||||
if ($submit && !bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'))
|
||||
{
|
||||
if (isset($_POST['delete_avatar']))
|
||||
{
|
||||
|
@ -430,6 +424,7 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
}
|
||||
}
|
||||
}
|
||||
$tp_data['AVATARS_MAX_SIZE'] = humn_size($bb_cfg['avatars']['max_size']);
|
||||
break;
|
||||
|
||||
/**
|
||||
|
@ -527,6 +522,7 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
$tp_data['USER_OCC'] = $pr_data['user_occ'];
|
||||
break;
|
||||
|
||||
|
||||
/**
|
||||
* Интересы
|
||||
*/
|
||||
|
@ -558,6 +554,7 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
$tp_data['USER_SKYPE'] = $pr_data['user_skype'];
|
||||
break;
|
||||
|
||||
|
||||
/**
|
||||
* Twitter
|
||||
*/
|
||||
|
@ -605,33 +602,6 @@ foreach ($profile_fields as $field => $can_edit)
|
|||
}
|
||||
}
|
||||
|
||||
if ($bb_cfg['birthday_enabled'] && $mode != 'register')
|
||||
{
|
||||
$days = array($lang['DELTA_TIME']['INTERVALS']['mday'][0] => 0);
|
||||
for ($i = 1; $i <= 31; $i++)
|
||||
{
|
||||
$days[$i] = $i;
|
||||
}
|
||||
$s_birthday = build_select('b_day', $days, $b_day);
|
||||
|
||||
$months = array($lang['DELTA_TIME']['INTERVALS']['mon'][0] => 0);
|
||||
for ($i = 1; $i <= 12; $i++)
|
||||
{
|
||||
$month = bb_date(mktime(0, 0, 0, ($i+1), 0, 0), 'F');
|
||||
$months[$month] = $i;
|
||||
}
|
||||
$s_birthday .= build_select('b_md', $months, $b_md);
|
||||
|
||||
$year = bb_date(TIMENOW, 'Y', 'false');
|
||||
$years = array($lang['DELTA_TIME']['INTERVALS']['year'][0] => 0);
|
||||
for ($i = $year-$bb_cfg['birthday_max_age']; $i <= $year - $bb_cfg['birthday_min_age']; $i++)
|
||||
{
|
||||
$years[$i] = $i;
|
||||
}
|
||||
$s_birthday .= build_select('b_year', $years, $b_year);
|
||||
$tp_data['BIRTHDAY'] = $s_birthday;
|
||||
}
|
||||
|
||||
// submit
|
||||
if ($submit && !$errors)
|
||||
{
|
||||
|
@ -795,10 +765,10 @@ $template->assign_vars(array(
|
|||
'USER_TIMEZONE' => $pr_data['user_timezone'],
|
||||
|
||||
'AVATAR_EXPLAIN' => sprintf($lang['AVATAR_EXPLAIN'], $bb_cfg['avatars']['max_width'], $bb_cfg['avatars']['max_height'], (round($bb_cfg['avatars']['max_size'] / 1024))),
|
||||
'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'allow_avatar'),
|
||||
'AVATAR_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_avatar'),
|
||||
|
||||
'SIGNATURE_EXPLAIN' => sprintf($lang['SIGNATURE_EXPLAIN'], $bb_cfg['max_sig_chars']),
|
||||
'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'allow_sig'),
|
||||
'SIG_DISALLOWED' => bf($pr_data['user_opt'], 'user_opt', 'dis_sig'),
|
||||
|
||||
'PR_USER_ID' => $pr_data['user_id'],
|
||||
'U_RESET_AUTOLOGIN' => LOGIN_URL . "?logout=1&reset_autologin=1&sid={$userdata['session_id']}",
|
||||
|
|
|
@ -45,7 +45,7 @@ if (IS_ADMIN)
|
|||
$rank_select = build_select('rank-sel', $rank_select, $user_rank);
|
||||
}
|
||||
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'viewemail') || $profiledata['user_id'] == $userdata['user_id'] || IS_AM)
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'user_viewemail') || $profiledata['user_id'] == $userdata['user_id'] || IS_AM)
|
||||
{
|
||||
$email_uri = ($bb_cfg['board_email_form']) ? 'profile.php?mode=email&'. POST_USERS_URL .'='. $profiledata['user_id'] : 'mailto:'. $profiledata['user_email'];
|
||||
$email = '<a class="editable" href="'. $email_uri .'">'. $profiledata['user_email'] .'</a>';
|
||||
|
@ -80,7 +80,7 @@ $profile_user_id = ($profiledata['user_id'] == $userdata['user_id']);
|
|||
|
||||
$signature = ($bb_cfg['allow_sig'] && $profiledata['user_sig']) ? $profiledata['user_sig'] : '';
|
||||
|
||||
if(bf($profiledata['user_opt'], 'user_opt', 'allow_sig'))
|
||||
if(bf($profiledata['user_opt'], 'user_opt', 'dis_sig'))
|
||||
{
|
||||
if($profile_user_id)
|
||||
{
|
||||
|
@ -110,38 +110,35 @@ $template->assign_vars(array(
|
|||
'EMAIL' => $email,
|
||||
'WWW' => $profiledata['user_website'],
|
||||
'ICQ' => $profiledata['user_icq'],
|
||||
'LAST_VISIT_TIME' => ($profiledata['user_lastvisit']) ? (bf($profiledata['user_opt'], 'user_opt', 'allow_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_lastvisit'], 'Y-m-d H:i', 'false') : $lang['NEVER'],
|
||||
'LAST_ACTIVITY_TIME' => ($profiledata['user_session_time']) ? (bf($profiledata['user_opt'], 'user_opt', 'allow_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_session_time'], 'Y-m-d H:i', 'false') : $lang['NEVER'],
|
||||
'ALLOW_DLS' => bf($profiledata['user_opt'], 'user_opt', 'allow_dls'),
|
||||
'LOCATION' => $profiledata['user_from'],
|
||||
'LAST_VISIT_TIME' => ($profiledata['user_lastvisit']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_lastvisit'], 'Y-m-d H:i', 'false') : $lang['NEVER'],
|
||||
'LAST_ACTIVITY_TIME' => ($profiledata['user_session_time']) ? (bf($profiledata['user_opt'], 'user_opt', 'user_viewonline') && !IS_ADMIN) ? $lang['HIDDEN_USER'] : bb_date($profiledata['user_session_time'], 'Y-m-d H:i', 'false') : $lang['NEVER'],
|
||||
|
||||
'USER_ACTIVE' => $profiledata['user_active'],
|
||||
'LOCATION' => $profiledata['user_from'],
|
||||
'OCCUPATION' => $profiledata['user_occ'],
|
||||
'INTERESTS' => $profiledata['user_interests'],
|
||||
'SKYPE' => $profiledata['user_skype'],
|
||||
'TWITTER' => $profiledata['user_twitter'],
|
||||
'USER_POINTS' => $profiledata['user_points'],
|
||||
'GENDER' => ($bb_cfg['gender'] && $profiledata['user_gender']) ? $lang['GENDER_SELECT'][$profiledata['user_gender']] : '',
|
||||
'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? date('Y-m-d', strtotime($profiledata['user_birthday'])) : '',
|
||||
'BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? $profiledata['user_birthday'] : '',
|
||||
'AGE' => ($bb_cfg['birthday_enabled'] && $profiledata['user_birthday'] != '0000-00-00') ? birthday_age($profiledata['user_birthday']) : '',
|
||||
|
||||
'L_VIEWING_PROFILE' => sprintf($lang['VIEWING_USER_PROFILE'], $profiledata['username']),
|
||||
'L_MY_PROFILE' => sprintf($lang['VIEWING_MY_PROFILE'], 'profile.php?mode=editprofile'),
|
||||
|
||||
'U_SEARCH_USER' => "search.php?search_author=1&uid={$profiledata['user_id']}",
|
||||
'U_SEARCH_TOPICS' => "search.php?uid={$profiledata['user_id']}&myt=1",
|
||||
'U_SEARCH_RELEASES' => "tracker.php?rid={$profiledata['user_id']}#results",
|
||||
|
||||
'AVATAR_IMG' => get_avatar($profiledata['user_id'], $profiledata['avatar_ext_id'], !bf($profiledata['user_opt'], 'user_opt', 'allow_avatar')),
|
||||
'AVATAR_DISALLOWED' => bf($profiledata['user_opt'], 'user_opt', 'allow_avatar'),
|
||||
|
||||
'S_PROFILE_ACTION' => 'profile.php',
|
||||
'AVATAR_IMG' => get_avatar($profiledata['user_id'], $profiledata['avatar_ext_id'], !bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')),
|
||||
'AVATAR_DISALLOWED' => bf($profiledata['user_opt'], 'user_opt', 'dis_avatar'),
|
||||
|
||||
'SIGNATURE' => $signature,
|
||||
'SHOW_PASSKEY' => (IS_ADMIN || $profile_user_id),
|
||||
'SHOW_ROLE' => (IS_AM || $profile_user_id || $profiledata['user_active']),
|
||||
'GROUP_MEMBERSHIP' => false,
|
||||
'TRAF_STATS' => !(IS_AM || $profile_user_id),
|
||||
'U_MANAGE' => (IS_ADMIN) ? "profile.php?mode=editprofile&u={$profiledata['user_id']}" : 'profile.php?mode=editprofile',
|
||||
));
|
||||
|
||||
if (IS_ADMIN)
|
||||
|
@ -190,6 +187,12 @@ else if (IS_MOD)
|
|||
));
|
||||
}
|
||||
|
||||
// Show users torrent-profile
|
||||
if (IS_AM || $profile_user_id || !bf($profiledata['user_opt'], 'user_opt', 'user_dls'))
|
||||
{
|
||||
require(INC_DIR .'ucp/usercp_viewtorrent.php');
|
||||
}
|
||||
|
||||
// Ajax bt_userdata
|
||||
if (IS_AM || $profile_user_id)
|
||||
{
|
||||
|
@ -205,37 +208,33 @@ else
|
|||
|
||||
if (IS_ADMIN)
|
||||
{
|
||||
$template->assign_vars(array(
|
||||
'EDITABLE_TPLS' => true,
|
||||
'U_PERMISSIONS' => "admin/admin_ug_auth.php?mode=user&u={$profiledata['user_id']}",
|
||||
));
|
||||
|
||||
$ajax_user_opt = bb_json_encode(array(
|
||||
'allow_avatar' => bf($profiledata['user_opt'], 'user_opt', 'allow_avatar'),
|
||||
'allow_sig' => bf($profiledata['user_opt'], 'user_opt', 'allow_sig'),
|
||||
'allow_passkey' => bf($profiledata['user_opt'], 'user_opt', 'allow_passkey'),
|
||||
'allow_pm' => bf($profiledata['user_opt'], 'user_opt', 'allow_pm'),
|
||||
'allow_post' => bf($profiledata['user_opt'], 'user_opt', 'allow_post'),
|
||||
'allow_post_edit' => bf($profiledata['user_opt'], 'user_opt', 'allow_post_edit'),
|
||||
'allow_topic' => bf($profiledata['user_opt'], 'user_opt', 'allow_topic'),
|
||||
'dis_avatar' => bf($profiledata['user_opt'], 'user_opt', 'dis_avatar'),
|
||||
'dis_sig' => bf($profiledata['user_opt'], 'user_opt', 'dis_sig'),
|
||||
'dis_passkey' => bf($profiledata['user_opt'], 'user_opt', 'dis_passkey'),
|
||||
'dis_pm' => bf($profiledata['user_opt'], 'user_opt', 'dis_pm'),
|
||||
'dis_post' => bf($profiledata['user_opt'], 'user_opt', 'dis_post'),
|
||||
'dis_post_edit' => bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit'),
|
||||
'dis_topic' => bf($profiledata['user_opt'], 'user_opt', 'dis_topic'),
|
||||
));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'EDITABLE_TPLS' => true,
|
||||
'AJAX_USER_OPT' => $ajax_user_opt,
|
||||
'EMAIL_ADDRESS' => htmlCHR($profiledata['user_email']),
|
||||
'U_MANAGE' => "profile.php?mode=editprofile&u={$profiledata['user_id']}",
|
||||
'U_PERMISSIONS' => "admin/admin_ug_auth.php?mode=user&u={$profiledata['user_id']}",
|
||||
));
|
||||
}
|
||||
|
||||
$user_restrictions = array();
|
||||
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_sig')) $user_restrictions[] = $lang['SHOW_CAPTION'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_pm')) $user_restrictions[] = $lang['SEND_PM'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_post')) $user_restrictions[] = $lang['SEND_MESSAGE'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_post_edit')) $user_restrictions[] = $lang['EDIT_POST'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'allow_topic')) $user_restrictions[] = $lang['NEW_THREADS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_avatar')) $user_restrictions[] = $lang['HIDE_AVATARS'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_sig')) $user_restrictions[] = $lang['SHOW_CAPTION'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_passkey')) $user_restrictions[] = $lang['DOWNLOAD_TORRENT'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_pm')) $user_restrictions[] = $lang['SEND_PM'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post')) $user_restrictions[] = $lang['SEND_MESSAGE'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_post_edit')) $user_restrictions[] = $lang['EDIT_POST'];
|
||||
if (bf($profiledata['user_opt'], 'user_opt', 'dis_topic')) $user_restrictions[] = $lang['NEW_THREADS'];
|
||||
|
||||
$template->assign_var('USER_RESTRICTIONS', join('</li><li>', $user_restrictions));
|
||||
|
||||
|
|
162
upload/includes/ucp/usercp_viewtorrent.php
Normal file
162
upload/includes/ucp/usercp_viewtorrent.php
Normal file
|
@ -0,0 +1,162 @@
|
|||
<?php
|
||||
|
||||
if (!defined('IN_PROFILE')) die(basename(__FILE__));
|
||||
|
||||
$releasing = $seeding = $leeching = array();
|
||||
$releasing_count = $seeding_count = $leeching_count = 0;
|
||||
|
||||
// Auth
|
||||
$excluded_forums_csv = $user->get_excluded_forums(AUTH_VIEW);
|
||||
$not_auth_forums_sql = ($excluded_forums_csv) ? "
|
||||
AND f.forum_id NOT IN($excluded_forums_csv)
|
||||
AND f.forum_parent NOT IN($excluded_forums_csv)
|
||||
" : '';
|
||||
|
||||
$sql = DB()->fetch_rowset("
|
||||
SELECT
|
||||
f.forum_id, f.forum_name, t.topic_title,
|
||||
tor.tor_type, tor.size,
|
||||
sn.seeders, sn.leechers, tr.*
|
||||
FROM ". BB_FORUMS ." f, ". BB_TOPICS ." t, ". BB_BT_TRACKER ." tr, ". BB_BT_TORRENTS ." tor, ". BB_BT_TRACKER_SNAP ." sn
|
||||
WHERE tr.user_id = {$profiledata['user_id']}
|
||||
AND tr.topic_id = tor.topic_id
|
||||
AND sn.topic_id = tor.topic_id
|
||||
AND tor.topic_id = t.topic_id
|
||||
AND t.forum_id = f.forum_id
|
||||
$not_auth_forums_sql
|
||||
GROUP BY tr.topic_id
|
||||
ORDER BY f.forum_name, t.topic_title
|
||||
");
|
||||
|
||||
foreach ($sql as $rowset)
|
||||
{
|
||||
if ($rowset['releaser'])
|
||||
{
|
||||
$releasing[] = $rowset;
|
||||
}
|
||||
elseif ($rowset['seeder'])
|
||||
{
|
||||
$seeding[] = $rowset;
|
||||
}
|
||||
else
|
||||
{
|
||||
$leeching[] = $rowset;
|
||||
}
|
||||
}
|
||||
|
||||
if ($releasing)
|
||||
{
|
||||
foreach ($releasing as $i => $row)
|
||||
{
|
||||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$topic_title = wbr($row['topic_title']);
|
||||
|
||||
$template->assign_block_vars('released', array(
|
||||
'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2',
|
||||
'FORUM_NAME' => htmlCHR($row['forum_name']),
|
||||
'TOPIC_TITLE' => ($row['update_time']) ? $topic_title : "<s>$topic_title</s>",
|
||||
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
|
||||
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
$releasing_count++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($seeding)
|
||||
{
|
||||
foreach ($seeding as $i => $row)
|
||||
{
|
||||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'. $lang['GOLD'] .'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'. $lang['SILVER'] .'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$topic_title = wbr($row['topic_title']);
|
||||
|
||||
$template->assign_block_vars('seed', array(
|
||||
'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2',
|
||||
'FORUM_NAME' => htmlCHR($row['forum_name']),
|
||||
'TOPIC_TITLE' => ($row['update_time']) ? $topic_title : "<s>$topic_title</s>",
|
||||
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
|
||||
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_UP' => ($row['speed_up']) ? humn_size($row['speed_up'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
$seeding_count++;
|
||||
}
|
||||
}
|
||||
|
||||
if ($leeching)
|
||||
{
|
||||
foreach ($leeching as $i => $row)
|
||||
{
|
||||
$is_gold = '';
|
||||
if ($tr_cfg['gold_silver_enabled'])
|
||||
{
|
||||
if ($row['tor_type'] == TOR_TYPE_GOLD)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_gold.gif" width="16" height="15" title="'.$lang['GOLD'].'" /> ';
|
||||
}
|
||||
elseif ($row['tor_type'] == TOR_TYPE_SILVER)
|
||||
{
|
||||
$is_gold = '<img src="images/tor_silver.gif" width="16" height="15" title="'.$lang['SILVER'].'" /> ';
|
||||
}
|
||||
}
|
||||
|
||||
$compl_size = ($row['remain'] && $row['size'] && $row['size'] > $row['remain']) ? ($row['size'] - $row['remain']) : 0;
|
||||
$compl_perc = ($compl_size) ? floor($compl_size * 100 / $row['size']) : 0;
|
||||
$topic_title = wbr($row['topic_title']);
|
||||
|
||||
$template->assign_block_vars('leech', array(
|
||||
'ROW_CLASS' => !($i % 2) ? 'row1' : 'row2',
|
||||
'FORUM_NAME' => htmlCHR($row['forum_name']),
|
||||
'TOPIC_TITLE' => ($row['update_time']) ? $topic_title : "<s>$topic_title</s>",
|
||||
'U_VIEW_FORUM' => FORUM_URL . $row['forum_id'],
|
||||
'U_VIEW_TOPIC' => TOPIC_URL . $row['topic_id'],
|
||||
'COMPL_PERC' => $compl_perc,
|
||||
'TOR_TYPE' => $is_gold,
|
||||
'TOPIC_SEEDERS' => ($row['seeders']) ? $row['seeders'] : 0,
|
||||
'TOPIC_LEECHERS' => ($row['leechers']) ? $row['leechers'] : 0,
|
||||
'SPEED_DOWN' => ($row['speed_down']) ? humn_size($row['speed_down'], 0, 'KB') .'/s' : '-',
|
||||
));
|
||||
|
||||
$leeching_count++;
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'SHOW_SEARCH_DL' => IS_AM || $profile_user_id,
|
||||
'USERNAME' => $profiledata['username'],
|
||||
'L_RELEASINGS' => "{$lang['RELEASING']}: ". (($releasing_count) ? "<b>$releasing_count</b>" : '0'),
|
||||
'L_SEEDINGS' => "{$lang['SEEDING']}: ". (($seeding_count) ? "<b>$seeding_count</b>" : '0'),
|
||||
'L_LEECHINGS' => "{$lang['LEECHING']}: ". (($leeching_count) ? "<b>$leeching_count</b>" : '0'),
|
||||
'USER_DLS' => $releasing_count || $seeding_count || $leeching_count,
|
||||
));
|
|
@ -168,8 +168,7 @@ if (!$cat_forums = CACHE('bb_cache')->get($cache_name))
|
|||
$cat_forums[$cat_id]['f'][$forum_id] = $row;
|
||||
}
|
||||
CACHE('bb_cache')->set($cache_name, $cat_forums, 180);
|
||||
unset($row);
|
||||
unset($forums);
|
||||
unset($row, $forums);
|
||||
$datastore->rm('cat_forums');
|
||||
}
|
||||
|
||||
|
@ -194,7 +193,7 @@ if (!empty($mod))
|
|||
{
|
||||
foreach ($group_ids as $group_id)
|
||||
{
|
||||
$moderators[$forum_id][] = '<a href="'. (GROUP_URL . $group_id) .'">'. $mod['name_groups'][$group_id] .'</a>';
|
||||
$moderators[$forum_id][] = '<a href="'. GROUP_URL . $group_id .'">'. $mod['name_groups'][$group_id] .'</a>';
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -202,44 +201,8 @@ if (!empty($mod))
|
|||
unset($mod);
|
||||
$datastore->rm('moderators');
|
||||
|
||||
if (!$forums_count = count($cat_forums) AND $viewcat)
|
||||
{
|
||||
redirect("index.php");
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'SHOW_FORUMS' => $forums_count,
|
||||
'PAGE_TITLE' => ($viewcat) ? $cat_title_html[$viewcat] : $lang['HOME'],
|
||||
'NO_FORUMS_MSG' => ($only_new) ? $lang['NO_NEW_POSTS'] : $lang['NO_FORUMS'],
|
||||
|
||||
'TOTAL_TOPICS' => sprintf($lang['POSTED_TOPICS_TOTAL'], $stats['topiccount']),
|
||||
'TOTAL_POSTS' => sprintf($lang['POSTED_ARTICLES_TOTAL'], $stats['postcount']),
|
||||
'TOTAL_USERS' => sprintf($lang['REGISTERED_USERS_TOTAL'], $stats['usercount']),
|
||||
'TOTAL_GENDER' => ($bb_cfg['gender']) ? sprintf($lang['USERS_TOTAL_GENDER'], $stats['male'], $stats['female'], $stats['unselect']) : '',
|
||||
'NEWEST_USER' => sprintf($lang['NEWEST_USER'], profile_url($stats['newestuser'])),
|
||||
|
||||
// Tracker stats
|
||||
'TORRENTS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '',
|
||||
'PEERS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '',
|
||||
'SPEED_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) .'/s') : '',
|
||||
'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'],
|
||||
'FORUM_IMG' => $images['forum'],
|
||||
'FORUM_NEW_IMG' => $images['forum_new'],
|
||||
'FORUM_LOCKED_IMG' => $images['forum_locked'],
|
||||
|
||||
'SHOW_ONLY_NEW_MENU' => true,
|
||||
'ONLY_NEW_POSTS_ON' => ($only_new == ONLY_NEW_POSTS),
|
||||
'ONLY_NEW_TOPICS_ON' => ($only_new == ONLY_NEW_TOPICS),
|
||||
|
||||
'U_SEARCH_NEW' => "search.php?new=1",
|
||||
'U_SEARCH_SELF_BY_MY' => "search.php?uid={$userdata['user_id']}&o=1",
|
||||
'U_SEARCH_LATEST' => "search.php?search_id=latest",
|
||||
'U_SEARCH_UNANSWERED' => "search.php?search_id=unanswered",
|
||||
|
||||
'SHOW_LAST_TOPIC' => $show_last_topic,
|
||||
));
|
||||
|
||||
// Build index page
|
||||
$forums_count = 0;
|
||||
foreach ($cat_forums as $cid => $c)
|
||||
{
|
||||
$template->assign_block_vars('h_c', array(
|
||||
|
@ -252,7 +215,7 @@ foreach ($cat_forums as $cid => $c)
|
|||
'H_C_AL_MESS' => ($hide_cat_opt && !$showhide) ? true : false
|
||||
));
|
||||
|
||||
if (!$showhide && isset($hide_cat_user[$cid]))
|
||||
if (!$showhide && isset($hide_cat_user[$cid]) && !$viewcat)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
@ -260,7 +223,7 @@ foreach ($cat_forums as $cid => $c)
|
|||
$template->assign_block_vars('c', array(
|
||||
'CAT_ID' => $cid,
|
||||
'CAT_TITLE' => $cat_title_html[$cid],
|
||||
'U_VIEWCAT' => "index.php?c=$cid",
|
||||
'U_VIEWCAT' => CAT_URL . $cid,
|
||||
));
|
||||
|
||||
foreach ($c['f'] as $fid => $f)
|
||||
|
@ -271,6 +234,7 @@ foreach ($cat_forums as $cid => $c)
|
|||
}
|
||||
$is_sf = $f['forum_parent'];
|
||||
|
||||
$forums_count++;
|
||||
$new = is_unread($f['last_post_time'], $f['last_topic_id'], $f['forum_id']) ? '_new' : '';
|
||||
$folder_image = ($is_sf) ? $images["icon_minipost{$new}"] : $images["forum{$new}"];
|
||||
|
||||
|
@ -316,6 +280,38 @@ foreach ($cat_forums as $cid => $c)
|
|||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'SHOW_FORUMS' => $forums_count,
|
||||
'PAGE_TITLE' => ($viewcat) ? $cat_title_html[$viewcat] : $lang['HOME'],
|
||||
'NO_FORUMS_MSG' => ($only_new) ? $lang['NO_NEW_POSTS'] : $lang['NO_FORUMS'],
|
||||
|
||||
'TOTAL_TOPICS' => sprintf($lang['POSTED_TOPICS_TOTAL'], $stats['topiccount']),
|
||||
'TOTAL_POSTS' => sprintf($lang['POSTED_ARTICLES_TOTAL'], $stats['postcount']),
|
||||
'TOTAL_USERS' => sprintf($lang['REGISTERED_USERS_TOTAL'], $stats['usercount']),
|
||||
'TOTAL_GENDER' => ($bb_cfg['gender']) ? sprintf($lang['USERS_TOTAL_GENDER'], $stats['male'], $stats['female'], $stats['unselect']) : '',
|
||||
'NEWEST_USER' => sprintf($lang['NEWEST_USER'], profile_url($stats['newestuser'])),
|
||||
|
||||
// Tracker stats
|
||||
'TORRENTS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['TORRENTS_STAT'], $stats['torrentcount'], humn_size($stats['size'])) : '',
|
||||
'PEERS_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['PEERS_STAT'], $stats['peers'], $stats['seeders'], $stats['leechers']) : '',
|
||||
'SPEED_STAT' => ($bb_cfg['tor_stats']) ? sprintf($lang['SPEED_STAT'], humn_size($stats['speed']) .'/s') : '',
|
||||
'SHOW_MOD_INDEX' => $bb_cfg['show_mod_index'],
|
||||
'FORUM_IMG' => $images['forum'],
|
||||
'FORUM_NEW_IMG' => $images['forum_new'],
|
||||
'FORUM_LOCKED_IMG' => $images['forum_locked'],
|
||||
|
||||
'SHOW_ONLY_NEW_MENU' => true,
|
||||
'ONLY_NEW_POSTS_ON' => ($only_new == ONLY_NEW_POSTS),
|
||||
'ONLY_NEW_TOPICS_ON' => ($only_new == ONLY_NEW_TOPICS),
|
||||
|
||||
'U_SEARCH_NEW' => "search.php?new=1",
|
||||
'U_SEARCH_SELF_BY_MY' => "search.php?uid={$userdata['user_id']}&o=1",
|
||||
'U_SEARCH_LATEST' => "search.php?search_id=latest",
|
||||
'U_SEARCH_UNANSWERED' => "search.php?search_id=unanswered",
|
||||
|
||||
'SHOW_LAST_TOPIC' => $show_last_topic,
|
||||
));
|
||||
|
||||
// Set tpl vars for bt_userdata
|
||||
if ($bb_cfg['bt_show_dl_stat_on_index'] && !IS_GUEST)
|
||||
{
|
||||
|
@ -386,7 +382,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
|
|||
continue;
|
||||
}
|
||||
|
||||
$week_list[] = profile_url($week) .' <span class="small">('. birthday_age($week['age']) .')</span>';
|
||||
$week_list[] = profile_url($week) .' <span class="small">('. birthday_age($week['user_birthday']) .')</span>';
|
||||
}
|
||||
$week_all = ($week_all) ? ' <a class="txtb" href="#" onclick="ajax.exec({action: \'index_data\', mode: \'birthday_week\'}); return false;" title="'. $lang['ALL'] .'">...</a>' : '';
|
||||
$week_list = sprintf($lang['BIRTHDAY_WEEK'], $bb_cfg['birthday_check_day'], join(', ', $week_list)) . $week_all;
|
||||
|
@ -404,7 +400,7 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
|
|||
continue;
|
||||
}
|
||||
|
||||
$today_list[] = profile_url($today) .' <span class="small">('. birthday_age($today['age']) .')</span>';
|
||||
$today_list[] = profile_url($today) .' <span class="small">('. birthday_age($today['user_birthday']) .')</span>';
|
||||
}
|
||||
$today_all = ($today_all) ? ' <a class="txtb" href="#" onclick="ajax.exec({action: \'index_data\', mode: \'birthday_today\'}); return false;" title="'. $lang['ALL'] .'">...</a>' : '';
|
||||
$today_list = $lang['BIRTHDAY_TODAY'] . join(', ', $today_list) . $today_all;
|
||||
|
@ -420,9 +416,9 @@ if ($bb_cfg['birthday_check_day'] && $bb_cfg['birthday_enabled'])
|
|||
// Allow cron
|
||||
if (IS_AM)
|
||||
{
|
||||
if (@file_exists(CRON_RUNNING))
|
||||
if (file_exists(CRON_RUNNING))
|
||||
{
|
||||
if (@file_exists(CRON_ALLOWED))
|
||||
if (file_exists(CRON_ALLOWED))
|
||||
{
|
||||
unlink (CRON_ALLOWED);
|
||||
}
|
||||
|
|
|
@ -508,6 +508,7 @@ $lang['OUTBOX_EXPL'] = '';
|
|||
// Profiles/Registration
|
||||
//
|
||||
$lang['VIEWING_USER_PROFILE'] = 'Viewing profile :: %s';
|
||||
$lang['VIEWING_MY_PROFILE'] = 'My profile [ <a href="%s">Settings / Change profile</a> ]';
|
||||
|
||||
$lang['DISABLED_USER'] = 'Account disabled';
|
||||
$lang['MANAGE_USER'] = 'Administration';
|
||||
|
@ -554,7 +555,7 @@ $lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Sends an e-mail when someone replies to a topi
|
|||
$lang['BOARD_LANG'] = 'Board Language';
|
||||
$lang['GENDER'] = 'Gender';
|
||||
$lang['GENDER_SELECT'] = array(
|
||||
0 => 'Unselect',
|
||||
0 => 'Unknown',
|
||||
1 => 'Male',
|
||||
2 => 'Female'
|
||||
);
|
||||
|
@ -600,7 +601,7 @@ $lang['RESET_AUTOLOGIN_EXPL'] = '';
|
|||
|
||||
$lang['AVATAR'] = 'Avatar';
|
||||
$lang['AVATAR_EXPLAIN'] = 'Displays a small graphic image below your details in posts. Only one image can be displayed at a time, its width can be no greater than %d pixels, the height no greater than %d pixels, and the file size no more than %d KB.';
|
||||
$lang['UPLOAD_AVATAR_FILE'] = 'Upload Avatar from your machine';
|
||||
$lang['UPLOAD_AVATAR_FILE'] = 'Upload Avatar';
|
||||
|
||||
$lang['SELECT_AVATAR'] = 'Select avatar';
|
||||
$lang['RETURN_PROFILE'] = 'Return to profile';
|
||||
|
@ -1159,8 +1160,8 @@ $lang['SPEED_DOWN'] = 'Speed Down';
|
|||
$lang['SEEDERS'] = 'Seeders';
|
||||
$lang['LEECHERS'] = 'Leechers';
|
||||
$lang['RELEASING'] = 'Self';
|
||||
$lang['SEEDING'] = 'Seeding';
|
||||
$lang['LEECHING'] = 'Leeching';
|
||||
$lang['SEEDING'] = 'Seed';
|
||||
$lang['LEECHING'] = 'Leech';
|
||||
$lang['IS_REGISTERED'] = 'Registered';
|
||||
$lang['MAGNET'] = 'Magnet';
|
||||
|
||||
|
@ -1315,9 +1316,7 @@ $lang['NOT_TORRENT'] = 'This file is not torrent';
|
|||
$lang['ONLY_1_TOR_PER_POST'] = 'You can register only one torrent in one post';
|
||||
$lang['ONLY_1_TOR_PER_TOPIC'] = 'You can register only one torrent in one topic';
|
||||
$lang['VIEWING_USER_BT_PROFILE'] = 'Viewing torrent-profile :: %s'; // %s is username
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Currently active torrents';
|
||||
$lang['CUR_ACTIVE_DLS_ERROR'] = 'User does not download and seeding';
|
||||
$lang['CUR_ACTIVE_DLS_DISALLOWED'] = 'Browse the user denied active torrents';
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Active torrents';
|
||||
|
||||
$lang['TD_TRAF'] = 'Today';
|
||||
$lang['YS_TRAF'] = 'Yesterday';
|
||||
|
@ -1555,8 +1554,6 @@ $lang['NOTICE'] = '!ATTENTION!';
|
|||
$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0=';
|
||||
$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!';
|
||||
|
||||
$lang['CALLSEED'] = 'Downloaded the call';
|
||||
|
||||
// FILELIST
|
||||
$lang['FILELIST'] = 'Filelist';
|
||||
$lang['COLLAPSE'] = 'Collapse directory';
|
||||
|
@ -1736,7 +1733,6 @@ $lang['INDEXER'] = "Reindex search";
|
|||
$lang['FORUM_STYLE'] = 'Forum style';
|
||||
|
||||
$lang['LINKS_ARE_FORBIDDEN'] = 'Links are forbidden';
|
||||
$lang['YOU_ARE_BEING_CHEATED'] = 'Looks like you are being cheated<br />Site is opened in frame. The current address is';
|
||||
|
||||
$lang['DONATION'] = 'Donation';
|
||||
|
||||
|
@ -2861,18 +2857,13 @@ $lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Topic has been moved from forum [b]%s[/b] to
|
|||
$lang['BOT_MESS_SPLITS'] = 'Topic has been split. New topic - [b]%s[/b][br][br]%s';
|
||||
$lang['BOT_TOPIC_SPLITS'] = 'Topic has been split from [b]%s[/b][br][br]%s';
|
||||
|
||||
$lang['CALLSEED_SUBJ'] = 'Download help %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Hello!<br><br>Your help is needed in the release <a href="viewtopic.php?t=%s" target=_blank>%s :: %s </a><br>If you decide to help, but already deleted the torrent file, you can download it <a href="download.php?id=%s">this</a><br><br>I hope for your help!';
|
||||
|
||||
$lang['CALLSEED_MSG_OK'] = '<b>Message (PM) has been sent to all those who downloaded this release</b>';
|
||||
$lang['CALLSEED_MSG_SPAM'] = '<b><font color=red>Request has already been once successfully sent</b> (Probably not you)</font>
|
||||
<br><br>The next opportunity to send a request to be <b>%s</b> hours<!-- <b>%s</b> minute -->. <br>
|
||||
Call you can download it only once in <b>day</b>';
|
||||
$lang['CALLSEED_MSG_MSG'] = 'Error sending message';
|
||||
$lang['CALLSEED_MSG_MSG_TEXT'] = 'Error saving text messages';
|
||||
$lang['CALLSEED_MSG_POPUP'] = 'Error of popup';
|
||||
$lang['CALLSEED_MSG_TIME'] = 'Unable to set the last query';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Topic does not require help (<b>Seeders:</b> %d, <b>Leechers:</b> %d)';
|
||||
$lang['CALLSEED'] = 'Downloaded the call';
|
||||
$lang['CALLSEED_EXPLAIN'] = 'Take notice with a request to return to the distribution?';
|
||||
$lang['CALLSEED_SUBJECT'] = 'Download help %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Hello![br]Your help is needed in the release [url=%s]%s[/url][br]If you decide to help, but already deleted the torrent file, you can download it [url=%s]this[/url][br][br]I hope for your help!';
|
||||
$lang['CALLSEED_MSG_OK'] = 'Message has been sent to all those who downloaded this release';
|
||||
$lang['CALLSEED_MSG_SPAM'] = 'Request has already been once successfully sent (Probably not you)<br /><br />The next opportunity to send a request to be <b>%s</b>.';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Topic does not require help (<b>Seeders:</b> %d)';
|
||||
|
||||
$lang['LOG_ACTION']['LOG_TYPE'] = array(
|
||||
'mod_topic_delete' => 'Topic:<br /> <b>deleted</b>',
|
||||
|
|
|
@ -149,7 +149,7 @@ $lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Наши пользователи не о
|
|||
$lang['POSTED_ARTICLES_TOTAL'] = 'Наши пользователи оставили сообщений: <b>%s</b>'; // Number of posts
|
||||
$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'У нас нет зарегистрированных пользователей'; // # registered users
|
||||
$lang['REGISTERED_USERS_TOTAL'] = 'Всего зарегистрированных пользователей: <b>%s</b>'; // # registered users
|
||||
$lang['USERS_TOTAL_GENDER'] = 'Парней: <b>%d</b>, Девушек: <b>%d</b>, Не указан: <b>%d</b>';
|
||||
$lang['USERS_TOTAL_GENDER'] = 'Парней: <b>%d</b>, Девушек: <b>%d</b>, Не указали: <b>%d</b>';
|
||||
$lang['NEWEST_USER'] = 'Последний зарегистрированный пользователь: <b>%s</b>'; // username
|
||||
|
||||
// Tracker stats
|
||||
|
@ -185,7 +185,7 @@ $lang['USER_WELCOME'] = 'Рады видеть вас, ';
|
|||
//
|
||||
$lang['HOME'] = 'Главная';
|
||||
$lang['NO_POSTS'] = 'Нет сообщений';
|
||||
$lang['NO_FORUMS'] = 'На этом сайте нет форумов';
|
||||
$lang['NO_FORUMS'] = 'Нет доступных для показа форумов';
|
||||
|
||||
$lang['PRIVATE_MESSAGE'] = 'Личное сообщение';
|
||||
$lang['PRIVATE_MESSAGES'] = 'Личные сообщения';
|
||||
|
@ -509,6 +509,7 @@ $lang['OUTBOX_EXPL'] = 'В папке <b>Исходящие</b> находятс
|
|||
// Profiles/Registration
|
||||
//
|
||||
$lang['VIEWING_USER_PROFILE'] = 'Профиль пользователя %s';
|
||||
$lang['VIEWING_MY_PROFILE'] = 'Мой профиль [ <a href="%s">Настройки / Изменить профиль</a> ]';
|
||||
|
||||
$lang['DISABLED_USER'] = 'Пользователь деактивирован';
|
||||
$lang['MANAGE_USER'] = 'Администрирование';
|
||||
|
@ -556,7 +557,7 @@ $lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Когда кто-нибудь ответит
|
|||
$lang['BOARD_LANG'] = 'Язык';
|
||||
$lang['GENDER'] = 'Пол';
|
||||
$lang['GENDER_SELECT'] = array(
|
||||
0 => 'Не определилось',
|
||||
0 => 'Не указан',
|
||||
1 => 'Мужской',
|
||||
2 => 'Женский'
|
||||
);
|
||||
|
@ -590,7 +591,7 @@ $lang['PUBLIC_VIEW_EMAIL'] = 'Показывать мой адрес e-mail в
|
|||
$lang['EMAIL_EXPLAIN'] = 'На этот адрес вам будет отправлено письмо для завершения регистрации';
|
||||
|
||||
$lang['CURRENT_PASSWORD'] = 'Текущий пароль';
|
||||
$lang['NEW_PASSWORD'] = 'Новый пароль';
|
||||
$lang['NEW_PASSWORD'] = "Новый пароль\n";
|
||||
$lang['CONFIRM_PASSWORD'] = 'Подтвердите пароль';
|
||||
$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Вы должны указать ваш текущий пароль, если хотите изменить его или поменять свой email.';
|
||||
$lang['PASSWORD_IF_CHANGED'] = 'Указывайте пароль только если вы хотите его поменять';
|
||||
|
@ -602,7 +603,7 @@ $lang['RESET_AUTOLOGIN_EXPL'] = 'включая все места, где вы
|
|||
|
||||
$lang['AVATAR'] = 'Аватара';
|
||||
$lang['AVATAR_EXPLAIN'] = 'Показывает небольшое изображение под информацией о вас в сообщениях. Может быть показано только одно изображение, шириной не более %d пикселов, высотой не более %d пикселов и объемом не более %d кб.';
|
||||
$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару с вашего компьютера';
|
||||
$lang['UPLOAD_AVATAR_FILE'] = 'Загрузить аватару';
|
||||
|
||||
$lang['SELECT_AVATAR'] = 'Выберите аватару';
|
||||
$lang['RETURN_PROFILE'] = 'Вернуться к профилю';
|
||||
|
@ -1163,8 +1164,8 @@ $lang['SPEED_DOWN'] = 'Скорость скачивания';
|
|||
$lang['SEEDERS'] = 'Сидов';
|
||||
$lang['LEECHERS'] = 'Личеров';
|
||||
$lang['RELEASING'] = 'Свои';
|
||||
$lang['SEEDING'] = 'Раздает';
|
||||
$lang['LEECHING'] = 'Качает';
|
||||
$lang['SEEDING'] = 'Сидер';
|
||||
$lang['LEECHING'] = 'Личер';
|
||||
$lang['IS_REGISTERED'] = 'Зарегистрирован';
|
||||
$lang['MAGNET'] = 'Magnet';
|
||||
|
||||
|
@ -1319,9 +1320,7 @@ $lang['NOT_TORRENT'] = 'Это не торрент-файл';
|
|||
$lang['ONLY_1_TOR_PER_POST'] = 'Вы не можете зарегистрировать еще один торрент для этого сообщения';
|
||||
$lang['ONLY_1_TOR_PER_TOPIC'] = 'Вы не можете зарегистрировать еще один торрент для этого топика';
|
||||
$lang['VIEWING_USER_BT_PROFILE'] = 'Торрент-профиль'; // %s is username
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Текущие активные торренты';
|
||||
$lang['CUR_ACTIVE_DLS_ERROR'] = 'Пользователь ничего не скачивает и не сидирует';
|
||||
$lang['CUR_ACTIVE_DLS_DISALLOWED'] = 'Пользователь запретил просматривать его активные торренты';
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Активные раздачи';
|
||||
|
||||
$lang['TD_TRAF'] = 'Сегодня';
|
||||
$lang['YS_TRAF'] = 'Вчера';
|
||||
|
@ -1559,8 +1558,6 @@ $lang['NOTICE'] = '!ВНИМАНИЕ!';
|
|||
$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0=';
|
||||
$lang['COPY'] = 'Сайт не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете, чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами, и мы незамедлительно удалим ее. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несет ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!';
|
||||
|
||||
$lang['CALLSEED'] = 'Позвать скачавших';
|
||||
|
||||
// FILELIST
|
||||
$lang['FILELIST'] = 'Список файлов';
|
||||
$lang['COLLAPSE'] = 'Свернуть директории';
|
||||
|
@ -1742,7 +1739,6 @@ $lang['INDEXER'] = "Переиндексировать поиск";
|
|||
$lang['FORUM_STYLE'] = 'Стиль форума';
|
||||
|
||||
$lang['LINKS_ARE_FORBIDDEN'] = 'Ссылки запрещены';
|
||||
$lang['YOU_ARE_BEING_CHEATED'] = 'Похоже, вас пытаются обмануть<br />Сайт открыт во фрейме. Текущий адрес';
|
||||
|
||||
$lang['DONATION'] = 'Помощь трекеру';
|
||||
|
||||
|
@ -2873,18 +2869,13 @@ $lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Топик был перенесен из ф
|
|||
$lang['BOT_MESS_SPLITS'] = 'Сообщения из этой темы были выделены в отдельный топик [b]%s[/b][br][br]%s';
|
||||
$lang['BOT_TOPIC_SPLITS'] = 'Тема была выделена из [b]%s[/b][br][br]%s';
|
||||
|
||||
$lang['CALLSEED_SUBJ'] = 'Помогите скачать %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Здравствуйте!<br><br>Ваша помощь необходима в раздаче <a href="viewtopic.php?t=%s" target=_blank>%s :: %s </a><br>Если вы решили помочь, но уже удалили торрент-файл, можете скачать его <a href="download.php?id=%s">здесь</a><br><br>Надеюсь на вашу помощь!';
|
||||
|
||||
$lang['CALLSEED_MSG_OK'] = '<b>Сообщение (ЛС) успешно отправлено всем скачавшим данный релиз</b>';
|
||||
$lang['CALLSEED_MSG_SPAM'] = '<b><font color=red>Запрос уже был однажды успешно отослан</b> (возможно не Вами)</font>
|
||||
<br><br>Следующая возможность отослать запрос будет через <b>%s</b> часов<!-- <b>%s</b> минут -->. <br>
|
||||
Позвать скачавших можно лишь один раз в <b>сутки</b>';
|
||||
$lang['CALLSEED_MSG_MSG'] = 'Ошибка отправки сообщения';
|
||||
$lang['CALLSEED_MSG_MSG_TEXT'] = 'Ошибка сохранения текста сообщения';
|
||||
$lang['CALLSEED_MSG_POPUP'] = 'Ошибка работы всплывающего окна';
|
||||
$lang['CALLSEED_MSG_TIME'] = 'Не удалось установить время последнего запроса';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Раздача не нуждается в помощи (<b>Сидеров:</b> %d, <b>Личеров:</b> %d)';
|
||||
$lang['CALLSEED'] = 'Позвать скачавших';
|
||||
$lang['CALLSEED_EXPLAIN'] = 'Принимать уведомления с просьбой вернуться на раздачу?';
|
||||
$lang['CALLSEED_SUBJECT'] = 'Помогите скачать %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Здравствуйте![br]Ваша помощь необходима в раздаче [url=%s]%s[/url][br]Если Вы решили помочь, но уже удалили торрент-файл, Вы можете скачать его [url=%s]здесь[/url][br][br]Надеюсь на Вашу помощь!';
|
||||
$lang['CALLSEED_MSG_OK'] = 'Сообщения успешно отправлены всем скачавшим данный релиз';
|
||||
$lang['CALLSEED_MSG_SPAM'] = 'Запрос уже был отправлен (возможно не Вами)<br /><br />Следующая возможность отправить запрос будет через <b>%s</b>.';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Раздача не нуждается в помощи (<b>Сидеров:</b> %d)';
|
||||
|
||||
$lang['LOG_ACTION']['LOG_TYPE'] = array(
|
||||
'mod_topic_delete' => 'Топик:<br /> <b>удален</b>',
|
||||
|
|
|
@ -148,7 +148,7 @@ $lang['POSTED_ARTICLES_ZERO_TOTAL'] = 'Наші користувачі не за
|
|||
$lang['POSTED_ARTICLES_TOTAL'] = 'Наші користувачі залишили повідомлень: <b>%s</b>'; // Number of posts
|
||||
$lang['REGISTERED_USERS_ZERO_TOTAL'] = 'У нас немає зареєстрованих користувачів'; // # registered users
|
||||
$lang['REGISTERED_USERS_TOTAL'] = 'Всього зареєстрованих користувачів: <b>%s</b>'; // # registered users
|
||||
$lang['USERS_TOTAL_GENDER'] = 'Хлопців: <b>%d</b>, Дівчат: <b>%d</b>, Не зазначено: <b>%d</b>';
|
||||
$lang['USERS_TOTAL_GENDER'] = 'Хлопців: <b>%d</b>, Дівчат: <b>%d</b>, Не вказали: <b>%d</b>';
|
||||
$lang['NEWEST_USER'] = 'Останній зареєстрований користувач: <b>%s</b>'; // username
|
||||
|
||||
// Tracker stats
|
||||
|
@ -183,8 +183,7 @@ $lang['USER_WELCOME'] = 'Приємно бачити вас, ';
|
|||
// Index page
|
||||
//
|
||||
$lang['HOME'] = 'Головна';
|
||||
$lang['NO_POSTS'] = 'Немає повідомлень';
|
||||
$lang['NO_FORUMS'] = 'На цьому сайті немає форумів';
|
||||
$lang['NO_FORUMS'] = 'Немає доступних для показу форумів';
|
||||
|
||||
$lang['PRIVATE_MESSAGE'] = 'Приватне повідомлення';
|
||||
$lang['PRIVATE_MESSAGES'] = 'Приватні повідомлення';
|
||||
|
@ -508,6 +507,7 @@ $lang['OUTBOX_EXPL'] = 'В папці <b>Вихідні</b> знаходятьс
|
|||
// Profiles/Registration
|
||||
//
|
||||
$lang['VIEWING_USER_PROFILE'] = 'Профіль користувача %s';
|
||||
$lang['VIEWING_MY_PROFILE'] = 'Мій профіль [ <a href="%s">Налаштування / Змінити профіль</a> ]';
|
||||
|
||||
$lang['DISABLED_USER'] = 'Користувача деактивовано';
|
||||
$lang['MANAGE_USER'] = 'Адміністрування';
|
||||
|
@ -555,7 +555,7 @@ $lang['ALWAYS_NOTIFY_EXPLAIN'] = 'Коли хто-небудь відповіс
|
|||
$lang['BOARD_LANG'] = 'Мова';
|
||||
$lang['GENDER'] = 'Стать';
|
||||
$lang['GENDER_SELECT'] = array(
|
||||
0 => 'Не визначилося',
|
||||
0 => 'Не вказаний',
|
||||
1 => 'Чоловічий',
|
||||
2 => 'Жіночий'
|
||||
);
|
||||
|
@ -589,7 +589,7 @@ $lang['PUBLIC_VIEW_EMAIL'] = 'Показувати мою адресу e-mail в
|
|||
$lang['EMAIL_EXPLAIN'] = 'На цю адресу вам буде відіслано лист для завершення реєстрації';
|
||||
|
||||
$lang['CURRENT_PASSWORD'] = 'Поточний пароль';
|
||||
$lang['NEW_PASSWORD'] = 'Новий пароль';
|
||||
$lang['NEW_PASSWORD'] = "Новий пароль\n";
|
||||
$lang['CONFIRM_PASSWORD'] = 'Підтвердіть пароль';
|
||||
$lang['CONFIRM_PASSWORD_EXPLAIN'] = 'Ви повинні вказати ваш поточний пароль, якщо хочете змінити його або змінити свій email.';
|
||||
$lang['PASSWORD_IF_CHANGED'] = 'Вказуйте свій пароль, якщо ви хочете його змінити';
|
||||
|
@ -601,7 +601,7 @@ $lang['RESET_AUTOLOGIN_EXPL'] = 'включаючи всі місця, де ви
|
|||
|
||||
$lang['AVATAR'] = 'Аватар';
|
||||
$lang['AVATAR_EXPLAIN'] = "Показує невелике зображення під інформацією про вас в повідомленнях. Може бути показано тільки одне зображення, шириною не більше %d пікселів, висотою не більше %d пікселів і об'ємом не більше %d кб.";
|
||||
$lang['UPLOAD_AVATAR_FILE'] = "Завантажити аватару з вашого комп'ютера";
|
||||
$lang['UPLOAD_AVATAR_FILE'] = "Завантажити аватару";
|
||||
|
||||
$lang['SELECT_AVATAR'] = 'Виберіть аватару';
|
||||
$lang['RETURN_PROFILE'] = 'Повернутися до профілю';
|
||||
|
@ -1161,8 +1161,8 @@ $lang['SPEED_DOWN'] = 'Швидкість завантаження';
|
|||
$lang['SEEDERS'] = 'Сидів';
|
||||
$lang['LEECHERS'] = 'Лічерів';
|
||||
$lang['RELEASING'] = 'Свої';
|
||||
$lang['SEEDING'] = 'Роздає';
|
||||
$lang['LEECHING'] = 'Качає';
|
||||
$lang['SEEDING'] = 'Сідер';
|
||||
$lang['LEECHING'] = 'Лічер';
|
||||
$lang['IS_REGISTERED'] = 'Зареєстрований';
|
||||
$lang['MAGNET'] = 'Magnet';
|
||||
|
||||
|
@ -1317,9 +1317,7 @@ $lang['NOT_TORRENT'] = 'Це не торрент-файл';
|
|||
$lang['ONLY_1_TOR_PER_POST'] = 'Ви не можете зареєструвати ще один торрент для цього повідомлення';
|
||||
$lang['ONLY_1_TOR_PER_TOPIC'] = 'Ви не можете зареєструвати ще один торрент для цього топіка';
|
||||
$lang['VIEWING_USER_BT_PROFILE'] = 'Торрент-профіль'; // %s username is
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Поточні активні торренти';
|
||||
$lang['CUR_ACTIVE_DLS_ERROR'] = 'Користувач нічого не завантажує і не сидирует';
|
||||
$lang['CUR_ACTIVE_DLS_DISALLOWED'] = 'Користувач заборонив переглядати його активні торренти';
|
||||
$lang['CUR_ACTIVE_DLS'] = 'Активні роздачі';
|
||||
|
||||
$lang['TD_TRAF'] = 'Сьогодні';
|
||||
$lang['YS_TRAF'] = 'Вчора';
|
||||
|
@ -1557,8 +1555,6 @@ $lang['NOTICE'] = '!УВАГА!';
|
|||
$lang['POWERED'] = 'UG93ZXJlZCBieSA8YSB0YXJnZXQ9Il9ibGFuayIgaHJlZj0iaHR0cDovL3RvcnJlbnRwaWVyLm1lIj5Ub3JyZW50UGllciBJSTwvYT4gJmNvcHk7IE1laXRoYXIsIFRvcnJlbnRQaWVyIElJIFRlYW0=';
|
||||
$lang['COPY'] = "Сайт не надає електронні версії творів, а займається лише колекціонуванням і каталогізацією посилань, що присилаються та публікуються на форумі нашими читачами. Якщо ви є правовласником якого-небудь представленого матеріалу і не бажаєте щоб посилання на нього знаходилася в нашому каталозі, зв'яжіться з нами і ми негайно видалимо її. Файли для обміну на трекері надані користувачами сайту, і адміністрація не несе відповідальності за їх зміст. Прохання не заливати файли, захищені авторськими правами, а також файли нелегального змісту!";
|
||||
|
||||
$lang['CALLSEED'] = 'Покликати, кто завантажил';
|
||||
|
||||
// FILELIST
|
||||
$lang['FILELIST'] = 'Список файлів';
|
||||
$lang['COLLAPSE'] = 'Згорнути директорії';
|
||||
|
@ -1740,7 +1736,6 @@ $lang['INDEXER'] = "Переіндексувати пошук";
|
|||
$lang['FORUM_STYLE'] = 'Стиль форуму';
|
||||
|
||||
$lang['LINKS_ARE_FORBIDDEN'] = 'Посилання заборонені';
|
||||
$lang['YOU_ARE_BEING_CHEATED'] = 'Схоже, вас намагаються обдурити<br />Сайт відкритий у фреймі. Поточна адреса';
|
||||
|
||||
$lang['DONATION'] = 'Допомога трекеру';
|
||||
|
||||
|
@ -2871,18 +2866,13 @@ $lang['BOT_TOPIC_MOVED_FROM_TO'] = 'Топік був перенесений з
|
|||
$lang['BOT_MESS_SPLITS'] = 'Повідомлення з цієї теми були виділені в окремий топік [b]%s[/b][br][br]%s';
|
||||
$lang['BOT_TOPIC_SPLITS'] = 'Тема була виділена з [b]%s[/b][br][br]%s';
|
||||
|
||||
$lang['CALLSEED_SUBJ'] = 'Допоможіть завантажити %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Привіт!<br><br>Ваша допомога необхідна в роздачі <a href="viewtopic.php?t=%s" target=_blank>%s:% s </a><br>Якщо ви вирішили допомогти, але вже видалили торрент-файл, можете завантажити його <a href="download.php?id=%s">тут</a><br><br>Сподіваюся на вашу допомогу!';
|
||||
|
||||
$lang['CALLSEED_MSG_OK'] = '<b>Повідомлення (ОП) успішно відправлено всім скачавшим даний реліз</b>';
|
||||
$lang['CALLSEED_MSG_SPAM'] = '<b><font color=red>Запит вже одного разу успішно надісланий</b> (можливо не Вами)</font>
|
||||
<br><br>Наступна можливість відіслати запит буде через <b>%s</b> годин<!-- <b>%s</b> хвилин -->. <br>
|
||||
Покликати тих, хто завантажив, можна лише один раз у <b>добу</b>';
|
||||
$lang['CALLSEED_MSG_MSG'] = 'Помилка відправки повідомлення';
|
||||
$lang['CALLSEED_MSG_MSG_TEXT'] = 'Помилка збереження тексту повідомлення';
|
||||
$lang['CALLSEED_MSG_POPUP'] = 'Помилка роботи спливаючого вікна';
|
||||
$lang['CALLSEED_MSG_TIME'] = 'Не вдалося встановити час останнього запиту';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Роздача не потребує допомоги (<b>Сидерів:</b> %d <b>Лічерів:</b> %d)';
|
||||
$lang['CALLSEED'] = 'Покликати, кто завантажил';
|
||||
$lang['CALLSEED_EXPLAIN'] = 'Приймати повідомлення з проханням повернутися на роздачу?';
|
||||
$lang['CALLSEED_SUBJECT'] = 'Допоможіть завантажити %s';
|
||||
$lang['CALLSEED_TEXT'] = 'Привіт![br]Ваша допомога необхідна в роздачі [url=%s]%s[/url][br]Якщо ви вирішили допомогти, але вже видалили торрент-файл, можете завантажити його [url=%s]здесь[/url][br][br]Сподіваюся на вашу допомогу!';
|
||||
$lang['CALLSEED_MSG_OK'] = 'Повідомлення успішно відправлено всім скачавшим даний реліз';
|
||||
$lang['CALLSEED_MSG_SPAM'] = 'Запит вже одного разу успішно надісланий (можливо не Вами)<br /><br />Наступна можливість відіслати запит буде через <b>%s</b>.';
|
||||
$lang['CALLSEED_HAVE_SEED'] = 'Роздача не потребує допомоги (<b>Сидерів:</b> %d)';
|
||||
|
||||
$lang['LOG_ACTION']['LOG_TYPE'] = array(
|
||||
'mod_topic_delete' => 'Топік:<br /> <b>видалений</b>',
|
||||
|
|
|
@ -171,7 +171,7 @@ if ($result = DB()->fetch_rowset($sql))
|
|||
$posts = $row['user_posts'];
|
||||
$pm = ($bb_cfg['text_buttons']) ? '<a class="txtb" href="'. (PM_URL . "?mode=post&". POST_USERS_URL ."=$user_id") .'">'. $lang['SEND_PM_TXTB'] .'</a>' : '<a href="' . (PM_URL . "?mode=post&". POST_USERS_URL ."=$user_id") .'"><img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PRIVATE_MESSAGE'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" border="0" /></a>';
|
||||
|
||||
if (bf($row['user_opt'], 'user_opt', 'viewemail') || IS_AM)
|
||||
if (bf($row['user_opt'], 'user_opt', 'user_viewemail') || IS_AM)
|
||||
{
|
||||
$email_uri = ($bb_cfg['board_email_form']) ? ("profile.php?mode=email&". POST_USERS_URL ."=$user_id") : 'mailto:'. $row['user_email'];
|
||||
$email = '<a class="editable" href="'. $email_uri .'">'. $row['user_email'] .'</a>';
|
||||
|
|
|
@ -49,7 +49,7 @@ switch ($mode)
|
|||
{
|
||||
case 'newtopic':
|
||||
case 'new_rel':
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_topic'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_topic'))
|
||||
{
|
||||
bb_die($lang['RULES_POST_CANNOT']);
|
||||
}
|
||||
|
@ -69,7 +69,7 @@ switch ($mode)
|
|||
|
||||
case 'reply':
|
||||
case 'quote':
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_post'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_post'))
|
||||
{
|
||||
bb_die($lang['RULES_REPLY_CANNOT']);
|
||||
}
|
||||
|
@ -77,7 +77,7 @@ switch ($mode)
|
|||
break;
|
||||
|
||||
case 'editpost':
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'allow_post_edit'))
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_post_edit'))
|
||||
{
|
||||
bb_die($lang['RULES_EDIT_CANNOT']);
|
||||
}
|
||||
|
@ -270,7 +270,7 @@ if ($submit || $refresh)
|
|||
}
|
||||
else
|
||||
{
|
||||
$notify_user = bf($userdata['user_opt'], 'user_opt', 'notify');
|
||||
$notify_user = bf($userdata['user_opt'], 'user_opt', 'user_notify');
|
||||
|
||||
if (!IS_GUEST && $mode != 'newtopic' && !$notify_user)
|
||||
{
|
||||
|
|
|
@ -991,7 +991,7 @@ else if ( $submit || $refresh || $mode != '' )
|
|||
//
|
||||
// Has admin prevented user from sending PM's?
|
||||
//
|
||||
if ( bf($userdata['user_opt'], 'user_opt', 'allow_pm') )
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_pm'))
|
||||
{
|
||||
bb_die($lang['CANNOT_SEND_PRIVMSG']);
|
||||
}
|
||||
|
@ -1101,7 +1101,7 @@ else if ( $submit || $refresh || $mode != '' )
|
|||
|
||||
cache_rm_user_sessions ($to_userdata['user_id']);
|
||||
|
||||
if ( bf($to_userdata['user_opt'], 'user_opt', 'notify_pm') && !empty($to_userdata['user_email']) && $to_userdata['user_active'] && $bb_cfg['pm_notify_enabled'] )
|
||||
if (bf($to_userdata['user_opt'], 'user_opt', 'user_notify_pm') && $to_userdata['user_active'] && $bb_cfg['pm_notify_enabled'])
|
||||
{
|
||||
require(INC_DIR .'emailer.class.php');
|
||||
$emailer = new emailer($bb_cfg['smtp_delivery']);
|
||||
|
@ -1116,7 +1116,7 @@ else if ( $submit || $refresh || $mode != '' )
|
|||
'NAME_FROM' => $userdata['username'],
|
||||
'MSG_SUBJECT' => html_entity_decode($privmsg_subject),
|
||||
'SITENAME' => $bb_cfg['sitename'],
|
||||
'U_INBOX' => make_url(PM_URL . "?folder=inbox&mode=read&p=". $privmsg_sent_id),
|
||||
'U_INBOX' => make_url(PM_URL ."?folder=inbox&mode=read&p=$privmsg_sent_id"),
|
||||
));
|
||||
|
||||
$emailer->send();
|
||||
|
@ -1136,7 +1136,7 @@ else if ( $submit || $refresh || $mode != '' )
|
|||
$to_username = (isset($_POST['username']) ) ? clean_username($_POST['username']) : '';
|
||||
|
||||
$privmsg_subject = ( isset($_POST['subject']) ) ? clean_title($_POST['subject']) : '';
|
||||
$privmsg_message = ( isset($_POST['message']) ) ? trim($_POST['message']) : '';
|
||||
$privmsg_message = ( isset($_POST['message']) ) ? prepare_message($_POST['message']) : '';
|
||||
|
||||
//
|
||||
// Do mode specific things
|
||||
|
@ -1269,7 +1269,7 @@ else if ( $submit || $refresh || $mode != '' )
|
|||
//
|
||||
// Has admin prevented user from sending PM's?
|
||||
//
|
||||
if ( bf($userdata['user_opt'], 'user_opt', 'allow_pm') && $mode != 'edit' )
|
||||
if (bf($userdata['user_opt'], 'user_opt', 'dis_pm') && $mode != 'edit')
|
||||
{
|
||||
$message = ($lang['CANNOT_SEND_PRIVMSG']);
|
||||
}
|
||||
|
@ -1429,8 +1429,7 @@ else
|
|||
'body' => 'privmsgs.tpl')
|
||||
);
|
||||
|
||||
$orig_word = array();
|
||||
$replacement_word = array();
|
||||
$orig_word = $replacement_word = array();
|
||||
obtain_word_list($orig_word, $replacement_word);
|
||||
|
||||
//
|
||||
|
|
|
@ -79,7 +79,7 @@ body, th, td, font {
|
|||
position: relative; width: 100%;
|
||||
}
|
||||
#page_content {
|
||||
padding: 12px 4px 0; margin: 0 auto;
|
||||
padding: 12px 10px 0; margin: 0 auto;
|
||||
clear: both; position: relative;
|
||||
}
|
||||
#sidebar1 {}
|
||||
|
@ -412,7 +412,7 @@ table.forumline {
|
|||
.forumline th {
|
||||
border: 1px solid #B7C0C5; border-width: 1px; border-top-color: #92A3A4;
|
||||
padding: 6px 3px 4px; color: #000000; background-color: #CFD4D8;
|
||||
font-size: 10px; text-transform: uppercase;
|
||||
font-size: 9px !important; text-transform: uppercase;
|
||||
}
|
||||
.forumline td {
|
||||
border: 1px solid #B7C0C5; border-width: 0 1px 1px;
|
||||
|
|
|
@ -46,13 +46,12 @@
|
|||
|
||||
<div id="forums_wrap">
|
||||
|
||||
<!-- IF SHOW_FORUMS -->
|
||||
|
||||
<!-- IF H_C_AL_MESS -->
|
||||
<div class="row1 med tCenter pad_4 border bw_TRBL" style="margin: 4px 0;">{L_HIDE_CAT_MESS}</div>
|
||||
<div class="spacer_6"></div>
|
||||
<div class="spacer_2"></div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF SHOW_FORUMS -->
|
||||
<!-- BEGIN c -->
|
||||
<div class="category">
|
||||
<h3 class="cat_title"><a href="{c.U_VIEWCAT}">{c.CAT_TITLE}</a></h3>
|
||||
|
@ -142,7 +141,7 @@
|
|||
<table class="forumline">
|
||||
<tr><td class="row1 tCenter pad_8">{NO_FORUMS_MSG}</td></tr>
|
||||
</table>
|
||||
<div class="spacer_10"></div>
|
||||
<div class="spacer_6"></div>
|
||||
|
||||
<!-- ENDIF -->
|
||||
|
||||
|
|
|
@ -225,17 +225,6 @@ function go_to_page ()
|
|||
<!-- ELSE -->
|
||||
<!--======-->
|
||||
|
||||
<script type="text/javascript">
|
||||
if (top != self) {
|
||||
allowed_self = /^(translate\.googleusercontent\.com)$/;
|
||||
if (!self.location.hostname.match(allowed_self)) {
|
||||
$(function(){
|
||||
$('body').html('<center><h1><br /><br />{L_YOU_ARE_BEING_CHEATED} '+ self.location.hostname +'</h1></center>');
|
||||
});
|
||||
}
|
||||
}
|
||||
</script>
|
||||
|
||||
<!--page_container-->
|
||||
<div id="page_container">
|
||||
<a name="top"></a>
|
||||
|
@ -243,6 +232,15 @@ if (top != self) {
|
|||
<!--page_header-->
|
||||
<div id="page_header">
|
||||
|
||||
<div id="old-browser-warn" style="background: #FFF227; padding: 8px 0 10px; text-align: center; font-size: 14px; display: none; ">
|
||||
<b>Вы используете устаревший браузер. Сайт может отображаться некорректно.</b>
|
||||
</div>
|
||||
<script>
|
||||
if ( (typeof(window.opera) != "undefined" && window.opera.version() < 12) || (window.attachEvent && !window.addEventListener) /* IE < 9 */ ) {
|
||||
document.getElementById('old-browser-warn').style.display = '';
|
||||
}
|
||||
</script>
|
||||
|
||||
<!--main_nav-->
|
||||
<div id="main-nav" <!-- IF HAVE_NEW_PM -->class="new-pm"<!-- ENDIF --> style="height: 17px;">
|
||||
<table width="100%" cellpadding="0" cellspacing="0">
|
||||
|
|
|
@ -92,7 +92,7 @@ ajax.callback.posts = function(data){
|
|||
<input type="button" value="{L_LIST}" name="codeList" title="{L_LIST_TITLE}" style="width: 60px;"/>
|
||||
<input type="button" value="1." name="codeOpt" title="{L_LIST_ITEM}" style="width: 30px;" />
|
||||
<input type="button" value="{L_QUOTE_SEL}" name="quoteselected" title="{L_QUOTE_SELECTED}" onmouseout="bbcode.refreshSelection(false);" onmouseover="bbcode.refreshSelection(true);" onclick="bbcode.onclickQuoteSel();" />
|
||||
<!-- IF USER_RUS -->
|
||||
<!-- IF USER_LANG != 'en' -->
|
||||
<input type="button" value="{L_TRANSLIT}" name="Translit" title="{L_TRANSLIT_TITLE}" style="width: 68px;" onclick="transliterate(document.post.message, this);" /> <a href="#" onclick="toggle_block('translit_opt'); return false"><span style="color: darkred"><b>?</b></span></a>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
|
@ -105,7 +105,7 @@ ajax.callback.posts = function(data){
|
|||
onkeyup = "storeCaret(this);"
|
||||
>{MESSAGE}</textarea>
|
||||
|
||||
<!-- IF USER_RUS -->
|
||||
<!-- IF USER_LANG != 'en' -->
|
||||
<div id="translit_opt" class="mrg_4" style="display: none;">
|
||||
<table cellspacing="0" class="translit_expl borderless bCenter">
|
||||
<tr>
|
||||
|
|
|
@ -1,5 +1,20 @@
|
|||
|
||||
<style type="text/css">
|
||||
.prof-tbl * { -moz-box-sizing: border-box; box-sizing: border-box; }
|
||||
input[name="username"], input[name="user_email"], input[name="cur_pass"], input[name="new_pass"] {
|
||||
width: 255px;
|
||||
}
|
||||
.prof-tbl td { padding: 4px 6px; }
|
||||
.prof-title { text-align: right; }
|
||||
.prof-tbl h6 { margin: 4px 0 4px 4px; color: #444444; line-height: 100%; display: inline-block; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
var tab_idx = 100;
|
||||
$('input,select,textarea', '#prof-form').not(':hidden').not(':disabled').each(function(){
|
||||
$(this).attr({ tabindex: ++tab_idx });
|
||||
});
|
||||
});
|
||||
|
||||
ajax.callback.user_register = function(data){
|
||||
$('#'+ data.mode).html(data.html);
|
||||
};
|
||||
|
@ -18,7 +33,7 @@ ajax.callback.user_register = function(data){
|
|||
|
||||
<p class="nav"><a href="{U_INDEX}">{T_INDEX}</a></p>
|
||||
|
||||
<form method="post" action="profile.php<!-- IF IS_ADMIN && PR_USER_ID -->?u={PR_USER_ID}<!-- ENDIF -->" class="tokenized" enctype="multipart/form-data">
|
||||
<form id="prof-form" method="post" action="profile.php<!-- IF IS_ADMIN && PR_USER_ID -->?u={PR_USER_ID}<!-- ENDIF -->" class="tokenized" enctype="multipart/form-data">
|
||||
<input type="hidden" name="mode" value="{MODE}" />
|
||||
<input type="hidden" name="reg_agreed" value="1" />
|
||||
<!-- IF NEW_USER --><input type="hidden" name="admin" value="1" /><!-- ENDIF -->
|
||||
|
@ -35,41 +50,41 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
<input type="hidden" name="user_timezone" value="{USER_TIMEZONE}" />
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table class="forumline usercp_register">
|
||||
<table class="forumline prof-tbl">
|
||||
<col class="row1" width="35%">
|
||||
<col class="row2" width="65%">
|
||||
<tbody class="pad_4">
|
||||
<tr>
|
||||
<th colspan="2">{L_REGISTRATION_INFO}</th>
|
||||
</tr>
|
||||
<tr class="row3 med">
|
||||
<td class="bold" colspan="2">{L_ITEMS_REQUIRED}</td>
|
||||
<tr>
|
||||
<td class="row2 small tCenter" colspan="2">{L_ITEMS_REQUIRED}</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_USERNAME}: *</td>
|
||||
<td class="prof-title">{L_USERNAME}: *</td>
|
||||
<td><!-- IF CAN_EDIT_USERNAME --><input id="username" onBlur="ajax.exec({ action: 'user_register', mode: 'check_name', username: $('#username').val()}); return false;" type="text" name="username" size="35" maxlength="25" value="{USERNAME}" /><!-- ELSE --><b>{USERNAME}</b><!-- ENDIF -->
|
||||
<span id="check_name"></span></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_EMAIL}: * <!-- IF EDIT_PROFILE --><!-- ELSE IF $bb_cfg['reg_email_activation'] --><h6>{L_EMAIL_EXPLAIN}</h6><!-- ENDIF --></td>
|
||||
<td class="prof-title">{L_EMAIL}: * <!-- IF EDIT_PROFILE --><!-- ELSE IF $bb_cfg['reg_email_activation'] --><h6>{L_EMAIL_EXPLAIN}</h6><!-- ENDIF --></td>
|
||||
<td><input id="email" onBlur="ajax.exec({ action: 'user_register', mode: 'check_email', email: $('#email').val()}); return false;" type="text" name="user_email" size="35" maxlength="40" value="{USER_EMAIL}" <!-- IF EDIT_PROFILE --><!-- IF $bb_cfg['emailer_disabled'] -->readonly="readonly" style="color: gray;"<!-- ENDIF --><!-- ENDIF --> />
|
||||
<span id="check_email"></span></td>
|
||||
</tr>
|
||||
<!-- IF EDIT_PROFILE and not ADM_EDIT -->
|
||||
<tr>
|
||||
<td>{L_CURRENT_PASSWORD}: * <h6>{L_CONFIRM_PASSWORD_EXPLAIN}</h6></td>
|
||||
<td class="prof-title">{L_CURRENT_PASSWORD}: * <h6>{L_CONFIRM_PASSWORD_EXPLAIN}</h6></td>
|
||||
<td><input type="password" name="cur_pass" size="35" maxlength="32" value="" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td><!-- IF EDIT_PROFILE -->{L_NEW_PASSWORD}: * <h6>{L_PASSWORD_IF_CHANGED}</h6><!-- ELSE -->{L_PASSWORD}: *<!-- ENDIF --></td>
|
||||
<td class="prof-title"><!-- IF EDIT_PROFILE -->{L_NEW_PASSWORD}: * <h6>{L_PASSWORD_IF_CHANGED}</h6><!-- ELSE -->{L_PASSWORD}: *<!-- ENDIF --></td>
|
||||
<td>
|
||||
<input id="pass" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="new_pass" size="35" maxlength="32" value="" />
|
||||
<span id="autocomplete" title="{L_AUTOCOMPLETE}">◄</span> <i class="med">{L_PASSWORD_LONG}</i>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_CONFIRM_PASSWORD}: * <!-- IF EDIT_PROFILE --><h6>{L_PASSWORD_CONFIRM_IF_CHANGED}</h6><!-- ENDIF --></td>
|
||||
<td class="prof-title">{L_CONFIRM_PASSWORD}: * <!-- IF EDIT_PROFILE --><h6>{L_PASSWORD_CONFIRM_IF_CHANGED}</h6><!-- ENDIF --></td>
|
||||
<td>
|
||||
<input id="pass_confirm" onBlur="ajax.exec({ action: 'user_register', mode: 'check_pass', pass: $('#pass').val(), pass_confirm: $('#pass_confirm').val() }); return false;" type="<!-- IF SHOW_PASS -->text<!-- ELSE -->password<!-- ENDIF -->" name="cfm_pass" size="35" maxlength="32" value="" />
|
||||
<span id="check_pass"></span>
|
||||
|
@ -77,14 +92,14 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
</tr>
|
||||
<!-- IF CAPTCHA_HTML -->
|
||||
<tr>
|
||||
<td>{L_CONFIRM_CODE}:</td>
|
||||
<td><span id="refresh_captcha">{CAPTCHA_HTML}</span> <img align="middle" src="./images/pic_loading.gif" title="{L_UPDATE}" onclick="ajax.exec({ action: 'user_register', mode: 'refresh_captcha'}); return false;" /></td>
|
||||
<td class="prof-title">{L_CONFIRM_CODE}: *</td>
|
||||
<td><span id="refresh_captcha">{CAPTCHA_HTML}</span> <img align="middle" src="{SITE_URL}images/pic_loading.gif" title="{L_UPDATE}" onclick="ajax.exec({ action: 'user_register', mode: 'refresh_captcha'}); return false;" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF EDIT_PROFILE -->
|
||||
<!-- IF not ADM_EDIT -->
|
||||
<tr>
|
||||
<td>{L_AUTOLOGIN}:</td>
|
||||
<td class="prof-title">{L_AUTOLOGIN}:</td>
|
||||
<td><a href="{U_RESET_AUTOLOGIN}">{L_RESET_AUTOLOGIN}</a><h6>{L_RESET_AUTOLOGIN_EXPL}</h6></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
@ -93,42 +108,42 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
</tr>
|
||||
<!-- IF $bb_cfg['gender'] -->
|
||||
<tr>
|
||||
<td>{L_GENDER}:</td>
|
||||
<td class="prof-title">{L_GENDER}:</td>
|
||||
<td>{USER_GENDER}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF BIRTHDAY -->
|
||||
<!-- IF $bb_cfg['birthday_enabled'] -->
|
||||
<tr>
|
||||
<td>{L_BIRTHDAY}:</td>
|
||||
<td>{BIRTHDAY}</td>
|
||||
<td class="prof-title">{L_BIRTHDAY}:</td>
|
||||
<td><input type="date" name="user_birthday" value="{USER_BIRTHDAY}" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td>ICQ:</td>
|
||||
<td class="prof-title">ICQ:</td>
|
||||
<td><input type="text" name="user_icq" size="30" maxlength="15" value="{USER_ICQ}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_SKYPE}:</td>
|
||||
<td class="prof-title">{L_SKYPE}:</td>
|
||||
<td><input type="text" name="user_skype" size="30" maxlength="32" value="{USER_SKYPE}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_TWITTER}:</td>
|
||||
<td class="prof-title">{L_TWITTER}:</td>
|
||||
<td><input type="text" name="user_twitter" size="30" maxlength="15" value="{USER_TWITTER}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_WEBSITE}:</td>
|
||||
<td class="prof-title">{L_WEBSITE}:</td>
|
||||
<td><input type="text" name="user_website" size="50" maxlength="100" value="{USER_WEBSITE}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_OCCUPATION}:</td>
|
||||
<td class="prof-title">{L_OCCUPATION}:</td>
|
||||
<td><input type="text" name="user_occ" size="50" maxlength="100" value="{USER_OCC}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_INTERESTS}:</td>
|
||||
<td class="prof-title">{L_INTERESTS}:</td>
|
||||
<td><input type="text" name="user_interests" size="50" maxlength="150" value="{USER_INTERESTS}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_LOCATION}:</td>
|
||||
<td class="prof-title">{L_LOCATION}:</td>
|
||||
<td>
|
||||
<div><input type="text" name="user_from" size="50" maxlength="100" value="{USER_FROM}" /></div>
|
||||
</td>
|
||||
|
@ -136,7 +151,7 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
<!-- ENDIF -->
|
||||
<!-- IF $bb_cfg['allow_change']['language'] -->
|
||||
<tr>
|
||||
<td>{L_BOARD_LANG}:</td>
|
||||
<td class="prof-title">{L_BOARD_LANG}:</td>
|
||||
<td>{LANGUAGE_SELECT}</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
@ -146,7 +161,7 @@ document.write('<input type="hidden" name="user_timezone" value="'+tz+'" />');
|
|||
</tr>
|
||||
<!-- IF TEMPLATES_SELECT -->
|
||||
<tr>
|
||||
<td>{L_FORUM_STYLE}</td>
|
||||
<td class="prof-title">{L_FORUM_STYLE}</td>
|
||||
<td>
|
||||
<div style="margin: 3px 0;">
|
||||
{TEMPLATES_SELECT}
|
||||
|
@ -169,7 +184,7 @@ ajax.callback.posts = function(data){
|
|||
</script>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td>{L_SIGNATURE}:<h6>{SIGNATURE_EXPLAIN}</h6></td>
|
||||
<td class="prof-title">{L_SIGNATURE}:<h6>{SIGNATURE_EXPLAIN}</h6></td>
|
||||
<!-- IF SIG_DISALLOWED -->
|
||||
<td class="tCenter">{L_SIGNATURE_DISABLE}</td>
|
||||
<!-- ELSE -->
|
||||
|
@ -181,53 +196,60 @@ ajax.callback.posts = function(data){
|
|||
</tr>
|
||||
|
||||
<tr>
|
||||
<td>{L_PUBLIC_VIEW_EMAIL}:</td>
|
||||
<td class="prof-title">{L_PUBLIC_VIEW_EMAIL}:</td>
|
||||
<td>
|
||||
<label><input type="radio" name="viewemail" value="1" <!-- IF VIEWEMAIL -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="viewemail" value="0" <!-- IF not VIEWEMAIL -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_viewemail" value="1" <!-- IF USER_VIEWEMAIL -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_viewemail" value="0" <!-- IF not USER_VIEWEMAIL -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_HIDE_USER}:</td>
|
||||
<td class="prof-title">{L_HIDE_USER}:</td>
|
||||
<td>
|
||||
<label><input type="radio" name="allow_viewonline" value="1" <!-- IF ALLOW_VIEWONLINE -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="allow_viewonline" value="0" <!-- IF not ALLOW_VIEWONLINE -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_viewonline" value="1" <!-- IF USER_VIEWONLINE -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_viewonline" value="0" <!-- IF not USER_VIEWONLINE -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_DENY_VISITORS}:</td>
|
||||
<td class="prof-title">{L_DENY_VISITORS}:</td>
|
||||
<td>
|
||||
<label><input type="radio" name="allow_dls" value="0" <!-- IF not ALLOW_DLS -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="allow_dls" value="1" <!-- IF ALLOW_DLS -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_dls" value="1" <!-- IF USER_DLS -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_dls" value="0" <!-- IF not USER_DLS -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td>{L_ALWAYS_NOTIFY}:<h6>{L_ALWAYS_NOTIFY_EXPLAIN}</h6></td>
|
||||
<td class="prof-title">{L_ALWAYS_NOTIFY}:<h6>{L_ALWAYS_NOTIFY_EXPLAIN}</h6></td>
|
||||
<td>
|
||||
<label><input type="radio" name="notify" value="1" <!-- IF NOTIFY -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="notify" value="0" <!-- IF not NOTIFY -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_notify" value="1" <!-- IF USER_NOTIFY -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_notify" value="0" <!-- IF not USER_NOTIFY -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<!-- IF $bb_cfg['pm_notify_enabled'] -->
|
||||
<tr>
|
||||
<td>{L_NOTIFY_ON_PRIVMSG}:</td>
|
||||
<td class="prof-title">{L_NOTIFY_ON_PRIVMSG}:</td>
|
||||
<td>
|
||||
<label><input type="radio" name="notify_pm" value="1" <!-- IF NOTIFY_PM -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="notify_pm" value="0" <!-- IF not NOTIFY_PM -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_notify_pm" value="1" <!-- IF USER_NOTIFY_PM -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_notify_pm" value="0" <!-- IF not USER_NOTIFY_PM -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<tr>
|
||||
<td>{L_HIDE_PORN_FORUMS}:</td>
|
||||
<td class="prof-title">{L_CALLSEED}:<h6>{L_CALLSEED_EXPLAIN}</h6></td>
|
||||
<td>
|
||||
<label><input type="radio" name="hide_porn_forums" value="1" <!-- IF HIDE_PORN_FORUMS -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="hide_porn_forums" value="0" <!-- IF not HIDE_PORN_FORUMS -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
<label><input type="radio" name="user_callseed" value="1" <!-- IF USER_CALLSEED -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_callseed" value="0" <!-- IF not USER_CALLSEED -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="prof-title">{L_HIDE_PORN_FORUMS}:</td>
|
||||
<td>
|
||||
<label><input type="radio" name="user_porn_forums" value="1" <!-- IF USER_PORN_FORUMS -->checked="checked"<!-- ENDIF --> />{L_YES}</label>
|
||||
<label><input type="radio" name="user_porn_forums" value="0" <!-- IF not USER_PORN_FORUMS -->checked="checked"<!-- ENDIF --> />{L_NO}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- IF SHOW_DATEFORMAT -->
|
||||
<tr>
|
||||
<td>{L_DATE_FORMAT}:<h6>{L_DATE_FORMAT_EXPLAIN}</h6></td>
|
||||
<td class="prof-title">{L_DATE_FORMAT}:<h6>{L_DATE_FORMAT_EXPLAIN}</h6></td>
|
||||
<td><input type="text" name="dateformat" value="{DATE_FORMAT}" maxlength="14" /></td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
|
@ -241,11 +263,23 @@ ajax.callback.posts = function(data){
|
|||
<!-- ELSE -->
|
||||
<tr>
|
||||
<td colspan="2">
|
||||
<table class="borderless bCenter w80 med">
|
||||
<table class="borderless bCenter med" style="width: 600px;">
|
||||
<col class="w60">
|
||||
<col class="w40">
|
||||
<tr>
|
||||
<td>Небольшое изображение под информацией о вас в сообщениях. Ширина не более {$bb_cfg['avatars']['max_width']} пикселов, высота не более {$bb_cfg['avatars']['max_height']} пикселов и объемом не более {$bb_cfg['avatars']['max_size']} байт</td>
|
||||
<td>
|
||||
Изображение под вашим именем в сообщениях<br />
|
||||
Максимальные ШИРИНАхВЫСОТА {$bb_cfg['avatars']['max_width']}x{$bb_cfg['avatars']['max_height']} пикселов<br />
|
||||
Максимальный объём {AVATARS_MAX_SIZE}<br />
|
||||
|
||||
<!-- IF $bb_cfg['avatars']['up_allowed'] -->
|
||||
<div class="spacer_4"></div>
|
||||
{L_UPLOAD_AVATAR_FILE}:
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$bb_cfg['avatars']['max_size']}" />
|
||||
<input type="file" name="avatar" />
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
<td class="tCenter nowrap">
|
||||
<p>{L_CURRENT_IMAGE}</p>
|
||||
<p class="mrg_6"><!-- IF AVATAR_URL_PATH --><img src="{AVATARS_URL}/{AVATAR_URL_PATH}" alt="avatar" /><!-- ELSE -->--<!-- ENDIF --></p>
|
||||
<p><label><input type="checkbox" name="delete_avatar" <!-- IF not AVATAR_URL_PATH -->disabled="disabled"<!-- ENDIF --> /> {L_DELETE_IMAGE}</label></p>
|
||||
</td>
|
||||
|
@ -253,15 +287,6 @@ ajax.callback.posts = function(data){
|
|||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- IF $bb_cfg['avatars']['up_allowed'] -->
|
||||
<tr>
|
||||
<td>{L_UPLOAD_AVATAR_FILE}:</td>
|
||||
<td>
|
||||
<input type="hidden" name="MAX_FILE_SIZE" value="{$bb_cfg['avatars']['max_size']}" />
|
||||
<input type="file" name="avatar" size="40" />
|
||||
</td>
|
||||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- ENDIF / !AVATAR_DISALLOWED -->
|
||||
<!-- ENDIF / EDIT_PROFILE -->
|
||||
|
||||
|
|
|
@ -111,15 +111,22 @@ ajax.callback.manage_user = function(data) {
|
|||
|
||||
<!-- IF IS_AM -->
|
||||
<script type="text/javascript">
|
||||
ajax.ip_load = false;
|
||||
ajax.mod_action = function(mode) {
|
||||
if(!ajax.ip_load) {
|
||||
ajax.exec({
|
||||
action : 'mod_action',
|
||||
mode : mode,
|
||||
user_id : {PROFILE_USER_ID}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
$('#ip_list').toggle();
|
||||
}};
|
||||
ajax.callback.mod_action = function(data) {
|
||||
$('#ip_list').toggle().html(data.ip_list_html);
|
||||
$('#ip_list').html(data.ip_list_html);
|
||||
ajax.ip_load = true;
|
||||
}
|
||||
</script>
|
||||
<script type="text/javascript">
|
||||
|
@ -164,33 +171,24 @@ ajax.callback.gen_passkey = function(data){
|
|||
</script>
|
||||
<!-- ENDIF / SHOW_PASSKEY -->
|
||||
|
||||
<script type="text/javascript">
|
||||
ajax.view_profile = function(mode) {
|
||||
ajax.exec({
|
||||
action : 'view_profile',
|
||||
mode : mode,
|
||||
user_id : {PROFILE_USER_ID}
|
||||
});
|
||||
}
|
||||
ajax.callback.view_profile = function(data) {
|
||||
$('#active_torrents').html(data.active_torrents);
|
||||
}
|
||||
</script>
|
||||
|
||||
<style type="text/css">
|
||||
#traf-stats-tbl { width: 468px; background: #F9F9F9; border: 1px solid #A5AFB4; border-collapse: separate; }
|
||||
#traf-stats-tbl th, #traf-stats-tbl td { padding: 2px 10px 3px; text-align: center; white-space: nowrap; font-size: 11px; }
|
||||
#traf-stats-tbl th { padding: 2px <!-- IF $bb_cfg['seed_bonus_enabled'] -->11<!-- ELSE -->22<!-- ENDIF -->px 3px; }
|
||||
.pagetitle a { font-size: 16px; }
|
||||
</style>
|
||||
|
||||
<a name="editprofile"></a>
|
||||
<h1 class="pagetitle">{L_VIEWING_PROFILE}</h1>
|
||||
<h1 class="pagetitle"><!-- IF PROFILE_USER -->{L_MY_PROFILE}<!-- ELSE -->{L_VIEWING_PROFILE}<!-- ENDIF --></h1>
|
||||
|
||||
<div class="nav">
|
||||
<p class="floatL"><a href="{U_INDEX}">{T_INDEX}</a></p>
|
||||
<!-- IF IS_ADMIN -->
|
||||
<p class="floatR">
|
||||
<!-- IF IS_ADMIN || PROFILE_USER --><a href="{U_MANAGE}">{L_EDIT_PROFILE}</a><!-- ENDIF -->
|
||||
<!-- IF IS_ADMIN --> · <a href="{U_PERMISSIONS}">{L_PERMISSIONS}</a><!-- ENDIF -->
|
||||
<a href="{U_MANAGE}">{L_PROFILE}</a> ·
|
||||
<a href="{U_PERMISSIONS}">{L_PERMISSIONS}</a>
|
||||
</p>
|
||||
<!-- ENDIF -->
|
||||
<div class="clear"></div>
|
||||
</div>
|
||||
|
||||
|
@ -203,9 +201,9 @@ ajax.callback.view_profile = function(data) {
|
|||
|
||||
<div id="avatar-img" class="mrg_4 med">
|
||||
<!-- IF AVATAR_IMG -->
|
||||
<!-- IF not AVATAR_DISALLOWED or #IS_AM -->{AVATAR_IMG}<!-- ENDIF -->
|
||||
<!-- IF not AVATAR_DISALLOWED or #IS_AM --><span id="avatar-img">{AVATAR_IMG}</span><!-- ENDIF -->
|
||||
<!-- IF IS_ADMIN -->
|
||||
<p id="avatar-adm" class="med mrg_4"><a href="#" onclick="if (window.confirm('Удалить аватар?')){ ajax.avatar('delete', {PROFILE_USER_ID}); } return false;" class="adm">[{L_DELETE}]</a></p>
|
||||
<p id="avatar-adm" class="med mrg_4">[ <a href="#" onclick="if (window.confirm('Удалить аватар?')){ ajax.avatar('delete', {PROFILE_USER_ID}); } return false;" class="adm">{L_DELETE}</a> ]</p>
|
||||
<!-- ENDIF -->
|
||||
<!-- ELSE / !AVATAR_IMG -->{L_NOAVATAR}
|
||||
<!-- ENDIF -->
|
||||
|
@ -259,12 +257,12 @@ ajax.callback.view_profile = function(data) {
|
|||
</tr>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF TWITTER -->
|
||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
||||
<tr>
|
||||
<th>{L_TWITTER}:</th>
|
||||
<td class="tLeft med" id="user_twitter">
|
||||
<span class="editable">
|
||||
<a href="http://twitter.com/{TWITTER}" class="twitter-follow-button" data-show-count="false" data-lang="ru">{L_READ} @{TWITTER}</a>
|
||||
<script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+'://platform.twitter.com/widgets.js';fjs.parentNode.insertBefore(js,fjs);}}(document, 'script', 'twitter-wjs');</script>
|
||||
<a href="https://twitter.com/{TWITTER}" class="twitter-follow-button" data-show-count="false" data-lang="{USER_LANG}">{TWITTER}</a>
|
||||
</span>
|
||||
</td>
|
||||
</tr>
|
||||
|
@ -326,13 +324,13 @@ ajax.callback.view_profile = function(data) {
|
|||
</fieldset>
|
||||
<fieldset class="mrg_6"><legend>{L_BAN_USER}</legend>
|
||||
<div class="tLeft" style="padding: 2px 6px 6px; display: block;" id="user-opt">
|
||||
<label><input type="checkbox" name="allow_avatar"/>{L_HIDE_AVATARS}</label>
|
||||
<label><input type="checkbox" name="allow_sig"/>{L_SHOW_CAPTION}</label>
|
||||
<label><input type="checkbox" name="allow_passkey"/>{L_DOWNLOAD_TORRENT}</label>
|
||||
<label><input type="checkbox" name="allow_pm"/>{L_SEND_PM}</label>
|
||||
<label><input type="checkbox" name="allow_post"/>{L_SEND_MESSAGE}</label>
|
||||
<label><input type="checkbox" name="allow_post_edit"/>{L_EDIT_POST}</label>
|
||||
<label><input type="checkbox" name="allow_topic"/>{L_NEW_THREADS}</label>
|
||||
<label><input type="checkbox" name="dis_avatar"/>{L_HIDE_AVATARS}</label>
|
||||
<label><input type="checkbox" name="dis_sig"/>{L_SHOW_CAPTION}</label>
|
||||
<label><input type="checkbox" name="dis_passkey"/>{L_DOWNLOAD_TORRENT}</label>
|
||||
<label><input type="checkbox" name="dis_pm"/>{L_SEND_PM}</label>
|
||||
<label><input type="checkbox" name="dis_post"/>{L_SEND_MESSAGE}</label>
|
||||
<label><input type="checkbox" name="dis_post_edit"/>{L_EDIT_POST}</label>
|
||||
<label><input type="checkbox" name="dis_topic"/>{L_NEW_THREADS}</label>
|
||||
</div>
|
||||
</fieldset>
|
||||
<div id="user-opt-save" class="hidden tCenter">
|
||||
|
@ -356,14 +354,13 @@ ajax.callback.view_profile = function(data) {
|
|||
<td>
|
||||
<b>{LAST_ACTIVITY_TIME}</b>
|
||||
<!-- IF TRAF_STATS --><span id="traf-stats-span">[ <a href="#" id="traf-stats-btn" class="med" onclick="ajax.index_data('get_traf_stats'); return false;">{L_VIEWING_USER_BT_PROFILE}</a> ]</span><!-- ENDIF -->
|
||||
[ <a href="#torrent" class="med" onclick="ajax.view_profile('active_torrents'); return false;">{L_CUR_ACTIVE_DLS}</a> ]
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th>{L_TOTAL_POSTS}:</th>
|
||||
<td>
|
||||
<p>
|
||||
<b>{POSTS}</b>
|
||||
<b>{POSTS}</b>
|
||||
[ <a href="{U_SEARCH_USER}" class="med">{L_SEARCH_USER_POSTS}</a> ]
|
||||
[ <a href="{U_SEARCH_TOPICS}" class="med">{L_SEARCH_USER_TOPICS}</a> ]
|
||||
[ <a class="med" href="{U_SEARCH_RELEASES}">{L_SEARCH_RELEASES}</a> ]
|
||||
|
@ -485,7 +482,8 @@ ajax.callback.view_profile = function(data) {
|
|||
</td>
|
||||
</tr>
|
||||
|
||||
</table><!--/user_details-->
|
||||
</table>
|
||||
<!--/user_details-->
|
||||
|
||||
<!-- IF IS_AM --><span id="ip_list"></span><!-- ENDIF -->
|
||||
|
||||
|
@ -505,20 +503,86 @@ ajax.callback.view_profile = function(data) {
|
|||
</tr>
|
||||
<!-- END switch_report_user -->
|
||||
|
||||
</table><!--/user_profile-->
|
||||
</table>
|
||||
<!--/user_profile-->
|
||||
|
||||
<div id="active_torrents"></div>
|
||||
<a name="torrent"></a>
|
||||
<div class="spacer_8"></div>
|
||||
<!-- IF USER_DLS -->
|
||||
<style type="text/css">
|
||||
#dls-tbl u { display: none; }
|
||||
.dls-type, .dls-f { padding: 4px; text-align: center; }
|
||||
.dls-cnt { font-size: 16px; font-weight: normal; }
|
||||
</style>
|
||||
<script type="text/javascript">
|
||||
$(function(){
|
||||
$('#dls-tbl').tablesorter();
|
||||
});
|
||||
</script>
|
||||
|
||||
<!--bottom_info-->
|
||||
<div class="bottom_info">
|
||||
<h1 class="pagetitle tCenter">{L_CUR_ACTIVE_DLS} <span class="dls-cnt">({L_RELEASINGS}, {L_SEEDINGS}, {L_LEECHINGS})</span></h1>
|
||||
|
||||
<div class="spacer_6"></div>
|
||||
<div class="sectionMain">
|
||||
<table class="forumline tablesorter" id="dls-tbl">
|
||||
<thead>
|
||||
<tr>
|
||||
<th class="{sorter: 'digit'}"><b class="tbs-text">{L_TYPE}</b></th>
|
||||
<th class="{sorter: 'text'}" width="25%"><b class="tbs-text">{L_FORUM}</b></th>
|
||||
<th class="{sorter: 'text'}" width="75%"><b class="tbs-text">{L_TOPICS}</b></th>
|
||||
<th class="{sorter: false}">{L_TORRENT}</th>
|
||||
</tr>
|
||||
</thead>
|
||||
|
||||
<div id="timezone">
|
||||
<p>{LAST_VISIT_DATE}</p>
|
||||
<p>{CURRENT_TIME}</p>
|
||||
<p>{S_TIMEZONE}</p>
|
||||
<!-- BEGIN released -->
|
||||
<tr class="{released.ROW_CLASS}">
|
||||
<td class="dls-type"><u>0</u><b class="seedmed">{L_RELEASING}</b></td>
|
||||
<td class="dls-f"><a class="gen" href="{released.U_VIEW_FORUM}">{released.FORUM_NAME}</a></td>
|
||||
<td class="pad_4"><a class="med tLink" href="{released.U_VIEW_TOPIC}">{released.TOR_TYPE}<b>{released.TOPIC_TITLE}</a></td>
|
||||
<td class="tCenter med nowrap pad_2">
|
||||
<p><b class="seedmed">{released.TOPIC_SEEDERS}</b> | <b class="leechmed">{released.TOPIC_LEECHERS}</b></p>
|
||||
<p style="padding-top: 2px" class="seedsmall">{released.SPEED_UP}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END released -->
|
||||
|
||||
<!-- BEGIN seed -->
|
||||
<tr class="{seed.ROW_CLASS}">
|
||||
<td class="dls-type"><u>1</u><span class="seedmed">{L_SEEDING}</span></td>
|
||||
<td class="dls-f"><a class="gen" href="{seed.U_VIEW_FORUM}">{seed.FORUM_NAME}</a></td>
|
||||
<td class="pad_4"><a class="med tLink" href="{seed.U_VIEW_TOPIC}">{seed.TOR_TYPE}<b>{seed.TOPIC_TITLE}</b></a></td>
|
||||
<td class="tCenter med nowrap pad_2">
|
||||
<p><b class="seedmed">{seed.TOPIC_SEEDERS}</b> | <b class="leechmed">{seed.TOPIC_LEECHERS}</b></p>
|
||||
<p style="padding-top: 2px" class="seedsmall">{seed.SPEED_UP}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END seed -->
|
||||
|
||||
<!-- BEGIN leech -->
|
||||
<tr class="{leech.ROW_CLASS}">
|
||||
<td class="dls-type"><u>2</u><span class="leechmed">{L_LEECHING}</span></td>
|
||||
<td class="dls-f"><a class="gen" href="{leech.U_VIEW_FORUM}">{leech.FORUM_NAME}</a></td>
|
||||
<td class="pad_4"><a class="med tLink" href="{leech.U_VIEW_TOPIC}">{leech.TOR_TYPE}<b>{leech.TOPIC_TITLE}</b></a></td>
|
||||
<td class="tCenter med nowrap pad_2">
|
||||
<p><b class="seedmed">{leech.TOPIC_SEEDERS}</b> | <b class="leechmed">{leech.TOPIC_LEECHERS}</b></p>
|
||||
<p style="padding-top: 2px" class="seedsmall">{leech.SPEED_DOWN}</p>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END leech -->
|
||||
<tfoot>
|
||||
<tr class="row2 tCenter">
|
||||
<td colspan="4" class="catBottom pad_6"> </td>
|
||||
</tr>
|
||||
</tfoot>
|
||||
</table>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<br />
|
||||
<!-- ELSE -->
|
||||
<h1 class="pagetitle tCenter">{L_CUR_ACTIVE_DLS}: <span class="normal">{L_NO}</span></h1>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</div><!--/bottom_info-->
|
||||
<!-- IF SHOW_SEARCH_DL -->
|
||||
<div class="tCenter">
|
||||
<a class="gen" href="{U_SEARCH}?dlu={PROFILE_USER_ID}&dlw=1">{L_SEARCH_DL_WILL_DOWNLOADS}</a> ::
|
||||
<a class="gen" href="{U_SEARCH}?dlu={PROFILE_USER_ID}&dlc=1">{L_SEARCH_DL_COMPLETE_DOWNLOADS}</a>
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
|
|
@ -132,7 +132,7 @@ if (!$forums = $datastore->get('cat_forums'))
|
|||
$forums = $datastore->get('cat_forums');
|
||||
}
|
||||
|
||||
if($forums['forum'][$forum_id]['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'hide_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']);
|
||||
if($forums['forum'][$forum_id]['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']);
|
||||
|
||||
if (!$forum_data['forum_parent'] && isset($forums['f'][$forum_id]['subforums']) && $show_subforums)
|
||||
{
|
||||
|
|
|
@ -58,7 +58,7 @@ while ( $row = DB()->sql_fetchrow($result) )
|
|||
{
|
||||
$username = profile_url($row);
|
||||
|
||||
if ( bf($row['user_opt'], 'user_opt', 'allow_viewonline') )
|
||||
if (bf($row['user_opt'], 'user_opt', 'user_viewonline'))
|
||||
{
|
||||
$view_online = IS_AM;
|
||||
$hidden_users++;
|
||||
|
|
|
@ -121,7 +121,7 @@ $forum_topic_data =& $t_data;
|
|||
$topic_id = $t_data['topic_id'];
|
||||
$forum_id = $t_data['forum_id'];
|
||||
|
||||
if($t_data['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'hide_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']);
|
||||
if($t_data['allow_porno_topic'] && bf($userdata['user_opt'], 'user_opt', 'user_porn_forums')) bb_die($lang['ERROR_PORNO_FORUM']);
|
||||
|
||||
if ($userdata['session_admin'] && !empty($_REQUEST['mod']))
|
||||
{
|
||||
|
@ -697,7 +697,7 @@ for($i = 0; $i < $total_posts; $i++)
|
|||
$poster_avatar = '';
|
||||
if ( !$user->opt_js['h_av'] && $poster_id != GUEST_UID )
|
||||
{
|
||||
$poster_avatar = get_avatar($postrow[$i]['user_id'], $postrow[$i]['avatar_ext_id'], !bf($postrow[$i]['user_opt'], 'user_opt', 'allow_avatar'));
|
||||
$poster_avatar = get_avatar($postrow[$i]['user_id'], $postrow[$i]['avatar_ext_id'], !bf($postrow[$i]['user_opt'], 'user_opt', 'dis_avatar'));
|
||||
}
|
||||
|
||||
$poster_rank = $rank_image = '';
|
||||
|
@ -736,7 +736,7 @@ for($i = 0; $i < $total_posts; $i++)
|
|||
|
||||
$user_sig = ($bb_cfg['allow_sig'] && !$user->opt_js['h_sig'] && $postrow[$i]['user_sig']) ? $postrow[$i]['user_sig'] : '';
|
||||
|
||||
if (bf($postrow[$i]['user_opt'], 'user_opt', 'allow_sig'))
|
||||
if (bf($postrow[$i]['user_opt'], 'user_opt', 'dis_sig'))
|
||||
{
|
||||
$user_sig = $lang['SIGNATURE_DISABLE'];
|
||||
}
|
||||
|
@ -918,7 +918,7 @@ if ($bb_cfg['show_quick_reply'])
|
|||
|
||||
if (!IS_GUEST)
|
||||
{
|
||||
$notify_user = bf($userdata['user_opt'], 'user_opt', 'notify');
|
||||
$notify_user = bf($userdata['user_opt'], 'user_opt', 'user_notify');
|
||||
|
||||
$template->assign_vars(array(
|
||||
'QR_NOTIFY_CHECKED' => ($notify_user) ? $notify_user && $is_watching_topic : $is_watching_topic,
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue