Исправление работы аттач-мода, начало адаптации модераторских функций

This commit is contained in:
Exile 2016-02-16 05:28:23 +03:00
commit 884a0b042b
7 changed files with 225 additions and 456 deletions

View file

@ -52,7 +52,7 @@ switch ($mode)
if ($tor['tor_status'] == TOR_CLOSED_CPHOLD)
{
if (!IS_ADMIN) $this->verify_mod_rights($tor['forum_id']);
DB()->query("UPDATE ". BB_TOPICS ." SET topic_status = ". TOPIC_UNLOCKED ." WHERE topic_id = {$tor['topic_id']} LIMIT 1");
DB()->query("UPDATE ". BB_TOPICS ." SET topic_status = ". TOPIC_UNLOCKED ." WHERE topic_id = {$topic_id} LIMIT 1");
}
else
{
@ -80,7 +80,7 @@ switch ($mode)
if ($tor['poster_id'] > 0)
{
$subject = sprintf($lang['TOR_MOD_TITLE'], $tor['topic_title']);
$message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $tor['topic_id']), $bb_cfg['tor_icons'][$new_status] .' '.$lang['TOR_STATUS_NAME'][$new_status]);
$message = sprintf($lang['TOR_MOD_MSG'], get_username($tor['poster_id']), make_url(TOPIC_URL . $topic_id), $bb_cfg['tor_icons'][$new_status] .' '.$lang['TOR_STATUS_NAME'][$new_status]);
if ($comment && $comment != $lang['COMMENT']) $message .= "\n\n[b]". $lang['COMMENT'] .'[/b]: '. $comment;
@ -94,7 +94,7 @@ switch ($mode)
if (!$bb_cfg['tor_comment']) $this->ajax_die($lang['MODULE_OFF']);
$subject = sprintf($lang['TOR_AUTH_TITLE'], $tor['topic_title']);
$message = sprintf($lang['TOR_AUTH_MSG'], get_username($tor['checked_user_id']), make_url(TOPIC_URL . $tor['topic_id']), $tor['topic_title']);
$message = sprintf($lang['TOR_AUTH_MSG'], get_username($tor['checked_user_id']), make_url(TOPIC_URL . $topic_id), $tor['topic_title']);
if ($comment && $comment != $lang['COMMENT']) $message .= "\n\n[b]". $lang['COMMENT'] .'[/b]: '. $comment;

View file

@ -4,7 +4,7 @@ if (!defined('IN_AJAX')) die(basename(__FILE__));
global $lang;
if (!isset($this->request['attach_id']))
if (!isset($this->request['t']))
{
$this->ajax_die($lang['EMPTY_ATTACH_ID']);
}

View file

