Report hack removed

Удаление системы жалоб по причине излишней монструозности и несоответствия современным стандартам в целом. Система будет заменна до версии 2.2 на более легковесное решение на ajax.
This commit is contained in:
Exile 2014-09-07 16:32:06 +04:00
commit 129a3af4d0
63 changed files with 25 additions and 5860 deletions

View file

@ -44,10 +44,6 @@ DROP TABLE IF EXISTS `bb_privmsgs`;
DROP TABLE IF EXISTS `bb_privmsgs_text`;
DROP TABLE IF EXISTS `bb_quota_limits`;
DROP TABLE IF EXISTS `bb_ranks`;
DROP TABLE IF EXISTS `bb_reports`;
DROP TABLE IF EXISTS `bb_reports_changes`;
DROP TABLE IF EXISTS `bb_reports_modules`;
DROP TABLE IF EXISTS `bb_reports_reasons`;
DROP TABLE IF EXISTS `bb_search_rebuild`;
DROP TABLE IF EXISTS `bb_search_results`;
DROP TABLE IF EXISTS `bb_sessions`;
@ -555,15 +551,8 @@ INSERT INTO `bb_config` VALUES ('static_sitemap', '');
INSERT INTO `bb_config` VALUES ('topics_per_page', '50');
INSERT INTO `bb_config` VALUES ('xs_use_cache', '1');
INSERT INTO `bb_config` VALUES ('active_ads', '');
INSERT INTO `bb_config` VALUES ('report_subject_auth', '1');
INSERT INTO `bb_config` VALUES ('report_modules_cache', '1');
INSERT INTO `bb_config` VALUES ('report_hack_count', '0');
INSERT INTO `bb_config` VALUES ('report_notify', '0');
INSERT INTO `bb_config` VALUES ('report_list_admin', '0');
INSERT INTO `bb_config` VALUES ('report_new_window', '0');
INSERT INTO `bb_config` VALUES ('cron_enabled', '1');
INSERT INTO `bb_config` VALUES ('cron_check_interval', '300');
INSERT INTO `bb_config` VALUES ('reports_enabled', '1');
INSERT INTO `bb_config` VALUES ('magnet_links_enabled', '1');
INSERT INTO `bb_config` VALUES ('gender', '1');
INSERT INTO `bb_config` VALUES ('callseed', '0');
@ -868,7 +857,6 @@ CREATE TABLE IF NOT EXISTS `bb_posts` (
`post_edit_time` int(11) NOT NULL DEFAULT '0',
`post_edit_count` smallint(5) unsigned NOT NULL DEFAULT '0',
`post_attachment` tinyint(1) NOT NULL DEFAULT '0',
`post_reported` tinyint(1) NOT NULL DEFAULT '0',
`user_post` tinyint(1) NOT NULL DEFAULT '1',
`mc_comment` TEXT NOT NULL DEFAULT '',
`mc_type` TINYINT( 1 ) NOT NULL DEFAULT '0',
@ -884,7 +872,7 @@ CREATE TABLE IF NOT EXISTS `bb_posts` (
-- Дамп данных таблицы `bb_posts`
--
INSERT INTO `bb_posts` VALUES (1, 1, 1, 2, UNIX_TIMESTAMP(), '', 0, 0, '', 0, 0, 0, 0, 1, '', 0, 0);
INSERT INTO `bb_posts` VALUES (1, 1, 1, 2, UNIX_TIMESTAMP(), '', 0, 0, '', 0, 0, 0, 1, '', 0, 0);
-- --------------------------------------------------------
@ -944,7 +932,6 @@ CREATE TABLE IF NOT EXISTS `bb_privmsgs` (
`privmsgs_to_userid` mediumint(8) NOT NULL DEFAULT '0',
`privmsgs_date` int(11) NOT NULL DEFAULT '0',
`privmsgs_ip` varchar(32) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT '',
`privmsgs_reported` tinyint(1) NOT NULL DEFAULT '0',
PRIMARY KEY (`privmsgs_id`),
KEY `privmsgs_from_userid` (`privmsgs_from_userid`),
KEY `privmsgs_to_userid` (`privmsgs_to_userid`)
@ -1007,100 +994,6 @@ INSERT INTO `bb_ranks` VALUES (1, 'Администратор', -1, 1, 'images/r
-- --------------------------------------------------------
--
-- Структура таблицы `bb_reports`
--
CREATE TABLE IF NOT EXISTS `bb_reports` (
`report_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`user_id` mediumint(8) NOT NULL,
`report_time` int(11) NOT NULL,
`report_last_change` mediumint(8) unsigned DEFAULT NULL,
`report_module_id` mediumint(8) unsigned NOT NULL,
`report_status` tinyint(1) NOT NULL,
`report_reason_id` mediumint(8) unsigned NOT NULL,
`report_subject` int(11) NOT NULL,
`report_subject_data` mediumtext,
`report_title` varchar(255) NOT NULL,
`report_desc` text NOT NULL,
PRIMARY KEY (`report_id`),
KEY `user_id` (`user_id`),
KEY `report_time` (`report_time`),
KEY `report_type_id` (`report_module_id`),
KEY `report_status` (`report_status`),
KEY `report_reason_id` (`report_reason_id`),
KEY `report_subject` (`report_subject`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `bb_reports_changes`
--
CREATE TABLE IF NOT EXISTS `bb_reports_changes` (
`report_change_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`report_id` mediumint(8) unsigned NOT NULL,
`user_id` mediumint(8) NOT NULL,
`report_change_time` int(11) NOT NULL,
`report_status` tinyint(1) NOT NULL,
`report_change_comment` text NOT NULL,
PRIMARY KEY (`report_change_id`),
KEY `report_id` (`report_id`),
KEY `user_id` (`user_id`),
KEY `report_change_time` (`report_change_time`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `bb_reports_modules`
--
CREATE TABLE IF NOT EXISTS `bb_reports_modules` (
`report_module_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`report_module_order` mediumint(8) unsigned NOT NULL,
`report_module_notify` tinyint(1) NOT NULL,
`report_module_prune` smallint(6) NOT NULL,
`report_module_last_prune` int(11) DEFAULT NULL,
`report_module_name` varchar(50) NOT NULL,
`auth_write` tinyint(1) NOT NULL,
`auth_view` tinyint(1) NOT NULL,
`auth_notify` tinyint(1) NOT NULL,
`auth_delete` tinyint(1) NOT NULL,
PRIMARY KEY (`report_module_id`),
KEY `report_module_order` (`report_module_order`),
KEY `auth_view` (`auth_view`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
--
-- Дамп данных таблицы `bb_reports_modules`
--
INSERT INTO `bb_reports_modules` VALUES (1, 1, 0, 0, NULL, 'report_general', 0, 1, 1, 1);
INSERT INTO `bb_reports_modules` VALUES (2, 2, 0, 0, NULL, 'report_post', 0, 1, 1, 1);
INSERT INTO `bb_reports_modules` VALUES (3, 3, 0, 0, NULL, 'report_topic', 0, 1, 1, 1);
INSERT INTO `bb_reports_modules` VALUES (4, 4, 0, 0, NULL, 'report_user', 0, 1, 1, 1);
INSERT INTO `bb_reports_modules` VALUES (5, 5, 0, 0, NULL, 'report_privmsg', 0, 1, 1, 1);
-- --------------------------------------------------------
--
-- Структура таблицы `bb_reports_reasons`
--
CREATE TABLE IF NOT EXISTS `bb_reports_reasons` (
`report_reason_id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
`report_module_id` mediumint(8) unsigned NOT NULL,
`report_reason_order` mediumint(8) unsigned NOT NULL,
`report_reason_desc` varchar(255) NOT NULL,
PRIMARY KEY (`report_reason_id`),
KEY `report_type_id` (`report_module_id`),
KEY `report_reason_order` (`report_reason_order`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;
-- --------------------------------------------------------
--
-- Структура таблицы `bb_search_rebuild`
--
@ -1248,7 +1141,6 @@ CREATE TABLE IF NOT EXISTS `bb_topics` (
`topic_last_post_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`topic_moved_id` mediumint(8) unsigned NOT NULL DEFAULT '0',
`topic_attachment` tinyint(1) NOT NULL DEFAULT '0',
`topic_reported` tinyint(1) NOT NULL DEFAULT '0',
`topic_dl_type` tinyint(1) NOT NULL DEFAULT '0',
`topic_last_post_time` int(11) NOT NULL DEFAULT '0',
`topic_show_first_post` tinyint(1) unsigned NOT NULL DEFAULT '0',
@ -1263,7 +1155,7 @@ CREATE TABLE IF NOT EXISTS `bb_topics` (
-- Дамп данных таблицы `bb_topics`
--
INSERT INTO `bb_topics` VALUES (1, 1, 'Добро пожаловать в TorrentPier II', 2, UNIX_TIMESTAMP(), 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 972086460, 0);
INSERT INTO `bb_topics` VALUES (1, 1, 'Добро пожаловать в TorrentPier II', 2, UNIX_TIMESTAMP(), 2, 0, 0, 0, 0, 1, 1, 0, 0, 0, UNIX_TIMESTAMP(), 0);
-- --------------------------------------------------------

18
upgrade/changes.txt Normal file
View file

@ -0,0 +1,18 @@
Схема изменений начиная с версии 2.1 (R600):
Изменения в базе:
DROP TABLE IF EXISTS `bb_reports`;
DROP TABLE IF EXISTS `bb_reports_changes`;
DROP TABLE IF EXISTS `bb_reports_modules`;
DROP TABLE IF EXISTS `bb_reports_reasons`;
DELETE FROM `bb_config` WHERE `config_name` = 'report_subject_auth';
DELETE FROM `bb_config` WHERE `config_name` = 'report_modules_cache';
DELETE FROM `bb_config` WHERE `config_name` = 'report_hack_count';
DELETE FROM `bb_config` WHERE `config_name` = 'report_notify';
DELETE FROM `bb_config` WHERE `config_name` = 'report_list_admin';
DELETE FROM `bb_config` WHERE `config_name` = 'report_new_window';
DELETE FROM `bb_config` WHERE `config_name` = 'reports_enabled';
ALTER TABLE `bb_posts` DROP COLUMN `post_reported`;
ALTER TABLE `bb_privmsgs` DROP COLUMN `privmsgs_reported`;
ALTER TABLE `bb_topics` DROP COLUMN `topic_reported`;

View file

@ -56,7 +56,6 @@ switch ($mode)
'S_CONFIG_ACTION' => 'admin_board.php?mode=config_mods',
'CONFIG_MODS' => true,
'REPORTS_ENABLED' => $new['reports_enabled'],
'MAGNET_LINKS_ENABLED' => $new['magnet_links_enabled'],
'GENDER' => $new['gender'],
'CALLSEED' => $new['callseed'],

View file

@ -1,558 +0,0 @@
<?php
if (!empty($setmodules))
{
if ($bb_cfg['reports_enabled']) $module['MODS']['REPORTS'] = basename(__FILE__) .'?mode=config';
return;
}
require('./pagestart.php');
require(INC_DIR . 'functions_report.php');
require(INC_DIR . 'functions_report_admin.php');
$return_links = array(
'index' => '<br /><br />'. sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>'),
'config' => '<br /><br />'. sprintf($lang['CLICK_RETURN_REPORT_CONFIG'], '<a href="admin_reports.php?mode=config">', '</a>'),
'admin' => '<br /><br />'. sprintf($lang['CLICK_RETURN_REPORT_ADMIN'], '<a href="admin_reports.php">', '</a>')
);
$redirect_url = 'admin/admin_reports.php';
$template->assign_var('S_REPORT_ACTION', 'admin_reports.php');
if (isset($_POST['mode']) || isset($_GET['mode']))
{
$mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode'];
//
// allow multiple modes (we need this for sub-modes, e.g. the report reasons)
//
if (is_array($mode))
{
$modes = $mode;
$mode = $modes[0];
}
else
{
$modes = array($mode);
}
}
else
{
$mode = '';
$modes = array();
}
//
// Configuration page
//
if ($mode == 'config')
{
if (isset($_POST['submit']))
{
$config_update = (isset($_POST['bb_cfg'])) ? $_POST['bb_cfg'] : array();
bb_update_config($config_update);
report_modules_cache_clean();
bb_die($lang['REPORT_CONFIG_UPDATED'] . $return_links['config'] . $return_links['index']);
}
else
{
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => '<input type="hidden" name="mode" value="config" />',
'REPORT_SUBJECT_AUTH_ON' => ($bb_cfg['report_subject_auth']) ? ' checked="checked"' : '',
'REPORT_SUBJECT_AUTH_OFF' => (!$bb_cfg['report_subject_auth']) ? ' checked="checked"' : '',
'REPORT_MODULES_CACHE_ON' => ($bb_cfg['report_modules_cache']) ? ' checked="checked"' : '',
'REPORT_MODULES_CACHE_OFF' => (!$bb_cfg['report_modules_cache']) ? ' checked="checked"' : '',
'REPORT_NOTIFY_CHANGE' => ($bb_cfg['report_notify'] == REPORT_NOTIFY_CHANGE) ? ' checked="checked"' : '',
'REPORT_NOTIFY_NEW' => ($bb_cfg['report_notify'] == REPORT_NOTIFY_NEW) ? ' checked="checked"' : '',
'REPORT_NOTIFY_OFF' => (!$bb_cfg['report_notify']) ? ' checked="checked"' : '',
'REPORT_LIST_ADMIN_ON' => ($bb_cfg['report_list_admin']) ? ' checked="checked"' : '',
'REPORT_LIST_ADMIN_OFF' => (!$bb_cfg['report_list_admin']) ? ' checked="checked"' : '',
'REPORT_NEW_WINDOW_ON' => ($bb_cfg['report_new_window']) ? ' checked="checked"' : '',
'REPORT_NEW_WINDOW_OFF' => (!$bb_cfg['report_new_window']) ? ' checked="checked"' : '',
));
print_page('report_config_body.tpl', 'admin');
}
}
else if (isset($_POST[POST_CAT_URL]) || isset($_GET[POST_CAT_URL]))
{
$module_id = (isset($_POST[POST_CAT_URL])) ? (int) $_POST[POST_CAT_URL] : (int) $_GET[POST_CAT_URL];
if (!$report_module = report_modules('id', $module_id))
{
bb_die($lang['REPORT_MODULE_NOT_EXISTS'] . $return_links['admin'] . $return_links['index']);
}
switch ($mode)
{
//
// Edit module
//
case 'edit':
if (isset($_POST['submit']))
{
$module_notify = (isset($_POST['report_module_notify']) && $_POST['report_module_notify'] == 1) ? 1 : 0;
$module_prune = (isset($_POST['report_module_prune'])) ? (int) $_POST['report_module_prune'] : $report_module->data['report_module_prune'];
$auth_write = (isset($_POST['auth_write'])) ? (int) $_POST['auth_write'] : $report_module->data['auth_write'];
$auth_view = (isset($_POST['auth_view'])) ? (int) $_POST['auth_view'] : $report_module->data['auth_view'];
$auth_notify = (isset($_POST['auth_notify'])) ? (int) $_POST['auth_notify'] : $report_module->data['auth_notify'];
$auth_delete = (isset($_POST['auth_delete'])) ? (int) $_POST['auth_delete'] : $report_module->data['auth_delete'];
report_module_edit($module_id, $module_notify, $module_prune, $auth_write, $auth_view, $auth_notify, $auth_delete);
bb_die($lang['REPORT_MODULE_EDITED'] . $return_links['admin'] . $return_links['index']);
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
$module_info = $report_module->info();
$hidden_fields = '<input type="hidden" name="mode" value="edit" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $module_id . '" />';
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => $hidden_fields,
'MODULE_TITLE' => $module_info['title'],
'MODULE_EXPLAIN' => $module_info['explain'],
'MODULE_NOTIFY_ON' => ($report_module->data['report_module_notify']) ? ' checked="checked"' : '',
'MODULE_NOTIFY_OFF' => (!$report_module->data['report_module_notify']) ? ' checked="checked"' : '',
'MODULE_PRUNE' => $report_module->data['report_module_prune'])
);
//
// Authorisation selects
//
report_auth_select('auth_write', $report_module->data['auth_write'], array(REPORT_AUTH_USER, REPORT_AUTH_MOD, REPORT_AUTH_ADMIN));
report_auth_select('auth_view', $report_module->data['auth_view']);
report_auth_select('auth_notify', $report_module->data['auth_notify']);
report_auth_select('auth_delete', $report_module->data['auth_delete'], array(REPORT_AUTH_MOD, REPORT_AUTH_CONFIRM, REPORT_AUTH_ADMIN));
print_page('report_module_edit_body.tpl', 'admin');
break;
//
// Report reasons
//
case 'reasons':
$reason_mode = (isset($modes[1])) ? $modes[1] : '';
$temp_url = "admin_reports.php?mode=reasons&amp;" . POST_CAT_URL . "=$module_id";
$return_links['reasons'] = '<br /><br />' . sprintf($lang['CLICK_RETURN_REPORT_REASONS'], '<a href="' . $temp_url . '">', '</a>');
$redirect_url = 'admin/admin_reports.php?mode=reasons&' . POST_CAT_URL . "=$module_id";
if (isset($_POST[POST_REPORT_REASON_URL]) || isset($_GET[POST_REPORT_REASON_URL]))
{
$reason_id = (isset($_POST[POST_REPORT_REASON_URL])) ? (int) $_POST[POST_REPORT_REASON_URL] : (int) $_GET[POST_REPORT_REASON_URL];
switch ($reason_mode)
{
//
// Edit reason
//
case 'edit':
$errors = array();
if (isset($_POST['submit']))
{
$reason_desc = (isset($_POST['report_reason_desc'])) ? htmlspecialchars($_POST['report_reason_desc']) : '';
//
// Validate reason desc
//
if (empty($reason_desc))
{
$errors[] = $lang['REASON_DESC_EMPTY'];
}
if (empty($errors))
{
$reason_desc = str_replace("\'", "'", $reason_desc);
report_reason_edit($reason_id, $module_id, $reason_desc);
bb_die($lang['REPORT_REASON_EDITED'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
}
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
//
// Show validation errors
//
if (!empty($errors))
{
$template->assign_block_vars('switch_report_errors', array());
foreach ($errors as $error)
{
$template->assign_block_vars('switch_report_errors.report_errors', array(
'MESSAGE' => $error)
);
}
}
if (!$report_reason = report_reason_obtain($reason_id))
{
bb_die($lang['REPORT_REASON_NOT_EXISTS'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
}
if (isset($reason_desc))
{
$report_reason['report_reason_desc'] = stripslashes($reason_desc);
}
$hidden_fields = '<input type="hidden" name="mode[]" value="reasons" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $module_id . '" />';
$hidden_fields .= '<input type="hidden" name="mode[]" value="edit" /><input type="hidden" name="' . POST_REPORT_REASON_URL . '" value="' . $reason_id . '" />';
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => $hidden_fields,
'REASON_DESC' => $report_reason['report_reason_desc'])
);
print_page('report_reason_edit_body.tpl', 'admin');
break;
//
// Move reason up/down
//
case 'up':
case 'down':
report_reason_move($reason_mode, $reason_id);
redirect($redirect_url);
break;
//
// Delete reason
//
case 'delete':
if (isset($_POST['confirm']))
{
report_reason_delete($reason_id);
bb_die($lang['REPORT_REASON_DELETED'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
$hidden_fields = '<input type="hidden" name="mode[]" value="reasons" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $module_id . '" />';
$hidden_fields .= '<input type="hidden" name="mode[]" value="delete" /><input type="hidden" name="' . POST_REPORT_REASON_URL . '" value="' . $reason_id . '" />';
print_confirmation(array(
'CONFIRM_TITLE' => $lang['DELETE_REASON'],
'QUESTION' => $lang['DELETE_REPORT_REASON_EXPLAIN'],
'FORM_ACTION' => "admin_reports.php",
'HIDDEN_FIELDS' => $hidden_fields,
));
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
break;
}
}
else
{
switch ($reason_mode)
{
//
// Add reason
//
case 'add':
$errors = array();
if (isset($_POST['submit']))
{
$reason_desc = (isset($_POST['report_reason_desc'])) ? htmlspecialchars($_POST['report_reason_desc']) : '';
//
// Validate reason desc
//
if (empty($reason_desc))
{
$errors[] = $lang['REASON_DESC_EMPTY'];
}
if (empty($errors))
{
$reason_desc = str_replace("\'", "'", $reason_desc);
report_reason_insert($module_id, $reason_desc);
bb_die($lang['REPORT_REASON_ADDED'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
}
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
//
// Show validation errors
//
if (!empty($errors))
{
$template->assign_block_vars('switch_report_errors', array());
foreach ($errors as $error)
{
$template->assign_block_vars('switch_report_errors.report_errors', array(
'MESSAGE' => $error)
);
}
}
$hidden_fields = '<input type="hidden" name="mode[]" value="reasons" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $module_id . '" />';
$hidden_fields .= '<input type="hidden" name="mode[]" value="add" />';
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => $hidden_fields,
'REASON_DESC' => (isset($reason_desc)) ? stripslashes($reason_desc) : '')
);
print_page('report_reason_edit_body.tpl', 'admin');
break;
case '':
if ($report_reasons = $report_module->reasons_obtain())
{
foreach ($report_reasons as $reason_id => $reason_desc)
{
$template->assign_block_vars('report_reasons', array(
'DESC' => $reason_desc,
'U_EDIT' => 'admin_reports.php?mode[]=reasons&amp;' . POST_CAT_URL . "=$module_id&amp;mode[]=edit&amp;" . POST_REPORT_REASON_URL . "=$reason_id",
'U_MOVE_UP' => 'admin_reports.php?mode[]=reasons&amp;' . POST_CAT_URL . "=$module_id&amp;mode[]=up&amp;" . POST_REPORT_REASON_URL . "=$reason_id",
'U_MOVE_DOWN' => 'admin_reports.php?mode[]=reasons&amp;' . POST_CAT_URL . "=$module_id&amp;mode[]=down&amp;" . POST_REPORT_REASON_URL . "=$reason_id",
'U_DELETE' => 'admin_reports.php?mode[]=reasons&amp;' . POST_CAT_URL . "=$module_id&amp;mode[]=delete&amp;" . POST_REPORT_REASON_URL . "=$reason_id")
);
}
}
else
{
$template->assign_block_vars('switch_no_reasons', array());
}
$template->assign_vars(array(
'U_ADD_REASON' => 'admin_reports.php?mode[]=reasons&amp;' . POST_CAT_URL . "=$module_id&amp;mode[]=add",
'U_MODULES' => "admin_reports.php",
));
print_page('report_module_reasons_body.tpl', 'admin');
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['reasons'] . $return_links['admin'] . $return_links['index']);
break;
}
}
break;
//
// Move module up/down
//
case 'up':
case 'down':
report_module_move($mode, $module_id);
redirect($redirect_url);
break;
//
// Synchronize module
//
case 'sync':
if (!method_exists($report_module, 'sync'))
{
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['admin'] . $return_links['index']);
}
$report_module->sync();
bb_die($lang['REPORT_MODULE_SYNCED'] . $return_links['admin'] . $return_links['index']);
break;
//
// Uninstall module
//
case 'uninstall':
if (isset($_POST['confirm']))
{
report_module_uninstall($module_id);
bb_die($lang['REPORT_MODULE_UNINSTALLED'] . $return_links['admin'] . $return_links['index']);
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
$hidden_fields = '<input type="hidden" name="mode" value="uninstall" /><input type="hidden" name="' . POST_CAT_URL . '" value="' . $module_id . '" />';
print_confirmation(array(
'CONFIRM_TITLE' => $lang['UNINSTALL_REPORT_MODULE'],
'QUESTION' => $lang['UNINSTALL_REPORT_MODULE_EXPLAIN'],
'FORM_ACTION' => 'admin_reports.php',
'HIDDEN_FIELDS' => $hidden_fields,
));
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['admin'] . $return_links['index']);
break;
}
}
else if (isset($_POST['module']) || isset($_GET['module']))
{
$module_name = (isset($_POST['module'])) ? stripslashes($_POST['module']) : stripslashes($_GET['module']);
if (!$report_module = report_modules_inactive('name', $module_name))
{
bb_die($lang['REPORT_MODULE_NOT_EXISTS'] . $return_links['admin'] . $return_links['index']);
}
switch ($mode)
{
//
// Install module
//
case 'install':
if (isset($_POST['submit']))
{
$module_notify = (isset($_POST['report_module_notify']) && $_POST['report_module_notify'] == 1) ? 1 : 0;
$module_prune = (isset($_POST['report_module_prune'])) ? (int) $_POST['report_module_prune'] : 0;
$auth_write = (isset($_POST['auth_write'])) ? (int) $_POST['auth_write'] : REPORT_AUTH_USER;
$auth_view = (isset($_POST['auth_view'])) ? (int) $_POST['auth_view'] : REPORT_AUTH_MOD;
$auth_notify = (isset($_POST['auth_notify'])) ? (int) $_POST['auth_notify'] : REPORT_AUTH_MOD;
$auth_delete = (isset($_POST['auth_delete'])) ? (int) $_POST['auth_delete'] : REPORT_AUTH_ADMIN;
report_module_install($module_notify, $module_prune, $module_name, $auth_write, $auth_view, $auth_notify, $auth_delete, false);
bb_die($lang['REPORT_MODULE_INSTALLED'] . $return_links['admin'] . $return_links['index']);
}
else if (isset($_POST['cancel']))
{
redirect($redirect_url);
}
$module_info = $report_module->info();
$hidden_fields = '<input type="hidden" name="mode" value="install" /><input type="hidden" name="module" value="' . htmlspecialchars($module_name) . '" />';
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => $hidden_fields,
'MODULE_TITLE' => $module_info['title'],
'MODULE_EXPLAIN' => $module_info['explain'],
'MODULE_NOTIFY_ON' => ($bb_cfg['report_notify']) ? ' checked="checked"' : '',
'MODULE_NOTIFY_OFF' => (!$bb_cfg['report_notify']) ? ' checked="checked"' : '',
'MODULE_PRUNE' => 0,
));
//
// Authorisation selects
//
report_auth_select('auth_write', REPORT_AUTH_USER, array(REPORT_AUTH_USER, REPORT_AUTH_MOD, REPORT_AUTH_ADMIN));
report_auth_select('auth_view', REPORT_AUTH_MOD);
report_auth_select('auth_notify', REPORT_AUTH_MOD);
report_auth_select('auth_delete', REPORT_AUTH_CONFIRM, array(REPORT_AUTH_MOD, REPORT_AUTH_CONFIRM, REPORT_AUTH_ADMIN));
print_page('report_module_edit_body.tpl', 'admin');
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['admin'] . $return_links['index']);
break;
}
}
else
{
switch ($mode)
{
case '':
$report_modules = report_modules();
$report_counts = report_counts_obtain();
$report_reason_counts = report_reason_counts_obtain();
//
// Display installed modules
//
$template->assign_block_vars('installed_modules', array());
foreach (array_keys($report_modules) as $report_module_id)
{
$report_module =& $report_modules[$report_module_id];
$module_info = $report_module->info();
$template->assign_block_vars('installed_modules.modules', array(
'L_REASONS' => sprintf($lang['REASONS'], $report_reason_counts[$report_module->id]),
'MODULE_TITLE' => $module_info['title'],
'MODULE_EXPLAIN' => $module_info['explain'],
'REPORT_COUNT' => $report_counts[$report_module->id],
'U_EDIT' => 'admin_reports.php?mode=edit&amp;' . POST_CAT_URL . '=' . $report_module->id,
'U_REASONS' => 'admin_reports.php?mode=reasons&amp;' . POST_CAT_URL . '=' . $report_module->id,
'U_MOVE_UP' => 'admin_reports.php?mode=up&amp;' . POST_CAT_URL . '=' . $report_module->id,
'U_MOVE_DOWN' => 'admin_reports.php?mode=down&amp;' . POST_CAT_URL . '=' . $report_module->id,
'U_SYNC' => 'admin_reports.php?mode=sync&amp;' . POST_CAT_URL . '=' . $report_module->id,
'U_UNINSTALL' => 'admin_reports.php?mode=uninstall&amp;' . POST_CAT_URL . '=' . $report_module->id)
);
//
// Display sync option if available
//
if (method_exists($report_module, 'sync'))
{
$template->assign_block_vars('installed_modules.modules.switch_sync', array());
}
}
if (empty($report_modules))
{
$template->assign_block_vars('installed_modules.switch_no_modules', array());
}
$report_modules_inactive = report_modules_inactive();
//
// Display inactive modules
//
$template->assign_block_vars('inactive_modules', array());
foreach (array_keys($report_modules_inactive) as $key)
{
$report_module =& $report_modules_inactive[$key];
$module_info = $report_module->info();
$template->assign_block_vars('inactive_modules.modules', array(
'MODULE_TITLE' => $module_info['title'],
'MODULE_EXPLAIN' => $module_info['explain'],
'REPORT_COUNT' => '-',
'U_INSTALL' => 'admin_reports.php?mode=install&amp;module=' . $report_module->data['module_name'])
);
}
if (empty($report_modules_inactive))
{
$template->assign_block_vars('inactive_modules.switch_no_modules', array());
}
print_page('report_modules_body.tpl', 'admin');
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['admin'] . $return_links['index']);
break;
}
}

View file

@ -71,9 +71,9 @@ $domain_name = 'torrentpier.me'; // enter here your primary domain name of your
$domain_name = (!empty($_SERVER['SERVER_NAME'])) ? $_SERVER['SERVER_NAME'] : $domain_name;
// Version info
$bb_cfg['tp_version'] = '2.1 (STABLE)';
$bb_cfg['tp_release_date'] = '01-09-2014';
$bb_cfg['tp_release_state'] = 'R600';
$bb_cfg['tp_version'] = '2.1.1';
$bb_cfg['tp_release_date'] = '07-09-2014';
$bb_cfg['tp_release_state'] = 'ALPHA';
// Database
$charset = 'utf8';

File diff suppressed because it is too large Load diff

View file

@ -1,520 +0,0 @@
<?php
if (!defined('BB_ROOT')) {
die(basename(__FILE__));
}
//
// Obtains report count for each report module
//
function report_counts_obtain()
{
$sql = 'SELECT rm.report_module_id, COUNT(r.report_id) AS report_count
FROM ' . BB_REPORTS_MODULES . ' rm
LEFT JOIN ' . BB_REPORTS . ' r
ON r.report_module_id = rm.report_module_id
GROUP BY rm.report_module_id';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report counts');
}
$report_counts = array();
while ($row = DB()->sql_fetchrow($result)) {
$report_counts[$row['report_module_id']] = $row['report_count'];
}
DB()->sql_freeresult($result);
return $report_counts;
}
//
// Obtains report reason count for each report module
//
function report_reason_counts_obtain()
{
$sql = 'SELECT rm.report_module_id, COUNT(rr.report_reason_id) AS reason_count
FROM ' . BB_REPORTS_MODULES . ' rm
LEFT JOIN ' . BB_REPORTS_REASONS . ' rr
ON rr.report_module_id = rm.report_module_id
GROUP BY rm.report_module_id';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report reason counts');
}
$report_reason_counts = array();
while ($row = DB()->sql_fetchrow($result)) {
$report_reason_counts[$row['report_module_id']] = $row['reason_count'];
}
DB()->sql_freeresult($result);
return $report_reason_counts;
}
//
// Obtains inactive report modules, includes modules and stores module objects
//
function report_modules_inactive($mode = 'all', $module = null)
{
global $bb_cfg;
static $modules;
if (!isset($modules)) {
if (!class_exists("report_module"))
include(INC_DIR . "report_module.php");
$installed_modules = report_modules('names');
$deny_modes = array('open', 'process', 'clear', 'delete', 'reported');
$dir = @opendir(INC_DIR . 'report_hack');
$modules = array();
while ($file = @readdir($dir)) {
if (!preg_match('#(.*)\.' . bb_preg_quote('php', '#') . '$#', $file, $matches)) {
continue;
}
// exclude installed modules
$module_name = $matches[1];
if (isset($installed_modules[$module_name])) {
continue;
}
// include module file
include(INC_DIR . "report_hack/$file");
// Include language file
$lang = array();
$lang_file = LANG_ROOT_DIR . "{$bb_cfg['default_lang']}/report_hack/$module_name.php";
if (file_exists($lang_file)) {
include($lang_file);
}
// Create module object
$modules[$module_name] = new $module_name(0, array('module_name' => $module_name), $lang);
//
// Check validity of the module
//
if (!empty($modules[$module_name]->mode) && in_array($modules[$module_name]->mode, $deny_modes)) {
unset($modules[$module_name]);
}
if (!isset($modules[$module_name]->id) || !isset($modules[$module_name]->data) || !isset($modules[$module_name]->lang) || !isset($modules[$module_name]->duplicates)) {
unset($modules[$module_name]);
}
}
@closedir($dir);
}
switch ($mode) {
case 'all':
return $modules;
break;
case 'name':
if (!isset($module)) {
return false;
}
return (isset($modules[$module])) ? $modules[$module] : false;
break;
default:
return false;
break;
}
}
//
// Generates the auth select box
//
function report_auth_select($block_name, $default, $select_items = array(REPORT_AUTH_MOD, REPORT_AUTH_ADMIN))
{
global $lang, $template;
foreach ($select_items as $value) {
$template->assign_block_vars($block_name, array(
'VALUE' => $value,
'TITLE' => $lang['REPORT_AUTH'][$value],
'SELECTED' => ($value == $default) ? ' selected="selected"' : '')
);
}
}
//
// Installs a report module
//
function report_module_install($module_notify, $module_prune, $module_name, $auth_write, $auth_view, $auth_notify, $auth_delete, $check = true)
{
global $bb_cfg;
//
// Check module
//
if ($check) {
if (!$report_module = report_modules_inactive('name', $module_name)) {
return false;
}
}
//
// Get module order
//
$sql = 'SELECT MAX(report_module_order) AS max_order
FROM ' . BB_REPORTS_MODULES;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain max order #1');
}
$max_order = DB()->sql_fetchfield('max_order', 0, $result);
DB()->sql_freeresult($result);
//
// Insert module
//
$sql = 'INSERT INTO ' . BB_REPORTS_MODULES . ' (report_module_order, report_module_notify, report_module_prune,
report_module_name, auth_write, auth_view, auth_notify, auth_delete)
VALUES(' . ($max_order + 1) . ', ' . (int)$module_notify . ', ' . (int)$module_prune . ",
'" . DB()->escape($module_name) . "', " . (int)$auth_write . ', ' . (int)$auth_view . ',
' . (int)$auth_notify . ', ' . (int)$auth_delete . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not install report module');
}
$module_id = DB()->sql_nextid();
//
// Clean modules cache
//
if ($bb_cfg['report_modules_cache']) {
report_modules_cache_clean();
}
return $module_id;
}
//
// Edits a module
//
function report_module_edit($module_id, $module_notify, $module_prune, $auth_write, $auth_view, $auth_notify, $auth_delete)
{
global $bb_cfg;
$sql = 'UPDATE ' . BB_REPORTS_MODULES . '
SET
report_module_notify = ' . (int)$module_notify . ',
report_module_prune = ' . (int)$module_prune . ',
auth_write = ' . (int)$auth_write . ',
auth_view = ' . (int)$auth_view . ',
auth_notify = ' . (int)$auth_notify . ',
auth_delete = ' . (int)$auth_delete . '
WHERE report_module_id = ' . (int)$module_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not edit report module');
}
//
// Clean modules cache
//
if ($bb_cfg['report_modules_cache']) {
report_modules_cache_clean();
}
}
//
// Moves a module to another position (up or down), reorders other modules
//
function report_module_move($mode, $module_id, $steps = 1)
{
global $bb_cfg;
if (!$report_module = report_modules('id', $module_id)) {
return false;
}
switch ($mode) {
case 'up':
$sql = 'UPDATE ' . BB_REPORTS_MODULES . "
SET report_module_order = report_module_order + 1
WHERE report_module_order >= " . ($report_module->data['report_module_order'] - (int)$steps) . '
AND report_module_order < ' . $report_module->data['report_module_order'];
break;
case 'down':
$sql = 'UPDATE ' . BB_REPORTS_MODULES . "
SET report_module_order = report_module_order - 1
WHERE report_module_order <= " . ($report_module->data['report_module_order'] + (int)$steps) . '
AND report_module_order > ' . $report_module->data['report_module_order'];
break;
default:
return false;
break;
}
if (!DB()->sql_query($sql)) {
bb_die('Could not update module order #1');
}
if (DB()->affected_rows()) {
$op = ($mode == 'up') ? '-' : '+';
$sql = 'UPDATE ' . BB_REPORTS_MODULES . "
SET report_module_order = report_module_order $op 1
WHERE report_module_id = " . (int)$module_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not update module order #2');
}
}
DB()->sql_query('');
//
// Clean modules cache
//
if ($bb_cfg['report_modules_cache']) {
report_modules_cache_clean();
}
return true;
}
//
// Uninstalls a report module
//
function report_module_uninstall($module_id)
{
global $bb_cfg;
//
// Obtain reports in this module
//
$sql = 'SELECT report_id
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . (int)$module_id;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report ids');
}
$report_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$report_ids = $row['report_id'];
}
DB()->sql_freeresult($result);
// delete reports
reports_delete($report_ids, false, false);
//
// Sync module
//
$report_module = report_modules('id', $module_id);
if (method_exists($report_module, 'sync')) {
$report_module->sync(true);
}
//
// Update module order
//
$sql = 'UPDATE ' . BB_REPORTS_MODULES . '
SET report_module_order = report_module_order - 1
WHERE report_module_order > ' . $report_module->data['report_module_order'];
if (!DB()->sql_query($sql)) {
bb_die('Could not update module order #3');
}
//
// Delete report reasons
//
$sql = 'DELETE FROM ' . BB_REPORTS_REASONS . '
WHERE report_module_id = ' . (int)$module_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not delete report reason #1');
}
//
// Delete module
//
$sql = 'DELETE FROM ' . BB_REPORTS_MODULES . '
WHERE report_module_id = ' . (int)$module_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not delete report module');
}
//
// Clean modules cache
//
if ($bb_cfg['report_modules_cache']) {
report_modules_cache_clean();
}
}
//
// Obtains a report reason
//
function report_reason_obtain($reason_id)
{
$sql = 'SELECT report_reason_desc
FROM ' . BB_REPORTS_REASONS . '
WHERE report_reason_id = ' . (int)$reason_id;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report reason #1');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return $row;
}
//
// Inserts a report reason
//
function report_reason_insert($module_id, $reason_desc)
{
//
// Get reason order
//
$sql = 'SELECT MAX(report_reason_order) AS max_order
FROM ' . BB_REPORTS_REASONS;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain max order #2');
}
$max_order = DB()->sql_fetchfield('max_order', 0, $result);
DB()->sql_freeresult($result);
//
// Insert reason
//
$sql = 'INSERT INTO ' . BB_REPORTS_REASONS . ' (report_module_id, report_reason_order, report_reason_desc)
VALUES(' . (int)$module_id . ', ' . ($max_order + 1) . ", '" . DB()->escape($reason_desc) . "')";
if (!DB()->sql_query($sql)) {
bb_die('Could not insert report reason');
}
return DB()->sql_nextid();
}
//
// Edits a report reason
//
function report_reason_edit($reason_id, $module_id, $reason_desc)
{
$sql = 'UPDATE ' . BB_REPORTS_REASONS . '
SET
report_module_id = ' . (int)$module_id . ",
report_reason_desc = '" . DB()->escape($reason_desc) . "'
WHERE report_reason_id = " . (int)$reason_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not update report reason');
}
}
//
// Moves a report reason to another position (up or down), reorders other report reasons
//
function report_reason_move($mode, $reason_id, $steps = 1)
{
//
// Obtain report reason information
//
$sql = 'SELECT report_module_id, report_reason_order
FROM ' . BB_REPORTS_REASONS . '
WHERE report_reason_id = ' . (int)$reason_id;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report reason #3');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
if (!$row) {
return false;
}
switch ($mode) {
case 'up':
$sql = 'UPDATE ' . BB_REPORTS_REASONS . '
SET report_reason_order = report_reason_order + 1
WHERE report_module_id = ' . $row['report_module_id'] . '
AND report_reason_order >= ' . ($row['report_reason_order'] - (int)$steps) . '
AND report_reason_order < ' . $row['report_reason_order'];
break;
case 'down':
$sql = 'UPDATE ' . BB_REPORTS_REASONS . '
SET report_reason_order = report_reason_order - 1
WHERE report_module_id = ' . $row['report_module_id'] . '
AND report_reason_order <= ' . ($row['report_reason_order'] + (int)$steps) . '
AND report_reason_order > ' . $row['report_reason_order'];
break;
default:
return false;
break;
}
if (!DB()->sql_query($sql)) {
bb_die('Could not update report reason order #1');
}
if (DB()->affected_rows()) {
$op = ($mode == 'up') ? '-' : '+';
$sql = 'UPDATE ' . BB_REPORTS_REASONS . "
SET report_reason_order = report_reason_order $op 1
WHERE report_reason_id = " . (int)$reason_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not update report reason order #2');
}
}
DB()->sql_query('');
return true;
}
//
// Deletes a report reason
//
function report_reason_delete($reason_id)
{
//
// Obtain report reason information
//
$sql = 'SELECT report_module_id, report_reason_order
FROM ' . BB_REPORTS_REASONS . '
WHERE report_reason_id = ' . (int)$reason_id;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report reason #3');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
if (!$row) {
return;
}
//
// Update report reason order
//
$sql = 'UPDATE ' . BB_REPORTS_REASONS . '
SET report_reason_order = report_reason_order - 1
WHERE report_module_id = ' . $row['report_module_id'] . '
AND report_reason_order > ' . $row['report_reason_order'];
if (!DB()->sql_query($sql)) {
bb_die('Could not update report reason order #3');
}
//
// Delete report reason
//
$sql = 'DELETE FROM ' . BB_REPORTS_REASONS . '
WHERE report_reason_id = ' . (int)$reason_id;
if (!DB()->sql_query($sql)) {
bb_die('Could not delete report reason #2');
}
}

View file

@ -168,26 +168,6 @@ define('QUOTA_PM_LIMIT', 2);
define('TOR_STATUS_NORMAL', 0);
define('TOR_STATUS_FROZEN', 1);
// Report
// Report status constants
define('REPORT_NEW', 0);
define('REPORT_OPEN', 1);
define('REPORT_IN_PROCESS', 2);
define('REPORT_CLEARED', 3);
define('REPORT_DELETE', 4);
// Report authorisation constants
define('REPORT_AUTH_USER', 0);
define('REPORT_AUTH_MOD', 1);
define('REPORT_AUTH_CONFIRM', 2);
define('REPORT_AUTH_ADMIN', 3);
// Report notification constants
define('REPORT_NOTIFY_NEW', 1);
define('REPORT_NOTIFY_CHANGE', 2);
// Other report constants
define('POST_REPORT_URL', 'r');
define('POST_REPORT_REASON_URL', 'r');
// Report [END]
// Gender
define('MALE', 1);
define('FEMALE', 2);
@ -306,10 +286,6 @@ define('BB_PRIVMSGS_TEXT', 'bb_privmsgs_text');
define('BB_QUOTA_LIMITS', 'bb_quota_limits');
define('BB_QUOTA', 'bb_attach_quota');
define('BB_RANKS', 'bb_ranks');
define('BB_REPORTS', 'bb_reports'); // Report
define('BB_REPORTS_CHANGES', 'bb_reports_changes'); // Report Change's
define('BB_REPORTS_MODULES', 'bb_reports_modules'); // Report Module Table
define('BB_REPORTS_REASONS', 'bb_reports_reasons'); // Report Reasons
define('BB_SEARCH_REBUILD', 'bb_search_rebuild');
define('BB_SEARCH', 'bb_search_results');
define('BB_SESSIONS', 'bb_sessions');

View file

@ -108,60 +108,6 @@ $template->assign_vars(array(
));
// The following assigns all _common_ variables that may be used at any point in a template
// Report
//
// Report list link
//
if ($bb_cfg['reports_enabled'])
{
if (empty($gen_simple_header) && ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && $userdata['user_level'] == MOD)))
{
if (!function_exists("report_count_obtain"))
include(INC_DIR . "functions_report.php");
$report_count = report_count_obtain();
if ($report_count > 0)
{
$template->assign_block_vars('switch_report_list_new', array());
$report_list = $lang['REPORTS'];
$report_list .= ($report_count == 1) ? $lang['NEW_REPORT'] : sprintf($lang['NEW_REPORTS'], $report_count);
}
else
{
$template->assign_block_vars('switch_report_list', array());
$report_list = $lang['REPORTS'] . $lang['NO_NEW_REPORTS'];
}
}
else
{
$report_list = '';
}
//
// Get report general module and create report link
//
if (empty($gen_simple_header))
{
if (!function_exists("report_count_obtain"))
include(INC_DIR . "functions_report.php");
$report_general = report_modules('name', 'report_general');
if ($report_general && $report_general->auth_check('auth_write'))
{
$template->assign_block_vars('switch_report_general', array());
$template->assign_vars(array(
'U_WRITE_REPORT' => "report.php?mode=" . $report_general->mode,
'L_WRITE_REPORT' => $report_general->lang['WRITE_REPORT'])
);
}
}
}
else $report_list = '';
// Report [END]
$template->assign_vars(array(
'SIMPLE_HEADER' => !empty($gen_simple_header),
@ -196,11 +142,6 @@ $template->assign_vars(array(
'PM_INFO' => $pm_info,
'PRIVMSG_IMG' => $icon_pm,
// Report
'REPORT_LIST' => $report_list,
'U_REPORT_LIST' => "report.php",
// Report [END]
'LOGGED_IN' => $logged_in,
'SESSION_USER_ID' => $userdata['user_id'],
'POINTS' => $userdata['user_points'],

View file

@ -1,2 +0,0 @@
order allow,deny
deny from all

View file

@ -1,17 +0,0 @@
<?php
class report_general extends report_module
{
var $mode = 'report';
var $duplicates = true;
//
// Constructor
//
function report_general($id, $data, $lang)
{
$this->id = $id;
$this->data = $data;
$this->lang = $lang;
}
}

View file

@ -1,245 +0,0 @@
<?php
class report_post extends report_module
{
var $mode = 'reportpost';
var $duplicates = false;
var $subject_auth = array();
//
// Constructor
//
function report_post($id, $data, $lang)
{
$this->id = $id;
$this->data = $data;
$this->lang = $lang;
}
//
// Synchronizing function
//
function sync($uninstall = false)
{
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 0';
if (!DB()->sql_query($sql)) {
bb_die('Could not reset post reported flag');
}
if (!$uninstall) {
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 1
WHERE post_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not sync post reported flag');
}
}
}
}
//
// Module action: Insert
//
function action_insert($report_subject, $report_id, $report_subject_data)
{
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 1
WHERE post_id = ' . (int)$report_subject;
if (!DB()->sql_query($sql)) {
bb_die('Could not update post reported flag #1');
}
}
//
// Module action: Update status
//
function action_update_status($report_subjects, $report_status)
{
switch ($report_status) {
case REPORT_CLEARED:
case REPORT_DELETE:
$this->action_delete($report_subjects);
break;
default:
report_prepare_subjects($report_subjects, true);
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 1
WHERE post_id IN(' . implode(', ', $report_subjects) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update post reported flag #2');
}
break;
}
}
//
// Module action: Delete
//
function action_delete($report_subjects)
{
report_prepare_subjects($report_subjects, true);
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_id NOT IN(' . implode(', ', array_keys($report_subjects)) . ')
AND report_subject IN(' . implode(', ', $report_subjects) . ')
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not get open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 1
WHERE post_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update post reported flag #3');
}
}
$clear_ids = array();
foreach ($report_subjects as $report_subject) {
if (!in_array($report_subject, $open_ids)) {
$clear_ids[] = $report_subject;
}
}
if (!empty($clear_ids)) {
$sql = 'UPDATE ' . BB_POSTS . '
SET post_reported = 0
WHERE post_id IN(' . implode(', ', $clear_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update post reported flag #4');
}
}
}
//
// Returns url to a report subject
//
function subject_url($report_subject, $non_html_amp = false)
{
$report_subject = (int)$report_subject;
return 'viewtopic.php?' . POST_POST_URL . '=' . $report_subject . '#' . $report_subject;
}
//
// Returns report subject title
//
function subject_obtain($report_subject)
{
$sql = 'SELECT t.topic_title, t.topic_first_post_id
FROM ' . BB_POSTS . ' p
INNER JOIN ' . BB_POSTS_TEXT . ' pt
ON pt.post_id = p.post_id
INNER JOIN ' . BB_TOPICS . ' t
ON t.topic_id = p.topic_id
WHERE p.post_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
if (!$row) {
return false;
}
if ($row['topic_title'] != '') {
return $row['topic_title'];
} else {
$subject = ($row['topic_first_post_id'] == $report_subject) ? '' : 'Re: ';
$subject .= $row['topic_title'];
return $subject;
}
}
//
// Obtains additional subject data
//
function subject_data_obtain($report_subject)
{
$sql = 'SELECT forum_id
FROM ' . BB_POSTS . '
WHERE post_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject data');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return $row;
}
//
// Obtains subjects authorisation
//
function subjects_auth_obtain($user_id, $report_subjects)
{
report_prepare_subjects($report_subjects);
$moderated_forums = user_moderated_forums($user_id);
//
// Check stored forum ids
//
$check_posts = array();
foreach ($report_subjects as $report_subject) {
if (in_array($report_subject[1]['forum_id'], $moderated_forums)) {
$this->subjects_auth[$user_id][$report_subject[0]] = true;
} else {
$this->subjects_auth[$user_id][$report_subject[0]] = false;
$check_posts[] = $report_subject[0];
}
}
//
// Check current forum ids
//
if (!empty($check_posts)) {
$sql = 'SELECT post_id, forum_id
FROM ' . BB_POSTS . '
WHERE post_id IN(' . implode(', ', $check_posts) . ')';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain current forum ids');
}
while ($row = DB()->sql_fetchrow($result)) {
if (in_array($row['forum_id'], $moderated_forums)) {
$this->subjects_auth[$user_id][$row['post_id']] = true;
}
}
DB()->sql_freeresult($result);
}
}
}

View file

@ -1,226 +0,0 @@
<?php
class report_privmsg extends report_module
{
var $mode = 'reportprivmsg';
var $duplicates = false;
//
// Constructor
//
function report_privmsg($id, $data, $lang)
{
$this->id = $id;
$this->data = $data;
$this->lang = $lang;
}
//
// Synchronizing function
//
function sync($uninstall = false)
{
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 0';
if (!DB()->sql_query($sql)) {
bb_die('Could not reset privmsgs reported flag');
}
if (!$uninstall) {
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 1
WHERE privmsgs_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not sync privmsgs reported flag');
}
}
}
}
//
// Module action: Insert
//
function action_insert($report_subject, $report_id)
{
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 1
WHERE privmsgs_id = ' . (int)$report_subject;
if (!DB()->sql_query($sql)) {
bb_die('Could not update privmsgs reported flag #1');
}
}
//
// Module action: Update status
//
function action_update_status($report_subjects, $report_status)
{
switch ($report_status) {
case REPORT_CLEARED:
case REPORT_DELETE:
$this->action_delete($report_subjects);
break;
default:
report_prepare_subjects($report_subjects, true);
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 1
WHERE privmsgs_id IN(' . implode(', ', $report_subjects) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update privmsgs reported flag #2');
}
break;
}
}
//
// Module action: Delete
//
function action_delete($report_subjects)
{
report_prepare_subjects($report_subjects, true);
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_id NOT IN(' . implode(', ', array_keys($report_subjects)) . ')
AND report_subject IN(' . implode(', ', $report_subjects) . ')
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not get open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 1
WHERE privmsgs_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update privmsgs reported flag #3');
}
}
$clear_ids = array();
foreach ($report_subjects as $report_subject) {
if (!in_array($report_subject, $open_ids)) {
$clear_ids[] = $report_subject;
}
}
if (!empty($clear_ids)) {
$sql = 'UPDATE ' . BB_PRIVMSGS . '
SET privmsgs_reported = 0
WHERE privmsgs_id IN(' . implode(', ', $clear_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update privmsgs reported flag #4');
}
}
}
//
// Returns url to a report subject
//
function subject_url($report_subject, $non_html_amp = false)
{
$sep = ($non_html_amp) ? '&' : '&amp;';
return PM_URL . '?mode=read' . $sep . POST_POST_URL . '=' . (int)$report_subject;
}
//
// Returns report subject title
//
function subject_obtain($report_subject)
{
global $userdata;
$sql = 'SELECT privmsgs_subject
FROM ' . BB_PRIVMSGS . '
WHERE privmsgs_to_userid = ' . $userdata['user_id'] . '
AND privmsgs_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return ($row) ? $row['privmsgs_subject'] : false;
}
//
// Returns report subject details
//
function subject_details_obtain($report_subject)
{
$sql = 'SELECT p.privmsgs_subject, p.privmsgs_from_userid, pt.privmsgs_text, u.username, u.user_id, u.user_rank
FROM ' . BB_PRIVMSGS . ' p
INNER JOIN ' . BB_PRIVMSGS_TEXT . ' pt
ON pt.privmsgs_text_id = privmsgs_id
LEFT JOIN ' . BB_USERS . ' u
ON u.user_id = p.privmsgs_from_userid
WHERE privmsgs_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject details');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
if (!$row) {
return false;
}
$subject_details = array(
'MESSAGE_ID' => '#' . $report_subject,
'MESSAGE_FROM' => profile_url($row),
'MESSAGE_TITLE' => $row['privmsgs_subject'],
'MESSAGE_TEXT' => $row['privmsgs_text']);
$this->_subject_details_prepare($subject_details['MESSAGE_TEXT'], $subject_details['MESSAGE_TITLE'], $row);
return array(
'details' => $subject_details);
}
//
// Helper function for subject_details_obtain(), prepares private message and private
// message subject
//
function _subject_details_prepare(&$message, &$subject, $row)
{
require_once(INC_DIR . "bbcode.php");
$message = bbcode2html($message);
$orig_word = $replacement_word = array();
obtain_word_list($orig_word, $replacement_word);
if (!empty($orig_word)) {
$subject = preg_replace($orig_word, $replacement_word, $subject);
$message = preg_replace($orig_word, $replacement_word, $message);
}
}
}

View file

@ -1,229 +0,0 @@
<?php
class report_topic extends report_module
{
var $mode = 'reporttopic';
var $duplicates = false;
var $subject_auth = array();
//
// Constructor
//
function report_topic($id, $data, $lang)
{
$this->id = $id;
$this->data = $data;
$this->lang = $lang;
}
//
// Synchronizing function
//
function sync($uninstall = false)
{
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 0';
if (!DB()->sql_query($sql)) {
bb_die('Could not reset topic reported flag');
}
if (!$uninstall) {
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 1
WHERE topic_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not sync topic reported flag');
}
}
}
}
//
// Module action: Insert
//
function action_insert($report_subject, $report_id, $report_subject_data)
{
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 1
WHERE topic_id = ' . (int)$report_subject;
if (!DB()->sql_query($sql)) {
bb_die('Could not update topic reported flag #1');
}
}
//
// Module action: Update status
//
function action_update_status($report_subjects, $report_status)
{
switch ($report_status) {
case REPORT_CLEARED:
case REPORT_DELETE:
$this->action_delete($report_subjects);
break;
default:
report_prepare_subjects($report_subjects, true);
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 1
WHERE topic_id IN(' . implode(', ', $report_subjects) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update topic reported flag #2');
}
break;
}
}
//
// Module action: Delete
//
function action_delete($report_subjects)
{
report_prepare_subjects($report_subjects, true);
$sql = 'SELECT report_subject
FROM ' . BB_REPORTS . '
WHERE report_module_id = ' . $this->id . '
AND report_id NOT IN(' . implode(', ', array_keys($report_subjects)) . ')
AND report_subject IN(' . implode(', ', $report_subjects) . ')
AND report_status NOT IN(' . REPORT_CLEARED . ', ' . REPORT_DELETE . ')
GROUP BY report_subject';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain open reports');
}
$open_ids = array();
while ($row = DB()->sql_fetchrow($result)) {
$open_ids[] = $row['report_subject'];
}
DB()->sql_freeresult($result);
if (!empty($open_ids)) {
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 1
WHERE topic_id IN(' . implode(', ', $open_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update topic reported flag #3');
}
}
$clear_ids = array();
foreach ($report_subjects as $report_subject) {
if (!in_array($report_subject, $open_ids)) {
$clear_ids[] = $report_subject;
}
}
if (!empty($clear_ids)) {
$sql = 'UPDATE ' . BB_TOPICS . '
SET topic_reported = 0
WHERE topic_id IN(' . implode(', ', $clear_ids) . ')';
if (!DB()->sql_query($sql)) {
bb_die('Could not update topic reported flag #4');
}
}
}
//
// Returns url to a report subject
//
function subject_url($report_subject, $non_html_amp = false)
{
return 'viewtopic.php?' . POST_TOPIC_URL . '=' . (int)$report_subject;
}
//
// Returns report subject title
//
function subject_obtain($report_subject)
{
$sql = 'SELECT topic_title
FROM ' . BB_TOPICS . '
WHERE topic_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return ($row) ? $row['topic_title'] : false;
}
//
// Obtains additional subject data
//
function subject_data_obtain($report_subject)
{
$sql = 'SELECT forum_id
FROM ' . BB_TOPICS . '
WHERE topic_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject data');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return $row;
}
//
// Obtains subjects authorisation
//
function subjects_auth_obtain($user_id, $report_subjects)
{
report_prepare_subjects($report_subjects);
$moderated_forums = user_moderated_forums($user_id);
//
// Check stored forum ids
//
$check_topics = array();
foreach ($report_subjects as $report_subject) {
if (in_array($report_subject[1]['forum_id'], $moderated_forums)) {
$this->subjects_auth[$user_id][$report_subject[0]] = true;
} else {
$this->subjects_auth[$user_id][$report_subject[0]] = false;
$check_topics[] = $report_subject[0];
}
}
//
// Check current forum ids
//
if (!empty($check_topics)) {
$sql = 'SELECT topic_id, forum_id
FROM ' . BB_TOPICS . '
WHERE topic_id IN(' . implode(', ', $check_topics) . ')';
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain current forum ids');
}
while ($row = DB()->sql_fetchrow($result)) {
if (in_array($row['forum_id'], $moderated_forums)) {
$this->subjects_auth[$user_id][$row['topic_id']] = true;
}
}
DB()->sql_freeresult($result);
}
}
}

View file

@ -1,44 +0,0 @@
<?php
class report_user extends report_module
{
var $mode = 'reportuser';
var $duplicates = true;
//
// Constructor
//
function report_user($id, $data, $lang)
{
$this->id = $id;
$this->data = $data;
$this->lang = $lang;
}
//
// Returns url to a report subject
//
function subject_url($id, $non_html_amp = false)
{
$sep = ($non_html_amp) ? '&' : '&amp;';
return 'profile.php?mode=viewprofile' . $sep . POST_USERS_URL . '=' . (int)$id;
}
//
// Returns report subject title
//
function subject_obtain($report_subject)
{
$sql = 'SELECT username
FROM ' . BB_USERS . '
WHERE user_id = ' . (int)$report_subject;
if (!$result = DB()->sql_query($sql)) {
bb_die('Could not obtain report subject');
}
$row = DB()->sql_fetchrow($result);
DB()->sql_freeresult($result);
return ($row) ? $row['username'] : false;
}
}

View file

@ -1,191 +0,0 @@
<?php
if (!defined('BB_ROOT')) die(basename(__FILE__));
class report_module
{
var $subjects_auth = array();
//
// Returns module info for the ACP
//
function info()
{
return array(
'title' => $this->lang['MODULE_TITLE'],
'explain' => $this->lang['MODULE_EXPLAIN']);
}
//
// Generates a return link based on the subject_url() method
//
function return_link($id)
{
global $lang;
if (method_exists($this, 'subject_url') && isset($this->lang['CLICK_RETURN']))
{
return '<br /><br />' . sprintf($this->lang['CLICK_RETURN'], '<a href="' . $this->subject_url($id) . '">', '</a>');
}
else
{
return '';
}
}
//
// Returns report reasons of the module
//
function reasons_obtain()
{
global $lang;
$sql = 'SELECT report_reason_id, report_reason_desc
FROM ' . BB_REPORTS_REASONS . '
WHERE report_module_id = ' . (int) $this->id . '
ORDER BY report_reason_order';
if (!$result = DB()->sql_query($sql))
{
bb_die('Could not obtain report reasons');
}
$rows = array();
while ($row = DB()->sql_fetchrow($result))
{
$rows[$row['report_reason_id']] = (isset($lang[$row['report_reason_desc']])) ? $lang[$row['report_reason_desc']] : $row['report_reason_desc'];
}
DB()->sql_freeresult($result);
return (!empty($rows)) ? $rows : false;
}
//
// Checks module authorisation
//
function auth_check($auth_names, $userdata = null)
{
if (!isset($userdata))
{
global $userdata;
}
if ($userdata['user_id'] == GUEST_UID)
{
return false;
}
//
// Set "virtual" column
//
if (!isset($this->data['auth_delete_view']))
{
if ($this->data['auth_delete'] == REPORT_AUTH_CONFIRM)
{
$this->data['auth_delete_view'] = REPORT_AUTH_MOD;
}
else
{
$this->data['auth_delete_view'] = $this->data['auth_delete'];
}
}
switch ($userdata['user_level'])
{
case ADMIN:
return true;
break;
case MOD:
$auth_value = REPORT_AUTH_MOD;
break;
case GROUP_MEMBER:
case USER:
$auth_value = REPORT_AUTH_USER;
break;
default:
return false;
break;
}
if (!is_array($auth_names))
{
$auth_names = array($auth_names);
}
//
// Check authorisation
//
foreach ($auth_names as $auth_name)
{
if ($this->data[$auth_name] > $auth_value)
{
return false;
}
}
return true;
}
//
// Checks the authorisation to view the specified report subjects
//
function subjects_auth_check(&$report_subjects, $userdata = null)
{
if (!method_exists($this, 'subjects_auth_obtain') || empty($report_subjects))
{
return true;
}
if (!isset($userdata))
{
global $userdata;
}
if ($userdata['user_level'] == ADMIN)
{
return true;
}
else if ($userdata['user_level'] != MOD)
{
return false;
}
report_prepare_subjects($report_subjects);
$user_id = $userdata['user_id'];
if (!isset($this->subject_auth[$user_id]))
{
$this->subject_auth[$user_id] = array();
$this->subjects_auth_obtain($user_id, $report_subjects);
}
else
{
$check_ids = array();
foreach ($report_subjects as $report_id => $report_subject)
{
if (!isset($this->subjects_auth[$user_id][$report_subject[0]]))
{
$check_ids[] = $report_subjects[$report_id];
}
}
if (!empty($check_ids))
{
$this->subjects_auth_obtain($user_id, $check_ids);
}
}
$subjects_count = count($report_subjects);
foreach ($report_subjects as $report_id => $report_subject)
{
if (!$this->subjects_auth[$user_id][$report_subject[0]])
{
unset($report_subjects[$report_id]);
}
}
return ($subjects_count == count($report_subjects));
}
}

View file

@ -55,23 +55,6 @@ else
$email = '';
}
// Report
//
// Get report user module and create report link
//
include(INC_DIR ."functions_report.php");
$report_user = report_modules('name', 'report_user');
if ($report_user && $report_user->auth_check('auth_write'))
{
$template->assign_block_vars('switch_report_user', array());
$template->assign_vars(array(
'U_REPORT_USER' => 'report.php?mode='. $report_user->mode .'&amp;id='. $profiledata['user_id'],
'L_REPORT_USER' => $report_user->lang['WRITE_REPORT'])
);
}
// Report [END]
//
// Generate page
//

View file

@ -1381,71 +1381,16 @@ $lang['ONLY_NEW_POSTS'] = 'only new posts';
$lang['ONLY_NEW_TOPICS'] = 'only new topics';
$lang['TORHELP_TITLE'] = 'Please help seeding these torrents!';
// Reports (need to translate it!)
$lang['REPORTS'] = 'Reports';
$lang['REPORTS_DISABLE'] = 'Reports disabled';
$lang['NEW_REPORT'] = ' (one open)';
$lang['NEW_REPORTS'] = ' (%d open)';
$lang['NO_NEW_REPORTS'] = ': no new Reports';
$lang['REPORT_INDEX'] = 'Index';
$lang['STATISTICS'] = 'Statistics';
$lang['STATISTIC'] = 'Statistic';
$lang['VALUE'] = 'Value';
$lang['REPORT_COUNT'] = 'Current report count';
$lang['REPORT_MODULES_COUNT'] = 'Report modules count';
$lang['REPORT_HACK_COUNT'] = 'Overall report count';
$lang['DELETED_REPORTS'] = 'Reports suggested for deletion';
$lang['REPORT_TYPE'] = 'Report type';
$lang['REPORT_BY'] = 'by';
$lang['NO_REPORTS'] = 'No reports';
$lang['INVERT_SELECT'] = 'Invert selection';
$lang['REPORTED_BY'] = 'Reported by';
$lang['REPORTED_TIME'] = 'Reported on';
$lang['STATUS'] = 'Status';
$lang['LAST_CHANGED_BY'] = 'Last changed by';
$lang['CHANGES'] = 'Changes';
$lang['REPORT_CHANGE_TEXT'] = 'Marked as "%1$s" by %2$s on %3$s.';
$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Marked as "%1$s" by %2$s on %3$s:<br />%4$s';
$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Suggested for deletion by %1$s on %2$s.';
$lang['ACTION'] = 'Action';
$lang['REPORT_MARK'] = 'Mark as';
$lang['OPEN_REPORTS'] = 'Offene Meldungen';
$lang['NO_REPORTS_FOUND'] = 'No matching reports found.';
$lang['NO_REPORTS_SELECTED'] = 'No reports were selected.';
$lang['REPORT_NOT_EXISTS'] = 'The selected report doesn\'t exist.';
$lang['REPORT_NOT_SUPPORTED'] = 'This feature isn\'t supported.';
$lang['CLICK_RETURN_REPORT'] = '%sClick here%s to return to the report.';
$lang['CLICK_RETURN_REPORT_LIST'] = '%sClick here%s to return to the report list.';
$lang['REPORT_STATUS'] = array(
REPORT_NEW => 'new',
REPORT_OPEN => 'open',
REPORT_IN_PROCESS => 'in process',
REPORT_CLEARED => 'cleared',
REPORT_DELETE => 'suggested for deletion',
);
$lang['REASON'] = 'Reason';
$lang['REPORT_SUBJECT'] = 'Subject';
$lang['REPORT_TITLE_EMPTY'] = 'You must enter a title of the report.';
$lang['REPORT_DESC_EMPTY'] = 'You must enter a message.';
$lang['REPORT_INSERTED'] = 'The report was sent to the team.';
$lang['CHANGE_REPORT'] = 'Change report';
$lang['CHANGE_REPORTS'] = 'Change reports';
$lang['CHANGE_REPORT_EXPLAIN'] = 'Are you sure you want to change the status of the selected report?';
$lang['CHANGE_REPORTS_EXPLAIN'] = 'Are you sure you want to change the status of the selected reports?';
$lang['COMMENT'] = 'Comment';
$lang['REPORT_CHANGED'] = 'The status of the selected report was changed.';
$lang['REPORTS_CHANGED'] = 'The status of the selected reports was changed.';
$lang['DELETE_REPORT'] = 'Delete report';
$lang['DELETE_REPORTS'] = 'Delete reports';
$lang['DELETE_REPORT_EXPLAIN'] = 'Are you sure you want to delete the selected report?';
$lang['DELETE_REPORTS_EXPLAIN'] = 'Are you sure you want to delete the selected reports?';
$lang['REPORT_DELETED'] = 'The selected report was deleted.';
$lang['REPORTS_DELETED'] = 'The selected reports were deleted.';
// search
$lang['SEARCH_S'] = 'search...';
@ -2114,73 +2059,7 @@ $lang['SF_SHOW_ON_INDEX'] = 'Show on main page';
$lang['SF_PARENT_FORUM'] = 'Parent forum';
$lang['SF_NO_PARENT'] = 'No parent forum';
$lang['TEMPLATE'] = 'Template';
// Reports (need to translate!)
$lang['REPORT_CONFIG_EXPLAIN'] = 'On this page you can change the general configuration of the report feature.';
$lang['REPORT_SUBJECT_AUTH'] = 'Individual permissions';
$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'If this setting is enabled, moderators can only view reports they can edit. For example a post report will be hidden if the user isn\'t a moderator of the forum the post belongs to.';
$lang['REPORT_MODULES_CACHE'] = 'Cache modules in a file';
$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Note: The cache directory must be set to <em>CHMOD 777</em> (full write permissions).';
$lang['REPORT_NOTIFY'] = 'Email notification';
$lang['REPORT_NOTIFY_CHANGE'] = 'on status changes and new reports';
$lang['REPORT_NOTIFY_NEW'] = 'on new reports';
$lang['REPORT_LIST_ADMIN'] = 'Admin-only report list';
$lang['REPORT_NEW_WINDOW'] = 'Open subjects in a new window';
$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'This setting also affects direct links to the reports at the view topic page.';
$lang['REPORT_CONFIG_UPDATED'] = 'The configuration has been updated.';
$lang['CLICK_RETURN_REPORT_CONFIG'] = 'Click %sHere%s to return to the configuration.';
$lang['MODULES_REASONS'] = 'Modules and Reasons';
$lang['REPORT_ADMIN_EXPLAIN'] = 'On this page you can install new report modules and edit or uninstall currently installed modules. In addition you can set up predefined reasons for every report module.';
$lang['REPORT_MODULE'] = 'Report module';
$lang['INSTALLED_MODULES'] = 'Installed modules';
$lang['NO_MODULES_INSTALLED'] = 'No modules installed';
$lang['REASONS'] = 'Reasons (%d)';
$lang['SYNC'] = 'Sync';
$lang['UNINSTALL'] = 'Uninstall';
$lang['INSTALL2'] = 'Install';
$lang['INACTIVE_MODULES'] = 'Inactive modules';
$lang['NO_MODULES_INACTIVE'] = 'No inactive modules';
$lang['REPORT_MODULE_NOT_EXISTS'] = 'The selected module doesn\'t exist.';
$lang['CLICK_RETURN_REPORT_ADMIN'] = 'Click %sHere%s to return to the Modules &amp; Reasons administration.';
$lang['BACK_MODULES'] = 'Back to the modules';
$lang['REPORT_REASON'] = 'Report reason';
$lang['NO_REASONS'] = 'No reasons for this module';
$lang['ADD_REASON'] = 'Add reason';
$lang['EDIT_REASON'] = 'Edit reason';
$lang['REASON_DESC_EXPLAIN'] = 'If the description matches with a language variable, the variable will be used instead.';
$lang['REASON_DESC_EMPTY'] = 'You must enter a report reason.';
$lang['REPORT_REASON_ADDED'] = 'The report reason has been added.';
$lang['REPORT_REASON_EDITED'] = 'The report reason has been edited.';
$lang['DELETE_REASON'] = 'Delete reason';
$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Are you sure you want to delete the selected report reason?';
$lang['REPORT_REASON_DELETED'] = 'The report reason has been deleted.';
$lang['REPORT_REASON_NOT_EXISTS'] = 'The selected report reason doesn\'t exist.';
$lang['CLICK_RETURN_REPORT_REASONS'] = 'Click %sHere%s to return to the report reasons administration.';
$lang['REPORT_MODULE_SYNCED'] = 'The module has been synced.';
$lang['UNINSTALL_REPORT_MODULE'] = 'Uninstall module';
$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Are you sure you want to uninstall the selected report module? <br />Note: All reports in the module will be deleted, too.';
$lang['REPORT_MODULE_UNINSTALLED'] = 'The module has been uninstalled.';
$lang['INSTALL_REPORT_MODULE'] = 'Install module';
$lang['EDIT_REPORT_MODULE'] = 'Edit module';
$lang['REPORT_PRUNE'] = 'Prune reports';
$lang['REPORT_PRUNE_EXPLAIN'] = 'Cleared reports and reports marked for deletion will be deleted automatically after <var>x</var> days. Set to <em>zero</em> to disable the feature.';
$lang['REPORT_PERMISSIONS'] = 'Report permissions';
$lang['WRITE'] = 'Write';
$lang['REPORT_AUTH'] = array(
REPORT_AUTH_USER => 'Users',
REPORT_AUTH_MOD => 'Moderators',
REPORT_AUTH_CONFIRM => 'Moderators (after confirmation)',
REPORT_AUTH_ADMIN => 'Administrators'
);
$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Moderators will only be notified if they can view and edit the report.';
$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'If you select <em>Moderators (after confirmation)</em>, deletions have to be confirmed by an administrator.';
$lang['REPORT_MODULE_INSTALLED'] = 'The module has been installed.';
$lang['REPORT_MODULE_EDITED'] = 'The module has been edited.';
// Mods
$lang['MAX_NEWS_TITLE'] = 'Max. length of the news';

View file

@ -1,2 +0,0 @@
order allow,deny
deny from all

View file

@ -1,17 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'General reports';
$lang['MODULE_EXPLAIN'] = 'This module allows the users to send general reports to the team.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'General reports';
$lang['REPORT_TYPE'] = 'General report';
$lang['WRITE_REPORT'] = 'Write report';
$lang['WRITE_REPORT_EXPLAIN'] = 'Use this form to send a message to the team.';
$lang['AUTH_WRITE_ERROR'] = 'You don\'t have the permission to write reports.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Report posts';
$lang['MODULE_EXPLAIN'] = 'This module allows the users to report posts.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Reported posts';
$lang['REPORT_TYPE'] = 'Reported post';
$lang['WRITE_REPORT'] = 'Report post';
$lang['DUPLICATE_REPORT'] = 'Post has already been reported';
$lang['WRITE_REPORT_EXPLAIN'] = 'Use this form to report the selected post. Reporting should generally be used only if the post breaks forum rules.';
$lang['WRITE_REPORT_ERROR'] = 'The selected post doesn\'t exist.';
$lang['AUTH_WRITE_ERROR'] = 'You don\'t have the permission to report posts.';
$lang['DUPLICATE_ERROR'] = 'The selected post has already been reported.';
$lang['DELETED_ERROR'] = 'The reported post was deleted.';
$lang['CLICK_RETURN'] = '%sClick here%s to return to the post.';

View file

@ -1,27 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Report private messages';
$lang['MODULE_EXPLAIN'] = 'This module allows the users to report private messages they receive.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Private messages';
$lang['REPORT_TYPE'] = 'Private message';
$lang['MESSAGE_ID'] = 'ID';
$lang['MESSAGE_TITLE'] = 'Title';
$lang['MESSAGE_TEXT'] = 'Message text';
$lang['MESSAGE_FROM'] = 'By';
$lang['WRITE_REPORT'] = 'Report private message';
$lang['DUPLICATE_REPORT'] = 'Private message has already been reported';
$lang['WRITE_REPORT_EXPLAIN'] = 'Use this form to report the selected private message. Reporting should generally be used only if the private message breaks forum rules.';
$lang['WRITE_REPORT_ERROR'] = 'The selected private message doesn\'t exist.';
$lang['AUTH_WRITE_ERROR'] = 'You don\'t have the permission to report private messages.';
$lang['DUPLICATE_ERROR'] = 'The private message has already been reported.';
$lang['DELETED_ERROR'] = 'The reported private message was deleted.';
$lang['CLICK_RETURN'] = '%sClick here%s to return to the private message.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Report topics';
$lang['MODULE_EXPLAIN'] = 'This module allows the users to report topics.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Reported topics';
$lang['REPORT_TYPE'] = 'Reported topic';
$lang['WRITE_REPORT'] = 'Report topic';
$lang['DUPLICATE_REPORT'] = 'Topic has already been reported';
$lang['WRITE_REPORT_EXPLAIN'] = 'Use this form to report the selected topic. Reporting should generally be used only if the topic breaks forum rules.';
$lang['WRITE_REPORT_ERROR'] = 'The selected topic doesn\'t exist.';
$lang['AUTH_WRITE_ERROR'] = 'You don\'t have the permission to report topics.';
$lang['DUPLICATE_ERROR'] = 'The selected topic has already been reported.';
$lang['DELETED_ERROR'] = 'The reported topic was deleted.';
$lang['CLICK_RETURN'] = '%sClick here%s to return to the topic.';

View file

@ -1,21 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Report users';
$lang['MODULE_EXPLAIN'] = 'This module allows the users to report other users.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Reported users';
$lang['REPORT_TYPE'] = 'Reported user';
$lang['WRITE_REPORT'] = 'Report user';
$lang['WRITE_REPORT_EXPLAIN'] = 'Use this form to report the selected user. Reporting should generally be used only if the user attracted your attention because of a negative behaviour.';
$lang['WRITE_REPORT_ERROR'] = 'The selected user doesn\'t exist.';
$lang['AUTH_WRITE_ERROR'] = 'You don\'t have the permission to report users.';
$lang['DELETED_ERROR'] = 'The selected user was deleted.';
$lang['CLICK_RETURN'] = '%sClick here%s to return to the user\'s profile.';

View file

@ -1381,71 +1381,16 @@ $lang['ONLY_NEW_POSTS'] = 'только новые сообщения';
$lang['ONLY_NEW_TOPICS'] = 'только новые темы';
$lang['TORHELP_TITLE'] = 'Этим раздачам необходима ваша помощь!';
// Reports
$lang['REPORTS'] = 'Нарушения';
$lang['REPORTS_DISABLE'] = 'Система нарушений отключена';
$lang['NEW_REPORT'] = ': одно открыто';
$lang['NEW_REPORTS'] = ': %d открыто';
$lang['NO_NEW_REPORTS'] = ': нет открытых';
$lang['REPORT_INDEX'] = 'Полный список нарушений';
$lang['STATISTICS'] = 'Статистика';
$lang['STATISTIC'] = 'Параметр';
$lang['VALUE'] = 'Значение';
$lang['REPORT_COUNT'] = 'Текущее число сообщений';
$lang['REPORT_MODULES_COUNT'] = 'Число модулей';
$lang['REPORT_HACK_COUNT'] = 'Общее число сообщений';
$lang['DELETED_REPORTS'] = 'Сообщения, отмеченные для удаления';
$lang['REPORT_TYPE'] = 'Тип сообщения';
$lang['REPORT_BY'] = 'от';
$lang['NO_REPORTS'] = 'Нет сообщений';
$lang['INVERT_SELECT'] = 'Обратить выделение';
$lang['REPORTED_BY'] = 'Сообщение от';
$lang['REPORTED_TIME'] = 'Дата сообщения';
$lang['STATUS'] = 'Статус';
$lang['LAST_CHANGED_BY'] = 'Последнее изменение';
$lang['CHANGES'] = 'Изменения';
$lang['REPORT_CHANGE_TEXT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s.';
$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Отмечено как "%1$s" пользователем %2$s в %3$s:<br />%4$s';
$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Отмечено для удаления пользователем %1$s в %2$s.';
$lang['ACTION'] = 'Действие';
$lang['REPORT_MARK'] = 'Отметить как';
$lang['OPEN_REPORTS'] = 'открытые сообщения';
$lang['NO_REPORTS_FOUND'] = 'Подходящих сообщений не найдено.';
$lang['NO_REPORTS_SELECTED'] = 'Не было выделено ни одного сообщения.';
$lang['REPORT_NOT_EXISTS'] = 'Выбранное сообщение не существует.';
$lang['REPORT_NOT_SUPPORTED'] = 'Данная опция не поддерживается.';
$lang['CLICK_RETURN_REPORT'] = '%sВернуться к сообщению%s';
$lang['CLICK_RETURN_REPORT_LIST'] = '%sВернуться к списку сообщений%s';
$lang['REPORT_STATUS'] = array(
REPORT_NEW => 'Новое',
REPORT_OPEN => 'Открыто',
REPORT_IN_PROCESS => 'В обработке',
REPORT_CLEARED => 'Закрыто',
REPORT_DELETE => 'Отмечено для удаления',
);
$lang['REASON'] = 'Причина';
$lang['REPORT_SUBJECT'] = 'Тема';
$lang['REPORT_TITLE_EMPTY'] = 'Необходимо ввести заголовок сообщения.';
$lang['REPORT_DESC_EMPTY'] = 'Необходимо ввести сообщение.';
$lang['REPORT_INSERTED'] = 'Сообщение было отправлено администрации.';
$lang['CHANGE_REPORT'] = 'Изменить сообщение';
$lang['CHANGE_REPORTS'] = 'Изменить сообщения';
$lang['CHANGE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранного сообщения?';
$lang['CHANGE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите изменить статус выбранных сообщений?';
$lang['COMMENT'] = 'Комментарий';
$lang['REPORT_CHANGED'] = 'Статус выбранного сообщения был изменен.';
$lang['REPORTS_CHANGED'] = 'Статус выбранных сообщений был изменен.';
$lang['DELETE_REPORT'] = 'Удалить сообщение';
$lang['DELETE_REPORTS'] = 'Удалить сообщения';
$lang['DELETE_REPORT_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранное сообщение?';
$lang['DELETE_REPORTS_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранные сообщения?';
$lang['REPORT_DELETED'] = 'Выбранное сообщение удалено.';
$lang['REPORTS_DELETED'] = 'Выбранные сообщения удалены.';
// search
$lang['SEARCH_S'] = 'поиск…';
@ -2114,73 +2059,7 @@ $lang['SF_SHOW_ON_INDEX'] = 'Показывать на главной';
$lang['SF_PARENT_FORUM'] = 'Родительский форум';
$lang['SF_NO_PARENT'] = 'Нет родительского форума';
$lang['TEMPLATE'] = 'Шаблон';
// Reports
$lang['REPORT_CONFIG_EXPLAIN'] = 'На этой странице находятся основные настройки модуля "Сообщения о нарушениях".';
$lang['REPORT_SUBJECT_AUTH'] = 'Индивидуальные права доступа';
$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'Если опция включена, то модераторы смогут просматривать и редактировать только сообщения о нарушениях в модерируемых ими форумах.';
$lang['REPORT_MODULES_CACHE'] = 'Кэшировать модули в файлах';
$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Замечание: права доступа к директории cache в режим "полный доступ на запись и чтение" (<em>CHMOD 777</em>).';
$lang['REPORT_NOTIFY'] = 'Уведомления по e-mail';
$lang['REPORT_NOTIFY_CHANGE'] = 'об изменениях статусов и новых сообщениях';
$lang['REPORT_NOTIFY_NEW'] = 'о новых сообщениях';
$lang['REPORT_LIST_ADMIN'] = 'Список сообщений доступен только администратору';
$lang['REPORT_NEW_WINDOW'] = 'Открывать страницу с нарушением в новом окне';
$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'Эта опция так же влияет на вид ссылок к форме отправки сообщения о нарушении на страницах просмотра тем.';
$lang['REPORT_CONFIG_UPDATED'] = 'Конфигурция обновлена.';
$lang['CLICK_RETURN_REPORT_CONFIG'] = '%sНажмите%s для возврата к настройкам модуля.';
$lang['MODULES_REASONS'] = 'Модули и Причины';
$lang['REPORT_ADMIN_EXPLAIN'] = 'На этой странице вы можете установить новый модуль, изменить настройки модуля или удалить уже установленный модуль. Так же здесь вы можете задать установить Причины написания сообщений о нарушении для каждого модуля.';
$lang['REPORT_MODULE'] = 'Модуль Сообщений о нарушении';
$lang['INSTALLED_MODULES'] = 'Установленные модули';
$lang['NO_MODULES_INSTALLED'] = 'Нет установленных модулей';
$lang['REASONS'] = 'Причины (%d)';
$lang['SYNC'] = 'Синхронизировать';
$lang['UNINSTALL'] = 'Удалить';
$lang['INSTALL2'] = 'Установить';
$lang['INACTIVE_MODULES'] = 'Неактивные модули';
$lang['NO_MODULES_INACTIVE'] = 'Нет неактивных модулей';
$lang['REPORT_MODULE_NOT_EXISTS'] = 'Выбранный модель не существует.';
$lang['CLICK_RETURN_REPORT_ADMIN'] = '%sНажмите%s для возврата к настройкам Модулей и Причин.';
$lang['BACK_MODULES'] = 'Назад к модулям';
$lang['REPORT_REASON'] = 'Причина написания сообщения';
$lang['NO_REASONS'] = 'Нет определенных Причин для этого модуля';
$lang['ADD_REASON'] = 'Добавить Причину';
$lang['EDIT_REASON'] = 'Редактировать Причину';
$lang['REASON_DESC_EXPLAIN'] = 'Если название совпадет с языковой переменно, то будет использована переменная.';
$lang['REASON_DESC_EMPTY'] = 'Нобходимо ввести текст Причины.';
$lang['REPORT_REASON_ADDED'] = 'Причина добавлена.';
$lang['REPORT_REASON_EDITED'] = 'Причина отредактирована.';
$lang['DELETE_REASON'] = 'Удалить Причину';
$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранную Причину?';
$lang['REPORT_REASON_DELETED'] = 'Причина удалена.';
$lang['REPORT_REASON_NOT_EXISTS'] = 'Выбранная Причина не существует.';
$lang['CLICK_RETURN_REPORT_REASONS'] = '%sНажмите%s для возврата к настройкам Причин сообщений о нарушениях.';
$lang['REPORT_MODULE_SYNCED'] = 'Модуль синхронизирован.';
$lang['UNINSTALL_REPORT_MODULE'] = 'Удалить модуль';
$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Вы уверены, что хотите удалить выбранный модуль? <br />Замечание: все сообщения для этого модуля также будут удалены.';
$lang['REPORT_MODULE_UNINSTALLED'] = 'Модуль удален.';
$lang['INSTALL_REPORT_MODULE'] = 'Установить модуль';
$lang['EDIT_REPORT_MODULE'] = 'Редактировать настройки модуля';
$lang['REPORT_PRUNE'] = 'Очистить сообщения';
$lang['REPORT_PRUNE_EXPLAIN'] = 'Зыкрытые и отмеченные для удаления сообщения автоматически будут удалены через <var>x</var> дней. Значение <em>zero</em> отключает автоматическую чистку.';
$lang['REPORT_PERMISSIONS'] = 'Права доступа';
$lang['WRITE'] = 'Написать';
$lang['REPORT_AUTH'] = array(
REPORT_AUTH_USER => 'Пользователи',
REPORT_AUTH_MOD => 'Модераторы',
REPORT_AUTH_CONFIRM => 'Модераторы (после подтверждения)',
REPORT_AUTH_ADMIN => 'Администраторы'
);
$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Модераторы будут уведомлены только, если они могут просматривать и редактировать сообщение.';
$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'Если выбрано <em>Модераторы (после подтверждения)</em>, удаление сообщения должно быть подтверждено администратором.';
$lang['REPORT_MODULE_INSTALLED'] = 'Модуль удален.';
$lang['REPORT_MODULE_EDITED'] = 'Модуль отредактирован.';
// Mods
$lang['MAX_NEWS_TITLE'] = 'Макс. длина новости';

View file

@ -1,2 +0,0 @@
order allow,deny
deny from all

View file

@ -1,17 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Общие нарушения';
$lang['MODULE_EXPLAIN'] = 'Этот модуль позволяет отправлять команде администраторов и модераторов сообщения о нарушениях в свободной форме.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Общие нарушения';
$lang['REPORT_TYPE'] = 'Общие нарушения';
$lang['WRITE_REPORT'] = 'Сообщить о нарушении';
$lang['WRITE_REPORT_EXPLAIN'] = 'Используйте эту форму для отправки сообщения команде администраторов и модераторов.';
$lang['AUTH_WRITE_ERROR'] = 'У вас нет прав для отправки сообщений о нарушениях.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Нарушения в сообщениях пользоваталей';
$lang['MODULE_EXPLAIN'] = 'Этот модуль позволяет сообщать о нарушениях в сообщениях темы.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Нарушения в сообщениях';
$lang['REPORT_TYPE'] = 'Нарушения в сообщениях';
$lang['WRITE_REPORT'] = 'Сообщить о нарушении';
$lang['DUPLICATE_REPORT'] = 'О нарушении сообщено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Используйте эту форму для отправки сообщения о нарушении. Делайте это только, если вы заметили нарушение Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Выбранное сообщение не существует.';
$lang['AUTH_WRITE_ERROR'] = 'У вас нет прав для отправки сообщения.';
$lang['DUPLICATE_ERROR'] = 'О нарушениях в выбранных сообщениях уже сообщено.';
$lang['DELETED_ERROR'] = 'Сообщение с нарушением удалено.';
$lang['CLICK_RETURN'] = '%sНажмите%s для возврата к сообщению в теме.';

View file

@ -1,27 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Нарушения в личных сообщениях пользоваталей';
$lang['MODULE_EXPLAIN'] = 'Этот модуль позволяет сообщать о нарушениях в личных сообщениях.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Нарушения в ЛС';
$lang['REPORT_TYPE'] = 'Нарушения в ЛС';
$lang['MESSAGE_ID'] = 'ID';
$lang['MESSAGE_TITLE'] = 'Заголовок';
$lang['MESSAGE_TEXT'] = 'Текст';
$lang['MESSAGE_FROM'] = 'От';
$lang['WRITE_REPORT'] = 'Сообщить о нарушении в личных сообщениях';
$lang['DUPLICATE_REPORT'] = 'О нарушении уже сообщено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Используйте эту форму для отправки сообщения о нарушении. Делайте это только, если вы заметили нарушение Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Выбранное личное сообщение не существует.';
$lang['AUTH_WRITE_ERROR'] = 'У вас нет прав для отправки сообщения.';
$lang['DUPLICATE_ERROR'] = 'О нарушении уже сообщено.';
$lang['DELETED_ERROR'] = 'Личное сообщение с нарушением удалено.';
$lang['CLICK_RETURN'] = '%sНажмите%s для возврата к личному сообщению.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Нарушения в темах';
$lang['MODULE_EXPLAIN'] = 'Этот модуль позволяет сообщать о нарушающих Правила темах.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Нарушения в темах';
$lang['REPORT_TYPE'] = 'Нарушения в темах';
$lang['WRITE_REPORT'] = 'Сообщить о нарушении в теме';
$lang['DUPLICATE_REPORT'] = 'О нарушении уже сообщено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Используйте эту форму для отправки сообщения о нарушении. Делайте это только, если вы заметили нарушение Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Выбранная тема не существует.';
$lang['AUTH_WRITE_ERROR'] = 'У вас нет прав для отправки сообщения.';
$lang['DUPLICATE_ERROR'] = 'О нарушении уже сообщено.';
$lang['DELETED_ERROR'] = 'Тема с нарушением удалена.';
$lang['CLICK_RETURN'] = '%sНажмите%s для возврата в тему.';

View file

@ -1,21 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Нарушения пользователей';
$lang['MODULE_EXPLAIN'] = 'Этот модуль позволяет сообщать о нарушающих Правила пользователях.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Нарушения пользователей';
$lang['REPORT_TYPE'] = 'Нарушения пользователей';
$lang['WRITE_REPORT'] = 'Сообщить о нарушении Правил пользователем';
$lang['WRITE_REPORT_EXPLAIN'] = 'Используйте эту форму для отправки сообщения о нарушении. Делайте это только, если вы заметили нарушение Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Выбранный пользователь не существует';
$lang['AUTH_WRITE_ERROR'] = 'У вас нет прав для отправки сообщения.';
$lang['DELETED_ERROR'] = 'Выбранный пользователь удален.';
$lang['CLICK_RETURN'] = '%sНажмите%s для возврата в профиль пользователя.';

View file

@ -1381,71 +1381,16 @@ $lang['ONLY_NEW_POSTS'] = 'тільки нові повідомлення';
$lang['ONLY_NEW_TOPICS'] = 'тільки нові теми';
$lang['TORHELP_TITLE'] = 'Цим роздачам необхідна ваша допомога!';
// Reports
$lang['REPORTS'] = 'Порушення';
$lang['REPORTS_DISABLE'] = 'Система порушень відключена';
$lang['NEW_REPORT'] = ': одне відкрито';
$lang['NEW_REPORTS'] = ': %d відкрито';
$lang['NO_NEW_REPORTS'] = ': немає відкритих';
$lang['REPORT_INDEX'] = 'Повний список порушень';
$lang['STATISTICS'] = 'Статистика';
$lang['STATISTIC'] = 'Параметр';
$lang['VALUE'] = 'Значення';
$lang['REPORT_COUNT'] = 'Поточне число повідомлень';
$lang['REPORT_MODULES_COUNT'] = 'Кількість модулів';
$lang['REPORT_HACK_COUNT'] = 'Загальне число повідомлень';
$lang['DELETED_REPORTS'] = 'Повідомлення, позначені для видалення';
$lang['REPORT_TYPE'] = 'Тип повідомлення';
$lang['REPORT_BY'] = 'від';
$lang['NO_REPORTS'] = 'Немає повідомлень';
$lang['INVERT_SELECT'] = 'Звернути виділення';
$lang['REPORTED_BY'] = 'Повідомлення';
$lang['REPORTED_TIME'] = 'Дата повідомлення';
$lang['STATUS'] = 'Статус';
$lang['LAST_CHANGED_BY'] = 'Остання зміна';
$lang['CHANGES'] = 'Змінити';
$lang['REPORT_CHANGE_TEXT'] = 'Відзначено як "%1$s" користувачем %2$s %3$s.';
$lang['REPORT_CHANGE_TEXT_COMMENT'] = 'Відзначено як "%1$s" користувачем %2$s %3$s:<br />%4$s';
$lang['REPORT_CHANGE_DELETE_TEXT'] = 'Відзначено для видалення користувачем %1$s %2$s.';
$lang['ACTION'] = 'Дія';
$lang['REPORT_MARK'] = 'Відмітити як';
$lang['OPEN_REPORTS'] = 'відкриті повідомлення';
$lang['NO_REPORTS_FOUND'] = 'Відповідних повідомлень не знайдено.';
$lang['NO_REPORTS_SELECTED'] = 'Не було виділено жодного повідомлення.';
$lang['REPORT_NOT_EXISTS'] = 'Вибране повідомлення не існує.';
$lang['REPORT_NOT_SUPPORTED'] = 'Ця опція не підтримується.';
$lang['CLICK_RETURN_REPORT'] = '%sВернуться до повідомлення%s';
$lang['CLICK_RETURN_REPORT_LIST'] = '%sВернуться до списку повідомлень%s';
$lang['REPORT_STATUS'] = array(
REPORT_NEW => 'Нове',
REPORT_OPEN => 'Відкрито',
REPORT_IN_PROCESS => 'В обробці',
REPORT_CLEARED => 'Закрито',
REPORT_DELETE => 'Відзначено для видалення',
);
$lang['REASON'] = 'Причина';
$lang['REPORT_SUBJECT'] = 'Тема';
$lang['REPORT_TITLE_EMPTY'] = 'Необхідно ввести заголовок повідомлення.';
$lang['REPORT_DESC_EMPTY'] = 'Необхідно ввести повідомлення.';
$lang['REPORT_INSERTED'] = 'Повідомлення було відправлено адміністрації.';
$lang['CHANGE_REPORT'] = 'Редагувати повідомлення';
$lang['CHANGE_REPORTS'] = 'Редагувати повідомлення';
$lang['CHANGE_REPORT_EXPLAIN'] = 'Ви впевнені, що хочете змінити статус вибраного повідомлення?';
$lang['CHANGE_REPORTS_EXPLAIN'] = 'Ви впевнені, що хочете змінити статус вибраних повідомлень?';
$lang['COMMENT'] = 'Коментар';
$lang['REPORT_CHANGED'] = 'Статус вибраного повідомлення було змінено.';
$lang['REPORTS_CHANGED'] = 'Статус вибрані повідомлення було змінено.';
$lang['DELETE_REPORT'] = 'Видалити повідомлення';
$lang['DELETE_REPORTS'] = 'Видалити повідомлення';
$lang['DELETE_REPORT_EXPLAIN'] = 'Ви впевнені, що хочете видалити вибране повідомлення?';
$lang['DELETE_REPORTS_EXPLAIN'] = 'Ви впевнені, що бажаєте видалити вибрані повідомлення?';
$lang['REPORT_DELETED'] = 'Вибране повідомлення видалено.';
$lang['REPORTS_DELETED'] = 'Вибрані повідомлення видалено.';
$lang['REASON'] = 'Причина';
// search
$lang['SEARCH_S'] = 'пошук...';
@ -2114,73 +2059,7 @@ $lang['SF_SHOW_ON_INDEX'] = 'Показувати на головній';
$lang['SF_PARENT_FORUM'] = 'Батьківський форум';
$lang['SF_NO_PARENT'] = 'Немає батьківського форуму';
$lang['TEMPLATE'] = 'Шаблон';
// Reports
$lang['REPORT_CONFIG_EXPLAIN'] = 'На цій сторінці знаходяться основні налаштування модуля "Повідомлення про порушення".';
$lang['REPORT_SUBJECT_AUTH'] = 'Індивідуальні права доступу';
$lang['REPORT_SUBJECT_AUTH_EXPLAIN'] = 'Якщо опція включена, то модератори зможуть переглядати і редагувати тільки повідомлення про порушення в модерованих ними форумах.';
$lang['REPORT_MODULES_CACHE'] = 'Кешувати модулі у файлах';
$lang['REPORT_MODULES_CACHE_EXPLAIN'] = 'Зауваження: права доступу до директорії cache в режим "повний доступ на запис і читання" (<em>CHMOD 777</em>).';
$lang['REPORT_NOTIFY'] = 'Повідомлення по e-mail';
$lang['REPORT_NOTIFY_CHANGE'] = 'про зміни статусів і нових повідомлень';
$lang['REPORT_NOTIFY_NEW'] = 'про нові повідомлення';
$lang['REPORT_LIST_ADMIN'] = 'Список повідомлень доступний тільки адміністратору';
$lang['REPORT_NEW_WINDOW'] = 'Відкривати сторінку з порушенням в новому вікні';
$lang['REPORT_NEW_WINDOW_EXPLAIN'] = 'Ця опція так само впливає на вид посилань на формі відправки повідомлення про порушення на сторінках перегляду тим.';
$lang['REPORT_CONFIG_UPDATED'] = 'Конфигурцію оновлено.';
$lang['CLICK_RETURN_REPORT_CONFIG'] = '%sНатиснить%s для повернення до налаштувань модуля.';
$lang['MODULES_REASONS'] = 'Модулі та Причини';
$lang['REPORT_ADMIN_EXPLAIN'] = 'На цій сторінці ви можете встановити новий модуль, змінити настройки модуля або видалити вже встановлений модуль. Так само тут ви можете задати встановити Причини написання повідомлень про порушення для кожного модуля.';
$lang['REPORT_MODULE'] = 'Модуль Повідомлень про порушення';
$lang['INSTALLED_MODULES'] = 'Встановлені модулі';
$lang['NO_MODULES_INSTALLED'] = 'Немає встановлених модулів';
$lang['REASONS'] = 'Причини (%d)';
$lang['SYNC'] = 'Синхронізувати';
$lang['UNINSTALL'] = 'Видалити';
$lang['INSTALL2'] = 'Встановити';
$lang['INACTIVE_MODULES'] = 'Неактивні модулі';
$lang['NO_MODULES_INACTIVE'] = 'Немає неактивних модулів';
$lang['REPORT_MODULE_NOT_EXISTS'] = 'Обраний модуль не існує.';
$lang['CLICK_RETURN_REPORT_ADMIN'] = '%sНатиснить%s для повернення до налаштувань Модулів і Причин.';
$lang['BACK_MODULES'] = 'Назад до модулів';
$lang['REPORT_REASON'] = 'Причина написання повідомлення';
$lang['NO_REASONS'] = 'Немає особливих Причин для цього модуля';
$lang['ADD_REASON'] = 'Додати Причину';
$lang['EDIT_REASON'] = 'Редагувати Причину';
$lang['REASON_DESC_EXPLAIN'] = 'Якщо назва співпаде з мовної мінливой, то буде використана мінлива.';
$lang['REASON_DESC_EMPTY'] = 'Нобхідно ввести текст Причини.';
$lang['REPORT_REASON_ADDED'] = 'Причину додано.';
$lang['REPORT_REASON_EDITED'] = 'Причина відредагована.';
$lang['DELETE_REASON'] = 'Видалити Причину';
$lang['DELETE_REPORT_REASON_EXPLAIN'] = 'Ви впевнені, що хочете видалити обрану Причину?';
$lang['REPORT_REASON_DELETED'] = 'Причину видалено.';
$lang['REPORT_REASON_NOT_EXISTS'] = 'Обрана Причина не існує.';
$lang['CLICK_RETURN_REPORT_REASONS'] = '%sНатиснить%s для повернення до налаштувань Причин повідомлень про порушення.';
$lang['REPORT_MODULE_SYNCED'] = 'Модуль синхронізований.';
$lang['UNINSTALL_REPORT_MODULE'] = 'Видалити модуль';
$lang['UNINSTALL_REPORT_MODULE_EXPLAIN'] = 'Ви впевнені, що хочете видалити вибраний модуль? <br />Зауваження: всі повідомлення для цього модуля буде видалено.';
$lang['REPORT_MODULE_UNINSTALLED'] = 'Модуль видалено.';
$lang['INSTALL_REPORT_MODULE'] = 'Встановити модуль';
$lang['EDIT_REPORT_MODULE'] = 'Редагувати настройки модуля';
$lang['REPORT_PRUNE'] = 'Очистити повідомлення';
$lang['REPORT_PRUNE_EXPLAIN'] = 'Зыкрытые та позначені для видалення повідомлення автоматично будуть видалені через <var>x</var> днів. Значення <em>zero</em> відключає автоматичне чищення.';
$lang['REPORT_PERMISSIONS'] = 'Права доступу';
$lang['WRITE'] = 'Написати';
$lang['REPORT_AUTH'] = array(
REPORT_AUTH_USER => 'Користувачі',
REPORT_AUTH_MOD => 'Модератори',
REPORT_AUTH_CONFIRM => 'Модератори (після підтвердження)',
REPORT_AUTH_ADMIN => 'Адміністратори'
);
$lang['REPORT_AUTH_NOTIFY_EXPLAIN'] = 'Модератори будуть повідомлені тільки, якщо вони можуть переглядати і редагувати повідомлення.';
$lang['REPORT_AUTH_DELETE_EXPLAIN'] = 'Якщо вибрано <em>Модератори (після підтвердження)</em>, видалення повідомлення повинно бути підтверджено адміністратором.';
$lang['REPORT_MODULE_INSTALLED'] = 'Модуль видалено.';
$lang['REPORT_MODULE_EDITED'] = 'Модуль відредагований.';
// Mods
$lang['MAX_NEWS_TITLE'] = 'Макс. довжина новини';

View file

@ -1,2 +0,0 @@
order allow,deny
deny from all

View file

@ -1,17 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Загальні порушення';
$lang['MODULE_EXPLAIN'] = 'Цей модуль дозволяє відправляти команді адміністраторів і модераторів повідомлення про порушення у вільній формі.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Загальні порушення';
$lang['REPORT_TYPE'] = 'Загальні порушення';
$lang['WRITE_REPORT'] = 'Повідомити про порушення';
$lang['WRITE_REPORT_EXPLAIN'] = 'Використовуйте цю форму для відправки повідомлення команді адміністраторів і модераторів.';
$lang['AUTH_WRITE_ERROR'] = 'У вас немає прав для відправки повідомлень про порушення.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Порушення у повідомленнях користувачів';
$lang['MODULE_EXPLAIN'] = 'Цей модуль дозволяє повідомляти про порушення у повідомленнях теми.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Порушення в повідомленнях';
$lang['REPORT_TYPE'] = 'Порушення в повідомленнях';
$lang['WRITE_REPORT'] = 'Повідомити про порушення';
$lang['DUPLICATE_REPORT'] = 'Про порушення повідомлено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Використовуйте цю форму для відправки повідомлення про порушення. Робіть це тільки якщо ви помітили порушення Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Вибране повідомлення не існує.';
$lang['AUTH_WRITE_ERROR'] = 'У вас немає прав для надсилання повідомлення.';
$lang['DUPLICATE_ERROR'] = 'Про порушення в обраних повідомленнях вже повідомлено.';
$lang['DELETED_ERROR'] = 'Повідомлення з порушенням видалено.';
$lang['CLICK_RETURN'] = '%sНатиснить%s для повернення до повідомлення в темі.';

View file

@ -1,27 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Порушення в особистих повідомленнях користувачів';
$lang['MODULE_EXPLAIN'] = 'Цей модуль дозволяє повідомляти про порушення в особистих повідомленнях.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Порушення в ОП';
$lang['REPORT_TYPE'] = 'Порушення в ОП';
$lang['MESSAGE_ID'] = 'ID';
$lang['MESSAGE_TITLE'] = 'Заголовок';
$lang['MESSAGE_TEXT'] = 'Текст';
$lang['MESSAGE_FROM'] = 'Від';
$lang['WRITE_REPORT'] = 'Повідомити про порушення у особистих повідомленнях';
$lang['DUPLICATE_REPORT'] = 'Про порушення вже повідомлено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Використовуйте цю форму для відправки повідомлення про порушення. Робіть це тільки якщо ви помітили порушення Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Вибране особисте повідомлення не існує.';
$lang['AUTH_WRITE_ERROR'] = 'У вас немає прав для надсилання повідомлення.';
$lang['DUPLICATE_ERROR'] = 'Про порушення вже повідомлено.';
$lang['DELETED_ERROR'] = 'Особисте повідомлення з порушенням видалено.';
$lang['CLICK_RETURN'] = '%sНатиснить%s для повернення до особистих повідомлень.';

View file

@ -1,23 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Порушення в темах';
$lang['MODULE_EXPLAIN'] = 'Цей модуль дозволяє повідомляти про порушення Правил у темах.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Порушення в темах';
$lang['REPORT_TYPE'] = 'Порушення в темах';
$lang['WRITE_REPORT'] = 'Повідомити про порушення в темі';
$lang['DUPLICATE_REPORT'] = 'Про порушення вже повідомлено';
$lang['WRITE_REPORT_EXPLAIN'] = 'Використовуйте цю форму для відправки повідомлення про порушення. Робіть це тільки якщо ви помітили порушення Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Обрана тема не існує.';
$lang['AUTH_WRITE_ERROR'] = 'У вас немає прав для надсилання повідомлення.';
$lang['DUPLICATE_ERROR'] = 'Про порушення вже повідомлено.';
$lang['DELETED_ERROR'] = 'Тему з порушенням видалено.';
$lang['CLICK_RETURN'] = '%sНатиснить%s для повернення в тему.';

View file

@ -1,21 +0,0 @@
<?php
//
// Module information
//
$lang['MODULE_TITLE'] = 'Порушення користувачів';
$lang['MODULE_EXPLAIN'] = 'Цей модуль дозволяє повідомляти про порушення Правил користувачами.';
//
// Language variables
//
$lang['REPORT_LIST_TITLE'] = 'Порушення користувачів';
$lang['REPORT_TYPE'] = 'Порушення користувачів';
$lang['WRITE_REPORT'] = 'Повідомити про порушення Правил користувачем';
$lang['WRITE_REPORT_EXPLAIN'] = 'Використовуйте цю форму для відправки повідомлення про порушення. Робіть це тільки якщо ви помітили порушення Правил трекера.';
$lang['WRITE_REPORT_ERROR'] = 'Обраний користувач не існує';
$lang['AUTH_WRITE_ERROR'] = 'У вас немає прав для надсилання повідомлення.';
$lang['DELETED_ERROR'] = 'Обраний користувач видалено.';
$lang['CLICK_RETURN'] = '%sНатиснить%s для повернення в профіль користувача.';

View file

@ -360,37 +360,6 @@ if ($mode == 'read')
$l_box_name = $lang['SENT'];
}
// Report
//
// Get report privmsg module and create report links
//
if ($folder == 'inbox')
{
include(INC_DIR ."functions_report.php");
$report_privmsg = report_modules('name', 'report_privmsg');
if ($report_privmsg && $report_privmsg->auth_check('auth_write'))
{
if ($privmsg['privmsgs_reported'])
{
$report_img = '<img src="' . $images['icon_reported'] . '" alt="' . $report_privmsg->lang['DUPLICATE_REPORT'] . '" title="' . $report_privmsg->lang['DUPLICATE_REPORT'] . '" border="0" />';
$report = $report_privmsg->lang['DUPLICATE_REPORT'];
}
else
{
$temp_url = "report.php?mode=" . $report_privmsg->mode . "&amp;id=$privmsg_id";
$report_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_report'] . '" alt="' . $report_privmsg->lang['WRITE_REPORT'] . '" title="' . $report_privmsg->lang['WRITE_REPORT'] . '" border="0" /></a>';
$report = '<a href="' . $temp_url . '">' . $report_privmsg->lang['WRITE_REPORT'] . '</a>';
}
$template->assign_vars(array(
'REPORT_PM_IMG' => $report_img,
'REPORT_PM' => $report,
));
}
}
// Report [END]
$s_hidden_fields = '<input type="hidden" name="mark[]" value="' . $privmsgs_id . '" />';
$page_title = $lang['READ_PM'];

View file

@ -1,753 +0,0 @@
<?php
define('IN_FORUM', true);
define('BB_SCRIPT', 'report');
define('BB_ROOT', './');
require(BB_ROOT .'common.php');
require(INC_DIR .'bbcode.php');
require(INC_DIR .'functions_report.php');
// Init userdata
$user->session_start(array('req_login' => true));
if(!$bb_cfg['reports_enabled']) bb_die($lang['REPORTS_DISABLE']);
$return_links = array(
'index' => '<br /><br />' . sprintf($lang['CLICK_RETURN_INDEX'], '<a href="index.php">', '</a>'),
'list' => '<br /><br />' . sprintf($lang['CLICK_RETURN_REPORT_LIST'], '<a href="report.php">', '</a>')
);
if (isset($_POST['mode']) || isset($_GET['mode']))
{
$mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode'];
}
else
{
$mode = '';
}
$report_modules = report_modules();
//
// Check for matching report module
//
if (!empty($mode))
{
foreach (array_keys($report_modules) as $report_module_id)
{
$report_module =& $report_modules[$report_module_id];
if (!empty($report_module->mode) && $mode == $report_module->mode)
{
break;
}
unset($report_module);
}
}
//
// Report module matched, show report form
//
if (isset($report_module))
{
$errors = array();
if (isset($_POST['id']) || isset($_GET['id']))
{
$report_subject_id = (isset($_POST['id'])) ? (int) $_POST['id'] : (int) $_GET['id'];
}
else
{
$report_subject_id = 0;
}
//
// Check authorisation, check for duplicate reports
//
if (!$report_module->auth_check('auth_write'))
{
bb_die($report_module->lang['AUTH_WRITE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']);
}
else if (!$report_module->duplicates && report_duplicate_check($report_module->id, $report_subject_id))
{
bb_die($report_module->lang['DUPLICATE_ERROR'] . $report_module->return_link($report_subject_id) . $return_links['index']);
}
if (isset($_POST['submit']))
{
$report_reason = (isset($_POST['reason'])) ? (int) $_POST['reason'] : 0;
$report_desc = (isset($_POST['message'])) ? $_POST['message'] : '';
//
// Obtain report title if necessary
//
if (method_exists($report_module, 'subject_obtain'))
{
$report_title = addslashes($report_module->subject_obtain($report_subject_id));
}
else
{
$report_title = (isset($_POST['title'])) ? $_POST['title'] : '';
$report_subject_id = 0;
}
//
// Validate values
//
if (empty($report_title))
{
$errors[] = $lang['REPORT_TITLE_EMPTY'];
}
if (empty($report_desc))
{
$errors[] = $lang['REPORT_DESC_EMPTY'];
}
//
// Insert report
//
if (empty($errors))
{
$report_desc = str_replace("\'", "'", $report_desc);
$report_title = clean_title($report_title);
report_insert($report_module->id, $report_subject_id, $report_reason, $report_title, $report_desc, false);
bb_die($lang['REPORT_INSERTED'] . $report_module->return_link($report_subject_id) . $return_links['index']);
}
}
else if (isset($_POST['cancel']))
{
$redirect_url = (method_exists($report_module, 'subject_url')) ? $report_module->subject_url($report_subject_id, true) : "index.php";
redirect($redirect_url);
}
$page_title = $report_module->lang['WRITE_REPORT'];
include(PAGE_HEADER);
$template->set_filenames(array(
'body' => 'report_form_body.tpl')
);
//
// Show validation errors
//
if (!empty($errors))
{
$template->assign_block_vars('switch_report_errors', array());
foreach ($errors as $error)
{
$template->assign_block_vars('switch_report_errors.report_errors', array(
'MESSAGE' => $error,
));
}
}
//
// Generate report reasons select
//
if ($report_reasons = $report_module->reasons_obtain())
{
$template->assign_block_vars('switch_report_reasons', array());
foreach ($report_reasons as $reason_id => $reason_desc)
{
$template->assign_block_vars('switch_report_reasons.report_reasons', array(
'ID' => $reason_id,
'DESC' => $reason_desc,
'CHECKED' => (isset($report_reason) && $report_reason == $reason_id) ? ' selected="selected"' : '',
));
}
}
//
// Show report subject, check for correct subject
//
if (method_exists($report_module, 'subject_obtain'))
{
if ($report_subject = $report_module->subject_obtain($report_subject_id))
{
$template->assign_block_vars('switch_report_subject', array());
$template->assign_var('REPORT_SUBJECT', $report_subject);
if (method_exists($report_module, 'subject_url'))
{
$template->assign_block_vars('switch_report_subject.switch_url', array());
$template->assign_var('U_REPORT_SUBJECT', $report_module->subject_url($report_subject_id));
}
}
else
{
bb_die($report_module->lang['WRITE_REPORT_ERROR'] . $return_links['index']);
}
}
//
// Show report title input
//
else
{
$template->assign_block_vars('switch_report_title', array());
}
$hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" /><input type="hidden" name="id" value="' . $report_subject_id . '" />';
$template->assign_vars(array(
'S_REPORT_ACTION' => "report.php",
'S_HIDDEN_FIELDS' => $hidden_fields,
'L_WRITE_REPORT' => $report_module->lang['WRITE_REPORT'],
'L_WRITE_REPORT_EXPLAIN' => $report_module->lang['WRITE_REPORT_EXPLAIN'],
'REPORT_TITLE' => (!method_exists($report_module, 'subject_obtain') && isset($report_title)) ? stripslashes($report_title) : '',
'REPORT_DESC' => (isset($report_desc)) ? stripslashes($report_desc) : '',
));
$template->pparse('body');
include(PAGE_FOOTER);
}
else
{
if ($userdata['user_level'] != ADMIN && ($bb_cfg['report_list_admin'] || $userdata['user_level'] != MOD))
{
redirect("index.php");
}
$params = array('open', 'process', 'clear', 'delete');
foreach ($params as $param)
{
if (isset($_POST[$param]))
{
$mode = $param;
}
}
// Report status css classes
$report_status_classes = array(
REPORT_NEW => 'report_new',
REPORT_OPEN => 'report_open',
REPORT_IN_PROCESS => 'report_process',
REPORT_CLEARED => 'report_cleared',
REPORT_DELETE => 'report_delete'
);
switch ($mode)
{
case 'open':
case 'process':
case 'clear':
case 'delete':
//
// Validate report ids
//
if (isset($_POST[POST_REPORT_URL]) || isset($_GET[POST_REPORT_URL]))
{
$report_id = (isset($_POST[POST_REPORT_URL])) ? $_POST[POST_REPORT_URL] : $_GET[POST_REPORT_URL];
$reports = array((int) $report_id);
$single_report = true;
}
else if (isset($_POST['reports']))
{
$reports = array();
foreach ($_POST['reports'] as $report_id)
{
$reports[] = (int) $report_id;
}
$single_report = false;
}
if (empty($reports))
{
meta_refresh('report.php', 3);
bb_die($lang['NO_REPORTS_SELECTED'] . $return_links['list'] . $return_links['index']);
}
//
// Cancel action
//
if (isset($_POST['cancel']))
{
$redirect_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php";
redirect($redirect_url);
}
//
// Hidden fields
//
$hidden_fields = '<input type="hidden" name="mode" value="' . $mode . '" />';
if ($single_report)
{
$hidden_fields .= '<input type="hidden" name="' . POST_REPORT_URL . '" value="' . $reports[0] . '" />';
}
else
{
foreach ($reports as $report_id)
{
$hidden_fields .= '<input type="hidden" name="reports[]" value="' . $report_id . '" />';
}
}
$template->assign_vars(array(
'S_CONFIRM_ACTION' => "report.php",
'S_HIDDEN_FIELDS' => $hidden_fields,
));
//
// Change reports status
//
if ($mode != 'delete')
{
if (isset($_POST['confirm']))
{
$comment = (isset($_POST['comment'])) ? $_POST['comment'] : '';
switch ($mode)
{
case 'open':
$status = REPORT_OPEN;
break;
case 'process':
$status = REPORT_IN_PROCESS;
break;
case 'clear':
$status = REPORT_CLEARED;
break;
}
reports_update_status($reports, $status, $comment);
$meta_url = ($single_report) ? "report.php?" . POST_REPORT_URL . '=' . $reports[0] : "report.php";
meta_refresh($meta_url, 3);
$return_link = ($single_report) ? '<br /><br />' . sprintf($lang['CLICK_RETURN_REPORT'], '<a href="' . ("report.php?" . POST_REPORT_URL . '=' . $reports[0]) . '">', '</a>') : '';
$message = ($single_report) ? 'REPORT_CHANGED' : 'REPORTS_CHANGED';
bb_die($lang[$message] . $return_link . $return_links['list'] . $return_links['index']);
}
$page_title = ($single_report) ? $lang['CHANGE_REPORT'] : $lang['CHANGE_REPORTS'];
include(PAGE_HEADER);
$template->set_filenames(array(
'body' => 'report_change_body.tpl',
));
$template->assign_vars(array(
'MESSAGE_TITLE' => $page_title,
'MESSAGE_TEXT' => ($single_report) ? $lang['CHANGE_REPORT_EXPLAIN'] : $lang['CHANGE_REPORTS_EXPLAIN'],
));
$template->pparse('body');
include(PAGE_FOOTER);
}
//
// Delete reports
//
else
{
if (isset($_POST['confirm']))
{
reports_delete($reports);
meta_refresh('report.php', 3);
$message = ($single_report) ? 'REPORT_DELETED' : 'REPORTS_DELETED';
bb_die($lang[$message] . $return_links['list'] . $return_links['index']);
}
print_confirmation(array(
'CONFIRM_TITLE' => ($single_report) ? $lang['DELETE_REPORT'] : $lang['DELETE_REPORTS'],
'QUESTION' => ($single_report) ? $lang['DELETE_REPORT_EXPLAIN'] : $lang['DELETE_REPORTS_EXPLAIN'],
'FORM_ACTION' => "report.php",
'HIDDEN_FIELDS' => $hidden_fields,
));
}
break;
case 'reported':
$cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : 0;
$report_subject_id = (isset($_GET['id'])) ? (int) $_GET['id'] : 0;
if (empty($cat) || empty($report_subject_id) || !isset($report_modules[$cat]))
{
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']);
}
$report_module =& $report_modules[$cat];
$reports = reports_open_obtain($cat, $report_subject_id);
//
// No open reports for the subject, sync report module
//
if (empty($reports))
{
if (method_exists($report_module, 'sync'))
{
$report_module->sync();
}
bb_die($lang['NO_REPORTS_FOUND'] . $report_module->return_link($report_subject_id) . $return_links['index']);
}
//
// Redirect to the open report
//
else if (count($reports) == 1)
{
$redirect_url = "report.php?" . POST_REPORT_URL . '=' . $reports[0]['report_id'];
redirect($redirect_url);
}
$page_title = $lang['OPEN_REPORTS'];
include(PAGE_HEADER);
$template->set_filenames(array(
'body' => 'report_open_body.tpl',
));
$template->assign_vars(array(
'S_REPORT_ACTION', "report.php",
'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED],
'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS],
'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN],
));
//
// Show list with open reports
//
foreach ($reports as $report)
{
$template->assign_block_vars('open_reports', array(
'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'],
'ID' => $report['report_id'],
'TITLE' => $report['report_title'],
'AUTHOR' => profile_url($report),
'TIME' => bb_date($report['report_time']),
));
}
$template->pparse('body');
include(PAGE_FOOTER);
break;
case '':
$page_title = $lang['REPORTS'];
include(PAGE_HEADER);
$template->set_filenames(array(
'body' => 'report_list_body.tpl')
);
$template->assign_vars(array(
'S_REPORT_ACTION' => "report.php",
'U_REPORT_INDEX' => "report.php",
'L_STATUS_CLEARED' => $lang['REPORT_STATUS'][REPORT_CLEARED],
'L_STATUS_IN_PROCESS' => $lang['REPORT_STATUS'][REPORT_IN_PROCESS],
'L_STATUS_OPEN' => $lang['REPORT_STATUS'][REPORT_OPEN],
));
$cat = (isset($_GET[POST_CAT_URL])) ? (int) $_GET[POST_CAT_URL] : null;
$cat_url = (!empty($cat)) ? '&amp;' . POST_CAT_URL . "=$cat" : '';
$show_delete_option = false;
//
// Show report list
//
$reports = reports_obtain($cat);
foreach (array_keys($report_modules) as $report_module_id)
{
$report_module =& $report_modules[$report_module_id];
//
// Check module authorisation
//
if (!$report_module->auth_check('auth_view'))
{
continue;
}
$template->assign_block_vars('report_modules', array(
'U_SHOW' => "report.php?" . POST_CAT_URL . '=' . $report_module->id,
'TITLE' => $report_module->lang['REPORT_LIST_TITLE'],
));
//
// No reports in this category, display no reports message
//
if (!isset($reports[$report_module->id]))
{
if (empty($cat) || $cat == $report_module->id)
{
$template->assign_block_vars('report_modules.no_reports', array());
}
continue;
}
//
// Check if deletions are allowed
//
if ($report_module->auth_check('auth_delete_view'))
{
$show_delete_option = true;
}
//
// Show reports
//
foreach ($reports[$report_module->id] as $report)
{
$template->assign_block_vars('report_modules.reports', array(
'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url,
'ROW_CLASS' => $report_status_classes[$report['report_status']],
'ID' => $report['report_id'],
'TITLE' => (strlen($report['report_title'] > 53)) ? substr($report['report_title'], 0, 50) . '...' : $report['report_title'],
'AUTHOR' => profile_url($report),
'TIME' => bb_date($report['report_time']),
'STATUS' => $lang['REPORT_STATUS'][$report['report_status']],
));
if (isset($_GET[POST_REPORT_URL]) && $_GET[POST_REPORT_URL] == $report['report_id'])
{
$template->assign_block_vars('report_modules.reports.switch_current', array());
}
}
}
if ($show_delete_option)
{
$template->assign_block_vars('switch_global_delete_option', array());
}
//
// Show information for one report
//
if (isset($_GET[POST_REPORT_URL]))
{
$template->set_filenames(array(
'report_view' => 'report_view_body.tpl')
);
if (!$report = report_obtain((int) $_GET[POST_REPORT_URL]))
{
bb_die($lang['REPORT_NOT_EXISTS'] . $return_links['list'] . $return_links['index']);
}
if ($report['report_status'] == REPORT_NEW)
{
reports_update_status($report['report_id'], REPORT_OPEN, '', false, true, false);
$report['report_status'] = REPORT_OPEN;
}
//
// Show report subject (with or without details, depending on the report module)
//
$report_module =& $report_modules[$report['report_module_id']];
if (method_exists($report_module, 'subject_details_obtain'))
{
if ($report_subject = $report_module->subject_details_obtain($report['report_subject']))
{
if (isset($report_subject['subject']) || isset($report_subject['details']))
{
$template->assign_block_vars('report_subject', array());
}
//
// Assign report subject
//
if (isset($report_subject['subject']))
{
$template->assign_block_vars('report_subject.switch_subject', array());
$template->assign_var('REPORT_SUBJECT', $report_subject['subject']);
if (method_exists($report_module, 'subject_url'))
{
$template->assign_block_vars('report_subject.switch_subject.switch_url', array());
$template->assign_vars(array(
'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '',
'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']),
));
}
}
//
// Assign report subject details
//
if (isset($report_subject['details']))
{
foreach ($report_subject['details'] as $detail_title => $detail_value)
{
$template->assign_block_vars('report_subject.details', array(
'TITLE' => $report_module->lang[strtoupper($detail_title)],
'VALUE' => $detail_value,
));
}
}
}
else
{
$template->assign_block_vars('switch_report_subject_deleted', array());
$template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']);
}
}
else if (method_exists($report_module, 'subject_obtain'))
{
if ($report_subject = $report_module->subject_obtain($report['report_subject']))
{
//
// Assign report subject
//
$template->assign_block_vars('report_subject', array());
$template->assign_block_vars('report_subject.switch_subject', array());
$template->assign_var('REPORT_SUBJECT', $report_subject);
if (method_exists($report_module, 'subject_url'))
{
$template->assign_block_vars('report_subject.switch_subject.switch_url', array());
$template->assign_vars(array(
'S_REPORT_SUBJECT_TARGET' => ($bb_cfg['report_new_window']) ? ' target="_blank"' : '',
'U_REPORT_SUBJECT' => $report_module->subject_url($report['report_subject']),
));
}
}
else
{
$template->assign_block_vars('switch_report_subject_deleted', array());
$template->assign_var('L_REPORT_SUBJECT_DELETED', $report_module->lang['DELETED_ERROR']);
}
}
//
// Assign report reason
//
if (!empty($report['report_reason_desc']))
{
$template->assign_block_vars('switch_report_reason', array());
$template->assign_var('REPORT_REASON', $report['report_reason_desc']);
}
//
// Show report changes
//
if ($report_changes = report_changes_obtain($report['report_id']))
{
$template->assign_block_vars('switch_report_changes', array());
foreach ($report_changes as $report_change)
{
$report_change_user = profile_url($report_change);
$report_change_status = $lang['REPORT_STATUS'][$report_change['report_status']];
$report_change_time = bb_date($report_change['report_change_time']);
//
// Text that contains all information
//
if ($report_change['report_status'] == REPORT_DELETE)
{
$report_change_text = sprintf($lang['REPORT_CHANGE_DELETE_TEXT'], $report_change_user, $report_change_time);
}
else if ($report_change['report_change_comment'] != '')
{
$report_change_text = sprintf($lang['REPORT_CHANGE_TEXT_COMMENT'], $report_change_status, $report_change_user, $report_change_time, bbcode2html($report_change['report_change_comment']));
}
else
{
$report_change_text = sprintf($lang['REPORT_CHANGE_TEXT'], $report_change_status, $report_change_user, $report_change_time);
}
$template->assign_block_vars('switch_report_changes.report_changes', array(
'ROW_CLASS' => $report_status_classes[$report_change['report_status']],
'STATUS' => $report_change_status,
'USER' => $report_change_user,
'TIME' => $report_change_time,
'TEXT' => $report_change_text,
));
}
//
// Assign last change information
//
$template->assign_vars(array(
'REPORT_LAST_CHANGE_TIME' => $report_change_time,
'REPORT_LAST_CHANGE_USER' => profile_url($report_change),
));
}
//
// Check if deletions are allowed
//
if ($report_module->auth_check('auth_delete_view'))
{
$template->assign_block_vars('switch_delete_option', array());
}
$template->assign_vars(array(
'S_HIDDEN_FIELDS' => '<input type="hidden" name="' . POST_REPORT_URL . '" value="' . $report['report_id'] . '" />',
'U_REPORT_AUTHOR_PRIVMSG' => PM_URL . "?mode=post&amp;" . POST_USERS_URL . '=' . $report['user_id'],
'REPORT_TYPE' => $report_module->lang['REPORT_TYPE'],
'REPORT_TITLE' => $report['report_title'],
'REPORT_AUTHOR' => profile_url($report),
'REPORT_TIME' => bb_date($report['report_time']),
'REPORT_DESC' => bbcode2html($report['report_desc']),
'REPORT_STATUS' => $lang['REPORT_STATUS'][$report['report_status']],
'REPORT_STATUS_CLASS' => $report_status_classes[$report['report_status']],
));
}
//
// Show report index page
//
else
{
$template->set_filenames(array(
'report_view' => 'report_index_body.tpl')
);
$statistics = array(
'Report_count' => 'report_count',
'Report_modules_count' => 'modules_count',
'Report_hack_count' => 'report_hack_count');
foreach ($statistics as $stat_lang => $stat_mode)
{
$template->assign_block_vars('report_statistics', array(
'STATISTIC' => $lang[strtoupper($stat_lang)],
'VALUE' => report_statistics($stat_mode),
));
}
$deleted_reports = reports_deleted_obtain();
if (!empty($deleted_reports))
{
$template->assign_block_vars('switch_deleted_reports', array());
foreach ($deleted_reports as $report)
{
$report_module =& $report_modules[$report['report_module_id']];
$template->assign_block_vars('switch_deleted_reports.deleted_reports', array(
'U_SHOW' => "report.php?" . POST_REPORT_URL . '=' . $report['report_id'] . $cat_url,
'ID' => $report['report_id'],
'TITLE' => $report['report_title'],
'TYPE' => $report_module->lang['REPORT_TYPE'],
'AUTHOR' => profile_url($report),
'TIME' => bb_date($report['report_time']),
'STATUS' => $lang['REPORT_STATUS'][REPORT_DELETE],
));
}
}
}
$template->assign_var_from_handle('REPORT_VIEW', 'report_view');
$template->pparse('body');
include(PAGE_FOOTER);
break;
default:
bb_die($lang['REPORT_NOT_SUPPORTED'] . $return_links['index']);
break;
}
}

View file

@ -164,13 +164,6 @@
<tr>
<th colspan="2">{L_CONFIG_MODS}</th>
</tr>
<tr>
<td><h4>{L_REPORT_MODULE}</h4></td>
<td>
<label><input type="radio" name="reports_enabled" value="1" <!-- IF REPORTS_ENABLED -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>&nbsp;&nbsp;
<label><input type="radio" name="reports_enabled" value="0" <!-- IF not REPORTS_ENABLED -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
</td>
</tr>
<tr>
<td><h4>{L_MAGNET}</h4></td>
<td>

View file

@ -1,96 +0,0 @@
<h1>{L_CONFIGURATION}</h1>
<p>{L_REPORT_CONFIG_EXPLAIN}</p>
<br />
<a href="admin_reports.php?mode=config" class="bold">{L_CONFIGURATION}</a> &#0183;
<a href="admin_reports.php">{L_MODULES_REASONS}</a>
<br /><br />
<form action="{S_REPORT_ACTION}" method="post">
<table width="99%" cellpadding="4" cellspacing="1" border="0" align="center" class="forumline">
<tr>
<th colspan="2">&nbsp;</th>
</tr>
<tr>
<td class="row1" width="60%">
<span class="gen">{L_REPORT_SUBJECT_AUTH}:</span><br />
<span class="gensmall">{L_REPORT_SUBJECT_AUTH_EXPLAIN}</span>
</td>
<td class="row2">
<label for="report_subject_auth_1">
<input type="radio" name="bb_cfg[report_subject_auth]" id="report_subject_auth_1" value="1"{REPORT_SUBJECT_AUTH_ON} />{L_ENABLED}
</label>
&nbsp;
<label for="report_subject_auth_0">
<input type="radio" name="bb_cfg[report_subject_auth]" id="report_subject_auth_0" value="0"{REPORT_SUBJECT_AUTH_OFF} />{L_DISABLED}
</label>
</td>
</tr>
<tr>
<td class="row1">
<span class="gen">{L_REPORT_MODULES_CACHE}:</span><br />
<span class="gensmall">{L_REPORT_MODULES_CACHE_EXPLAIN}</span>
</td>
<td class="row2">
<label for="report_modules_cache_1">
<input type="radio" name="bb_cfg[report_modules_cache]" id="report_modules_cache_1" value="1"{REPORT_MODULES_CACHE_ON} />{L_YES}
</label>
&nbsp;
<label for="report_modules_cache_0">
<input type="radio" name="bb_cfg[report_modules_cache]" id="report_modules_cache_0" value="0"{REPORT_MODULES_CACHE_OFF} />{L_NO}
</label>
</td>
</tr>
<tr>
<td class="row1" valign="top"><span class="gen">{L_REPORT_NOTIFY}:</span></td>
<td class="row2">
<label for="report_notify_2">
<input type="radio" name="bb_cfg[report_notify]" id="report_notify_2" value="2"{REPORT_NOTIFY_CHANGE} />{L_REPORT_NOTIFY_CHANGE}
</label>
<br />
<label for="report_notify_1">
<input type="radio" name="bb_cfg[report_notify]" id="report_notify_1" value="1"{REPORT_NOTIFY_NEW} />{L_REPORT_NOTIFY_NEW}
</label>
<br />
<label for="report_notify_0">
<input type="radio" name="bb_cfg[report_notify]" id="report_notify_0" value="0"{REPORT_NOTIFY_OFF} />{L_DISABLED}
</label>
</td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_REPORT_LIST_ADMIN}:</span></td>
<td class="row2">
<label for="report_list_admin_1">
<input type="radio" name="bb_cfg[report_list_admin]" id="report_list_admin_1" value="1"{REPORT_LIST_ADMIN_ON} />{L_YES}
</label>
&nbsp;
<label for="report_list_admin_0">
<input type="radio" name="bb_cfg[report_list_admin]" id="report_list_admin_0" value="0"{REPORT_LIST_ADMIN_OFF} />{L_NO}
</label>
</td>
</tr>
<tr>
<td class="row1">
<span class="gen">{L_REPORT_NEW_WINDOW}:</span><br />
<span class="gensmall">{L_REPORT_NEW_WINDOW_EXPLAIN}</span>
</td>
<td class="row2">
<label for="report_new_window_1">
<input type="radio" name="bb_cfg[report_new_window]" id="report_new_window_1" value="1"{REPORT_NEW_WINDOW_ON} />{L_YES}
</label>
&nbsp;
<label for="report_new_window_0">
<input type="radio" name="bb_cfg[report_new_window]" id="report_new_window_0" value="0"{REPORT_NEW_WINDOW_OFF} />{L_NO}
</label>
</td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
{S_HIDDEN_FIELDS}
<input type="submit" name="submit" class="mainoption" value="{L_SUBMIT}" />
<input type="reset" class="liteoption" value="{L_RESET}" />
</td>
</tr>
</table>
</form>

View file

@ -1,96 +0,0 @@
<form action="{S_REPORT_ACTION}" method="post">
<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center">
<tr>
<th class="thHead" colspan="2">{L_EDIT_REPORT_MODULE}</th>
</tr>
<tr>
<td class="row1" width="40%" valign="top"><span class="gen">{L_REPORT_MODULE}:</span></td>
<td class="row2">
<span class="gen">{MODULE_TITLE}</span><br />
<span class="gensmall">{MODULE_EXPLAIN}</span>
</td>
</tr>
<tr>
<td class="row1"><span class="gen">{L_REPORT_NOTIFY}:</span></td>
<td class="row2">
<label for="report_module_notify_1">
<input type="radio" name="report_module_notify" id="report_module_notify_1" value="1"{MODULE_NOTIFY_ON} />{L_ENABLED}
</label>
&nbsp;
<label for="report_module_notify_0">
<input type="radio" name="report_module_notify" id="report_module_notify_0" value="0"{MODULE_NOTIFY_OFF} />{L_DISABLED}
</label>
</td>
</tr>
<tr>
<td class="row1">
<label for="report_module_prune" class="gen">{L_REPORT_PRUNE}</label>:<br />
<span class="gensmall">{L_REPORT_PRUNE_EXPLAIN}</span>
</td>
<td class="row2">
<input type="text" class="post" name="report_module_prune" id="report_module_prune" size="3" maxlength="3" value="{MODULE_PRUNE}" />
{L_DAYS}
</td>
</tr>
<tr>
<th class="thSides" colspan="2">{L_REPORT_PERMISSIONS}</th>
</tr>
<tr>
<td class="row1">
<label for="auth_write" class="gen">{L_WRITE}</label>:
</td>
<td class="row2">
<select name="auth_write" id="auth_write">
<!-- BEGIN auth_write -->
<option value="{auth_write.VALUE}"{auth_write.SELECTED}>{auth_write.TITLE}</option>
<!-- END auth_write -->
</select>
</td>
</tr>
<tr>
<td class="row1">
<label for="auth_view" class="gen">{L_VIEW}</label>:
</td>
<td class="row2">
<select name="auth_view" id="auth_view">
<!-- BEGIN auth_view -->
<option value="{auth_view.VALUE}"{auth_view.SELECTED}>{auth_view.TITLE}</option>
<!-- END auth_view -->
</select>
</td>
</tr>
<tr>
<td class="row1">
<label for="auth_notify" class="gen">{L_REPORT_NOTIFY}</label>:<br />
<span class="gensmall">{L_REPORT_AUTH_NOTIFY_EXPLAIN}</span>
</td>
<td class="row2">
<select name="auth_notify" id="auth_notify">
<!-- BEGIN auth_notify -->
<option value="{auth_notify.VALUE}"{auth_notify.SELECTED}>{auth_notify.TITLE}</option>
<!-- END auth_notify -->
</select>
</td>
</tr>
<tr>
<td class="row1">
<label for="auth_delete" class="gen">{L_DELETE}</label>:<br />
<span class="gensmall">{L_REPORT_AUTH_DELETE_EXPLAIN}</span>
</td>
<td class="row2">
<select name="auth_delete" id="auth_delete">
<!-- BEGIN auth_delete -->
<option value="{auth_delete.VALUE}"{auth_delete.SELECTED}>{auth_delete.TITLE}</option>
<!-- END auth_delete -->
</select>
</td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
{S_HIDDEN_FIELDS}
<input type="submit" name="submit" class="mainoption" value="{L_SUBMIT}" />
<input type="submit" name="cancel" class="liteoption" value="{L_CANCEL}" />
</td>
</tr>
</table>
</form>

View file

@ -1,30 +0,0 @@
<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline">
<tr>
<th class="thCornerL" width="60%">{L_REPORT_REASON}</th>
<th class="thCornerR">{L_ACTION}</th>
</tr>
<!-- BEGIN report_reasons -->
<tr>
<td class="row1"><span class="gen">{report_reasons.DESC}</span></td>
<td class="row1" align="center"><span class="genmed">
<a href="{report_reasons.U_EDIT}" class="genmed">{L_EDIT}</a> |
<a href="{report_reasons.U_MOVE_UP}" class="genmed">{L_MOVE_UP}</a> |
<a href="{report_reasons.U_MOVE_DOWN}" class="genmed">{L_MOVE_DOWN}</a> |
<a href="{report_reasons.U_DELETE}" class="genmed">{L_DELETE}</a>
</span></td>
</tr>
<!-- END report_reasons -->
<!-- BEGIN switch_no_reasons -->
<tr>
<td class="row1" colspan="2" align="center" style="padding: 5px"><span class="genmed">{L_NO_REASONS}</span></td>
</tr>
<!-- END switch_no_reasons -->
<tr>
<td class="catBottom" colspan="2" align="center"><span class="gen">
<a href="{U_ADD_REASON}" class="gen">{L_ADD_REASON}</a> |
<a href="{U_MODULES}" class="gen">{L_BACK_MODULES}</a>
</span></td>
</tr>
</table>
<br />

View file

@ -1,70 +0,0 @@
<h1>{L_MODULES_REASONS}</h1>
<p>{L_REPORT_ADMIN_EXPLAIN}</p>
<br />
<a href="admin_reports.php?mode=config">{L_CONFIGURATION}</a> &#0183;
<a href="admin_reports.php" class="bold">{L_MODULES_REASONS}</a>
<br /><br />
<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline">
<tr>
<th class="thCornerL" width="50%">{L_REPORT_MODULE}</th>
<th class="thTop">{L_REPORTS}</th>
<th class="thCornerR" width="50%">{L_ACTION}</th>
</tr>
<!-- BEGIN installed_modules -->
<tr class="row3 med">
<td colspan="3" class="catTitle">{L_INSTALLED_MODULES}</td>
</tr>
<!-- BEGIN modules -->
<tr>
<td class="row1">
<span class="gen">{installed_modules.modules.MODULE_TITLE}</span><br />
<span class="gensmall">{installed_modules.modules.MODULE_EXPLAIN}</span>
</td>
<td class="row1" align="center"><span class="genmed">{installed_modules.modules.REPORT_COUNT}</span></td>
<td class="row1" align="center"><span class="genmed">
<a href="{installed_modules.modules.U_EDIT}" class="genmed">{L_EDIT}</a> |
<a href="{installed_modules.modules.U_REASONS}" class="genmed">{installed_modules.modules.L_REASONS}</a> |
<!-- BEGIN switch_sync -->
<a href="{installed_modules.modules.U_SYNC}" class="genmed">{L_SYNC}</a> |
<!-- END switch_sync -->
<a href="{installed_modules.modules.U_MOVE_UP}" class="genmed">{L_MOVE_UP}</a> |
<a href="{installed_modules.modules.U_MOVE_DOWN}" class="genmed">{L_MOVE_DOWN}</a> |
<a href="{installed_modules.modules.U_UNINSTALL}" class="genmed">{L_UNINSTALL}</a>
</span></td>
</tr>
<!-- END modules -->
<!-- BEGIN switch_no_modules -->
<tr>
<td class="row1" colspan="3" align="center" style="padding: 5px"><span class="genmed">{L_NO_MODULES_INSTALLED}</span></td>
</tr>
<!-- END switch_no_modules -->
<!-- END installed_modules -->
<!-- BEGIN inactive_modules -->
<tr class="row3 med">
<td colspan="3" class="catTitle">{L_INACTIVE_MODULES}</td>
</tr>
<!-- BEGIN modules -->
<tr>
<td class="row1">
<span class="gen">{inactive_modules.modules.MODULE_TITLE}</span><br />
<span class="gensmall">{inactive_modules.modules.MODULE_EXPLAIN}</span>
</td>
<td class="row1" align="center"><span class="genmed">{inactive_modules.modules.REPORT_COUNT}</span></td>
<td class="row1" align="center"><span class="genmed">
<a href="{inactive_modules.modules.U_INSTALL}" class="genmed">{L_INSTALL2}</a>
</span></td>
</tr>
<!-- END modules -->
<!-- BEGIN switch_no_modules -->
<tr>
<td class="row1" colspan="3" align="center" style="padding: 5px"><span class="genmed">{L_NO_MODULES_INACTIVE}</span></td>
</tr>
<!-- END switch_no_modules -->
<!-- END inactive_modules -->
</table>
<br />

View file

@ -1,36 +0,0 @@
<form action="{S_REPORT_ACTION}" method="post">
<!-- BEGIN switch_report_errors -->
<table cellpadding="4" cellspacing="1" border="0" width="100%" align="center" class="forumline">
<tr>
<td class="row1" align="center"><span class="gen">
<!-- BEGIN report_errors -->
{switch_report_errors.report_errors.MESSAGE}<br />
<!-- END report_errors -->
</span></td>
</tr>
</table>
<br />
<!-- END switch_report_errors -->
<table width="100%" cellpadding="4" cellspacing="1" border="0" class="forumline" align="center">
<tr>
<th class="thHead" colspan="2">{L_ADD_REASON}</th>
</tr>
<tr>
<td class="row1" width="40%">
<label for="report_reason_desc" class="gen">{L_FORUM_DESC}</label>:<br />
<span class="gensmall">{L_REASON_DESC_EXPLAIN}</span>
</td>
<td class="row2">
<input type="text" class="post" name="report_reason_desc" id="report_reason_desc" size="50" maxlength="255" style="width: 100%" value="{REASON_DESC}" />
</td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
{S_HIDDEN_FIELDS}
<input type="submit" name="submit" class="mainoption" value="{L_SUBMIT}" />
<input type="submit" name="cancel" class="liteoption" value="{L_CANCEL}" />
</td>
</tr>
</table>
</form>

View file

@ -40,7 +40,6 @@
* Page footer
* Menus
* Misc
* Reports
* Shortcuts
* YouTube Panel
*/
@ -1078,69 +1077,6 @@ pre, .pre {
.warningBox1 { border: 1px solid #A52A2A; color: #993300; padding: 12px; }
.warningBox2 { color: #993300 !important; background: #FFD9B2; border: 2px solid #CC6600; padding: 8px; }
/* ================================================================ *
Reports
* ================================================================ */
/* Color pixel */
div.report_pixel {
height: 1em;
width: 1em;
float: left;
margin-right: 3px
}
/* Report list colors */
td.report_cleared, div.report_cleared {
background-color: #7ce380;
}
td.report_process, div.report_process {
background-color: #ffc267;
}
td.report_open, div.report_open {
background-color: #f2a0a7;
}
td.report_new, div.report_new {
background-color: #f88085;
}
td.report_delete, div.report_delete {
background-color: #9eabb2;
}
/* Report mode select */
select.report_mode option {
margin: 1px 0
}
select.report_mode optgroup {
background-color: #FFF;
color: #000;
font-style: normal;
font-weight: bold;
margin-left: 3px
}
select.report_mode optgroup option {
border-left: 1.3em solid;
padding-left: 2px;
margin-left: 1px;
}
select.report_mode option.report_cleared {
border-color: #1e6731
}
select.report_mode option.report_process {
border-color: #e6721b
}
select.report_mode option.report_open {
border-color: #8b201d
}
/* ================================================================ *
Shortcuts
* ================================================================ */

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

View file

@ -254,13 +254,6 @@ if ( (typeof(window.opera) != "undefined" && window.opera.version() < 12) || (wi
<a href="{U_MEMBERLIST}"><b>{L_MEMBERLIST}</b></a>
</td>
<td class="nowrap" align="right">
<!-- BEGIN switch_report_list -->
<a href="{U_REPORT_LIST}" class="mainmenu">{REPORT_LIST}</a> &#0183;
<!-- END switch_report_list -->
<!-- BEGIN switch_report_list_new -->
<strong><a href="{U_REPORT_LIST}" class="mainmenu">{REPORT_LIST} &#0183; </a></strong>
<!-- END switch_report_list_new -->
<!-- IF LOGGED_IN -->
<!-- IF HAVE_NEW_PM || HAVE_UNREAD_PM -->
<a href="{U_READ_PM}" class="new-pm-link"><b>{L_PRIVATE_MESSAGES}: {PM_INFO}</b></a>
@ -325,9 +318,6 @@ $(document).ready(function() {
</div>
</td>
<td width="50%" class="tRight">
<!-- BEGIN switch_report_general -->
<a href="{U_WRITE_REPORT}">{L_WRITE_REPORT}</a> &#0183;
<!-- END switch_report_general -->
<a href="{U_OPTIONS}"><b>{L_OPTIONS}</b></a> &#0183;
<a href="{U_CUR_DOWNLOADS}">{L_PROFILE}</a> <a href="#dls-menu" class="menu-root menu-alt1">&#9660;</a>
</td>

View file

@ -49,7 +49,7 @@
<tr>
<td colspan="2" class="row1 gen pad_4">
<div class="post_wrap"><div class="post_body">{PM_MESSAGE}</div></div>
<div class="clearB tRight">{QUOTE_PM_IMG} {EDIT_PM_IMG} {REPORT_PM_IMG}</div>
<div class="clearB tRight">{QUOTE_PM_IMG} {EDIT_PM_IMG}</div>
</td>
</tr>
<tr>

View file

@ -1,29 +0,0 @@
<table cellspacing="2" cellpadding="2" border="0" width="100%">
<tr>
<td class="nav"><a href="{U_INDEX}" class="nav">{T_INDEX}</a></td>
</tr>
</table>
<form action="{S_CONFIRM_ACTION}" method="post" style="margin: 0">
<table cellspacing="1" cellpadding="4" border="0" width="100%" class="forumline">
<tr>
<th class="thHead" colspan="2">{MESSAGE_TITLE}</th>
</tr>
<tr>
<td class="row1" colspan="2" align="center" style="padding: 10px"><span class="gen">{MESSAGE_TEXT}</span></td>
</tr>
<tr>
<td class="row2" width="25%" valign="top"><span class="gen">{L_COMMENT}:</span></td>
<td class="row2">
<textarea name="comment" rows="5" cols="80" style="width: 100%"></textarea>
</td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
{S_HIDDEN_FIELDS}
<input type="submit" class="mainoption" name="confirm" value="{L_SUBMIT}" />
<input type="submit" class="liteoption" name="cancel" value="{L_CANCEL}" />
</td>
</tr>
</table>
</form>

View file

@ -1,72 +0,0 @@
<form action="{S_REPORT_ACTION}" method="post">
<table cellpadding="2" cellspacing="2" border="0" width="100%" align="center">
<tr>
<td class="nav"><a href="{U_INDEX}" class="nav">{T_INDEX}</a></td>
</tr>
</table>
<!-- BEGIN switch_report_errors -->
<table cellpadding="4" cellspacing="1" border="0" width="80%" align="center" class="forumline">
<tr>
<td class="row1" align="center"><span class="gen">
<!-- BEGIN report_errors -->
{switch_report_errors.report_errors.MESSAGE}<br />
<!-- END report_errors -->
</span></td>
</tr>
</table>
<br />
<!-- END switch_report_errors -->
<table cellpadding="4" cellspacing="1" border="0" width="80%" align="center" class="forumline">
<tr>
<th class="thHead" colspan="2">{L_WRITE_REPORT}</th>
</tr>
<tr>
<td class="row3" colspan="2"><span class="gen">{L_WRITE_REPORT_EXPLAIN}</span></td>
</tr>
<!-- BEGIN switch_report_subject -->
<tr>
<td class="row1" width="25%"><span class="genmed">{L_REPORT_SUBJECT}:</span></td>
<td class="row2"><span class="genmed">
<!-- BEGIN switch_url -->
<a href="{U_REPORT_SUBJECT}" class="genmed">
<!-- END switch_url -->
{REPORT_SUBJECT}
<!-- BEGIN switch_url -->
</a>
<!-- END switch_url -->
</span></td>
</tr>
<!-- END switch_report_subject -->
<!-- BEGIN switch_report_reasons -->
<tr>
<td class="row1" width="25%"><label for="reasons" class="genmed">{L_REASON}:</label></td>
<td class="row2">
<select name="reason" id="reasons">
<!-- BEGIN report_reasons -->
<option value="{switch_report_reasons.report_reasons.ID}"{switch_report_reasons.report_reasons.CHECKED}>{switch_report_reasons.report_reasons.DESC}</option>
<!-- END report_reasons -->
</select>
</td>
</tr>
<!-- END switch_report_reasons -->
<!-- BEGIN switch_report_title -->
<tr>
<td class="row1" width="25%"><label for="title" class="genmed">{L_POST_SUBJECT}:</label></td>
<td class="row2"><input type="text" class="post" name="title" id="title" size="50" maxlength="255" style="width: 100%" value="{REPORT_TITLE}" /></td>
</tr>
<!-- END switch_report_title -->
<tr>
<td class="row1" width="25%" valign="top"><label for="message" class="genmed">{L_MESSAGE}:</label></td>
<td class="row2"><textarea class="post" name="message" id="message" rows="6" cols="70" style="width: 100%">{REPORT_DESC}</textarea></td>
</tr>
<tr>
<td class="catBottom" colspan="2" align="center">
<input type="submit" name="submit" class="mainoption" value="{L_SUBMIT}" />
<input type="submit" name="cancel" class="liteoption" value="{L_CANCEL}" />
</td>
</tr>
</table>
{S_HIDDEN_FIELDS}
</form>

View file

@ -1,78 +0,0 @@
<table cellspacing="1" cellpadding="4" border="0" width="100%" class="forumline">
<tr>
<th class="thHead">{L_REPORT_INDEX}</th>
</tr>
<tr>
<td class="row1" style="padding: 10px">
<span class="maintitle">{L_STATISTICS}:</span><br /><br />
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="forumline">
<tr>
<th class="thCornerL" width="50%">{L_STATISTIC}</th>
<th class="thCornerR">{L_VALUE}</th>
</tr>
<!-- BEGIN report_statistics -->
<tr>
<td class="row1"><span class="gen">{report_statistics.STATISTIC}:</span></td>
<td class="row1"><span class="gen">{report_statistics.VALUE}</span></td>
</tr>
<!-- END report_statistics -->
</table>
<br />
<!-- BEGIN switch_deleted_reports -->
<span class="maintitle">{L_DELETED_REPORTS}:</span><br /><br />
<form action="{S_REPORT_ACTION}" method="post" id="report_list_deleted" style="margin: 0">
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="forumline">
<tr>
<th class="thCornerL" colspan="2" width="70%">{L_REPORTS}</th>
<th class="thCornerR">{L_REPORT_TYPE}</th>
</tr>
<!-- BEGIN deleted_reports -->
<tr>
<td class="report_delete" nowrap="nowrap"><input type="checkbox" name="reports[]" value="{switch_deleted_reports.deleted_reports.ID}" /></td>
<td class="report_delete" width="70%">
<a href="{switch_deleted_reports.deleted_reports.U_SHOW}" class="gen">{switch_deleted_reports.deleted_reports.TITLE}</a><br />
<span class="gensmall">
{L_REPORT_BY} <a href="{switch_deleted_reports.deleted_reports.U_AUTHOR}" class="gensmall">{switch_deleted_reports.deleted_reports.AUTHOR}</a>
</span>
</td>
<td class="report_delete" align="center" width="30%"><span class="gen">{switch_deleted_reports.deleted_reports.TYPE}</span></td>
</tr>
<!-- END deleted_reports -->
<tr>
<td class="catBottom" colspan="3" align="center">
<select name="mode" class="report_mode" onchange="submit()">
<option value="" selected="selected">{L_ACTION}</option>
<option value="" disabled="disabled"></option>
<option value="delete">{L_DELETE}</option>
<optgroup label="{L_REPORT_MARK}">
<option value="clear" class="report_cleared">{L_STATUS_CLEARED}</option>
<option value="process" class="report_process">{L_STATUS_IN_PROCESS}</option>
<option value="open" class="report_open">{L_STATUS_OPEN}</option>
</optgroup>
</select>
<noscript>
<input type="submit" name="submit" class="liteoption" value="{L_SUBMIT}" />
</noscript>
</td>
</tr>
</table>
</form>
<table cellspacing="2" cellpadding="2" border="0" width="90%" align="center">
<tr>
<td class="gensmall">
<a href="javascript:checked_toggle('report_list_deleted',true)" class="gensmall">{L_MARK_ALL}</a> ::
<a href="javascript:checked_switch('report_list_deleted')" class="gensmall">{L_INVERT_SELECT}</a>
</td>
</tr>
</table>
<br />
<!-- END switch_deleted_reports -->
</td>
</tr>
<tr>
<td class="catBottom">
</td>
</tr>
</table>

View file

@ -1,115 +0,0 @@
<script type="text/javascript">
<!--
function checked_switch(form)
{
var elements = document.forms[form].elements['reports[]'];
var count = elements.length;
if (count)
{
for (var i = 0; i < count; i++)
{
elements[i].checked = (elements[i].checked) ? false : true;
}
}
else
{
elements.checked = (elements.checked) ? false : true;
}
}
function checked_toggle(form, status)
{
var elements = document.forms[form].elements['reports[]'];
var count = elements.length;
if (count)
{
for (var i = 0; i < count; i++)
{
elements[i].checked = status;
}
}
else
{
elements.checked = status;
}
}
-->
</script>
<table cellspacing="2" cellpadding="2" border="0" width="100%">
<tr>
<td class="nav"><a href="{U_INDEX}" class="nav">{T_INDEX}</a></td>
</tr>
</table>
<table cellspacing="2" cellpadding="0" border="0" width="100%">
<tr>
<td width="250" valign="top" style="padding-right: 10px">
<form action="{S_REPORT_ACTION}" method="post" id="report_list" style="margin-bottom: 2px">
<table cellspacing="1" cellpadding="4" border="0" width="100%" class="forumline">
<tr>
<th class="thHead" colspan="2">{L_REPORTS}</th>
</tr>
<tr>
<td class="row3" colspan="2"><a href="{U_REPORT_INDEX}" class="cattitle">{L_REPORT_INDEX}</a></td>
</tr>
<!-- BEGIN report_modules -->
<tr>
<td class="row3" colspan="2"><a href="{report_modules.U_SHOW}" class="cattitle">{report_modules.TITLE}</a></td>
</tr>
<!-- BEGIN reports -->
<tr>
<td class="{report_modules.reports.ROW_CLASS}" width="1" nowrap="nowrap"><input type="checkbox" name="reports[]" value="{report_modules.reports.ID}" /></td>
<td class="{report_modules.reports.ROW_CLASS}">
<!-- BEGIN switch_current -->
<strong>
<!-- END switch_current -->
<a href="{report_modules.reports.U_SHOW}" class="gen">{report_modules.reports.TITLE}</a><br />
<!-- BEGIN switch_current -->
</strong>
<!-- END switch_current -->
<span class="gensmall">
{L_REPORT_BY} {report_modules.reports.AUTHOR}
</span>
</td>
</tr>
<!-- END reports -->
<!-- BEGIN no_reports -->
<tr>
<td class="row1" colspan="2"><span class="genmed">{L_NO_REPORTS}</span></td>
</tr>
<!-- END no_reports -->
<!-- END report_modules -->
<tr>
<td class="catBottom" align="center" colspan="2">
<select name="mode" class="report_mode" onchange="submit()">
<option value="" selected="selected">{L_ACTION}</option>
<option value="" disabled="disabled"></option>
<!-- BEGIN switch_global_delete_option -->
<option value="delete">{L_DELETE}</option>
<!-- END switch_global_delete_option -->
<optgroup label="{L_REPORT_MARK}">
<option value="clear" class="report_cleared">{L_STATUS_CLEARED}</option>
<option value="process" class="report_process">{L_STATUS_IN_PROCESS}</option>
<option value="open" class="report_open">{L_STATUS_OPEN}</option>
</optgroup>
</select>
<noscript>
<input type="submit" name="submit" class="liteoption" value="{L_SUBMIT}" />
</noscript>
</td>
</tr>
</table>
</form>
<span class="gensmall">
<a href="javascript:checked_toggle('report_list',true)" class="gensmall">{L_MARK_ALL}</a> ::
<a href="javascript:checked_switch('report_list')" class="gensmall">{L_INVERT_SELECT}</a>
</span>
</td>
<td valign="top">
{REPORT_VIEW}
</td>
</tr>
</table>

View file

@ -1,90 +0,0 @@
<script type="text/javascript">
<!--
function checked_switch(form)
{
var elements = document.forms[form].elements['reports[]'];
var count = elements.length;
if (count)
{
for (var i = 0; i < count; i++)
{
elements[i].checked = (elements[i].checked) ? false : true;
}
}
else
{
elements.checked = (elements.checked) ? false : true;
}
}
function checked_toggle(form, status)
{
var elements = document.forms[form].elements['reports[]'];
var count = elements.length;
if (count)
{
for (var i = 0; i < count; i++)
{
elements[i].checked = status;
}
}
else
{
elements.checked = status;
}
}
-->
</script>
<table cellpadding="2" cellspacing="2" border="0" width="80%" align="center">
<tr>
<td class="nav"><a href="{U_INDEX}" class="nav">{L_HOME}</a></td>
</tr>
</table>
<form action="{S_REPORT_ACTION}" method="post" id="report_list_open" style="margin: 0">
<table cellspacing="1" cellpadding="4" border="0" width="80%" align="center" class="forumline">
<tr>
<th class="thCornerL" colspan="2" width="70%">{L_OPEN_REPORTS}</th>
</tr>
<!-- BEGIN open_reports -->
<tr>
<td class="{open_reports.ROW_CLASS}" nowrap="nowrap"><input type="checkbox" name="reports[]" value="{open_reports.ID}" /></td>
<td class="{open_reports.ROW_CLASS}" width="100%">
<a href="{open_reports.U_SHOW}" class="gen">{open_reports.TITLE}</a><br />
<span class="gensmall">
{L_REPORT_BY} <a href="{open_reports.U_AUTHOR}" class="gensmall">{open_reports.AUTHOR}</a>
</span>
</td>
</tr>
<!-- END open_reports -->
<tr>
<td class="catBottom" colspan="3" align="center">
<select name="mode" class="report_mode" onchange="submit()">
<option value="" selected="selected">{L_ACTION}</option>
<option value="" disabled="disabled"></option>
<option value="delete">{L_DELETE}</option>
<optgroup label="{L_REPORT_MARK}">
<option value="clear" class="report_cleared">{L_STATUS_CLEARED}</option>
<option value="process" class="report_process">{L_STATUS_IN_PROCESS}</option>
<option value="open" class="report_open">{L_STATUS_OPEN}</option>
</optgroup>
</select>
<noscript>
<input type="submit" name="submit" class="liteoption" value="{L_SUBMIT}" />
</noscript>
</td>
</tr>
</table>
</form>
<table cellspacing="2" cellpadding="2" border="0" width="80%" align="center">
<tr>
<td class="gensmall">
<a href="javascript:checked_toggle('report_list_open',true)" class="gensmall">{L_MARK_ALL}</a> ::
<a href="javascript:checked_switch('report_list_open')" class="gensmall">{L_INVERT_SELECT}</a>
</td>
</tr>
</table>

View file

@ -1,114 +0,0 @@
<table cellspacing="1" cellpadding="4" border="0" width="100%" class="forumline">
<tr>
<th class="thHead">{REPORT_TYPE}</th>
</tr>
<tr>
<td class="row1" style="padding: 10px">
<span class="maintitle">{REPORT_TITLE}</span><br /><br />
<!-- BEGIN switch_report_subject_deleted -->
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="bodyline">
<tr>
<td class="row2" align="center"><span class="gen">{L_REPORT_SUBJECT_DELETED}</span></td>
</tr>
</table>
<br />
<!-- END switch_report_subject_deleted -->
<!-- BEGIN report_subject -->
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="bodyline">
<!-- BEGIN switch_subject -->
<tr>
<td class="row2" valign="top" width="25%"><span class="gen">{L_REPORT_SUBJECT}:</span></td>
<td class="row2"><span class="gen">
<!-- BEGIN switch_url -->
<a href="{U_REPORT_SUBJECT}" class="gen"{S_REPORT_SUBJECT_TARGET}>
<!-- END switch_url -->
{REPORT_SUBJECT}
<!-- BEGIN switch_url -->
</a>
<!-- END switch_url -->
</span></td>
</tr>
<!-- END switch_subject -->
<!-- BEGIN details -->
<tr>
<td class="row2" valign="top" width="25%"><span class="gen">{report_subject.details.TITLE}:</span></td>
<td class="row2"><span class="gen">{report_subject.details.VALUE}</span></td>
</tr>
<!-- END details -->
</table>
<br />
<!-- END report_subject -->
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="bodyline">
<tr>
<td class="row2" width="25%"><span class="genmed">{L_REPORTED_BY}:</span></td>
<td class="row2"><span class="genmed">
{REPORT_AUTHOR}&nbsp;
[ <a href="{U_REPORT_AUTHOR_PRIVMSG}" class="genmed">{L_SEND_PRIVATE_MESSAGE}</a> ]
</span></td>
</tr>
<tr>
<td class="row2"><span class="genmed">{L_REPORTED_TIME}:</span></td>
<td class="row2"><span class="genmed">{REPORT_TIME}</span></td>
</tr>
<!-- BEGIN switch_report_reason -->
<tr>
<td class="row2" valign="top"><span class="gen">{L_REASON}:</span></td>
<td class="row2"><span class="gen">{REPORT_REASON}</span></td>
</tr>
<!-- END switch_report_reason -->
<tr>
<td class="row2" valign="top"><span class="gen">{L_MESSAGE}:</span></td>
<td class="row2"><div class="post_wrap">{REPORT_DESC}</div></td>
</tr>
</table>
<br />
<table cellspacing="1" cellpadding="4" border="0" width="90%" align="center" class="bodyline">
<tr>
<td class="row2" width="25%"><span class="gen">{L_STATUS}:</span></td>
<td class="row2">
<div class="report_pixel {REPORT_STATUS_CLASS}"></div>
<span class="gen"><strong>{REPORT_STATUS}</strong></span>
</td>
</tr>
<!-- BEGIN switch_report_changes -->
<tr>
<td class="row2"><span class="genmed">{L_LAST_CHANGED_BY}:</span></td>
<td class="row2"><span class="genmed">
{REPORT_LAST_CHANGE_USER} ({REPORT_LAST_CHANGE_TIME})
</span></td>
</tr>
<!-- END switch_report_changes -->
</table>
<br />
</td>
</tr>
<!-- BEGIN switch_report_changes -->
<tr>
<td class="cat" align="center"><span class="cattitle">{L_CHANGES}</span></td>
</tr>
<!-- BEGIN report_changes -->
<tr>
<td class="{switch_report_changes.report_changes.ROW_CLASS}"><div class="med post_wrap">{switch_report_changes.report_changes.TEXT}</div></td>
</tr>
<!-- END report_changes -->
<!-- END switch_report_changes -->
<tr>
<td class="catBottom" align="center">
<form action="{S_REPORT_ACTION}" method="post" style="margin: 0">
<input type="submit" name="open" class="liteoption" value="{L_STATUS_OPEN}" />
<input type="submit" name="process" class="liteoption" value="{L_STATUS_IN_PROCESS}" />
<input type="submit" name="clear" class="liteoption" value="{L_STATUS_CLEARED}" />
<!-- BEGIN switch_delete_option -->
<input type="submit" name="delete" class="liteoption" value="{L_DELETE}" />
<!-- END switch_delete_option -->
{S_HIDDEN_FIELDS}
</form>
</td>
</tr>
</table>

View file

@ -105,13 +105,6 @@ $images['voting_graphic'][4] = $_main .'voting_bar.gif';
$images['progress_bar'] = $_main .'progress_bar.gif';
$images['progress_bar_full'] = $_main .'progress_bar_full.gif';
// Report
$images['icon_report'] = $_main .'icon_report.gif';
$images['icon_reported'] = $_main .'icon_reported.gif';
$images['topic_mod_report'] = $_main .'topic_report.gif';
$images['topic_mod_reported'] = $_main .'topic_reported.gif';
// Report [END]
// Vote graphic length defines the maximum length of a vote result graphic, ie. 100% = this length
$bb_cfg['vote_graphic_length'] = 205;
$bb_cfg['privmsg_graphic_length'] = 175;

View file

@ -487,9 +487,7 @@ ajax.callback.gen_passkey = function(data){
</tr>
</table>
<!--/user_details-->
<!-- IF IS_AM --><span id="ip_list"></span><!-- ENDIF -->
</td>
</tr>
<!-- IF SIGNATURE -->
@ -499,13 +497,6 @@ ajax.callback.gen_passkey = function(data){
</td>
</tr>
<!-- ENDIF -->
<!-- BEGIN switch_report_user -->
<tr>
<td class="catBottom" align="center" colspan="2"><a href="{U_REPORT_USER}" class="gen">{L_REPORT_USER}</a></td>
</tr>
<!-- END switch_report_user -->
</table>
<!--/user_profile-->

View file

@ -392,7 +392,6 @@ function build_poll_add_form (src_el)
<!-- IF postrow.EDIT --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="edit_post({postrow.POST_ID}, 'edit'); return false;<!-- ELSE -->{EDIT_POST_URL}{postrow.POST_ID}<!-- ENDIF -->">{EDIT_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.DELETE --><a class="txtb" href="<!-- IF $bb_cfg['use_ajax_posts'] -->" onclick="ajax.exec({ action: 'posts', post_id: {postrow.POST_ID}, topic_id : {TOPIC_ID}, type: 'delete'}); return false;<!-- ELSE -->{DELETE_POST_URL}{postrow.POST_ID}<!-- ENDIF -->">{DELETE_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.IP --><a class="txtb" href="{IP_POST_URL}{postrow.POST_ID}&amp;t={TOPIC_ID}">{IP_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF postrow.REPORT -->{postrow.REPORT}{POST_BTN_SPACER}<!-- ENDIF -->
<!-- IF AUTH_MOD -->
<a class="menu-root menu-alt1 txtb" href="#mc_{postrow.POST_ID}">{MC_IMG}</a>{POST_BTN_SPACER}
<!-- IF not IN_MODERATION --><a class="txtb" href="{PAGE_URL}&amp;mod=1&amp;start={PAGE_START}#{postrow.POST_ID}">{MOD_POST_IMG}</a>{POST_BTN_SPACER}<!-- ENDIF -->

View file

@ -484,34 +484,6 @@ elseif (($t_data['topic_poster'] == $userdata['user_id']) && $userdata['session_
$topic_mod .= "<a href=\"modcp.php?" . POST_TOPIC_URL . "=$topic_id&amp;mode=move&amp;sid=" . $userdata['session_id'] . '"><img src="' . $images['topic_mod_move'] . '" alt="' . $lang['MOVE_TOPIC'] . '" title="' . $lang['MOVE_TOPIC'] . '" border="0" /></a>&nbsp;';
}
// Get report topic module and create report link
require_once(INC_DIR ."functions_report.php");
$report_topic = report_modules('name', 'report_topic');
if ($report_topic && $report_topic->auth_check('auth_write'))
{
if ($forum_topic_data['topic_reported'])
{
$report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod'])));
if ($report_topic->auth_check('auth_view') && $is_auth)
{
$target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : '';
$s_report_topic ='&nbsp;<a href="' . ("report.php?mode=reported&amp;" . POST_CAT_URL . '=' . $report_topic->id . "&amp;id=$topic_id") . '"' . $target . '><img src="' . $images['topic_mod_reported'] . '" alt="' . $report_topic->lang['DUPLICATE_REPORT'] . '" title="' . $report_topic->lang['DUPLICATE_REPORT'] . '" border="0" /></a>&nbsp;';
}
else
{
$s_report_topic = '&nbsp;<img src="' . $images['topic_mod_reported'] . '" alt="' . $report_topic->lang['DUPLICATE_REPORT'] . '" title="' . $report_topic->lang['DUPLICATE_REPORT'] . '" border="0" />&nbsp;';
}
}
else
{
$s_report_topic = '&nbsp;<a href="' . ("report.php?mode=" . $report_topic->mode . "&amp;id=$topic_id") . '"><img src="' . $images['topic_mod_report'] . '" alt="' . $report_topic->lang['WRITE_REPORT'] . '" title="' . $report_topic->lang['WRITE_REPORT'] . '" border="0" /></a>&nbsp;';
}
$topic_mod .= $s_report_topic;
$template->assign_var('S_REPORT_TOPIC', $s_report_topic);
}
//
// Topic watch information
//
@ -670,10 +642,6 @@ if ($topic_has_poll)
$prev_post_time = $max_post_time = 0;
// Report
require_once(INC_DIR ."functions_report.php");
$report_post = report_modules('name', 'report_post');
$this_date = bb_date(TIMENOW ,'md', false);
for($i = 0; $i < $total_posts; $i++)
@ -779,37 +747,6 @@ for($i = 0; $i < $total_posts; $i++)
// Again this will be handled by the templating code at some point
$pg_row_class = !($i % 2) ? 'row2' : 'row1';
// Create report links
if ($report_post && $report_post->auth_check('auth_write'))
{
if ($postrow[$i]['post_reported'])
{
$report_auth = ($userdata['user_level'] == ADMIN || (!$bb_cfg['report_list_admin'] && (!$bb_cfg['report_subject_auth'] || $is_auth['auth_mod'])));
if ($report_post->auth_check('auth_view') && $report_auth)
{
$temp_url = "report.php?mode=reported&amp;" . POST_CAT_URL . '=' . $report_post->id . '&amp;id=' . $post_id;
$target = ($bb_cfg['report_new_window']) ? ' target="_blank"' : '';
$report_img = '<a href="' . $temp_url . '"' . $target . '><img src="' . $images['icon_reported'] . '" alt="' . $report_post->lang['DUPLICATE_REPORT'] . '" title="' . $report_post->lang['DUPLICATE_REPORT'] . '" border="0" /></a>';
$report = '<a href="' . $temp_url . '"' . $target . '>[' . $report_post->lang['DUPLICATE_REPORT'] . ']</a>';
}
else
{
$report_img = '<img src="' . $images['icon_reported'] . '" alt="' . $report_post->lang['DUPLICATE_REPORT'] . '" title="' . $report_post->lang['DUPLICATE_REPORT'] . '" border="0" />';
$report = '['. $report_post->lang['DUPLICATE_REPORT'] .']';
}
}
else
{
$temp_url = "report.php?mode=" . $report_post->mode . '&amp;id=' . $post_id;
$report_img = '<a href="' . $temp_url . '"><img src="' . $images['icon_report'] . '" alt="' . $report_post->lang['WRITE_REPORT'] . '" title="' . $report_post->lang['WRITE_REPORT'] . '" border="0" /></a>';
$report = '<a class="txtb" href="' . $temp_url . '">[' . $report_post->lang['WRITE_REPORT'] . ']</a>';
}
}
else
{
$report_img = $report = '';
}
// Mod comment
switch($mc_type)
{
@ -871,7 +808,6 @@ for($i = 0; $i < $total_posts; $i++)
'DELETE' => $delpost_btn,
'IP' => $ip_btn,
'REPORT' => ($bb_cfg['text_buttons']) ? $report : $report_img,
'POSTER_BIRTHDAY' => ($bb_cfg['birthday_enabled'] && $this_date == $poster_birthday) ? '<img src="'. $images['icon_birthday'] .'" alt="" title="'. $lang['HAPPY_BIRTHDAY'] .'" border="0" />' : '',
'MC_COMMENT' => ($mc_type) ? bbcode2html($mc_comment) : '',