@ -302,9 +302,9 @@ function topic_delete ($mode_or_topic_id, $forum_id = null, $prune_time = 0, $pr
LEFT JOIN ". BB_POLL_USERS ." pu USING(topic_id)
");
// Delete posts, posts_text, attachments (from DB)
// Delete posts, posts_text
DB()->query("
DELETE p, pt, ps, a, d, ph
DELETE p, pt, ph, ps
FROM ". $tmp_delete_topics ." del
LEFT JOIN ". BB_POSTS ." p ON(p.topic_id = del.topic_id)
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = p.post_id)
@ -665,13 +665,12 @@ function post_delete ($mode_or_post_id, $user_id = null, $exclude_first = true)
// Delete posts, posts_text
DB()->query("
DELETE p, pt, ps, tor, ph
DELETE p, pt, ph, ps
FROM ". $tmp_delete_posts ." del
LEFT JOIN ". BB_POSTS ." p ON(p.post_id = del.post_id)
LEFT JOIN ". BB_POSTS_TEXT ." pt ON(pt.post_id = del.post_id)
LEFT JOIN ". BB_POSTS_HTML ." ph ON(ph.post_id = del.post_id)
LEFT JOIN ". BB_POSTS_SEARCH ." ps ON(ps.post_id = del.post_id)
LEFT JOIN ". BB_BT_TORRENTS ." tor ON(tor.topic_id = del.topic_id)
");
// Log action

View file

@ -66,7 +66,7 @@ function tracker_unregister ($topic_id, $redirect_url = '')
// Unset DL-type for topic
if ($bb_cfg['bt_unset_dltype_on_tor_unreg'] && $topic_id)
{
DB()->query("UPDATE ". BB_TOPICS ." SET topic_dl_type = 0 WHERE topic_id = $topic_id LIMIT 1");
DB()->query("UPDATE ". BB_TOPICS ." SET tracker_status = 0 WHERE topic_id = $topic_id LIMIT 1");
}
// Ocelot
@ -258,7 +258,7 @@ function delete_torrent ($topic_id)
function change_tor_status ($topic_id, $tor_status)
{
global $topic_id, $userdata;
global $userdata;
$tor_status = (int) $tor_status;

View file

@ -155,11 +155,8 @@ if ($tor_reged)
'FILESIZE' => $tor_file_size,
'MAGNET' => $tor_magnet,
'HASH' => strtoupper(bin2hex($tor_info['info_hash'])),
'DOWNLOAD_COUNT' => sprintf($lang['DOWNLOAD_NUMBER'], 666/*$download_count*/),
'DOWNLOAD_COUNT' => sprintf($lang['DOWNLOAD_NUMBER'], 666/*$download_count*/), // TODO: подсчет числа скачиваний вложения (?) или удалить
'REGED_TIME' => bb_date($tor_info['reg_time']),
'REGED_DELTA' => delta_time($tor_info['reg_time']),
'TORRENT_SIZE' => humn_size($tor_size),
'COMPLETED' => sprintf($lang['DOWNLOAD_NUMBER'], $tor_info['complete_count']),
'SHOW_TOR_REGGED' => true,
'TRACKER_REG_LINK' => $tr_reg_link,

View file

@ -1,304 +0,0 @@
<div class="clear"></div>
<div class="spacer_8"></div>
<!-- BEGIN tor_not_reged -->
<table class="attach bordered med">
<tr class="row3">
<th colspan="3">{postrow.attach.tor_not_reged.DOWNLOAD_NAME}</th>
</tr>
<tr class="row1">
<td width="15%">{L_TORRENT}:</td>
<td width="70%">{postrow.attach.tor_not_reged.TRACKER_LINK}</td>
<td width="15%" rowspan="3" class="tCenter pad_6">
<p>{postrow.attach.tor_not_reged.S_UPLOAD_IMAGE}</p>
<p>{L_DOWNLOAD}</p>
<p class="small">{postrow.attach.tor_not_reged.FILESIZE}</p>
</td>
</tr>
<tr class="row1">
<td>{L_ADDED}:</td>
<td>{postrow.attach.tor_not_reged.POSTED_TIME}</td>
</tr>
<tr class="row1">
<td>{L_DOWNLOADED}:</td>
<td>{postrow.attach.tor_not_reged.DOWNLOAD_COUNT} <!-- IF SHOW_DL_LIST_LINK -->&nbsp;[ <a href="{DL_LIST_HREF}" class="med">{L_SHOW_DL_LIST}</a> ] <!-- ENDIF --></td>
</tr>
<!-- BEGIN comment -->
<tr class="row1 tCenter">
<td colspan="3">{postrow.attach.tor_not_reged.comment.COMMENT}</td>
</tr>
<!-- END comment -->
<tr class="row3 tCenter">
<td colspan="3">&nbsp;
<script type="text/javascript">
ajax.callback.change_torrent = function(data) {
if(data.title) alert(data.title);
if(data.url) document.location.href = data.url;
};
</script>
<!-- IF TOR_CONTROLS -->
<script type="text/javascript">
function change_torrents()
{
ajax.exec({
action : 'change_torrent',
attach_id : {postrow.attach.tor_not_reged.ATTACH_ID},
type : $('#tor-select-{postrow.attach.tor_not_reged.ATTACH_ID}').val()
});
}
</script>
<select name="tor_action" id="tor-select-{postrow.attach.tor_not_reged.ATTACH_ID}" onchange="$('#tor-confirm-{postrow.attach.tor_not_reged.ATTACH_ID}').attr('checked', false); $('#tor-submit-{postrow.attach.tor_not_reged.ATTACH_ID}').attr('disabled', true)">
<option value="" selected="selected" class="select-action">&raquo; {L_SELECT_ACTION}</option>
<option value="del_torrent">{L_DELETE_TORRENT}</option>
<option value="del_torrent_move_topic">{L_DELETE_MOVE_TORRENT}</option>
</select>
&nbsp; <a href="#" onclick="change_torrents($('#tor-{postrow.attach.tor_reged.ATTACH_ID} select').val()); return false;"><input type="submit" value="{L_SUBMIT}" class="liteoption" /></a>
<!-- ENDIF -->
&nbsp;</td>
</tr>
</table>
<div class="spacer_12"></div>
<!-- END tor_not_reged -->
<!-- BEGIN tor_reged -->
<!-- IF TOR_BLOCKED -->
<table id="tor_blocked" class="error">
<tr><td><p class="error_msg">{TOR_BLOCKED_MSG}</p></td></tr>
</table>
<div class="spacer_12"></div>
<!-- ELSE -->
<!-- IF SHOW_RATIO_WARN -->
<table id="tor_blocked" class="error">
<tr><td><p class="error_msg">{RATIO_WARN_MSG}</p></td></tr>
</table>
<div class="spacer_12"></div>
<!-- ENDIF -->
<table class="attach bordered med">
<tr class="row3">
<th colspan="3" class="{postrow.attach.tor_reged.DL_LINK_CLASS}">{postrow.attach.tor_reged.DOWNLOAD_NAME}<!-- IF postrow.attach.tor_reged.TOR_FROZEN == 0 --><!-- IF MAGNET_LINKS -->&nbsp;{postrow.attach.tor_reged.MAGNET}<!-- ENDIF --><!-- ENDIF --></th>
</tr>
<!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 2 && $tr_cfg['gold_silver_enabled'] -->
<tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" />&nbsp;{L_SILVER_STATUS}&nbsp;<img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" /></th>
</tr>
<!-- ELSEIF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 && $tr_cfg['gold_silver_enabled'] -->
<tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" />&nbsp;{L_GOLD_STATUS}&nbsp;<img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" /></th>
</tr>
<!-- ENDIF -->
<tr class="row1">
<td width="15%">{L_TORRENT}:</td>
<td width="70%">
{postrow.attach.tor_reged.TRACKER_LINK}
[ <span title="{postrow.attach.tor_reged.REGED_DELTA}">{postrow.attach.tor_reged.REGED_TIME}</span> ]
&#0183; {postrow.attach.tor_reged.HASH}
</td>
<td width="15%" rowspan="4" class="tCenter pad_6">
<!-- IF postrow.attach.tor_reged.TOR_FROZEN -->
<p>{postrow.attach.tor_reged.S_UPLOAD_IMAGE}</p><p>{L_DOWNLOAD}</p>
<!-- ELSE -->
<a href="{postrow.attach.tor_reged.U_DOWNLOAD_LINK}" class="{postrow.attach.tor_reged.DL_LINK_CLASS}">
<p>{postrow.attach.tor_reged.S_UPLOAD_IMAGE}</p><p><b>{L_DOWNLOAD}</b></p></a>
<!-- ENDIF -->
<p class="small">{postrow.attach.tor_reged.FILESIZE}</p>
<p style="padding-top: 6px;"><input id="tor-filelist-btn" type="button" class="lite" value="{L_FILELIST}" /></p>
</td>
</tr>
<tr class="row1">
<td>{L_TOR_STATUS}:</td>
<td>
<span id="tor-{postrow.attach.tor_reged.ATTACH_ID}-status">{postrow.attach.tor_reged.TOR_STATUS_ICON} <b>{postrow.attach.tor_reged.TOR_STATUS_TEXT}</b>
<!-- IF postrow.attach.tor_reged.TOR_STATUS_BY -->{postrow.attach.tor_reged.TOR_STATUS_BY}<!-- ENDIF -->
</span>
<!-- IF postrow.attach.tor_reged.TOR_STATUS_REPLY || AUTH_MOD -->
<script type="text/javascript">
ajax.change_tor_status = function(mode) {
ajax.exec({
action : 'change_tor_status',
attach_id : {postrow.attach.tor_reged.ATTACH_ID},
mode : mode,
status : $('#sel_status').val(),
comment : $('#comment').val()
});
};
ajax.callback.change_tor_status = function(data) {
<!-- IF AUTH_MOD -->
$('#tor-'+ data.attach_id +'-status').html(data.status);
<!-- ELSEIF postrow.attach.tor_reged.TOR_STATUS_REPLY -->
$('#tor_comment').html('{L_TOR_AUTH_SENT_COMMENT}');
<!-- ENDIF -->
$('#comment').attr('value', '');
};
</script>
<span id="tor_comment">
<!-- IF $bb_cfg['tor_comment'] -->
<input type="text" id="comment" placeholder="{L_COMMENT}" />
<!-- ENDIF -->
<!-- IF AUTH_MOD -->
<span id="tor-{postrow.attach.tor_reged.ATTACH_ID}">{postrow.attach.tor_reged.TOR_STATUS_SELECT}</span>
<a href="#" onclick="ajax.change_tor_status('status'); return false;"><input type="submit" value="{L_EDIT}" class="liteoption" /></a>
<!-- ELSEIF postrow.attach.tor_reged.TOR_STATUS_REPLY -->
<a href="#" onclick="ajax.change_tor_status('status_reply'); return false;"><input type="submit" value="{L_TOR_AUTH_FIXED}" class="liteoption" /></a>
<!-- ENDIF -->
</span>
<!-- ENDIF / AUTH_MOD -->
</td>
</tr>
<tr class="row1">
<td>{L_COMPLETED}:</td>
<td><span title="{L_DOWNLOADED}: {postrow.attach.tor_reged.DOWNLOAD_COUNT}">{postrow.attach.tor_reged.COMPLETED}</span></td>
</tr>
<tr class="row1">
<td>{L_SIZE}:</td>
<td>{postrow.attach.tor_reged.TORRENT_SIZE}</td>
</tr>
<!-- BEGIN comment -->
<tr class="row1 tCenter">
<td colspan="3">{postrow.attach.tor_reged.comment.COMMENT}</td>
</tr>
<!-- END comment -->
<tr class="row3 tCenter">
<td colspan="3">
<script type="text/javascript">
ajax.callback.change_torrent = function(data) {
if (data.title) alert(data.title);
if (data.url) document.location.href = data.url;
};
</script>
<!-- IF TOR_CONTROLS -->
<script type="text/javascript">
function change_torrents()
{
ajax.exec({
action : 'change_torrent',
attach_id : {postrow.attach.tor_reged.ATTACH_ID},
type : $('#tor-select-{postrow.attach.tor_reged.ATTACH_ID}').val()
});
}
</script>
<select name="tor_action" id="tor-select-{postrow.attach.tor_reged.ATTACH_ID}" onchange="$('#tor-confirm-{postrow.attach.tor_reged.ATTACH_ID}').attr('checked', false); $('#tor-submit-{postrow.attach.tor_reged.ATTACH_ID}').attr('disabled', true)">
<option value="" selected="selected" class="select-action">&raquo; {L_SELECT_ACTION}</option>
<option value="del_torrent">{L_DELETE_TORRENT}</option>
<option value="del_torrent_move_topic">{L_DELETE_MOVE_TORRENT}</option>
<!-- IF AUTH_MOD -->
<!-- IF $tr_cfg['gold_silver_enabled'] -->
<!-- IF postrow.attach.tor_reged.TOR_SILVER_GOLD == 1 -->
<option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option>
<option value="set_silver">{L_SET_SILVER_TORRENT}</option>
<!-- ELSEIF postrow.attach.tor_reged.TOR_SILVER_GOLD == 2 -->
<option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option>
<option value="set_gold">{L_SET_GOLD_TORRENT}</option>
<!-- ELSE -->
<option value="set_gold">{L_SET_GOLD_TORRENT}</option>
<option value="set_silver">{L_SET_SILVER_TORRENT}</option>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
</select>
<a href="#" onclick="change_torrents($('#tor-{postrow.attach.tor_reged.ATTACH_ID} select').val()); return false;"><input type="submit" value="{L_EDIT}" class="liteoption" /></a>
<!-- ELSEIF TOR_HELP_LINKS -->
{TOR_HELP_LINKS}
<!-- ELSE -->
&nbsp;
<!-- ENDIF -->
</td>
</tr>
</table>
<script type="text/javascript">
function humn_size (size) {
var i = 0;
var units = ["B", "KB", "MB", "GB", "TB", "PB", "EB", "ZB", "YB"];
while ((size/1024) >= 1) {
size = size/1024;
i++;
}
size = String(size);
if (size.indexOf('.') != -1) {
size = size.substring(0, size.indexOf('.') + 3);
}
return size + ' ' + units[i];
}
ajax.tor_filelist_loaded = false;
$('#tor-filelist-btn').click(function(){
if (ajax.tor_filelist_loaded) {
$('#tor-fl-wrap').toggle();
return false;
}
$('#tor-fl-wrap').show();
ajax.exec({action: 'view_torrent', attach_id: {postrow.attach.tor_reged.ATTACH_ID} });
ajax.callback.view_torrent = function(data) {
$('#tor-filelist').html(data.html);
$('#tor-filelist > ul.tree-root').treeview({
control: "#tor-fl-treecontrol"
});
$('#tor-filelist li.collapsable').each(function(){
var $li = $(this);
var dir_size = 0;
$('i', $li).each(function(){ dir_size += parseInt(this.innerHTML) });
$('span.b:first', $li).append(' &middot; <s>' + humn_size(dir_size) + '</s>');
});
$('#tor-filelist i').each(function(){
var size_bytes = this.innerHTML;
this.innerHTML = '('+ size_bytes +')';
$(this).prepend('<s>'+ humn_size(size_bytes) +'</s> ');
});
ajax.tor_filelist_loaded = true;
};
$('#tor-fl-treecontrol a').click(function(){ this.blur(); });
return false;
});
</script>
<style type="text/css">
#tor-fl-wrap {
margin: 12px auto 0; width: 95%;
}
#fl-tbl-wrap { margin: 2px 14px 16px 14px; }
#tor-filelist {
margin: 0 2px; padding: 8px 6px;
max-height: 284px; overflow: auto;
}
#tor-filelist i { color: #7A7A7A; padding-left: 4px; }
#tor-filelist s { color: #0000FF; text-decoration: none; }
#tor-filelist .b > s { color: #800000; }
#tor-filelist .b { font-weight: bold; padding-left: 20px; background: transparent url('styles/images/folder.gif') no-repeat 3px 50%;}
#tor-filelist ul li span { padding-left: 20px; background: transparent url('styles/images/page.gif') no-repeat 3px 50%;}
#tor-filelist .tor-root-dir { font-size: 13px; font-weight: bold; line-height: 12px; padding-left: 4px; }
#tor-fl-treecontrol { padding: 2px 0 4px; }
#tor-fl-treecontrol a { padding: 0 8px; font-size: 11px; text-decoration: none; }
#tor-fl-bgn { width: 200px; height: 300px; margin-right: 6px; border: 1px solid #B5BEC4;}
</style>
<div id="tor-fl-wrap" class="border bw_TRBL row2 hidden">
<div id="fl-tbl-wrap">
<table class="w100 borderless" cellspacing="0" cellpadding="0">
<tr>
<td>
<div id="tor-fl-treecontrol">
<a href="#">{L_COLLAPSE}</a>&middot;
<a href="#">{L_EXPAND}</a>&middot;
<a href="#">{L_SWITCH}</a>
</div>
</td>
</tr>
<tr>
<td class="vTop" style="width: 100%;"><div id="tor-filelist" class="border bw_TRBL med row1"><span class="loading-1">{L_LOADING}</span></div></td>
</tr>
</table>
</div>
</div>
<div class="spacer_12"></div>
<!-- ENDIF -->
<!-- END tor_reged -->

View file

@ -1,13 +1,10 @@
<div class="clear"></div>
<!-- IF #IS_CP_HOLDER -->
<div class="spacer_12"></div>
<table id="tor_blocked" class="error">
<tr><td><p class="error_msg" style="height: 200px; overflow: auto;"><?php echo file_get_contents(BB_PATH .'/misc/html/copyright_holders_terms.html'); ?></p></td></tr>
<tr><td><p class="error_msg">Правила для правообладателей</p></td></tr>
</table>
<!-- ELSE -->
<!-- IF SHOW_TOR_BLOCKED -->
@ -15,16 +12,14 @@
<table id="tor_blocked" class="error">
<tr><td><p class="error_msg">{TOR_BLOCKED_MSG}</p></td></tr>
</table>
<div class="spacer_12"></div>
<!-- ENDIF -->
<!-- IF SHOW_RATIO_WARN -->
<div class="spacer_12"></div>
<table id="tor_blocked" class="error">
<tr><td><p class="error_msg">{$bb_cfg['bt_ratio_warning_msg']}</p></td></tr>
<tr><td><p class="error_msg">{RATIO_WARN_MSG}</p></td></tr>
</table>
<!-- ENDIF -->
<!-- ENDIF / ! #IS_CP_HOLDER -->
<div class="spacer_12"></div>
@ -32,74 +27,129 @@
<!-- IF SHOW_TOR_REGGED -->
<div id="tor-reged">
<table class="attach bordered med">
<tr class="row3 tCenter">
<td colspan="3" class="med">{$bb_cfg['tor_help_links_top']}</td>
<tr class="row3">
<th colspan="3" class="med">{DOWNLOAD_NAME}<!-- IF TOR_FROZEN == 0 --><!-- IF MAGNET_LINKS -->&nbsp;{MAGNET}<!-- ENDIF --><!-- ENDIF --></th>
</tr>
<!-- IF TOR_SILVER_GOLD == 2 && $tr_cfg['gold_silver_enabled'] -->
<tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" />&nbsp;{L_SILVER_STATUS}&nbsp;<img src="styles/images/tor_silver.gif" width="16" height="15" title="{L_SILVER}" /></th>
</tr>
<!-- ELSEIF TOR_SILVER_GOLD == 1 && $tr_cfg['gold_silver_enabled'] -->
<tr class="row4">
<th colspan="3" class="row7"><img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" />&nbsp;{L_GOLD_STATUS}&nbsp;<img src="styles/images/tor_gold.gif" width="16" height="15" title="{L_GOLD}" /></th>
</tr>
<!-- ENDIF -->
<tr class="row1">
<td width="15%">Торрент:</td>
<td width="70%"><!-- IF TOR_FROZEN -->Зарегистрирован<!-- ELSE -->{TRACKER_REG_LINK}<!-- ENDIF --> &nbsp;<span title="Зарегистрирован">[ {REGED_TIME} ]</span></td>
<td width="15%">{L_TORRENT}:</td>
<td width="70%">
{TRACKER_REG_LINK}
[ <span title="{TOR_LONGEVITY}">{REGED_TIME}</span> ]
&#0183; {HASH}
</td>
<td width="15%" rowspan="4" class="tCenter pad_6">
<!-- IF TOR_FROZEN and not AUTH_MOD -->
<p><img src="{IMG_URL}/icon_attach.gif" /></p>
<p>Скачать .torrent</p>
<p>{S_UPLOAD_IMAGE}</p>
<p>{L_DOWNLOAD}</p>
<!-- ELSE -->
<p><a href="{$bb_cfg['dl_url']}{TOPIC_ID}" class="dl-stub"><img src="{IMG_URL}/attach_big.gif" /></a></p>
<p><a href="{$bb_cfg['dl_url']}{TOPIC_ID}" class="dl-stub dl-link">Скачать .torrent</a></p>
<p><a href="{$bb_cfg['dl_url']}{TOPIC_ID}" class="dl-stub"><img src="styles/images/icon_dn.gif" /></a></p>
<p><a href="{$bb_cfg['dl_url']}{TOPIC_ID}" class="dl-stub dl-link">{L_DOWNLOAD} .torrent</a></p>
<!-- ENDIF -->
<p class="small">{FILESIZE}</p>
<!-- IF SHOW_TOR_FILELIST --><p style="padding-top: 6px;"><input id="tor-filelist-btn" type="button" class="lite" style="width: 120px;" value="Список файлов" /></p><!-- ENDIF -->
<p style="padding-top: 6px;"><input id="tor-filelist-btn" type="button" class="lite" value="{L_FILELIST}" /></p>
</td>
</tr>
<tr class="row1">
<td>Статус:</td>
<td<!-- IF #IS_AM --> style="padding: 6px 4px;"<!-- ENDIF -->>
<span id="tor-{TOPIC_ID}-text">{TOR_STATUS_ICON} <a href="viewtopic.php?t={$bb_cfg['tor_status_topic_id']}" class="med"><b>{TOR_STATUS_TEXT}</b></a>
<!-- IF TOR_STATUS_TIME -->
&nbsp;&middot;&nbsp; <a href="{PROFILE_URL}{TOR_STATUS_UID}" class="med"><i>{TOR_STATUS_USERNAME}</i></a>&nbsp; &middot;&nbsp; <i>{TOR_STATUS_TIME}</i> назад
<td>{L_TOR_STATUS}:</td>
<td>
<span id="tor-{TOPIC_ID}-status">{TOR_STATUS_ICON} <b>{TOR_STATUS_TEXT}</b>
<!-- IF TOR_STATUS_BY -->{TOR_STATUS_BY}<!-- ENDIF -->
</span>
<!-- IF TOR_STATUS_REPLY || AUTH_MOD -->
<script type="text/javascript">
ajax.change_tor_status = function(mode) {
ajax.exec({
action : 'change_tor_status',
topic_id : {TOPIC_ID},
mode : mode,
status : $('#sel_status').val(),
comment : $('#comment').val()
});
};
ajax.callback.change_tor_status = function(data) {
<!-- IF AUTH_MOD -->
$('#tor-'+ {TOPIC_ID} +'-status').html(data.status);
<!-- ELSEIF TOR_STATUS_REPLY -->
$('#tor_comment').html('{L_TOR_AUTH_SENT_COMMENT}');
<!-- ENDIF -->
$('#comment').attr('value', '');
};
</script>
<span id="tor_comment">
<!-- IF $bb_cfg['tor_comment'] -->
<input type="text" id="comment" placeholder="{L_COMMENT}" />
<!-- ENDIF -->
<!-- IF AUTH_MOD -->
<span id="tor-{TOPIC_ID}">{TOR_STATUS_SELECT}</span>
<a href="#" onclick="ajax.change_tor_status('status'); return false;"><input type="submit" value="{L_EDIT}" class="liteoption" /></a>
<!-- ELSEIF TOR_STATUS_REPLY -->
<a href="#" onclick="ajax.change_tor_status('status_reply'); return false;"><input type="submit" value="{L_TOR_AUTH_FIXED}" class="liteoption" /></a>
<!-- ENDIF -->
</span>
<!-- IF AUTH_MOD -->
<div class="spacer_6"></div>
Изменить на: <span id="tor-{TOPIC_ID}"></span>
[ <a href="#" onclick="ajax.change_tor_status( {TOPIC_ID}, $('#tor-{TOPIC_ID} select').val() ); return false;" class="med bold nowrap">Изменить</a> ]
<script type="text/javascript">$('#tor-{TOPIC_ID}').html( $('#tor-status-sel').html() );</script>
<!-- ENDIF -->
<!-- ENDIF / AUTH_MOD -->
</td>
</tr>
<tr class="row1">
<td>.torrent скачан:</td>
<td>{TOR_COMPLETED}</td>
<td>{L_COMPLETED}:</td>
<td><span title="{L_DOWNLOADED}: {DOWNLOAD_COUNT}">{TOR_COMPLETED}</span></td>
</tr>
<tr class="row1">
<td>Размер:</td>
<td>{L_SIZE}:</td>
<td>{TOR_SIZE}</td>
</tr>
<tr class="row3 tCenter">
<td colspan="3" height="20">
<td colspan="3">
<script type="text/javascript">
ajax.callback.change_torrent = function(data) {
if (data.title) alert(data.title);
if (data.url) document.location.href = data.url;
};
</script>
<!-- IF TOR_CONTROLS -->
<form method="post" action="{TOR_ACTION}" class="tokenized">
<input type="hidden" name="t" value="{TOPIC_ID}" />
<select name="tor_action">
<script type="text/javascript">
function change_torrents()
{
ajax.exec({
action : 'change_torrent',
t : {TOPIC_ID},
type : $('#tor-select-{TOPIC_ID}').val()
});
}
</script>
<select name="tor_action" id="tor-select-{TOPIC_ID}" onchange="$('#tor-confirm-{TOPIC_ID}').attr('checked', false); $('#tor-submit-{TOPIC_ID}').attr('disabled', true)">
<option value="" selected="selected" class="select-action">&raquo; {L_SELECT_ACTION}</option>
<option value="del_torrent">{L_DELETE_TORRENT}</option>
<option value="del_torrent_move_topic">{L_DELETE_MOVE_TORRENT}</option>
<!-- IF AUTH_MOD -->
<option value="unreg_tor_and_close_topic" selected="selected"> &nbsp;Разрегистрировать и закрыть &nbsp;</option>
<option value="unreg_tor_and_move_topic"> &nbsp;Разрегистрировать и перенести &nbsp;</option>
<!-- IF $tr_cfg['gold_silver_enabled'] -->
<!-- IF TOR_SILVER_GOLD == 1 -->
<option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option>
<option value="set_silver">{L_SET_SILVER_TORRENT}</option>
<!-- ELSEIF TOR_SILVER_GOLD == 2 -->
<option value="unset_silver_gold">{L_UNSET_GOLD_TORRENT} / {L_UNSET_SILVER_TORRENT}</option>
<option value="set_gold">{L_SET_GOLD_TORRENT}</option>
<!-- ELSE -->
<option value="set_gold">{L_SET_GOLD_TORRENT}</option>
<option value="set_silver">{L_SET_SILVER_TORRENT}</option>
<!-- ENDIF -->
<!-- ENDIF -->
<!-- ENDIF -->
<!-- IF SHOW_CPHOLD_OPT -->
<option value="copyright_close"> &nbsp;Закрыть по просьбе правообладателя &nbsp;</option>
<option value="copyright_close"> &nbsp;??? Закрыть по просьбе правообладателя &nbsp;</option>
<!-- ENDIF -->
</select>
<label>
<input name="confirm" id="tor-confirm" type="checkbox" value="1" />&nbsp;Подтвердите&nbsp;
</label>
<input name="" type="submit" value="Отправить" style="width: 110px;"
onclick="var $cfm = $('#tor-confirm'); if( !$cfm.attr('checked') ){ $cfm.parent('label').addClass('hl-err-label'); return false; }"
/>&nbsp;
</form>
<!-- ELSEIF SHOW_ADS -->
{$bb_cfg['tor_help_links_bottom']}
<a href="#" onclick="change_torrents($('#tor-{TOPIC_ID} select').val()); return false;"><input type="submit" value="{L_EDIT}" class="liteoption" /></a>
<!-- ELSEIF TOR_HELP_LINKS -->
{TOR_HELP_LINKS}
<!-- ELSE -->
&nbsp;
<!-- ENDIF -->
@ -107,7 +157,6 @@
</tr>
</table>
<!-- IF SHOW_TOR_FILELIST -->
<script type="text/javascript">
function humn_size (size) {
var i = 0;
@ -123,47 +172,75 @@
return size + ' ' + units[i];
}
$(document).ready(function(){
ajax.tor_filelist_loaded = false;
$('#tor-filelist-btn').click(function(){
if (ajax.tor_filelist_loaded) {
$('#tor-fl-wrap').toggle();
return false;
}
$('#tor-fl-wrap').show();
$('#tor-filelist').load('viewtorrent.php', {t: {TOPIC_ID}}, function(){
ajax.exec({action: 'view_torrent', t: {TOPIC_ID} });
ajax.callback.view_torrent = function(data) {
$('#tor-filelist').html(data.html);
$('#tor-filelist > ul.tree-root').treeview({
control: "#tor-fl-treecontrol"
});
$('#tor-filelist li.collapsable').each(function(){
var $li = $(this);
var dir_size = 0;
$('i', $li).each(function(){ dir_size += parseInt(this.innerHTML) });
$('span.b:first', $li).append(' &middot; <s>' + humn_size(dir_size) + '</s>');
});
$('#tor-filelist i').each(function(){
var size_bytes = this.innerHTML.replace(/\D/g, '');
var size_bytes = this.innerHTML;
this.innerHTML = '('+ size_bytes +')';
$(this).prepend('<s>'+ humn_size(size_bytes) +'</s> ');
});
});
$(this).hide();
ajax.tor_filelist_loaded = true;
};
$('#tor-fl-treecontrol a').click(function(){ this.blur(); });
return false;
});
<!-- IF OPEN_TOR_FILELIST -->
$('#tor-filelist-btn').click();
<!-- ENDIF -->
});
</script>
<style type="text/css">
#tor-fl-wrap { width: 95%; margin: 12px auto 0; display: none; }
#tor-fl-wrap {
margin: 12px auto 0; width: 95%;
}
#fl-tbl-wrap { margin: 2px 14px 16px 14px; }
#tor-filelist {
margin: 2px; padding: 10px 8px 4px; border: 1px solid #A5AFB4; background: #F8F8F8; max-height: 300px; overflow: auto;
margin: 0 2px; padding: 8px 6px;
max-height: 284px; overflow: auto;
}
#tor-filelist i { color: #7A7A7A; padding-left: 4px; }
#tor-filelist s { color: #0000FF; text-decoration: none; }
#tor-filelist .b { font-weight: bold; }
#tor-filelist .b > s { color: #800000; }
#tor-filelist .b { font-weight: bold; padding-left: 20px; background: transparent url('styles/images/folder.gif') no-repeat 3px 50%;}
#tor-filelist ul li span { padding-left: 20px; background: transparent url('styles/images/page.gif') no-repeat 3px 50%;}
#tor-filelist .tor-root-dir { font-size: 13px; font-weight: bold; line-height: 12px; padding-left: 4px; }
#tor-fl-treecontrol { padding: 2px 0 4px; }
#tor-fl-treecontrol a { padding: 0 8px; font-size: 11px; text-decoration: none; }
.tor-fl-hide { height: 12px; }
#tor-fl-bgn { width: 200px; height: 300px; margin-right: 6px; border: 1px solid #B5BEC4;}
</style>
<div id="tor-fl-wrap">
<div id="tor-fl-wrap" class="border bw_TRBL row2 hidden">
<div id="fl-tbl-wrap">
<table class="w100 borderless" cellspacing="0" cellpadding="0">
<tr>
<td>
<div id="tor-fl-treecontrol">
<a href="#">Свернуть директории</a>&middot;<a href="#">Развернуть</a>&middot;<a href="#">Переключить</a>&middot;<a href="#" onclick="$('#tor-filelist').toggleClass('tor-fl-hide'); return false;">Спрятать/Открыть</a>
<a href="#">{L_COLLAPSE}</a>&middot;
<a href="#">{L_EXPAND}</a>&middot;
<a href="#">{L_SWITCH}</a>
</div>
</td>
</tr>
<tr>
<td class="vTop" style="width: 100%;"><div id="tor-filelist" class="border bw_TRBL med row1"><span class="loading-1">{L_LOADING}</span></div></td>
</tr>
</table>
</div>
<div id="tor-filelist" class="med"><span class="loading-1">загружается...</span></div>
</div>
<!-- ENDIF -->
<div class="spacer_12"></div>
</div><!--/tor-reged-->