mirror of
https://github.com/torrentpier/torrentpier
synced 2025-08-21 13:54:02 -07:00
Merge pull request #303 from Exile37/feature/develop-partial-merge
Bootstrap update & beginning of the develop branch partial merge
This commit is contained in:
commit
b06bb45700
111 changed files with 5433 additions and 2432 deletions
|
@ -179,7 +179,7 @@ if ($confirm && count($delete_id_list) > 0) {
|
|||
}
|
||||
|
||||
print_confirmation(array(
|
||||
'FORM_ACTION' => "admin_attach_cp.php",
|
||||
'FORM_ACTION' => 'admin_attach_cp.php',
|
||||
'HIDDEN_FIELDS' => $hidden_fields,
|
||||
));
|
||||
}
|
||||
|
@ -214,9 +214,9 @@ if ($submit_change && $view === 'attachments') {
|
|||
while ($attachrow = DB()->sql_fetchrow($result)) {
|
||||
if (isset($attachments['_' . $attachrow['attach_id']])) {
|
||||
if ($attachrow['comment'] != $attachments['_' . $attachrow['attach_id']]['comment'] || $attachrow['download_count'] != $attachments['_' . $attachrow['attach_id']]['download_count']) {
|
||||
$sql = "UPDATE " . BB_ATTACHMENTS_DESC . "
|
||||
SET comment = '" . attach_mod_sql_escape($attachments['_' . $attachrow['attach_id']]['comment']) . "', download_count = " . (int)$attachments['_' . $attachrow['attach_id']]['download_count'] . "
|
||||
WHERE attach_id = " . (int)$attachrow['attach_id'];
|
||||
$sql = 'UPDATE ' . BB_ATTACHMENTS_DESC . "
|
||||
SET comment = '" . attach_mod_sql_escape($attachments['_' . $attachrow['attach_id']]['comment']) . "', download_count = " . (int)$attachments['_' . $attachrow['attach_id']]['download_count'] . '
|
||||
WHERE attach_id = ' . (int)$attachrow['attach_id'];
|
||||
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not update attachments informations');
|
||||
|
@ -234,17 +234,17 @@ if ($view == 'stats') {
|
|||
$attachment_quota = humn_size($attach_config['attachment_quota']);
|
||||
|
||||
// number_of_attachments
|
||||
$row = DB()->fetch_row("SELECT COUNT(*) AS total FROM " . BB_ATTACHMENTS_DESC);
|
||||
$row = DB()->fetch_row('SELECT COUNT(*) AS total FROM ' . BB_ATTACHMENTS_DESC);
|
||||
$number_of_attachments = $number_of_posts = $row['total'];
|
||||
|
||||
$number_of_pms = 0;
|
||||
|
||||
// number_of_topics
|
||||
$row = DB()->fetch_row("SELECT COUNT(*) AS topics FROM " . BB_TOPICS . " WHERE topic_attachment = 1");
|
||||
$row = DB()->fetch_row('SELECT COUNT(*) AS topics FROM ' . BB_TOPICS . ' WHERE topic_attachment = 1');
|
||||
$number_of_topics = $row['topics'];
|
||||
|
||||
// number_of_users
|
||||
$row = DB()->fetch_row("SELECT COUNT(DISTINCT user_id_1) AS users FROM " . BB_ATTACHMENTS . " WHERE post_id != 0");
|
||||
$row = DB()->fetch_row('SELECT COUNT(DISTINCT user_id_1) AS users FROM ' . BB_ATTACHMENTS . ' WHERE post_id != 0');
|
||||
$number_of_users = $row['users'];
|
||||
|
||||
$template->assign_vars(array(
|
||||
|
@ -263,10 +263,10 @@ if ($view == 'stats') {
|
|||
if ($view === 'search') {
|
||||
// Get Forums and Categories
|
||||
//sf - add [, f.forum_parent]
|
||||
$sql = "SELECT c.cat_title, c.cat_id, f.forum_name, f.forum_id, f.forum_parent
|
||||
FROM " . BB_CATEGORIES . " c, " . BB_FORUMS . " f
|
||||
$sql = 'SELECT c.cat_title, c.cat_id, f.forum_name, f.forum_id, f.forum_parent
|
||||
FROM ' . BB_CATEGORIES . ' c, ' . BB_FORUMS . ' f
|
||||
WHERE f.cat_id = c.cat_id
|
||||
ORDER BY c.cat_id, f.forum_order";
|
||||
ORDER BY c.cat_id, f.forum_order';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not obtain forum_name / forum_id');
|
||||
|
@ -275,7 +275,7 @@ if ($view === 'search') {
|
|||
$s_forums = '';
|
||||
$list_cat = [];
|
||||
while ($row = DB()->sql_fetchrow($result)) { //sf
|
||||
$s_forums .= '<option value="' . $row['forum_id'] . '">' . (($row['forum_parent']) ? HTML_SF_SPACER : '') . htmlCHR($row['forum_name']) . '</option>';
|
||||
$s_forums .= '<option value="' . $row['forum_id'] . '">' . ($row['forum_parent'] ? HTML_SF_SPACER : '') . htmlCHR($row['forum_name']) . '</option>';
|
||||
|
||||
if (empty($list_cat[$row['cat_id']])) {
|
||||
$list_cat[$row['cat_id']] = $row['cat_title'];
|
||||
|
@ -318,7 +318,7 @@ if ($view === 'username') {
|
|||
|
||||
// Attachments
|
||||
if ($view === 'attachments') {
|
||||
$user_based = ($uid) ? true : false;
|
||||
$user_based = $uid ? true : false;
|
||||
$search_based = (isset($_POST['search']) && $_POST['search']);
|
||||
|
||||
$hidden_fields = '';
|
||||
|
@ -333,7 +333,7 @@ if ($view === 'attachments') {
|
|||
|
||||
// Are we called from Username ?
|
||||
if ($user_based) {
|
||||
$sql = "SELECT username FROM " . BB_USERS . " WHERE user_id = " . (int)$uid;
|
||||
$sql = 'SELECT username FROM ' . BB_USERS . ' WHERE user_id = ' . (int)$uid;
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Error getting username');
|
||||
|
@ -352,10 +352,10 @@ if ($view === 'attachments') {
|
|||
'L_STATISTICS_FOR_USER' => sprintf($lang['STATISTICS_FOR_USER'], $username),
|
||||
));
|
||||
|
||||
$sql = "SELECT attach_id
|
||||
FROM " . BB_ATTACHMENTS . "
|
||||
WHERE user_id_1 = " . (int)$uid . "
|
||||
GROUP BY attach_id";
|
||||
$sql = 'SELECT attach_id
|
||||
FROM ' . BB_ATTACHMENTS . '
|
||||
WHERE user_id_1 = ' . (int)$uid . '
|
||||
GROUP BY attach_id';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query attachments #1');
|
||||
|
@ -377,9 +377,9 @@ if ($view === 'attachments') {
|
|||
$attach_id[] = (int)$attach_ids[$j]['attach_id'];
|
||||
}
|
||||
|
||||
$sql = "SELECT a.*
|
||||
FROM " . BB_ATTACHMENTS_DESC . " a
|
||||
WHERE a.attach_id IN (" . implode(', ', $attach_id) . ") " .
|
||||
$sql = 'SELECT a.*
|
||||
FROM ' . BB_ATTACHMENTS_DESC . ' a
|
||||
WHERE a.attach_id IN (' . implode(', ', $attach_id) . ') ' .
|
||||
$order_by;
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
|
@ -411,9 +411,9 @@ if ($view === 'attachments') {
|
|||
// If it's not assigned to any post, it's an private message thingy. ;)
|
||||
$post_titles = [];
|
||||
|
||||
$sql = "SELECT *
|
||||
FROM " . BB_ATTACHMENTS . "
|
||||
WHERE attach_id = " . (int)$attachments[$i]['attach_id'];
|
||||
$sql = 'SELECT *
|
||||
FROM ' . BB_ATTACHMENTS . '
|
||||
WHERE attach_id = ' . (int)$attachments[$i]['attach_id'];
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query attachments #3');
|
||||
|
@ -425,10 +425,10 @@ if ($view === 'attachments') {
|
|||
|
||||
for ($j = 0; $j < $num_ids; $j++) {
|
||||
if ($ids[$j]['post_id'] != 0) {
|
||||
$sql = "SELECT t.topic_title
|
||||
FROM " . BB_TOPICS . " t, " . BB_POSTS . " p
|
||||
WHERE p.post_id = " . (int)$ids[$j]['post_id'] . " AND p.topic_id = t.topic_id
|
||||
GROUP BY t.topic_id, t.topic_title";
|
||||
$sql = 'SELECT t.topic_title
|
||||
FROM ' . BB_TOPICS . ' t, ' . BB_POSTS . ' p
|
||||
WHERE p.post_id = ' . (int)$ids[$j]['post_id'] . ' AND p.topic_id = t.topic_id
|
||||
GROUP BY t.topic_id, t.topic_title';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query topic');
|
||||
|
@ -455,13 +455,13 @@ if ($view === 'attachments') {
|
|||
$hidden_field = '<input type="hidden" name="attach_id_list[]" value="' . (int)$attachments[$i]['attach_id'] . '" />';
|
||||
|
||||
$template->assign_block_vars('attachrow', array(
|
||||
'ROW_NUMBER' => $i + (@$_GET['start'] + 1),
|
||||
'ROW_NUMBER' => $i + ($_GET['start'] + 1),
|
||||
'ROW_CLASS' => $row_class,
|
||||
|
||||
'FILENAME' => htmlspecialchars($attachments[$i]['real_filename']),
|
||||
'COMMENT' => htmlspecialchars($attachments[$i]['comment']),
|
||||
'EXTENSION' => $attachments[$i]['extension'],
|
||||
'SIZE' => round(($attachments[$i]['filesize'] / 1024), 2),
|
||||
'SIZE' => round($attachments[$i]['filesize'] / 1024, 2),
|
||||
'DOWNLOAD_COUNT' => $attachments[$i]['download_count'],
|
||||
'POST_TIME' => bb_date($attachments[$i]['filetime']),
|
||||
'POST_TITLE' => $post_titles,
|
||||
|
@ -475,7 +475,7 @@ if ($view === 'attachments') {
|
|||
|
||||
if (!$search_based && !$user_based) {
|
||||
if (!$attachments) {
|
||||
$sql = "SELECT attach_id FROM " . BB_ATTACHMENTS_DESC;
|
||||
$sql = 'SELECT attach_id FROM ' . BB_ATTACHMENTS_DESC;
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query attachment description table');
|
||||
|
|
|
@ -49,10 +49,10 @@ $size = request_var('size', '');
|
|||
$quota_size = request_var('quota_size', '');
|
||||
$pm_size = request_var('pm_size', '');
|
||||
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$check_upload = (isset($_POST['settings'])) ? true : false;
|
||||
$check_image_cat = (isset($_POST['cat_settings'])) ? true : false;
|
||||
$search_imagick = (isset($_POST['search_imagick'])) ? true : false;
|
||||
$submit = isset($_POST['submit']) ? true : false;
|
||||
$check_upload = isset($_POST['settings']) ? true : false;
|
||||
$check_image_cat = isset($_POST['cat_settings']) ? true : false;
|
||||
$search_imagick = isset($_POST['search_imagick']) ? true : false;
|
||||
|
||||
// Re-evaluate the Attachment Configuration
|
||||
$sql = 'SELECT * FROM ' . BB_ATTACH_CONFIG;
|
||||
|
@ -118,11 +118,11 @@ while ($row = DB()->sql_fetchrow($result)) {
|
|||
}
|
||||
}
|
||||
|
||||
$sql = "UPDATE " . BB_ATTACH_CONFIG . "
|
||||
$sql = 'UPDATE ' . BB_ATTACH_CONFIG . "
|
||||
SET config_value = '" . attach_mod_sql_escape($new_attach[$config_name]) . "'
|
||||
WHERE config_name = '" . attach_mod_sql_escape($config_name) . "'";
|
||||
} else {
|
||||
$sql = "UPDATE " . BB_ATTACH_CONFIG . "
|
||||
$sql = 'UPDATE ' . BB_ATTACH_CONFIG . "
|
||||
SET config_value = '" . attach_mod_sql_escape($new_attach[$config_name]) . "'
|
||||
WHERE config_name = '" . attach_mod_sql_escape($config_name) . "'";
|
||||
}
|
||||
|
@ -168,13 +168,13 @@ if ($search_imagick) {
|
|||
} elseif (preg_match('/WIN/i', PHP_OS)) {
|
||||
$path = 'c:/imagemagick/convert.exe';
|
||||
|
||||
if (!@file_exists(@amod_realpath($path))) {
|
||||
if (!@file_exists(amod_realpath($path))) {
|
||||
$imagick = $path;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!@file_exists(@amod_realpath(trim($imagick)))) {
|
||||
if (!@file_exists(amod_realpath(trim($imagick)))) {
|
||||
$new_attach['img_imagick'] = trim($imagick);
|
||||
} else {
|
||||
$new_attach['img_imagick'] = '';
|
||||
|
@ -209,7 +209,7 @@ if ($check_upload) {
|
|||
$error = false;
|
||||
|
||||
// Does the target directory exist, is it a directory and writeable
|
||||
if (!@file_exists(@amod_realpath($upload_dir))) {
|
||||
if (!@file_exists(amod_realpath($upload_dir))) {
|
||||
$error = true;
|
||||
$error_msg = sprintf($lang['DIRECTORY_DOES_NOT_EXIST'], $attach_config['upload_dir']) . '<br />';
|
||||
}
|
||||
|
@ -359,11 +359,11 @@ if ($check_image_cat) {
|
|||
$error = false;
|
||||
|
||||
// Does the target directory exist, is it a directory and writeable
|
||||
if (!@file_exists(@amod_realpath($upload_dir))) {
|
||||
@mkdir($upload_dir, 0755);
|
||||
if (!@file_exists(amod_realpath($upload_dir))) {
|
||||
mkdir($upload_dir, 0755);
|
||||
@chmod($upload_dir, 0777);
|
||||
|
||||
if (!@file_exists(@amod_realpath($upload_dir))) {
|
||||
if (!@file_exists(amod_realpath($upload_dir))) {
|
||||
$error = true;
|
||||
$error_msg = sprintf($lang['DIRECTORY_DOES_NOT_EXIST'], $upload_dir) . '<br />';
|
||||
}
|
||||
|
@ -403,10 +403,10 @@ if ($submit && $mode == 'quota') {
|
|||
$filesize_list[$i] = ($size_select_list[$i] == 'kb') ? round($filesize_list[$i] * 1024) : (($size_select_list[$i] == 'mb') ? round($filesize_list[$i] * 1048576) : $filesize_list[$i]);
|
||||
|
||||
$sql = 'UPDATE ' . BB_QUOTA_LIMITS . "
|
||||
SET quota_desc = '" . attach_mod_sql_escape($quota_desc_list[$i]) . "', quota_limit = " . (int)$filesize_list[$i] . "
|
||||
WHERE quota_limit_id = " . (int)$quota_change_list[$i];
|
||||
SET quota_desc = '" . attach_mod_sql_escape($quota_desc_list[$i]) . "', quota_limit = " . (int)$filesize_list[$i] . '
|
||||
WHERE quota_limit_id = ' . (int)$quota_change_list[$i];
|
||||
|
||||
if (!(DB()->sql_query($sql))) {
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not update quota limits');
|
||||
}
|
||||
}
|
||||
|
@ -435,7 +435,7 @@ if ($submit && $mode == 'quota') {
|
|||
$quota_desc = get_var('quota_description', '');
|
||||
$filesize = get_var('add_max_filesize', 0);
|
||||
$size_select = get_var('add_size_select', '');
|
||||
$add = (isset($_POST['add_quota_check'])) ? true : false;
|
||||
$add = isset($_POST['add_quota_check']) ? true : false;
|
||||
|
||||
if ($quota_desc != '' && $add) {
|
||||
// check Quota Description
|
||||
|
@ -464,10 +464,10 @@ if ($submit && $mode == 'quota') {
|
|||
if (!$error) {
|
||||
$filesize = ($size_select == 'kb') ? round($filesize * 1024) : (($size_select == 'mb') ? round($filesize * 1048576) : $filesize);
|
||||
|
||||
$sql = "INSERT INTO " . BB_QUOTA_LIMITS . " (quota_desc, quota_limit)
|
||||
VALUES ('" . attach_mod_sql_escape($quota_desc) . "', " . (int)$filesize . ")";
|
||||
$sql = 'INSERT INTO ' . BB_QUOTA_LIMITS . " (quota_desc, quota_limit)
|
||||
VALUES ('" . attach_mod_sql_escape($quota_desc) . "', " . (int)$filesize . ')';
|
||||
|
||||
if (!(DB()->sql_query($sql))) {
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not add quota limit');
|
||||
}
|
||||
}
|
||||
|
@ -495,7 +495,7 @@ if ($mode == 'quota') {
|
|||
'S_ATTACH_ACTION' => 'admin_attachments.php?mode=quota',
|
||||
));
|
||||
|
||||
$sql = "SELECT * FROM " . BB_QUOTA_LIMITS . " ORDER BY quota_limit DESC";
|
||||
$sql = 'SELECT * FROM ' . BB_QUOTA_LIMITS . ' ORDER BY quota_limit DESC';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not get quota limits #1');
|
||||
|
@ -532,7 +532,7 @@ if ($mode == 'quota' && $e_mode == 'view_quota') {
|
|||
|
||||
$template->assign_block_vars('switch_quota_limit_desc', array());
|
||||
|
||||
$sql = "SELECT * FROM " . BB_QUOTA_LIMITS . " WHERE quota_limit_id = " . (int)$quota_id . " LIMIT 1";
|
||||
$sql = 'SELECT * FROM ' . BB_QUOTA_LIMITS . ' WHERE quota_limit_id = ' . (int)$quota_id . ' LIMIT 1';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not get quota limits #2');
|
||||
|
|
|
@ -39,10 +39,10 @@ $return_links = array(
|
|||
'config_mods' => '<br /><br />' . sprintf($lang['CLICK_RETURN_CONFIG_MODS'], '<a href="admin_board.php?mode=config_mods">', '</a>')
|
||||
);
|
||||
|
||||
//
|
||||
// Pull all config data
|
||||
//
|
||||
$sql = "SELECT * FROM " . BB_CONFIG;
|
||||
/**
|
||||
* Pull all config data
|
||||
*/
|
||||
$sql = 'SELECT * FROM ' . BB_CONFIG;
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query config information in admin_board');
|
||||
} else {
|
||||
|
@ -54,7 +54,11 @@ if (!$result = DB()->sql_query($sql)) {
|
|||
$new[$config_name] = isset($_POST[$config_name]) ? $_POST[$config_name] : $default_config[$config_name];
|
||||
|
||||
if (isset($_POST['submit']) && $row['config_value'] != $new[$config_name]) {
|
||||
if ($config_name == 'seed_bonus_points' || $config_name == 'seed_bonus_release' || $config_name == 'bonus_upload' || $config_name == 'bonus_upload_price') {
|
||||
if ($config_name == 'seed_bonus_points' ||
|
||||
$config_name == 'seed_bonus_release' ||
|
||||
$config_name == 'bonus_upload' ||
|
||||
$config_name == 'bonus_upload_price'
|
||||
) {
|
||||
$new[$config_name] = serialize(str_replace(',', '.', $new[$config_name]));
|
||||
}
|
||||
bb_update_config(array($config_name => $new[$config_name]));
|
||||
|
@ -92,7 +96,6 @@ switch ($mode) {
|
|||
'BIRTHDAY_CHECK_DAY' => $new['birthday_check_day'],
|
||||
'PREMOD' => $new['premod'],
|
||||
'TOR_COMMENT' => $new['tor_comment'],
|
||||
'NEW_TPLS' => $new['new_tpls'],
|
||||
'SEED_BONUS_ENABLED' => $new['seed_bonus_enabled'],
|
||||
'SEED_BONUS_TOR_SIZE' => $new['seed_bonus_tor_size'],
|
||||
'SEED_BONUS_USER_REGDATE' => $new['seed_bonus_user_regdate'],
|
||||
|
@ -138,8 +141,8 @@ switch ($mode) {
|
|||
|
||||
'SITENAME' => htmlCHR($new['sitename']),
|
||||
'CONFIG_SITE_DESCRIPTION' => htmlCHR($new['site_desc']),
|
||||
'DISABLE_BOARD' => ($new['board_disable']) ? true : false,
|
||||
'ALLOW_AUTOLOGIN' => ($new['allow_autologin']) ? true : false,
|
||||
'DISABLE_BOARD' => $new['board_disable'] ? true : false,
|
||||
'ALLOW_AUTOLOGIN' => $new['allow_autologin'] ? true : false,
|
||||
'AUTOLOGIN_TIME' => (int)$new['max_autologin_time'],
|
||||
'MAX_POLL_OPTIONS' => $new['max_poll_options'],
|
||||
'FLOOD_INTERVAL' => $new['flood_interval'],
|
||||
|
@ -151,12 +154,12 @@ switch ($mode) {
|
|||
'TIMEZONE_SELECT' => tz_select($new['board_timezone'], 'board_timezone'),
|
||||
'MAX_LOGIN_ATTEMPTS' => $new['max_login_attempts'],
|
||||
'LOGIN_RESET_TIME' => $new['login_reset_time'],
|
||||
'PRUNE_ENABLE' => ($new['prune_enable']) ? true : false,
|
||||
'ALLOW_BBCODE' => ($new['allow_bbcode']) ? true : false,
|
||||
'ALLOW_SMILIES' => ($new['allow_smilies']) ? true : false,
|
||||
'ALLOW_SIG' => ($new['allow_sig']) ? true : false,
|
||||
'PRUNE_ENABLE' => $new['prune_enable'] ? true : false,
|
||||
'ALLOW_BBCODE' => $new['allow_bbcode'] ? true : false,
|
||||
'ALLOW_SMILIES' => $new['allow_smilies'] ? true : false,
|
||||
'ALLOW_SIG' => $new['allow_sig'] ? true : false,
|
||||
'SIG_SIZE' => $new['max_sig_chars'],
|
||||
'ALLOW_NAMECHANGE' => ($new['allow_namechange']) ? true : false,
|
||||
'ALLOW_NAMECHANGE' => $new['allow_namechange'] ? true : false,
|
||||
'SMILIES_PATH' => $new['smilies_path'],
|
||||
));
|
||||
break;
|
||||
|
|
|
@ -37,9 +37,11 @@ require INC_DIR . '/functions_admin_torrent.php';
|
|||
$submit = isset($_POST['submit']);
|
||||
$confirm = isset($_POST['confirm']);
|
||||
|
||||
$cfg = array();
|
||||
$cfg = [];
|
||||
|
||||
// All config names with default values
|
||||
/**
|
||||
* All config names with default values
|
||||
*/
|
||||
$default_cfg_str = array(
|
||||
'bt_announce_url' => 'http://demo.torrentpier.me/bt/',
|
||||
);
|
||||
|
@ -82,10 +84,14 @@ $db_fields_bool = array(
|
|||
'self_moderated' => 0, // Users can move theirs topic to another forum
|
||||
);
|
||||
|
||||
// Get config
|
||||
/**
|
||||
* Get config
|
||||
*/
|
||||
$cfg = bb_get_config(BB_CONFIG, true, false);
|
||||
|
||||
// Submit new config
|
||||
/**
|
||||
* Submit new config
|
||||
*/
|
||||
if ($submit && $confirm) {
|
||||
foreach ($db_fields_bool as $field_name => $field_def_val) {
|
||||
update_table_bool(BB_FORUMS, 'forum_id', $field_name, $field_def_val);
|
||||
|
@ -113,10 +119,10 @@ set_tpl_vars_lang($default_cfg_num);
|
|||
set_tpl_vars_lang($db_fields_bool);
|
||||
|
||||
// Get Forums list
|
||||
$sql = "SELECT f.*
|
||||
FROM " . BB_CATEGORIES . " c, " . BB_FORUMS . " f
|
||||
$sql = 'SELECT f.*
|
||||
FROM ' . BB_CATEGORIES . ' c, ' . BB_FORUMS . ' f
|
||||
WHERE f.cat_id = c.cat_id
|
||||
ORDER BY c.cat_order, f.forum_order";
|
||||
ORDER BY c.cat_order, f.forum_order';
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not obtain forum names');
|
||||
|
|
|
@ -40,7 +40,9 @@ require INC_DIR . '/functions_admin_torrent.php';
|
|||
$submit = isset($_POST['submit']);
|
||||
$confirmed = isset($_POST['confirm']);
|
||||
|
||||
// All config names with default values
|
||||
/**
|
||||
* All config names with default values
|
||||
*/
|
||||
$default_cfg_str = array(
|
||||
'off_reason' => 'Tracker is disabled',
|
||||
'browser_redirect_url' => 'http://demo.torrentpier.me/',
|
||||
|
@ -66,7 +68,9 @@ $default_cfg_num = array(
|
|||
'limit_leech_ips' => 0,
|
||||
);
|
||||
|
||||
// Set template vars
|
||||
/**
|
||||
* Set template vars
|
||||
*/
|
||||
set_tpl_vars($default_cfg_str, $bb_cfg['tracker']);
|
||||
set_tpl_vars_lang($default_cfg_str);
|
||||
|
||||
|
|
|
@ -38,7 +38,7 @@ $cron_action = isset($_POST['cron_action']) ? $_POST['cron_action'] : '';
|
|||
|
||||
if ($mode == 'run' && !$job_id) {
|
||||
define('BB_ROOT', './../');
|
||||
require(BB_ROOT . 'common.php');
|
||||
require BB_ROOT . 'common.php';
|
||||
$user->session_start();
|
||||
redirect('admin/' . basename(__FILE__) . '?mode=list');
|
||||
} else {
|
||||
|
@ -52,7 +52,7 @@ if (!IS_SUPER_ADMIN) {
|
|||
require INC_DIR . '/functions_admin_torrent.php';
|
||||
require INC_DIR . '/functions_admin_cron.php';
|
||||
|
||||
$sql = DB()->fetch_rowset("SELECT * FROM " . BB_CONFIG . " WHERE config_name = 'cron_enabled' OR config_name = 'cron_check_interval'");
|
||||
$sql = DB()->fetch_rowset('SELECT * FROM ' . BB_CONFIG . " WHERE config_name = 'cron_enabled' OR config_name = 'cron_check_interval'");
|
||||
|
||||
foreach ($sql as $row) {
|
||||
$config_name = $row['config_name'];
|
||||
|
@ -67,13 +67,13 @@ foreach ($sql as $row) {
|
|||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'CRON_ENABLED' => ($new['cron_enabled']) ? true : false,
|
||||
'CRON_ENABLED' => $new['cron_enabled'] ? true : false,
|
||||
'CRON_CHECK_INTERVAL' => $new['cron_check_interval'],
|
||||
));
|
||||
|
||||
switch ($mode) {
|
||||
case 'list':
|
||||
$sql = DB()->fetch_rowset("SELECT * FROM " . BB_CRON . " ORDER BY cron_id");
|
||||
$sql = DB()->fetch_rowset('SELECT * FROM ' . BB_CRON . ' ORDER BY cron_id');
|
||||
|
||||
foreach ($sql as $i => $row) {
|
||||
$template->assign_block_vars('list', array(
|
||||
|
@ -98,7 +98,7 @@ switch ($mode) {
|
|||
));
|
||||
|
||||
//detect cron status
|
||||
if (@file_exists('../triggers/cron_running')) {
|
||||
if (file_exists('../triggers/cron_running')) {
|
||||
$template->assign_vars(array(
|
||||
'CRON_RUNNING' => true,
|
||||
));
|
||||
|
@ -106,8 +106,8 @@ switch ($mode) {
|
|||
break;
|
||||
|
||||
case 'repair':
|
||||
if (@file_exists('../triggers/cron_running')) {
|
||||
rename("../triggers/cron_running", "../triggers/cron_allowed");
|
||||
if (file_exists('../triggers/cron_running')) {
|
||||
rename('../triggers/cron_running', '../triggers/cron_allowed');
|
||||
}
|
||||
redirect('admin/' . basename(__FILE__) . '?mode=list');
|
||||
break;
|
||||
|
@ -118,7 +118,7 @@ switch ($mode) {
|
|||
break;
|
||||
|
||||
case 'edit':
|
||||
$sql = DB()->fetch_rowset("SELECT * FROM " . BB_CRON . " WHERE cron_id = $job_id");
|
||||
$sql = DB()->fetch_rowset('SELECT * FROM ' . BB_CRON . " WHERE cron_id = $job_id");
|
||||
|
||||
foreach ($sql as $row) {
|
||||
$template->assign_vars(array(
|
||||
|
@ -178,7 +178,6 @@ switch ($mode) {
|
|||
'S_MODE' => 'add',
|
||||
'SCHEDULE' => build_select('schedule', $schedule, 'select', null, null),
|
||||
'RUN_DAY' => build_select('run_day', $run_day, 0, null, null),
|
||||
'L_CRON_EDIT_HEAD' => $lang['CRON_EDIT_HEAD_ADD'],
|
||||
'CRON_ID' => 'none',
|
||||
'CRON_ACTIVE' => 1,
|
||||
'CRON_TITLE' => '',
|
||||
|
|
|
@ -34,7 +34,7 @@ $message = '';
|
|||
if (isset($_POST['add_name'])) {
|
||||
include INC_DIR . '/functions_validate.php';
|
||||
|
||||
$disallowed_user = (isset($_POST['disallowed_user'])) ? trim($_POST['disallowed_user']) : trim($_GET['disallowed_user']);
|
||||
$disallowed_user = isset($_POST['disallowed_user']) ? trim($_POST['disallowed_user']) : trim($_GET['disallowed_user']);
|
||||
|
||||
if ($disallowed_user == '') {
|
||||
bb_die($lang['FIELDS_EMPTY']);
|
||||
|
@ -42,7 +42,7 @@ if (isset($_POST['add_name'])) {
|
|||
if (!validate_username($disallowed_user)) {
|
||||
$message = $lang['DISALLOWED_ALREADY'];
|
||||
} else {
|
||||
$sql = "INSERT INTO " . BB_DISALLOW . " (disallow_username) VALUES('" . DB()->escape($disallowed_user) . "')";
|
||||
$sql = 'INSERT INTO ' . BB_DISALLOW . " (disallow_username) VALUES('" . DB()->escape($disallowed_user) . "')";
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not add disallowed user');
|
||||
|
@ -54,9 +54,9 @@ if (isset($_POST['add_name'])) {
|
|||
|
||||
bb_die($message);
|
||||
} elseif (isset($_POST['delete_name'])) {
|
||||
$disallowed_id = (isset($_POST['disallowed_id'])) ? (int)$_POST['disallowed_id'] : (int)$_GET['disallowed_id'];
|
||||
$disallowed_id = isset($_POST['disallowed_id']) ? (int)$_POST['disallowed_id'] : (int)$_GET['disallowed_id'];
|
||||
|
||||
$sql = "DELETE FROM " . BB_DISALLOW . " WHERE disallow_id = $disallowed_id";
|
||||
$sql = 'DELETE FROM ' . BB_DISALLOW . " WHERE disallow_id = $disallowed_id";
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not removed disallowed user');
|
||||
|
@ -67,10 +67,10 @@ if (isset($_POST['add_name'])) {
|
|||
bb_die($message);
|
||||
}
|
||||
|
||||
//
|
||||
// Grab the current list of disallowed usernames...
|
||||
//
|
||||
$sql = "SELECT * FROM " . BB_DISALLOW;
|
||||
/**
|
||||
* Grab the current list of disallowed usernames
|
||||
*/
|
||||
$sql = 'SELECT * FROM ' . BB_DISALLOW;
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not get disallowed users');
|
||||
|
@ -78,10 +78,9 @@ if (!$result) {
|
|||
|
||||
$disallowed = DB()->sql_fetchrowset($result);
|
||||
|
||||
//
|
||||
// Ok now generate the info for the template, which will be put out no matter
|
||||
// what mode we are in.
|
||||
//
|
||||
/**
|
||||
* Now generate the info for the template, which will be put out no matter what mode we are in
|
||||
*/
|
||||
$disallow_select = '<select name="disallowed_id">';
|
||||
|
||||
if (count($disallowed) <= 0) {
|
||||
|
|
|
@ -58,7 +58,7 @@ $size = get_var('size', '');
|
|||
$mode = get_var('mode', '');
|
||||
$e_mode = get_var('e_mode', '');
|
||||
|
||||
$submit = (isset($_POST['submit'])) ? true : false;
|
||||
$submit = isset($_POST['submit']) ? true : false;
|
||||
|
||||
// Get Attachment Config
|
||||
$attach_config = array();
|
||||
|
@ -133,7 +133,7 @@ if ($submit && $mode == 'extensions') {
|
|||
$extension = get_var('add_extension', '');
|
||||
$extension_explain = get_var('add_extension_explain', '');
|
||||
$extension_group = get_var('add_group_select', 0);
|
||||
$add = (isset($_POST['add_extension_check'])) ? true : false;
|
||||
$add = isset($_POST['add_extension_check']) ? true : false;
|
||||
|
||||
if ($extension != '' && $add) {
|
||||
$template->assign_vars(array(
|
||||
|
@ -141,7 +141,7 @@ if ($submit && $mode == 'extensions') {
|
|||
'ADD_EXTENSION_EXPLAIN' => $extension_explain,
|
||||
));
|
||||
|
||||
if (!@$error) {
|
||||
if (!$error) {
|
||||
// check extension
|
||||
$sql = 'SELECT extension FROM ' . BB_EXTENSIONS;
|
||||
|
||||
|
@ -165,7 +165,7 @@ if ($submit && $mode == 'extensions') {
|
|||
}
|
||||
}
|
||||
|
||||
if (!@$error) {
|
||||
if (!$error) {
|
||||
$sql_ary = array(
|
||||
'group_id' => (int)$extension_group,
|
||||
'extension' => (string)strtolower($extension),
|
||||
|
@ -181,7 +181,7 @@ if ($submit && $mode == 'extensions') {
|
|||
}
|
||||
}
|
||||
|
||||
if (!@$error) {
|
||||
if (!$error) {
|
||||
bb_die($lang['ATTACH_CONFIG_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_ATTACH_CONFIG'], '<a href="admin_extensions.php?mode=extensions">', '</a>') . '<br /><br />' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>'));
|
||||
}
|
||||
}
|
||||
|
@ -260,7 +260,7 @@ if ($submit && $mode == 'groups') {
|
|||
}
|
||||
|
||||
for ($i = 0, $iMax = count($group_change_list); $i < $iMax; $i++) {
|
||||
$allowed = (isset($allowed_list[$i])) ? 1 : 0;
|
||||
$allowed = isset($allowed_list[$i]) ? 1 : 0;
|
||||
|
||||
$filesize_list[$i] = ($size_select_list[$i] == 'kb') ? round($filesize_list[$i] * 1024) : (($size_select_list[$i] == 'mb') ? round($filesize_list[$i] * 1048576) : $filesize_list[$i]);
|
||||
|
||||
|
@ -276,7 +276,7 @@ if ($submit && $mode == 'groups') {
|
|||
$sql = 'UPDATE ' . BB_EXTENSION_GROUPS . ' SET ' . attach_mod_sql_build_array('UPDATE', $sql_ary) . '
|
||||
WHERE group_id = ' . (int)$group_change_list[$i];
|
||||
|
||||
if (!(DB()->sql_query($sql))) {
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not update extension groups informations');
|
||||
}
|
||||
}
|
||||
|
@ -313,8 +313,8 @@ if ($submit && $mode == 'groups') {
|
|||
$filesize = get_var('add_max_filesize', 0);
|
||||
$size_select = get_var('add_size_select', '');
|
||||
|
||||
$is_allowed = (isset($_POST['add_allowed'])) ? 1 : 0;
|
||||
$add = (isset($_POST['add_extension_group_check'])) ? true : false;
|
||||
$is_allowed = isset($_POST['add_allowed']) ? 1 : 0;
|
||||
$add = isset($_POST['add_extension_group_check']) ? true : false;
|
||||
|
||||
if ($extension_group != '' && $add) {
|
||||
// check Extension Group
|
||||
|
@ -340,7 +340,7 @@ if ($submit && $mode == 'groups') {
|
|||
}
|
||||
}
|
||||
|
||||
if (!@$error) {
|
||||
if (!$error) {
|
||||
$filesize = ($size_select == 'kb') ? round($filesize * 1024) : (($size_select == 'mb') ? round($filesize * 1048576) : $filesize);
|
||||
|
||||
$sql_ary = array(
|
||||
|
@ -355,13 +355,13 @@ if ($submit && $mode == 'groups') {
|
|||
|
||||
$sql = 'INSERT INTO ' . BB_EXTENSION_GROUPS . ' ' . attach_mod_sql_build_array('INSERT', $sql_ary);
|
||||
|
||||
if (!(DB()->sql_query($sql))) {
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not add extension group');
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (!@$error) {
|
||||
if (!$error) {
|
||||
bb_die($lang['ATTACH_CONFIG_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_ATTACH_CONFIG'], '<a href="admin_extensions.php?mode=groups">', '</a>') . '<br /><br />' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>'));
|
||||
}
|
||||
}
|
||||
|
@ -384,7 +384,7 @@ if ($mode == 'groups') {
|
|||
|
||||
$template->assign_vars(array(
|
||||
'TPL_ATTACH_EXTENSION_GROUPS' => true,
|
||||
'ADD_GROUP_NAME' => (isset($submit)) ? @$extension_group : '',
|
||||
'ADD_GROUP_NAME' => isset($extension_group) ? $extension_group : '',
|
||||
'MAX_FILESIZE' => $max_add_filesize,
|
||||
'S_FILESIZE' => size_select('add_size_select', $size),
|
||||
'S_ADD_DOWNLOAD_MODE' => download_select('add_download_mode'),
|
||||
|
@ -430,8 +430,8 @@ if ($mode == 'groups') {
|
|||
'S_FILESIZE' => size_select('size_select_list[]', $size_format),
|
||||
|
||||
'MAX_FILESIZE' => $extension_group[$i]['max_filesize'],
|
||||
'CAT_BOX' => ($viewgroup == $extension_group[$i]['group_id']) ? '+' : '-',
|
||||
'U_VIEWGROUP' => ($viewgroup == $extension_group[$i]['group_id']) ? "admin_extensions.php?mode=groups" : "admin_extensions.php?mode=groups&" . POST_GROUPS_URL . "=" . $extension_group[$i]['group_id'],
|
||||
'CAT_BOX' => ($viewgroup == $extension_group[$i]['group_id']) ? '-' : '+',
|
||||
'U_VIEWGROUP' => ($viewgroup == $extension_group[$i]['group_id']) ? 'admin_extensions.php?mode=groups' : 'admin_extensions.php?mode=groups&' . POST_GROUPS_URL . '=' . $extension_group[$i]['group_id'],
|
||||
'U_FORUM_PERMISSIONS' => "admin_extensions.php?mode=$mode&e_mode=perm&e_group=" . $extension_group[$i]['group_id'],
|
||||
));
|
||||
|
||||
|
@ -459,8 +459,8 @@ if ($mode == 'groups') {
|
|||
if ($e_mode == 'perm') {
|
||||
$group = get_var('e_group', 0);
|
||||
|
||||
$add_forum = (isset($_POST['add_forum'])) ? true : false;
|
||||
$delete_forum = (isset($_POST['del_forum'])) ? true : false;
|
||||
$add_forum = isset($_POST['add_forum']) ? true : false;
|
||||
$delete_forum = isset($_POST['del_forum']) ? true : false;
|
||||
|
||||
if (isset($_POST['close_perm'])) {
|
||||
$e_mode = '';
|
||||
|
@ -468,7 +468,7 @@ if ($e_mode == 'perm') {
|
|||
}
|
||||
|
||||
// Add Forums
|
||||
if (@$add_forum && $e_mode == 'perm' && $group) {
|
||||
if ($add_forum && $e_mode == 'perm' && $group) {
|
||||
$add_forums_list = get_var('entries', array(0));
|
||||
$add_all_forums = false;
|
||||
|
||||
|
@ -524,7 +524,7 @@ if (@$add_forum && $e_mode == 'perm' && $group) {
|
|||
}
|
||||
|
||||
// Delete Forums
|
||||
if (@$delete_forum && $e_mode == 'perm' && $group) {
|
||||
if ($delete_forum && $e_mode == 'perm' && $group) {
|
||||
$delete_forums_list = get_var('entries', array(0));
|
||||
|
||||
// Get the current Forums
|
||||
|
@ -585,7 +585,7 @@ if ($e_mode == 'perm' && $group) {
|
|||
$forum_p = array();
|
||||
$act_id = 0;
|
||||
$forum_p = auth_unpack($allowed_forums);
|
||||
$sql = "SELECT forum_id, forum_name FROM " . BB_FORUMS . " WHERE forum_id IN (" . implode(', ', $forum_p) . ")";
|
||||
$sql = 'SELECT forum_id, forum_name FROM ' . BB_FORUMS . ' WHERE forum_id IN (' . implode(', ', $forum_p) . ')';
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not get forum names');
|
||||
}
|
||||
|
@ -612,7 +612,7 @@ if ($e_mode == 'perm' && $group) {
|
|||
|
||||
$forum_option_values = array(0 => $lang['PERM_ALL_FORUMS']);
|
||||
|
||||
$sql = "SELECT forum_id, forum_name FROM " . BB_FORUMS;
|
||||
$sql = 'SELECT forum_id, forum_name FROM ' . BB_FORUMS;
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not get forums #1');
|
||||
|
@ -632,7 +632,7 @@ if ($e_mode == 'perm' && $group) {
|
|||
|
||||
$empty_perm_forums = array();
|
||||
|
||||
$sql = "SELECT forum_id, forum_name FROM " . BB_FORUMS . " WHERE auth_attachments < " . AUTH_ADMIN;
|
||||
$sql = 'SELECT forum_id, forum_name FROM ' . BB_FORUMS . ' WHERE auth_attachments < ' . AUTH_ADMIN;
|
||||
|
||||
if (!($f_result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not get forums #2');
|
||||
|
@ -641,10 +641,10 @@ if ($e_mode == 'perm' && $group) {
|
|||
while ($row = DB()->sql_fetchrow($f_result)) {
|
||||
$forum_id = $row['forum_id'];
|
||||
|
||||
$sql = "SELECT forum_permissions
|
||||
FROM " . BB_EXTENSION_GROUPS . "
|
||||
$sql = 'SELECT forum_permissions
|
||||
FROM ' . BB_EXTENSION_GROUPS . '
|
||||
WHERE allow_group = 1
|
||||
ORDER BY group_name ASC";
|
||||
ORDER BY group_name ASC';
|
||||
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query extension groups');
|
||||
|
@ -681,7 +681,7 @@ if ($e_mode == 'perm' && $group) {
|
|||
}
|
||||
}
|
||||
|
||||
if (@$error) {
|
||||
if ($error) {
|
||||
$template->assign_vars(array('ERROR_MESSAGE' => $error_msg));
|
||||
}
|
||||
|
||||
|
|
|
@ -47,7 +47,7 @@ if (isset($_REQUEST['submit'])) {
|
|||
|
||||
$where_sql = ($forum_csv != $all_forums) ? "WHERE forum_id IN($forum_csv)" : '';
|
||||
|
||||
$sql = "SELECT forum_id, forum_name FROM " . BB_FORUMS . " $where_sql";
|
||||
$sql = 'SELECT forum_id, forum_name FROM ' . BB_FORUMS . " $where_sql";
|
||||
|
||||
foreach (DB()->fetch_rowset($sql) as $i => $row) {
|
||||
$pruned_topics = topic_delete('prune', $row['forum_id'], $prunetime, !empty($_POST['prune_all_topic_types']));
|
||||
|
|
|
@ -30,7 +30,7 @@ if (!empty($setmodules)) {
|
|||
|
||||
require __DIR__ . '/pagestart.php';
|
||||
|
||||
$forum_auth_fields = array(
|
||||
$forum_auth_fields = [
|
||||
'auth_view',
|
||||
'auth_read',
|
||||
'auth_reply',
|
||||
|
@ -43,27 +43,20 @@ $forum_auth_fields = array(
|
|||
'auth_post',
|
||||
'auth_sticky',
|
||||
'auth_announce',
|
||||
);
|
||||
];
|
||||
|
||||
// View Read Reply Edit Delete Vote Poll PostAttach DownAttach PostTopic Sticky Announce
|
||||
$simple_auth_ary = array(
|
||||
/* Public */
|
||||
0 => array(AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL, AUTH_ALL, AUTH_MOD, AUTH_MOD), // Public
|
||||
/* Reg */
|
||||
1 => array(AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD), // Registered
|
||||
/* Reg [Hid] */
|
||||
2 => array(AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD), // Registered [Hidden]
|
||||
/* Priv */
|
||||
3 => array(AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD), // Private
|
||||
/* Priv [Hid] */
|
||||
4 => array(AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD), // Private [Hidden]
|
||||
/* MOD */
|
||||
5 => array(AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD), // Moderators
|
||||
/* MOD [Hid] */
|
||||
6 => array(AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD), // Moderators [Hidden]
|
||||
);
|
||||
$simple_auth_ary = [
|
||||
0 => [AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL, AUTH_ALL, AUTH_MOD, AUTH_MOD], // Public
|
||||
1 => [AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD], // Registered
|
||||
2 => [AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD], // Registered [Hidden]
|
||||
3 => [AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD], // Private
|
||||
4 => [AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD], // Private [Hidden]
|
||||
5 => [AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD], // Moderators
|
||||
6 => [AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD], // Moderators [Hidden]
|
||||
];
|
||||
|
||||
$simple_auth_types = array(
|
||||
$simple_auth_types = [
|
||||
$lang['PUBLIC'],
|
||||
$lang['REGISTERED'],
|
||||
$lang['REGISTERED'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
|
@ -71,17 +64,17 @@ $simple_auth_types = array(
|
|||
$lang['PRIVATE'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
$lang['MODERATORS'],
|
||||
$lang['MODERATORS'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
);
|
||||
];
|
||||
|
||||
$field_names = array();
|
||||
$field_names = [];
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
$field_names[$auth_type] = $lang[strtoupper($auth_type)];
|
||||
}
|
||||
|
||||
$forum_auth_levels = array('ALL', 'REG', 'PRIVATE', 'MOD', 'ADMIN');
|
||||
$forum_auth_const = array(AUTH_ALL, AUTH_REG, AUTH_ACL, AUTH_MOD, AUTH_ADMIN);
|
||||
$forum_auth_levels = ['ALL', 'REG', 'PRIVATE', 'MOD', 'ADMIN'];
|
||||
$forum_auth_const = [AUTH_ALL, AUTH_REG, AUTH_ACL, AUTH_MOD, AUTH_ADMIN];
|
||||
|
||||
if (@$_REQUEST[POST_FORUM_URL]) {
|
||||
if (isset($_REQUEST[POST_FORUM_URL])) {
|
||||
$forum_id = (int)$_REQUEST[POST_FORUM_URL];
|
||||
$forum_sql = "WHERE forum_id = $forum_id";
|
||||
} else {
|
||||
|
@ -95,9 +88,9 @@ if (isset($_GET['adv'])) {
|
|||
unset($adv);
|
||||
}
|
||||
|
||||
//
|
||||
// Start program proper
|
||||
//
|
||||
/**
|
||||
* Start program proper
|
||||
*/
|
||||
if (isset($_POST['submit'])) {
|
||||
$sql = '';
|
||||
|
||||
|
@ -110,7 +103,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if (is_array($simple_ary)) {
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
}
|
||||
} else {
|
||||
for ($i = 0, $iMax = count($forum_auth_fields); $i < $iMax; $i++) {
|
||||
|
@ -125,7 +118,7 @@ if (isset($_POST['submit'])) {
|
|||
$sql .= (($sql != '') ? ', ' : '') . $forum_auth_fields[$i] . ' = ' . $value;
|
||||
}
|
||||
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
}
|
||||
|
||||
if ($sql != '') {
|
||||
|
@ -139,15 +132,13 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
$datastore->update('cat_forums');
|
||||
bb_die($lang['FORUM_AUTH_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_FORUMAUTH'], '<a href="' . "admin_forumauth.php" . '">', "</a>"));
|
||||
} // End of submit
|
||||
bb_die($lang['FORUM_AUTH_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_FORUMAUTH'], '<a href="' . 'admin_forumauth.php' . '">', '</a>'));
|
||||
}
|
||||
|
||||
//
|
||||
// Get required information, either all forums if
|
||||
// no id was specified or just the requsted if it
|
||||
// was
|
||||
//
|
||||
$forum_rows = DB()->fetch_rowset("SELECT * FROM " . BB_FORUMS . " $forum_sql");
|
||||
/**
|
||||
* Get required information
|
||||
*/
|
||||
$forum_rows = DB()->fetch_rowset('SELECT * FROM ' . BB_FORUMS . " $forum_sql");
|
||||
|
||||
if (empty($forum_id)) {
|
||||
// Output the selection table if no forum id was specified
|
||||
|
@ -203,10 +194,7 @@ if (empty($forum_id)) {
|
|||
|
||||
$s_column_span++;
|
||||
} else {
|
||||
//
|
||||
// Output values of individual
|
||||
// fields
|
||||
//
|
||||
// Output values of individual fields
|
||||
for ($j = 0, $jMax = count($forum_auth_fields); $j < $jMax; $j++) {
|
||||
$custom_auth[$j] = ' <select name="' . $forum_auth_fields[$j] . '">';
|
||||
|
||||
|
@ -227,9 +215,9 @@ if (empty($forum_id)) {
|
|||
}
|
||||
}
|
||||
|
||||
$adv_mode = (empty($adv)) ? '1' : '0';
|
||||
$adv_mode = empty($adv) ? '1' : '0';
|
||||
$switch_mode = "admin_forumauth.php?f=$forum_id&adv=$adv_mode";
|
||||
$switch_mode_text = (empty($adv)) ? $lang['ADVANCED_MODE'] : $lang['SIMPLE_MODE'];
|
||||
$switch_mode_text = empty($adv) ? $lang['ADVANCED_MODE'] : $lang['SIMPLE_MODE'];
|
||||
$u_switch_mode = '<a href="' . $switch_mode . '">' . $switch_mode_text . '</a>';
|
||||
|
||||
$s_hidden_fields = '<input type="hidden" name="' . POST_FORUM_URL . '" value="' . $forum_id . '">';
|
||||
|
|
|
@ -31,24 +31,17 @@ if (!empty($setmodules)) {
|
|||
require __DIR__ . '/pagestart.php';
|
||||
|
||||
// View Read Post Reply Edit Delete Sticky Announce Vote Poll PostAttach Download
|
||||
$simple_auth_ary = array(
|
||||
/* Public */
|
||||
0 => array(AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL), // Public
|
||||
/* Reg */
|
||||
1 => array(AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG), // Registered
|
||||
/* Reg [Hid] */
|
||||
2 => array(AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG), // Registered [Hidden]
|
||||
/* Priv */
|
||||
3 => array(AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL), // Private
|
||||
/* Priv [Hid] */
|
||||
4 => array(AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL), // Private [Hidden]
|
||||
/* MOD */
|
||||
5 => array(AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD), // Moderators
|
||||
/* MOD [Hid] */
|
||||
6 => array(AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD), // Moderators [Hidden]
|
||||
);
|
||||
$simple_auth_ary = [
|
||||
0 => [AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_ALL], // Public
|
||||
1 => [AUTH_ALL, AUTH_ALL, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG], // Registered
|
||||
2 => [AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_REG, AUTH_REG, AUTH_REG, AUTH_REG], // Registered [Hidden]
|
||||
3 => [AUTH_REG, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL], // Private
|
||||
4 => [AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_MOD, AUTH_MOD, AUTH_ACL, AUTH_ACL, AUTH_ACL, AUTH_ACL], // Private [Hidden]
|
||||
5 => [AUTH_REG, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD], // Moderators
|
||||
6 => [AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD, AUTH_MOD], // Moderators [Hidden]
|
||||
];
|
||||
|
||||
$simple_auth_types = array(
|
||||
$simple_auth_types = [
|
||||
$lang['PUBLIC'],
|
||||
$lang['REGISTERED'],
|
||||
$lang['REGISTERED'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
|
@ -56,9 +49,9 @@ $simple_auth_types = array(
|
|||
$lang['PRIVATE'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
$lang['MODERATORS'],
|
||||
$lang['MODERATORS'] . ' [' . $lang['HIDDEN'] . ']',
|
||||
);
|
||||
];
|
||||
|
||||
$forum_auth_fields = array(
|
||||
$forum_auth_fields = [
|
||||
'auth_view',
|
||||
'auth_read',
|
||||
'auth_reply',
|
||||
|
@ -71,18 +64,18 @@ $forum_auth_fields = array(
|
|||
'auth_post',
|
||||
'auth_sticky',
|
||||
'auth_announce',
|
||||
);
|
||||
];
|
||||
|
||||
$field_names = array();
|
||||
$field_names = [];
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
$field_names[$auth_type] = $lang[strtoupper($auth_type)];
|
||||
}
|
||||
|
||||
$forum_auth_levels = array('ALL', 'REG', 'PRIVATE', 'MOD', 'ADMIN');
|
||||
$forum_auth_const = array(AUTH_ALL, AUTH_REG, AUTH_ACL, AUTH_MOD, AUTH_ADMIN);
|
||||
$forum_auth_levels = ['ALL', 'REG', 'PRIVATE', 'MOD', 'ADMIN'];
|
||||
$forum_auth_const = [AUTH_ALL, AUTH_REG, AUTH_ACL, AUTH_MOD, AUTH_ADMIN];
|
||||
|
||||
if (isset($_GET[POST_FORUM_URL]) || isset($_POST[POST_FORUM_URL])) {
|
||||
$forum_id = (isset($_POST[POST_FORUM_URL])) ? (int)$_POST[POST_FORUM_URL] : (int)$_GET[POST_FORUM_URL];
|
||||
$forum_id = isset($_POST[POST_FORUM_URL]) ? (int)$_POST[POST_FORUM_URL] : (int)$_GET[POST_FORUM_URL];
|
||||
$forum_sql = "AND forum_id = $forum_id";
|
||||
} else {
|
||||
unset($forum_id);
|
||||
|
@ -90,7 +83,7 @@ if (isset($_GET[POST_FORUM_URL]) || isset($_POST[POST_FORUM_URL])) {
|
|||
}
|
||||
|
||||
if (isset($_GET[POST_CAT_URL]) || isset($_POST[POST_CAT_URL])) {
|
||||
$cat_id = (isset($_POST[POST_CAT_URL])) ? (int)$_POST[POST_CAT_URL] : (int)$_GET[POST_CAT_URL];
|
||||
$cat_id = isset($_POST[POST_CAT_URL]) ? (int)$_POST[POST_CAT_URL] : (int)$_GET[POST_CAT_URL];
|
||||
$cat_sql = "AND c.cat_id = $cat_id";
|
||||
} else {
|
||||
unset($cat_id);
|
||||
|
@ -118,7 +111,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if (is_array($simple_ary)) {
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
}
|
||||
} else {
|
||||
for ($i = 0, $iMax = count($forum_auth_fields); $i < $iMax; $i++) {
|
||||
|
@ -133,7 +126,7 @@ if (isset($_POST['submit'])) {
|
|||
$sql .= (($sql != '') ? ', ' : '') . $forum_auth_fields[$i] . ' = ' . $value;
|
||||
}
|
||||
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET $sql WHERE forum_id = $forum_id";
|
||||
}
|
||||
|
||||
if ($sql != '') {
|
||||
|
@ -157,7 +150,7 @@ if (isset($_POST['submit'])) {
|
|||
$sql .= (($sql != '') ? ', ' : '') . $forum_auth_fields[$i] . ' = ' . $value;
|
||||
}
|
||||
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET $sql WHERE cat_id = $cat_id";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET $sql WHERE cat_id = $cat_id";
|
||||
|
||||
if ($sql != '') {
|
||||
if (!DB()->sql_query($sql)) {
|
||||
|
@ -169,7 +162,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
$datastore->update('cat_forums');
|
||||
bb_die($lang['FORUM_AUTH_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_FORUMAUTH'], '<a href="admin_forumauth_list.php">', "</a>"));
|
||||
bb_die($lang['FORUM_AUTH_UPDATED'] . '<br /><br />' . sprintf($lang['CLICK_RETURN_FORUMAUTH'], '<a href="admin_forumauth_list.php">', '</a>'));
|
||||
} // End of submit
|
||||
|
||||
//
|
||||
|
@ -177,8 +170,8 @@ if (isset($_POST['submit'])) {
|
|||
// no id was specified or just the requsted forum
|
||||
// or category if it was
|
||||
//
|
||||
$sql = "SELECT f.*
|
||||
FROM " . BB_FORUMS . " f, " . BB_CATEGORIES . " c
|
||||
$sql = 'SELECT f.*
|
||||
FROM ' . BB_FORUMS . ' f, ' . BB_CATEGORIES . " c
|
||||
WHERE c.cat_id = f.cat_id
|
||||
$forum_sql $cat_sql
|
||||
ORDER BY c.cat_order ASC, f.forum_order ASC";
|
||||
|
@ -206,9 +199,9 @@ if (empty($forum_id) && empty($cat_id)) {
|
|||
}
|
||||
|
||||
// Obtain the category list
|
||||
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
|
||||
FROM " . BB_CATEGORIES . " c
|
||||
ORDER BY c.cat_order";
|
||||
$sql = 'SELECT c.cat_id, c.cat_title, c.cat_order
|
||||
FROM ' . BB_CATEGORIES . ' c
|
||||
ORDER BY c.cat_order';
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not query categories list #1');
|
||||
}
|
||||
|
@ -228,7 +221,7 @@ if (empty($forum_id) && empty($cat_id)) {
|
|||
if ($cat_id == $forum_rows[$j]['cat_id']) {
|
||||
$template->assign_block_vars('cat_row.forum_row', array(
|
||||
'ROW_CLASS' => !($j % 2) ? 'row4' : 'row5',
|
||||
'FORUM_NAME' => '<a class="' . (($forum_rows[$j]['forum_parent']) ? 'genmed' : 'gen') . '" href="admin_forumauth.php?' . POST_FORUM_URL . '=' . $forum_rows[$j]['forum_id'] . '">' . htmlCHR($forum_rows[$j]['forum_name']) . '</a>',
|
||||
'FORUM_NAME' => '<a class="' . ($forum_rows[$j]['forum_parent'] ? 'genmed' : 'gen') . '" href="admin_forumauth.php?' . POST_FORUM_URL . '=' . $forum_rows[$j]['forum_id'] . '">' . htmlCHR($forum_rows[$j]['forum_name']) . '</a>',
|
||||
'IS_SUBFORUM' => $forum_rows[$j]['forum_parent'],
|
||||
));
|
||||
|
||||
|
@ -265,8 +258,8 @@ if (empty($forum_id) && empty($cat_id)) {
|
|||
}
|
||||
|
||||
// obtain the category list
|
||||
$sql = "SELECT c.cat_id, c.cat_title, c.cat_order
|
||||
FROM " . BB_CATEGORIES . " c
|
||||
$sql = 'SELECT c.cat_id, c.cat_title, c.cat_order
|
||||
FROM ' . BB_CATEGORIES . " c
|
||||
WHERE c.cat_id = $cat_id
|
||||
ORDER BY c.cat_order";
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
|
@ -287,7 +280,7 @@ if (empty($forum_id) && empty($cat_id)) {
|
|||
if ($cat_id == $forum_rows[$j]['cat_id']) {
|
||||
$template->assign_block_vars('cat_row.forum_row', array(
|
||||
'ROW_CLASS' => !($j % 2) ? 'row4' : 'row5',
|
||||
'FORUM_NAME' => '<a class="' . (($forum_rows[$j]['forum_parent']) ? 'genmed' : 'gen') . '" href="admin_forumauth.php?' . POST_FORUM_URL . '=' . $forum_rows[$j]['forum_id'] . '">' . htmlCHR($forum_rows[$j]['forum_name']) . '</a>',
|
||||
'FORUM_NAME' => '<a class="' . ($forum_rows[$j]['forum_parent'] ? 'genmed' : 'gen') . '" href="admin_forumauth.php?' . POST_FORUM_URL . '=' . $forum_rows[$j]['forum_id'] . '">' . htmlCHR($forum_rows[$j]['forum_name']) . '</a>',
|
||||
'IS_SUBFORUM' => $forum_rows[$j]['forum_parent'],
|
||||
));
|
||||
|
||||
|
|
|
@ -34,7 +34,7 @@ array_deep($_POST, 'trim');
|
|||
|
||||
$s = '';
|
||||
|
||||
$default_forum_auth = array(
|
||||
$default_forum_auth = [
|
||||
'auth_view' => AUTH_ALL,
|
||||
'auth_read' => AUTH_ALL,
|
||||
'auth_post' => AUTH_REG,
|
||||
|
@ -47,9 +47,9 @@ $default_forum_auth = array(
|
|||
'auth_pollcreate' => AUTH_REG,
|
||||
'auth_attachments' => AUTH_REG,
|
||||
'auth_download' => AUTH_REG,
|
||||
);
|
||||
];
|
||||
|
||||
$mode = (@$_REQUEST['mode']) ? (string)$_REQUEST['mode'] : '';
|
||||
$mode = isset($_REQUEST['mode']) ? (string)$_REQUEST['mode'] : '';
|
||||
|
||||
$cat_forums = get_cat_forums();
|
||||
|
||||
|
@ -60,7 +60,7 @@ $forum_parent = $cat_id = 0;
|
|||
$forumname = '';
|
||||
|
||||
if (isset($_REQUEST['addforum']) || isset($_REQUEST['addcategory'])) {
|
||||
$mode = (isset($_REQUEST['addforum'])) ? "addforum" : "addcat";
|
||||
$mode = isset($_REQUEST['addforum']) ? 'addforum' : 'addcat';
|
||||
|
||||
if ($mode == 'addforum' && isset($_POST['addforum']) && isset($_POST['forumname']) && is_array($_POST['addforum'])) {
|
||||
$req_cat_id = array_keys($_POST['addforum']);
|
||||
|
@ -133,7 +133,7 @@ if ($mode) {
|
|||
$catlist = get_list('category', $cat_id, true);
|
||||
$forumlocked = $forumunlocked = '';
|
||||
|
||||
$forumstatus == (FORUM_LOCKED) ? $forumlocked = 'selected="selected"' : $forumunlocked = 'selected="selected"';
|
||||
$forumstatus == FORUM_LOCKED ? $forumlocked = 'selected="selected"' : $forumunlocked = 'selected="selected"';
|
||||
|
||||
$statuslist = '<option value="' . FORUM_UNLOCKED . '" ' . $forumunlocked . '>' . $lang['STATUS_UNLOCKED'] . '</option>\n';
|
||||
$statuslist .= '<option value="' . FORUM_LOCKED . '" ' . $forumlocked . '>' . $lang['STATUS_LOCKED'] . '</option>\n';
|
||||
|
@ -160,7 +160,7 @@ if ($mode) {
|
|||
|
||||
'SHOW_ON_INDEX' => $show_on_index,
|
||||
'S_PARENT_FORUM' => $s_parent,
|
||||
'CAT_LIST_CLASS' => ($forum_parent) ? 'hidden' : '',
|
||||
'CAT_LIST_CLASS' => $forum_parent ? 'hidden' : '',
|
||||
'SHOW_ON_INDEX_CLASS' => (!$forum_parent) ? 'hidden' : '',
|
||||
'TPL_SELECT' => get_select('forum_tpl', $forum_tpl_id, 'html', $lang['TEMPLATE_DISABLE']),
|
||||
'ALLOW_REG_TRACKER' => build_select('allow_reg_tracker', array($lang['DISALLOWED'] => 0, $lang['ALLOWED'] => 1), $allow_reg_tracker),
|
||||
|
@ -187,7 +187,7 @@ if ($mode) {
|
|||
$prune_days = (int)$_POST['prune_days'];
|
||||
|
||||
$forum_parent = ($_POST['forum_parent'] != -1) ? (int)$_POST['forum_parent'] : 0;
|
||||
$show_on_index = ($forum_parent) ? (int)$_POST['show_on_index'] : 1;
|
||||
$show_on_index = $forum_parent ? (int)$_POST['show_on_index'] : 1;
|
||||
|
||||
$forum_display_sort = (int)$_POST['forum_display_sort'];
|
||||
$forum_display_order = (int)$_POST['forum_display_order'];
|
||||
|
@ -207,7 +207,7 @@ if ($mode) {
|
|||
}
|
||||
|
||||
$cat_id = $parent['cat_id'];
|
||||
$forum_parent = ($parent['forum_parent']) ?: $parent['forum_id'];
|
||||
$forum_parent = $parent['forum_parent'] ?: $parent['forum_id'];
|
||||
$forum_order = $parent['forum_order'] + 5;
|
||||
} else {
|
||||
$max_order = get_max_forum_order($cat_id);
|
||||
|
@ -228,7 +228,7 @@ if ($mode) {
|
|||
$columns = ' forum_name, cat_id, forum_desc, forum_order, forum_status, prune_days, forum_parent, show_on_index, forum_display_sort, forum_display_order, forum_tpl_id, allow_reg_tracker, allow_porno_topic, self_moderated' . $field_sql;
|
||||
$values = "'$forum_name_sql', $cat_id, '$forum_desc_sql', $forum_order, $forum_status, $prune_days, $forum_parent, $show_on_index, $forum_display_sort, $forum_display_order, $forum_tpl_id, $allow_reg_tracker, $allow_porno_topic, $self_moderated" . $value_sql;
|
||||
|
||||
DB()->query("INSERT INTO " . BB_FORUMS . " ($columns) VALUES ($values)");
|
||||
DB()->query('INSERT INTO ' . BB_FORUMS . " ($columns) VALUES ($values)");
|
||||
|
||||
renumber_order('forum', $cat_id);
|
||||
$datastore->update('cat_forums');
|
||||
|
@ -250,7 +250,7 @@ if ($mode) {
|
|||
$prune_days = (int)$_POST['prune_days'];
|
||||
|
||||
$forum_parent = ($_POST['forum_parent'] != -1) ? (int)$_POST['forum_parent'] : 0;
|
||||
$show_on_index = ($forum_parent) ? (int)$_POST['show_on_index'] : 1;
|
||||
$show_on_index = $forum_parent ? (int)$_POST['show_on_index'] : 1;
|
||||
|
||||
$forum_display_order = (int)$_POST['forum_display_order'];
|
||||
$forum_display_sort = (int)$_POST['forum_display_sort'];
|
||||
|
@ -273,7 +273,7 @@ if ($mode) {
|
|||
}
|
||||
|
||||
$cat_id = $parent['cat_id'];
|
||||
$forum_parent = ($parent['forum_parent']) ?: $parent['forum_id'];
|
||||
$forum_parent = $parent['forum_parent'] ?: $parent['forum_id'];
|
||||
$forum_order = $parent['forum_order'] + 5;
|
||||
|
||||
if ($forum_id == $forum_parent) {
|
||||
|
@ -290,8 +290,8 @@ if ($mode) {
|
|||
$forum_name_sql = DB()->escape($forum_name);
|
||||
$forum_desc_sql = DB()->escape($forum_desc);
|
||||
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
forum_name = '$forum_name_sql',
|
||||
cat_id = $cat_id,
|
||||
forum_desc = '$forum_desc_sql',
|
||||
|
@ -322,7 +322,7 @@ if ($mode) {
|
|||
CACHE('bb_cache')->rm();
|
||||
|
||||
$message = $lang['FORUMS_UPDATED'] . '<br /><br />';
|
||||
$message .= ($fix) ? "$fix<br /><br />" : '';
|
||||
$message .= $fix ? "$fix<br /><br />" : '';
|
||||
$message .= sprintf($lang['CLICK_RETURN_FORUMADMIN'], '<a href="admin_forums.php?c=' . $cat_id . '">', '</a>') . '<br /><br />' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>');
|
||||
bb_die($message);
|
||||
|
||||
|
@ -338,14 +338,14 @@ if ($mode) {
|
|||
|
||||
check_name_dup('cat', $new_cat_title);
|
||||
|
||||
$order = DB()->fetch_row("SELECT MAX(cat_order) AS max_order FROM " . BB_CATEGORIES);
|
||||
$order = DB()->fetch_row('SELECT MAX(cat_order) AS max_order FROM ' . BB_CATEGORIES);
|
||||
|
||||
$args = DB()->build_array('INSERT', array(
|
||||
'cat_title' => (string)$new_cat_title,
|
||||
'cat_order' => (int)$order['max_order'] + 10,
|
||||
));
|
||||
|
||||
DB()->query("INSERT INTO " . BB_CATEGORIES . $args);
|
||||
DB()->query('INSERT INTO ' . BB_CATEGORIES . $args);
|
||||
|
||||
$datastore->update('cat_forums');
|
||||
CACHE('bb_cache')->rm();
|
||||
|
@ -371,7 +371,7 @@ if ($mode) {
|
|||
'CAT_TITLE' => htmlCHR($cat_info['cat_title']),
|
||||
'S_HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
|
||||
'S_SUBMIT_VALUE' => $lang['UPDATE'],
|
||||
'S_FORUM_ACTION' => "admin_forums.php",
|
||||
'S_FORUM_ACTION' => 'admin_forums.php',
|
||||
));
|
||||
|
||||
break;
|
||||
|
@ -394,8 +394,8 @@ if ($mode) {
|
|||
|
||||
$new_cat_title_sql = DB()->escape($new_cat_title);
|
||||
|
||||
DB()->query("
|
||||
UPDATE " . BB_CATEGORIES . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_CATEGORIES . " SET
|
||||
cat_title = '$new_cat_title_sql'
|
||||
WHERE cat_id = $cat_id
|
||||
");
|
||||
|
@ -432,7 +432,7 @@ if ($mode) {
|
|||
'CAT_FORUM_NAME' => $lang['FORUM_NAME'],
|
||||
|
||||
'S_HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
|
||||
'S_FORUM_ACTION' => "admin_forums.php",
|
||||
'S_FORUM_ACTION' => 'admin_forums.php',
|
||||
'MOVE_TO_OPTIONS' => $move_to_options,
|
||||
'S_SUBMIT_VALUE' => $lang['MOVE_AND_DELETE'],
|
||||
));
|
||||
|
@ -451,25 +451,25 @@ if ($mode) {
|
|||
topic_delete('prune', $from_id, 0, true);
|
||||
} else {
|
||||
// Move all posts
|
||||
$sql = "SELECT * FROM " . BB_FORUMS . " WHERE forum_id IN($from_id, $to_id)";
|
||||
$sql = 'SELECT * FROM ' . BB_FORUMS . " WHERE forum_id IN($from_id, $to_id)";
|
||||
$result = DB()->query($sql);
|
||||
|
||||
if (DB()->num_rows($result) != 2) {
|
||||
bb_die('Ambiguous forum ID');
|
||||
}
|
||||
|
||||
DB()->query("UPDATE " . BB_TOPICS . " SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||
DB()->query("UPDATE " . BB_BT_TORRENTS . " SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||
DB()->query('UPDATE ' . BB_TOPICS . " SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||
DB()->query('UPDATE ' . BB_BT_TORRENTS . " SET forum_id = $to_id WHERE forum_id = $from_id");
|
||||
|
||||
$row = DB()->fetch_row("SELECT MIN(post_id) AS start_id, MAX(post_id) AS finish_id FROM " . BB_POSTS);
|
||||
$row = DB()->fetch_row('SELECT MIN(post_id) AS start_id, MAX(post_id) AS finish_id FROM ' . BB_POSTS);
|
||||
$start_id = (int)$row['start_id'];
|
||||
$finish_id = (int)$row['finish_id'];
|
||||
$per_cycle = 10000;
|
||||
while (true) {
|
||||
set_time_limit(600);
|
||||
$end_id = $start_id + $per_cycle - 1;
|
||||
DB()->query("
|
||||
UPDATE " . BB_POSTS . " SET forum_id = $to_id WHERE post_id BETWEEN $start_id AND $end_id AND forum_id = $from_id
|
||||
DB()->query('
|
||||
UPDATE ' . BB_POSTS . " SET forum_id = $to_id WHERE post_id BETWEEN $start_id AND $end_id AND forum_id = $from_id
|
||||
");
|
||||
if ($end_id > $finish_id) {
|
||||
break;
|
||||
|
@ -480,9 +480,9 @@ if ($mode) {
|
|||
sync('forum', $to_id);
|
||||
}
|
||||
|
||||
DB()->query("DELETE FROM " . BB_FORUMS . " WHERE forum_id = $from_id");
|
||||
DB()->query("DELETE FROM " . BB_AUTH_ACCESS . " WHERE forum_id = $from_id");
|
||||
DB()->query("DELETE FROM " . BB_AUTH_ACCESS_SNAP . " WHERE forum_id = $from_id");
|
||||
DB()->query('DELETE FROM ' . BB_FORUMS . " WHERE forum_id = $from_id");
|
||||
DB()->query('DELETE FROM ' . BB_AUTH_ACCESS . " WHERE forum_id = $from_id");
|
||||
DB()->query('DELETE FROM ' . BB_AUTH_ACCESS_SNAP . " WHERE forum_id = $from_id");
|
||||
|
||||
$cat_forums = get_cat_forums();
|
||||
fix_orphan_sf();
|
||||
|
@ -501,7 +501,7 @@ if ($mode) {
|
|||
$categories_count = $catinfo['number'];
|
||||
|
||||
if ($categories_count == 1) {
|
||||
$row = DB()->fetch_row("SELECT COUNT(*) AS forums_count FROM " . BB_FORUMS);
|
||||
$row = DB()->fetch_row('SELECT COUNT(*) AS forums_count FROM ' . BB_FORUMS);
|
||||
|
||||
if ($row['forums_count'] > 0) {
|
||||
bb_die($lang['MUST_DELETE_FORUMS']);
|
||||
|
@ -523,7 +523,7 @@ if ($mode) {
|
|||
'CAT_FORUM_NAME' => $lang['CATEGORY'],
|
||||
|
||||
'S_HIDDEN_FIELDS' => build_hidden_fields($hidden_fields),
|
||||
'S_FORUM_ACTION' => "admin_forums.php",
|
||||
'S_FORUM_ACTION' => 'admin_forums.php',
|
||||
'MOVE_TO_OPTIONS' => get_list('category', $cat_id, 0),
|
||||
'S_SUBMIT_VALUE' => $lang['MOVE_AND_DELETE'],
|
||||
));
|
||||
|
@ -541,14 +541,14 @@ if ($mode) {
|
|||
|
||||
$order_shear = get_max_forum_order($to_id) + 10;
|
||||
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
cat_id = $to_id,
|
||||
forum_order = forum_order + $order_shear
|
||||
WHERE cat_id = $from_id
|
||||
");
|
||||
|
||||
DB()->query("DELETE FROM " . BB_CATEGORIES . " WHERE cat_id = $from_id");
|
||||
DB()->query('DELETE FROM ' . BB_CATEGORIES . " WHERE cat_id = $from_id");
|
||||
|
||||
renumber_order('forum', $to_id);
|
||||
$cat_forums = get_cat_forums();
|
||||
|
@ -557,7 +557,7 @@ if ($mode) {
|
|||
CACHE('bb_cache')->rm();
|
||||
|
||||
$message = $lang['FORUMS_UPDATED'] . '<br /><br />';
|
||||
$message .= ($fix) ? "$fix<br /><br />" : '';
|
||||
$message .= $fix ? "$fix<br /><br />" : '';
|
||||
$message .= sprintf($lang['CLICK_RETURN_FORUMADMIN'], '<a href="admin_forums.php">', '</a>') . '<br /><br />' . sprintf($lang['CLICK_RETURN_ADMIN_INDEX'], '<a href="index.php?pane=right">', '</a>');
|
||||
bb_die($message);
|
||||
|
||||
|
@ -576,8 +576,8 @@ if ($mode) {
|
|||
$move_down_forum_id = false;
|
||||
$forums = $cat_forums[$cat_id]['f_ord'];
|
||||
$forum_order = $forum_info['forum_order'];
|
||||
$prev_forum = (isset($forums[$forum_order - 10])) ? $forums[$forum_order - 10] : false;
|
||||
$next_forum = (isset($forums[$forum_order + 10])) ? $forums[$forum_order + 10] : false;
|
||||
$prev_forum = isset($forums[$forum_order - 10]) ? $forums[$forum_order - 10] : false;
|
||||
$next_forum = isset($forums[$forum_order + 10]) ? $forums[$forum_order + 10] : false;
|
||||
|
||||
// move selected forum ($forum_id) UP
|
||||
if ($move < 0 && $prev_forum) {
|
||||
|
@ -607,20 +607,20 @@ if ($mode) {
|
|||
}
|
||||
|
||||
if ($forum_info['forum_parent']) {
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
forum_order = forum_order + $move
|
||||
WHERE forum_id = $forum_id
|
||||
");
|
||||
} elseif ($move_down_forum_id) {
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
forum_order = forum_order + $move_down_ord_val
|
||||
WHERE cat_id = $cat_id
|
||||
AND forum_order >= $move_down_forum_order
|
||||
");
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
forum_order = forum_order - $move_up_ord_val
|
||||
WHERE forum_id = $move_up_forum_id
|
||||
OR forum_parent = $move_up_forum_id
|
||||
|
@ -638,8 +638,8 @@ if ($mode) {
|
|||
$move = (int)$_GET['move'];
|
||||
$cat_id = (int)$_GET['c'];
|
||||
|
||||
DB()->query("
|
||||
UPDATE " . BB_CATEGORIES . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_CATEGORIES . " SET
|
||||
cat_order = cat_order + $move
|
||||
WHERE cat_id = $cat_id
|
||||
");
|
||||
|
@ -674,7 +674,7 @@ if (!$mode || $show_main_page) {
|
|||
'L_FORUM_TITLE' => $lang['FORUM_ADMIN_MAIN'],
|
||||
));
|
||||
|
||||
$sql = "SELECT cat_id, cat_title, cat_order FROM " . BB_CATEGORIES . " ORDER BY cat_order";
|
||||
$sql = 'SELECT cat_id, cat_title, cat_order FROM ' . BB_CATEGORIES . ' ORDER BY cat_order';
|
||||
if (!$q_categories = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query categories list');
|
||||
}
|
||||
|
@ -695,7 +695,7 @@ if (!$mode || $show_main_page) {
|
|||
$where_cat_sql = "WHERE cat_id = '-1'";
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM " . BB_FORUMS . " $where_cat_sql ORDER BY cat_id, forum_order";
|
||||
$sql = 'SELECT * FROM ' . BB_FORUMS . " $where_cat_sql ORDER BY cat_id, forum_order";
|
||||
if (!$q_forums = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query forums information');
|
||||
}
|
||||
|
@ -719,7 +719,7 @@ if (!$mode || $show_main_page) {
|
|||
for ($i = 0; $i < $total_categories; $i++) {
|
||||
$cat_id = $category_rows[$i]['cat_id'];
|
||||
|
||||
$template->assign_block_vars("c", array(
|
||||
$template->assign_block_vars('c', array(
|
||||
'S_ADD_FORUM_SUBMIT' => "addforum[$cat_id]",
|
||||
'S_ADD_FORUM_NAME' => "forumname[$cat_id]",
|
||||
|
||||
|
@ -741,12 +741,12 @@ if (!$mode || $show_main_page) {
|
|||
$row_bgr = " class=\"$bgr_class\" onmouseover=\"this.className='$bgr_class_over';\" onmouseout=\"this.className='$bgr_class';\"";
|
||||
|
||||
if ($forum_rows[$j]['cat_id'] == $cat_id) {
|
||||
$template->assign_block_vars("c.f", array(
|
||||
$template->assign_block_vars('c.f', array(
|
||||
'FORUM_NAME' => htmlCHR($forum_rows[$j]['forum_name']),
|
||||
'FORUM_DESC' => htmlCHR($forum_rows[$j]['forum_desc']),
|
||||
'NUM_TOPICS' => $forum_rows[$j]['forum_topics'],
|
||||
'NUM_POSTS' => $forum_rows[$j]['forum_posts'],
|
||||
'PRUNE_DAYS' => ($forum_rows[$j]['prune_days']) ?: '-',
|
||||
'PRUNE_DAYS' => $forum_rows[$j]['prune_days'] ?: '-',
|
||||
|
||||
'ORDER' => $forum_rows[$j]['forum_order'],
|
||||
'FORUM_ID' => $forum_rows[$j]['forum_id'],
|
||||
|
@ -754,8 +754,8 @@ if (!$mode || $show_main_page) {
|
|||
|
||||
'SHOW_ON_INDEX' => (bool)$forum_rows[$j]['show_on_index'],
|
||||
'FORUM_PARENT' => $forum_rows[$j]['forum_parent'],
|
||||
'SF_PAD' => ($forum_rows[$j]['forum_parent']) ? ' style="padding-left: 20px;" ' : '',
|
||||
'FORUM_NAME_CLASS' => ($forum_rows[$j]['forum_parent']) ? 'genmed' : 'gen',
|
||||
'SF_PAD' => $forum_rows[$j]['forum_parent'] ? ' style="padding-left: 20px;" ' : '',
|
||||
'FORUM_NAME_CLASS' => $forum_rows[$j]['forum_parent'] ? 'genmed' : 'gen',
|
||||
'ADD_SUB_HREF' => "admin_forums.php?mode=addforum&forum_parent={$forum_rows[$j]['forum_id']}",
|
||||
'U_VIEWFORUM' => BB_ROOT . "viewforum.php?f=$forum_id",
|
||||
'U_FORUM_EDIT' => "admin_forums.php?mode=editforum&f=$forum_id",
|
||||
|
@ -773,7 +773,11 @@ if (!$mode || $show_main_page) {
|
|||
|
||||
print_page('admin_forums.tpl', 'admin');
|
||||
|
||||
// Functions
|
||||
/**
|
||||
* @param $mode
|
||||
* @param $id
|
||||
* @return mixed
|
||||
*/
|
||||
function get_info($mode, $id)
|
||||
{
|
||||
switch ($mode) {
|
||||
|
@ -813,6 +817,12 @@ function get_info($mode, $id)
|
|||
return $return;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mode
|
||||
* @param $id
|
||||
* @param $select
|
||||
* @return string
|
||||
*/
|
||||
function get_list($mode, $id, $select)
|
||||
{
|
||||
switch ($mode) {
|
||||
|
@ -855,9 +865,13 @@ function get_list($mode, $id, $select)
|
|||
$catlist .= '<option value="' . $row[$idfield] . '"' . $s . '> ' . htmlCHR(str_short($row[$namefield], 60)) . '</option>\n';
|
||||
}
|
||||
|
||||
return ($catlist);
|
||||
return $catlist;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mode
|
||||
* @param int $cat
|
||||
*/
|
||||
function renumber_order($mode, $cat = 0)
|
||||
{
|
||||
switch ($mode) {
|
||||
|
@ -905,6 +919,10 @@ function renumber_order($mode, $cat = 0)
|
|||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* @param bool $cat_id
|
||||
* @return array
|
||||
*/
|
||||
function get_cat_forums($cat_id = false)
|
||||
{
|
||||
$forums = array();
|
||||
|
@ -935,6 +953,10 @@ function get_cat_forums($cat_id = false)
|
|||
return $forums;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $forum_id
|
||||
* @return int
|
||||
*/
|
||||
function get_sf_count($forum_id)
|
||||
{
|
||||
global $cat_forums;
|
||||
|
@ -952,6 +974,11 @@ function get_sf_count($forum_id)
|
|||
return $sf_count;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $forums
|
||||
* @param $curr_forum_order
|
||||
* @return bool
|
||||
*/
|
||||
function get_prev_root_forum_id($forums, $curr_forum_order)
|
||||
{
|
||||
$i = $curr_forum_order - 10;
|
||||
|
@ -966,6 +993,11 @@ function get_prev_root_forum_id($forums, $curr_forum_order)
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $forums
|
||||
* @param $curr_forum_order
|
||||
* @return bool
|
||||
*/
|
||||
function get_next_root_forum_id($forums, $curr_forum_order)
|
||||
{
|
||||
$i = $curr_forum_order + 10;
|
||||
|
@ -981,6 +1013,9 @@ function get_next_root_forum_id($forums, $curr_forum_order)
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @return string
|
||||
*/
|
||||
function get_orphan_sf()
|
||||
{
|
||||
global $cat_forums;
|
||||
|
@ -1003,6 +1038,11 @@ function get_orphan_sf()
|
|||
return implode(',', $bad_sf_ary);
|
||||
}
|
||||
|
||||
/**
|
||||
* @param string $orphan_sf_sql
|
||||
* @param bool $show_mess
|
||||
* @return string
|
||||
*/
|
||||
function fix_orphan_sf($orphan_sf_sql = '', $show_mess = false)
|
||||
{
|
||||
global $lang;
|
||||
|
@ -1014,7 +1054,7 @@ function fix_orphan_sf($orphan_sf_sql = '', $show_mess = false)
|
|||
}
|
||||
|
||||
if ($orphan_sf_sql) {
|
||||
$sql = "UPDATE " . BB_FORUMS . " SET forum_parent = 0, show_on_index = 1 WHERE forum_id IN($orphan_sf_sql)";
|
||||
$sql = 'UPDATE ' . BB_FORUMS . " SET forum_parent = 0, show_on_index = 1 WHERE forum_id IN($orphan_sf_sql)";
|
||||
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not change subforums data');
|
||||
|
@ -1035,6 +1075,12 @@ function fix_orphan_sf($orphan_sf_sql = '', $show_mess = false)
|
|||
return $done_mess;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mode
|
||||
* @param int $exclude
|
||||
* @param int $select
|
||||
* @return string
|
||||
*/
|
||||
function sf_get_list($mode, $exclude = 0, $select = 0)
|
||||
{
|
||||
global $cat_forums, $forum_parent;
|
||||
|
@ -1048,8 +1094,8 @@ function sf_get_list($mode, $exclude = 0, $select = 0)
|
|||
foreach ($c['f'] as $fid => $f) {
|
||||
$selected = ($fid == $select) ? HTML_SELECTED : '';
|
||||
$disabled = ($fid == $exclude && !$forum_parent) ? HTML_DISABLED : '';
|
||||
$style = ($disabled) ? ' style="color: gray" ' : (($fid == $exclude) ? ' style="color: darkred" ' : '');
|
||||
$opt .= '<option value="' . $fid . '" ' . $selected . $disabled . $style . '>' . (($f['forum_parent']) ? HTML_SF_SPACER : '') . htmlCHR(str_short($f['forum_name'], 60)) . " </option>\n";
|
||||
$style = $disabled ? ' style="color: gray" ' : (($fid == $exclude) ? ' style="color: darkred" ' : '');
|
||||
$opt .= '<option value="' . $fid . '" ' . $selected . $disabled . $style . '>' . ($f['forum_parent'] ? HTML_SF_SPACER : '') . htmlCHR(str_short($f['forum_name'], 60)) . " </option>\n";
|
||||
}
|
||||
|
||||
$opt .= '</optgroup>';
|
||||
|
@ -1059,6 +1105,10 @@ function sf_get_list($mode, $exclude = 0, $select = 0)
|
|||
return $opt;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $forum_id
|
||||
* @return bool
|
||||
*/
|
||||
function get_forum_data($forum_id)
|
||||
{
|
||||
global $cat_forums;
|
||||
|
@ -1074,27 +1124,37 @@ function get_forum_data($forum_id)
|
|||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $cat_id
|
||||
* @return int
|
||||
*/
|
||||
function get_max_forum_order($cat_id)
|
||||
{
|
||||
$row = DB()->fetch_row("
|
||||
$row = DB()->fetch_row('
|
||||
SELECT MAX(forum_order) AS max_forum_order
|
||||
FROM " . BB_FORUMS . "
|
||||
FROM ' . BB_FORUMS . "
|
||||
WHERE cat_id = $cat_id
|
||||
");
|
||||
|
||||
return (int)$row['max_forum_order'];
|
||||
}
|
||||
|
||||
/**
|
||||
* @param $mode
|
||||
* @param $name
|
||||
* @param bool $die_on_error
|
||||
* @return mixed
|
||||
*/
|
||||
function check_name_dup($mode, $name, $die_on_error = true)
|
||||
{
|
||||
$name_sql = DB()->escape($name);
|
||||
|
||||
if ($mode == 'cat') {
|
||||
$what_checked = 'category';
|
||||
$sql = "SELECT cat_id FROM " . BB_CATEGORIES . " WHERE cat_title = '$name_sql'";
|
||||
$sql = 'SELECT cat_id FROM ' . BB_CATEGORIES . " WHERE cat_title = '$name_sql'";
|
||||
} else {
|
||||
$what_checked = 'forum';
|
||||
$sql = "SELECT forum_id FROM " . BB_FORUMS . " WHERE forum_name = '$name_sql'";
|
||||
$sql = 'SELECT forum_id FROM ' . BB_FORUMS . " WHERE forum_name = '$name_sql'";
|
||||
}
|
||||
|
||||
$name_is_dup = DB()->fetch_row($sql);
|
||||
|
@ -1108,11 +1168,15 @@ function check_name_dup($mode, $name, $die_on_error = true)
|
|||
|
||||
/**
|
||||
* Change subforums cat_id if parent's cat_id was changed
|
||||
*
|
||||
* @param $parent_id
|
||||
* @param $new_cat_id
|
||||
* @param $order_shear
|
||||
*/
|
||||
function change_sf_cat($parent_id, $new_cat_id, $order_shear)
|
||||
{
|
||||
DB()->query("
|
||||
UPDATE " . BB_FORUMS . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_FORUMS . " SET
|
||||
cat_id = $new_cat_id,
|
||||
forum_order = forum_order + $order_shear
|
||||
WHERE forum_parent = $parent_id
|
||||
|
|
|
@ -49,7 +49,7 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
'release_group' => $row['release_group'],
|
||||
);
|
||||
$mode = 'editgroup';
|
||||
$template->assign_block_vars('group_edit', array());
|
||||
$template->assign_block_vars('group_edit', []);
|
||||
} elseif (!empty($_POST['new'])) {
|
||||
$group_info = array(
|
||||
'group_name' => '',
|
||||
|
@ -75,15 +75,15 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
'GROUP_DESCRIPTION' => stripslashes(htmlspecialchars($group_info['group_description'])),
|
||||
'GROUP_MODERATOR' => replace_quote($group_info['group_mod_name']),
|
||||
'T_GROUP_EDIT_DELETE' => ($mode == 'newgroup') ? $lang['CREATE_NEW_GROUP'] : $lang['EDIT_GROUP'],
|
||||
'U_SEARCH_USER' => BB_ROOT . "search.php?mode=searchuser",
|
||||
'U_SEARCH_USER' => BB_ROOT . 'search.php?mode=searchuser',
|
||||
'S_GROUP_OPEN_TYPE' => GROUP_OPEN,
|
||||
'S_GROUP_CLOSED_TYPE' => GROUP_CLOSED,
|
||||
'S_GROUP_HIDDEN_TYPE' => GROUP_HIDDEN,
|
||||
'S_GROUP_OPEN_CHECKED' => ($group_info['group_type'] == GROUP_OPEN) ? HTML_CHECKED : '',
|
||||
'S_GROUP_CLOSED_CHECKED' => ($group_info['group_type'] == GROUP_CLOSED) ? HTML_CHECKED : '',
|
||||
'S_GROUP_HIDDEN_CHECKED' => ($group_info['group_type'] == GROUP_HIDDEN) ? HTML_CHECKED : '',
|
||||
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
|
||||
'S_GROUP_ACTION' => "admin_groups.php",
|
||||
'RELEASE_GROUP' => $group_info['release_group'] ? true : false,
|
||||
'S_GROUP_ACTION' => 'admin_groups.php',
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
));
|
||||
} elseif (!empty($_POST['group_update'])) {
|
||||
|
@ -126,7 +126,7 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
'group_single_user' => 0,
|
||||
);
|
||||
|
||||
if ($mode == "editgroup") {
|
||||
if ($mode == 'editgroup') {
|
||||
if (!$group_info = get_group_data($group_id)) {
|
||||
bb_die($lang['GROUP_NOT_EXIST']);
|
||||
}
|
||||
|
@ -145,7 +145,7 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
$sql_args = DB()->build_array('UPDATE', $sql_ary);
|
||||
|
||||
// Update group's data
|
||||
DB()->query("UPDATE " . BB_GROUPS . " SET $sql_args WHERE group_id = $group_id");
|
||||
DB()->query('UPDATE ' . BB_GROUPS . " SET $sql_args WHERE group_id = $group_id");
|
||||
|
||||
$message = $lang['UPDATED_GROUP'] . '<br /><br />';
|
||||
$message .= sprintf($lang['CLICK_RETURN_GROUPSADMIN'], '<a href="admin_groups.php">', '</a>') . '<br /><br />';
|
||||
|
@ -157,7 +157,7 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
$sql_args = DB()->build_array('INSERT', $sql_ary);
|
||||
|
||||
// Create new group
|
||||
DB()->query("INSERT INTO " . BB_GROUPS . " $sql_args");
|
||||
DB()->query('INSERT INTO ' . BB_GROUPS . " $sql_args");
|
||||
$new_group_id = DB()->sql_nextid();
|
||||
|
||||
// Create user_group for group's moderator
|
||||
|
@ -176,7 +176,7 @@ if (!empty($_POST['edit']) || !empty($_POST['new'])) {
|
|||
$template->assign_vars(array(
|
||||
'TPL_GROUP_SELECT' => true,
|
||||
|
||||
'S_GROUP_ACTION' => "admin_groups.php",
|
||||
'S_GROUP_ACTION' => 'admin_groups.php',
|
||||
'S_GROUP_SELECT' => stripslashes(get_select('groups')),
|
||||
));
|
||||
}
|
||||
|
|
|
@ -147,12 +147,9 @@ $topic_csv = '';
|
|||
if ($var =& $_REQUEST[$topic_key]) {
|
||||
$topic_selected = get_id_ary($var);
|
||||
$topic_csv = implode(',', $topic_selected);
|
||||
$url = ($topic_csv) ? url_arg($url, $topic_key, $topic_csv) : $url;
|
||||
$url = $topic_csv ? url_arg($url, $topic_key, $topic_csv) : $url;
|
||||
}
|
||||
|
||||
// Order
|
||||
$order_val = 'log_time';
|
||||
|
||||
// Sort
|
||||
$sort_val = $def_sort;
|
||||
|
||||
|
@ -181,7 +178,7 @@ $time_end_val = 86400 + mktime(0, 0, 0, date('m', $datetime_val), date('d', $dat
|
|||
$time_start_val = $time_end_val - 86400 * $daysback_val;
|
||||
|
||||
// First log time
|
||||
$row = DB()->fetch_row("SELECT MIN(log_time) AS first_log_time FROM " . BB_LOG);
|
||||
$row = DB()->fetch_row('SELECT MIN(log_time) AS first_log_time FROM ' . BB_LOG);
|
||||
$first_log_time = (int)$row['first_log_time'];
|
||||
|
||||
// Title match
|
||||
|
@ -194,46 +191,21 @@ if ($var =& $_REQUEST[$title_match_key]) {
|
|||
}
|
||||
}
|
||||
|
||||
//
|
||||
// SQL
|
||||
//
|
||||
$select = "SELECT *";
|
||||
$where = " WHERE l.log_time BETWEEN '$time_start_val' AND '$time_end_val'";
|
||||
$where .= $type_csv ? " AND l.log_type_id IN($type_csv)" : '';
|
||||
$where .= $user_csv ? " AND l.log_user_id IN($user_csv)" : '';
|
||||
$where .= $forum_csv ? " AND l.log_forum_id IN($forum_csv)" : '';
|
||||
$where .= $topic_csv ? " AND l.log_topic_id IN($topic_csv)" : '';
|
||||
$where .= $title_match_sql ? " AND MATCH (l.log_topic_title) AGAINST ('$title_match_sql' IN BOOLEAN MODE)" : '';
|
||||
|
||||
$from = "FROM " . BB_LOG;
|
||||
|
||||
$where = "
|
||||
WHERE log_time BETWEEN $time_start_val AND $time_end_val
|
||||
";
|
||||
$where .= ($type_csv) ? "
|
||||
AND log_type_id IN($type_csv)
|
||||
" : '';
|
||||
$where .= ($user_csv) ? "
|
||||
AND log_user_id IN($user_csv)
|
||||
" : '';
|
||||
$where .= ($forum_csv) ? "
|
||||
AND log_forum_id IN($forum_csv)
|
||||
" : '';
|
||||
$where .= ($topic_csv) ? "
|
||||
AND log_topic_id IN($topic_csv)
|
||||
" : '';
|
||||
$where .= ($title_match_sql) ? "
|
||||
AND MATCH (log_topic_title) AGAINST ('$title_match_sql' IN BOOLEAN MODE)
|
||||
" : '';
|
||||
|
||||
$order = "ORDER BY $order_val";
|
||||
|
||||
$sort = $sort_val;
|
||||
|
||||
$limit = "LIMIT $start, " . ($per_page + 1);
|
||||
|
||||
$sql = "
|
||||
$select
|
||||
$from
|
||||
$sql = 'SELECT l.*, u.*
|
||||
FROM ' . BB_LOG . ' l
|
||||
LEFT JOIN ' . BB_USERS . " u ON(u.user_id = l.log_user_id)
|
||||
$where
|
||||
$order
|
||||
$sort
|
||||
$limit
|
||||
";
|
||||
ORDER BY l.log_time
|
||||
$sort_val
|
||||
LIMIT $start, " . ($per_page + 1);
|
||||
|
||||
$log_rowset = DB()->fetch_rowset($sql);
|
||||
$log_count = count($log_rowset);
|
||||
|
@ -289,7 +261,7 @@ if ($log_rowset) {
|
|||
break;
|
||||
}
|
||||
|
||||
$msg .= " $row[log_msg]";
|
||||
$msg .= " {$row['log_msg']}";
|
||||
|
||||
$row_class = !($row_num & 1) ? $row_class_1 : $row_class_2;
|
||||
|
||||
|
@ -301,7 +273,7 @@ if ($log_rowset) {
|
|||
'ACTION_HREF_S' => url_arg($url, $type_key, $row['log_type_id']),
|
||||
|
||||
'USER_ID' => $row['log_user_id'],
|
||||
'USERNAME' => $row['log_username'],
|
||||
'USERNAME' => profile_url($row),
|
||||
'USER_HREF_S' => url_arg($url, $user_key, $row['log_user_id']),
|
||||
'USER_IP' => Longman\IPTools\Ip::isValid($row['log_user_ip']) ? decode_ip($row['log_user_ip']) : '127.0.0.1',
|
||||
|
||||
|
@ -348,16 +320,16 @@ if ($log_rowset) {
|
|||
$filter['forums'][$forum_name] = true;
|
||||
}
|
||||
// Users
|
||||
if ($user_csv && empty($filter['users'][$row['log_username']])) {
|
||||
if ($user_csv && empty($filter['users'])) {
|
||||
$template->assign_block_vars('users', array(
|
||||
'USERNAME' => $row['log_username'],
|
||||
'USERNAME' => profile_url($row),
|
||||
));
|
||||
$filter['users'][$row['log_username']] = true;
|
||||
$filter['users'] = true;
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'FILTERS' => ($topic_csv || $forum_csv || $user_csv),
|
||||
'FILTERS' => $topic_csv || $forum_csv || $user_csv,
|
||||
'FILTER_TOPICS' => !empty($filter['topics']),
|
||||
'FILTER_FORUMS' => !empty($filter['forums']),
|
||||
'FILTER_USERS' => !empty($filter['users']),
|
||||
|
@ -366,14 +338,9 @@ if ($log_rowset) {
|
|||
$template->assign_block_vars('log_not_found', array());
|
||||
}
|
||||
|
||||
//
|
||||
// Selects
|
||||
//
|
||||
// Select
|
||||
$log_type_select = array($lang['ACTS_LOG_ALL_ACTIONS'] => $all_types) + $log_action->log_type_select;
|
||||
|
||||
// Order select
|
||||
$order_options = '<option value=""> ' . $lang['ACTS_LOG_TIME'] . ' </option>';
|
||||
|
||||
$template->assign_vars(array(
|
||||
'LOG_COLSPAN' => 4,
|
||||
|
||||
|
@ -381,15 +348,12 @@ $template->assign_vars(array(
|
|||
'DATETIME_VAL' => date('Y-m-d', $datetime_val),
|
||||
'DAYSBACK_NAME' => $daysback_key,
|
||||
'DAYSBACK_VAL' => $daysback_val,
|
||||
'FIRST_LOG_TIME' => ($first_log_time) ? date('Y-m-d', $first_log_time) : $lang['ACC_NONE'],
|
||||
'FIRST_LOG_TIME' => $first_log_time ? date('Y-m-d', $first_log_time) : $lang['ACC_NONE'],
|
||||
|
||||
'TITLE_MATCH_MAX' => $title_match_max_len,
|
||||
'TITLE_MATCH_NAME' => $title_match_key,
|
||||
'TITLE_MATCH_VAL' => $title_match_val,
|
||||
|
||||
'ORDER_NAME' => '',
|
||||
'ORDER_OPTIONS' => $order_options,
|
||||
|
||||
'SORT_NAME' => $sort_key,
|
||||
'SORT_ASC' => $sort_asc,
|
||||
'SORT_DESC' => $sort_desc,
|
||||
|
@ -400,7 +364,7 @@ $template->assign_vars(array(
|
|||
'SEL_LOG_TYPE' => build_select("{$type_key}[]", $log_type_select, $type_selected, 60, $select_max_height),
|
||||
'SEL_USERS' => build_select("{$user_key}[]", $users, $user_selected, 16, $select_max_height),
|
||||
|
||||
'S_LOG_ACTION' => "admin_log.php",
|
||||
'S_LOG_ACTION' => 'admin_log.php',
|
||||
'TOPIC_CSV' => $topic_csv,
|
||||
));
|
||||
|
||||
|
|
|
@ -30,13 +30,13 @@ if (!empty($setmodules)) {
|
|||
|
||||
require __DIR__ . '/pagestart.php';
|
||||
|
||||
@set_time_limit(1200);
|
||||
set_time_limit(1200);
|
||||
|
||||
$subject = (string)trim(request_var('subject', ''));
|
||||
$message = (string)request_var('message', '');
|
||||
$group_id = (int)request_var(POST_GROUPS_URL, 0);
|
||||
|
||||
$errors = $user_id_sql = array();
|
||||
$errors = $user_id_sql = [];
|
||||
|
||||
if (isset($_POST['submit'])) {
|
||||
if (!$subject) {
|
||||
|
@ -50,7 +50,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if (!$errors) {
|
||||
$sql = DB()->fetch_rowset("SELECT ban_userid FROM " . BB_BANLIST . " WHERE ban_userid != 0");
|
||||
$sql = DB()->fetch_rowset('SELECT ban_userid FROM ' . BB_BANLIST . ' WHERE ban_userid != 0');
|
||||
|
||||
foreach ($sql as $row) {
|
||||
$user_id_sql[] = ',' . $row['ban_userid'];
|
||||
|
@ -58,22 +58,22 @@ if (isset($_POST['submit'])) {
|
|||
$user_id_sql = implode('', $user_id_sql);
|
||||
|
||||
if ($group_id != -1) {
|
||||
$user_list = DB()->fetch_rowset("
|
||||
$user_list = DB()->fetch_rowset('
|
||||
SELECT u.username, u.user_email, u.user_lang
|
||||
FROM " . BB_USERS . " u, " . BB_USER_GROUP . " ug
|
||||
FROM ' . BB_USERS . ' u, ' . BB_USER_GROUP . " ug
|
||||
WHERE ug.group_id = $group_id
|
||||
AND ug.user_pending = 0
|
||||
AND u.user_id = ug.user_id
|
||||
AND u.user_active = 1
|
||||
AND u.user_id NOT IN(" . EXCLUDED_USERS . $user_id_sql . ")
|
||||
");
|
||||
AND u.user_id NOT IN(" . EXCLUDED_USERS . $user_id_sql . ')
|
||||
');
|
||||
} else {
|
||||
$user_list = DB()->fetch_rowset("
|
||||
$user_list = DB()->fetch_rowset('
|
||||
SELECT username, user_email, user_lang
|
||||
FROM " . BB_USERS . "
|
||||
FROM ' . BB_USERS . '
|
||||
WHERE user_active = 1
|
||||
AND user_id NOT IN(" . EXCLUDED_USERS . $user_id_sql . ")
|
||||
");
|
||||
AND user_id NOT IN(' . EXCLUDED_USERS . $user_id_sql . ')
|
||||
');
|
||||
}
|
||||
|
||||
foreach ($user_list as $i => $row) {
|
||||
|
@ -98,11 +98,11 @@ if (isset($_POST['submit'])) {
|
|||
//
|
||||
// Generate page
|
||||
//
|
||||
$sql = "SELECT group_id, group_name
|
||||
FROM " . BB_GROUPS . "
|
||||
$sql = 'SELECT group_id, group_name
|
||||
FROM ' . BB_GROUPS . '
|
||||
WHERE group_single_user = 0
|
||||
ORDER BY group_name
|
||||
";
|
||||
';
|
||||
|
||||
$groups = array('-- ' . $lang['ALL_USERS'] . ' --' => -1);
|
||||
foreach (DB()->fetch_rowset($sql) as $row) {
|
||||
|
@ -113,7 +113,7 @@ $template->assign_vars(array(
|
|||
'MESSAGE' => $message,
|
||||
'SUBJECT' => $subject,
|
||||
|
||||
'ERROR_MESSAGE' => ($errors) ? implode('<br />', array_unique($errors)) : '',
|
||||
'ERROR_MESSAGE' => $errors ? implode('<br />', array_unique($errors)) : '',
|
||||
|
||||
'S_USER_ACTION' => 'admin_mass_email.php',
|
||||
'S_GROUP_SELECT' => build_select(POST_GROUPS_URL, $groups),
|
||||
|
|
|
@ -53,7 +53,7 @@ if ($mode != '') {
|
|||
//
|
||||
// They want to add a new rank, show the form.
|
||||
//
|
||||
$rank_id = (isset($_GET['id'])) ? (int)$_GET['id'] : 0;
|
||||
$rank_id = isset($_GET['id']) ? (int)$_GET['id'] : 0;
|
||||
|
||||
$s_hidden_fields = '';
|
||||
|
||||
|
@ -62,7 +62,7 @@ if ($mode != '') {
|
|||
bb_die($lang['MUST_SELECT_RANK']);
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM " . BB_RANKS . " WHERE rank_id = $rank_id";
|
||||
$sql = 'SELECT * FROM ' . BB_RANKS . " WHERE rank_id = $rank_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not obtain ranks data #1');
|
||||
}
|
||||
|
@ -84,12 +84,12 @@ if ($mode != '') {
|
|||
'RANK' => !empty($rank_info['rank_title']) ? $rank_info['rank_title'] : '',
|
||||
'SPECIAL_RANK' => $rank_is_special,
|
||||
'NOT_SPECIAL_RANK' => $rank_is_not_special,
|
||||
'MINIMUM' => ($rank_is_special) ? '' : @$rank_info['rank_min'],
|
||||
'MINIMUM' => $rank_is_special ? '' : $rank_info['rank_min'],
|
||||
'IMAGE' => !empty($rank_info['rank_image']) ? $rank_info['rank_image'] : 'styles/images/ranks/rank_image.png',
|
||||
'STYLE' => !empty($rank_info['rank_style']) ? $rank_info['rank_style'] : '',
|
||||
'IMAGE_DISPLAY' => !empty($rank_info['rank_image']) ? '<img src="../' . $rank_info['rank_image'] . '" />' : '',
|
||||
|
||||
'S_RANK_ACTION' => "admin_ranks.php",
|
||||
'S_RANK_ACTION' => 'admin_ranks.php',
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
));
|
||||
} elseif ($mode == 'save') {
|
||||
|
@ -97,12 +97,12 @@ if ($mode != '') {
|
|||
// Ok, they sent us our info, let's update it.
|
||||
//
|
||||
|
||||
$rank_id = (isset($_POST['id'])) ? (int)$_POST['id'] : 0;
|
||||
$rank_title = (isset($_POST['title'])) ? trim($_POST['title']) : '';
|
||||
$rank_style = (isset($_POST['style'])) ? trim($_POST['style']) : '';
|
||||
$rank_id = isset($_POST['id']) ? (int)$_POST['id'] : 0;
|
||||
$rank_title = isset($_POST['title']) ? trim($_POST['title']) : '';
|
||||
$rank_style = isset($_POST['style']) ? trim($_POST['style']) : '';
|
||||
$special_rank = ($_POST['special_rank'] == 1) ? true : 0;
|
||||
$min_posts = (isset($_POST['min_posts'])) ? (int)$_POST['min_posts'] : -1;
|
||||
$rank_image = ((isset($_POST['rank_image']))) ? trim($_POST['rank_image']) : '';
|
||||
$min_posts = isset($_POST['min_posts']) ? (int)$_POST['min_posts'] : -1;
|
||||
$rank_image = isset($_POST['rank_image']) ? trim($_POST['rank_image']) : '';
|
||||
|
||||
if ($rank_title == '') {
|
||||
bb_die($lang['MUST_SELECT_RANK']);
|
||||
|
@ -124,12 +124,12 @@ if ($mode != '') {
|
|||
|
||||
if ($rank_id) {
|
||||
if (!$special_rank) {
|
||||
$sql = "UPDATE " . BB_USERS . " SET user_rank = 0 WHERE user_rank = $rank_id";
|
||||
$sql = 'UPDATE ' . BB_USERS . " SET user_rank = 0 WHERE user_rank = $rank_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die($lang['NO_UPDATE_RANKS']);
|
||||
}
|
||||
}
|
||||
$sql = "UPDATE " . BB_RANKS . "
|
||||
$sql = 'UPDATE ' . BB_RANKS . "
|
||||
SET rank_title = '" . DB()->escape($rank_title) . "',
|
||||
rank_special = $special_rank,
|
||||
rank_min = $min_posts,
|
||||
|
@ -139,7 +139,7 @@ if ($mode != '') {
|
|||
|
||||
$message = $lang['RANK_UPDATED'];
|
||||
} else {
|
||||
$sql = "INSERT INTO " . BB_RANKS . " (rank_title, rank_special, rank_min, rank_image, rank_style)
|
||||
$sql = 'INSERT INTO ' . BB_RANKS . " (rank_title, rank_special, rank_min, rank_image, rank_style)
|
||||
VALUES ('" . DB()->escape($rank_title) . "', $special_rank, $min_posts, '" . DB()->escape($rank_image) . "', '" . DB()->escape($rank_style) . "')";
|
||||
|
||||
$message = $lang['RANK_ADDED'];
|
||||
|
@ -160,19 +160,19 @@ if ($mode != '') {
|
|||
//
|
||||
|
||||
if (isset($_POST['id']) || isset($_GET['id'])) {
|
||||
$rank_id = (isset($_POST['id'])) ? (int)$_POST['id'] : (int)$_GET['id'];
|
||||
$rank_id = isset($_POST['id']) ? (int)$_POST['id'] : (int)$_GET['id'];
|
||||
} else {
|
||||
$rank_id = 0;
|
||||
}
|
||||
|
||||
if ($rank_id) {
|
||||
$sql = "DELETE FROM " . BB_RANKS . " WHERE rank_id = $rank_id";
|
||||
$sql = 'DELETE FROM ' . BB_RANKS . " WHERE rank_id = $rank_id";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not delete rank data');
|
||||
}
|
||||
|
||||
$sql = "UPDATE " . BB_USERS . " SET user_rank = 0 WHERE user_rank = $rank_id";
|
||||
$sql = 'UPDATE ' . BB_USERS . " SET user_rank = 0 WHERE user_rank = $rank_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die($lang['NO_UPDATE_RANKS']);
|
||||
}
|
||||
|
@ -190,7 +190,7 @@ if ($mode != '') {
|
|||
//
|
||||
// Show the default page
|
||||
//
|
||||
$sql = "SELECT * FROM " . BB_RANKS . " ORDER BY rank_min, rank_title";
|
||||
$sql = 'SELECT * FROM ' . BB_RANKS . ' ORDER BY rank_min, rank_title';
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not obtain ranks data #2');
|
||||
}
|
||||
|
@ -199,7 +199,7 @@ if ($mode != '') {
|
|||
|
||||
$template->assign_vars(array(
|
||||
'TPL_RANKS_LIST' => true,
|
||||
'S_RANKS_ACTION' => "admin_ranks.php",
|
||||
'S_RANKS_ACTION' => 'admin_ranks.php',
|
||||
));
|
||||
|
||||
for ($i = 0; $i < $rank_count; $i++) {
|
||||
|
@ -214,13 +214,13 @@ if ($mode != '') {
|
|||
|
||||
$row_class = !($i % 2) ? 'row1' : 'row2';
|
||||
|
||||
$rank_is_special = ($special_rank) ? $lang['YES'] : $lang['NO'];
|
||||
$rank_is_special = $special_rank ? $lang['YES'] : $lang['NO'];
|
||||
|
||||
$template->assign_block_vars('ranks', array(
|
||||
'ROW_CLASS' => $row_class,
|
||||
'RANK' => $rank,
|
||||
'STYLE' => $rank_rows[$i]['rank_style'],
|
||||
'IMAGE_DISPLAY' => ($rank_rows[$i]['rank_image']) ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : '',
|
||||
'IMAGE_DISPLAY' => $rank_rows[$i]['rank_image'] ? '<img src="../' . $rank_rows[$i]['rank_image'] . '" />' : '',
|
||||
'SPECIAL_RANK' => $rank_is_special,
|
||||
'RANK_MIN' => $rank_min,
|
||||
|
||||
|
|
|
@ -46,22 +46,22 @@ define('REBUILD_SEARCH_COMPLETED', 2); // when all the db posts have been proce
|
|||
//
|
||||
$def_post_limit = 50;
|
||||
$def_refresh_rate = 3;
|
||||
$def_time_limit = ($sys_time_limit = @ini_get('max_execution_time')) ? $sys_time_limit : 30;
|
||||
$def_time_limit = ($sys_time_limit = ini_get('max_execution_time')) ? $sys_time_limit : 30;
|
||||
|
||||
$last_session_data = get_rebuild_session_details('last', 'all');
|
||||
$last_session_id = (int)$last_session_data['rebuild_session_id'];
|
||||
$max_post_id = get_latest_post_id();
|
||||
$start_time = TIMENOW;
|
||||
|
||||
$mode = (string)@$_REQUEST['mode'];
|
||||
$mode = isset($_REQUEST['mode']) ? (string)$_REQUEST['mode'] : '';
|
||||
|
||||
// check if the user has choosen to stop processing
|
||||
if (isset($_REQUEST['cancel_button'])) {
|
||||
// update the rebuild_status
|
||||
if ($last_session_id) {
|
||||
DB()->query("
|
||||
UPDATE " . BB_SEARCH_REBUILD . " SET
|
||||
rebuild_session_status = " . REBUILD_SEARCH_ABORTED . "
|
||||
DB()->query('
|
||||
UPDATE ' . BB_SEARCH_REBUILD . ' SET
|
||||
rebuild_session_status = ' . REBUILD_SEARCH_ABORTED . "
|
||||
WHERE rebuild_session_id = $last_session_id
|
||||
");
|
||||
}
|
||||
|
@ -70,7 +70,7 @@ if (isset($_REQUEST['cancel_button'])) {
|
|||
}
|
||||
|
||||
// from which post to start processing
|
||||
$start = abs((int)(@$_REQUEST['start']));
|
||||
$start = isset($_REQUEST['start']) ? abs((int)$_REQUEST['start']) : 0;
|
||||
|
||||
// get the total number of posts in the db
|
||||
$total_posts = get_total_posts();
|
||||
|
@ -86,7 +86,8 @@ $session_posts_processed = ($mode == 'refresh') ? get_processed_posts('session')
|
|||
$total_posts_processing = $total_posts - $total_posts_processed;
|
||||
|
||||
// how many posts to process in this session
|
||||
if ($session_posts_processing = @(int)$_REQUEST['session_posts_processing']) {
|
||||
$session_posts_processing = isset($_REQUEST['session_posts_processing']) ? (int)$_REQUEST['session_posts_processing'] : null;
|
||||
if (null !== $session_posts_processing) {
|
||||
if ($mode == 'submit') {
|
||||
// check if we passed over total_posts just after submitting
|
||||
if ($session_posts_processing + $total_posts_processed > $total_posts) {
|
||||
|
@ -116,9 +117,9 @@ if (isset($_REQUEST['time_limit'])) {
|
|||
$time_limit_explain = $lang['TIME_LIMIT_EXPLAIN'];
|
||||
|
||||
// check for webserver timeout (IE returns null)
|
||||
if (isset($_SERVER["HTTP_KEEP_ALIVE"])) {
|
||||
if (isset($_SERVER['HTTP_KEEP_ALIVE'])) {
|
||||
// get webserver timeout
|
||||
$webserver_timeout = (int)$_SERVER["HTTP_KEEP_ALIVE"];
|
||||
$webserver_timeout = (int)$_SERVER['HTTP_KEEP_ALIVE'];
|
||||
$time_limit_explain .= '<br />' . sprintf($lang['TIME_LIMIT_EXPLAIN_WEBSERVER'], $webserver_timeout);
|
||||
|
||||
if ($time_limit > $webserver_timeout) {
|
||||
|
@ -138,7 +139,7 @@ if ($mode == 'submit') {
|
|||
}
|
||||
|
||||
// Increase maximum execution time in case of a lot of posts, but don't complain about it if it isn't allowed.
|
||||
@set_time_limit($time_limit + 20);
|
||||
set_time_limit($time_limit + 20);
|
||||
|
||||
// check if we are should start processing
|
||||
if ($mode == 'submit' || $mode == 'refresh') {
|
||||
|
@ -157,12 +158,12 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
pt.post_id, pt.post_text,
|
||||
IF(p.post_id = t.topic_first_post_id, t.topic_title, '') AS post_subject
|
||||
FROM
|
||||
" . BB_POSTS_TEXT . " pt,
|
||||
" . BB_POSTS . " p,
|
||||
" . BB_TOPICS . " t
|
||||
" . BB_POSTS_TEXT . ' pt,
|
||||
' . BB_POSTS . ' p,
|
||||
' . BB_TOPICS . ' t
|
||||
WHERE p.post_id = pt.post_id
|
||||
AND t.topic_id = p.topic_id
|
||||
AND p.poster_id NOT IN(" . BOT_UID . ")
|
||||
AND p.poster_id NOT IN(' . BOT_UID . ")
|
||||
AND pt.post_id >= $start
|
||||
ORDER BY pt.post_id ASC
|
||||
LIMIT $post_limit
|
||||
|
@ -174,7 +175,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
$words_sql = array();
|
||||
|
||||
while ($row = DB()->fetch_next($result) and !$timer_expired) {
|
||||
@set_time_limit(600);
|
||||
set_time_limit(600);
|
||||
$start_post_id = ($num_rows == 0) ? $row['post_id'] : $start_post_id;
|
||||
$end_post_id = $row['post_id'];
|
||||
|
||||
|
@ -192,7 +193,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
|
||||
// Store search words
|
||||
if ($words_sql) {
|
||||
DB()->query("REPLACE INTO " . BB_POSTS_SEARCH . DB()->build_array('MULTI_INSERT', $words_sql));
|
||||
DB()->query('REPLACE INTO ' . BB_POSTS_SEARCH . DB()->build_array('MULTI_INSERT', $words_sql));
|
||||
}
|
||||
|
||||
// find how much time the last cycle took
|
||||
|
@ -214,13 +215,13 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
'search_size' => (int)$search_tables_size,
|
||||
'rebuild_session_status' => REBUILD_SEARCH_PROCESSED,
|
||||
));
|
||||
DB()->query("REPLACE INTO " . BB_SEARCH_REBUILD . $args);
|
||||
DB()->query('REPLACE INTO ' . BB_SEARCH_REBUILD . $args);
|
||||
} else {
|
||||
// refresh
|
||||
|
||||
// update the last session entry
|
||||
DB()->query("
|
||||
UPDATE " . BB_SEARCH_REBUILD . " SET
|
||||
DB()->query('
|
||||
UPDATE ' . BB_SEARCH_REBUILD . " SET
|
||||
end_post_id = $end_post_id,
|
||||
end_time = " . TIMENOW . ",
|
||||
last_cycle_time = $last_cycle_time,
|
||||
|
@ -237,7 +238,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
$template->assign_vars(array('TPL_REBUILD_SEARCH_PROGRESS' => true));
|
||||
|
||||
$processing_messages = '';
|
||||
$processing_messages .= ($timer_expired) ? sprintf($lang['TIMER_EXPIRED'], TIMENOW - $start_time) : '';
|
||||
$processing_messages .= $timer_expired ? sprintf($lang['TIMER_EXPIRED'], TIMENOW - $start_time) : '';
|
||||
$processing_messages .= ($start == 0 && $clear_search) ? $lang['CLEARED_SEARCH_TABLES'] : '';
|
||||
|
||||
// check if we have reached the end of our post processing
|
||||
|
@ -267,7 +268,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
} else {
|
||||
// end of processing
|
||||
|
||||
$form_action = "admin_rebuild_search.php";
|
||||
$form_action = 'admin_rebuild_search.php';
|
||||
$next_button = $lang['FINISHED'];
|
||||
$progress_bar_img = $images['progress_bar_full'];
|
||||
|
||||
|
@ -275,8 +276,8 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
$processing_messages .= ($total_posts_processed == $total_posts) ? $lang['ALL_POSTS_PROCESSED'] : $lang['ALL_SESSION_POSTS_PROCESSED'];
|
||||
|
||||
// if we have processed all the db posts we need to update the rebuild_status
|
||||
DB()->query("UPDATE " . BB_SEARCH_REBUILD . " SET
|
||||
rebuild_session_status = " . REBUILD_SEARCH_COMPLETED . "
|
||||
DB()->query('UPDATE ' . BB_SEARCH_REBUILD . ' SET
|
||||
rebuild_session_status = ' . REBUILD_SEARCH_COMPLETED . "
|
||||
WHERE rebuild_session_id = $last_session_id
|
||||
AND end_post_id = $max_post_id
|
||||
");
|
||||
|
@ -369,7 +370,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
$last_saved_processing = sprintf($lang['INFO_PROCESSING_STOPPED'], $last_saved_post_id, $total_posts_processed, $last_saved_date);
|
||||
$clear_search_disabled = 'disabled="disabled"';
|
||||
|
||||
$template->assign_block_vars("start_select_input", array());
|
||||
$template->assign_block_vars('start_select_input', array());
|
||||
} elseif ($last_session_data['rebuild_session_status'] == REBUILD_SEARCH_ABORTED) {
|
||||
$last_saved_processing = sprintf($lang['INFO_PROCESSING_ABORTED'], $last_saved_post_id, $total_posts_processed, $last_saved_date);
|
||||
// check if the interrupted cycle has finished
|
||||
|
@ -378,25 +379,25 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
}
|
||||
$clear_search_disabled = 'disabled="disabled"';
|
||||
|
||||
$template->assign_block_vars("start_select_input", array());
|
||||
$template->assign_block_vars('start_select_input', array());
|
||||
} else {
|
||||
// when finished
|
||||
|
||||
if ($last_session_data['end_post_id'] < $max_post_id) {
|
||||
$last_saved_processing = sprintf($lang['INFO_PROCESSING_FINISHED_NEW'], $last_saved_post_id, $total_posts_processed, $last_saved_date, ($total_posts - $total_posts_processed));
|
||||
$last_saved_processing = sprintf($lang['INFO_PROCESSING_FINISHED_NEW'], $last_saved_post_id, $total_posts_processed, $last_saved_date, $total_posts - $total_posts_processed);
|
||||
$clear_search_disabled = 'disabled="disabled"';
|
||||
|
||||
$template->assign_block_vars("start_select_input", array());
|
||||
$template->assign_block_vars('start_select_input', array());
|
||||
} else {
|
||||
$last_saved_processing = sprintf($lang['INFO_PROCESSING_FINISHED'], $total_posts, $last_saved_date);
|
||||
|
||||
$template->assign_block_vars("start_text_input", array());
|
||||
$template->assign_block_vars('start_text_input', array());
|
||||
}
|
||||
}
|
||||
|
||||
$template->assign_block_vars("last_saved_info", array());
|
||||
$template->assign_block_vars('last_saved_info', array());
|
||||
} else {
|
||||
$template->assign_block_vars("start_text_input", array());
|
||||
$template->assign_block_vars('start_text_input', array());
|
||||
}
|
||||
|
||||
// create the output of page
|
||||
|
@ -417,7 +418,7 @@ if ($mode == 'submit' || $mode == 'refresh') {
|
|||
'SESSION_ID' => $userdata['session_id'],
|
||||
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_REBUILD_SEARCH_ACTION' => "admin_rebuild_search.php?mode=submit",
|
||||
'S_REBUILD_SEARCH_ACTION' => 'admin_rebuild_search.php?mode=submit',
|
||||
));
|
||||
}
|
||||
|
||||
|
@ -431,7 +432,7 @@ function get_db_sizes()
|
|||
$search_data_size = $search_index_size = 0;
|
||||
$search_table_like = DB()->escape(BB_POSTS_SEARCH);
|
||||
|
||||
$sql = "SHOW TABLE STATUS FROM `" . DB()->selected_db . "` LIKE '$search_table_like'";
|
||||
$sql = 'SHOW TABLE STATUS FROM `' . DB()->selected_db . "` LIKE '$search_table_like'";
|
||||
|
||||
foreach (DB()->fetch_rowset($sql) as $row) {
|
||||
$search_data_size += $row['Data_length'];
|
||||
|
@ -444,7 +445,7 @@ function get_db_sizes()
|
|||
// get the latest post_id in the forum
|
||||
function get_latest_post_id()
|
||||
{
|
||||
$row = DB()->fetch_row("SELECT MAX(post_id) as post_id FROM " . BB_POSTS_TEXT);
|
||||
$row = DB()->fetch_row('SELECT MAX(post_id) as post_id FROM ' . BB_POSTS_TEXT);
|
||||
|
||||
return (int)$row['post_id'];
|
||||
}
|
||||
|
@ -474,9 +475,9 @@ function get_rebuild_session_details($id, $details = 'all')
|
|||
$session_details = get_empty_last_session_data();
|
||||
|
||||
if ($id != 'last') {
|
||||
$sql = "SELECT * FROM " . BB_SEARCH_REBUILD . " WHERE rebuild_session_id = $id";
|
||||
$sql = 'SELECT * FROM ' . BB_SEARCH_REBUILD . " WHERE rebuild_session_id = $id";
|
||||
} else {
|
||||
$sql = "SELECT * FROM " . BB_SEARCH_REBUILD . " ORDER BY rebuild_session_id DESC LIMIT 1";
|
||||
$sql = 'SELECT * FROM ' . BB_SEARCH_REBUILD . ' ORDER BY rebuild_session_id DESC LIMIT 1';
|
||||
}
|
||||
|
||||
if ($row = DB()->fetch_row($sql)) {
|
||||
|
@ -494,7 +495,7 @@ function get_processed_posts($mode = 'session')
|
|||
global $last_session_data;
|
||||
|
||||
if ($mode == 'total') {
|
||||
$sql = "SELECT SUM(session_posts) as posts FROM " . BB_SEARCH_REBUILD;
|
||||
$sql = 'SELECT SUM(session_posts) as posts FROM ' . BB_SEARCH_REBUILD;
|
||||
$row = DB()->fetch_row($sql);
|
||||
} else {
|
||||
$row['posts'] = $last_session_data['session_posts'];
|
||||
|
@ -508,10 +509,10 @@ function get_processed_posts($mode = 'session')
|
|||
function get_total_posts($mode = 'after', $post_id = 0)
|
||||
{
|
||||
if ($post_id) {
|
||||
$sql = "SELECT COUNT(post_id) as total_posts FROM " . BB_POSTS_TEXT . "
|
||||
WHERE post_id " . (($mode == 'after') ? '>= ' : '<= ') . (int)$post_id;
|
||||
$sql = 'SELECT COUNT(post_id) as total_posts FROM ' . BB_POSTS_TEXT . '
|
||||
WHERE post_id ' . (($mode == 'after') ? '>= ' : '<= ') . (int)$post_id;
|
||||
} else {
|
||||
$sql = "SELECT COUNT(*) as total_posts FROM " . BB_POSTS_TEXT;
|
||||
$sql = 'SELECT COUNT(*) as total_posts FROM ' . BB_POSTS_TEXT;
|
||||
}
|
||||
|
||||
$row = DB()->fetch_row($sql);
|
||||
|
@ -521,13 +522,13 @@ function get_total_posts($mode = 'after', $post_id = 0)
|
|||
|
||||
function clear_search_tables($mode = '')
|
||||
{
|
||||
DB()->query("DELETE FROM " . BB_SEARCH_REBUILD);
|
||||
DB()->query('DELETE FROM ' . BB_SEARCH_REBUILD);
|
||||
|
||||
if ($mode) {
|
||||
$table_ary = array(BB_POSTS_SEARCH);
|
||||
|
||||
foreach ($table_ary as $table) {
|
||||
$sql = (($mode == 1) ? "DELETE FROM " : "TRUNCATE TABLE ") . $table;
|
||||
$sql = (($mode == 1) ? 'DELETE FROM ' : 'TRUNCATE TABLE ') . $table;
|
||||
DB()->query($sql);
|
||||
}
|
||||
}
|
||||
|
@ -559,7 +560,7 @@ function create_percent_color($percent)
|
|||
// create the hex representation of color
|
||||
function create_color($mode, $code)
|
||||
{
|
||||
return (($mode == 'r') ? 'FF' : sprintf("%02X", $code)) . (($mode == 'g') ? 'FF' : sprintf("%02X", $code)) . (($mode == 'b') ? 'FF' : sprintf("%02X", $code));
|
||||
return (($mode == 'r') ? 'FF' : sprintf('%02X', $code)) . (($mode == 'g') ? 'FF' : sprintf('%02X', $code)) . (($mode == 'b') ? 'FF' : sprintf('%02X', $code));
|
||||
}
|
||||
|
||||
// create the percent bar & box
|
||||
|
|
|
@ -30,7 +30,7 @@ if (!empty($setmodules)) {
|
|||
require __DIR__ . '/pagestart.php';
|
||||
require INC_DIR . '/functions_selects.php';
|
||||
|
||||
$sql = "SELECT * FROM " . BB_CONFIG;
|
||||
$sql = 'SELECT * FROM ' . BB_CONFIG;
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query config information in admin_sitemap');
|
||||
|
|
|
@ -32,21 +32,22 @@ require __DIR__ . '/pagestart.php';
|
|||
|
||||
// Check to see what mode we should operate in
|
||||
if (isset($_POST['mode']) || isset($_GET['mode'])) {
|
||||
$mode = (isset($_POST['mode'])) ? $_POST['mode'] : $_GET['mode'];
|
||||
$mode = isset($_POST['mode']) ? $_POST['mode'] : $_GET['mode'];
|
||||
$mode = htmlspecialchars($mode);
|
||||
} else {
|
||||
$mode = '';
|
||||
}
|
||||
|
||||
$delimeter = '=+:';
|
||||
$s_hidden_fields = '';
|
||||
$smiley_paks = [];
|
||||
|
||||
// Read a listing of uploaded smilies for use in the add or edit smliey code
|
||||
$dir = @opendir(BB_ROOT . $bb_cfg['smilies_path']);
|
||||
$dir = opendir(BB_ROOT . $bb_cfg['smilies_path']);
|
||||
|
||||
while ($file = @readdir($dir)) {
|
||||
if (!@is_dir(bb_realpath(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file))) {
|
||||
$img_size = @getimagesize(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file);
|
||||
if (!is_dir(bb_realpath(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file))) {
|
||||
$img_size = getimagesize(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $file);
|
||||
|
||||
if ($img_size[0] && $img_size[1]) {
|
||||
$smiley_images[] = $file;
|
||||
|
@ -56,7 +57,7 @@ while ($file = @readdir($dir)) {
|
|||
}
|
||||
}
|
||||
|
||||
@closedir($dir);
|
||||
closedir($dir);
|
||||
|
||||
// Select main mode
|
||||
if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
||||
|
@ -67,13 +68,13 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
if (!empty($smile_pak)) {
|
||||
// The user has already selected a smile_pak file.. Import it
|
||||
if (!empty($clear_current)) {
|
||||
$sql = "DELETE FROM " . BB_SMILIES;
|
||||
$sql = 'DELETE FROM ' . BB_SMILIES;
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not delete current smilies');
|
||||
}
|
||||
$datastore->update('smile_replacements');
|
||||
} else {
|
||||
$sql = "SELECT code FROM " . BB_SMILIES;
|
||||
$sql = 'SELECT code FROM ' . BB_SMILIES;
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not get current smilies');
|
||||
}
|
||||
|
@ -86,7 +87,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
}
|
||||
}
|
||||
|
||||
$fcontents = @file(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smile_pak);
|
||||
$fcontents = file(BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smile_pak);
|
||||
|
||||
if (empty($fcontents)) {
|
||||
bb_die('Could not read smiley pak file');
|
||||
|
@ -103,14 +104,14 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
|
||||
if (isset($smiles[$k])) {
|
||||
if (!empty($replace_existing)) {
|
||||
$sql = "UPDATE " . BB_SMILIES . "
|
||||
$sql = 'UPDATE ' . BB_SMILIES . "
|
||||
SET smile_url = '" . DB()->escape($smile_data[0]) . "', emoticon = '" . DB()->escape($smile_data[1]) . "'
|
||||
WHERE code = '" . DB()->escape($smile_data[$j]) . "'";
|
||||
} else {
|
||||
$sql = '';
|
||||
}
|
||||
} else {
|
||||
$sql = "INSERT INTO " . BB_SMILIES . " (code, smile_url, emoticon)
|
||||
$sql = 'INSERT INTO ' . BB_SMILIES . " (code, smile_url, emoticon)
|
||||
VALUES('" . DB()->escape($smile_data[$j]) . "', '" . DB()->escape($smile_data[0]) . "', '" . DB()->escape($smile_data[1]) . "')";
|
||||
}
|
||||
|
||||
|
@ -149,7 +150,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$export_pack = (string)request_var('export_pack', '');
|
||||
|
||||
if ($export_pack == 'send') {
|
||||
$sql = "SELECT * FROM " . BB_SMILIES;
|
||||
$sql = 'SELECT * FROM ' . BB_SMILIES;
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not get smiley list');
|
||||
}
|
||||
|
@ -163,8 +164,8 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$smile_pak .= $resultset[$i]['code'] . "\n";
|
||||
}
|
||||
|
||||
header("Content-Type: text/x-delimtext; name=\"smiles.pak\"");
|
||||
header("Content-disposition: attachment; filename=smiles.pak");
|
||||
header('Content-Type: text/x-delimtext; name="smiles.pak"');
|
||||
header('Content-disposition: attachment; filename=smiles.pak');
|
||||
|
||||
echo $smile_pak;
|
||||
|
||||
|
@ -183,7 +184,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$template->assign_vars(array(
|
||||
'TPL_SMILE_EDIT' => true,
|
||||
'SMILEY_IMG' => BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smiley_images[0],
|
||||
'S_SMILEY_ACTION' => "admin_smilies.php",
|
||||
'S_SMILEY_ACTION' => 'admin_smilies.php',
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_FILENAME_OPTIONS' => $filename_list,
|
||||
'S_SMILEY_BASEDIR' => BB_ROOT . $bb_cfg['smilies_path']
|
||||
|
@ -194,7 +195,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$smiley_id = (!empty($_POST['id'])) ? $_POST['id'] : $_GET['id'];
|
||||
$smiley_id = (int)$smiley_id;
|
||||
|
||||
$sql = "DELETE FROM " . BB_SMILIES . " WHERE smilies_id = " . $smiley_id;
|
||||
$sql = 'DELETE FROM ' . BB_SMILIES . ' WHERE smilies_id = ' . $smiley_id;
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not delete smiley');
|
||||
|
@ -208,14 +209,14 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$smiley_id = (!empty($_POST['id'])) ? $_POST['id'] : $_GET['id'];
|
||||
$smiley_id = (int)$smiley_id;
|
||||
|
||||
$sql = "SELECT * FROM " . BB_SMILIES . " WHERE smilies_id = " . $smiley_id;
|
||||
$sql = 'SELECT * FROM ' . BB_SMILIES . ' WHERE smilies_id = ' . $smiley_id;
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not obtain emoticon information');
|
||||
}
|
||||
$smile_data = DB()->sql_fetchrow($result);
|
||||
|
||||
$filename_list = '';
|
||||
$filename_list = $smiley_edit_img = '';
|
||||
for ($i = 0, $iMax = count($smiley_images); $i < $iMax; $i++) {
|
||||
if ($smiley_images[$i] == $smile_data['smile_url']) {
|
||||
$smiley_selected = 'selected="selected"';
|
||||
|
@ -233,7 +234,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
'SMILEY_CODE' => $smile_data['code'],
|
||||
'SMILEY_EMOTICON' => $smile_data['emoticon'],
|
||||
'SMILEY_IMG' => BB_ROOT . $bb_cfg['smilies_path'] . '/' . $smiley_edit_img,
|
||||
'S_SMILEY_ACTION' => "admin_smilies.php",
|
||||
'S_SMILEY_ACTION' => 'admin_smilies.php',
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_FILENAME_OPTIONS' => $filename_list,
|
||||
'S_SMILEY_BASEDIR' => BB_ROOT . $bb_cfg['smilies_path'],
|
||||
|
@ -242,11 +243,11 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
break;
|
||||
|
||||
case 'save':
|
||||
$smile_code = (isset($_POST['smile_code'])) ? trim($_POST['smile_code']) : trim($_GET['smile_code']);
|
||||
$smile_url = (isset($_POST['smile_url'])) ? trim($_POST['smile_url']) : trim($_GET['smile_url']);
|
||||
$smile_code = isset($_POST['smile_code']) ? trim($_POST['smile_code']) : trim($_GET['smile_code']);
|
||||
$smile_url = isset($_POST['smile_url']) ? trim($_POST['smile_url']) : trim($_GET['smile_url']);
|
||||
$smile_url = bb_ltrim(basename($smile_url), "'");
|
||||
$smile_emotion = (isset($_POST['smile_emotion'])) ? trim($_POST['smile_emotion']) : trim($_GET['smile_emotion']);
|
||||
$smile_id = (isset($_POST['smile_id'])) ? (int)$_POST['smile_id'] : (int)$_GET['smile_id'];
|
||||
$smile_emotion = isset($_POST['smile_emotion']) ? trim($_POST['smile_emotion']) : trim($_GET['smile_emotion']);
|
||||
$smile_id = isset($_POST['smile_id']) ? (int)$_POST['smile_id'] : (int)$_GET['smile_id'];
|
||||
|
||||
// If no code was entered complain
|
||||
if ($smile_code == '' || $smile_url == '') {
|
||||
|
@ -258,7 +259,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$smile_code = str_replace('>', '>', $smile_code);
|
||||
|
||||
// Proceed with updating the smiley table
|
||||
$sql = "UPDATE " . BB_SMILIES . "
|
||||
$sql = 'UPDATE ' . BB_SMILIES . "
|
||||
SET code = '" . DB()->escape($smile_code) . "', smile_url = '" . DB()->escape($smile_url) . "', emoticon = '" . DB()->escape($smile_emotion) . "'
|
||||
WHERE smilies_id = $smile_id";
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
|
@ -270,10 +271,10 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
break;
|
||||
|
||||
case 'savenew':
|
||||
$smile_code = (isset($_POST['smile_code'])) ? $_POST['smile_code'] : $_GET['smile_code'];
|
||||
$smile_url = (isset($_POST['smile_url'])) ? $_POST['smile_url'] : $_GET['smile_url'];
|
||||
$smile_code = isset($_POST['smile_code']) ? $_POST['smile_code'] : $_GET['smile_code'];
|
||||
$smile_url = isset($_POST['smile_url']) ? $_POST['smile_url'] : $_GET['smile_url'];
|
||||
$smile_url = bb_ltrim(basename($smile_url), "'");
|
||||
$smile_emotion = (isset($_POST['smile_emotion'])) ? $_POST['smile_emotion'] : $_GET['smile_emotion'];
|
||||
$smile_emotion = isset($_POST['smile_emotion']) ? $_POST['smile_emotion'] : $_GET['smile_emotion'];
|
||||
$smile_code = trim($smile_code);
|
||||
$smile_url = trim($smile_url);
|
||||
$smile_emotion = trim($smile_emotion);
|
||||
|
@ -288,7 +289,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
$smile_code = str_replace('>', '>', $smile_code);
|
||||
|
||||
// Save the data to the smiley table
|
||||
$sql = "INSERT INTO " . BB_SMILIES . " (code, smile_url, emoticon)
|
||||
$sql = 'INSERT INTO ' . BB_SMILIES . " (code, smile_url, emoticon)
|
||||
VALUES ('" . DB()->escape($smile_code) . "', '" . DB()->escape($smile_url) . "', '" . DB()->escape($smile_emotion) . "')";
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
|
@ -300,7 +301,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
break;
|
||||
}
|
||||
} else {
|
||||
$sql = "SELECT * FROM " . BB_SMILIES;
|
||||
$sql = 'SELECT * FROM ' . BB_SMILIES;
|
||||
$result = DB()->sql_query($sql);
|
||||
if (!$result) {
|
||||
bb_die('Could not obtain smileys from database');
|
||||
|
@ -310,7 +311,7 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
|
||||
$template->assign_vars(array(
|
||||
'TPL_SMILE_MAIN' => true,
|
||||
'S_HIDDEN_FIELDS' => @$s_hidden_fields,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
'S_SMILEY_ACTION' => 'admin_smilies.php',
|
||||
));
|
||||
|
||||
|
@ -329,8 +330,8 @@ if (isset($_GET['import_pack']) || isset($_POST['import_pack'])) {
|
|||
'CODE' => $smilies[$i]['code'],
|
||||
'EMOT' => $smilies[$i]['emoticon'],
|
||||
|
||||
'U_SMILEY_EDIT' => "admin_smilies.php?mode=edit&id=" . $smilies[$i]['smilies_id'],
|
||||
'U_SMILEY_DELETE' => "admin_smilies.php?mode=delete&id=" . $smilies[$i]['smilies_id'],
|
||||
'U_SMILEY_EDIT' => 'admin_smilies.php?mode=edit&id=' . $smilies[$i]['smilies_id'],
|
||||
'U_SMILEY_DELETE' => 'admin_smilies.php?mode=delete&id=' . $smilies[$i]['smilies_id'],
|
||||
));
|
||||
}
|
||||
}
|
||||
|
|
|
@ -38,8 +38,8 @@ if (isset($_POST['post']) && $bb_cfg['terms'] != $_POST['message']) {
|
|||
$template->assign_vars(array(
|
||||
'S_ACTION' => 'admin_terms.php',
|
||||
'EXT_LINK_NW' => $bb_cfg['ext_link_new_win'],
|
||||
'MESSAGE' => ($bb_cfg['terms']) ?: '',
|
||||
'PREVIEW_HTML' => (isset($_REQUEST['preview'])) ? bbcode2html($_POST['message']) : '',
|
||||
'MESSAGE' => $bb_cfg['terms'] ?: '',
|
||||
'PREVIEW_HTML' => isset($_REQUEST['preview']) ? bbcode2html($_POST['message']) : '',
|
||||
));
|
||||
|
||||
print_page('admin_terms.tpl', 'admin');
|
||||
|
|
|
@ -37,11 +37,11 @@ require INC_DIR . '/functions_group.php';
|
|||
$yes_sign = '√';
|
||||
$no_sign = 'x';
|
||||
|
||||
$group_id = (int)@$_REQUEST['g'];
|
||||
$user_id = (int)@$_REQUEST['u'];
|
||||
$cat_id = (int)@$_REQUEST['c'];
|
||||
$mode = (string)@$_REQUEST['mode'];
|
||||
$submit = isset($_POST['submit']);
|
||||
$group_id = isset($_REQUEST['g']) ? (int)$_REQUEST['g'] : 0;
|
||||
$user_id = isset($_REQUEST['u']) ? (int)$_REQUEST['u'] : 0;
|
||||
$cat_id = isset($_REQUEST['c']) ? (int)$_REQUEST['c'] : 0;
|
||||
$mode = isset($_REQUEST['mode']) ? (string)$_REQUEST['mode'] : '';
|
||||
$submit = isset($_REQUEST['submit']);
|
||||
|
||||
$group_data = array();
|
||||
|
||||
|
@ -70,8 +70,8 @@ if ($submit && $mode == 'user') {
|
|||
$this_user_level = $row['user_level'];
|
||||
|
||||
// Get "single_user" group_id for this user
|
||||
$sql = "SELECT g.group_id
|
||||
FROM " . BB_USER_GROUP . " ug, " . BB_GROUPS . " g
|
||||
$sql = 'SELECT g.group_id
|
||||
FROM ' . BB_USER_GROUP . ' ug, ' . BB_GROUPS . " g
|
||||
WHERE ug.user_id = $user_id
|
||||
AND g.group_id = ug.group_id
|
||||
AND g.group_single_user = 1";
|
||||
|
@ -87,12 +87,12 @@ if ($submit && $mode == 'user') {
|
|||
}
|
||||
|
||||
// Make user an admin (if already user)
|
||||
if (@$_POST['userlevel'] === 'admin') {
|
||||
if ($_POST['userlevel'] === 'admin') {
|
||||
if ($userdata['user_id'] == $user_id || $user_id == GUEST_UID || $user_id == BOT_UID) {
|
||||
bb_die("Could not update admin status");
|
||||
bb_die('Could not update admin status');
|
||||
}
|
||||
|
||||
DB()->query("UPDATE " . BB_USERS . " SET user_level = " . ADMIN . " WHERE user_id = $user_id LIMIT 1");
|
||||
DB()->query('UPDATE ' . BB_USERS . ' SET user_level = ' . ADMIN . " WHERE user_id = $user_id LIMIT 1");
|
||||
|
||||
// Delete any entries in auth_access, they are not required if user is becoming an admin
|
||||
delete_permissions($group_id, $user_id);
|
||||
|
@ -103,13 +103,13 @@ if ($submit && $mode == 'user') {
|
|||
|
||||
bb_die($message);
|
||||
} // Make admin a user (if already admin)
|
||||
elseif (@$_POST['userlevel'] === 'user') {
|
||||
elseif ($_POST['userlevel'] === 'user') {
|
||||
// ignore if you're trying to change yourself from an admin to user!
|
||||
if ($userdata['user_id'] == $user_id) {
|
||||
bb_die("Could not update admin status<br /><br />Could not change yourself from an admin to user");
|
||||
bb_die('Could not update admin status<br /><br />Could not change yourself from an admin to user');
|
||||
}
|
||||
// Update users level, reset to USER
|
||||
DB()->query("UPDATE " . BB_USERS . " SET user_level = " . USER . " WHERE user_id = $user_id LIMIT 1");
|
||||
DB()->query('UPDATE ' . BB_USERS . ' SET user_level = ' . USER . " WHERE user_id = $user_id LIMIT 1");
|
||||
|
||||
delete_permissions($group_id, $user_id);
|
||||
|
||||
|
@ -125,7 +125,7 @@ if ($submit && $mode == 'user') {
|
|||
//
|
||||
$auth = array();
|
||||
|
||||
if (is_array(@$_POST['auth'])) {
|
||||
if (is_array($_POST['auth'])) {
|
||||
array_deep($_POST['auth'], 'intval');
|
||||
|
||||
foreach ($_POST['auth'] as $f_id => $bf_ary) {
|
||||
|
@ -150,7 +150,7 @@ if ($submit && $mode == 'user') {
|
|||
//
|
||||
// Submit new GROUP permissions
|
||||
//
|
||||
elseif ($submit && $mode == 'group' && is_array(@$_POST['auth'])) {
|
||||
elseif ($submit && $mode == 'group' && is_array($_POST['auth'])) {
|
||||
if (!$group_data = get_group_data($group_id)) {
|
||||
bb_die($lang['GROUP_NOT_EXIST']);
|
||||
}
|
||||
|
@ -225,11 +225,11 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
'DISABLED' => $disabled,
|
||||
'FORUM_ID' => $f_id,
|
||||
'FORUM_NAME' => str_short($forums['forum_name_html'][$f_id], $max_forum_name_length),
|
||||
'SF_SPACER' => ($f_data['forum_parent']) ? HTML_SF_SPACER : '',
|
||||
'SF_SPACER' => $f_data['forum_parent'] ? HTML_SF_SPACER : '',
|
||||
'IS_MODERATOR' => (bool)$auth_mod,
|
||||
'MOD_STATUS' => ($auth_mod) ? $lang['MODERATOR'] : $lang['NONE'],
|
||||
'MOD_CLASS' => ($auth_mod) ? (($disabled) ? 'yesDisabled' : 'yesMOD') : 'noMOD',
|
||||
'AUTH_MOD_VAL' => ($auth_mod) ? 1 : 0,
|
||||
'MOD_STATUS' => $auth_mod ? $lang['MODERATOR'] : $lang['NONE'],
|
||||
'MOD_CLASS' => $auth_mod ? ($disabled ? 'yesDisabled' : 'yesMOD') : 'noMOD',
|
||||
'AUTH_MOD_VAL' => $auth_mod ? 1 : 0,
|
||||
));
|
||||
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
|
@ -243,8 +243,8 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
$acl_class = ($auth_via_acl || $auth_mod) ? 'yes' : 'no';
|
||||
} else {
|
||||
$disabled = true;
|
||||
$perm_sign = ($auth_via_acl) ? $yes_sign : $no_sign;
|
||||
$acl_class = ($auth_via_acl) ? 'yes' : 'no';
|
||||
$perm_sign = $auth_via_acl ? $yes_sign : $no_sign;
|
||||
$acl_class = $auth_via_acl ? 'yes' : 'no';
|
||||
}
|
||||
|
||||
$template->assign_block_vars('c.f.acl', array(
|
||||
|
@ -253,7 +253,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
'ACL_CLASS' => $acl_class,
|
||||
'FORUM_ID' => $f_id,
|
||||
'ACL_TYPE_BF' => $bf_num,
|
||||
'ACL_VAL' => ($auth_via_acl) ? 1 : 0,
|
||||
'ACL_VAL' => $auth_via_acl ? 1 : 0,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -267,7 +267,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
$template->assign_block_vars('acltype', array(
|
||||
'ACL_TYPE_NAME' => preg_replace("#(.{5})#u", "\\1<br />", $lang[strtoupper($auth_type)]),
|
||||
'ACL_TYPE_NAME' => preg_replace('#(.{5})#u', "\\1<br />", $lang[strtoupper($auth_type)]),
|
||||
'ACL_TYPE_BF' => $bf['forum_perm'][$auth_type],
|
||||
));
|
||||
$s_column_span++;
|
||||
|
@ -297,17 +297,11 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
|
||||
$template->assign_vars(array(
|
||||
'TPL_AUTH_UG_MAIN' => true,
|
||||
|
||||
'USER_OR_GROUPNAME' => $this_userdata['username'],
|
||||
'USER_LEVEL' => $lang['USER_LEVEL'] . ' : ' . $s_user_type,
|
||||
'USER_GROUP_MEMBERSHIPS' => $lang['GROUP_MEMBERSHIPS'],
|
||||
));
|
||||
|
||||
$template->assign_vars(array(
|
||||
'T_USER_OR_GROUPNAME' => $lang['USERNAME'],
|
||||
'T_AUTH_TITLE' => $lang['AUTH_CONTROL_USER'],
|
||||
'T_AUTH_EXPLAIN' => $lang['USER_AUTH_EXPLAIN'],
|
||||
|
||||
'S_COLUMN_SPAN' => $s_column_span,
|
||||
'S_HIDDEN_FIELDS' => $s_hidden_fields,
|
||||
));
|
||||
|
@ -334,7 +328,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
'CAT_HREF' => "$base_url&c=$c_id",
|
||||
));
|
||||
|
||||
if (!$c =& $_REQUEST['c'] or !in_array($c, array('all', $c_id)) or empty($c_data['forums'])) {
|
||||
if (!($c =& $_REQUEST['c']) || !in_array($c, array('all', $c_id)) || empty($c_data['forums'])) {
|
||||
continue;
|
||||
}
|
||||
|
||||
|
@ -346,11 +340,11 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
'DISABLED' => false,
|
||||
'FORUM_ID' => $f_id,
|
||||
'FORUM_NAME' => str_short($forums['forum_name_html'][$f_id], $max_forum_name_length),
|
||||
'SF_SPACER' => ($f_data['forum_parent']) ? HTML_SF_SPACER : '',
|
||||
'SF_SPACER' => $f_data['forum_parent'] ? HTML_SF_SPACER : '',
|
||||
'IS_MODERATOR' => (bool)$auth_mod,
|
||||
'MOD_STATUS' => ($auth_mod) ? $lang['MODERATOR'] : $lang['NO'],
|
||||
'MOD_CLASS' => ($auth_mod) ? 'yesMOD' : 'noMOD',
|
||||
'AUTH_MOD_VAL' => ($auth_mod) ? 1 : 0,
|
||||
'MOD_STATUS' => $auth_mod ? $lang['MODERATOR'] : $lang['NO'],
|
||||
'MOD_CLASS' => $auth_mod ? 'yesMOD' : 'noMOD',
|
||||
'AUTH_MOD_VAL' => $auth_mod ? 1 : 0,
|
||||
));
|
||||
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
|
@ -364,8 +358,8 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
$acl_class = ($auth_via_acl || $auth_mod) ? 'yes' : 'no';
|
||||
} else {
|
||||
$disabled = true;
|
||||
$perm_sign = ($auth_via_acl) ? $yes_sign : $no_sign;
|
||||
$acl_class = ($auth_via_acl) ? 'yes' : 'no';
|
||||
$perm_sign = $auth_via_acl ? $yes_sign : $no_sign;
|
||||
$acl_class = $auth_via_acl ? 'yes' : 'no';
|
||||
}
|
||||
|
||||
$template->assign_block_vars('c.f.acl', array(
|
||||
|
@ -374,7 +368,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
'ACL_CLASS' => $acl_class,
|
||||
'FORUM_ID' => $f_id,
|
||||
'ACL_TYPE_BF' => $bf_num,
|
||||
'ACL_VAL' => ($auth_via_acl) ? 1 : 0,
|
||||
'ACL_VAL' => $auth_via_acl ? 1 : 0,
|
||||
));
|
||||
}
|
||||
}
|
||||
|
@ -388,7 +382,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
|
||||
foreach ($forum_auth_fields as $auth_type) {
|
||||
$template->assign_block_vars('acltype', array(
|
||||
'ACL_TYPE_NAME' => preg_replace("#(.{5})#u", "\\1<br />", $lang[strtoupper($auth_type)]),
|
||||
'ACL_TYPE_NAME' => preg_replace('#(.{5})#u', "\\1<br />", $lang[strtoupper($auth_type)]),
|
||||
'ACL_TYPE_BF' => $bf['forum_perm'][$auth_type],
|
||||
));
|
||||
$s_column_span++;
|
||||
|
@ -404,7 +398,6 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
|
||||
$template->assign_vars(array(
|
||||
'TPL_AUTH_UG_MAIN' => true,
|
||||
|
||||
'T_USER_OR_GROUPNAME' => $lang['GROUP_NAME'],
|
||||
'USER_LEVEL' => false,
|
||||
'T_AUTH_TITLE' => $lang['AUTH_CONTROL_GROUP'],
|
||||
|
@ -418,7 +411,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
if ($mode == 'user') {
|
||||
$template->assign_vars(array(
|
||||
'TPL_SELECT_USER' => true,
|
||||
'U_SEARCH_USER' => BB_ROOT . "search.php?mode=searchuser",
|
||||
'U_SEARCH_USER' => BB_ROOT . 'search.php?mode=searchuser',
|
||||
));
|
||||
} else {
|
||||
$template->assign_vars(array(
|
||||
|
@ -437,9 +430,7 @@ if ($mode == 'user' && (!empty($_POST['username']) || $user_id)) {
|
|||
$template->assign_vars(array(
|
||||
'YES_SIGN' => $yes_sign,
|
||||
'NO_SIGN' => $no_sign,
|
||||
'T_MOD_YES' => $lang['MODERATOR'],
|
||||
'T_MOD_NO' => $lang['NO'],
|
||||
'S_AUTH_ACTION' => "admin_ug_auth.php",
|
||||
'S_AUTH_ACTION' => 'admin_ug_auth.php',
|
||||
'SELECTED_CAT' => !empty($_REQUEST['c']) ? $_REQUEST['c'] : '',
|
||||
'U_ALL_FORUMS' => !empty($base_url) ? "$base_url&c=all" : '',
|
||||
));
|
||||
|
|
|
@ -67,7 +67,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM " . BB_BANLIST;
|
||||
$sql = 'SELECT * FROM ' . BB_BANLIST;
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not obtain banlist information');
|
||||
}
|
||||
|
@ -85,9 +85,9 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if (!$in_banlist) {
|
||||
$kill_session_sql .= (($kill_session_sql != '') ? ' OR ' : '') . "session_user_id = " . $user_list[$i];
|
||||
$kill_session_sql .= (($kill_session_sql != '') ? ' OR ' : '') . 'session_user_id = ' . $user_list[$i];
|
||||
|
||||
$sql = "INSERT INTO " . BB_BANLIST . " (ban_userid) VALUES (" . $user_list[$i] . ")";
|
||||
$sql = 'INSERT INTO ' . BB_BANLIST . ' (ban_userid) VALUES (' . $user_list[$i] . ')';
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not insert ban_userid info into database');
|
||||
}
|
||||
|
@ -104,14 +104,14 @@ if (isset($_POST['submit'])) {
|
|||
|
||||
if (!$in_banlist) {
|
||||
if (preg_match('/(ff\.)|(\.ff)/is', chunk_split($ip_list[$i], 2, '.'))) {
|
||||
$kill_ip_sql = "session_ip LIKE '" . str_replace('.', '', preg_replace('/(ff\.)|(\.ff)/is', '%', chunk_split($ip_list[$i], 2, "."))) . "'";
|
||||
$kill_ip_sql = "session_ip LIKE '" . str_replace('.', '', preg_replace('/(ff\.)|(\.ff)/is', '%', chunk_split($ip_list[$i], 2, '.'))) . "'";
|
||||
} else {
|
||||
$kill_ip_sql = "session_ip = '" . $ip_list[$i] . "'";
|
||||
}
|
||||
|
||||
$kill_session_sql .= (($kill_session_sql != '') ? ' OR ' : '') . $kill_ip_sql;
|
||||
|
||||
$sql = "INSERT INTO " . BB_BANLIST . " (ban_ip) VALUES ('" . $ip_list[$i] . "')";
|
||||
$sql = 'INSERT INTO ' . BB_BANLIST . " (ban_ip) VALUES ('" . $ip_list[$i] . "')";
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not insert ban_ip info into database');
|
||||
}
|
||||
|
@ -120,7 +120,7 @@ if (isset($_POST['submit'])) {
|
|||
|
||||
// Now we'll delete all entries from the session table
|
||||
if ($kill_session_sql != '') {
|
||||
$sql = "DELETE FROM " . BB_SESSIONS . " WHERE $kill_session_sql";
|
||||
$sql = 'DELETE FROM ' . BB_SESSIONS . " WHERE $kill_session_sql";
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not delete banned sessions from database');
|
||||
}
|
||||
|
@ -135,7 +135,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if (!$in_banlist) {
|
||||
$sql = "INSERT INTO " . BB_BANLIST . " (ban_email) VALUES ('" . DB()->escape($email_list[$i]) . "')";
|
||||
$sql = 'INSERT INTO ' . BB_BANLIST . " (ban_email) VALUES ('" . DB()->escape($email_list[$i]) . "')";
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not insert ban_email info into database');
|
||||
}
|
||||
|
@ -175,7 +175,7 @@ if (isset($_POST['submit'])) {
|
|||
}
|
||||
|
||||
if ($where_sql != '') {
|
||||
$sql = "DELETE FROM " . BB_BANLIST . " WHERE ban_id IN ($where_sql)";
|
||||
$sql = 'DELETE FROM ' . BB_BANLIST . " WHERE ban_id IN ($where_sql)";
|
||||
if (!DB()->sql_query($sql)) {
|
||||
bb_die('Could not delete ban info from database');
|
||||
}
|
||||
|
@ -191,12 +191,12 @@ if (isset($_POST['submit'])) {
|
|||
$ipban_count = 0;
|
||||
$emailban_count = 0;
|
||||
|
||||
$sql = "SELECT b.ban_id, u.user_id, u.username
|
||||
FROM " . BB_BANLIST . " b, " . BB_USERS . " u
|
||||
$sql = 'SELECT b.ban_id, u.user_id, u.username
|
||||
FROM ' . BB_BANLIST . ' b, ' . BB_USERS . ' u
|
||||
WHERE u.user_id = b.ban_userid
|
||||
AND b.ban_userid <> 0
|
||||
AND u.user_id <> " . GUEST_UID . "
|
||||
ORDER BY u.username ASC";
|
||||
AND u.user_id <> ' . GUEST_UID . '
|
||||
ORDER BY u.username ASC';
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not select current user_id ban list');
|
||||
}
|
||||
|
@ -216,7 +216,7 @@ if (isset($_POST['submit'])) {
|
|||
|
||||
$select_userlist = '<select name="unban_user[]" multiple size="5">' . $select_userlist . '</select>';
|
||||
|
||||
$sql = "SELECT ban_id, ban_ip, ban_email FROM " . BB_BANLIST . " ORDER BY ban_ip";
|
||||
$sql = 'SELECT ban_id, ban_ip, ban_email FROM ' . BB_BANLIST . ' ORDER BY ban_ip';
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not select current ip ban list');
|
||||
}
|
||||
|
|
|
@ -36,10 +36,10 @@ require INC_DIR . '/functions_selects.php';
|
|||
$total_sql = '';
|
||||
|
||||
if (!isset($_REQUEST['dosearch'])) {
|
||||
$sql = "SELECT group_id, group_name
|
||||
FROM " . BB_GROUPS . "
|
||||
$sql = 'SELECT group_id, group_name
|
||||
FROM ' . BB_GROUPS . '
|
||||
WHERE group_single_user = 0
|
||||
ORDER BY group_name ASC";
|
||||
ORDER BY group_name ASC';
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select group data #1');
|
||||
|
@ -55,7 +55,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
}
|
||||
}
|
||||
|
||||
$sql = "SELECT * FROM " . BB_RANKS . " WHERE rank_special = 1 ORDER BY rank_title";
|
||||
$sql = 'SELECT * FROM ' . BB_RANKS . ' WHERE rank_special = 1 ORDER BY rank_title';
|
||||
if (!($result = DB()->sql_query($sql))) {
|
||||
bb_die('Could not obtain ranks data');
|
||||
}
|
||||
|
@ -72,9 +72,9 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$language_list = language_select('', 'language_type');
|
||||
$timezone_list = tz_select('', 'timezone_type');
|
||||
|
||||
$sql = "SELECT f.forum_id, f.forum_name, f.forum_parent, c.cat_id, c.cat_title
|
||||
FROM ( " . BB_FORUMS . " AS f INNER JOIN " . BB_CATEGORIES . " AS c ON c.cat_id = f.cat_id )
|
||||
ORDER BY c.cat_order, f.forum_order ASC";
|
||||
$sql = 'SELECT f.forum_id, f.forum_name, f.forum_parent, c.cat_id, c.cat_title
|
||||
FROM ( ' . BB_FORUMS . ' AS f INNER JOIN ' . BB_CATEGORIES . ' AS c ON c.cat_id = f.cat_id )
|
||||
ORDER BY c.cat_order, f.forum_order ASC';
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select forum data');
|
||||
|
@ -94,7 +94,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$last_cat_id = $row['cat_id'];
|
||||
}
|
||||
|
||||
$forums_list .= '<option value="' . $row['forum_id'] . '">' . (($row['forum_parent']) ? HTML_SF_SPACER : '') . htmlCHR($row['forum_name']) . '</option>';
|
||||
$forums_list .= '<option value="' . $row['forum_id'] . '">' . ($row['forum_parent'] ? HTML_SF_SPACER : '') . htmlCHR($row['forum_name']) . '</option>';
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -108,9 +108,9 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$template->assign_vars(array(
|
||||
'TPL_ADMIN_USER_SEARCH_MAIN' => true,
|
||||
|
||||
'YEAR' => date("Y"),
|
||||
'MONTH' => date("m"),
|
||||
'DAY' => date("d"),
|
||||
'YEAR' => date('Y'),
|
||||
'MONTH' => date('m'),
|
||||
'DAY' => date('d'),
|
||||
'GROUP_LIST' => $group_list,
|
||||
'RANK_SELECT_BOX' => $rank_select_box,
|
||||
'LANGUAGE_LIST' => $language_list,
|
||||
|
@ -257,7 +257,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$base_url = 'admin_user_search.php?dosearch=true';
|
||||
|
||||
$select_sql = "SELECT u.user_id, u.username, u.user_rank, u.user_email, u.user_posts, u.user_regdate, u.user_level, u.user_active, u.user_lastvisit FROM " . BB_USERS . " AS u";
|
||||
$select_sql = 'SELECT u.user_id, u.username, u.user_rank, u.user_email, u.user_posts, u.user_regdate, u.user_level, u.user_active, u.user_lastvisit FROM ' . BB_USERS . ' AS u';
|
||||
|
||||
$lower_b = 'LOWER(';
|
||||
$lower_e = ')';
|
||||
|
@ -281,7 +281,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_INVALID_USERNAME']);
|
||||
}
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total FROM " . BB_USERS . " WHERE {$lower_b}username{$lower_e} $op '" . DB()->escape($username) . "' AND user_id <> " . GUEST_UID;
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total FROM ' . BB_USERS . " WHERE {$lower_b}username{$lower_e} $op '" . DB()->escape($username) . "' AND user_id <> " . GUEST_UID;
|
||||
$select_sql .= " WHERE {$lower_b}u.username{$lower_e} $op '" . DB()->escape($username) . "' AND u.user_id <> " . GUEST_UID;
|
||||
break;
|
||||
|
||||
|
@ -302,7 +302,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_INVALID_EMAIL']);
|
||||
}
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total FROM " . BB_USERS . " WHERE {$lower_b}user_email{$lower_e} $op '" . DB()->escape($email) . "' AND user_id <> " . GUEST_UID;
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total FROM ' . BB_USERS . " WHERE {$lower_b}user_email{$lower_e} $op '" . DB()->escape($email) . "' AND user_id <> " . GUEST_UID;
|
||||
$select_sql .= " WHERE {$lower_b}u.user_email{$lower_e} $op '" . DB()->escape($email) . "' AND u.user_id <> " . GUEST_UID;
|
||||
break;
|
||||
|
||||
|
@ -331,7 +331,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$where_sql = '';
|
||||
$where_sql .= ($ip_in_sql != '') ? "poster_ip IN ($ip_in_sql)" : '';
|
||||
$where_sql .= ($ip_like_sql != '') ? ($where_sql != "") ? " OR $ip_like_sql" : "$ip_like_sql" : '';
|
||||
$where_sql .= ($ip_like_sql != '') ? ($where_sql != '') ? " OR $ip_like_sql" : "$ip_like_sql" : '';
|
||||
|
||||
if (!$where_sql) {
|
||||
bb_die('invalid request');
|
||||
|
@ -340,7 +340,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
// start search
|
||||
$no_result_search = false;
|
||||
$ip_users_sql = '';
|
||||
$sql = "SELECT poster_id FROM " . BB_POSTS . " WHERE poster_id <> " . GUEST_UID . " AND ($where_sql) GROUP BY poster_id";
|
||||
$sql = 'SELECT poster_id FROM ' . BB_POSTS . ' WHERE poster_id <> ' . GUEST_UID . " AND ($where_sql) GROUP BY poster_id";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not count users #1');
|
||||
|
@ -357,9 +357,9 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
}
|
||||
}
|
||||
$where_sql = '';
|
||||
$where_sql .= ($ip_in_sql != '') ? "user_last_ip IN ($ip_in_sql)" : "";
|
||||
$where_sql .= ($ip_like_sql_flylast != '') ? ($where_sql != "") ? " OR $ip_like_sql_flylast" : "$ip_like_sql_flylast" : "";
|
||||
$sql = "SELECT user_id FROM " . BB_USERS . " WHERE user_id <> " . GUEST_UID . " AND ($where_sql) GROUP BY user_id";
|
||||
$where_sql .= ($ip_in_sql != '') ? "user_last_ip IN ($ip_in_sql)" : '';
|
||||
$where_sql .= ($ip_like_sql_flylast != '') ? ($where_sql != '') ? " OR $ip_like_sql_flylast" : "$ip_like_sql_flylast" : '';
|
||||
$sql = 'SELECT user_id FROM ' . BB_USERS . ' WHERE user_id <> ' . GUEST_UID . " AND ($where_sql) GROUP BY user_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not count users #2');
|
||||
}
|
||||
|
@ -374,9 +374,9 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
}
|
||||
}
|
||||
$where_sql = '';
|
||||
$where_sql .= ($ip_in_sql != '') ? "user_reg_ip IN ($ip_in_sql)" : "";
|
||||
$where_sql .= ($ip_like_sql_flyreg != '') ? ($where_sql != "") ? " OR $ip_like_sql_flyreg" : "$ip_like_sql_flyreg" : "";
|
||||
$sql = "SELECT user_id FROM " . BB_USERS . " WHERE user_id <> " . GUEST_UID . " AND ($where_sql) GROUP BY user_id";
|
||||
$where_sql .= ($ip_in_sql != '') ? "user_reg_ip IN ($ip_in_sql)" : '';
|
||||
$where_sql .= ($ip_like_sql_flyreg != '') ? ($where_sql != '') ? " OR $ip_like_sql_flyreg" : "$ip_like_sql_flyreg" : '';
|
||||
$sql = 'SELECT user_id FROM ' . BB_USERS . ' WHERE user_id <> ' . GUEST_UID . " AND ($where_sql) GROUP BY user_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not count users #3');
|
||||
}
|
||||
|
@ -434,7 +434,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$arg = '>';
|
||||
}
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total FROM " . BB_USERS . " WHERE user_regdate $arg $time AND user_id <> " . GUEST_UID;
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total FROM ' . BB_USERS . " WHERE user_regdate $arg $time AND user_id <> " . GUEST_UID;
|
||||
$select_sql .= " WHERE u.user_regdate $arg $time AND u.user_id <> " . GUEST_UID;
|
||||
break;
|
||||
|
||||
|
@ -447,7 +447,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_INVALID_GROUP']);
|
||||
}
|
||||
|
||||
$sql = "SELECT group_name FROM " . BB_GROUPS . " WHERE group_id = $group_id AND group_single_user = 0";
|
||||
$sql = 'SELECT group_name FROM ' . BB_GROUPS . " WHERE group_id = $group_id AND group_single_user = 0";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select group data #2');
|
||||
|
@ -461,13 +461,13 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_GROUP'], strip_tags(htmlspecialchars($group_name['group_name'])));
|
||||
|
||||
$total_sql .= "SELECT COUNT(u.user_id) AS total
|
||||
FROM " . BB_USERS . " AS u, " . BB_USER_GROUP . " AS ug
|
||||
$total_sql .= 'SELECT COUNT(u.user_id) AS total
|
||||
FROM ' . BB_USERS . ' AS u, ' . BB_USER_GROUP . " AS ug
|
||||
WHERE u.user_id = ug.user_id
|
||||
AND ug.group_id = $group_id
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
|
||||
$select_sql .= ", " . BB_USER_GROUP . " AS ug
|
||||
$select_sql .= ', ' . BB_USER_GROUP . " AS ug
|
||||
WHERE u.user_id = ug.user_id
|
||||
AND ug.group_id = $group_id
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
|
@ -482,7 +482,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_INVALID_RANK']);
|
||||
}
|
||||
|
||||
$sql = "SELECT rank_title FROM " . BB_RANKS . " WHERE rank_id = $rank_id AND rank_special = 1";
|
||||
$sql = 'SELECT rank_title FROM ' . BB_RANKS . " WHERE rank_id = $rank_id AND rank_special = 1";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select rank data');
|
||||
|
@ -496,8 +496,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_RANK'], strip_tags(htmlspecialchars($rank_title['rank_title'])));
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_rank = $rank_id
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -517,8 +517,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_POSTCOUNT_GREATER'], $postcount_value);
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_posts > $postcount_value
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -530,8 +530,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_POSTCOUNT_LESSER'], $postcount_value);
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_posts < $postcount_value
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -552,8 +552,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_POSTCOUNT_RANGE'], $range_begin, $range_end);
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_posts >= $range_begin
|
||||
AND user_posts <= $range_end
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
@ -566,8 +566,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_POSTCOUNT_EQUALS'], $postcount_value);
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_posts = $postcount_value
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -632,8 +632,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_INVALID']);
|
||||
}
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE {$lower_b}$field{$lower_e} $op '" . DB()->escape($userfield_value) . "'
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -653,8 +653,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
case 'in':
|
||||
$text = sprintf($lang['SEARCH_FOR_LASTVISITED_INTHELAST'], $lastvisited_days, (($lastvisited_days > 1) ? $lang['DAYS'] : $lang['DAY']));
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_lastvisit >= $lastvisited_seconds
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -664,8 +664,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
case 'after':
|
||||
$text = sprintf($lang['SEARCH_FOR_LASTVISITED_AFTERTHELAST'], $lastvisited_days, (($lastvisited_days > 1) ? $lang['DAYS'] : $lang['DAY']));
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_lastvisit < $lastvisited_seconds
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -689,8 +689,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_LANGUAGE'], strip_tags(htmlspecialchars($language_type)));
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_lang = '" . DB()->escape($language_type) . "'
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -704,8 +704,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$timezone_type = (int)$timezone_type;
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . "
|
||||
WHERE user_timezone = $timezone_type
|
||||
AND user_id <> " . GUEST_UID;
|
||||
|
||||
|
@ -717,7 +717,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$base_url .= '&search_moderators=true&moderators_forum=' . rawurlencode(stripslashes($moderators_forum));
|
||||
$moderators_forum = (int)$moderators_forum;
|
||||
|
||||
$sql = "SELECT forum_name FROM " . BB_FORUMS . " WHERE forum_id = " . $moderators_forum;
|
||||
$sql = 'SELECT forum_name FROM ' . BB_FORUMS . ' WHERE forum_id = ' . $moderators_forum;
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select forum data');
|
||||
|
@ -731,23 +731,23 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$text = sprintf($lang['SEARCH_FOR_MODERATORS'], htmlCHR($forum_name['forum_name']));
|
||||
|
||||
$total_sql .= "SELECT COUNT(DISTINCT u.user_id) AS total
|
||||
FROM " . BB_USERS . " AS u, " . BB_GROUPS . " AS g, " . BB_USER_GROUP . " AS ug, " . BB_AUTH_ACCESS . " AS aa
|
||||
$total_sql .= 'SELECT COUNT(DISTINCT u.user_id) AS total
|
||||
FROM ' . BB_USERS . ' AS u, ' . BB_GROUPS . ' AS g, ' . BB_USER_GROUP . ' AS ug, ' . BB_AUTH_ACCESS . ' AS aa
|
||||
WHERE u.user_id = ug.user_id
|
||||
AND ug.group_id = g.group_id
|
||||
AND g.group_id = aa.group_id
|
||||
AND aa.forum_id = " . $moderators_forum . "
|
||||
AND aa.forum_perm & " . BF_AUTH_MOD . "
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
AND aa.forum_id = ' . $moderators_forum . '
|
||||
AND aa.forum_perm & ' . BF_AUTH_MOD . '
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
|
||||
$select_sql .= ", " . BB_GROUPS . " AS g, " . BB_USER_GROUP . " AS ug, " . BB_AUTH_ACCESS . " AS aa
|
||||
$select_sql .= ', ' . BB_GROUPS . ' AS g, ' . BB_USER_GROUP . ' AS ug, ' . BB_AUTH_ACCESS . ' AS aa
|
||||
WHERE u.user_id = ug.user_id
|
||||
AND ug.group_id = g.group_id
|
||||
AND g.group_id = aa.group_id
|
||||
AND aa.forum_id = " . $moderators_forum . "
|
||||
AND aa.forum_perm & " . BF_AUTH_MOD . "
|
||||
AND u.user_id <> " . GUEST_UID . "
|
||||
GROUP BY u.user_id, u.username, u.user_email, u.user_posts, u.user_regdate, u.user_level, u.user_active, u.user_lastvisit";
|
||||
AND aa.forum_id = ' . $moderators_forum . '
|
||||
AND aa.forum_perm & ' . BF_AUTH_MOD . '
|
||||
AND u.user_id <> ' . GUEST_UID . '
|
||||
GROUP BY u.user_id, u.username, u.user_email, u.user_posts, u.user_regdate, u.user_level, u.user_active, u.user_lastvisit';
|
||||
break;
|
||||
|
||||
case 'search_misc':
|
||||
|
@ -760,48 +760,48 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
case 'admins':
|
||||
$text = $lang['SEARCH_FOR_ADMINS'];
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
WHERE user_level = " . ADMIN . "
|
||||
AND user_id <> " . GUEST_UID;
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . '
|
||||
WHERE user_level = ' . ADMIN . '
|
||||
AND user_id <> ' . GUEST_UID;
|
||||
|
||||
$select_sql .= " WHERE u.user_level = " . ADMIN . "
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
$select_sql .= ' WHERE u.user_level = ' . ADMIN . '
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
break;
|
||||
case 'mods':
|
||||
$text = $lang['SEARCH_FOR_MODS'];
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
WHERE user_level = " . MOD . "
|
||||
AND user_id <> " . GUEST_UID;
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . '
|
||||
WHERE user_level = ' . MOD . '
|
||||
AND user_id <> ' . GUEST_UID;
|
||||
|
||||
$select_sql .= " WHERE u.user_level = " . MOD . "
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
$select_sql .= ' WHERE u.user_level = ' . MOD . '
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
break;
|
||||
case 'banned':
|
||||
$text = $lang['SEARCH_FOR_BANNED'];
|
||||
|
||||
$total_sql .= "SELECT COUNT(u.user_id) AS total
|
||||
FROM " . BB_USERS . " AS u, " . BB_BANLIST . " AS b
|
||||
$total_sql .= 'SELECT COUNT(u.user_id) AS total
|
||||
FROM ' . BB_USERS . ' AS u, ' . BB_BANLIST . ' AS b
|
||||
WHERE u.user_id = b.ban_userid
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
|
||||
$select_sql .= ", " . BB_BANLIST . " AS b
|
||||
$select_sql .= ', ' . BB_BANLIST . ' AS b
|
||||
WHERE u.user_id = b.ban_userid
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
|
||||
break;
|
||||
case 'disabled':
|
||||
$text = $lang['SEARCH_FOR_DISABLED'];
|
||||
|
||||
$total_sql .= "SELECT COUNT(user_id) AS total
|
||||
FROM " . BB_USERS . "
|
||||
$total_sql .= 'SELECT COUNT(user_id) AS total
|
||||
FROM ' . BB_USERS . '
|
||||
WHERE user_active = 0
|
||||
AND user_id <> " . GUEST_UID;
|
||||
AND user_id <> ' . GUEST_UID;
|
||||
|
||||
$select_sql .= " WHERE u.user_active = 0
|
||||
AND u.user_id <> " . GUEST_UID;
|
||||
$select_sql .= ' WHERE u.user_active = 0
|
||||
AND u.user_id <> ' . GUEST_UID;
|
||||
|
||||
break;
|
||||
default:
|
||||
|
@ -809,9 +809,9 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
}
|
||||
}
|
||||
|
||||
$select_sql .= " ORDER BY ";
|
||||
$select_sql .= ' ORDER BY ';
|
||||
|
||||
switch (strtolower(@$_GET['sort'])) {
|
||||
switch (strtolower($_GET['sort'])) {
|
||||
case 'regdate':
|
||||
$sort = 'regdate';
|
||||
$select_sql .= 'u.user_regdate';
|
||||
|
@ -838,7 +838,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$select_sql .= 'u.username';
|
||||
}
|
||||
|
||||
switch (@$_GET['order']) {
|
||||
switch ($_GET['order']) {
|
||||
case 'DESC':
|
||||
$order = 'DESC';
|
||||
$o_order = 'ASC';
|
||||
|
@ -851,7 +851,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
|
||||
$select_sql .= " $order";
|
||||
|
||||
$page = (isset($_GET['page'])) ? (int)$_GET['page'] : (int)trim(@$_POST['page']);
|
||||
$page = isset($_GET['page']) ? (int)$_GET['page'] : (int)trim($_POST['page']);
|
||||
|
||||
if ($page < 1) {
|
||||
$page = 1;
|
||||
|
@ -878,7 +878,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
bb_die($lang['SEARCH_NO_RESULTS']);
|
||||
}
|
||||
}
|
||||
$num_pages = ceil(($total_pages['total'] / $bb_cfg['topics_per_page']));
|
||||
$num_pages = ceil($total_pages['total'] / $bb_cfg['topics_per_page']);
|
||||
|
||||
$pagination = '';
|
||||
|
||||
|
@ -919,7 +919,7 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
$users_sql .= ($users_sql == '') ? $array['user_id'] : ', ' . $array['user_id'];
|
||||
}
|
||||
|
||||
$sql = "SELECT ban_userid AS user_id FROM " . BB_BANLIST . " WHERE ban_userid IN ($users_sql)";
|
||||
$sql = 'SELECT ban_userid AS user_id FROM ' . BB_BANLIST . " WHERE ban_userid IN ($users_sql)";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not select banned data');
|
||||
|
@ -943,8 +943,8 @@ if (!isset($_REQUEST['dosearch'])) {
|
|||
'JOINDATE' => bb_date($rowset[$i]['user_regdate']),
|
||||
'LASTVISIT' => bb_date($rowset[$i]['user_lastvisit']),
|
||||
'POSTS' => $rowset[$i]['user_posts'],
|
||||
'BAN' => ((!isset($banned[$rowset[$i]['user_id']])) ? $lang['NOT_BANNED'] : $lang['BANNED']),
|
||||
'ABLED' => (($rowset[$i]['user_active']) ? $lang['ENABLED'] : $lang['DISABLED']),
|
||||
'BAN' => (!isset($banned[$rowset[$i]['user_id']])) ? $lang['NOT_BANNED'] : $lang['BANNED'],
|
||||
'ABLED' => $rowset[$i]['user_active'] ? $lang['ENABLED'] : $lang['DISABLED'],
|
||||
|
||||
'U_VIEWPOSTS' => "../search.php?search_author=1&uid={$rowset[$i]['user_id']}",
|
||||
'U_MANAGE' => '../profile.php?mode=editprofile&' . POST_USERS_URL . '=' . $rowset[$i]['user_id'] . '&admin=1',
|
||||
|
|
|
@ -51,7 +51,7 @@ if ($mode != '') {
|
|||
|
||||
if ($mode == 'edit') {
|
||||
if ($word_id) {
|
||||
$sql = "SELECT * FROM " . BB_WORDS . " WHERE word_id = $word_id";
|
||||
$sql = 'SELECT * FROM ' . BB_WORDS . " WHERE word_id = $word_id";
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query words table #1');
|
||||
}
|
||||
|
@ -82,12 +82,12 @@ if ($mode != '') {
|
|||
}
|
||||
|
||||
if ($word_id) {
|
||||
$sql = "UPDATE " . BB_WORDS . "
|
||||
$sql = 'UPDATE ' . BB_WORDS . "
|
||||
SET word = '" . DB()->escape($word) . "', replacement = '" . DB()->escape($replacement) . "'
|
||||
WHERE word_id = $word_id";
|
||||
$message = $lang['WORD_UPDATED'];
|
||||
} else {
|
||||
$sql = "INSERT INTO " . BB_WORDS . " (word, replacement)
|
||||
$sql = 'INSERT INTO ' . BB_WORDS . " (word, replacement)
|
||||
VALUES ('" . DB()->escape($word) . "', '" . DB()->escape($replacement) . "')";
|
||||
$message = $lang['WORD_ADDED'];
|
||||
}
|
||||
|
@ -104,7 +104,7 @@ if ($mode != '') {
|
|||
$word_id = (int)request_var('id', 0);
|
||||
|
||||
if ($word_id) {
|
||||
$sql = "DELETE FROM " . BB_WORDS . " WHERE word_id = $word_id";
|
||||
$sql = 'DELETE FROM ' . BB_WORDS . " WHERE word_id = $word_id";
|
||||
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not remove data from words table');
|
||||
|
@ -118,7 +118,7 @@ if ($mode != '') {
|
|||
}
|
||||
}
|
||||
} else {
|
||||
$sql = "SELECT * FROM " . BB_WORDS . " ORDER BY word";
|
||||
$sql = 'SELECT * FROM ' . BB_WORDS . ' ORDER BY word';
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not query words table #2');
|
||||
}
|
||||
|
|
|
@ -27,19 +27,22 @@ require __DIR__ . '/pagestart.php';
|
|||
|
||||
// Generate relevant output
|
||||
if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
||||
if (!$module = CACHE('bb_cache')->get('admin_module')) {
|
||||
$dir = @opendir('.');
|
||||
$module = [];
|
||||
if (!$module = CACHE('bb_cache')->get('admin_module_' . $user->id)) {
|
||||
$dir = opendir('.');
|
||||
$setmodules = 1;
|
||||
while ($file = @readdir($dir)) {
|
||||
while ($file = readdir($dir)) {
|
||||
if (preg_match('/^admin_.*?\.php$/', $file)) {
|
||||
include('./' . $file);
|
||||
include './' . $file;
|
||||
}
|
||||
}
|
||||
unset($setmodules);
|
||||
@closedir($dir);
|
||||
CACHE('bb_cache')->set('admin_module', $module, 600);
|
||||
closedir($dir);
|
||||
CACHE('bb_cache')->set('admin_module_' . $user->id, $module, 600);
|
||||
}
|
||||
|
||||
$module = CACHE('bb_cache')->get('admin_module_' . $user->id);
|
||||
|
||||
$template->assign_vars(array(
|
||||
'TPL_ADMIN_NAVIGATE' => true,
|
||||
'U_FORUM_INDEX' => '../index.php',
|
||||
|
@ -74,8 +77,8 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
|||
} elseif (isset($_GET['pane']) && $_GET['pane'] == 'right') {
|
||||
$template->assign_vars(array(
|
||||
'TPL_ADMIN_MAIN' => true,
|
||||
'ADMIN_LOCK' => ($bb_cfg['board_disable']) ? true : false,
|
||||
'ADMIN_LOCK_CRON' => (file_exists(BB_DISABLED)) ? true : false,
|
||||
'ADMIN_LOCK' => $bb_cfg['board_disable'] ? true : false,
|
||||
'ADMIN_LOCK_CRON' => file_exists(BB_DISABLED) ? true : false,
|
||||
));
|
||||
|
||||
// Get forum statistics
|
||||
|
@ -91,13 +94,13 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
|||
|
||||
$avatar_dir_size = 0;
|
||||
|
||||
if ($avatar_dir = @opendir(BB_ROOT . $bb_cfg['avatar_path'])) {
|
||||
while ($file = @readdir($avatar_dir)) {
|
||||
if ($avatar_dir = opendir($bb_cfg['avatars']['upload_path'])) {
|
||||
while ($file = readdir($avatar_dir)) {
|
||||
if ($file != '.' && $file != '..') {
|
||||
$avatar_dir_size += @filesize(BB_ROOT . $bb_cfg['avatar_path'] . '/' . $file);
|
||||
}
|
||||
}
|
||||
@closedir($avatar_dir);
|
||||
closedir($avatar_dir);
|
||||
|
||||
$avatar_dir_size = humn_size($avatar_dir_size);
|
||||
} else {
|
||||
|
@ -116,36 +119,6 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
|||
$users_per_day = $total_users;
|
||||
}
|
||||
|
||||
// DB size ... MySQL only
|
||||
$sql = "SELECT VERSION() AS mysql_version";
|
||||
if ($result = DB()->sql_query($sql)) {
|
||||
$row = DB()->sql_fetchrow($result);
|
||||
$version = $row['mysql_version'];
|
||||
|
||||
if (preg_match('/^(3\.23|4\.|5\.|10\.)/', $version)) {
|
||||
$dblist = array();
|
||||
foreach ($bb_cfg['db'] as $name => $row) {
|
||||
$sql = "SHOW TABLE STATUS FROM {$row[1]}";
|
||||
if ($result = DB()->sql_query($sql)) {
|
||||
$tabledata_ary = DB()->sql_fetchrowset($result);
|
||||
|
||||
$dbsize = 0;
|
||||
for ($i = 0, $iMax = count($tabledata_ary); $i < $iMax; $i++) {
|
||||
if (@$tabledata_ary[$i]['Type'] != 'MRG_MYISAM') {
|
||||
$dbsize += $tabledata_ary[$i]['Data_length'] + $tabledata_ary[$i]['Index_length'];
|
||||
}
|
||||
}
|
||||
$dblist[] = '<span title="' . $name . '">' . humn_size($dbsize) . '</span>';
|
||||
}
|
||||
}
|
||||
$dbsize = implode(' | ', $dblist);
|
||||
} else {
|
||||
$dbsize = $lang['NOT_AVAILABLE'];
|
||||
}
|
||||
} else {
|
||||
$dbsize = $lang['NOT_AVAILABLE'];
|
||||
}
|
||||
|
||||
$template->assign_vars(array(
|
||||
'NUMBER_OF_POSTS' => $total_posts,
|
||||
'NUMBER_OF_TOPICS' => $total_topics,
|
||||
|
@ -155,33 +128,31 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
|||
'TOPICS_PER_DAY' => $topics_per_day,
|
||||
'USERS_PER_DAY' => $users_per_day,
|
||||
'AVATAR_DIR_SIZE' => $avatar_dir_size,
|
||||
'DB_SIZE' => $dbsize,
|
||||
'GZIP_COMPRESSION' => ($bb_cfg['gzip_compress']) ? $lang['ON'] : $lang['OFF'],
|
||||
));
|
||||
|
||||
if (@$_GET['users_online']) {
|
||||
if (isset($_GET['users_online'])) {
|
||||
$template->assign_vars(array(
|
||||
'SHOW_USERS_ONLINE' => true,
|
||||
));
|
||||
|
||||
// Get users online information.
|
||||
$sql = "SELECT u.user_id, u.username, u.user_rank, s.session_time AS user_session_time, u.user_opt, s.session_logged_in, s.session_ip, s.session_start
|
||||
FROM " . BB_USERS . " u, " . BB_SESSIONS . " s
|
||||
$sql = 'SELECT u.user_id, u.username, u.user_rank, s.session_time AS user_session_time, u.user_opt, s.session_logged_in, s.session_ip, s.session_start
|
||||
FROM ' . BB_USERS . ' u, ' . BB_SESSIONS . ' s
|
||||
WHERE s.session_logged_in = 1
|
||||
AND u.user_id = s.session_user_id
|
||||
AND u.user_id <> " . GUEST_UID . "
|
||||
AND s.session_time >= " . (TIMENOW - 300) . "
|
||||
ORDER BY s.session_ip ASC, s.session_time DESC";
|
||||
AND u.user_id <> ' . GUEST_UID . '
|
||||
AND s.session_time >= ' . (TIMENOW - 300) . '
|
||||
ORDER BY s.session_ip ASC, s.session_time DESC';
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not obtain reged user / online information');
|
||||
}
|
||||
$onlinerow_reg = DB()->sql_fetchrowset($result);
|
||||
|
||||
$sql = "SELECT session_logged_in, session_time, session_ip, session_start
|
||||
FROM " . BB_SESSIONS . "
|
||||
$sql = 'SELECT session_logged_in, session_time, session_ip, session_start
|
||||
FROM ' . BB_SESSIONS . '
|
||||
WHERE session_logged_in = 0
|
||||
AND session_time >= " . (TIMENOW - 300) . "
|
||||
ORDER BY session_ip ASC, session_time DESC";
|
||||
AND session_time >= ' . (TIMENOW - 300) . '
|
||||
ORDER BY session_ip ASC, session_time DESC';
|
||||
if (!$result = DB()->sql_query($sql)) {
|
||||
bb_die('Could not obtain guest user / online information');
|
||||
}
|
||||
|
@ -259,14 +230,3 @@ if (isset($_GET['pane']) && $_GET['pane'] == 'left') {
|
|||
}
|
||||
|
||||
print_page('index.tpl', 'admin');
|
||||
|
||||
// Functions
|
||||
function inarray($needle, $haystack)
|
||||
{
|
||||
for ($i = 0, $iMax = count($haystack); $i < $iMax; $i++) {
|
||||
if ($haystack[$i] == $needle) {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
|
|
@ -34,7 +34,7 @@ require_once INC_DIR . '/functions_admin.php';
|
|||
$user->session_start();
|
||||
|
||||
if (IS_GUEST) {
|
||||
redirect(LOGIN_URL . "?redirect=admin/index.php");
|
||||
redirect(LOGIN_URL . '?redirect=admin/index.php');
|
||||
}
|
||||
|
||||
if (!IS_ADMIN) {
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
define('IN_ADMIN', true);
|
||||
define('BB_ROOT', './../../');
|
||||
require(BB_ROOT . 'common.php');
|
||||
require BB_ROOT . 'common.php';
|
||||
|
||||
$user->session_start();
|
||||
|
||||
|
@ -43,9 +43,7 @@ $sql[] = 'SELECT count(distinct(poster_id)) FROM `' . BB_BT_TORRENTS . '`';
|
|||
$sql[] = 'SELECT count(distinct(poster_id)) FROM `' . BB_BT_TORRENTS . '` WHERE reg_time >= UNIX_TIMESTAMP()-2592000';
|
||||
|
||||
echo '<html><body><head></head>';
|
||||
echo '
|
||||
<br /><br />
|
||||
<table border="1" cellspacing="0" cellpadding="6" align="center">';
|
||||
echo '<br /><br /><table border="1" cellspacing="0" cellpadding="6" align="center">';
|
||||
|
||||
foreach ($sql as $i => $query) {
|
||||
$row = mysqli_fetch_row(DB()->query($query));
|
||||
|
@ -53,7 +51,6 @@ foreach ($sql as $i => $query) {
|
|||
}
|
||||
|
||||
echo '</table>';
|
||||
|
||||
echo '<div align="center"><pre>';
|
||||
|
||||
if ($l = sys('la')) {
|
||||
|
@ -64,7 +61,7 @@ if ($l = sys('la')) {
|
|||
echo "\n\n<b>loadavg: </b>$l[0] $l[1] $l[2]\n\n";
|
||||
}
|
||||
|
||||
echo 'gen time: <b>' . sprintf('%.3f', (array_sum(explode(' ', microtime())) - TIMESTART)) . "</b> sec\n";
|
||||
echo 'gen time: <b>' . sprintf('%.3f', array_sum(explode(' ', microtime())) - TIMESTART) . "</b> sec\n";
|
||||
|
||||
echo '</pre></div>';
|
||||
echo '</body></html>';
|
||||
|
|
|
@ -25,7 +25,7 @@
|
|||
|
||||
define('IN_ADMIN', true);
|
||||
define('BB_ROOT', './../../');
|
||||
require(BB_ROOT . 'common.php');
|
||||
require BB_ROOT . 'common.php';
|
||||
|
||||
$user->session_start();
|
||||
|
||||
|
@ -33,7 +33,7 @@ if (!IS_ADMIN) {
|
|||
bb_die($lang['NOT_AUTHORISED']);
|
||||
}
|
||||
|
||||
$peers_in_last_minutes = array(30, 15, 5, 1);
|
||||
$peers_in_last_minutes = [30, 15, 5, 1];
|
||||
$peers_in_last_sec_limit = 300;
|
||||
|
||||
$announce_interval = (int)$bb_cfg['announce_interval'];
|
||||
|
@ -41,8 +41,8 @@ $stat = array();
|
|||
|
||||
define('TMP_TRACKER_TABLE', 'tmp_tracker');
|
||||
|
||||
DB()->query("
|
||||
CREATE TEMPORARY TABLE " . TMP_TRACKER_TABLE . " (
|
||||
DB()->query('
|
||||
CREATE TEMPORARY TABLE ' . TMP_TRACKER_TABLE . " (
|
||||
`topic_id` mediumint(8) unsigned NOT NULL default '0',
|
||||
`user_id` mediumint(9) NOT NULL default '0',
|
||||
`ip` char(8) binary NOT NULL default '0',
|
||||
|
@ -53,39 +53,37 @@ DB()->query("
|
|||
)
|
||||
SELECT
|
||||
topic_id, user_id, ip, seeder, speed_up, speed_down, update_time
|
||||
FROM " . BB_BT_TRACKER . "
|
||||
");
|
||||
FROM " . BB_BT_TRACKER . '
|
||||
');
|
||||
|
||||
// Peers within announce interval
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS p_within_ann FROM " . TMP_TRACKER_TABLE . " WHERE update_time >= " . (TIMENOW - $announce_interval));
|
||||
$stat += DB()->fetch_row('SELECT COUNT(*) AS p_within_ann FROM ' . TMP_TRACKER_TABLE . ' WHERE update_time >= ' . (TIMENOW - $announce_interval));
|
||||
// All peers, "max_peer_time"
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS p_all, SUM(speed_up) as speed_up, SUM(speed_down) as speed_down, UNIX_TIMESTAMP() - MIN(update_time) AS max_peer_time, UNIX_TIMESTAMP() - MAX(update_time) AS last_peer_time FROM " . TMP_TRACKER_TABLE);
|
||||
|
||||
$stat += DB()->fetch_row('SELECT COUNT(*) AS p_all, SUM(speed_up) as speed_up, SUM(speed_down) as speed_down, UNIX_TIMESTAMP() - MIN(update_time) AS max_peer_time, UNIX_TIMESTAMP() - MAX(update_time) AS last_peer_time FROM ' . TMP_TRACKER_TABLE);
|
||||
// Active users
|
||||
$stat += DB()->fetch_row("SELECT COUNT(DISTINCT user_id) AS u_bt_active FROM " . TMP_TRACKER_TABLE);
|
||||
$stat += DB()->fetch_row('SELECT COUNT(DISTINCT user_id) AS u_bt_active FROM ' . TMP_TRACKER_TABLE);
|
||||
// All bt-users
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS u_bt_all FROM " . BB_BT_USERS);
|
||||
$stat += DB()->fetch_row('SELECT COUNT(*) AS u_bt_all FROM ' . BB_BT_USERS);
|
||||
// All bb-users
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS u_bb_all FROM " . BB_USERS);
|
||||
|
||||
$stat += DB()->fetch_row('SELECT COUNT(*) AS u_bb_all FROM ' . BB_USERS);
|
||||
// Active torrents
|
||||
$stat += DB()->fetch_row("SELECT COUNT(DISTINCT topic_id) AS tor_active FROM " . TMP_TRACKER_TABLE);
|
||||
$stat += DB()->fetch_row('SELECT COUNT(DISTINCT topic_id) AS tor_active FROM ' . TMP_TRACKER_TABLE);
|
||||
// With seeder
|
||||
$stat += DB()->fetch_row("SELECT COUNT(DISTINCT topic_id) AS tor_with_seeder FROM " . TMP_TRACKER_TABLE . " WHERE seeder = 1");
|
||||
$stat += DB()->fetch_row('SELECT COUNT(DISTINCT topic_id) AS tor_with_seeder FROM ' . TMP_TRACKER_TABLE . ' WHERE seeder = 1');
|
||||
// All torrents
|
||||
$stat += DB()->fetch_row("SELECT COUNT(*) AS tor_all, SUM(size) AS torrents_size FROM " . BB_BT_TORRENTS);
|
||||
$stat += DB()->fetch_row('SELECT COUNT(*) AS tor_all, SUM(size) AS torrents_size FROM ' . BB_BT_TORRENTS);
|
||||
|
||||
// Last xx minutes
|
||||
$peers_in_last_min = array();
|
||||
foreach ($peers_in_last_minutes as $t) {
|
||||
$row = DB()->fetch_row("
|
||||
SELECT COUNT(*) AS peers FROM " . TMP_TRACKER_TABLE . " WHERE update_time >= " . (TIMENOW - 60 * $t) . "
|
||||
");
|
||||
$row = DB()->fetch_row('
|
||||
SELECT COUNT(*) AS peers FROM ' . TMP_TRACKER_TABLE . ' WHERE update_time >= ' . (TIMENOW - 60 * $t) . '
|
||||
');
|
||||
$peers_in_last_min[$t] = (int)$row['peers'];
|
||||
}
|
||||
// Last xx seconds
|
||||
$peers_in_last_sec = array();
|
||||
$rowset = DB()->fetch_rowset("SELECT COUNT(*) AS peers FROM " . TMP_TRACKER_TABLE . " GROUP BY update_time DESC LIMIT $peers_in_last_sec_limit");
|
||||
$rowset = DB()->fetch_rowset('SELECT COUNT(*) AS peers FROM ' . TMP_TRACKER_TABLE . " GROUP BY update_time DESC LIMIT $peers_in_last_sec_limit");
|
||||
foreach ($rowset as $cnt => $row) {
|
||||
$peers_in_last_sec[] = sprintf('%3s', $row['peers']) . (($cnt && !(++$cnt % 15)) ? " \n" : '');
|
||||
}
|
||||
|
@ -103,13 +101,7 @@ function commify_ob($contents)
|
|||
ob_start('commify_ob');
|
||||
|
||||
echo '<html><body><head></head>';
|
||||
echo '
|
||||
<br /><br />
|
||||
<table border="1" cellspacing="0" cellpadding="6" align="center">
|
||||
<col width="40%">
|
||||
<col width="60%">
|
||||
';
|
||||
|
||||
echo '<br /><br /><table border="1" cellspacing="0" cellpadding="6" align="center"><col width="40%"><col width="60%">';
|
||||
echo "\n<tr><td align=center> users: bb-all / bt-all / bt-active </td><td align=center> $stat[u_bb_all] / $stat[u_bt_all] / <b>$stat[u_bt_active]</b> </td></tr>\n";
|
||||
|
||||
echo "\n
|
||||
|
@ -126,19 +118,16 @@ echo "\n
|
|||
<td align=center>
|
||||
$stat[p_all] / <b>$stat[p_within_ann]</b>
|
||||
|
||||
[ up: " . humn_size($stat['speed_up']) . "/s,
|
||||
down: " . humn_size($stat['speed_down']) . "/s ]
|
||||
[ up: " . humn_size($stat['speed_up']) . '/s,
|
||||
down: ' . humn_size($stat['speed_down']) . "/s ]
|
||||
</td></tr>
|
||||
\n";
|
||||
|
||||
echo "\n<tr><td align=center> peers: in last " . implode(' / ', $peers_in_last_minutes) . " min</td>\n";
|
||||
echo "\n<td align=center>" . implode(' / ', $peers_in_last_min) . "</td></tr>\n";
|
||||
|
||||
echo "\n<tr><td align=center> peers in last $peers_in_last_sec_limit sec <br /> [ per second, DESC order --> ] <br /> last peer: $stat[last_peer_time] seconds ago <br /> " . date("j M H:i:s [T O]") . " </td>\n";
|
||||
echo "\n<tr><td align=center> peers in last $peers_in_last_sec_limit sec <br /> [ per second, DESC order --> ] <br /> last peer: $stat[last_peer_time] seconds ago <br /> " . date('j M H:i:s [T O]') . " </td>\n";
|
||||
echo '<td align=center style="font-size: 13px; font-family: \'Courier New\',Courier,monospace;"><pre> ' . implode(' ', $peers_in_last_sec) . "</pre></td></tr>\n";
|
||||
|
||||
echo '</table>';
|
||||
|
||||
echo '<div align="center"><pre>';
|
||||
|
||||
if ($l = sys('la')) {
|
||||
|
@ -149,11 +138,10 @@ if ($l = sys('la')) {
|
|||
echo "\n\n<b>loadavg: </b>$l[0] $l[1] $l[2]\n\n";
|
||||
}
|
||||
|
||||
echo 'gen time: <b>' . sprintf('%.3f', (array_sum(explode(' ', microtime())) - TIMESTART)) . "</b> sec\n";
|
||||
|
||||
echo 'gen time: <b>' . sprintf('%.3f', array_sum(explode(' ', microtime())) - TIMESTART) . "</b> sec\n";
|
||||
echo '</pre></div>';
|
||||
echo '</body></html>';
|
||||
|
||||
DB()->query("DROP TEMPORARY TABLE " . TMP_TRACKER_TABLE);
|
||||
DB()->query('DROP TEMPORARY TABLE ' . TMP_TRACKER_TABLE);
|
||||
|
||||
bb_exit();
|
||||
|
|
|
@ -85,7 +85,7 @@ if ($is_moderator) {
|
|||
'GROUP_DESCRIPTION' => htmlCHR($group_info['group_description']),
|
||||
'GROUP_SIGNATURE' => htmlCHR($group_info['group_signature']),
|
||||
'U_GROUP_URL' => GROUP_URL . $group_id,
|
||||
'RELEASE_GROUP' => ($group_info['release_group']) ? true : false,
|
||||
'RELEASE_GROUP' => $group_info['release_group'] ? true : false,
|
||||
'GROUP_TYPE' => $group_type,
|
||||
'S_GROUP_OPEN_TYPE' => GROUP_OPEN,
|
||||
'S_GROUP_CLOSED_TYPE' => GROUP_CLOSED,
|
||||
|
|
|
@ -555,7 +555,6 @@ INSERT INTO `bb_config` VALUES ('network_news_forum_id', '2');
|
|||
INSERT INTO `bb_config` VALUES ('whois_info', 'http://whatismyipaddress.com/ip/');
|
||||
INSERT INTO `bb_config` VALUES ('show_mod_index', '0');
|
||||
INSERT INTO `bb_config` VALUES ('premod', '0');
|
||||
INSERT INTO `bb_config` VALUES ('new_tpls', '1');
|
||||
INSERT INTO `bb_config` VALUES ('tor_comment', '1');
|
||||
INSERT INTO `bb_config` VALUES ('terms', '');
|
||||
|
||||
|
@ -826,7 +825,6 @@ DROP TABLE IF EXISTS `bb_log`;
|
|||
CREATE TABLE IF NOT EXISTS `bb_log` (
|
||||
`log_type_id` MEDIUMINT(8) UNSIGNED NOT NULL DEFAULT '0',
|
||||
`log_user_id` MEDIUMINT(9) NOT NULL DEFAULT '0',
|
||||
`log_username` VARCHAR(25) NOT NULL DEFAULT '',
|
||||
`log_user_ip` VARCHAR(32)
|
||||
CHARACTER SET utf8
|
||||
COLLATE utf8_bin NOT NULL DEFAULT '',
|
||||
|
|
|
@ -60,3 +60,5 @@ DELETE FROM `bb_smilies` WHERE `code` = ':ad:';
|
|||
INSERT INTO `bb_smilies` VALUES ('', ':сd:', 'сd.gif', 'сd');
|
||||
DROP TABLE IF EXISTS `bb_ads`;
|
||||
DELETE FROM `bb_config` WHERE `config_name` = 'active_ads';
|
||||
ALTER TABLE `bb_log` DROP COLUMN `log_username`;
|
||||
DELETE FROM `bb_config` WHERE `config_name` = 'new_tpls';
|
||||
|
|
|
@ -1,4 +1,4 @@
|
|||
<div id="infobox-body">
|
||||
<h2 class="bold">Advertising on <?= $bb_cfg['sitename'] ?></h2>
|
||||
<h2 class="bold">Advertising on our site</h2>
|
||||
<p>For advertising please contact: <strong><a href="mailto:<?= $bb_cfg['adv_email']; ?>" class="gen"><?= $bb_cfg['adv_email']; ?></a></strong></p>
|
||||
</div><!--/infobox-body-->
|
||||
|
|
|
@ -18,7 +18,7 @@ which indicated to us the following information:</p>
|
|||
|
||||
<p>3. Direct links to pages that contain references to data that must be removed.</p>
|
||||
|
||||
<p>Links should be view <strong>http://<?= $_SERVER['SERVER_NAME']?>/viewtopic.php?t=XXXXX</strong> or something similar.</p>
|
||||
<p>Links should be view <strong>https://url.to/link</strong> or something similar.</p>
|
||||
|
||||
<p>After that in 48 hours, we will remove interesting you links from the site.</p>
|
||||
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
<div>
|
||||
<h3>BitTorrent clients</h3>
|
||||
<ul>
|
||||
<li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>uTorrent</b></a></li>
|
||||
<li><a rel="nofollow" href="http://www.utorrent.com/" class="med"><b>µTorrent</b></a></li>
|
||||
<li><a rel="nofollow" href="http://www.bittorrent.com/" class="med"><b>BitTorrent</b></a></li>
|
||||
<li><a rel="nofollow" href="http://www.transmissionbt.com/" class="med"><b>Transmission</b></a></li>
|
||||
<li><a rel="nofollow" href="https://transmissionbt.com/" class="med"><b>Transmission</b></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
@ -12,9 +12,9 @@
|
|||
<div>
|
||||
<h3>FAQ</h3>
|
||||
<ul class="med">
|
||||
<li><a href="info.php?show=user_agreement" class="med" onclick="window.open(this.href, '', IWP); return false;"><b>Terms of use resource</b></a></li>
|
||||
<li><a href="https://torrentpier.me/threads/faq-dlja-novichkov.260" class="med">FAQ for beginners</a></li>
|
||||
<li><a href="https://torrentpier.me/forums/osnovnye-voprosy-po-torrentpier-ii.10" class="med">Where is ask a question?</a></li>
|
||||
<li><a href="info.php?show=user_agreement" class="med" onclick="window.open(this.href, '', IWP); return false;"><b>Resource terms of usage</b></a></li>
|
||||
<li><a href="https://torrentpier.me/forum/threads/260" class="med">FAQ for beginners</a></li>
|
||||
<li><a href="https://torrentpier.me/forum/forums/10" class="med">Where is ask a question?</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
|
|
|
@ -6,7 +6,7 @@
|
|||
|
||||
<p><h3>ABOUT SITE</h3></p>
|
||||
|
||||
<p>Internet - resource (website) <?= $bb_cfg['sitename'] ?> (hereinafter - Resource) is an internet site that allows users to share information with each other via bit-torrent, as well as in free form, and provides a means to monitor the integrity of information transmitted (via hash-files).</p>
|
||||
<p>Internet - resource / website (hereinafter - Resource) is an internet site that allows users to share information with each other via bit-torrent, as well as in free form, and provides a means to monitor the integrity of information transmitted (via hash-files).</p>
|
||||
|
||||
<ol>
|
||||
|
||||
|
|
|
@ -2575,7 +2575,7 @@ $lang['ACTS_LOG_FORUM'] = 'Forum';
|
|||
$lang['ACTS_LOG_ACTION'] = 'Action';
|
||||
$lang['ACTS_LOG_USER'] = 'User';
|
||||
$lang['ACTS_LOG_LOGS_FROM'] = 'Logs from ';
|
||||
$lang['ACTS_LOG_FIRST'] = 'first ';
|
||||
$lang['ACTS_LOG_FIRST'] = 'beginning with';
|
||||
$lang['ACTS_LOG_DAYS_BACK'] = 'days back';
|
||||
$lang['ACTS_LOG_TOPIC_MATCH'] = 'Topic title match';
|
||||
$lang['ACTS_LOG_SORT_BY'] = 'Sort by';
|
||||
|
@ -2585,6 +2585,7 @@ $lang['ACTS_LOG_TIME'] = 'Time';
|
|||
$lang['ACTS_LOG_INFO'] = 'Info';
|
||||
$lang['ACTS_LOG_FILTER'] = 'Filter';
|
||||
$lang['ACTS_LOG_TOPICS'] = 'Topics:';
|
||||
$lang['ACTS_LOG_OR'] = 'or';
|
||||
|
||||
$lang['RELEASE'] = 'Release Templates';
|
||||
$lang['RELEASES'] = 'Releases';
|
||||
|
|
|
@ -79,18 +79,15 @@ class LogAction
|
|||
|
||||
if (!empty($userdata)) {
|
||||
$user_id = $userdata['user_id'];
|
||||
$username = $userdata['username'];
|
||||
$session_ip = $userdata['session_ip'];
|
||||
} else {
|
||||
$user_id = '';
|
||||
$username = defined('IN_CRON') ? 'cron' : CLIENT_IP;
|
||||
$session_ip = '';
|
||||
}
|
||||
|
||||
$sql_ary = [
|
||||
'log_type_id' => (int)$this->log_type["$type_name"],
|
||||
'log_user_id' => (int)$user_id,
|
||||
'log_username' => (string)$username,
|
||||
'log_user_ip' => (string)$session_ip,
|
||||
'log_forum_id' => (int)$forum_id,
|
||||
'log_forum_id_new' => (int)$forum_id_new,
|
||||
|
|
147
styles/bootstrap/css/bootstrap-theme.css
vendored
147
styles/bootstrap/css/bootstrap-theme.css
vendored
|
@ -1,9 +1,8 @@
|
|||
/*!
|
||||
* Bootstrap v3.3.1 (http://getbootstrap.com)
|
||||
* Copyright 2011-2014 Twitter, Inc.
|
||||
* Bootstrap v3.3.7 (http://getbootstrap.com)
|
||||
* Copyright 2011-2016 Twitter, Inc.
|
||||
* Licensed under MIT (https://github.com/twbs/bootstrap/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
.btn-default,
|
||||
.btn-primary,
|
||||
.btn-success,
|
||||
|
@ -29,6 +28,27 @@
|
|||
-webkit-box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
box-shadow: inset 0 3px 5px rgba(0, 0, 0, .125);
|
||||
}
|
||||
.btn-default.disabled,
|
||||
.btn-primary.disabled,
|
||||
.btn-success.disabled,
|
||||
.btn-info.disabled,
|
||||
.btn-warning.disabled,
|
||||
.btn-danger.disabled,
|
||||
.btn-default[disabled],
|
||||
.btn-primary[disabled],
|
||||
.btn-success[disabled],
|
||||
.btn-info[disabled],
|
||||
.btn-warning[disabled],
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
fieldset[disabled] .btn-primary,
|
||||
fieldset[disabled] .btn-success,
|
||||
fieldset[disabled] .btn-info,
|
||||
fieldset[disabled] .btn-warning,
|
||||
fieldset[disabled] .btn-danger {
|
||||
-webkit-box-shadow: none;
|
||||
box-shadow: none;
|
||||
}
|
||||
.btn-default .badge,
|
||||
.btn-primary .badge,
|
||||
.btn-success .badge,
|
||||
|
@ -63,8 +83,24 @@
|
|||
background-color: #e0e0e0;
|
||||
border-color: #dbdbdb;
|
||||
}
|
||||
.btn-default:disabled,
|
||||
.btn-default[disabled] {
|
||||
.btn-default.disabled,
|
||||
.btn-default[disabled],
|
||||
fieldset[disabled] .btn-default,
|
||||
.btn-default.disabled:hover,
|
||||
.btn-default[disabled]:hover,
|
||||
fieldset[disabled] .btn-default:hover,
|
||||
.btn-default.disabled:focus,
|
||||
.btn-default[disabled]:focus,
|
||||
fieldset[disabled] .btn-default:focus,
|
||||
.btn-default.disabled.focus,
|
||||
.btn-default[disabled].focus,
|
||||
fieldset[disabled] .btn-default.focus,
|
||||
.btn-default.disabled:active,
|
||||
.btn-default[disabled]:active,
|
||||
fieldset[disabled] .btn-default:active,
|
||||
.btn-default.disabled.active,
|
||||
.btn-default[disabled].active,
|
||||
fieldset[disabled] .btn-default.active {
|
||||
background-color: #e0e0e0;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -88,8 +124,24 @@
|
|||
background-color: #265a88;
|
||||
border-color: #245580;
|
||||
}
|
||||
.btn-primary:disabled,
|
||||
.btn-primary[disabled] {
|
||||
.btn-primary.disabled,
|
||||
.btn-primary[disabled],
|
||||
fieldset[disabled] .btn-primary,
|
||||
.btn-primary.disabled:hover,
|
||||
.btn-primary[disabled]:hover,
|
||||
fieldset[disabled] .btn-primary:hover,
|
||||
.btn-primary.disabled:focus,
|
||||
.btn-primary[disabled]:focus,
|
||||
fieldset[disabled] .btn-primary:focus,
|
||||
.btn-primary.disabled.focus,
|
||||
.btn-primary[disabled].focus,
|
||||
fieldset[disabled] .btn-primary.focus,
|
||||
.btn-primary.disabled:active,
|
||||
.btn-primary[disabled]:active,
|
||||
fieldset[disabled] .btn-primary:active,
|
||||
.btn-primary.disabled.active,
|
||||
.btn-primary[disabled].active,
|
||||
fieldset[disabled] .btn-primary.active {
|
||||
background-color: #265a88;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -113,8 +165,24 @@
|
|||
background-color: #419641;
|
||||
border-color: #3e8f3e;
|
||||
}
|
||||
.btn-success:disabled,
|
||||
.btn-success[disabled] {
|
||||
.btn-success.disabled,
|
||||
.btn-success[disabled],
|
||||
fieldset[disabled] .btn-success,
|
||||
.btn-success.disabled:hover,
|
||||
.btn-success[disabled]:hover,
|
||||
fieldset[disabled] .btn-success:hover,
|
||||
.btn-success.disabled:focus,
|
||||
.btn-success[disabled]:focus,
|
||||
fieldset[disabled] .btn-success:focus,
|
||||
.btn-success.disabled.focus,
|
||||
.btn-success[disabled].focus,
|
||||
fieldset[disabled] .btn-success.focus,
|
||||
.btn-success.disabled:active,
|
||||
.btn-success[disabled]:active,
|
||||
fieldset[disabled] .btn-success:active,
|
||||
.btn-success.disabled.active,
|
||||
.btn-success[disabled].active,
|
||||
fieldset[disabled] .btn-success.active {
|
||||
background-color: #419641;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -138,8 +206,24 @@
|
|||
background-color: #2aabd2;
|
||||
border-color: #28a4c9;
|
||||
}
|
||||
.btn-info:disabled,
|
||||
.btn-info[disabled] {
|
||||
.btn-info.disabled,
|
||||
.btn-info[disabled],
|
||||
fieldset[disabled] .btn-info,
|
||||
.btn-info.disabled:hover,
|
||||
.btn-info[disabled]:hover,
|
||||
fieldset[disabled] .btn-info:hover,
|
||||
.btn-info.disabled:focus,
|
||||
.btn-info[disabled]:focus,
|
||||
fieldset[disabled] .btn-info:focus,
|
||||
.btn-info.disabled.focus,
|
||||
.btn-info[disabled].focus,
|
||||
fieldset[disabled] .btn-info.focus,
|
||||
.btn-info.disabled:active,
|
||||
.btn-info[disabled]:active,
|
||||
fieldset[disabled] .btn-info:active,
|
||||
.btn-info.disabled.active,
|
||||
.btn-info[disabled].active,
|
||||
fieldset[disabled] .btn-info.active {
|
||||
background-color: #2aabd2;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -163,8 +247,24 @@
|
|||
background-color: #eb9316;
|
||||
border-color: #e38d13;
|
||||
}
|
||||
.btn-warning:disabled,
|
||||
.btn-warning[disabled] {
|
||||
.btn-warning.disabled,
|
||||
.btn-warning[disabled],
|
||||
fieldset[disabled] .btn-warning,
|
||||
.btn-warning.disabled:hover,
|
||||
.btn-warning[disabled]:hover,
|
||||
fieldset[disabled] .btn-warning:hover,
|
||||
.btn-warning.disabled:focus,
|
||||
.btn-warning[disabled]:focus,
|
||||
fieldset[disabled] .btn-warning:focus,
|
||||
.btn-warning.disabled.focus,
|
||||
.btn-warning[disabled].focus,
|
||||
fieldset[disabled] .btn-warning.focus,
|
||||
.btn-warning.disabled:active,
|
||||
.btn-warning[disabled]:active,
|
||||
fieldset[disabled] .btn-warning:active,
|
||||
.btn-warning.disabled.active,
|
||||
.btn-warning[disabled].active,
|
||||
fieldset[disabled] .btn-warning.active {
|
||||
background-color: #eb9316;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -188,8 +288,24 @@
|
|||
background-color: #c12e2a;
|
||||
border-color: #b92c28;
|
||||
}
|
||||
.btn-danger:disabled,
|
||||
.btn-danger[disabled] {
|
||||
.btn-danger.disabled,
|
||||
.btn-danger[disabled],
|
||||
fieldset[disabled] .btn-danger,
|
||||
.btn-danger.disabled:hover,
|
||||
.btn-danger[disabled]:hover,
|
||||
fieldset[disabled] .btn-danger:hover,
|
||||
.btn-danger.disabled:focus,
|
||||
.btn-danger[disabled]:focus,
|
||||
fieldset[disabled] .btn-danger:focus,
|
||||
.btn-danger.disabled.focus,
|
||||
.btn-danger[disabled].focus,
|
||||
fieldset[disabled] .btn-danger.focus,
|
||||
.btn-danger.disabled:active,
|
||||
.btn-danger[disabled]:active,
|
||||
fieldset[disabled] .btn-danger:active,
|
||||
.btn-danger.disabled.active,
|
||||
.btn-danger[disabled].active,
|
||||
fieldset[disabled] .btn-danger.active {
|
||||
background-color: #c12e2a;
|
||||
background-image: none;
|
||||
}
|
||||
|
@ -254,6 +370,7 @@
|
|||
filter: progid:DXImageTransform.Microsoft.gradient(startColorstr='#ff3c3c3c', endColorstr='#ff222222', GradientType=0);
|
||||
filter: progid:DXImageTransform.Microsoft.gradient(enabled = false);
|
||||
background-repeat: repeat-x;
|
||||
border-radius: 4px;
|
||||
}
|
||||
.navbar-inverse .navbar-nav > .open > a,
|
||||
.navbar-inverse .navbar-nav > .active > a {
|
||||
|
|
1
styles/bootstrap/css/bootstrap-theme.css.map
Normal file
1
styles/bootstrap/css/bootstrap-theme.css.map
Normal file
File diff suppressed because one or more lines are too long
6
styles/bootstrap/css/bootstrap-theme.min.css
vendored
Normal file
6
styles/bootstrap/css/bootstrap-theme.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
styles/bootstrap/css/bootstrap-theme.min.css.map
Normal file
1
styles/bootstrap/css/bootstrap-theme.min.css.map
Normal file
File diff suppressed because one or more lines are too long
821
styles/bootstrap/css/bootstrap.css
vendored
821
styles/bootstrap/css/bootstrap.css
vendored
File diff suppressed because it is too large
Load diff
1
styles/bootstrap/css/bootstrap.css.map
Normal file
1
styles/bootstrap/css/bootstrap.css.map
Normal file
File diff suppressed because one or more lines are too long
6
styles/bootstrap/css/bootstrap.min.css
vendored
Normal file
6
styles/bootstrap/css/bootstrap.min.css
vendored
Normal file
File diff suppressed because one or more lines are too long
1
styles/bootstrap/css/bootstrap.min.css.map
Normal file
1
styles/bootstrap/css/bootstrap.min.css.map
Normal file
File diff suppressed because one or more lines are too long
Binary file not shown.
|
@ -6,224 +6,283 @@
|
|||
<font id="glyphicons_halflingsregular" horiz-adv-x="1200" >
|
||||
<font-face units-per-em="1200" ascent="960" descent="-240" />
|
||||
<missing-glyph horiz-adv-x="500" />
|
||||
<glyph />
|
||||
<glyph />
|
||||
<glyph unicode="
" />
|
||||
<glyph horiz-adv-x="0" />
|
||||
<glyph horiz-adv-x="400" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode="*" d="M100 500v200h259l-183 183l141 141l183 -183v259h200v-259l183 183l141 -141l-183 -183h259v-200h-259l183 -183l-141 -141l-183 183v-259h-200v259l-183 -183l-141 141l183 183h-259z" />
|
||||
<glyph unicode="+" d="M0 400v300h400v400h300v-400h400v-300h-400v-400h-300v400h-400z" />
|
||||
<glyph unicode="*" d="M600 1100q15 0 34 -1.5t30 -3.5l11 -1q10 -2 17.5 -10.5t7.5 -18.5v-224l158 158q7 7 18 8t19 -6l106 -106q7 -8 6 -19t-8 -18l-158 -158h224q10 0 18.5 -7.5t10.5 -17.5q6 -41 6 -75q0 -15 -1.5 -34t-3.5 -30l-1 -11q-2 -10 -10.5 -17.5t-18.5 -7.5h-224l158 -158 q7 -7 8 -18t-6 -19l-106 -106q-8 -7 -19 -6t-18 8l-158 158v-224q0 -10 -7.5 -18.5t-17.5 -10.5q-41 -6 -75 -6q-15 0 -34 1.5t-30 3.5l-11 1q-10 2 -17.5 10.5t-7.5 18.5v224l-158 -158q-7 -7 -18 -8t-19 6l-106 106q-7 8 -6 19t8 18l158 158h-224q-10 0 -18.5 7.5 t-10.5 17.5q-6 41 -6 75q0 15 1.5 34t3.5 30l1 11q2 10 10.5 17.5t18.5 7.5h224l-158 158q-7 7 -8 18t6 19l106 106q8 7 19 6t18 -8l158 -158v224q0 10 7.5 18.5t17.5 10.5q41 6 75 6z" />
|
||||
<glyph unicode="+" d="M450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-350h350q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-350v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v350h-350q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5 h350v350q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode=" " />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="652" />
|
||||
<glyph unicode=" " horiz-adv-x="1304" />
|
||||
<glyph unicode=" " horiz-adv-x="434" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="217" />
|
||||
<glyph unicode=" " horiz-adv-x="163" />
|
||||
<glyph unicode="¥" d="M825 1100h250q10 0 12.5 -5t-5.5 -13l-364 -364q-6 -6 -11 -18h268q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-100h275q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-125v-174q0 -11 -7.5 -18.5t-18.5 -7.5h-148q-11 0 -18.5 7.5t-7.5 18.5v174 h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h125v100h-275q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h118q-5 12 -11 18l-364 364q-8 8 -5.5 13t12.5 5h250q25 0 43 -18l164 -164q8 -8 18 -8t18 8l164 164q18 18 43 18z" />
|
||||
<glyph unicode=" " horiz-adv-x="650" />
|
||||
<glyph unicode=" " horiz-adv-x="1300" />
|
||||
<glyph unicode=" " horiz-adv-x="650" />
|
||||
<glyph unicode=" " horiz-adv-x="1300" />
|
||||
<glyph unicode=" " horiz-adv-x="433" />
|
||||
<glyph unicode=" " horiz-adv-x="325" />
|
||||
<glyph unicode=" " horiz-adv-x="216" />
|
||||
<glyph unicode=" " horiz-adv-x="216" />
|
||||
<glyph unicode=" " horiz-adv-x="162" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="72" />
|
||||
<glyph unicode=" " horiz-adv-x="260" />
|
||||
<glyph unicode=" " horiz-adv-x="326" />
|
||||
<glyph unicode="€" d="M100 500l100 100h113q0 47 5 100h-218l100 100h135q37 167 112 257q117 141 297 141q242 0 354 -189q60 -103 66 -209h-181q0 55 -25.5 99t-63.5 68t-75 36.5t-67 12.5q-24 0 -52.5 -10t-62.5 -32t-65.5 -67t-50.5 -107h379l-100 -100h-300q-6 -46 -6 -100h406l-100 -100 h-300q9 -74 33 -132t52.5 -91t62 -54.5t59 -29t46.5 -7.5q29 0 66 13t75 37t63.5 67.5t25.5 96.5h174q-31 -172 -128 -278q-107 -117 -274 -117q-205 0 -324 158q-36 46 -69 131.5t-45 205.5h-217z" />
|
||||
<glyph unicode="−" d="M200 400h900v300h-900v-300z" />
|
||||
<glyph unicode=" " horiz-adv-x="325" />
|
||||
<glyph unicode="€" d="M744 1198q242 0 354 -189q60 -104 66 -209h-181q0 45 -17.5 82.5t-43.5 61.5t-58 40.5t-60.5 24t-51.5 7.5q-19 0 -40.5 -5.5t-49.5 -20.5t-53 -38t-49 -62.5t-39 -89.5h379l-100 -100h-300q-6 -50 -6 -100h406l-100 -100h-300q9 -74 33 -132t52.5 -91t61.5 -54.5t59 -29 t47 -7.5q22 0 50.5 7.5t60.5 24.5t58 41t43.5 61t17.5 80h174q-30 -171 -128 -278q-107 -117 -274 -117q-206 0 -324 158q-36 48 -69 133t-45 204h-217l100 100h112q1 47 6 100h-218l100 100h134q20 87 51 153.5t62 103.5q117 141 297 141z" />
|
||||
<glyph unicode="₽" d="M428 1200h350q67 0 120 -13t86 -31t57 -49.5t35 -56.5t17 -64.5t6.5 -60.5t0.5 -57v-16.5v-16.5q0 -36 -0.5 -57t-6.5 -61t-17 -65t-35 -57t-57 -50.5t-86 -31.5t-120 -13h-178l-2 -100h288q10 0 13 -6t-3 -14l-120 -160q-6 -8 -18 -14t-22 -6h-138v-175q0 -11 -5.5 -18 t-15.5 -7h-149q-10 0 -17.5 7.5t-7.5 17.5v175h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v100h-267q-10 0 -13 6t3 14l120 160q6 8 18 14t22 6h117v475q0 10 7.5 17.5t17.5 7.5zM600 1000v-300h203q64 0 86.5 33t22.5 119q0 84 -22.5 116t-86.5 32h-203z" />
|
||||
<glyph unicode="−" d="M250 700h800q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="⌛" d="M1000 1200v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-50v-100q0 -91 -49.5 -165.5t-130.5 -109.5q81 -35 130.5 -109.5t49.5 -165.5v-150h50q21 0 35.5 -14.5t14.5 -35.5v-150h-800v150q0 21 14.5 35.5t35.5 14.5h50v150q0 91 49.5 165.5t130.5 109.5q-81 35 -130.5 109.5 t-49.5 165.5v100h-50q-21 0 -35.5 14.5t-14.5 35.5v150h800zM400 1000v-100q0 -60 32.5 -109.5t87.5 -73.5q28 -12 44 -37t16 -55t-16 -55t-44 -37q-55 -24 -87.5 -73.5t-32.5 -109.5v-150h400v150q0 60 -32.5 109.5t-87.5 73.5q-28 12 -44 37t-16 55t16 55t44 37 q55 24 87.5 73.5t32.5 109.5v100h-400z" />
|
||||
<glyph unicode="◼" horiz-adv-x="500" d="M0 0z" />
|
||||
<glyph unicode="☁" d="M-14 494q0 -80 56.5 -137t135.5 -57h750q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5z" />
|
||||
<glyph unicode="✉" d="M0 100l400 400l200 -200l200 200l400 -400h-1200zM0 300v600l300 -300zM0 1100l600 -603l600 603h-1200zM900 600l300 300v-600z" />
|
||||
<glyph unicode="✏" d="M-13 -13l333 112l-223 223zM187 403l214 -214l614 614l-214 214zM887 1103l214 -214l99 92q13 13 13 32.5t-13 33.5l-153 153q-15 13 -33 13t-33 -13z" />
|
||||
<glyph unicode="" d="M0 1200h1200l-500 -550v-550h300v-100h-800v100h300v550z" />
|
||||
<glyph unicode="" d="M14 84q18 -55 86 -75.5t147 5.5q65 21 109 69t44 90v606l600 155v-521q-64 16 -138 -7q-79 -26 -122.5 -83t-25.5 -111q18 -55 86 -75.5t147 4.5q70 23 111.5 63.5t41.5 95.5v881q0 10 -7 15.5t-17 2.5l-752 -193q-10 -3 -17 -12.5t-7 -19.5v-689q-64 17 -138 -7 q-79 -25 -122.5 -82t-25.5 -112z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233z" />
|
||||
<glyph unicode="" d="M100 784q0 64 28 123t73 100.5t104.5 64t119 20.5t120 -38.5t104.5 -104.5q48 69 109.5 105t121.5 38t118.5 -20.5t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-149.5 152.5t-126.5 127.5 t-94 124.5t-33.5 117.5z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1z" />
|
||||
<glyph unicode="" d="M-72 800h479l146 400h2l146 -400h472l-382 -278l145 -449l-384 275l-382 -275l146 447zM168 71l2 1zM237 700l196 -142l-73 -226l192 140l195 -141l-74 229l193 140h-235l-77 211l-78 -211h-239z" />
|
||||
<glyph unicode="" d="M0 0v143l400 257v100q-37 0 -68.5 74.5t-31.5 125.5v200q0 124 88 212t212 88t212 -88t88 -212v-200q0 -51 -31.5 -125.5t-68.5 -74.5v-100l400 -257v-143h-1200z" />
|
||||
<glyph unicode="" d="M0 0v1100h1200v-1100h-1200zM100 100h100v100h-100v-100zM100 300h100v100h-100v-100zM100 500h100v100h-100v-100zM100 700h100v100h-100v-100zM100 900h100v100h-100v-100zM300 100h600v400h-600v-400zM300 600h600v400h-600v-400zM1000 100h100v100h-100v-100z M1000 300h100v100h-100v-100zM1000 500h100v100h-100v-100zM1000 700h100v100h-100v-100zM1000 900h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M0 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM0 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5zM600 50v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5zM600 650v400q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 450v200q0 21 14.5 35.5t35.5 14.5h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM800 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM0 450q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v200q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5 t-14.5 -35.5v-200zM0 850v200q0 21 14.5 35.5t35.5 14.5h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5zM400 50v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5 t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 450v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5zM400 850v200q0 21 14.5 35.5t35.5 14.5h700q21 0 35.5 -14.5t14.5 -35.5 v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M29 454l419 -420l818 820l-212 212l-607 -607l-206 207z" />
|
||||
<glyph unicode="" d="M106 318l282 282l-282 282l212 212l282 -282l282 282l212 -212l-282 -282l282 -282l-212 -212l-282 282l-282 -282z" />
|
||||
<glyph unicode="" d="M23 693q0 200 142 342t342 142t342 -142t142 -342q0 -142 -78 -261l300 -300q7 -8 7 -18t-7 -18l-109 -109q-8 -7 -18 -7t-18 7l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 693q0 -136 97 -233t234 -97t233.5 96.5t96.5 233.5t-96.5 233.5t-233.5 96.5 t-234 -97t-97 -233zM300 600v200h100v100h200v-100h100v-200h-100v-100h-200v100h-100z" />
|
||||
<glyph unicode="" d="M23 694q0 200 142 342t342 142t342 -142t142 -342q0 -141 -78 -262l300 -299q7 -7 7 -18t-7 -18l-109 -109q-8 -8 -18 -8t-18 8l-300 300q-119 -78 -261 -78q-200 0 -342 142t-142 342zM176 694q0 -136 97 -233t234 -97t233.5 97t96.5 233t-96.5 233t-233.5 97t-234 -97 t-97 -233zM300 601h400v200h-400v-200z" />
|
||||
<glyph unicode="" d="M23 600q0 183 105 331t272 210v-166q-103 -55 -165 -155t-62 -220q0 -177 125 -302t302 -125t302 125t125 302q0 120 -62 220t-165 155v166q167 -62 272 -210t105 -331q0 -118 -45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5 zM500 750q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v400q0 21 -14.5 35.5t-35.5 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-400z" />
|
||||
<glyph unicode="" d="M100 1h200v300h-200v-300zM400 1v500h200v-500h-200zM700 1v800h200v-800h-200zM1000 1v1200h200v-1200h-200z" />
|
||||
<glyph unicode="" d="M26 601q0 -33 6 -74l151 -38l2 -6q14 -49 38 -93l3 -5l-80 -134q45 -59 105 -105l133 81l5 -3q45 -26 94 -39l5 -2l38 -151q40 -5 74 -5q27 0 74 5l38 151l6 2q46 13 93 39l5 3l134 -81q56 44 104 105l-80 134l3 5q24 44 39 93l1 6l152 38q5 40 5 74q0 28 -5 73l-152 38 l-1 6q-16 51 -39 93l-3 5l80 134q-44 58 -104 105l-134 -81l-5 3q-45 25 -93 39l-6 1l-38 152q-40 5 -74 5q-27 0 -74 -5l-38 -152l-5 -1q-50 -14 -94 -39l-5 -3l-133 81q-59 -47 -105 -105l80 -134l-3 -5q-25 -47 -38 -93l-2 -6l-151 -38q-6 -48 -6 -73zM385 601 q0 88 63 151t152 63t152 -63t63 -151q0 -89 -63 -152t-152 -63t-152 63t-63 152z" />
|
||||
<glyph unicode="" d="M100 1025v50q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-50q0 -11 -7 -18t-18 -7h-1050q-11 0 -18 7t-7 18zM200 100v800h900v-800q0 -41 -29.5 -71t-70.5 -30h-700q-41 0 -70.5 30 t-29.5 71zM300 100h100v700h-100v-700zM500 100h100v700h-100v-700zM500 1100h300v100h-300v-100zM700 100h100v700h-100v-700zM900 100h100v700h-100v-700z" />
|
||||
<glyph unicode="" d="M1 601l656 644l644 -644h-200v-600h-300v400h-300v-400h-300v600h-200z" />
|
||||
<glyph unicode="" d="M100 25v1150q0 11 7 18t18 7h475v-500h400v-675q0 -11 -7 -18t-18 -7h-850q-11 0 -18 7t-7 18zM700 800v300l300 -300h-300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 500v400h100 v-300h200v-100h-300z" />
|
||||
<glyph unicode="" d="M-100 0l431 1200h209l-21 -300h162l-20 300h208l431 -1200h-538l-41 400h-242l-40 -400h-539zM488 500h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M0 0v400h490l-290 300h200v500h300v-500h200l-290 -300h490v-400h-1100zM813 200h175v100h-175v-100z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM188 600q0 -170 121 -291t291 -121t291 121t121 291t-121 291t-291 121 t-291 -121t-121 -291zM350 600h150v300h200v-300h150l-250 -300z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM350 600l250 300 l250 -300h-150v-300h-200v300h-150z" />
|
||||
<glyph unicode="" d="M0 25v475l200 700h800l199 -700l1 -475q0 -11 -7 -18t-18 -7h-1150q-11 0 -18 7t-7 18zM200 500h200l50 -200h300l50 200h200l-97 500h-606z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM500 397v401 l297 -200z" />
|
||||
<glyph unicode="" d="M23 600q0 -118 45.5 -224.5t123 -184t184 -123t224.5 -45.5t224.5 45.5t184 123t123 184t45.5 224.5h-150q0 -177 -125 -302t-302 -125t-302 125t-125 302t125 302t302 125q136 0 246 -81l-146 -146h400v400l-145 -145q-157 122 -355 122q-118 0 -224.5 -45.5t-184 -123 t-123 -184t-45.5 -224.5z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5q198 0 355 -122l145 145v-400h-400l147 147q-112 80 -247 80q-177 0 -302 -125t-125 -302h-150zM100 0v400h400l-147 -147q112 -80 247 -80q177 0 302 125t125 302h150q0 -118 -45.5 -224.5t-123 -184t-184 -123 t-224.5 -45.5q-198 0 -355 122z" />
|
||||
<glyph unicode="" d="M100 0h1100v1200h-1100v-1200zM200 100v900h900v-900h-900zM300 200v100h100v-100h-100zM300 400v100h100v-100h-100zM300 600v100h100v-100h-100zM300 800v100h100v-100h-100zM500 200h500v100h-500v-100zM500 400v100h500v-100h-500zM500 600v100h500v-100h-500z M500 800v100h500v-100h-500z" />
|
||||
<glyph unicode="" d="M0 100v600q0 41 29.5 70.5t70.5 29.5h100v200q0 82 59 141t141 59h300q82 0 141 -59t59 -141v-200h100q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-900q-41 0 -70.5 29.5t-29.5 70.5zM400 800h300v150q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-150z" />
|
||||
<glyph unicode="" d="M100 0v1100h100v-1100h-100zM300 400q60 60 127.5 84t127.5 17.5t122 -23t119 -30t110 -11t103 42t91 120.5v500q-40 -81 -101.5 -115.5t-127.5 -29.5t-138 25t-139.5 40t-125.5 25t-103 -29.5t-65 -115.5v-500z" />
|
||||
<glyph unicode="" d="M0 275q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 127 70.5 231.5t184.5 161.5t245 57t245 -57t184.5 -161.5t70.5 -231.5v-300q0 -11 7 -18t18 -7h50q11 0 18 7t7 18v300q0 116 -49.5 227t-131 192.5t-192.5 131t-227 49.5t-227 -49.5t-192.5 -131t-131 -192.5 t-49.5 -227v-300zM200 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14zM800 20v460q0 8 6 14t14 6h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM688 459l141 141l-141 141l71 71l141 -141l141 141l71 -71l-141 -141l141 -141l-71 -71l-141 141l-141 -141z" />
|
||||
<glyph unicode="" d="M0 400h300l300 -200v800l-300 -200h-300v-400zM700 857l69 53q111 -135 111 -310q0 -169 -106 -302l-67 54q86 110 86 248q0 146 -93 257z" />
|
||||
<glyph unicode="" d="M0 401v400h300l300 200v-800l-300 200h-300zM702 858l69 53q111 -135 111 -310q0 -170 -106 -303l-67 55q86 110 86 248q0 145 -93 257zM889 951l7 -8q123 -151 123 -344q0 -189 -119 -339l-7 -8l81 -66l6 8q142 178 142 405q0 230 -144 408l-6 8z" />
|
||||
<glyph unicode="" d="M0 0h500v500h-200v100h-100v-100h-200v-500zM0 600h100v100h400v100h100v100h-100v300h-500v-600zM100 100v300h300v-300h-300zM100 800v300h300v-300h-300zM200 200v100h100v-100h-100zM200 900h100v100h-100v-100zM500 500v100h300v-300h200v-100h-100v-100h-200v100 h-100v100h100v200h-200zM600 0v100h100v-100h-100zM600 1000h100v-300h200v-300h300v200h-200v100h200v500h-600v-200zM800 800v300h300v-300h-300zM900 0v100h300v-100h-300zM900 900v100h100v-100h-100zM1100 200v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200h100v1000h-100v-1000zM100 0v100h300v-100h-300zM200 200v1000h100v-1000h-100zM500 0v91h100v-91h-100zM500 200v1000h200v-1000h-200zM700 0v91h100v-91h-100zM800 200v1000h100v-1000h-100zM900 0v91h200v-91h-200zM1000 200v1000h200v-1000h-200z" />
|
||||
<glyph unicode="" d="M0 700l1 475q0 10 7.5 17.5t17.5 7.5h474l700 -700l-500 -500zM148 953q0 -42 29 -71q30 -30 71.5 -30t71.5 30q29 29 29 71t-29 71q-30 30 -71.5 30t-71.5 -30q-29 -29 -29 -71z" />
|
||||
<glyph unicode="" d="M1 700l1 475q0 11 7 18t18 7h474l700 -700l-500 -500zM148 953q0 -42 30 -71q29 -30 71 -30t71 30q30 29 30 71t-30 71q-29 30 -71 30t-71 -30q-30 -29 -30 -71zM701 1200h100l700 -700l-500 -500l-50 50l450 450z" />
|
||||
<glyph unicode="" d="M100 0v1025l175 175h925v-1000l-100 -100v1000h-750l-100 -100h750v-1000h-900z" />
|
||||
<glyph unicode="" d="M200 0l450 444l450 -443v1150q0 20 -14.5 35t-35.5 15h-800q-21 0 -35.5 -15t-14.5 -35v-1151z" />
|
||||
<glyph unicode="" d="M0 100v700h200l100 -200h600l100 200h200v-700h-200v200h-800v-200h-200zM253 829l40 -124h592l62 124l-94 346q-2 11 -10 18t-18 7h-450q-10 0 -18 -7t-10 -18zM281 24l38 152q2 10 11.5 17t19.5 7h500q10 0 19.5 -7t11.5 -17l38 -152q2 -10 -3.5 -17t-15.5 -7h-600 q-10 0 -15.5 7t-3.5 17z" />
|
||||
<glyph unicode="" d="M0 200q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-150q-4 8 -11.5 21.5t-33 48t-53 61t-69 48t-83.5 21.5h-200q-41 0 -82 -20.5t-70 -50t-52 -59t-34 -50.5l-12 -20h-150q-41 0 -70.5 -29.5t-29.5 -70.5v-600z M356 500q0 100 72 172t172 72t172 -72t72 -172t-72 -172t-172 -72t-172 72t-72 172zM494 500q0 -44 31 -75t75 -31t75 31t31 75t-31 75t-75 31t-75 -31t-31 -75zM900 700v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M53 0h365v66q-41 0 -72 11t-49 38t1 71l92 234h391l82 -222q16 -45 -5.5 -88.5t-74.5 -43.5v-66h417v66q-34 1 -74 43q-18 19 -33 42t-21 37l-6 13l-385 998h-93l-399 -1006q-24 -48 -52 -75q-12 -12 -33 -25t-36 -20l-15 -7v-66zM416 521l178 457l46 -140l116 -317h-340 z" />
|
||||
<glyph unicode="" d="M100 0v89q41 7 70.5 32.5t29.5 65.5v827q0 28 -1 39.5t-5.5 26t-15.5 21t-29 14t-49 14.5v71l471 -1q120 0 213 -88t93 -228q0 -55 -11.5 -101.5t-28 -74t-33.5 -47.5t-28 -28l-12 -7q8 -3 21.5 -9t48 -31.5t60.5 -58t47.5 -91.5t21.5 -129q0 -84 -59 -156.5t-142 -111 t-162 -38.5h-500zM400 200h161q89 0 153 48.5t64 132.5q0 90 -62.5 154.5t-156.5 64.5h-159v-400zM400 700h139q76 0 130 61.5t54 138.5q0 82 -84 130.5t-239 48.5v-379z" />
|
||||
<glyph unicode="" d="M200 0v57q77 7 134.5 40.5t65.5 80.5l173 849q10 56 -10 74t-91 37q-6 1 -10.5 2.5t-9.5 2.5v57h425l2 -57q-33 -8 -62 -25.5t-46 -37t-29.5 -38t-17.5 -30.5l-5 -12l-128 -825q-10 -52 14 -82t95 -36v-57h-500z" />
|
||||
<glyph unicode="" d="M-75 200h75v800h-75l125 167l125 -167h-75v-800h75l-125 -167zM300 900v300h150h700h150v-300h-50q0 29 -8 48.5t-18.5 30t-33.5 15t-39.5 5.5t-50.5 1h-200v-850l100 -50v-100h-400v100l100 50v850h-200q-34 0 -50.5 -1t-40 -5.5t-33.5 -15t-18.5 -30t-8.5 -48.5h-49z " />
|
||||
<glyph unicode="" d="M33 51l167 125v-75h800v75l167 -125l-167 -125v75h-800v-75zM100 901v300h150h700h150v-300h-50q0 29 -8 48.5t-18 30t-33.5 15t-40 5.5t-50.5 1h-200v-650l100 -50v-100h-400v100l100 50v650h-200q-34 0 -50.5 -1t-39.5 -5.5t-33.5 -15t-18.5 -30t-8 -48.5h-50z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 350q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM0 650q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1000q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 950q0 -20 14.5 -35t35.5 -15h600q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-600q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM0 650q0 -20 14.5 -35t35.5 -15h1100q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5 v-100zM200 350q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM200 950q0 -20 14.5 -35t35.5 -15h700q21 0 35.5 15t14.5 35v100q0 21 -14.5 35.5t-35.5 14.5h-700q-21 0 -35.5 -14.5 t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1000q-21 0 -35.5 15 t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-600 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-1100 q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M0 50v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 350v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM0 650v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35zM0 950v100q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-100q-21 0 -35.5 15 t-14.5 35zM300 50v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800 q-21 0 -35.5 15t-14.5 35zM300 650v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15h-800q-21 0 -35.5 15t-14.5 35zM300 950v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -20 -14.5 -35t-35.5 -15 h-800q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M-101 500v100h201v75l166 -125l-166 -125v75h-201zM300 0h100v1100h-100v-1100zM500 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35 v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 650q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM500 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100 q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100z" />
|
||||
<glyph unicode="" d="M1 50q0 -20 14.5 -35t35.5 -15h600q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-600q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 350q0 -20 14.5 -35t35.5 -15h300q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 650 q0 -20 14.5 -35t35.5 -15h500q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM1 950q0 -20 14.5 -35t35.5 -15h100q20 0 35 15t15 35v100q0 21 -15 35.5t-35 14.5h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-100zM801 0v1100h100v-1100 h-100zM934 550l167 -125v75h200v100h-200v75z" />
|
||||
<glyph unicode="" d="M0 275v650q0 31 22 53t53 22h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53zM900 600l300 300v-600z" />
|
||||
<glyph unicode="" d="M0 44v1012q0 18 13 31t31 13h1112q19 0 31.5 -13t12.5 -31v-1012q0 -18 -12.5 -31t-31.5 -13h-1112q-18 0 -31 13t-13 31zM100 263l247 182l298 -131l-74 156l293 318l236 -288v500h-1000v-737zM208 750q0 56 39 95t95 39t95 -39t39 -95t-39 -95t-95 -39t-95 39t-39 95z " />
|
||||
<glyph unicode="" d="M148 745q0 124 60.5 231.5t165 172t226.5 64.5q123 0 227 -63t164.5 -169.5t60.5 -229.5t-73 -272q-73 -114 -166.5 -237t-150.5 -189l-57 -66q-10 9 -27 26t-66.5 70.5t-96 109t-104 135.5t-100.5 155q-63 139 -63 262zM342 772q0 -107 75.5 -182.5t181.5 -75.5 q107 0 182.5 75.5t75.5 182.5t-75.5 182t-182.5 75t-182 -75.5t-75 -181.5z" />
|
||||
<glyph unicode="" d="M1 600q0 122 47.5 233t127.5 191t191 127.5t233 47.5t233 -47.5t191 -127.5t127.5 -191t47.5 -233t-47.5 -233t-127.5 -191t-191 -127.5t-233 -47.5t-233 47.5t-191 127.5t-127.5 191t-47.5 233zM173 600q0 -177 125.5 -302t301.5 -125v854q-176 0 -301.5 -125 t-125.5 -302z" />
|
||||
<glyph unicode="" d="M117 406q0 94 34 186t88.5 172.5t112 159t115 177t87.5 194.5q21 -71 57.5 -142.5t76 -130.5t83 -118.5t82 -117t70 -116t50 -125.5t18.5 -136q0 -89 -39 -165.5t-102 -126.5t-140 -79.5t-156 -33.5q-114 6 -211.5 53t-161.5 139t-64 210zM243 414q14 -82 59.5 -136 t136.5 -80l16 98q-7 6 -18 17t-34 48t-33 77q-15 73 -14 143.5t10 122.5l9 51q-92 -110 -119.5 -185t-12.5 -156z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5q366 -6 397 -14l-186 -186h-311q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v125l200 200v-225q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM436 341l161 50l412 412l-114 113l-405 -405zM995 1015l113 -113l113 113l-21 85l-92 28z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h261l2 -80q-133 -32 -218 -120h-145q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-53q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5 zM423 524q30 38 81.5 64t103 35.5t99 14t77.5 3.5l29 -1v-209l360 324l-359 318v-216q-7 0 -19 -1t-48 -8t-69.5 -18.5t-76.5 -37t-76.5 -59t-62 -88t-39.5 -121.5z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q61 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-169q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5 t-117.5 282.5zM342 632l283 -284l567 567l-137 137l-430 -431l-146 147z" />
|
||||
<glyph unicode="" d="M0 603l300 296v-198h200v200h-200l300 300l295 -300h-195v-200h200v198l300 -296l-300 -300v198h-200v-200h195l-295 -300l-300 300h200v200h-200v-198z" />
|
||||
<glyph unicode="" d="M200 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-1100l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M0 50v1000q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-437l500 487v-487l500 487v-1100l-500 488v-488l-500 488v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M136 550l564 550v-487l500 487v-1100l-500 488v-488z" />
|
||||
<glyph unicode="" d="M200 0l900 550l-900 550v-1100z" />
|
||||
<glyph unicode="" d="M200 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200q-21 0 -35.5 -14.5t-14.5 -35.5v-800zM600 150q0 -21 14.5 -35.5t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v800q0 21 -14.5 35.5t-35.5 14.5h-200 q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M200 150q0 -20 14.5 -35t35.5 -15h800q21 0 35.5 15t14.5 35v800q0 21 -14.5 35.5t-35.5 14.5h-800q-21 0 -35.5 -14.5t-14.5 -35.5v-800z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l564 -550l-564 -550v488z" />
|
||||
<glyph unicode="" d="M0 0v1100l500 -487v487l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-500 -488v488z" />
|
||||
<glyph unicode="" d="M300 0v1100l500 -487v437q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438z" />
|
||||
<glyph unicode="" d="M100 250v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5zM100 500h1100l-550 564z" />
|
||||
<glyph unicode="" d="M185 599l592 -592l240 240l-353 353l353 353l-240 240z" />
|
||||
<glyph unicode="" d="M272 194l353 353l-353 353l241 240l572 -571l21 -22l-1 -1v-1l-592 -591z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h200v-200h200v200h200v200h-200v200h-200v-200h-200v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM300 500h600v200h-600v-200z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM246 459l213 -213l141 142l141 -142l213 213l-142 141l142 141l-213 212l-141 -141l-141 142l-212 -213l141 -141 z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM270 551l276 -277l411 411l-175 174l-236 -236l-102 102z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM364 700h143q4 0 11.5 -1t11 -1t6.5 3t3 9t1 11t3.5 8.5t3.5 6t5.5 4t6.5 2.5t9 1.5t9 0.5h11.5h12.5 q19 0 30 -10t11 -26q0 -22 -4 -28t-27 -22q-5 -1 -12.5 -3t-27 -13.5t-34 -27t-26.5 -46t-11 -68.5h200q5 3 14 8t31.5 25.5t39.5 45.5t31 69t14 94q0 51 -17.5 89t-42 58t-58.5 32t-58.5 15t-51.5 3q-50 0 -90.5 -12t-75 -38.5t-53.5 -74.5t-19 -114zM500 300h200v100h-200 v-100z" />
|
||||
<glyph unicode="" d="M3 600q0 162 80 299.5t217.5 217.5t299.5 80t299.5 -80t217.5 -217.5t80 -299.5t-80 -299.5t-217.5 -217.5t-299.5 -80t-299.5 80t-217.5 217.5t-80 299.5zM400 300h400v100h-100v300h-300v-100h100v-200h-100v-100zM500 800h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 500v200h195q31 125 98.5 199.5t206.5 100.5v200h200v-200q54 -20 113 -60t112.5 -105.5t71.5 -134.5h203v-200h-203q-25 -102 -116.5 -186t-180.5 -117v-197h-200v197q-140 27 -208 102.5t-98 200.5h-194zM290 500q24 -73 79.5 -127.5t130.5 -78.5v206h200v-206 q149 48 201 206h-201v200h200q-25 74 -75.5 127t-124.5 77v-204h-200v203q-75 -23 -130 -77t-79 -126h209v-200h-210z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM356 465l135 135 l-135 135l109 109l135 -135l135 135l109 -109l-135 -135l135 -135l-109 -109l-135 135l-135 -135z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM322 537l141 141 l87 -87l204 205l142 -142l-346 -345z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -115 62 -215l568 567q-100 62 -216 62q-171 0 -292.5 -121.5t-121.5 -292.5zM391 245q97 -59 209 -59q171 0 292.5 121.5t121.5 292.5 q0 112 -59 209z" />
|
||||
<glyph unicode="" d="M0 547l600 453v-300h600v-300h-600v-301z" />
|
||||
<glyph unicode="" d="M0 400v300h600v300l600 -453l-600 -448v301h-600z" />
|
||||
<glyph unicode="" d="M204 600l450 600l444 -600h-298v-600h-300v600h-296z" />
|
||||
<glyph unicode="" d="M104 600h296v600h300v-600h298l-449 -600z" />
|
||||
<glyph unicode="" d="M0 200q6 132 41 238.5t103.5 193t184 138t271.5 59.5v271l600 -453l-600 -448v301q-95 -2 -183 -20t-170 -52t-147 -92.5t-100 -135.5z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l294 294l142 -142l-294 -294l129 -129h-400zM635 777l142 -142l294 294l129 -129v400h-400l129 -129z" />
|
||||
<glyph unicode="" d="M34 176l295 295l-129 129h400v-400l-129 130l-295 -295zM600 600v400l129 -129l295 295l142 -141l-295 -295l129 -130h-400z" />
|
||||
<glyph unicode="" d="M23 600q0 118 45.5 224.5t123 184t184 123t224.5 45.5t224.5 -45.5t184 -123t123 -184t45.5 -224.5t-45.5 -224.5t-123 -184t-184 -123t-224.5 -45.5t-224.5 45.5t-184 123t-123 184t-45.5 224.5zM456 851l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5 t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5h-207q-21 0 -33 -14.5t-8 -34.5zM500 300h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 800h100v-200h400v300h200v-300h400v200h100v100h-111q1 1 1 6.5t-1.5 15t-3.5 17.5l-34 172q-11 39 -41.5 63t-69.5 24q-32 0 -61 -17l-239 -144q-22 -13 -40 -35q-19 24 -40 36l-238 144q-33 18 -62 18q-39 0 -69.5 -23t-40.5 -61l-35 -177q-2 -8 -3 -18t-1 -15v-6 h-111v-100zM100 0h400v400h-400v-400zM200 900q-3 0 14 48t36 96l18 47l213 -191h-281zM700 0v400h400v-400h-400zM731 900l202 197q5 -12 12 -32.5t23 -64t25 -72t7 -28.5h-269z" />
|
||||
<glyph unicode="" d="M0 -22v143l216 193q-9 53 -13 83t-5.5 94t9 113t38.5 114t74 124q47 60 99.5 102.5t103 68t127.5 48t145.5 37.5t184.5 43.5t220 58.5q0 -189 -22 -343t-59 -258t-89 -181.5t-108.5 -120t-122 -68t-125.5 -30t-121.5 -1.5t-107.5 12.5t-87.5 17t-56.5 7.5l-99 -55z M238.5 300.5q19.5 -6.5 86.5 76.5q55 66 367 234q70 38 118.5 69.5t102 79t99 111.5t86.5 148q22 50 24 60t-6 19q-7 5 -17 5t-26.5 -14.5t-33.5 -39.5q-35 -51 -113.5 -108.5t-139.5 -89.5l-61 -32q-369 -197 -458 -401q-48 -111 -28.5 -117.5z" />
|
||||
<glyph unicode="" d="M111 408q0 -33 5 -63q9 -56 44 -119.5t105 -108.5q31 -21 64 -16t62 23.5t57 49.5t48 61.5t35 60.5q32 66 39 184.5t-13 157.5q79 -80 122 -164t26 -184q-5 -33 -20.5 -69.5t-37.5 -80.5q-10 -19 -14.5 -29t-12 -26t-9 -23.5t-3 -19t2.5 -15.5t11 -9.5t19.5 -5t30.5 2.5 t42 8q57 20 91 34t87.5 44.5t87 64t65.5 88.5t47 122q38 172 -44.5 341.5t-246.5 278.5q22 -44 43 -129q39 -159 -32 -154q-15 2 -33 9q-79 33 -120.5 100t-44 175.5t48.5 257.5q-13 -8 -34 -23.5t-72.5 -66.5t-88.5 -105.5t-60 -138t-8 -166.5q2 -12 8 -41.5t8 -43t6 -39.5 t3.5 -39.5t-1 -33.5t-6 -31.5t-13.5 -24t-21 -20.5t-31 -12q-38 -10 -67 13t-40.5 61.5t-15 81.5t10.5 75q-52 -46 -83.5 -101t-39 -107t-7.5 -85z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5t145.5 -23.5t132.5 -59t116.5 -83.5t97 -90t74.5 -85.5t49 -63.5t20 -30l26 -40l-26 -40q-6 -10 -20 -30t-49 -63.5t-74.5 -85.5t-97 -90t-116.5 -83.5t-132.5 -59t-145.5 -23.5 t-145.5 23.5t-132.5 59t-116.5 83.5t-97 90t-74.5 85.5t-49 63.5t-20 30zM120 600q7 -10 40.5 -58t56 -78.5t68 -77.5t87.5 -75t103 -49.5t125 -21.5t123.5 20t100.5 45.5t85.5 71.5t66.5 75.5t58 81.5t47 66q-1 1 -28.5 37.5t-42 55t-43.5 53t-57.5 63.5t-58.5 54 q49 -74 49 -163q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l105 105q-37 24 -75 72t-57 84l-20 36z" />
|
||||
<glyph unicode="" d="M-61 600l26 40q6 10 20 30t49 63.5t74.5 85.5t97 90t116.5 83.5t132.5 59t145.5 23.5q61 0 121 -17l37 142h148l-314 -1200h-148l37 143q-82 21 -165 71.5t-140 102t-109.5 112t-72 88.5t-29.5 43zM120 600q210 -282 393 -336l37 141q-107 18 -178.5 101.5t-71.5 193.5 q0 85 46 158q-102 -87 -226 -258zM377 656q49 -124 154 -191l47 47l23 87q-30 28 -59 69t-44 68l-14 26zM780 161l38 145q22 15 44.5 34t46 44t40.5 44t41 50.5t33.5 43.5t33 44t24.5 34q-97 127 -140 175l39 146q67 -54 131.5 -125.5t87.5 -103.5t36 -52l26 -40l-26 -40 q-7 -12 -25.5 -38t-63.5 -79.5t-95.5 -102.5t-124 -100t-146.5 -79z" />
|
||||
<glyph unicode="" d="M-97.5 34q13.5 -34 50.5 -34h1294q37 0 50.5 35.5t-7.5 67.5l-642 1056q-20 34 -48 36.5t-48 -29.5l-642 -1066q-21 -32 -7.5 -66zM155 200l445 723l445 -723h-345v100h-200v-100h-345zM500 600l100 -300l100 300v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 262v41q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44t106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -91 100 -113v-64q0 -20 -13 -28.5t-32 0.5l-94 78h-222l-94 -78q-19 -9 -32 -0.5t-13 28.5 v64q0 22 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5z" />
|
||||
<glyph unicode="" d="M0 50q0 -20 14.5 -35t35.5 -15h1000q21 0 35.5 15t14.5 35v750h-1100v-750zM0 900h1100v150q0 21 -14.5 35.5t-35.5 14.5h-150v100h-100v-100h-500v100h-100v-100h-150q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 100v100h100v-100h-100zM100 300v100h100v-100h-100z M100 500v100h100v-100h-100zM300 100v100h100v-100h-100zM300 300v100h100v-100h-100zM300 500v100h100v-100h-100zM500 100v100h100v-100h-100zM500 300v100h100v-100h-100zM500 500v100h100v-100h-100zM700 100v100h100v-100h-100zM700 300v100h100v-100h-100zM700 500 v100h100v-100h-100zM900 100v100h100v-100h-100zM900 300v100h100v-100h-100zM900 500v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M0 200v200h259l600 600h241v198l300 -295l-300 -300v197h-159l-600 -600h-341zM0 800h259l122 -122l141 142l-181 180h-341v-200zM678 381l141 142l122 -123h159v198l300 -295l-300 -300v197h-241z" />
|
||||
<glyph unicode="" d="M0 400v600q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5z" />
|
||||
<glyph unicode="" d="M100 600v200h300v-250q0 -113 6 -145q17 -92 102 -117q39 -11 92 -11q37 0 66.5 5.5t50 15.5t36 24t24 31.5t14 37.5t7 42t2.5 45t0 47v25v250h300v-200q0 -42 -3 -83t-15 -104t-31.5 -116t-58 -109.5t-89 -96.5t-129 -65.5t-174.5 -25.5t-174.5 25.5t-129 65.5t-89 96.5 t-58 109.5t-31.5 116t-15 104t-3 83zM100 900v300h300v-300h-300zM800 900v300h300v-300h-300z" />
|
||||
<glyph unicode="" d="M-30 411l227 -227l352 353l353 -353l226 227l-578 579z" />
|
||||
<glyph unicode="" d="M70 797l580 -579l578 579l-226 227l-353 -353l-352 353z" />
|
||||
<glyph unicode="" d="M-198 700l299 283l300 -283h-203v-400h385l215 -200h-800v600h-196zM402 1000l215 -200h381v-400h-198l299 -283l299 283h-200v600h-796z" />
|
||||
<glyph unicode="" d="M18 939q-5 24 10 42q14 19 39 19h896l38 162q5 17 18.5 27.5t30.5 10.5h94q20 0 35 -14.5t15 -35.5t-15 -35.5t-35 -14.5h-54l-201 -961q-2 -4 -6 -10.5t-19 -17.5t-33 -11h-31v-50q0 -20 -14.5 -35t-35.5 -15t-35.5 15t-14.5 35v50h-300v-50q0 -20 -14.5 -35t-35.5 -15 t-35.5 15t-14.5 35v50h-50q-21 0 -35.5 15t-14.5 35q0 21 14.5 35.5t35.5 14.5h535l48 200h-633q-32 0 -54.5 21t-27.5 43z" />
|
||||
<glyph unicode="" d="M0 0v800h1200v-800h-1200zM0 900v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-100h-1200z" />
|
||||
<glyph unicode="" d="M1 0l300 700h1200l-300 -700h-1200zM1 400v600h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500v-200h-1000z" />
|
||||
<glyph unicode="" d="M302 300h198v600h-198l298 300l298 -300h-198v-600h198l-298 -300z" />
|
||||
<glyph unicode="" d="M0 600l300 298v-198h600v198l300 -298l-300 -297v197h-600v-197z" />
|
||||
<glyph unicode="" d="M0 100v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM31 400l172 739q5 22 23 41.5t38 19.5h672q19 0 37.5 -22.5t23.5 -45.5l172 -732h-1138zM800 100h100v100h-100v-100z M1000 100h100v100h-100v-100z" />
|
||||
<glyph unicode="" d="M-101 600v50q0 24 25 49t50 38l25 13v-250l-11 5.5t-24 14t-30 21.5t-24 27.5t-11 31.5zM100 500v250v8v8v7t0.5 7t1.5 5.5t2 5t3 4t4.5 3.5t6 1.5t7.5 0.5h200l675 250v-850l-675 200h-38l47 -276q2 -12 -3 -17.5t-11 -6t-21 -0.5h-8h-83q-20 0 -34.5 14t-18.5 35 q-55 337 -55 351zM1100 200v850q0 21 14.5 35.5t35.5 14.5q20 0 35 -14.5t15 -35.5v-850q0 -20 -15 -35t-35 -15q-21 0 -35.5 15t-14.5 35z" />
|
||||
<glyph unicode="" d="M74 350q0 21 13.5 35.5t33.5 14.5h18l117 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3 32t29 13h94q20 0 29 -10.5t3 -29.5q-18 -36 -18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q20 0 33.5 -14.5t13.5 -35.5q0 -20 -13 -40t-31 -27q-8 -3 -23 -8.5 t-65 -20t-103 -25t-132.5 -19.5t-158.5 -9q-125 0 -245.5 20.5t-178.5 40.5l-58 20q-18 7 -31 27.5t-13 40.5zM497 110q12 -49 40 -79.5t63 -30.5t63 30.5t39 79.5q-48 -6 -102 -6t-103 6z" />
|
||||
<glyph unicode="" d="M21 445l233 -45l-78 -224l224 78l45 -233l155 179l155 -179l45 233l224 -78l-78 224l234 45l-180 155l180 156l-234 44l78 225l-224 -78l-45 233l-155 -180l-155 180l-45 -233l-224 78l78 -225l-233 -44l179 -156z" />
|
||||
<glyph unicode="" d="M0 200h200v600h-200v-600zM300 275q0 -75 100 -75h61q124 -100 139 -100h250q46 0 83 57l238 344q29 31 29 74v100q0 44 -30.5 84.5t-69.5 40.5h-328q28 118 28 125v150q0 44 -30.5 84.5t-69.5 40.5h-50q-27 0 -51 -20t-38 -48l-96 -198l-145 -196q-20 -26 -20 -63v-400z M400 300v375l150 213l100 212h50v-175l-50 -225h450v-125l-250 -375h-214l-136 100h-100z" />
|
||||
<glyph unicode="" d="M0 400v600h200v-600h-200zM300 525v400q0 75 100 75h61q124 100 139 100h250q46 0 83 -57l238 -344q29 -31 29 -74v-100q0 -44 -30.5 -84.5t-69.5 -40.5h-328q28 -118 28 -125v-150q0 -44 -30.5 -84.5t-69.5 -40.5h-50q-27 0 -51 20t-38 48l-96 198l-145 196 q-20 26 -20 63zM400 525l150 -212l100 -213h50v175l-50 225h450v125l-250 375h-214l-136 -100h-100v-375z" />
|
||||
<glyph unicode="" d="M8 200v600h200v-600h-200zM308 275v525q0 17 14 35.5t28 28.5l14 9l362 230q14 6 25 6q17 0 29 -12l109 -112q14 -14 14 -34q0 -18 -11 -32l-85 -121h302q85 0 138.5 -38t53.5 -110t-54.5 -111t-138.5 -39h-107l-130 -339q-7 -22 -20.5 -41.5t-28.5 -19.5h-341 q-7 0 -90 81t-83 94zM408 289l100 -89h293l131 339q6 21 19.5 41t28.5 20h203q16 0 25 15t9 36q0 20 -9 34.5t-25 14.5h-457h-6.5h-7.5t-6.5 0.5t-6 1t-5 1.5t-5.5 2.5t-4 4t-4 5.5q-5 12 -5 20q0 14 10 27l147 183l-86 83l-339 -236v-503z" />
|
||||
<glyph unicode="" d="M-101 651q0 72 54 110t139 38l302 -1l-85 121q-11 16 -11 32q0 21 14 34l109 113q13 12 29 12q11 0 25 -6l365 -230q7 -4 17 -10.5t26.5 -26t16.5 -36.5v-526q0 -13 -86 -93.5t-94 -80.5h-341q-16 0 -29.5 20t-19.5 41l-130 339h-107q-84 0 -139 39t-55 111zM-1 601h222 q15 0 28.5 -20.5t19.5 -40.5l131 -339h293l107 89v502l-343 237l-87 -83l145 -184q10 -11 10 -26q0 -11 -5 -20q-1 -3 -3.5 -5.5l-4 -4t-5 -2.5t-5.5 -1.5t-6.5 -1t-6.5 -0.5h-7.5h-6.5h-476v-100zM1000 201v600h200v-600h-200z" />
|
||||
<glyph unicode="" d="M97 719l230 -363q4 -6 10.5 -15.5t26 -25t36.5 -15.5h525q13 0 94 83t81 90v342q0 15 -20 28.5t-41 19.5l-339 131v106q0 84 -39 139t-111 55t-110 -53.5t-38 -138.5v-302l-121 84q-15 12 -33.5 11.5t-32.5 -13.5l-112 -110q-22 -22 -6 -53zM172 739l83 86l183 -146 q22 -18 47 -5q3 1 5.5 3.5l4 4t2.5 5t1.5 5.5t1 6.5t0.5 6.5v7.5v6.5v456q0 22 25 31t50 -0.5t25 -30.5v-202q0 -16 20 -29.5t41 -19.5l339 -130v-294l-89 -100h-503zM400 0v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M2 585q-16 -31 6 -53l112 -110q13 -13 32 -13.5t34 10.5l121 85q0 -51 -0.5 -153.5t-0.5 -148.5q0 -84 38.5 -138t110.5 -54t111 55t39 139v106l339 131q20 6 40.5 19.5t20.5 28.5v342q0 7 -81 90t-94 83h-525q-17 0 -35.5 -14t-28.5 -28l-10 -15zM77 565l236 339h503 l89 -100v-294l-340 -130q-20 -6 -40 -20t-20 -29v-202q0 -22 -25 -31t-50 0t-25 31v456v14.5t-1.5 11.5t-5 12t-9.5 7q-24 13 -46 -5l-184 -146zM305 1104v200h600v-200h-600z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM298 701l2 -201h300l-2 -194l402 294l-402 298v-197h-300z" />
|
||||
<glyph unicode="" d="M0 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t231.5 47.5q122 0 232.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-218 -217.5t-300 -80t-299.5 80t-217.5 217.5t-80 299.5zM200 600l402 -294l-2 194h300l2 201h-300v197z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600h200v-300h200v300h200l-300 400z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q162 0 299.5 -80t217.5 -218t80 -300t-80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM300 600l300 -400l300 400h-200v300h-200v-300h-200z" />
|
||||
<glyph unicode="" d="M5 597q0 122 47.5 232.5t127.5 190.5t190.5 127.5t232.5 47.5q121 0 231.5 -47.5t190.5 -127.5t127.5 -190.5t47.5 -232.5q0 -162 -80 -299.5t-217.5 -217.5t-299.5 -80t-300 80t-218 217.5t-80 299.5zM254 780q-8 -33 5.5 -92.5t7.5 -87.5q0 -9 17 -44t16 -60 q12 0 23 -5.5t23 -15t20 -13.5q24 -12 108 -42q22 -8 53 -31.5t59.5 -38.5t57.5 -11q8 -18 -15 -55t-20 -57q42 -71 87 -80q0 -6 -3 -15.5t-3.5 -14.5t4.5 -17q104 -3 221 112q30 29 47 47t34.5 49t20.5 62q-14 9 -37 9.5t-36 7.5q-14 7 -49 15t-52 19q-9 0 -39.5 -0.5 t-46.5 -1.5t-39 -6.5t-39 -16.5q-50 -35 -66 -12q-4 2 -3.5 25.5t0.5 25.5q-6 13 -26.5 17t-24.5 7q2 22 -2 41t-16.5 28t-38.5 -20q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q12 -19 32 -37.5t34 -27.5l14 -8q0 3 9.5 39.5t5.5 57.5 q-4 23 14.5 44.5t22.5 31.5q5 14 10 35t8.5 31t15.5 22.5t34 21.5q-6 18 10 37q8 0 23.5 -1.5t24.5 -1.5t20.5 4.5t20.5 15.5q-10 23 -30.5 42.5t-38 30t-49 26.5t-43.5 23q11 39 2 44q31 -13 58 -14.5t39 3.5l11 4q7 36 -16.5 53.5t-64.5 28.5t-56 23q-19 -3 -37 0 q-15 -12 -36.5 -21t-34.5 -12t-44 -8t-39 -6q-15 -3 -45.5 0.5t-45.5 -2.5q-21 -7 -52 -26.5t-34 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -90.5t-29.5 -79.5zM518 916q3 12 16 30t16 25q10 -10 18.5 -10t14 6t14.5 14.5t16 12.5q0 -24 17 -66.5t17 -43.5 q-9 2 -31 5t-36 5t-32 8t-30 14zM692 1003h1h-1z" />
|
||||
<glyph unicode="" d="M0 164.5q0 21.5 15 37.5l600 599q-33 101 6 201.5t135 154.5q164 92 306 -9l-259 -138l145 -232l251 126q13 -175 -151 -267q-123 -70 -253 -23l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M0 196v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 596v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5zM0 996v100q0 41 29.5 70.5t70.5 29.5h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM600 596h500v100h-500v-100zM800 196h300v100h-300v-100zM900 996h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M100 1100v100h1000v-100h-1000zM150 1000h900l-350 -500v-300l-200 -200v500z" />
|
||||
<glyph unicode="" d="M0 200v200h1200v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5zM0 500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500z M500 1000h200v100h-200v-100z" />
|
||||
<glyph unicode="" d="M0 0v400l129 -129l200 200l142 -142l-200 -200l129 -129h-400zM0 800l129 129l200 -200l142 142l-200 200l129 129h-400v-400zM729 329l142 142l200 -200l129 129v-400h-400l129 129zM729 871l200 200l-129 129h400v-400l-129 129l-200 -200z" />
|
||||
<glyph unicode="" d="M0 596q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 596q0 -172 121.5 -293t292.5 -121t292.5 121t121.5 293q0 171 -121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM291 655 q0 23 15.5 38.5t38.5 15.5t39 -16t16 -38q0 -23 -16 -39t-39 -16q-22 0 -38 16t-16 39zM400 850q0 22 16 38.5t39 16.5q22 0 38 -16t16 -39t-16 -39t-38 -16q-23 0 -39 16.5t-16 38.5zM514 609q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 22 16 38.5t39 16.5 q22 0 38 -16t16 -39t-16 -39t-38 -16q-14 0 -29 10l-55 -145q17 -22 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5zM800 655q0 22 16 38t39 16t38.5 -15.5t15.5 -38.5t-16 -39t-38 -16q-23 0 -39 16t-16 39z" />
|
||||
<glyph unicode="" d="M-40 375q-13 -95 35 -173q35 -57 94 -89t129 -32q63 0 119 28q33 16 65 40.5t52.5 45.5t59.5 64q40 44 57 61l394 394q35 35 47 84t-3 96q-27 87 -117 104q-20 2 -29 2q-46 0 -78.5 -16.5t-67.5 -51.5l-389 -396l-7 -7l69 -67l377 373q20 22 39 38q23 23 50 23 q38 0 53 -36q16 -39 -20 -75l-547 -547q-52 -52 -125 -52q-55 0 -100 33t-54 96q-5 35 2.5 66t31.5 63t42 50t56 54q24 21 44 41l348 348q52 52 82.5 79.5t84 54t107.5 26.5q25 0 48 -4q95 -17 154 -94.5t51 -175.5q-7 -101 -98 -192l-252 -249l-253 -256l7 -7l69 -60 l517 511q67 67 95 157t11 183q-16 87 -67 154t-130 103q-69 33 -152 33q-107 0 -197 -55q-40 -24 -111 -95l-512 -512q-68 -68 -81 -163z" />
|
||||
<glyph unicode="" d="M80 784q0 131 98.5 229.5t230.5 98.5q143 0 241 -129q103 129 246 129q129 0 226 -98.5t97 -229.5q0 -46 -17.5 -91t-61 -99t-77 -89.5t-104.5 -105.5q-197 -191 -293 -322l-17 -23l-16 23q-43 58 -100 122.5t-92 99.5t-101 100q-71 70 -104.5 105.5t-77 89.5t-61 99 t-17.5 91zM250 784q0 -27 30.5 -70t61.5 -75.5t95 -94.5l22 -22q93 -90 190 -201q82 92 195 203l12 12q64 62 97.5 97t64.5 79t31 72q0 71 -48 119.5t-105 48.5q-74 0 -132 -83l-118 -171l-114 174q-51 80 -123 80q-60 0 -109.5 -49.5t-49.5 -118.5z" />
|
||||
<glyph unicode="" d="M57 353q0 -95 66 -159l141 -142q68 -66 159 -66q93 0 159 66l283 283q66 66 66 159t-66 159l-141 141q-8 9 -19 17l-105 -105l212 -212l-389 -389l-247 248l95 95l-18 18q-46 45 -75 101l-55 -55q-66 -66 -66 -159zM269 706q0 -93 66 -159l141 -141q7 -7 19 -17l105 105 l-212 212l389 389l247 -247l-95 -96l18 -17q47 -49 77 -100l29 29q35 35 62.5 88t27.5 96q0 93 -66 159l-141 141q-66 66 -159 66q-95 0 -159 -66l-283 -283q-66 -64 -66 -159z" />
|
||||
<glyph unicode="" d="M200 100v953q0 21 30 46t81 48t129 38t163 15t162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5zM300 300h600v700h-600v-700zM496 150q0 -43 30.5 -73.5t73.5 -30.5t73.5 30.5t30.5 73.5t-30.5 73.5t-73.5 30.5 t-73.5 -30.5t-30.5 -73.5z" />
|
||||
<glyph unicode="" d="M0 0l303 380l207 208l-210 212h300l267 279l-35 36q-15 14 -15 35t15 35q14 15 35 15t35 -15l283 -282q15 -15 15 -36t-15 -35q-14 -15 -35 -15t-35 15l-36 35l-279 -267v-300l-212 210l-208 -207z" />
|
||||
<glyph unicode="" d="M295 433h139q5 -77 48.5 -126.5t117.5 -64.5v335q-6 1 -15.5 4t-11.5 3q-46 14 -79 26.5t-72 36t-62.5 52t-40 72.5t-16.5 99q0 92 44 159.5t109 101t144 40.5v78h100v-79q38 -4 72.5 -13.5t75.5 -31.5t71 -53.5t51.5 -84t24.5 -118.5h-159q-8 72 -35 109.5t-101 50.5 v-307l64 -14q34 -7 64 -16.5t70 -31.5t67.5 -52t47.5 -80.5t20 -112.5q0 -139 -89 -224t-244 -96v-77h-100v78q-152 17 -237 104q-40 40 -52.5 93.5t-15.5 139.5zM466 889q0 -29 8 -51t16.5 -34t29.5 -22.5t31 -13.5t38 -10q7 -2 11 -3v274q-61 -8 -97.5 -37.5t-36.5 -102.5 zM700 237q170 18 170 151q0 64 -44 99.5t-126 60.5v-311z" />
|
||||
<glyph unicode="" d="M100 600v100h166q-24 49 -44 104q-10 26 -14.5 55.5t-3 72.5t25 90t68.5 87q97 88 263 88q129 0 230 -89t101 -208h-153q0 52 -34 89.5t-74 51.5t-76 14q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -28 16.5 -69.5t28 -62.5t41.5 -72h241v-100h-197q8 -50 -2.5 -115 t-31.5 -94q-41 -59 -99 -113q35 11 84 18t70 7q33 1 103 -16t103 -17q76 0 136 30l50 -147q-41 -25 -80.5 -36.5t-59 -13t-61.5 -1.5q-23 0 -128 33t-155 29q-39 -4 -82 -17t-66 -25l-24 -11l-55 145l16.5 11t15.5 10t13.5 9.5t14.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM602 900l298 300l298 -300h-198v-900h-200v900h-198z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v200h100v-100h200v-100h-300zM700 400v100h300v-200h-99v-100h-100v100h99v100h-200zM700 700v500h300v-500h-100v100h-100v-100h-100zM801 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300h198v900h200v-900h198l-298 -300zM700 0v500h300v-500h-100v100h-100v-100h-100zM700 700v200h100v-100h200v-100h-300zM700 1100v100h300v-200h-99v-100h-100v100h99v100h-200zM801 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 100v400h300v-500h-100v100h-200zM800 1100v100h200v-500h-100v400h-100zM901 200h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM800 400v100h200v-500h-100v400h-100zM800 800v400h300v-500h-100v100h-200zM901 900h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h500v-200h-500zM700 400v200h400v-200h-400zM700 700v200h300v-200h-300zM700 1000v200h200v-200h-200z" />
|
||||
<glyph unicode="" d="M2 300l298 -300l298 300h-198v900h-200v-900h-198zM700 100v200h200v-200h-200zM700 400v200h300v-200h-300zM700 700v200h400v-200h-400zM700 1000v200h500v-200h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q162 0 281 -118.5t119 -281.5v-300q0 -165 -118.5 -282.5t-281.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 119 281.5t281 118.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-163 0 -281.5 117.5t-118.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM400 300l333 250l-333 250v-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 163 117.5 281.5t282.5 118.5h300q163 0 281.5 -119t118.5 -281v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-300q-165 0 -282.5 117.5t-117.5 282.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 700l250 -333l250 333h-500z" />
|
||||
<glyph unicode="" d="M0 400v300q0 165 117.5 282.5t282.5 117.5h300q165 0 282.5 -117.5t117.5 -282.5v-300q0 -162 -118.5 -281t-281.5 -119h-300q-165 0 -282.5 118.5t-117.5 281.5zM200 300q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5 h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM300 400h500l-250 333z" />
|
||||
<glyph unicode="" d="M0 400v300h300v200l400 -350l-400 -350v200h-300zM500 0v200h500q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-500v200h400q165 0 282.5 -117.5t117.5 -282.5v-300q0 -165 -117.5 -282.5t-282.5 -117.5h-400z" />
|
||||
<glyph unicode="" d="M217 519q8 -19 31 -19h302q-155 -438 -160 -458q-5 -21 4 -32l9 -8h9q14 0 26 15q11 13 274.5 321.5t264.5 308.5q14 19 5 36q-8 17 -31 17l-301 -1q1 4 78 219.5t79 227.5q2 15 -5 27l-9 9h-9q-15 0 -25 -16q-4 -6 -98 -111.5t-228.5 -257t-209.5 -237.5q-16 -19 -6 -41 z" />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q47 0 100 15v185h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h500v185q-14 4 -114 7.5t-193 5.5l-93 2q-165 0 -282.5 -117.5t-117.5 -282.5v-300zM600 400v300h300v200l400 -350l-400 -350v200h-300z " />
|
||||
<glyph unicode="" d="M0 400q0 -165 117.5 -282.5t282.5 -117.5h300q163 0 281.5 117.5t118.5 282.5v98l-78 73l-122 -123v-148q0 -41 -29.5 -70.5t-70.5 -29.5h-500q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5h156l118 122l-74 78h-100q-165 0 -282.5 -117.5t-117.5 -282.5 v-300zM496 709l353 342l-149 149h500v-500l-149 149l-342 -353z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM406 600 q0 80 57 137t137 57t137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 800l445 -500l450 500h-295v400h-300v-400h-300zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 700h300v-300h300v300h295l-445 500zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 705l305 -305l596 596l-154 155l-442 -442l-150 151zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM100 988l97 -98l212 213l-97 97zM200 400l697 1l3 699l-250 -239l-149 149l-212 -212l149 -149zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M0 0v275q0 11 7 18t18 7h1048q11 0 19 -7.5t8 -17.5v-275h-1100zM200 612l212 -212l98 97l-213 212zM300 1200l239 -250l-149 -149l212 -212l149 148l249 -237l-1 697zM900 150h100v50h-100v-50z" />
|
||||
<glyph unicode="" d="M23 415l1177 784v-1079l-475 272l-310 -393v416h-392zM494 210l672 938l-672 -712v-226z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-850q0 -21 -15 -35.5t-35 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-218l-276 -275l-120 120l-126 -127h-378v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM581 306l123 123l120 -120l353 352l123 -123l-475 -476zM600 1000h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-269l-103 -103l-170 170l-298 -298h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 1000h100v200h-100v-200zM700 133l170 170l-170 170l127 127l170 -170l170 170l127 -128l-170 -169l170 -170 l-127 -127l-170 170l-170 -170z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-300h-400v-200h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300l300 -300l300 300h-200v300h-200v-300h-200zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 150v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100l200 -200v-402l-200 200l-298 -298h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5zM600 300h200v-300h200v300h200l-300 300zM600 1000v200h100v-200h-100z" />
|
||||
<glyph unicode="" d="M0 250q0 -21 14.5 -35.5t35.5 -14.5h1100q21 0 35.5 14.5t14.5 35.5v550h-1200v-550zM0 900h1200v150q0 21 -14.5 35.5t-35.5 14.5h-1100q-21 0 -35.5 -14.5t-14.5 -35.5v-150zM100 300v200h400v-200h-400z" />
|
||||
<glyph unicode="" d="M0 400l300 298v-198h400v-200h-400v-198zM100 800v200h100v-200h-100zM300 800v200h100v-200h-100zM500 800v200h400v198l300 -298l-300 -298v198h-400zM800 300v200h100v-200h-100zM1000 300h100v200h-100v-200z" />
|
||||
<glyph unicode="" d="M100 700v400l50 100l50 -100v-300h100v300l50 100l50 -100v-300h100v300l50 100l50 -100v-400l-100 -203v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447zM800 597q0 -29 10.5 -55.5t25 -43t29 -28.5t25.5 -18l10 -5v-397q0 -21 14.5 -35.5 t35.5 -14.5h200q21 0 35.5 14.5t14.5 35.5v1106q0 31 -18 40.5t-44 -7.5l-276 -116q-25 -17 -43.5 -51.5t-18.5 -65.5v-359z" />
|
||||
<glyph unicode="" d="M100 0h400v56q-75 0 -87.5 6t-12.5 44v394h500v-394q0 -38 -12.5 -44t-87.5 -6v-56h400v56q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v888q0 22 25 34.5t50 13.5l25 2v56h-400v-56q75 0 87.5 -6t12.5 -44v-394h-500v394q0 38 12.5 44t87.5 6v56h-400v-56q4 0 11 -0.5 t24 -3t30 -7t24 -15t11 -24.5v-888q0 -22 -25 -34.5t-50 -13.5l-25 -2v-56z" />
|
||||
<glyph unicode="" d="M0 300q0 -41 29.5 -70.5t70.5 -29.5h300q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-300q-41 0 -70.5 -29.5t-29.5 -70.5v-500zM100 100h400l200 200h105l295 98v-298h-425l-100 -100h-375zM100 300v200h300v-200h-300zM100 600v200h300v-200h-300z M100 1000h400l200 -200v-98l295 98h105v200h-425l-100 100h-375zM700 402v163l400 133v-163z" />
|
||||
<glyph unicode="" d="M16.5 974.5q0.5 -21.5 16 -90t46.5 -140t104 -177.5t175 -208q103 -103 207.5 -176t180 -103.5t137 -47t92.5 -16.5l31 1l163 162q17 18 13.5 41t-22.5 37l-192 136q-19 14 -45 12t-42 -19l-118 -118q-142 101 -268 227t-227 268l118 118q17 17 20 41.5t-11 44.5 l-139 194q-14 19 -36.5 22t-40.5 -14l-162 -162q-1 -11 -0.5 -32.5z" />
|
||||
<glyph unicode="" d="M0 50v212q0 20 10.5 45.5t24.5 39.5l365 303v50q0 4 1 10.5t12 22.5t30 28.5t60 23t97 10.5t97 -10t60 -23.5t30 -27.5t12 -24l1 -10v-50l365 -303q14 -14 24.5 -39.5t10.5 -45.5v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-20 0 -35 14.5t-15 35.5zM0 712 q0 -21 14.5 -33.5t34.5 -8.5l202 33q20 4 34.5 21t14.5 38v146q141 24 300 24t300 -24v-146q0 -21 14.5 -38t34.5 -21l202 -33q20 -4 34.5 8.5t14.5 33.5v200q-6 8 -19 20.5t-63 45t-112 57t-171 45t-235 20.5q-92 0 -175 -10.5t-141.5 -27t-108.5 -36.5t-81.5 -40 t-53.5 -36.5t-31 -27.5l-9 -10v-200z" />
|
||||
<glyph unicode="" d="M100 0v100h1100v-100h-1100zM175 200h950l-125 150v250l100 100v400h-100v-200h-100v200h-200v-200h-100v200h-200v-200h-100v200h-100v-400l100 -100v-250z" />
|
||||
<glyph unicode="" d="M100 0h300v400q0 41 -29.5 70.5t-70.5 29.5h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-400zM500 0v1000q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-1000h-300zM900 0v700q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-700h-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h100v200h100v-200h100v500h-100v-200h-100v200h-100v-500zM600 300h200v100h100v300h-100v100h-200v-500 zM700 400v300h100v-300h-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v100h-200v300h200v100h-300v-500zM600 300h300v100h-200v300h200v100h-300v-500z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 550l300 -150v300zM600 400l300 150l-300 150v-300z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300v500h700v-500h-700zM300 400h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130v-300zM575 549 q0 -65 27 -107t68 -42h130v300h-130q-38 0 -66.5 -43t-28.5 -108z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v300h-200v100h200v100h-300v-300h200v-100h-200v-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 300h300v400h-200v100h-100v-500zM301 400v200h100v-200h-100zM601 300h100v100h-100v-100zM700 700h100 v-400h100v500h-200v-100z" />
|
||||
<glyph unicode="" d="M-100 300v500q0 124 88 212t212 88h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212zM100 200h900v700h-900v-700zM200 700v100h300v-300h-99v-100h-100v100h99v200h-200zM201 300v100h100v-100h-100zM601 300v100h100v-100h-100z M700 700v100h200v-500h-100v400h-100z" />
|
||||
<glyph unicode="" d="M4 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM186 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 500v200 l100 100h300v-100h-300v-200h300v-100h-300z" />
|
||||
<glyph unicode="" d="M0 600q0 162 80 299t217 217t299 80t299 -80t217 -217t80 -299t-80 -299t-217 -217t-299 -80t-299 80t-217 217t-80 299zM182 600q0 -171 121.5 -292.5t292.5 -121.5t292.5 121.5t121.5 292.5t-121.5 292.5t-292.5 121.5t-292.5 -121.5t-121.5 -292.5zM400 400v400h300 l100 -100v-100h-100v100h-200v-100h200v-100h-200v-100h-100zM700 400v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h222v300h400v-300h128q120 0 205 86.5t85 207.5t-85 207t-205 86q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200h200v300h200v-300h200 l-300 -300z" />
|
||||
<glyph unicode="" d="M-14 494q0 -80 56.5 -137t135.5 -57h8l414 414l403 -403q94 26 154.5 104.5t60.5 178.5q0 120 -85 206.5t-205 86.5q-46 0 -90 -14q-44 97 -134.5 156.5t-200.5 59.5q-152 0 -260 -107.5t-108 -260.5q0 -25 2 -37q-66 -14 -108.5 -67.5t-42.5 -122.5zM300 200l300 300 l300 -300h-200v-300h-200v300h-200z" />
|
||||
<glyph unicode="" d="M100 200h400v-155l-75 -45h350l-75 45v155h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170z" />
|
||||
<glyph unicode="" d="M121 700q0 -53 28.5 -97t75.5 -65q-4 -16 -4 -38q0 -74 52.5 -126.5t126.5 -52.5q56 0 100 30v-306l-75 -45h350l-75 45v306q46 -30 100 -30q74 0 126.5 52.5t52.5 126.5q0 24 -9 55q50 32 79.5 83t29.5 112q0 90 -61.5 155.5t-150.5 71.5q-26 89 -99.5 145.5 t-167.5 56.5q-116 0 -197.5 -81.5t-81.5 -197.5q0 -4 1 -11.5t1 -11.5q-14 2 -23 2q-74 0 -126.5 -52.5t-52.5 -126.5z" />
|
||||
<glyph unicode="☁" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -206.5q0 -121 -85 -207.5t-205 -86.5h-750q-79 0 -135.5 57t-56.5 137q0 69 42.5 122.5t108.5 67.5q-2 12 -2 37q0 153 108 260.5t260 107.5z" />
|
||||
<glyph unicode="⛺" d="M774 1193.5q16 -9.5 20.5 -27t-5.5 -33.5l-136 -187l467 -746h30q20 0 35 -18.5t15 -39.5v-42h-1200v42q0 21 15 39.5t35 18.5h30l468 746l-135 183q-10 16 -5.5 34t20.5 28t34 5.5t28 -20.5l111 -148l112 150q9 16 27 20.5t34 -5zM600 200h377l-182 112l-195 534v-646z " />
|
||||
<glyph unicode="✉" d="M25 1100h1150q10 0 12.5 -5t-5.5 -13l-564 -567q-8 -8 -18 -8t-18 8l-564 567q-8 8 -5.5 13t12.5 5zM18 882l264 -264q8 -8 8 -18t-8 -18l-264 -264q-8 -8 -13 -5.5t-5 12.5v550q0 10 5 12.5t13 -5.5zM918 618l264 264q8 8 13 5.5t5 -12.5v-550q0 -10 -5 -12.5t-13 5.5 l-264 264q-8 8 -8 18t8 18zM818 482l364 -364q8 -8 5.5 -13t-12.5 -5h-1150q-10 0 -12.5 5t5.5 13l364 364q8 8 18 8t18 -8l164 -164q8 -8 18 -8t18 8l164 164q8 8 18 8t18 -8z" />
|
||||
<glyph unicode="✏" d="M1011 1210q19 0 33 -13l153 -153q13 -14 13 -33t-13 -33l-99 -92l-214 214l95 96q13 14 32 14zM1013 800l-615 -614l-214 214l614 614zM317 96l-333 -112l110 335z" />
|
||||
<glyph unicode="" d="M700 650v-550h250q21 0 35.5 -14.5t14.5 -35.5v-50h-800v50q0 21 14.5 35.5t35.5 14.5h250v550l-500 550h1200z" />
|
||||
<glyph unicode="" d="M368 1017l645 163q39 15 63 0t24 -49v-831q0 -55 -41.5 -95.5t-111.5 -63.5q-79 -25 -147 -4.5t-86 75t25.5 111.5t122.5 82q72 24 138 8v521l-600 -155v-606q0 -42 -44 -90t-109 -69q-79 -26 -147 -5.5t-86 75.5t25.5 111.5t122.5 82.5q72 24 138 7v639q0 38 14.5 59 t53.5 34z" />
|
||||
<glyph unicode="" d="M500 1191q100 0 191 -39t156.5 -104.5t104.5 -156.5t39 -191l-1 -2l1 -5q0 -141 -78 -262l275 -274q23 -26 22.5 -44.5t-22.5 -42.5l-59 -58q-26 -20 -46.5 -20t-39.5 20l-275 274q-119 -77 -261 -77l-5 1l-2 -1q-100 0 -191 39t-156.5 104.5t-104.5 156.5t-39 191 t39 191t104.5 156.5t156.5 104.5t191 39zM500 1022q-88 0 -162 -43t-117 -117t-43 -162t43 -162t117 -117t162 -43t162 43t117 117t43 162t-43 162t-117 117t-162 43z" />
|
||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104z" />
|
||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429z" />
|
||||
<glyph unicode="" d="M407 800l131 353q7 19 17.5 19t17.5 -19l129 -353h421q21 0 24 -8.5t-14 -20.5l-342 -249l130 -401q7 -20 -0.5 -25.5t-24.5 6.5l-343 246l-342 -247q-17 -12 -24.5 -6.5t-0.5 25.5l130 400l-347 251q-17 12 -14 20.5t23 8.5h429zM477 700h-240l197 -142l-74 -226 l193 139l195 -140l-74 229l192 140h-234l-78 211z" />
|
||||
<glyph unicode="" d="M600 1200q124 0 212 -88t88 -212v-250q0 -46 -31 -98t-69 -52v-75q0 -10 6 -21.5t15 -17.5l358 -230q9 -5 15 -16.5t6 -21.5v-93q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v93q0 10 6 21.5t15 16.5l358 230q9 6 15 17.5t6 21.5v75q-38 0 -69 52 t-31 98v250q0 124 88 212t212 88z" />
|
||||
<glyph unicode="" d="M25 1100h1150q10 0 17.5 -7.5t7.5 -17.5v-1050q0 -10 -7.5 -17.5t-17.5 -7.5h-1150q-10 0 -17.5 7.5t-7.5 17.5v1050q0 10 7.5 17.5t17.5 7.5zM100 1000v-100h100v100h-100zM875 1000h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5t17.5 -7.5h550 q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM1000 1000v-100h100v100h-100zM100 800v-100h100v100h-100zM1000 800v-100h100v100h-100zM100 600v-100h100v100h-100zM1000 600v-100h100v100h-100zM875 500h-550q-10 0 -17.5 -7.5t-7.5 -17.5v-350q0 -10 7.5 -17.5 t17.5 -7.5h550q10 0 17.5 7.5t7.5 17.5v350q0 10 -7.5 17.5t-17.5 7.5zM100 400v-100h100v100h-100zM1000 400v-100h100v100h-100zM100 200v-100h100v100h-100zM1000 200v-100h100v100h-100z" />
|
||||
<glyph unicode="" d="M50 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM50 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM650 500h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM850 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 700h200q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h200 q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM850 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5 t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 1100h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200 q0 21 14.5 35.5t35.5 14.5zM50 700h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 700h700q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-700 q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM50 300h200q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5zM450 300h700q21 0 35.5 -14.5t14.5 -35.5v-200 q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M465 477l571 571q8 8 18 8t17 -8l177 -177q8 -7 8 -17t-8 -18l-783 -784q-7 -8 -17.5 -8t-17.5 8l-384 384q-8 8 -8 18t8 17l177 177q7 8 17 8t18 -8l171 -171q7 -7 18 -7t18 7z" />
|
||||
<glyph unicode="" d="M904 1083l178 -179q8 -8 8 -18.5t-8 -17.5l-267 -268l267 -268q8 -7 8 -17.5t-8 -18.5l-178 -178q-8 -8 -18.5 -8t-17.5 8l-268 267l-268 -267q-7 -8 -17.5 -8t-18.5 8l-178 178q-8 8 -8 18.5t8 17.5l267 268l-267 268q-8 7 -8 17.5t8 18.5l178 178q8 8 18.5 8t17.5 -8 l268 -267l268 268q7 7 17.5 7t18.5 -7z" />
|
||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM425 900h150q10 0 17.5 -7.5t7.5 -17.5v-75h75q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5 t-17.5 -7.5h-75v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-75q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v75q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M507 1177q98 0 187.5 -38.5t154.5 -103.5t103.5 -154.5t38.5 -187.5q0 -141 -78 -262l300 -299q8 -8 8 -18.5t-8 -18.5l-109 -108q-7 -8 -17.5 -8t-18.5 8l-300 299q-119 -77 -261 -77q-98 0 -188 38.5t-154.5 103t-103 154.5t-38.5 188t38.5 187.5t103 154.5 t154.5 103.5t188 38.5zM506.5 1023q-89.5 0 -165.5 -44t-120 -120.5t-44 -166t44 -165.5t120 -120t165.5 -44t166 44t120.5 120t44 165.5t-44 166t-120.5 120.5t-166 44zM325 800h350q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-350q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M550 1200h100q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM800 975v166q167 -62 272 -209.5t105 -331.5q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5 t-184.5 123t-123 184.5t-45.5 224q0 184 105 331.5t272 209.5v-166q-103 -55 -165 -155t-62 -220q0 -116 57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5q0 120 -62 220t-165 155z" />
|
||||
<glyph unicode="" d="M1025 1200h150q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM725 800h150q10 0 17.5 -7.5t7.5 -17.5v-750q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v750 q0 10 7.5 17.5t17.5 7.5zM425 500h150q10 0 17.5 -7.5t7.5 -17.5v-450q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v450q0 10 7.5 17.5t17.5 7.5zM125 300h150q10 0 17.5 -7.5t7.5 -17.5v-250q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5 v250q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1174q33 0 74 -5l38 -152l5 -1q49 -14 94 -39l5 -2l134 80q61 -48 104 -105l-80 -134l3 -5q25 -44 39 -93l1 -6l152 -38q5 -43 5 -73q0 -34 -5 -74l-152 -38l-1 -6q-15 -49 -39 -93l-3 -5l80 -134q-48 -61 -104 -105l-134 81l-5 -3q-44 -25 -94 -39l-5 -2l-38 -151 q-43 -5 -74 -5q-33 0 -74 5l-38 151l-5 2q-49 14 -94 39l-5 3l-134 -81q-60 48 -104 105l80 134l-3 5q-25 45 -38 93l-2 6l-151 38q-6 42 -6 74q0 33 6 73l151 38l2 6q13 48 38 93l3 5l-80 134q47 61 105 105l133 -80l5 2q45 25 94 39l5 1l38 152q43 5 74 5zM600 815 q-89 0 -152 -63t-63 -151.5t63 -151.5t152 -63t152 63t63 151.5t-63 151.5t-152 63z" />
|
||||
<glyph unicode="" d="M500 1300h300q41 0 70.5 -29.5t29.5 -70.5v-100h275q10 0 17.5 -7.5t7.5 -17.5v-75h-1100v75q0 10 7.5 17.5t17.5 7.5h275v100q0 41 29.5 70.5t70.5 29.5zM500 1200v-100h300v100h-300zM1100 900v-800q0 -41 -29.5 -70.5t-70.5 -29.5h-700q-41 0 -70.5 29.5t-29.5 70.5 v800h900zM300 800v-700h100v700h-100zM500 800v-700h100v700h-100zM700 800v-700h100v700h-100zM900 800v-700h100v700h-100z" />
|
||||
<glyph unicode="" d="M18 618l620 608q8 7 18.5 7t17.5 -7l608 -608q8 -8 5.5 -13t-12.5 -5h-175v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v375h-300v-375q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v575h-175q-10 0 -12.5 5t5.5 13z" />
|
||||
<glyph unicode="" d="M600 1200v-400q0 -41 29.5 -70.5t70.5 -29.5h300v-650q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5h450zM1000 800h-250q-21 0 -35.5 14.5t-14.5 35.5v250z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h50q10 0 17.5 -7.5t7.5 -17.5v-275h175q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M1300 0h-538l-41 400h-242l-41 -400h-538l431 1200h209l-21 -300h162l-20 300h208zM515 800l-27 -300h224l-27 300h-170z" />
|
||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-450h191q20 0 25.5 -11.5t-7.5 -27.5l-327 -400q-13 -16 -32 -16t-32 16l-327 400q-13 16 -7.5 27.5t25.5 11.5h191v450q0 21 14.5 35.5t35.5 14.5zM1125 400h50q10 0 17.5 -7.5t7.5 -17.5v-350q0 -10 -7.5 -17.5t-17.5 -7.5 h-1050q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h50q10 0 17.5 -7.5t7.5 -17.5v-175h900v175q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM525 900h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -275q-13 -16 -32 -16t-32 16l-223 275q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z " />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM632 914l223 -275q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5l223 275q13 16 32 16 t32 -16z" />
|
||||
<glyph unicode="" d="M225 1200h750q10 0 19.5 -7t12.5 -17l186 -652q7 -24 7 -49v-425q0 -12 -4 -27t-9 -17q-12 -6 -37 -6h-1100q-12 0 -27 4t-17 8q-6 13 -6 38l1 425q0 25 7 49l185 652q3 10 12.5 17t19.5 7zM878 1000h-556q-10 0 -19 -7t-11 -18l-87 -450q-2 -11 4 -18t16 -7h150 q10 0 19.5 -7t11.5 -17l38 -152q2 -10 11.5 -17t19.5 -7h250q10 0 19.5 7t11.5 17l38 152q2 10 11.5 17t19.5 7h150q10 0 16 7t4 18l-87 450q-2 11 -11 18t-19 7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM540 820l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-362q0 -10 -7.5 -17.5t-17.5 -7.5h-362q-11 0 -13 5.5t5 12.5l133 133q-109 76 -238 76q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5h150q0 -117 -45.5 -224 t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117z" />
|
||||
<glyph unicode="" d="M947 1060l135 135q7 7 12.5 5t5.5 -13v-361q0 -11 -7.5 -18.5t-18.5 -7.5h-361q-11 0 -13 5.5t5 12.5l134 134q-110 75 -239 75q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5h-150q0 117 45.5 224t123 184.5t184.5 123t224 45.5q192 0 347 -117zM1027 600h150 q0 -117 -45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5q-192 0 -348 118l-134 -134q-7 -8 -12.5 -5.5t-5.5 12.5v360q0 11 7.5 18.5t18.5 7.5h360q10 0 12.5 -5.5t-5.5 -12.5l-133 -133q110 -76 240 -76q116 0 214.5 57t155.5 155.5t57 214.5z" />
|
||||
<glyph unicode="" d="M125 1200h1050q10 0 17.5 -7.5t7.5 -17.5v-1150q0 -10 -7.5 -17.5t-17.5 -7.5h-1050q-10 0 -17.5 7.5t-7.5 17.5v1150q0 10 7.5 17.5t17.5 7.5zM1075 1000h-850q-10 0 -17.5 -7.5t-7.5 -17.5v-850q0 -10 7.5 -17.5t17.5 -7.5h850q10 0 17.5 7.5t7.5 17.5v850 q0 10 -7.5 17.5t-17.5 7.5zM325 900h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 900h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 700h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 700h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 500h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 500h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5zM325 300h50q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM525 300h450q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-450q-10 0 -17.5 7.5t-7.5 17.5v50 q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M900 800v200q0 83 -58.5 141.5t-141.5 58.5h-300q-82 0 -141 -59t-59 -141v-200h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h900q41 0 70.5 29.5t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5h-100zM400 800v150q0 21 15 35.5t35 14.5h200 q20 0 35 -14.5t15 -35.5v-150h-300z" />
|
||||
<glyph unicode="" d="M125 1100h50q10 0 17.5 -7.5t7.5 -17.5v-1075h-100v1075q0 10 7.5 17.5t17.5 7.5zM1075 1052q4 0 9 -2q16 -6 16 -23v-421q0 -6 -3 -12q-33 -59 -66.5 -99t-65.5 -58t-56.5 -24.5t-52.5 -6.5q-26 0 -57.5 6.5t-52.5 13.5t-60 21q-41 15 -63 22.5t-57.5 15t-65.5 7.5 q-85 0 -160 -57q-7 -5 -15 -5q-6 0 -11 3q-14 7 -14 22v438q22 55 82 98.5t119 46.5q23 2 43 0.5t43 -7t32.5 -8.5t38 -13t32.5 -11q41 -14 63.5 -21t57 -14t63.5 -7q103 0 183 87q7 8 18 8z" />
|
||||
<glyph unicode="" d="M600 1175q116 0 227 -49.5t192.5 -131t131 -192.5t49.5 -227v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v300q0 127 -70.5 231.5t-184.5 161.5t-245 57t-245 -57t-184.5 -161.5t-70.5 -231.5v-300q0 -10 -7.5 -17.5t-17.5 -7.5h-50 q-10 0 -17.5 7.5t-7.5 17.5v300q0 116 49.5 227t131 192.5t192.5 131t227 49.5zM220 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460q0 8 6 14t14 6zM820 500h160q8 0 14 -6t6 -14v-460q0 -8 -6 -14t-14 -6h-160q-8 0 -14 6t-6 14v460 q0 8 6 14t14 6z" />
|
||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM900 668l120 120q7 7 17 7t17 -7l34 -34q7 -7 7 -17t-7 -17l-120 -120l120 -120q7 -7 7 -17 t-7 -17l-34 -34q-7 -7 -17 -7t-17 7l-120 119l-120 -119q-7 -7 -17 -7t-17 7l-34 34q-7 7 -7 17t7 17l119 120l-119 120q-7 7 -7 17t7 17l34 34q7 8 17 8t17 -8z" />
|
||||
<glyph unicode="" d="M321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6 l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238q-6 8 -4.5 18t9.5 17l29 22q7 5 15 5z" />
|
||||
<glyph unicode="" d="M967 1004h3q11 -1 17 -10q135 -179 135 -396q0 -105 -34 -206.5t-98 -185.5q-7 -9 -17 -10h-3q-9 0 -16 6l-42 34q-8 6 -9 16t5 18q111 150 111 328q0 90 -29.5 176t-84.5 157q-6 9 -5 19t10 16l42 33q7 5 15 5zM321 814l258 172q9 6 15 2.5t6 -13.5v-750q0 -10 -6 -13.5 t-15 2.5l-258 172q-21 14 -46 14h-250q-10 0 -17.5 7.5t-7.5 17.5v350q0 10 7.5 17.5t17.5 7.5h250q25 0 46 14zM766 900h4q10 -1 16 -10q96 -129 96 -290q0 -154 -90 -281q-6 -9 -17 -10l-3 -1q-9 0 -16 6l-29 23q-7 7 -8.5 16.5t4.5 17.5q72 103 72 229q0 132 -78 238 q-6 8 -4.5 18.5t9.5 16.5l29 22q7 5 15 5z" />
|
||||
<glyph unicode="" d="M500 900h100v-100h-100v-100h-400v-100h-100v600h500v-300zM1200 700h-200v-100h200v-200h-300v300h-200v300h-100v200h600v-500zM100 1100v-300h300v300h-300zM800 1100v-300h300v300h-300zM300 900h-100v100h100v-100zM1000 900h-100v100h100v-100zM300 500h200v-500 h-500v500h200v100h100v-100zM800 300h200v-100h-100v-100h-200v100h-100v100h100v200h-200v100h300v-300zM100 400v-300h300v300h-300zM300 200h-100v100h100v-100zM1200 200h-100v100h100v-100zM700 0h-100v100h100v-100zM1200 0h-300v100h300v-100z" />
|
||||
<glyph unicode="" d="M100 200h-100v1000h100v-1000zM300 200h-100v1000h100v-1000zM700 200h-200v1000h200v-1000zM900 200h-100v1000h100v-1000zM1200 200h-200v1000h200v-1000zM400 0h-300v100h300v-100zM600 0h-100v91h100v-91zM800 0h-100v91h100v-91zM1100 0h-200v91h200v-91z" />
|
||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
||||
<glyph unicode="" d="M500 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-682 682l1 475q0 10 7.5 17.5t17.5 7.5h474zM800 1200l682 -682q8 -8 8 -18t-8 -18l-464 -464q-8 -8 -18 -8t-18 8l-56 56l424 426l-700 700h150zM319.5 1024.5q-29.5 29.5 -71 29.5t-71 -29.5 t-29.5 -71.5t29.5 -71.5t71 -29.5t71 29.5t29.5 71.5t-29.5 71.5z" />
|
||||
<glyph unicode="" d="M300 1200h825q75 0 75 -75v-900q0 -25 -18 -43l-64 -64q-8 -8 -13 -5.5t-5 12.5v950q0 10 -7.5 17.5t-17.5 7.5h-700q-25 0 -43 -18l-64 -64q-8 -8 -5.5 -13t12.5 -5h700q10 0 17.5 -7.5t7.5 -17.5v-950q0 -10 -7.5 -17.5t-17.5 -7.5h-850q-10 0 -17.5 7.5t-7.5 17.5v975 q0 25 18 43l139 139q18 18 43 18z" />
|
||||
<glyph unicode="" d="M250 1200h800q21 0 35.5 -14.5t14.5 -35.5v-1150l-450 444l-450 -445v1151q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M822 1200h-444q-11 0 -19 -7.5t-9 -17.5l-78 -301q-7 -24 7 -45l57 -108q6 -9 17.5 -15t21.5 -6h450q10 0 21.5 6t17.5 15l62 108q14 21 7 45l-83 301q-1 10 -9 17.5t-19 7.5zM1175 800h-150q-10 0 -21 -6.5t-15 -15.5l-78 -156q-4 -9 -15 -15.5t-21 -6.5h-550 q-10 0 -21 6.5t-15 15.5l-78 156q-4 9 -15 15.5t-21 6.5h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-650q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h750q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5 t7.5 17.5v650q0 10 -7.5 17.5t-17.5 7.5zM850 200h-500q-10 0 -19.5 -7t-11.5 -17l-38 -152q-2 -10 3.5 -17t15.5 -7h600q10 0 15.5 7t3.5 17l-38 152q-2 10 -11.5 17t-19.5 7z" />
|
||||
<glyph unicode="" d="M500 1100h200q56 0 102.5 -20.5t72.5 -50t44 -59t25 -50.5l6 -20h150q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5h150q2 8 6.5 21.5t24 48t45 61t72 48t102.5 21.5zM900 800v-100 h100v100h-100zM600 730q-95 0 -162.5 -67.5t-67.5 -162.5t67.5 -162.5t162.5 -67.5t162.5 67.5t67.5 162.5t-67.5 162.5t-162.5 67.5zM600 603q43 0 73 -30t30 -73t-30 -73t-73 -30t-73 30t-30 73t30 73t73 30z" />
|
||||
<glyph unicode="" d="M681 1199l385 -998q20 -50 60 -92q18 -19 36.5 -29.5t27.5 -11.5l10 -2v-66h-417v66q53 0 75 43.5t5 88.5l-82 222h-391q-58 -145 -92 -234q-11 -34 -6.5 -57t25.5 -37t46 -20t55 -6v-66h-365v66q56 24 84 52q12 12 25 30.5t20 31.5l7 13l399 1006h93zM416 521h340 l-162 457z" />
|
||||
<glyph unicode="" d="M753 641q5 -1 14.5 -4.5t36 -15.5t50.5 -26.5t53.5 -40t50.5 -54.5t35.5 -70t14.5 -87q0 -67 -27.5 -125.5t-71.5 -97.5t-98.5 -66.5t-108.5 -40.5t-102 -13h-500v89q41 7 70.5 32.5t29.5 65.5v827q0 24 -0.5 34t-3.5 24t-8.5 19.5t-17 13.5t-28 12.5t-42.5 11.5v71 l471 -1q57 0 115.5 -20.5t108 -57t80.5 -94t31 -124.5q0 -51 -15.5 -96.5t-38 -74.5t-45 -50.5t-38.5 -30.5zM400 700h139q78 0 130.5 48.5t52.5 122.5q0 41 -8.5 70.5t-29.5 55.5t-62.5 39.5t-103.5 13.5h-118v-350zM400 200h216q80 0 121 50.5t41 130.5q0 90 -62.5 154.5 t-156.5 64.5h-159v-400z" />
|
||||
<glyph unicode="" d="M877 1200l2 -57q-83 -19 -116 -45.5t-40 -66.5l-132 -839q-9 -49 13 -69t96 -26v-97h-500v97q186 16 200 98l173 832q3 17 3 30t-1.5 22.5t-9 17.5t-13.5 12.5t-21.5 10t-26 8.5t-33.5 10q-13 3 -19 5v57h425z" />
|
||||
<glyph unicode="" d="M1300 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM175 1000h-75v-800h75l-125 -167l-125 167h75v800h-75l125 167z" />
|
||||
<glyph unicode="" d="M1100 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-650q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v650h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM1167 50l-167 -125v75h-800v-75l-167 125l167 125v-75h800v75z" />
|
||||
<glyph unicode="" d="M50 1100h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M250 1100h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM250 500h700q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-700q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M500 950v100q0 21 14.5 35.5t35.5 14.5h600q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5zM100 650v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000 q-21 0 -35.5 14.5t-14.5 35.5zM300 350v100q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5zM0 50v100q0 21 14.5 35.5t35.5 14.5h1100q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5z" />
|
||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 800h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 500h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h1100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 1100h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 800h800q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 500h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 500h800q21 0 35.5 -14.5t14.5 -35.5v-100 q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM350 200h800 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M400 0h-100v1100h100v-1100zM550 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM267 550l-167 -125v75h-200v100h200v75zM550 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM550 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM900 0h-100v1100h100v-1100zM50 800h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM1100 600h200v-100h-200v-75l-167 125l167 125v-75zM50 500h300q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5zM50 200h600 q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-600q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M75 1000h750q31 0 53 -22t22 -53v-650q0 -31 -22 -53t-53 -22h-750q-31 0 -53 22t-22 53v650q0 31 22 53t53 22zM1200 300l-300 300l300 300v-600z" />
|
||||
<glyph unicode="" d="M44 1100h1112q18 0 31 -13t13 -31v-1012q0 -18 -13 -31t-31 -13h-1112q-18 0 -31 13t-13 31v1012q0 18 13 31t31 13zM100 1000v-737l247 182l298 -131l-74 156l293 318l236 -288v500h-1000zM342 884q56 0 95 -39t39 -94.5t-39 -95t-95 -39.5t-95 39.5t-39 95t39 94.5 t95 39z" />
|
||||
<glyph unicode="" d="M648 1169q117 0 216 -60t156.5 -161t57.5 -218q0 -115 -70 -258q-69 -109 -158 -225.5t-143 -179.5l-54 -62q-9 8 -25.5 24.5t-63.5 67.5t-91 103t-98.5 128t-95.5 148q-60 132 -60 249q0 88 34 169.5t91.5 142t137 96.5t166.5 36zM652.5 974q-91.5 0 -156.5 -65 t-65 -157t65 -156.5t156.5 -64.5t156.5 64.5t65 156.5t-65 157t-156.5 65z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 173v854q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57z" />
|
||||
<glyph unicode="" d="M554 1295q21 -72 57.5 -143.5t76 -130t83 -118t82.5 -117t70 -116t49.5 -126t18.5 -136.5q0 -71 -25.5 -135t-68.5 -111t-99 -82t-118.5 -54t-125.5 -23q-84 5 -161.5 34t-139.5 78.5t-99 125t-37 164.5q0 69 18 136.5t49.5 126.5t69.5 116.5t81.5 117.5t83.5 119 t76.5 131t58.5 143zM344 710q-23 -33 -43.5 -70.5t-40.5 -102.5t-17 -123q1 -37 14.5 -69.5t30 -52t41 -37t38.5 -24.5t33 -15q21 -7 32 -1t13 22l6 34q2 10 -2.5 22t-13.5 19q-5 4 -14 12t-29.5 40.5t-32.5 73.5q-26 89 6 271q2 11 -6 11q-8 1 -15 -10z" />
|
||||
<glyph unicode="" d="M1000 1013l108 115q2 1 5 2t13 2t20.5 -1t25 -9.5t28.5 -21.5q22 -22 27 -43t0 -32l-6 -10l-108 -115zM350 1100h400q50 0 105 -13l-187 -187h-368q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v182l200 200v-332 q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM1009 803l-362 -362l-161 -50l55 170l355 355z" />
|
||||
<glyph unicode="" d="M350 1100h361q-164 -146 -216 -200h-195q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5l200 153v-103q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M824 1073l339 -301q8 -7 8 -17.5t-8 -17.5l-340 -306q-7 -6 -12.5 -4t-6.5 11v203q-26 1 -54.5 0t-78.5 -7.5t-92 -17.5t-86 -35t-70 -57q10 59 33 108t51.5 81.5t65 58.5t68.5 40.5t67 24.5t56 13.5t40 4.5v210q1 10 6.5 12.5t13.5 -4.5z" />
|
||||
<glyph unicode="" d="M350 1100h350q60 0 127 -23l-178 -177h-349q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v69l200 200v-219q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5z M643 639l395 395q7 7 17.5 7t17.5 -7l101 -101q7 -7 7 -17.5t-7 -17.5l-531 -532q-7 -7 -17.5 -7t-17.5 7l-248 248q-7 7 -7 17.5t7 17.5l101 101q7 7 17.5 7t17.5 -7l111 -111q8 -7 18 -7t18 7z" />
|
||||
<glyph unicode="" d="M318 918l264 264q8 8 18 8t18 -8l260 -264q7 -8 4.5 -13t-12.5 -5h-170v-200h200v173q0 10 5 12t13 -5l264 -260q8 -7 8 -17.5t-8 -17.5l-264 -265q-8 -7 -13 -5t-5 12v173h-200v-200h170q10 0 12.5 -5t-4.5 -13l-260 -264q-8 -8 -18 -8t-18 8l-264 264q-8 8 -5.5 13 t12.5 5h175v200h-200v-173q0 -10 -5 -12t-13 5l-264 265q-8 7 -8 17.5t8 17.5l264 260q8 7 13 5t5 -12v-173h200v200h-175q-10 0 -12.5 5t5.5 13z" />
|
||||
<glyph unicode="" d="M250 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M50 1100h100q21 0 35.5 -14.5t14.5 -35.5v-438l464 453q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5 t-14.5 35.5v1000q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1200 1050v-1000q0 -21 -10.5 -25t-25.5 10l-464 453v-438q0 -21 -10.5 -25t-25.5 10l-492 480q-15 14 -15 35t15 35l492 480q15 14 25.5 10t10.5 -25v-438l464 453q15 14 25.5 10t10.5 -25z" />
|
||||
<glyph unicode="" d="M243 1074l814 -498q18 -11 18 -26t-18 -26l-814 -498q-18 -11 -30.5 -4t-12.5 28v1000q0 21 12.5 28t30.5 -4z" />
|
||||
<glyph unicode="" d="M250 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM650 1000h200q21 0 35.5 -14.5t14.5 -35.5v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v800 q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1100 950v-800q0 -21 -14.5 -35.5t-35.5 -14.5h-800q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5h800q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M500 612v438q0 21 10.5 25t25.5 -10l492 -480q15 -14 15 -35t-15 -35l-492 -480q-15 -14 -25.5 -10t-10.5 25v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10z" />
|
||||
<glyph unicode="" d="M1048 1102l100 1q20 0 35 -14.5t15 -35.5l5 -1000q0 -21 -14.5 -35.5t-35.5 -14.5l-100 -1q-21 0 -35.5 14.5t-14.5 35.5l-2 437l-463 -454q-14 -15 -24.5 -10.5t-10.5 25.5l-2 437l-462 -455q-15 -14 -25.5 -9.5t-10.5 24.5l-5 1000q0 21 10.5 25.5t25.5 -10.5l466 -450 l-2 438q0 20 10.5 24.5t25.5 -9.5l466 -451l-2 438q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M850 1100h100q21 0 35.5 -14.5t14.5 -35.5v-1000q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v438l-464 -453q-15 -14 -25.5 -10t-10.5 25v1000q0 21 10.5 25t25.5 -10l464 -453v438q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M686 1081l501 -540q15 -15 10.5 -26t-26.5 -11h-1042q-22 0 -26.5 11t10.5 26l501 540q15 15 36 15t36 -15zM150 400h1000q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M885 900l-352 -353l352 -353l-197 -198l-552 552l552 550z" />
|
||||
<glyph unicode="" d="M1064 547l-551 -551l-198 198l353 353l-353 353l198 198z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM650 900h-100q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-150 q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5h150v-150q0 -21 14.5 -35.5t35.5 -14.5h100q21 0 35.5 14.5t14.5 35.5v150h150q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-150v150q0 21 -14.5 35.5t-35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM850 700h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5 t35.5 -14.5h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM741.5 913q-12.5 0 -21.5 -9l-120 -120l-120 120q-9 9 -21.5 9 t-21.5 -9l-141 -141q-9 -9 -9 -21.5t9 -21.5l120 -120l-120 -120q-9 -9 -9 -21.5t9 -21.5l141 -141q9 -9 21.5 -9t21.5 9l120 120l120 -120q9 -9 21.5 -9t21.5 9l141 141q9 9 9 21.5t-9 21.5l-120 120l120 120q9 9 9 21.5t-9 21.5l-141 141q-9 9 -21.5 9z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM546 623l-84 85q-7 7 -17.5 7t-18.5 -7l-139 -139q-7 -8 -7 -18t7 -18 l242 -241q7 -8 17.5 -8t17.5 8l375 375q7 7 7 17.5t-7 18.5l-139 139q-7 7 -17.5 7t-17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM588 941q-29 0 -59 -5.5t-63 -20.5t-58 -38.5t-41.5 -63t-16.5 -89.5 q0 -25 20 -25h131q30 -5 35 11q6 20 20.5 28t45.5 8q20 0 31.5 -10.5t11.5 -28.5q0 -23 -7 -34t-26 -18q-1 0 -13.5 -4t-19.5 -7.5t-20 -10.5t-22 -17t-18.5 -24t-15.5 -35t-8 -46q-1 -8 5.5 -16.5t20.5 -8.5h173q7 0 22 8t35 28t37.5 48t29.5 74t12 100q0 47 -17 83 t-42.5 57t-59.5 34.5t-64 18t-59 4.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM675 1000h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5 t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5zM675 700h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h75v-200h-75q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h350q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5 t-17.5 7.5h-75v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M525 1200h150q10 0 17.5 -7.5t7.5 -17.5v-194q103 -27 178.5 -102.5t102.5 -178.5h194q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-194q-27 -103 -102.5 -178.5t-178.5 -102.5v-194q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v194 q-103 27 -178.5 102.5t-102.5 178.5h-194q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h194q27 103 102.5 178.5t178.5 102.5v194q0 10 7.5 17.5t17.5 7.5zM700 893v-168q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v168q-68 -23 -119 -74 t-74 -119h168q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-168q23 -68 74 -119t119 -74v168q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-168q68 23 119 74t74 119h-168q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h168 q-23 68 -74 119t-119 74z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM759 823l64 -64q7 -7 7 -17.5t-7 -17.5l-124 -124l124 -124q7 -7 7 -17.5t-7 -17.5l-64 -64q-7 -7 -17.5 -7t-17.5 7l-124 124l-124 -124q-7 -7 -17.5 -7t-17.5 7l-64 64 q-7 7 -7 17.5t7 17.5l124 124l-124 124q-7 7 -7 17.5t7 17.5l64 64q7 7 17.5 7t17.5 -7l124 -124l124 124q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5t57 -214.5 t155.5 -155.5t214.5 -57t214.5 57t155.5 155.5t57 214.5t-57 214.5t-155.5 155.5t-214.5 57zM782 788l106 -106q7 -7 7 -17.5t-7 -17.5l-320 -321q-8 -7 -18 -7t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l197 197q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM600 1027q-116 0 -214.5 -57t-155.5 -155.5t-57 -214.5q0 -120 65 -225 l587 587q-105 65 -225 65zM965 819l-584 -584q104 -62 219 -62q116 0 214.5 57t155.5 155.5t57 214.5q0 115 -62 219z" />
|
||||
<glyph unicode="" d="M39 582l522 427q16 13 27.5 8t11.5 -26v-291h550q21 0 35.5 -14.5t14.5 -35.5v-200q0 -21 -14.5 -35.5t-35.5 -14.5h-550v-291q0 -21 -11.5 -26t-27.5 8l-522 427q-16 13 -16 32t16 32z" />
|
||||
<glyph unicode="" d="M639 1009l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291h-550q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h550v291q0 21 11.5 26t27.5 -8z" />
|
||||
<glyph unicode="" d="M682 1161l427 -522q13 -16 8 -27.5t-26 -11.5h-291v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v550h-291q-21 0 -26 11.5t8 27.5l427 522q13 16 32 16t32 -16z" />
|
||||
<glyph unicode="" d="M550 1200h200q21 0 35.5 -14.5t14.5 -35.5v-550h291q21 0 26 -11.5t-8 -27.5l-427 -522q-13 -16 -32 -16t-32 16l-427 522q-13 16 -8 27.5t26 11.5h291v550q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M639 1109l522 -427q16 -13 16 -32t-16 -32l-522 -427q-16 -13 -27.5 -8t-11.5 26v291q-94 -2 -182 -20t-170.5 -52t-147 -92.5t-100.5 -135.5q5 105 27 193.5t67.5 167t113 135t167 91.5t225.5 42v262q0 21 11.5 26t27.5 -8z" />
|
||||
<glyph unicode="" d="M850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5zM350 0h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249 q8 7 18 7t18 -7l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5z" />
|
||||
<glyph unicode="" d="M1014 1120l106 -106q7 -8 7 -18t-7 -18l-249 -249l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l249 249q8 7 18 7t18 -7zM250 600h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-249 -249q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l249 249l-94 94q-14 14 -10 24.5t25 10.5z" />
|
||||
<glyph unicode="" d="M600 1177q117 0 224 -45.5t184.5 -123t123 -184.5t45.5 -224t-45.5 -224t-123 -184.5t-184.5 -123t-224 -45.5t-224 45.5t-184.5 123t-123 184.5t-45.5 224t45.5 224t123 184.5t184.5 123t224 45.5zM704 900h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5 t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM675 400h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M260 1200q9 0 19 -2t15 -4l5 -2q22 -10 44 -23l196 -118q21 -13 36 -24q29 -21 37 -12q11 13 49 35l196 118q22 13 45 23q17 7 38 7q23 0 47 -16.5t37 -33.5l13 -16q14 -21 18 -45l25 -123l8 -44q1 -9 8.5 -14.5t17.5 -5.5h61q10 0 17.5 -7.5t7.5 -17.5v-50 q0 -10 -7.5 -17.5t-17.5 -7.5h-50q-10 0 -17.5 -7.5t-7.5 -17.5v-175h-400v300h-200v-300h-400v175q0 10 -7.5 17.5t-17.5 7.5h-50q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5h61q11 0 18 3t7 8q0 4 9 52l25 128q5 25 19 45q2 3 5 7t13.5 15t21.5 19.5t26.5 15.5 t29.5 7zM915 1079l-166 -162q-7 -7 -5 -12t12 -5h219q10 0 15 7t2 17l-51 149q-3 10 -11 12t-15 -6zM463 917l-177 157q-8 7 -16 5t-11 -12l-51 -143q-3 -10 2 -17t15 -7h231q11 0 12.5 5t-5.5 12zM500 0h-375q-10 0 -17.5 7.5t-7.5 17.5v375h400v-400zM1100 400v-375 q0 -10 -7.5 -17.5t-17.5 -7.5h-375v400h400z" />
|
||||
<glyph unicode="" d="M1165 1190q8 3 21 -6.5t13 -17.5q-2 -178 -24.5 -323.5t-55.5 -245.5t-87 -174.5t-102.5 -118.5t-118 -68.5t-118.5 -33t-120 -4.5t-105 9.5t-90 16.5q-61 12 -78 11q-4 1 -12.5 0t-34 -14.5t-52.5 -40.5l-153 -153q-26 -24 -37 -14.5t-11 43.5q0 64 42 102q8 8 50.5 45 t66.5 58q19 17 35 47t13 61q-9 55 -10 102.5t7 111t37 130t78 129.5q39 51 80 88t89.5 63.5t94.5 45t113.5 36t129 31t157.5 37t182 47.5zM1116 1098q-8 9 -22.5 -3t-45.5 -50q-38 -47 -119 -103.5t-142 -89.5l-62 -33q-56 -30 -102 -57t-104 -68t-102.5 -80.5t-85.5 -91 t-64 -104.5q-24 -56 -31 -86t2 -32t31.5 17.5t55.5 59.5q25 30 94 75.5t125.5 77.5t147.5 81q70 37 118.5 69t102 79.5t99 111t86.5 148.5q22 50 24 60t-6 19z" />
|
||||
<glyph unicode="" d="M653 1231q-39 -67 -54.5 -131t-10.5 -114.5t24.5 -96.5t47.5 -80t63.5 -62.5t68.5 -46.5t65 -30q-4 7 -17.5 35t-18.5 39.5t-17 39.5t-17 43t-13 42t-9.5 44.5t-2 42t4 43t13.5 39t23 38.5q96 -42 165 -107.5t105 -138t52 -156t13 -159t-19 -149.5q-13 -55 -44 -106.5 t-68 -87t-78.5 -64.5t-72.5 -45t-53 -22q-72 -22 -127 -11q-31 6 -13 19q6 3 17 7q13 5 32.5 21t41 44t38.5 63.5t21.5 81.5t-6.5 94.5t-50 107t-104 115.5q10 -104 -0.5 -189t-37 -140.5t-65 -93t-84 -52t-93.5 -11t-95 24.5q-80 36 -131.5 114t-53.5 171q-2 23 0 49.5 t4.5 52.5t13.5 56t27.5 60t46 64.5t69.5 68.5q-8 -53 -5 -102.5t17.5 -90t34 -68.5t44.5 -39t49 -2q31 13 38.5 36t-4.5 55t-29 64.5t-36 75t-26 75.5q-15 85 2 161.5t53.5 128.5t85.5 92.5t93.5 61t81.5 25.5z" />
|
||||
<glyph unicode="" d="M600 1094q82 0 160.5 -22.5t140 -59t116.5 -82.5t94.5 -95t68 -95t42.5 -82.5t14 -57.5t-14 -57.5t-43 -82.5t-68.5 -95t-94.5 -95t-116.5 -82.5t-140 -59t-159.5 -22.5t-159.5 22.5t-140 59t-116.5 82.5t-94.5 95t-68.5 95t-43 82.5t-14 57.5t14 57.5t42.5 82.5t68 95 t94.5 95t116.5 82.5t140 59t160.5 22.5zM888 829q-15 15 -18 12t5 -22q25 -57 25 -119q0 -124 -88 -212t-212 -88t-212 88t-88 212q0 59 23 114q8 19 4.5 22t-17.5 -12q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q22 -36 47 -71t70 -82t92.5 -81t113 -58.5t133.5 -24.5 t133.5 24t113 58.5t92.5 81.5t70 81.5t47 70.5q11 18 9 42.5t-14 41.5q-90 117 -163 189zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l35 34q14 15 12.5 33.5t-16.5 33.5q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
||||
<glyph unicode="" d="M592 0h-148l31 120q-91 20 -175.5 68.5t-143.5 106.5t-103.5 119t-66.5 110t-22 76q0 21 14 57.5t42.5 82.5t68 95t94.5 95t116.5 82.5t140 59t160.5 22.5q61 0 126 -15l32 121h148zM944 770l47 181q108 -85 176.5 -192t68.5 -159q0 -26 -19.5 -71t-59.5 -102t-93 -112 t-129 -104.5t-158 -75.5l46 173q77 49 136 117t97 131q11 18 9 42.5t-14 41.5q-54 70 -107 130zM310 824q-70 -69 -160 -184q-13 -16 -15 -40.5t9 -42.5q18 -30 39 -60t57 -70.5t74 -73t90 -61t105 -41.5l41 154q-107 18 -178.5 101.5t-71.5 193.5q0 59 23 114q8 19 4.5 22 t-17.5 -12zM448 727l-35 -36q-15 -15 -19.5 -38.5t4.5 -41.5q37 -68 93 -116q16 -13 38.5 -11t36.5 17l12 11l22 86l-3 4q-44 44 -89 117q-11 18 -28 20t-32 -12z" />
|
||||
<glyph unicode="" d="M-90 100l642 1066q20 31 48 28.5t48 -35.5l642 -1056q21 -32 7.5 -67.5t-50.5 -35.5h-1294q-37 0 -50.5 34t7.5 66zM155 200h345v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h345l-445 723zM496 700h208q20 0 32 -14.5t8 -34.5l-58 -252 q-4 -20 -21.5 -34.5t-37.5 -14.5h-54q-20 0 -37.5 14.5t-21.5 34.5l-58 252q-4 20 8 34.5t32 14.5z" />
|
||||
<glyph unicode="" d="M650 1200q62 0 106 -44t44 -106v-339l363 -325q15 -14 26 -38.5t11 -44.5v-41q0 -20 -12 -26.5t-29 5.5l-359 249v-263q100 -93 100 -113v-64q0 -21 -13 -29t-32 1l-205 128l-205 -128q-19 -9 -32 -1t-13 29v64q0 20 100 113v263l-359 -249q-17 -12 -29 -5.5t-12 26.5v41 q0 20 11 44.5t26 38.5l363 325v339q0 62 44 106t106 44z" />
|
||||
<glyph unicode="" d="M850 1200h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-150h-1100v150q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5h100q21 0 35.5 -14.5t14.5 -35.5v-50h500v50q0 21 14.5 35.5t35.5 14.5zM1100 800v-750q0 -21 -14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v750h1100zM100 600v-100h100v100h-100zM300 600v-100h100v100h-100zM500 600v-100h100v100h-100zM700 600v-100h100v100h-100zM900 600v-100h100v100h-100zM100 400v-100h100v100h-100zM300 400v-100h100v100h-100zM500 400 v-100h100v100h-100zM700 400v-100h100v100h-100zM900 400v-100h100v100h-100zM100 200v-100h100v100h-100zM300 200v-100h100v100h-100zM500 200v-100h100v100h-100zM700 200v-100h100v100h-100zM900 200v-100h100v100h-100z" />
|
||||
<glyph unicode="" d="M1135 1165l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-159l-600 -600h-291q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h209l600 600h241v150q0 21 10.5 25t24.5 -10zM522 819l-141 -141l-122 122h-209q-21 0 -35.5 14.5 t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h291zM1135 565l249 -230q15 -14 15 -35t-15 -35l-249 -230q-14 -14 -24.5 -10t-10.5 25v150h-241l-181 181l141 141l122 -122h159v150q0 21 10.5 25t24.5 -10z" />
|
||||
<glyph unicode="" d="M100 1100h1000q41 0 70.5 -29.5t29.5 -70.5v-600q0 -41 -29.5 -70.5t-70.5 -29.5h-596l-304 -300v300h-100q-41 0 -70.5 29.5t-29.5 70.5v600q0 41 29.5 70.5t70.5 29.5z" />
|
||||
<glyph unicode="" d="M150 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM850 1200h200q21 0 35.5 -14.5t14.5 -35.5v-250h-300v250q0 21 14.5 35.5t35.5 14.5zM1100 800v-300q0 -41 -3 -77.5t-15 -89.5t-32 -96t-58 -89t-89 -77t-129 -51t-174 -20t-174 20 t-129 51t-89 77t-58 89t-32 96t-15 89.5t-3 77.5v300h300v-250v-27v-42.5t1.5 -41t5 -38t10 -35t16.5 -30t25.5 -24.5t35 -19t46.5 -12t60 -4t60 4.5t46.5 12.5t35 19.5t25 25.5t17 30.5t10 35t5 38t2 40.5t-0.5 42v25v250h300z" />
|
||||
<glyph unicode="" d="M1100 411l-198 -199l-353 353l-353 -353l-197 199l551 551z" />
|
||||
<glyph unicode="" d="M1101 789l-550 -551l-551 551l198 199l353 -353l353 353z" />
|
||||
<glyph unicode="" d="M404 1000h746q21 0 35.5 -14.5t14.5 -35.5v-551h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v401h-381zM135 984l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-400h385l215 -200h-750q-21 0 -35.5 14.5 t-14.5 35.5v550h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M56 1200h94q17 0 31 -11t18 -27l38 -162h896q24 0 39 -18.5t10 -42.5l-100 -475q-5 -21 -27 -42.5t-55 -21.5h-633l48 -200h535q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-50q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-300v-50 q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v50h-31q-18 0 -32.5 10t-20.5 19l-5 10l-201 961h-54q-20 0 -35 14.5t-15 35.5t15 35.5t35 14.5z" />
|
||||
<glyph unicode="" d="M1200 1000v-100h-1200v100h200q0 41 29.5 70.5t70.5 29.5h300q41 0 70.5 -29.5t29.5 -70.5h500zM0 800h1200v-800h-1200v800z" />
|
||||
<glyph unicode="" d="M200 800l-200 -400v600h200q0 41 29.5 70.5t70.5 29.5h300q42 0 71 -29.5t29 -70.5h500v-200h-1000zM1500 700l-300 -700h-1200l300 700h1200z" />
|
||||
<glyph unicode="" d="M635 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-601h150q21 0 25 -10.5t-10 -24.5l-230 -249q-14 -15 -35 -15t-35 15l-230 249q-14 14 -10 24.5t25 10.5h150v601h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M936 864l249 -229q14 -15 14 -35.5t-14 -35.5l-249 -229q-15 -15 -25.5 -10.5t-10.5 24.5v151h-600v-151q0 -20 -10.5 -24.5t-25.5 10.5l-249 229q-14 15 -14 35.5t14 35.5l249 229q15 15 25.5 10.5t10.5 -25.5v-149h600v149q0 21 10.5 25.5t25.5 -10.5z" />
|
||||
<glyph unicode="" d="M1169 400l-172 732q-5 23 -23 45.5t-38 22.5h-672q-20 0 -38 -20t-23 -41l-172 -739h1138zM1100 300h-1000q-41 0 -70.5 -29.5t-29.5 -70.5v-100q0 -41 29.5 -70.5t70.5 -29.5h1000q41 0 70.5 29.5t29.5 70.5v100q0 41 -29.5 70.5t-70.5 29.5zM800 100v100h100v-100h-100 zM1000 100v100h100v-100h-100z" />
|
||||
<glyph unicode="" d="M1150 1100q21 0 35.5 -14.5t14.5 -35.5v-850q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v850q0 21 14.5 35.5t35.5 14.5zM1000 200l-675 200h-38l47 -276q3 -16 -5.5 -20t-29.5 -4h-7h-84q-20 0 -34.5 14t-18.5 35q-55 337 -55 351v250v6q0 16 1 23.5t6.5 14 t17.5 6.5h200l675 250v-850zM0 750v-250q-4 0 -11 0.5t-24 6t-30 15t-24 30t-11 48.5v50q0 26 10.5 46t25 30t29 16t25.5 7z" />
|
||||
<glyph unicode="" d="M553 1200h94q20 0 29 -10.5t3 -29.5l-18 -37q83 -19 144 -82.5t76 -140.5l63 -327l118 -173h17q19 0 33 -14.5t14 -35t-13 -40.5t-31 -27q-8 -4 -23 -9.5t-65 -19.5t-103 -25t-132.5 -20t-158.5 -9q-57 0 -115 5t-104 12t-88.5 15.5t-73.5 17.5t-54.5 16t-35.5 12l-11 4 q-18 8 -31 28t-13 40.5t14 35t33 14.5h17l118 173l63 327q15 77 76 140t144 83l-18 32q-6 19 3.5 32t28.5 13zM498 110q50 -6 102 -6q53 0 102 6q-12 -49 -39.5 -79.5t-62.5 -30.5t-63 30.5t-39 79.5z" />
|
||||
<glyph unicode="" d="M800 946l224 78l-78 -224l234 -45l-180 -155l180 -155l-234 -45l78 -224l-224 78l-45 -234l-155 180l-155 -180l-45 234l-224 -78l78 224l-234 45l180 155l-180 155l234 45l-78 224l224 -78l45 234l155 -180l155 180z" />
|
||||
<glyph unicode="" d="M650 1200h50q40 0 70 -40.5t30 -84.5v-150l-28 -125h328q40 0 70 -40.5t30 -84.5v-100q0 -45 -29 -74l-238 -344q-16 -24 -38 -40.5t-45 -16.5h-250q-7 0 -42 25t-66 50l-31 25h-61q-45 0 -72.5 18t-27.5 57v400q0 36 20 63l145 196l96 198q13 28 37.5 48t51.5 20z M650 1100l-100 -212l-150 -213v-375h100l136 -100h214l250 375v125h-450l50 225v175h-50zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1100h250q23 0 45 -16.5t38 -40.5l238 -344q29 -29 29 -74v-100q0 -44 -30 -84.5t-70 -40.5h-328q28 -118 28 -125v-150q0 -44 -30 -84.5t-70 -40.5h-50q-27 0 -51.5 20t-37.5 48l-96 198l-145 196q-20 27 -20 63v400q0 39 27.5 57t72.5 18h61q124 100 139 100z M50 1000h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM636 1000l-136 -100h-100v-375l150 -213l100 -212h50v175l-50 225h450v125l-250 375h-214z" />
|
||||
<glyph unicode="" d="M356 873l363 230q31 16 53 -6l110 -112q13 -13 13.5 -32t-11.5 -34l-84 -121h302q84 0 138 -38t54 -110t-55 -111t-139 -39h-106l-131 -339q-6 -21 -19.5 -41t-28.5 -20h-342q-7 0 -90 81t-83 94v525q0 17 14 35.5t28 28.5zM400 792v-503l100 -89h293l131 339 q6 21 19.5 41t28.5 20h203q21 0 30.5 25t0.5 50t-31 25h-456h-7h-6h-5.5t-6 0.5t-5 1.5t-5 2t-4 2.5t-4 4t-2.5 4.5q-12 25 5 47l146 183l-86 83zM50 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v500 q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M475 1103l366 -230q2 -1 6 -3.5t14 -10.5t18 -16.5t14.5 -20t6.5 -22.5v-525q0 -13 -86 -94t-93 -81h-342q-15 0 -28.5 20t-19.5 41l-131 339h-106q-85 0 -139.5 39t-54.5 111t54 110t138 38h302l-85 121q-11 15 -10.5 34t13.5 32l110 112q22 22 53 6zM370 945l146 -183 q17 -22 5 -47q-2 -2 -3.5 -4.5t-4 -4t-4 -2.5t-5 -2t-5 -1.5t-6 -0.5h-6h-6.5h-6h-475v-100h221q15 0 29 -20t20 -41l130 -339h294l106 89v503l-342 236zM1050 800h100q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5 v500q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M550 1294q72 0 111 -55t39 -139v-106l339 -131q21 -6 41 -19.5t20 -28.5v-342q0 -7 -81 -90t-94 -83h-525q-17 0 -35.5 14t-28.5 28l-9 14l-230 363q-16 31 6 53l112 110q13 13 32 13.5t34 -11.5l121 -84v302q0 84 38 138t110 54zM600 972v203q0 21 -25 30.5t-50 0.5 t-25 -31v-456v-7v-6v-5.5t-0.5 -6t-1.5 -5t-2 -5t-2.5 -4t-4 -4t-4.5 -2.5q-25 -12 -47 5l-183 146l-83 -86l236 -339h503l89 100v293l-339 131q-21 6 -41 19.5t-20 28.5zM450 200h500q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-500 q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M350 1100h500q21 0 35.5 14.5t14.5 35.5v100q0 21 -14.5 35.5t-35.5 14.5h-500q-21 0 -35.5 -14.5t-14.5 -35.5v-100q0 -21 14.5 -35.5t35.5 -14.5zM600 306v-106q0 -84 -39 -139t-111 -55t-110 54t-38 138v302l-121 -84q-15 -12 -34 -11.5t-32 13.5l-112 110 q-22 22 -6 53l230 363q1 2 3.5 6t10.5 13.5t16.5 17t20 13.5t22.5 6h525q13 0 94 -83t81 -90v-342q0 -15 -20 -28.5t-41 -19.5zM308 900l-236 -339l83 -86l183 146q22 17 47 5q2 -1 4.5 -2.5t4 -4t2.5 -4t2 -5t1.5 -5t0.5 -6v-5.5v-6v-7v-456q0 -22 25 -31t50 0.5t25 30.5 v203q0 15 20 28.5t41 19.5l339 131v293l-89 100h-503z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM914 632l-275 223q-16 13 -27.5 8t-11.5 -26v-137h-275 q-10 0 -17.5 -7.5t-7.5 -17.5v-150q0 -10 7.5 -17.5t17.5 -7.5h275v-137q0 -21 11.5 -26t27.5 8l275 223q16 13 16 32t-16 32z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM561 855l-275 -223q-16 -13 -16 -32t16 -32l275 -223q16 -13 27.5 -8 t11.5 26v137h275q10 0 17.5 7.5t7.5 17.5v150q0 10 -7.5 17.5t-17.5 7.5h-275v137q0 21 -11.5 26t-27.5 -8z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM855 639l-223 275q-13 16 -32 16t-32 -16l-223 -275q-13 -16 -8 -27.5 t26 -11.5h137v-275q0 -10 7.5 -17.5t17.5 -7.5h150q10 0 17.5 7.5t7.5 17.5v275h137q21 0 26 11.5t-8 27.5z" />
|
||||
<glyph unicode="" d="M600 1178q118 0 225 -45.5t184.5 -123t123 -184.5t45.5 -225t-45.5 -225t-123 -184.5t-184.5 -123t-225 -45.5t-225 45.5t-184.5 123t-123 184.5t-45.5 225t45.5 225t123 184.5t184.5 123t225 45.5zM675 900h-150q-10 0 -17.5 -7.5t-7.5 -17.5v-275h-137q-21 0 -26 -11.5 t8 -27.5l223 -275q13 -16 32 -16t32 16l223 275q13 16 8 27.5t-26 11.5h-137v275q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M600 1176q116 0 222.5 -46t184 -123.5t123.5 -184t46 -222.5t-46 -222.5t-123.5 -184t-184 -123.5t-222.5 -46t-222.5 46t-184 123.5t-123.5 184t-46 222.5t46 222.5t123.5 184t184 123.5t222.5 46zM627 1101q-15 -12 -36.5 -20.5t-35.5 -12t-43 -8t-39 -6.5 q-15 -3 -45.5 0t-45.5 -2q-20 -7 -51.5 -26.5t-34.5 -34.5q-3 -11 6.5 -22.5t8.5 -18.5q-3 -34 -27.5 -91t-29.5 -79q-9 -34 5 -93t8 -87q0 -9 17 -44.5t16 -59.5q12 0 23 -5t23.5 -15t19.5 -14q16 -8 33 -15t40.5 -15t34.5 -12q21 -9 52.5 -32t60 -38t57.5 -11 q7 -15 -3 -34t-22.5 -40t-9.5 -38q13 -21 23 -34.5t27.5 -27.5t36.5 -18q0 -7 -3.5 -16t-3.5 -14t5 -17q104 -2 221 112q30 29 46.5 47t34.5 49t21 63q-13 8 -37 8.5t-36 7.5q-15 7 -49.5 15t-51.5 19q-18 0 -41 -0.5t-43 -1.5t-42 -6.5t-38 -16.5q-51 -35 -66 -12 q-4 1 -3.5 25.5t0.5 25.5q-6 13 -26.5 17.5t-24.5 6.5q1 15 -0.5 30.5t-7 28t-18.5 11.5t-31 -21q-23 -25 -42 4q-19 28 -8 58q6 16 22 22q6 -1 26 -1.5t33.5 -4t19.5 -13.5q7 -12 18 -24t21.5 -20.5t20 -15t15.5 -10.5l5 -3q2 12 7.5 30.5t8 34.5t-0.5 32q-3 18 3.5 29 t18 22.5t15.5 24.5q6 14 10.5 35t8 31t15.5 22.5t34 22.5q-6 18 10 36q8 0 24 -1.5t24.5 -1.5t20 4.5t20.5 15.5q-10 23 -31 42.5t-37.5 29.5t-49 27t-43.5 23q0 1 2 8t3 11.5t1.5 10.5t-1 9.5t-4.5 4.5q31 -13 58.5 -14.5t38.5 2.5l12 5q5 28 -9.5 46t-36.5 24t-50 15 t-41 20q-18 -4 -37 0zM613 994q0 -17 8 -42t17 -45t9 -23q-8 1 -39.5 5.5t-52.5 10t-37 16.5q3 11 16 29.5t16 25.5q10 -10 19 -10t14 6t13.5 14.5t16.5 12.5z" />
|
||||
<glyph unicode="" d="M756 1157q164 92 306 -9l-259 -138l145 -232l251 126q6 -89 -34 -156.5t-117 -110.5q-60 -34 -127 -39.5t-126 16.5l-596 -596q-15 -16 -36.5 -16t-36.5 16l-111 110q-15 15 -15 36.5t15 37.5l600 599q-34 101 5.5 201.5t135.5 154.5z" />
|
||||
<glyph unicode="" horiz-adv-x="1220" d="M100 1196h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 1096h-200v-100h200v100zM100 796h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 696h-500v-100h500v100zM100 396h1000q41 0 70.5 -29.5t29.5 -70.5v-100q0 -41 -29.5 -70.5t-70.5 -29.5h-1000q-41 0 -70.5 29.5t-29.5 70.5v100q0 41 29.5 70.5t70.5 29.5zM1100 296h-300v-100h300v100z " />
|
||||
<glyph unicode="" d="M150 1200h900q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM700 500v-300l-200 -200v500l-350 500h900z" />
|
||||
<glyph unicode="" d="M500 1200h200q41 0 70.5 -29.5t29.5 -70.5v-100h300q41 0 70.5 -29.5t29.5 -70.5v-400h-500v100h-200v-100h-500v400q0 41 29.5 70.5t70.5 29.5h300v100q0 41 29.5 70.5t70.5 29.5zM500 1100v-100h200v100h-200zM1200 400v-200q0 -41 -29.5 -70.5t-70.5 -29.5h-1000 q-41 0 -70.5 29.5t-29.5 70.5v200h1200z" />
|
||||
<glyph unicode="" d="M50 1200h300q21 0 25 -10.5t-10 -24.5l-94 -94l199 -199q7 -8 7 -18t-7 -18l-106 -106q-8 -7 -18 -7t-18 7l-199 199l-94 -94q-14 -14 -24.5 -10t-10.5 25v300q0 21 14.5 35.5t35.5 14.5zM850 1200h300q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -10.5 -25t-24.5 10l-94 94 l-199 -199q-8 -7 -18 -7t-18 7l-106 106q-7 8 -7 18t7 18l199 199l-94 94q-14 14 -10 24.5t25 10.5zM364 470l106 -106q7 -8 7 -18t-7 -18l-199 -199l94 -94q14 -14 10 -24.5t-25 -10.5h-300q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 10.5 25t24.5 -10l94 -94l199 199 q8 7 18 7t18 -7zM1071 271l94 94q14 14 24.5 10t10.5 -25v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -25 10.5t10 24.5l94 94l-199 199q-7 8 -7 18t7 18l106 106q8 7 18 7t18 -7z" />
|
||||
<glyph unicode="" d="M596 1192q121 0 231.5 -47.5t190 -127t127 -190t47.5 -231.5t-47.5 -231.5t-127 -190.5t-190 -127t-231.5 -47t-231.5 47t-190.5 127t-127 190.5t-47 231.5t47 231.5t127 190t190.5 127t231.5 47.5zM596 1010q-112 0 -207.5 -55.5t-151 -151t-55.5 -207.5t55.5 -207.5 t151 -151t207.5 -55.5t207.5 55.5t151 151t55.5 207.5t-55.5 207.5t-151 151t-207.5 55.5zM454.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38.5 -16.5t-38.5 16.5t-16 39t16 38.5t38.5 16zM754.5 905q22.5 0 38.5 -16t16 -38.5t-16 -39t-38 -16.5q-14 0 -29 10l-55 -145 q17 -23 17 -51q0 -36 -25.5 -61.5t-61.5 -25.5t-61.5 25.5t-25.5 61.5q0 32 20.5 56.5t51.5 29.5l122 126l1 1q-9 14 -9 28q0 23 16 39t38.5 16zM345.5 709q22.5 0 38.5 -16t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16zM854.5 709q22.5 0 38.5 -16 t16 -38.5t-16 -38.5t-38.5 -16t-38.5 16t-16 38.5t16 38.5t38.5 16z" />
|
||||
<glyph unicode="" d="M546 173l469 470q91 91 99 192q7 98 -52 175.5t-154 94.5q-22 4 -47 4q-34 0 -66.5 -10t-56.5 -23t-55.5 -38t-48 -41.5t-48.5 -47.5q-376 -375 -391 -390q-30 -27 -45 -41.5t-37.5 -41t-32 -46.5t-16 -47.5t-1.5 -56.5q9 -62 53.5 -95t99.5 -33q74 0 125 51l548 548 q36 36 20 75q-7 16 -21.5 26t-32.5 10q-26 0 -50 -23q-13 -12 -39 -38l-341 -338q-15 -15 -35.5 -15.5t-34.5 13.5t-14 34.5t14 34.5q327 333 361 367q35 35 67.5 51.5t78.5 16.5q14 0 29 -1q44 -8 74.5 -35.5t43.5 -68.5q14 -47 2 -96.5t-47 -84.5q-12 -11 -32 -32 t-79.5 -81t-114.5 -115t-124.5 -123.5t-123 -119.5t-96.5 -89t-57 -45q-56 -27 -120 -27q-70 0 -129 32t-93 89q-48 78 -35 173t81 163l511 511q71 72 111 96q91 55 198 55q80 0 152 -33q78 -36 129.5 -103t66.5 -154q17 -93 -11 -183.5t-94 -156.5l-482 -476 q-15 -15 -36 -16t-37 14t-17.5 34t14.5 35z" />
|
||||
<glyph unicode="" d="M649 949q48 68 109.5 104t121.5 38.5t118.5 -20t102.5 -64t71 -100.5t27 -123q0 -57 -33.5 -117.5t-94 -124.5t-126.5 -127.5t-150 -152.5t-146 -174q-62 85 -145.5 174t-150 152.5t-126.5 127.5t-93.5 124.5t-33.5 117.5q0 64 28 123t73 100.5t104 64t119 20 t120.5 -38.5t104.5 -104zM896 972q-33 0 -64.5 -19t-56.5 -46t-47.5 -53.5t-43.5 -45.5t-37.5 -19t-36 19t-40 45.5t-43 53.5t-54 46t-65.5 19q-67 0 -122.5 -55.5t-55.5 -132.5q0 -23 13.5 -51t46 -65t57.5 -63t76 -75l22 -22q15 -14 44 -44t50.5 -51t46 -44t41 -35t23 -12 t23.5 12t42.5 36t46 44t52.5 52t44 43q4 4 12 13q43 41 63.5 62t52 55t46 55t26 46t11.5 44q0 79 -53 133.5t-120 54.5z" />
|
||||
<glyph unicode="" d="M776.5 1214q93.5 0 159.5 -66l141 -141q66 -66 66 -160q0 -42 -28 -95.5t-62 -87.5l-29 -29q-31 53 -77 99l-18 18l95 95l-247 248l-389 -389l212 -212l-105 -106l-19 18l-141 141q-66 66 -66 159t66 159l283 283q65 66 158.5 66zM600 706l105 105q10 -8 19 -17l141 -141 q66 -66 66 -159t-66 -159l-283 -283q-66 -66 -159 -66t-159 66l-141 141q-66 66 -66 159.5t66 159.5l55 55q29 -55 75 -102l18 -17l-95 -95l247 -248l389 389z" />
|
||||
<glyph unicode="" d="M603 1200q85 0 162 -15t127 -38t79 -48t29 -46v-953q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-41 0 -70.5 29.5t-29.5 70.5v953q0 21 30 46.5t81 48t129 37.5t163 15zM300 1000v-700h600v700h-600zM600 254q-43 0 -73.5 -30.5t-30.5 -73.5t30.5 -73.5t73.5 -30.5t73.5 30.5 t30.5 73.5t-30.5 73.5t-73.5 30.5z" />
|
||||
<glyph unicode="" d="M902 1185l283 -282q15 -15 15 -36t-14.5 -35.5t-35.5 -14.5t-35 15l-36 35l-279 -267v-300l-212 210l-308 -307l-280 -203l203 280l307 308l-210 212h300l267 279l-35 36q-15 14 -15 35t14.5 35.5t35.5 14.5t35 -15z" />
|
||||
<glyph unicode="" d="M700 1248v-78q38 -5 72.5 -14.5t75.5 -31.5t71 -53.5t52 -84t24 -118.5h-159q-4 36 -10.5 59t-21 45t-40 35.5t-64.5 20.5v-307l64 -13q34 -7 64 -16.5t70 -32t67.5 -52.5t47.5 -80t20 -112q0 -139 -89 -224t-244 -97v-77h-100v79q-150 16 -237 103q-40 40 -52.5 93.5 t-15.5 139.5h139q5 -77 48.5 -126t117.5 -65v335l-27 8q-46 14 -79 26.5t-72 36t-63 52t-40 72.5t-16 98q0 70 25 126t67.5 92t94.5 57t110 27v77h100zM600 754v274q-29 -4 -50 -11t-42 -21.5t-31.5 -41.5t-10.5 -65q0 -29 7 -50.5t16.5 -34t28.5 -22.5t31.5 -14t37.5 -10 q9 -3 13 -4zM700 547v-310q22 2 42.5 6.5t45 15.5t41.5 27t29 42t12 59.5t-12.5 59.5t-38 44.5t-53 31t-66.5 24.5z" />
|
||||
<glyph unicode="" d="M561 1197q84 0 160.5 -40t123.5 -109.5t47 -147.5h-153q0 40 -19.5 71.5t-49.5 48.5t-59.5 26t-55.5 9q-37 0 -79 -14.5t-62 -35.5q-41 -44 -41 -101q0 -26 13.5 -63t26.5 -61t37 -66q6 -9 9 -14h241v-100h-197q8 -50 -2.5 -115t-31.5 -95q-45 -62 -99 -112 q34 10 83 17.5t71 7.5q32 1 102 -16t104 -17q83 0 136 30l50 -147q-31 -19 -58 -30.5t-55 -15.5t-42 -4.5t-46 -0.5q-23 0 -76 17t-111 32.5t-96 11.5q-39 -3 -82 -16t-67 -25l-23 -11l-55 145q4 3 16 11t15.5 10.5t13 9t15.5 12t14.5 14t17.5 18.5q48 55 54 126.5 t-30 142.5h-221v100h166q-23 47 -44 104q-7 20 -12 41.5t-6 55.5t6 66.5t29.5 70.5t58.5 71q97 88 263 88z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM935 1184l230 -249q14 -14 10 -24.5t-25 -10.5h-150v-900h-200v900h-150q-21 0 -25 10.5t10 24.5l230 249q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M1000 700h-100v100h-100v-100h-100v500h300v-500zM400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM801 1100v-200h100v200h-100zM1000 350l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150z " />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 1050l-200 -250h200v-100h-300v150l200 250h-200v100h300v-150zM1000 0h-100v100h-100v-100h-100v500h300v-500zM801 400v-200h100v200h-100z " />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1000 700h-100v400h-100v100h200v-500zM1100 0h-100v100h-200v400h300v-500zM901 400v-200h100v200h-100z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1100 700h-100v100h-200v400h300v-500zM901 1100v-200h100v200h-100zM1000 0h-100v400h-100v100h200v-500z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM900 1000h-200v200h200v-200zM1000 700h-300v200h300v-200zM1100 400h-400v200h400v-200zM1200 100h-500v200h500v-200z" />
|
||||
<glyph unicode="" d="M400 300h150q21 0 25 -11t-10 -25l-230 -250q-14 -15 -35 -15t-35 15l-230 250q-14 14 -10 25t25 11h150v900h200v-900zM1200 1000h-500v200h500v-200zM1100 700h-400v200h400v-200zM1000 400h-300v200h300v-200zM900 100h-200v200h200v-200z" />
|
||||
<glyph unicode="" d="M350 1100h400q162 0 256 -93.5t94 -256.5v-400q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5z" />
|
||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-163 0 -256.5 92.5t-93.5 257.5v400q0 163 94 256.5t256 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM440 770l253 -190q17 -12 17 -30t-17 -30l-253 -190q-16 -12 -28 -6.5t-12 26.5v400q0 21 12 26.5t28 -6.5z" />
|
||||
<glyph unicode="" d="M350 1100h400q163 0 256.5 -94t93.5 -256v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 163 92.5 256.5t257.5 93.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM350 700h400q21 0 26.5 -12t-6.5 -28l-190 -253q-12 -17 -30 -17t-30 17l-190 253q-12 16 -6.5 28t26.5 12z" />
|
||||
<glyph unicode="" d="M350 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -163 -92.5 -256.5t-257.5 -93.5h-400q-163 0 -256.5 94t-93.5 256v400q0 165 92.5 257.5t257.5 92.5zM800 900h-500q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5 v500q0 41 -29.5 70.5t-70.5 29.5zM580 693l190 -253q12 -16 6.5 -28t-26.5 -12h-400q-21 0 -26.5 12t6.5 28l190 253q12 17 30 17t30 -17z" />
|
||||
<glyph unicode="" d="M550 1100h400q165 0 257.5 -92.5t92.5 -257.5v-400q0 -165 -92.5 -257.5t-257.5 -92.5h-400q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h450q41 0 70.5 29.5t29.5 70.5v500q0 41 -29.5 70.5t-70.5 29.5h-450q-21 0 -35.5 14.5t-14.5 35.5v100 q0 21 14.5 35.5t35.5 14.5zM338 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
||||
<glyph unicode="" d="M793 1182l9 -9q8 -10 5 -27q-3 -11 -79 -225.5t-78 -221.5l300 1q24 0 32.5 -17.5t-5.5 -35.5q-1 0 -133.5 -155t-267 -312.5t-138.5 -162.5q-12 -15 -26 -15h-9l-9 8q-9 11 -4 32q2 9 42 123.5t79 224.5l39 110h-302q-23 0 -31 19q-10 21 6 41q75 86 209.5 237.5 t228 257t98.5 111.5q9 16 25 16h9z" />
|
||||
<glyph unicode="" d="M350 1100h400q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-450q-41 0 -70.5 -29.5t-29.5 -70.5v-500q0 -41 29.5 -70.5t70.5 -29.5h450q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400 q0 165 92.5 257.5t257.5 92.5zM938 867l324 -284q16 -14 16 -33t-16 -33l-324 -284q-16 -14 -27 -9t-11 26v150h-250q-21 0 -35.5 14.5t-14.5 35.5v200q0 21 14.5 35.5t35.5 14.5h250v150q0 21 11 26t27 -9z" />
|
||||
<glyph unicode="" d="M750 1200h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -10.5 -25t-24.5 10l-109 109l-312 -312q-15 -15 -35.5 -15t-35.5 15l-141 141q-15 15 -15 35.5t15 35.5l312 312l-109 109q-14 14 -10 24.5t25 10.5zM456 900h-156q-41 0 -70.5 -29.5t-29.5 -70.5v-500 q0 -41 29.5 -70.5t70.5 -29.5h500q41 0 70.5 29.5t29.5 70.5v148l200 200v-298q0 -165 -93.5 -257.5t-256.5 -92.5h-400q-165 0 -257.5 92.5t-92.5 257.5v400q0 165 92.5 257.5t257.5 92.5h300z" />
|
||||
<glyph unicode="" d="M600 1186q119 0 227.5 -46.5t187 -125t125 -187t46.5 -227.5t-46.5 -227.5t-125 -187t-187 -125t-227.5 -46.5t-227.5 46.5t-187 125t-125 187t-46.5 227.5t46.5 227.5t125 187t187 125t227.5 46.5zM600 1022q-115 0 -212 -56.5t-153.5 -153.5t-56.5 -212t56.5 -212 t153.5 -153.5t212 -56.5t212 56.5t153.5 153.5t56.5 212t-56.5 212t-153.5 153.5t-212 56.5zM600 794q80 0 137 -57t57 -137t-57 -137t-137 -57t-137 57t-57 137t57 137t137 57z" />
|
||||
<glyph unicode="" d="M450 1200h200q21 0 35.5 -14.5t14.5 -35.5v-350h245q20 0 25 -11t-9 -26l-383 -426q-14 -15 -33.5 -15t-32.5 15l-379 426q-13 15 -8.5 26t25.5 11h250v350q0 21 14.5 35.5t35.5 14.5zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M583 1182l378 -435q14 -15 9 -31t-26 -16h-244v-250q0 -20 -17 -35t-39 -15h-200q-20 0 -32 14.5t-12 35.5v250h-250q-20 0 -25.5 16.5t8.5 31.5l383 431q14 16 33.5 17t33.5 -14zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5z M900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M396 723l369 369q7 7 17.5 7t17.5 -7l139 -139q7 -8 7 -18.5t-7 -17.5l-525 -525q-7 -8 -17.5 -8t-17.5 8l-292 291q-7 8 -7 18t7 18l139 139q8 7 18.5 7t17.5 -7zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50 h-100z" />
|
||||
<glyph unicode="" d="M135 1023l142 142q14 14 35 14t35 -14l77 -77l-212 -212l-77 76q-14 15 -14 36t14 35zM655 855l210 210q14 14 24.5 10t10.5 -25l-2 -599q-1 -20 -15.5 -35t-35.5 -15l-597 -1q-21 0 -25 10.5t10 24.5l208 208l-154 155l212 212zM50 300h1000q21 0 35.5 -14.5t14.5 -35.5 v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M350 1200l599 -2q20 -1 35 -15.5t15 -35.5l1 -597q0 -21 -10.5 -25t-24.5 10l-208 208l-155 -154l-212 212l155 154l-210 210q-14 14 -10 24.5t25 10.5zM524 512l-76 -77q-15 -14 -36 -14t-35 14l-142 142q-14 14 -14 35t14 35l77 77zM50 300h1000q21 0 35.5 -14.5 t14.5 -35.5v-250h-1100v250q0 21 14.5 35.5t35.5 14.5zM900 200v-50h100v50h-100z" />
|
||||
<glyph unicode="" d="M1200 103l-483 276l-314 -399v423h-399l1196 796v-1096zM483 424v-230l683 953z" />
|
||||
<glyph unicode="" d="M1100 1000v-850q0 -21 -14.5 -35.5t-35.5 -14.5h-150v400h-700v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200z" />
|
||||
<glyph unicode="" d="M1100 1000l-2 -149l-299 -299l-95 95q-9 9 -21.5 9t-21.5 -9l-149 -147h-312v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1132 638l106 -106q7 -7 7 -17.5t-7 -17.5l-420 -421q-8 -7 -18 -7 t-18 7l-202 203q-8 7 -8 17.5t8 17.5l106 106q7 8 17.5 8t17.5 -8l79 -79l297 297q7 7 17.5 7t17.5 -7z" />
|
||||
<glyph unicode="" d="M1100 1000v-269l-103 -103l-134 134q-15 15 -33.5 16.5t-34.5 -12.5l-266 -266h-329v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM1202 572l70 -70q15 -15 15 -35.5t-15 -35.5l-131 -131 l131 -131q15 -15 15 -35.5t-15 -35.5l-70 -70q-15 -15 -35.5 -15t-35.5 15l-131 131l-131 -131q-15 -15 -35.5 -15t-35.5 15l-70 70q-15 15 -15 35.5t15 35.5l131 131l-131 131q-15 15 -15 35.5t15 35.5l70 70q15 15 35.5 15t35.5 -15l131 -131l131 131q15 15 35.5 15 t35.5 -15z" />
|
||||
<glyph unicode="" d="M1100 1000v-300h-350q-21 0 -35.5 -14.5t-14.5 -35.5v-150h-500v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM850 600h100q21 0 35.5 -14.5t14.5 -35.5v-250h150q21 0 25 -10.5t-10 -24.5 l-230 -230q-14 -14 -35 -14t-35 14l-230 230q-14 14 -10 24.5t25 10.5h150v250q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1100 1000v-400l-165 165q-14 15 -35 15t-35 -15l-263 -265h-402v-400h-150q-21 0 -35.5 14.5t-14.5 35.5v1000q0 20 14.5 35t35.5 15h250v-300h500v300h100zM700 1000h-100v200h100v-200zM935 565l230 -229q14 -15 10 -25.5t-25 -10.5h-150v-250q0 -20 -14.5 -35 t-35.5 -15h-100q-21 0 -35.5 15t-14.5 35v250h-150q-21 0 -25 10.5t10 25.5l230 229q14 15 35 15t35 -15z" />
|
||||
<glyph unicode="" d="M50 1100h1100q21 0 35.5 -14.5t14.5 -35.5v-150h-1200v150q0 21 14.5 35.5t35.5 14.5zM1200 800v-550q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v550h1200zM100 500v-200h400v200h-400z" />
|
||||
<glyph unicode="" d="M935 1165l248 -230q14 -14 14 -35t-14 -35l-248 -230q-14 -14 -24.5 -10t-10.5 25v150h-400v200h400v150q0 21 10.5 25t24.5 -10zM200 800h-50q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v-200zM400 800h-100v200h100v-200zM18 435l247 230 q14 14 24.5 10t10.5 -25v-150h400v-200h-400v-150q0 -21 -10.5 -25t-24.5 10l-247 230q-15 14 -15 35t15 35zM900 300h-100v200h100v-200zM1000 500h51q20 0 34.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-34.5 -14.5h-51v200z" />
|
||||
<glyph unicode="" d="M862 1073l276 116q25 18 43.5 8t18.5 -41v-1106q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v397q-4 1 -11 5t-24 17.5t-30 29t-24 42t-11 56.5v359q0 31 18.5 65t43.5 52zM550 1200q22 0 34.5 -12.5t14.5 -24.5l1 -13v-450q0 -28 -10.5 -59.5 t-25 -56t-29 -45t-25.5 -31.5l-10 -11v-447q0 -21 -14.5 -35.5t-35.5 -14.5h-200q-21 0 -35.5 14.5t-14.5 35.5v447q-4 4 -11 11.5t-24 30.5t-30 46t-24 55t-11 60v450q0 2 0.5 5.5t4 12t8.5 15t14.5 12t22.5 5.5q20 0 32.5 -12.5t14.5 -24.5l3 -13v-350h100v350v5.5t2.5 12 t7 15t15 12t25.5 5.5q23 0 35.5 -12.5t13.5 -24.5l1 -13v-350h100v350q0 2 0.5 5.5t3 12t7 15t15 12t24.5 5.5z" />
|
||||
<glyph unicode="" d="M1200 1100v-56q-4 0 -11 -0.5t-24 -3t-30 -7.5t-24 -15t-11 -24v-888q0 -22 25 -34.5t50 -13.5l25 -2v-56h-400v56q75 0 87.5 6.5t12.5 43.5v394h-500v-394q0 -37 12.5 -43.5t87.5 -6.5v-56h-400v56q4 0 11 0.5t24 3t30 7.5t24 15t11 24v888q0 22 -25 34.5t-50 13.5 l-25 2v56h400v-56q-75 0 -87.5 -6.5t-12.5 -43.5v-394h500v394q0 37 -12.5 43.5t-87.5 6.5v56h400z" />
|
||||
<glyph unicode="" d="M675 1000h375q21 0 35.5 -14.5t14.5 -35.5v-150h-105l-295 -98v98l-200 200h-400l100 100h375zM100 900h300q41 0 70.5 -29.5t29.5 -70.5v-500q0 -41 -29.5 -70.5t-70.5 -29.5h-300q-41 0 -70.5 29.5t-29.5 70.5v500q0 41 29.5 70.5t70.5 29.5zM100 800v-200h300v200 h-300zM1100 535l-400 -133v163l400 133v-163zM100 500v-200h300v200h-300zM1100 398v-248q0 -21 -14.5 -35.5t-35.5 -14.5h-375l-100 -100h-375l-100 100h400l200 200h105z" />
|
||||
<glyph unicode="" d="M17 1007l162 162q17 17 40 14t37 -22l139 -194q14 -20 11 -44.5t-20 -41.5l-119 -118q102 -142 228 -268t267 -227l119 118q17 17 42.5 19t44.5 -12l192 -136q19 -14 22.5 -37.5t-13.5 -40.5l-163 -162q-3 -1 -9.5 -1t-29.5 2t-47.5 6t-62.5 14.5t-77.5 26.5t-90 42.5 t-101.5 60t-111 83t-119 108.5q-74 74 -133.5 150.5t-94.5 138.5t-60 119.5t-34.5 100t-15 74.5t-4.5 48z" />
|
||||
<glyph unicode="" d="M600 1100q92 0 175 -10.5t141.5 -27t108.5 -36.5t81.5 -40t53.5 -37t31 -27l9 -10v-200q0 -21 -14.5 -33t-34.5 -9l-202 34q-20 3 -34.5 20t-14.5 38v146q-141 24 -300 24t-300 -24v-146q0 -21 -14.5 -38t-34.5 -20l-202 -34q-20 -3 -34.5 9t-14.5 33v200q3 4 9.5 10.5 t31 26t54 37.5t80.5 39.5t109 37.5t141 26.5t175 10.5zM600 795q56 0 97 -9.5t60 -23.5t30 -28t12 -24l1 -10v-50l365 -303q14 -15 24.5 -40t10.5 -45v-212q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v212q0 20 10.5 45t24.5 40l365 303v50 q0 4 1 10.5t12 23t30 29t60 22.5t97 10z" />
|
||||
<glyph unicode="" d="M1100 700l-200 -200h-600l-200 200v500h200v-200h200v200h200v-200h200v200h200v-500zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5 t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M700 1100h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-1000h300v1000q0 41 -29.5 70.5t-70.5 29.5zM1100 800h-100q-41 0 -70.5 -29.5t-29.5 -70.5v-700h300v700q0 41 -29.5 70.5t-70.5 29.5zM400 0h-300v400q0 41 29.5 70.5t70.5 29.5h100q41 0 70.5 -29.5t29.5 -70.5v-400z " />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 300h-100v200h-100v-200h-100v500h100v-200h100v200h100v-500zM900 700v-300l-100 -100h-200v500h200z M700 700v-300h100v300h-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-300h200v-100h-300v500h300v-100zM900 700h-200v-300h200v-100h-300v500h300v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 400l-300 150l300 150v-300zM900 550l-300 -150v300z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM900 300h-700v500h700v-500zM800 700h-130q-38 0 -66.5 -43t-28.5 -108t27 -107t68 -42h130v300zM300 700v-300 h130q41 0 68 42t27 107t-28.5 108t-66.5 43h-130z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 700h-200v-100h200v-300h-300v100h200v100h-200v300h300v-100zM900 300h-100v400h-100v100h200v-500z M700 300h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM300 700h200v-400h-300v500h100v-100zM900 300h-100v400h-100v100h200v-500zM300 600v-200h100v200h-100z M700 300h-100v100h100v-100z" />
|
||||
<glyph unicode="" d="M200 1100h700q124 0 212 -88t88 -212v-500q0 -124 -88 -212t-212 -88h-700q-124 0 -212 88t-88 212v500q0 124 88 212t212 88zM100 900v-700h900v700h-900zM500 500l-199 -200h-100v50l199 200v150h-200v100h300v-300zM900 300h-100v400h-100v100h200v-500zM701 300h-100 v100h100v-100z" />
|
||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700h-300v-200h300v-100h-300l-100 100v200l100 100h300v-100z" />
|
||||
<glyph unicode="" d="M600 1191q120 0 229.5 -47t188.5 -126t126 -188.5t47 -229.5t-47 -229.5t-126 -188.5t-188.5 -126t-229.5 -47t-229.5 47t-188.5 126t-126 188.5t-47 229.5t47 229.5t126 188.5t188.5 126t229.5 47zM600 1021q-114 0 -211 -56.5t-153.5 -153.5t-56.5 -211t56.5 -211 t153.5 -153.5t211 -56.5t211 56.5t153.5 153.5t56.5 211t-56.5 211t-153.5 153.5t-211 56.5zM800 700v-100l-50 -50l100 -100v-50h-100l-100 100h-150v-100h-100v400h300zM500 700v-100h200v100h-200z" />
|
||||
<glyph unicode="" d="M503 1089q110 0 200.5 -59.5t134.5 -156.5q44 14 90 14q120 0 205 -86.5t85 -207t-85 -207t-205 -86.5h-128v250q0 21 -14.5 35.5t-35.5 14.5h-300q-21 0 -35.5 -14.5t-14.5 -35.5v-250h-222q-80 0 -136 57.5t-56 136.5q0 69 43 122.5t108 67.5q-2 19 -2 37q0 100 49 185 t134 134t185 49zM525 500h150q10 0 17.5 -7.5t7.5 -17.5v-275h137q21 0 26 -11.5t-8 -27.5l-223 -244q-13 -16 -32 -16t-32 16l-223 244q-13 16 -8 27.5t26 11.5h137v275q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M502 1089q110 0 201 -59.5t135 -156.5q43 15 89 15q121 0 206 -86.5t86 -206.5q0 -99 -60 -181t-150 -110l-378 360q-13 16 -31.5 16t-31.5 -16l-381 -365h-9q-79 0 -135.5 57.5t-56.5 136.5q0 69 43 122.5t108 67.5q-2 19 -2 38q0 100 49 184.5t133.5 134t184.5 49.5z M632 467l223 -228q13 -16 8 -27.5t-26 -11.5h-137v-275q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v275h-137q-21 0 -26 11.5t8 27.5q199 204 223 228q19 19 31.5 19t32.5 -19z" />
|
||||
<glyph unicode="" d="M700 100v100h400l-270 300h170l-270 300h170l-300 333l-300 -333h170l-270 -300h170l-270 -300h400v-100h-50q-21 0 -35.5 -14.5t-14.5 -35.5v-50h400v50q0 21 -14.5 35.5t-35.5 14.5h-50z" />
|
||||
<glyph unicode="" d="M600 1179q94 0 167.5 -56.5t99.5 -145.5q89 -6 150.5 -71.5t61.5 -155.5q0 -61 -29.5 -112.5t-79.5 -82.5q9 -29 9 -55q0 -74 -52.5 -126.5t-126.5 -52.5q-55 0 -100 30v-251q21 0 35.5 -14.5t14.5 -35.5v-50h-300v50q0 21 14.5 35.5t35.5 14.5v251q-45 -30 -100 -30 q-74 0 -126.5 52.5t-52.5 126.5q0 18 4 38q-47 21 -75.5 65t-28.5 97q0 74 52.5 126.5t126.5 52.5q5 0 23 -2q0 2 -1 10t-1 13q0 116 81.5 197.5t197.5 81.5z" />
|
||||
<glyph unicode="" d="M1010 1010q111 -111 150.5 -260.5t0 -299t-150.5 -260.5q-83 -83 -191.5 -126.5t-218.5 -43.5t-218.5 43.5t-191.5 126.5q-111 111 -150.5 260.5t0 299t150.5 260.5q83 83 191.5 126.5t218.5 43.5t218.5 -43.5t191.5 -126.5zM476 1065q-4 0 -8 -1q-121 -34 -209.5 -122.5 t-122.5 -209.5q-4 -12 2.5 -23t18.5 -14l36 -9q3 -1 7 -1q23 0 29 22q27 96 98 166q70 71 166 98q11 3 17.5 13.5t3.5 22.5l-9 35q-3 13 -14 19q-7 4 -15 4zM512 920q-4 0 -9 -2q-80 -24 -138.5 -82.5t-82.5 -138.5q-4 -13 2 -24t19 -14l34 -9q4 -1 8 -1q22 0 28 21 q18 58 58.5 98.5t97.5 58.5q12 3 18 13.5t3 21.5l-9 35q-3 12 -14 19q-7 4 -15 4zM719.5 719.5q-49.5 49.5 -119.5 49.5t-119.5 -49.5t-49.5 -119.5t49.5 -119.5t119.5 -49.5t119.5 49.5t49.5 119.5t-49.5 119.5zM855 551q-22 0 -28 -21q-18 -58 -58.5 -98.5t-98.5 -57.5 q-11 -4 -17 -14.5t-3 -21.5l9 -35q3 -12 14 -19q7 -4 15 -4q4 0 9 2q80 24 138.5 82.5t82.5 138.5q4 13 -2.5 24t-18.5 14l-34 9q-4 1 -8 1zM1000 515q-23 0 -29 -22q-27 -96 -98 -166q-70 -71 -166 -98q-11 -3 -17.5 -13.5t-3.5 -22.5l9 -35q3 -13 14 -19q7 -4 15 -4 q4 0 8 1q121 34 209.5 122.5t122.5 209.5q4 12 -2.5 23t-18.5 14l-36 9q-3 1 -7 1z" />
|
||||
<glyph unicode="" d="M700 800h300v-380h-180v200h-340v-200h-380v755q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM700 300h162l-212 -212l-212 212h162v200h100v-200zM520 0h-395q-10 0 -17.5 7.5t-7.5 17.5v395zM1000 220v-195q0 -10 -7.5 -17.5t-17.5 -7.5h-195z" />
|
||||
<glyph unicode="" d="M700 800h300v-520l-350 350l-550 -550v1095q0 10 7.5 17.5t17.5 7.5h575v-400zM1000 900h-200v200zM862 200h-162v-200h-100v200h-162l212 212zM480 0h-355q-10 0 -17.5 7.5t-7.5 17.5v55h380v-80zM1000 80v-55q0 -10 -7.5 -17.5t-17.5 -7.5h-155v80h180z" />
|
||||
<glyph unicode="" d="M1162 800h-162v-200h100l100 -100h-300v300h-162l212 212zM200 800h200q27 0 40 -2t29.5 -10.5t23.5 -30t7 -57.5h300v-100h-600l-200 -350v450h100q0 36 7 57.5t23.5 30t29.5 10.5t40 2zM800 400h240l-240 -400h-800l300 500h500v-100z" />
|
||||
<glyph unicode="" d="M650 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM1000 850v150q41 0 70.5 -29.5t29.5 -70.5v-800 q0 -41 -29.5 -70.5t-70.5 -29.5h-600q-1 0 -20 4l246 246l-326 326v324q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM412 250l-212 -212v162h-200v100h200v162z" />
|
||||
<glyph unicode="" d="M450 1100h100q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-300q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h50v50q0 21 14.5 35.5t35.5 14.5zM800 850v150q41 0 70.5 -29.5t29.5 -70.5v-500 h-200v-300h200q0 -36 -7 -57.5t-23.5 -30t-29.5 -10.5t-40 -2h-600q-41 0 -70.5 29.5t-29.5 70.5v800q0 41 29.5 70.5t70.5 29.5v-150q0 -62 44 -106t106 -44h300q62 0 106 44t44 106zM1212 250l-212 -212v162h-200v100h200v162z" />
|
||||
<glyph unicode="" d="M658 1197l637 -1104q23 -38 7 -65.5t-60 -27.5h-1276q-44 0 -60 27.5t7 65.5l637 1104q22 39 54 39t54 -39zM704 800h-208q-20 0 -32 -14.5t-8 -34.5l58 -302q4 -20 21.5 -34.5t37.5 -14.5h54q20 0 37.5 14.5t21.5 34.5l58 302q4 20 -8 34.5t-32 14.5zM500 300v-100h200 v100h-200z" />
|
||||
<glyph unicode="" d="M425 1100h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM825 800h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM25 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5zM425 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 500h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5 v150q0 10 7.5 17.5t17.5 7.5zM25 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM425 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5 t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM825 200h250q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-250q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M700 1200h100v-200h-100v-100h350q62 0 86.5 -39.5t-3.5 -94.5l-66 -132q-41 -83 -81 -134h-772q-40 51 -81 134l-66 132q-28 55 -3.5 94.5t86.5 39.5h350v100h-100v200h100v100h200v-100zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-12l137 -100 h-950l138 100h-13q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q40 0 68.5 -29.5t28.5 -70.5h-194q0 41 28.5 70.5t68.5 29.5zM443 1100h314q18 -37 18 -75q0 -8 -3 -25h328q41 0 44.5 -16.5t-30.5 -38.5l-175 -145h-678l-178 145q-34 22 -29 38.5t46 16.5h328q-3 17 -3 25q0 38 18 75zM250 700h700q21 0 35.5 -14.5 t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-150v-200l275 -200h-950l275 200v200h-150q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1181q75 0 128 -53t53 -128t-53 -128t-128 -53t-128 53t-53 128t53 128t128 53zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13 l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q47 0 92.5 -53.5t71 -123t25.5 -123.5q0 -78 -55.5 -133.5t-133.5 -55.5t-133.5 55.5t-55.5 133.5q0 62 34 143l144 -143l111 111l-163 163q34 26 63 26zM602 798h46q34 0 55.5 -28.5t21.5 -86.5q0 -76 39 -183h-324q39 107 39 183q0 58 21.5 86.5t56.5 28.5h45 zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1200l300 -161v-139h-300q0 -57 18.5 -108t50 -91.5t63 -72t70 -67.5t57.5 -61h-530q-60 83 -90.5 177.5t-30.5 178.5t33 164.5t87.5 139.5t126 96.5t145.5 41.5v-98zM250 400h700q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-13l138 -100h-950l137 100 h-12q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5zM50 100h1100q21 0 35.5 -14.5t14.5 -35.5v-50h-1200v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1300q41 0 70.5 -29.5t29.5 -70.5v-78q46 -26 73 -72t27 -100v-50h-400v50q0 54 27 100t73 72v78q0 41 29.5 70.5t70.5 29.5zM400 800h400q54 0 100 -27t72 -73h-172v-100h200v-100h-200v-100h200v-100h-200v-100h200q0 -83 -58.5 -141.5t-141.5 -58.5h-400 q-83 0 -141.5 58.5t-58.5 141.5v400q0 83 58.5 141.5t141.5 58.5z" />
|
||||
<glyph unicode="" d="M150 1100h900q21 0 35.5 -14.5t14.5 -35.5v-500q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v500q0 21 14.5 35.5t35.5 14.5zM125 400h950q10 0 17.5 -7.5t7.5 -17.5v-50q0 -10 -7.5 -17.5t-17.5 -7.5h-283l224 -224q13 -13 13 -31.5t-13 -32 t-31.5 -13.5t-31.5 13l-88 88h-524l-87 -88q-13 -13 -32 -13t-32 13.5t-13 32t13 31.5l224 224h-289q-10 0 -17.5 7.5t-7.5 17.5v50q0 10 7.5 17.5t17.5 7.5zM541 300l-100 -100h324l-100 100h-124z" />
|
||||
<glyph unicode="" d="M200 1100h800q83 0 141.5 -58.5t58.5 -141.5v-200h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100q0 41 -29.5 70.5t-70.5 29.5h-250q-41 0 -70.5 -29.5t-29.5 -70.5h-100v200q0 83 58.5 141.5t141.5 58.5zM100 600h1000q41 0 70.5 -29.5 t29.5 -70.5v-300h-1200v300q0 41 29.5 70.5t70.5 29.5zM300 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200zM1100 100v-50q0 -21 -14.5 -35.5t-35.5 -14.5h-100q-21 0 -35.5 14.5t-14.5 35.5v50h200z" />
|
||||
<glyph unicode="" d="M480 1165l682 -683q31 -31 31 -75.5t-31 -75.5l-131 -131h-481l-517 518q-32 31 -32 75.5t32 75.5l295 296q31 31 75.5 31t76.5 -31zM108 794l342 -342l303 304l-341 341zM250 100h800q21 0 35.5 -14.5t14.5 -35.5v-50h-900v50q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M1057 647l-189 506q-8 19 -27.5 33t-40.5 14h-400q-21 0 -40.5 -14t-27.5 -33l-189 -506q-8 -19 1.5 -33t30.5 -14h625v-150q0 -21 14.5 -35.5t35.5 -14.5t35.5 14.5t14.5 35.5v150h125q21 0 30.5 14t1.5 33zM897 0h-595v50q0 21 14.5 35.5t35.5 14.5h50v50 q0 21 14.5 35.5t35.5 14.5h48v300h200v-300h47q21 0 35.5 -14.5t14.5 -35.5v-50h50q21 0 35.5 -14.5t14.5 -35.5v-50z" />
|
||||
<glyph unicode="" d="M900 800h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-375v591l-300 300v84q0 10 7.5 17.5t17.5 7.5h375v-400zM1200 900h-200v200zM400 600h300v-575q0 -10 -7.5 -17.5t-17.5 -7.5h-650q-10 0 -17.5 7.5t-7.5 17.5v950q0 10 7.5 17.5t17.5 7.5h375v-400zM700 700h-200v200z " />
|
||||
<glyph unicode="" d="M484 1095h195q75 0 146 -32.5t124 -86t89.5 -122.5t48.5 -142q18 -14 35 -20q31 -10 64.5 6.5t43.5 48.5q10 34 -15 71q-19 27 -9 43q5 8 12.5 11t19 -1t23.5 -16q41 -44 39 -105q-3 -63 -46 -106.5t-104 -43.5h-62q-7 -55 -35 -117t-56 -100l-39 -234q-3 -20 -20 -34.5 t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l12 70q-49 -14 -91 -14h-195q-24 0 -65 8l-11 -64q-3 -20 -20 -34.5t-38 -14.5h-100q-21 0 -33 14.5t-9 34.5l26 157q-84 74 -128 175l-159 53q-19 7 -33 26t-14 40v50q0 21 14.5 35.5t35.5 14.5h124q11 87 56 166l-111 95 q-16 14 -12.5 23.5t24.5 9.5h203q116 101 250 101zM675 1000h-250q-10 0 -17.5 -7.5t-7.5 -17.5v-50q0 -10 7.5 -17.5t17.5 -7.5h250q10 0 17.5 7.5t7.5 17.5v50q0 10 -7.5 17.5t-17.5 7.5z" />
|
||||
<glyph unicode="" d="M641 900l423 247q19 8 42 2.5t37 -21.5l32 -38q14 -15 12.5 -36t-17.5 -34l-139 -120h-390zM50 1100h106q67 0 103 -17t66 -71l102 -212h823q21 0 35.5 -14.5t14.5 -35.5v-50q0 -21 -14 -40t-33 -26l-737 -132q-23 -4 -40 6t-26 25q-42 67 -100 67h-300q-62 0 -106 44 t-44 106v200q0 62 44 106t106 44zM173 928h-80q-19 0 -28 -14t-9 -35v-56q0 -51 42 -51h134q16 0 21.5 8t5.5 24q0 11 -16 45t-27 51q-18 28 -43 28zM550 727q-32 0 -54.5 -22.5t-22.5 -54.5t22.5 -54.5t54.5 -22.5t54.5 22.5t22.5 54.5t-22.5 54.5t-54.5 22.5zM130 389 l152 130q18 19 34 24t31 -3.5t24.5 -17.5t25.5 -28q28 -35 50.5 -51t48.5 -13l63 5l48 -179q13 -61 -3.5 -97.5t-67.5 -79.5l-80 -69q-47 -40 -109 -35.5t-103 51.5l-130 151q-40 47 -35.5 109.5t51.5 102.5zM380 377l-102 -88q-31 -27 2 -65l37 -43q13 -15 27.5 -19.5 t31.5 6.5l61 53q19 16 14 49q-2 20 -12 56t-17 45q-11 12 -19 14t-23 -8z" />
|
||||
<glyph unicode="" d="M625 1200h150q10 0 17.5 -7.5t7.5 -17.5v-109q79 -33 131 -87.5t53 -128.5q1 -46 -15 -84.5t-39 -61t-46 -38t-39 -21.5l-17 -6q6 0 15 -1.5t35 -9t50 -17.5t53 -30t50 -45t35.5 -64t14.5 -84q0 -59 -11.5 -105.5t-28.5 -76.5t-44 -51t-49.5 -31.5t-54.5 -16t-49.5 -6.5 t-43.5 -1v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-100v-75q0 -10 -7.5 -17.5t-17.5 -7.5h-150q-10 0 -17.5 7.5t-7.5 17.5v75h-175q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5h75v600h-75q-10 0 -17.5 7.5t-7.5 17.5v150 q0 10 7.5 17.5t17.5 7.5h175v75q0 10 7.5 17.5t17.5 7.5h150q10 0 17.5 -7.5t7.5 -17.5v-75h100v75q0 10 7.5 17.5t17.5 7.5zM400 900v-200h263q28 0 48.5 10.5t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-263zM400 500v-200h363q28 0 48.5 10.5 t30 25t15 29t5.5 25.5l1 10q0 4 -0.5 11t-6 24t-15 30t-30 24t-48.5 11h-363z" />
|
||||
<glyph unicode="" d="M212 1198h780q86 0 147 -61t61 -147v-416q0 -51 -18 -142.5t-36 -157.5l-18 -66q-29 -87 -93.5 -146.5t-146.5 -59.5h-572q-82 0 -147 59t-93 147q-8 28 -20 73t-32 143.5t-20 149.5v416q0 86 61 147t147 61zM600 1045q-70 0 -132.5 -11.5t-105.5 -30.5t-78.5 -41.5 t-57 -45t-36 -41t-20.5 -30.5l-6 -12l156 -243h560l156 243q-2 5 -6 12.5t-20 29.5t-36.5 42t-57 44.5t-79 42t-105 29.5t-132.5 12zM762 703h-157l195 261z" />
|
||||
<glyph unicode="" d="M475 1300h150q103 0 189 -86t86 -189v-500q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
||||
<glyph unicode="" d="M475 1300h96q0 -150 89.5 -239.5t239.5 -89.5v-446q0 -41 -42 -83t-83 -42h-450q-41 0 -83 42t-42 83v500q0 103 86 189t189 86zM700 300v-225q0 -21 -27 -48t-48 -27h-150q-21 0 -48 27t-27 48v225h300z" />
|
||||
<glyph unicode="" d="M1294 767l-638 -283l-378 170l-78 -60v-224l100 -150v-199l-150 148l-150 -149v200l100 150v250q0 4 -0.5 10.5t0 9.5t1 8t3 8t6.5 6l47 40l-147 65l642 283zM1000 380l-350 -166l-350 166v147l350 -165l350 165v-147z" />
|
||||
<glyph unicode="" d="M250 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM650 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM1050 800q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
||||
<glyph unicode="" d="M550 1100q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 700q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44zM550 300q62 0 106 -44t44 -106t-44 -106t-106 -44t-106 44t-44 106t44 106t106 44z" />
|
||||
<glyph unicode="" d="M125 1100h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5zM125 700h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5 t17.5 7.5zM125 300h950q10 0 17.5 -7.5t7.5 -17.5v-150q0 -10 -7.5 -17.5t-17.5 -7.5h-950q-10 0 -17.5 7.5t-7.5 17.5v150q0 10 7.5 17.5t17.5 7.5z" />
|
||||
<glyph unicode="" d="M350 1200h500q162 0 256 -93.5t94 -256.5v-500q0 -165 -93.5 -257.5t-256.5 -92.5h-500q-165 0 -257.5 92.5t-92.5 257.5v500q0 165 92.5 257.5t257.5 92.5zM900 1000h-600q-41 0 -70.5 -29.5t-29.5 -70.5v-600q0 -41 29.5 -70.5t70.5 -29.5h600q41 0 70.5 29.5 t29.5 70.5v600q0 41 -29.5 70.5t-70.5 29.5zM350 900h500q21 0 35.5 -14.5t14.5 -35.5v-300q0 -21 -14.5 -35.5t-35.5 -14.5h-500q-21 0 -35.5 14.5t-14.5 35.5v300q0 21 14.5 35.5t35.5 14.5zM400 800v-200h400v200h-400z" />
|
||||
<glyph unicode="" d="M150 1100h1000q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5t-35.5 -14.5h-50v-200h50q21 0 35.5 -14.5t14.5 -35.5t-14.5 -35.5 t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5h50v200h-50q-21 0 -35.5 14.5t-14.5 35.5t14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M650 1187q87 -67 118.5 -156t0 -178t-118.5 -155q-87 66 -118.5 155t0 178t118.5 156zM300 800q124 0 212 -88t88 -212q-124 0 -212 88t-88 212zM1000 800q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM300 500q124 0 212 -88t88 -212q-124 0 -212 88t-88 212z M1000 500q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM700 199v-144q0 -21 -14.5 -35.5t-35.5 -14.5t-35.5 14.5t-14.5 35.5v142q40 -4 43 -4q17 0 57 6z" />
|
||||
<glyph unicode="" d="M745 878l69 19q25 6 45 -12l298 -295q11 -11 15 -26.5t-2 -30.5q-5 -14 -18 -23.5t-28 -9.5h-8q1 0 1 -13q0 -29 -2 -56t-8.5 -62t-20 -63t-33 -53t-51 -39t-72.5 -14h-146q-184 0 -184 288q0 24 10 47q-20 4 -62 4t-63 -4q11 -24 11 -47q0 -288 -184 -288h-142 q-48 0 -84.5 21t-56 51t-32 71.5t-16 75t-3.5 68.5q0 13 2 13h-7q-15 0 -27.5 9.5t-18.5 23.5q-6 15 -2 30.5t15 25.5l298 296q20 18 46 11l76 -19q20 -5 30.5 -22.5t5.5 -37.5t-22.5 -31t-37.5 -5l-51 12l-182 -193h891l-182 193l-44 -12q-20 -5 -37.5 6t-22.5 31t6 37.5 t31 22.5z" />
|
||||
<glyph unicode="" d="M1200 900h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-200v-850q0 -22 25 -34.5t50 -13.5l25 -2v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v850h-200q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h1000v-300zM500 450h-25q0 15 -4 24.5t-9 14.5t-17 7.5t-20 3t-25 0.5h-100v-425q0 -11 12.5 -17.5t25.5 -7.5h12v-50h-200v50q50 0 50 25v425h-100q-17 0 -25 -0.5t-20 -3t-17 -7.5t-9 -14.5t-4 -24.5h-25v150h500v-150z" />
|
||||
<glyph unicode="" d="M1000 300v50q-25 0 -55 32q-14 14 -25 31t-16 27l-4 11l-289 747h-69l-300 -754q-18 -35 -39 -56q-9 -9 -24.5 -18.5t-26.5 -14.5l-11 -5v-50h273v50q-49 0 -78.5 21.5t-11.5 67.5l69 176h293l61 -166q13 -34 -3.5 -66.5t-55.5 -32.5v-50h312zM412 691l134 342l121 -342 h-255zM1100 150v-100q0 -21 -14.5 -35.5t-35.5 -14.5h-1000q-21 0 -35.5 14.5t-14.5 35.5v100q0 21 14.5 35.5t35.5 14.5h1000q21 0 35.5 -14.5t14.5 -35.5z" />
|
||||
<glyph unicode="" d="M50 1200h1100q21 0 35.5 -14.5t14.5 -35.5v-1100q0 -21 -14.5 -35.5t-35.5 -14.5h-1100q-21 0 -35.5 14.5t-14.5 35.5v1100q0 21 14.5 35.5t35.5 14.5zM611 1118h-70q-13 0 -18 -12l-299 -753q-17 -32 -35 -51q-18 -18 -56 -34q-12 -5 -12 -18v-50q0 -8 5.5 -14t14.5 -6 h273q8 0 14 6t6 14v50q0 8 -6 14t-14 6q-55 0 -71 23q-10 14 0 39l63 163h266l57 -153q11 -31 -6 -55q-12 -17 -36 -17q-8 0 -14 -6t-6 -14v-50q0 -8 6 -14t14 -6h313q8 0 14 6t6 14v50q0 7 -5.5 13t-13.5 7q-17 0 -42 25q-25 27 -40 63h-1l-288 748q-5 12 -19 12zM639 611 h-197l103 264z" />
|
||||
<glyph unicode="" d="M1200 1100h-1200v100h1200v-100zM50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 1000h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM700 900v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M50 1200h400q21 0 35.5 -14.5t14.5 -35.5v-900q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v900q0 21 14.5 35.5t35.5 14.5zM650 700h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400 q0 21 14.5 35.5t35.5 14.5zM700 600v-300h300v300h-300zM1200 0h-1200v100h1200v-100z" />
|
||||
<glyph unicode="" d="M50 1000h400q21 0 35.5 -14.5t14.5 -35.5v-350h100v150q0 21 14.5 35.5t35.5 14.5h400q21 0 35.5 -14.5t14.5 -35.5v-150h100v-100h-100v-150q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v150h-100v-350q0 -21 -14.5 -35.5t-35.5 -14.5h-400 q-21 0 -35.5 14.5t-14.5 35.5v800q0 21 14.5 35.5t35.5 14.5zM700 700v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M100 0h-100v1200h100v-1200zM250 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM300 1000v-300h300v300h-300zM250 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M600 1100h150q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-100h450q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h350v100h-150q-21 0 -35.5 14.5 t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5h150v100h100v-100zM400 1000v-300h300v300h-300z" />
|
||||
<glyph unicode="" d="M1200 0h-100v1200h100v-1200zM550 1100h400q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-400q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM600 1000v-300h300v300h-300zM50 500h900q21 0 35.5 -14.5t14.5 -35.5v-400 q0 -21 -14.5 -35.5t-35.5 -14.5h-900q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5z" />
|
||||
<glyph unicode="" d="M865 565l-494 -494q-23 -23 -41 -23q-14 0 -22 13.5t-8 38.5v1000q0 25 8 38.5t22 13.5q18 0 41 -23l494 -494q14 -14 14 -35t-14 -35z" />
|
||||
<glyph unicode="" d="M335 635l494 494q29 29 50 20.5t21 -49.5v-1000q0 -41 -21 -49.5t-50 20.5l-494 494q-14 14 -14 35t14 35z" />
|
||||
<glyph unicode="" d="M100 900h1000q41 0 49.5 -21t-20.5 -50l-494 -494q-14 -14 -35 -14t-35 14l-494 494q-29 29 -20.5 50t49.5 21z" />
|
||||
<glyph unicode="" d="M635 865l494 -494q29 -29 20.5 -50t-49.5 -21h-1000q-41 0 -49.5 21t20.5 50l494 494q14 14 35 14t35 -14z" />
|
||||
<glyph unicode="" d="M700 741v-182l-692 -323v221l413 193l-413 193v221zM1200 0h-800v200h800v-200z" />
|
||||
<glyph unicode="" d="M1200 900h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300zM0 700h50q0 21 4 37t9.5 26.5t18 17.5t22 11t28.5 5.5t31 2t37 0.5h100v-550q0 -22 -25 -34.5t-50 -13.5l-25 -2v-100h400v100q-4 0 -11 0.5t-24 3t-30 7t-24 15t-11 24.5v550h100q25 0 37 -0.5t31 -2 t28.5 -5.5t22 -11t18 -17.5t9.5 -26.5t4 -37h50v300h-800v-300z" />
|
||||
<glyph unicode="" d="M800 700h-50q0 21 -4 37t-9.5 26.5t-18 17.5t-22 11t-28.5 5.5t-31 2t-37 0.5h-100v-550q0 -22 25 -34.5t50 -14.5l25 -1v-100h-400v100q4 0 11 0.5t24 3t30 7t24 15t11 24.5v550h-100q-25 0 -37 -0.5t-31 -2t-28.5 -5.5t-22 -11t-18 -17.5t-9.5 -26.5t-4 -37h-50v300 h800v-300zM1100 200h-200v-100h200v-100h-300v300h200v100h-200v100h300v-300z" />
|
||||
<glyph unicode="" d="M701 1098h160q16 0 21 -11t-7 -23l-464 -464l464 -464q12 -12 7 -23t-21 -11h-160q-13 0 -23 9l-471 471q-7 8 -7 18t7 18l471 471q10 9 23 9z" />
|
||||
<glyph unicode="" d="M339 1098h160q13 0 23 -9l471 -471q7 -8 7 -18t-7 -18l-471 -471q-10 -9 -23 -9h-160q-16 0 -21 11t7 23l464 464l-464 464q-12 12 -7 23t21 11z" />
|
||||
<glyph unicode="" d="M1087 882q11 -5 11 -21v-160q0 -13 -9 -23l-471 -471q-8 -7 -18 -7t-18 7l-471 471q-9 10 -9 23v160q0 16 11 21t23 -7l464 -464l464 464q12 12 23 7z" />
|
||||
<glyph unicode="" d="M618 993l471 -471q9 -10 9 -23v-160q0 -16 -11 -21t-23 7l-464 464l-464 -464q-12 -12 -23 -7t-11 21v160q0 13 9 23l471 471q8 7 18 7t18 -7z" />
|
||||
<glyph unicode="" d="M1000 1200q0 -124 -88 -212t-212 -88q0 124 88 212t212 88zM450 1000h100q21 0 40 -14t26 -33l79 -194q5 1 16 3q34 6 54 9.5t60 7t65.5 1t61 -10t56.5 -23t42.5 -42t29 -64t5 -92t-19.5 -121.5q-1 -7 -3 -19.5t-11 -50t-20.5 -73t-32.5 -81.5t-46.5 -83t-64 -70 t-82.5 -50q-13 -5 -42 -5t-65.5 2.5t-47.5 2.5q-14 0 -49.5 -3.5t-63 -3.5t-43.5 7q-57 25 -104.5 78.5t-75 111.5t-46.5 112t-26 90l-7 35q-15 63 -18 115t4.5 88.5t26 64t39.5 43.5t52 25.5t58.5 13t62.5 2t59.5 -4.5t55.5 -8l-147 192q-12 18 -5.5 30t27.5 12z" />
|
||||
<glyph unicode="🔑" d="M250 1200h600q21 0 35.5 -14.5t14.5 -35.5v-400q0 -21 -14.5 -35.5t-35.5 -14.5h-150v-500l-255 -178q-19 -9 -32 -1t-13 29v650h-150q-21 0 -35.5 14.5t-14.5 35.5v400q0 21 14.5 35.5t35.5 14.5zM400 1100v-100h300v100h-300z" />
|
||||
<glyph unicode="🚪" d="M250 1200h750q39 0 69.5 -40.5t30.5 -84.5v-933l-700 -117v950l600 125h-700v-1000h-100v1025q0 23 15.5 49t34.5 26zM500 525v-100l100 20v100z" />
|
||||
</font>
|
||||
</defs></svg>
|
Before Width: | Height: | Size: 62 KiB After Width: | Height: | Size: 106 KiB |
Binary file not shown.
Binary file not shown.
BIN
styles/bootstrap/fonts/glyphicons-halflings-regular.woff2
Normal file
BIN
styles/bootstrap/fonts/glyphicons-halflings-regular.woff2
Normal file
Binary file not shown.
2377
styles/bootstrap/js/bootstrap.js
vendored
Normal file
2377
styles/bootstrap/js/bootstrap.js
vendored
Normal file
File diff suppressed because it is too large
Load diff
10
styles/bootstrap/js/bootstrap.min.js
vendored
10
styles/bootstrap/js/bootstrap.min.js
vendored
File diff suppressed because one or more lines are too long
13
styles/bootstrap/js/npm.js
Normal file
13
styles/bootstrap/js/npm.js
Normal file
|
@ -0,0 +1,13 @@
|
|||
// This file is autogenerated via the `commonjs` Grunt task. You can require() this file in a CommonJS environment.
|
||||
require('../../js/transition.js')
|
||||
require('../../js/alert.js')
|
||||
require('../../js/button.js')
|
||||
require('../../js/carousel.js')
|
||||
require('../../js/collapse.js')
|
||||
require('../../js/dropdown.js')
|
||||
require('../../js/modal.js')
|
||||
require('../../js/tooltip.js')
|
||||
require('../../js/popover.js')
|
||||
require('../../js/scrollspy.js')
|
||||
require('../../js/tab.js')
|
||||
require('../../js/affix.js')
|
|
@ -23,458 +23,477 @@
|
|||
*/
|
||||
|
||||
// BBCode control
|
||||
function BBCode(obj)
|
||||
{
|
||||
textarea = document.getElementById(obj);
|
||||
this.construct(textarea);
|
||||
function BBCode(obj) {
|
||||
var textarea = document.getElementById(obj);
|
||||
this.construct(textarea);
|
||||
}
|
||||
|
||||
BBCode.prototype = {
|
||||
VK_TAB: 9,
|
||||
VK_ENTER: 13,
|
||||
VK_PAGE_UP: 33,
|
||||
BRK_OP: '[',
|
||||
BRK_CL: ']',
|
||||
textarea: null,
|
||||
stext: '',
|
||||
quoter: null,
|
||||
qouted_pid: null,
|
||||
collapseAfterInsert: false,
|
||||
replaceOnInsert: false,
|
||||
VK_TAB: 9,
|
||||
VK_ENTER: 13,
|
||||
VK_PAGE_UP: 33,
|
||||
BRK_OP: '[',
|
||||
BRK_CL: ']',
|
||||
textarea: null,
|
||||
stext: '',
|
||||
quoter: null,
|
||||
qouted_pid: null,
|
||||
collapseAfterInsert: false,
|
||||
replaceOnInsert: false,
|
||||
|
||||
// Create new BBCode control
|
||||
construct: function(textarea) {
|
||||
this.textarea = textarea;
|
||||
this.tags = new Object();
|
||||
// Tag for quoting
|
||||
this.addTag(
|
||||
'_quoter',
|
||||
function() { return '[quote="'+th.quoter+'"][qpost='+th.qouted_pid+']' },
|
||||
'[/quote]\n',
|
||||
null,
|
||||
null,
|
||||
function() { th.collapseAfterInsert=true; return th._prepareMultiline(th.quoterText) }
|
||||
);
|
||||
// Create new BBCode control
|
||||
construct: function (textarea) {
|
||||
this.textarea = textarea;
|
||||
this.tags = {};
|
||||
// Tag for quoting
|
||||
this.addTag(
|
||||
'_quoter',
|
||||
function () {
|
||||
return '[quote="' + th.quoter + '"][qpost=' + th.qouted_pid + ']'
|
||||
},
|
||||
'[/quote]\n',
|
||||
null,
|
||||
null,
|
||||
function () {
|
||||
th.collapseAfterInsert = true;
|
||||
return th._prepareMultiline(th.quoterText)
|
||||
}
|
||||
);
|
||||
|
||||
// Init events
|
||||
var th = this;
|
||||
addEvent(textarea, 'keydown', function(e) { return th.onKeyPress(e, window.HTMLElement? 'down' : 'press') });
|
||||
addEvent(textarea, 'keypress', function(e) { return th.onKeyPress(e, 'press') });
|
||||
},
|
||||
// Init events
|
||||
var th = this;
|
||||
addEvent(textarea, 'keydown', function (e) {
|
||||
return th.onKeyPress(e, window.HTMLElement ? 'down' : 'press')
|
||||
});
|
||||
addEvent(textarea, 'keypress', function (e) {
|
||||
return th.onKeyPress(e, 'press')
|
||||
});
|
||||
},
|
||||
|
||||
// Insert poster name or poster quotes to the text
|
||||
onclickPoster: function(name, post_id) {
|
||||
var sel = this.getSelection()[0];
|
||||
if (sel) {
|
||||
this.quoter = name;
|
||||
this.qouted_pid = post_id;
|
||||
this.quoterText = sel;
|
||||
this.insertTag('_quoter');
|
||||
} else {
|
||||
this.insertAtCursor("[b]" + name + '[/b], ');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
// Insert poster name or poster quotes to the text
|
||||
onclickPoster: function (name, post_id) {
|
||||
var sel = this.getSelection()[0];
|
||||
if (sel) {
|
||||
this.quoter = name;
|
||||
this.qouted_pid = post_id;
|
||||
this.quoterText = sel;
|
||||
this.insertTag('_quoter');
|
||||
} else {
|
||||
this.insertAtCursor("[b]" + name + '[/b], ');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
// Quote selected text
|
||||
onclickQuoteSel: function() {
|
||||
var sel = this.getSelection()[0];
|
||||
if (sel) {
|
||||
this.insertAtCursor('[quote]' + sel + '[/quote]\n');
|
||||
}
|
||||
else {
|
||||
alert('Вы не выбрали текст');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
// Quote selected text
|
||||
onclickQuoteSel: function () {
|
||||
var sel = this.getSelection()[0];
|
||||
if (sel) {
|
||||
this.insertAtCursor('[quote]' + sel + '[/quote]\n');
|
||||
}
|
||||
else {
|
||||
alert('Вы не выбрали текст');
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
// Quote selected text
|
||||
emoticon: function(em) {
|
||||
if (em) {
|
||||
this.insertAtCursor(' ' + em + ' ');
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
// Quote selected text
|
||||
emoticon: function (em) {
|
||||
if (em) {
|
||||
this.insertAtCursor(' ' + em + ' ');
|
||||
}
|
||||
else {
|
||||
return false;
|
||||
}
|
||||
return false;
|
||||
},
|
||||
|
||||
// Return current selection and range (if exists)
|
||||
getSelection: function() {
|
||||
var w = window;
|
||||
var text='', range;
|
||||
if (w.getSelection) {
|
||||
text = w.getSelection();
|
||||
} else {
|
||||
return [null, null];
|
||||
}
|
||||
if (text == '') text = this.stext;
|
||||
text = ""+text;
|
||||
text = text.replace("/^\s+|\s+$/g", "");
|
||||
return [text, range];
|
||||
},
|
||||
// Return current selection and range (if exists)
|
||||
getSelection: function () {
|
||||
var w = window;
|
||||
var text = '', range;
|
||||
if (w.getSelection) {
|
||||
text = w.getSelection();
|
||||
} else {
|
||||
return [null, null];
|
||||
}
|
||||
if (text === '') text = this.stext;
|
||||
text = "" + text;
|
||||
text = text.replace("/^\s+|\s+$/g", "");
|
||||
return [text, range];
|
||||
},
|
||||
|
||||
// Insert string at cursor position of textarea
|
||||
insertAtCursor: function(text) {
|
||||
// Focus is placed to textarea
|
||||
var t = this.textarea;
|
||||
t.focus();
|
||||
// Insert the string
|
||||
if (document.selection && document.selection.createRange) {
|
||||
var r = document.selection.createRange();
|
||||
if (!this.replaceOnInsert) r.collapse();
|
||||
r.text = text;
|
||||
} else if (t.setSelectionRange) {
|
||||
var start = this.replaceOnInsert? t.selectionStart : t.selectionEnd;
|
||||
var end = t.selectionEnd;
|
||||
var sel1 = t.value.substr(0, start);
|
||||
var sel2 = t.value.substr(end);
|
||||
t.value = sel1 + text + sel2;
|
||||
t.setSelectionRange(start+text.length, start+text.length);
|
||||
} else{
|
||||
t.value += text;
|
||||
}
|
||||
// For IE
|
||||
setTimeout(function() { t.focus() }, 100);
|
||||
},
|
||||
// Insert string at cursor position of textarea
|
||||
insertAtCursor: function (text) {
|
||||
// Focus is placed to textarea
|
||||
var t = this.textarea;
|
||||
t.focus();
|
||||
// Insert the string
|
||||
if (document.selection && document.selection.createRange) {
|
||||
var r = document.selection.createRange();
|
||||
if (!this.replaceOnInsert) r.collapse();
|
||||
r.text = text;
|
||||
} else if (t.setSelectionRange) {
|
||||
var start = this.replaceOnInsert ? t.selectionStart : t.selectionEnd;
|
||||
var end = t.selectionEnd;
|
||||
var sel1 = t.value.substr(0, start);
|
||||
var sel2 = t.value.substr(end);
|
||||
t.value = sel1 + text + sel2;
|
||||
t.setSelectionRange(start + text.length, start + text.length);
|
||||
} else {
|
||||
t.value += text;
|
||||
}
|
||||
// For IE
|
||||
setTimeout(function () {
|
||||
t.focus()
|
||||
}, 100);
|
||||
},
|
||||
|
||||
// Surround piece of textarea text with tags
|
||||
surround: function(open, close, fTrans) {
|
||||
var t = this.textarea;
|
||||
t.focus();
|
||||
if (!fTrans) fTrans = function(t) { return t; };
|
||||
// Surround piece of textarea text with tags
|
||||
surround: function (open, close, fTrans) {
|
||||
var t = this.textarea;
|
||||
t.focus();
|
||||
if (!fTrans) fTrans = function (t) {
|
||||
return t;
|
||||
};
|
||||
|
||||
var rt = this.getSelection();
|
||||
var text = rt[0];
|
||||
var range = rt[1];
|
||||
if (text == null) return false;
|
||||
var rt = this.getSelection();
|
||||
var text = rt[0];
|
||||
var range = rt[1];
|
||||
if (text === null) return false;
|
||||
|
||||
var notEmpty = text != null && text != '';
|
||||
var notEmpty = text !== null && text !== '';
|
||||
|
||||
// Surround
|
||||
if (range) {
|
||||
var notEmpty = text != null && text != '';
|
||||
var newText = open + fTrans(text) + (close? close : '');
|
||||
range.text = newText;
|
||||
range.collapse();
|
||||
if (text != '') {
|
||||
// Correction for stupid IE: \r for moveStart is 0 character
|
||||
var delta = 0;
|
||||
for (var i=0; i<newText.length; i++) if (newText.charAt(i)=='\r') delta++;
|
||||
range.moveStart("character", -close.length-text.length-open.length+delta);
|
||||
range.moveEnd("character", -0);
|
||||
} else {
|
||||
range.moveEnd("character", -close.length);
|
||||
}
|
||||
if (!this.collapseAfterInsert) range.select();
|
||||
} else if (t.setSelectionRange) {
|
||||
var start = t.selectionStart;
|
||||
var end = t.selectionEnd;
|
||||
var top = t.scrollTop;
|
||||
var sel1 = t.value.substr(0, start);
|
||||
var sel2 = t.value.substr(end);
|
||||
var sel = fTrans(t.value.substr(start, end-start));
|
||||
var inner = open + sel + close;
|
||||
t.value = sel1 + inner + sel2;
|
||||
if (sel != '') {
|
||||
t.setSelectionRange(start, start+inner.length);
|
||||
notEmpty = true;
|
||||
} else {
|
||||
t.setSelectionRange(start+open.length, start+open.length);
|
||||
notEmpty = false;
|
||||
}
|
||||
t.scrollTop = top;
|
||||
if (this.collapseAfterInsert) t.setSelectionRange(start+inner.length, start+inner.length);
|
||||
} else {
|
||||
t.value += open + text + close;
|
||||
}
|
||||
this.collapseAfterInsert = false;
|
||||
return notEmpty;
|
||||
},
|
||||
// Surround
|
||||
if (range) {
|
||||
var newText = open + fTrans(text) + (close ? close : '');
|
||||
range.text = newText;
|
||||
range.collapse();
|
||||
if (text !== '') {
|
||||
// Correction for stupid IE: \r for moveStart is 0 character
|
||||
var delta = 0;
|
||||
for (var i = 0; i < newText.length; i++) if (newText.charAt(i) === '\r') delta++;
|
||||
range.moveStart("character", -close.length - text.length - open.length + delta);
|
||||
range.moveEnd("character", -0);
|
||||
} else {
|
||||
range.moveEnd("character", -close.length);
|
||||
}
|
||||
if (!this.collapseAfterInsert) range.select();
|
||||
} else if (t.setSelectionRange) {
|
||||
var start = t.selectionStart;
|
||||
var end = t.selectionEnd;
|
||||
var top = t.scrollTop;
|
||||
var sel1 = t.value.substr(0, start);
|
||||
var sel2 = t.value.substr(end);
|
||||
var sel = fTrans(t.value.substr(start, end - start));
|
||||
var inner = open + sel + close;
|
||||
t.value = sel1 + inner + sel2;
|
||||
if (sel !== '') {
|
||||
t.setSelectionRange(start, start + inner.length);
|
||||
notEmpty = true;
|
||||
} else {
|
||||
t.setSelectionRange(start + open.length, start + open.length);
|
||||
notEmpty = false;
|
||||
}
|
||||
t.scrollTop = top;
|
||||
if (this.collapseAfterInsert) t.setSelectionRange(start + inner.length, start + inner.length);
|
||||
} else {
|
||||
t.value += open + text + close;
|
||||
}
|
||||
this.collapseAfterInsert = false;
|
||||
return notEmpty;
|
||||
},
|
||||
|
||||
// Internal function for cross-browser event cancellation.
|
||||
_cancelEvent: function(e) {
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
if (e.stopPropagation) e.stopPropagation();
|
||||
return e.returnValue = false;
|
||||
},
|
||||
// Internal function for cross-browser event cancellation.
|
||||
_cancelEvent: function (e) {
|
||||
if (e.preventDefault) e.preventDefault();
|
||||
if (e.stopPropagation) e.stopPropagation();
|
||||
return e.returnValue = false;
|
||||
},
|
||||
|
||||
// Available key combinations and these interpretaions for BB are
|
||||
// TAB - Insert TAB char
|
||||
// CTRL-TAB - Next form field (usual TAB)
|
||||
// SHIFT-ALT-PAGEUP - Add an Attachment
|
||||
// ALT-ENTER - Preview
|
||||
// CTRL-ENTER - Submit
|
||||
onKeyPress: function(e, type) {
|
||||
// Try to match all the hot keys.
|
||||
var key = String.fromCharCode(e.keyCode? e.keyCode : e.charCode);
|
||||
for (var id in this.tags) {
|
||||
var tag = this.tags[id];
|
||||
// Pressed control key?
|
||||
if (tag.ctrlKey && !e[tag.ctrlKey+"Key"]) continue;
|
||||
// Pressed needed key?
|
||||
if (!tag.key || key.toUpperCase() != tag.key.toUpperCase()) continue;
|
||||
// Insert
|
||||
if (e.type == "keydown") this.insertTag(id);
|
||||
// Reset event
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
// Available key combinations and these interpretaions for BB are
|
||||
// TAB - Insert TAB char
|
||||
// CTRL-TAB - Next form field (usual TAB)
|
||||
// SHIFT-ALT-PAGEUP - Add an Attachment
|
||||
// ALT-ENTER - Preview
|
||||
// CTRL-ENTER - Submit
|
||||
onKeyPress: function (e, type) {
|
||||
// Try to match all the hot keys.
|
||||
var key = String.fromCharCode(e.keyCode ? e.keyCode : e.charCode);
|
||||
for (var id in this.tags) {
|
||||
var tag = this.tags[id];
|
||||
// Pressed control key?
|
||||
if (tag.ctrlKey && !e[tag.ctrlKey + "Key"]) continue;
|
||||
// Pressed needed key?
|
||||
if (!tag.key || key.toUpperCase() !== tag.key.toUpperCase()) continue;
|
||||
// Insert
|
||||
if (e.type === "keydown") this.insertTag(id);
|
||||
// Reset event
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
|
||||
// Tab
|
||||
if (type == 'press' && e.keyCode == this.VK_TAB && !e.shiftKey && !e.ctrlKey && !e.altKey) {
|
||||
this.insertAtCursor('[tab]');
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
// Tab
|
||||
if (type === 'press' && e.keyCode === this.VK_TAB && !e.shiftKey && !e.ctrlKey && !e.altKey) {
|
||||
this.insertAtCursor('[tab]');
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
|
||||
// Ctrl+Tab
|
||||
if (e.keyCode == this.VK_TAB && !e.shiftKey && e.ctrlKey && !e.altKey) {
|
||||
this.textarea.form.post.focus();
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
// Ctrl+Tab
|
||||
if (e.keyCode === this.VK_TAB && !e.shiftKey && e.ctrlKey && !e.altKey) {
|
||||
this.textarea.form.post.focus();
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
|
||||
// Hot keys
|
||||
var form = this.textarea.form;
|
||||
var submitter = null;
|
||||
if (e.keyCode == this.VK_PAGE_UP && e.shiftKey && !e.ctrlKey && e.altKey)
|
||||
submitter = form.add_attachment_box;
|
||||
if (e.keyCode == this.VK_ENTER &&!e.shiftKey && !e.ctrlKey && e.altKey)
|
||||
submitter = form.preview;
|
||||
if (e.keyCode == this.VK_ENTER && !e.shiftKey && e.ctrlKey && !e.altKey)
|
||||
submitter = form.post;
|
||||
if (submitter) {
|
||||
submitter.click();
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
// Hot keys
|
||||
var form = this.textarea.form;
|
||||
var submitter = null;
|
||||
if (e.keyCode === this.VK_PAGE_UP && e.shiftKey && !e.ctrlKey && e.altKey)
|
||||
submitter = form.add_attachment_box;
|
||||
if (e.keyCode === this.VK_ENTER && !e.shiftKey && !e.ctrlKey && e.altKey)
|
||||
submitter = form.preview;
|
||||
if (e.keyCode === this.VK_ENTER && !e.shiftKey && e.ctrlKey && !e.altKey)
|
||||
submitter = form.post;
|
||||
if (submitter) {
|
||||
submitter.click();
|
||||
return this._cancelEvent(e);
|
||||
}
|
||||
|
||||
return true;
|
||||
},
|
||||
return true;
|
||||
},
|
||||
|
||||
// Adds a BB tag to the list
|
||||
addTag: function(id, open, close, key, ctrlKey, multiline) {
|
||||
if (!ctrlKey) ctrlKey = "ctrl";
|
||||
var tag = new Object();
|
||||
tag.id = id;
|
||||
tag.open = open;
|
||||
tag.close = close;
|
||||
tag.key = key;
|
||||
tag.ctrlKey = ctrlKey;
|
||||
tag.multiline = multiline;
|
||||
tag.elt = this.textarea.form[id];
|
||||
this.tags[id] = tag;
|
||||
// Setup events
|
||||
var elt = tag.elt;
|
||||
if (elt) {
|
||||
var th = this;
|
||||
if (elt.type && elt.type.toUpperCase()=="BUTTON") {
|
||||
addEvent(elt, 'click', function() { th.insertTag(id); return false; });
|
||||
}
|
||||
if (elt.tagName && elt.tagName.toUpperCase()=="SELECT") {
|
||||
addEvent(elt, 'change', function() { th.insertTag(id); return false; });
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
if (id && id.indexOf('_') != 0) return alert("addTag('"+id+"'): no such element in the form");
|
||||
}
|
||||
},
|
||||
// Adds a BB tag to the list
|
||||
addTag: function (id, open, close, key, ctrlKey, multiline) {
|
||||
if (!ctrlKey) ctrlKey = "ctrl";
|
||||
var tag = {};
|
||||
tag.id = id;
|
||||
tag.open = open;
|
||||
tag.close = close;
|
||||
tag.key = key;
|
||||
tag.ctrlKey = ctrlKey;
|
||||
tag.multiline = multiline;
|
||||
tag.elt = this.textarea.form[id];
|
||||
this.tags[id] = tag;
|
||||
// Setup events
|
||||
var elt = tag.elt;
|
||||
if (elt) {
|
||||
var th = this;
|
||||
if (elt.type && elt.type.toUpperCase() === "BUTTON") {
|
||||
addEvent(elt, 'click', function () {
|
||||
th.insertTag(id);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
if (elt.tagName && elt.tagName.toUpperCase() === "SELECT") {
|
||||
addEvent(elt, 'change', function () {
|
||||
th.insertTag(id);
|
||||
return false;
|
||||
});
|
||||
}
|
||||
}
|
||||
else {
|
||||
if (id && id.indexOf('_') !== 0) return alert("addTag('" + id + "'): no such element in the form");
|
||||
}
|
||||
},
|
||||
|
||||
// Inserts the tag with specified ID
|
||||
insertTag: function(id) {
|
||||
// Find tag
|
||||
var tag = this.tags[id];
|
||||
if (!tag) return alert("Unknown tag ID: "+id);
|
||||
// Inserts the tag with specified ID
|
||||
insertTag: function (id) {
|
||||
// Find tag
|
||||
var tag = this.tags[id];
|
||||
if (!tag) return alert("Unknown tag ID: " + id);
|
||||
|
||||
// Open tag is generated by callback?
|
||||
var op = tag.open;
|
||||
if (typeof(tag.open) == "function") op = tag.open(tag.elt);
|
||||
var cl = tag.close!=null? tag.close : "/"+op;
|
||||
// Open tag is generated by callback?
|
||||
var op = tag.open;
|
||||
if (typeof(tag.open) === "function") op = tag.open(tag.elt);
|
||||
var cl = tag.close !== null ? tag.close : "/" + op;
|
||||
|
||||
// Use "[" if needed
|
||||
if (op.charAt(0) != this.BRK_OP) op = this.BRK_OP+op+this.BRK_CL;
|
||||
if (cl && cl.charAt(0) != this.BRK_OP) cl = this.BRK_OP+cl+this.BRK_CL;
|
||||
// Use "[" if needed
|
||||
if (op.charAt(0) !== this.BRK_OP) op = this.BRK_OP + op + this.BRK_CL;
|
||||
if (cl && cl.charAt(0) !== this.BRK_OP) cl = this.BRK_OP + cl + this.BRK_CL;
|
||||
|
||||
this.surround(op, cl, !tag.multiline? null : tag.multiline===true? this._prepareMultiline : tag.multiline);
|
||||
},
|
||||
this.surround(op, cl, !tag.multiline ? null : tag.multiline === true ? this._prepareMultiline : tag.multiline);
|
||||
},
|
||||
|
||||
_prepareMultiline: function(text) {
|
||||
text = text.replace(/\s+$/, '');
|
||||
text = text.replace(/^([ \t]*\r?\n)+/, '');
|
||||
if (text.indexOf("\n") >= 0) text = "\n" + text + "\n";
|
||||
return text;
|
||||
}
|
||||
_prepareMultiline: function (text) {
|
||||
text = text.replace(/\s+$/, '');
|
||||
text = text.replace(/^([ \t]*\r?\n)+/, '');
|
||||
if (text.indexOf("\n") >= 0) text = "\n" + text + "\n";
|
||||
return text;
|
||||
}
|
||||
};
|
||||
|
||||
// Emulation of innerText for Mozilla.
|
||||
if (window.HTMLElement && window.HTMLElement.prototype.__defineSetter__) {
|
||||
HTMLElement.prototype.__defineSetter__("innerText", function (sText) {
|
||||
this.innerHTML = sText.replace(/\&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
||||
});
|
||||
HTMLElement.prototype.__defineGetter__("innerText", function () {
|
||||
var r = this.ownerDocument.createRange();
|
||||
r.selectNodeContents(this);
|
||||
return r.toString();
|
||||
});
|
||||
HTMLElement.prototype.__defineSetter__("innerText", function (sText) {
|
||||
this.innerHTML = sText.replace(/\&/g, "&").replace(/</g, "<").replace(/>/g, ">");
|
||||
});
|
||||
HTMLElement.prototype.__defineGetter__("innerText", function () {
|
||||
var r = this.ownerDocument.createRange();
|
||||
r.selectNodeContents(this);
|
||||
return r.toString();
|
||||
});
|
||||
}
|
||||
|
||||
function AddSelectedText(BBOpen, BBClose) {
|
||||
if (document.post.message.caretPos) document.post.message.caretPos.text = BBOpen + document.post.message.caretPos.text + BBClose;
|
||||
else document.post.message.value += BBOpen + BBClose;
|
||||
document.post.message.focus()
|
||||
if (document.post.message.caretPos) document.post.message.caretPos.text = BBOpen + document.post.message.caretPos.text + BBClose;
|
||||
else document.post.message.value += BBOpen + BBClose;
|
||||
document.post.message.focus()
|
||||
}
|
||||
|
||||
function InsertBBCode(BBcode)
|
||||
{
|
||||
AddSelectedText('[' + BBcode + ']','[/' + BBcode + ']');
|
||||
function InsertBBCode(BBcode) {
|
||||
AddSelectedText('[' + BBcode + ']', '[/' + BBcode + ']');
|
||||
}
|
||||
|
||||
function storeCaret(textEl) {
|
||||
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
|
||||
if (textEl.createTextRange) textEl.caretPos = document.selection.createRange().duplicate();
|
||||
}
|
||||
|
||||
function initPostBBCode(context)
|
||||
{
|
||||
$('span.post-hr', context).html('<hr align="left" />');
|
||||
initCodes(context);
|
||||
initQuotes(context);
|
||||
initExternalLinks(context);
|
||||
initPostImages(context);
|
||||
initSpoilers(context);
|
||||
initMedia(context);
|
||||
function initPostBBCode(context) {
|
||||
$('span.post-hr', context).html('<hr align="left" />');
|
||||
initCodes(context);
|
||||
initQuotes(context);
|
||||
initExternalLinks(context);
|
||||
initPostImages(context);
|
||||
initSpoilers(context);
|
||||
initMedia(context);
|
||||
}
|
||||
|
||||
function initCodes(context)
|
||||
{
|
||||
$('div.c-body', context).each(function(){
|
||||
var $c = $(this);
|
||||
$c.before('<div class="c-head"><b>'+bbl['code']+':</b></div>');
|
||||
});
|
||||
function initCodes(context) {
|
||||
$('div.c-body', context).each(function () {
|
||||
var $c = $(this);
|
||||
$c.before('<div class="c-head"><b>' + bbl['code'] + ':</b></div>');
|
||||
});
|
||||
}
|
||||
|
||||
function initQuotes(context)
|
||||
{
|
||||
$('div.q', context).each(function(){
|
||||
var $q = $(this);
|
||||
var name = $(this).attr('head');
|
||||
var q_title = (name ? '<b>'+name+'</b> '+bbl['wrote']+':' : '<b>'+bbl['quote']+'</b>');
|
||||
if ( quoted_pid = $q.children('u.q-post:first').text() ) {
|
||||
var on_this_page = $('#post_'+quoted_pid).length;
|
||||
var href = (on_this_page) ? '#'+ quoted_pid : './viewtopic.php?p='+ quoted_pid +'#'+ quoted_pid;
|
||||
q_title += ' <a href="'+ href +'" title="'+bbl['quoted_post']+'"><img src="'+bb_url+'styles/templates/default/images/icon_latest_reply.gif" class="icon2" alt="" /></a>';
|
||||
}
|
||||
$q.before('<div class="q-head">'+ q_title +'</div>');
|
||||
});
|
||||
function initQuotes(context) {
|
||||
$('div.q', context).each(function () {
|
||||
var $q = $(this);
|
||||
var name = $(this).attr('head');
|
||||
var q_title = (name ? '<b>' + name + '</b> ' + bbl['wrote'] + ':' : '<b>' + bbl['quote'] + '</b>');
|
||||
if (quoted_pid = $q.children('u.q-post:first').text()) {
|
||||
var on_this_page = $('#post_' + quoted_pid).length;
|
||||
var href = (on_this_page) ? '#' + quoted_pid : './viewtopic.php?p=' + quoted_pid + '#' + quoted_pid;
|
||||
q_title += ' <a href="' + href + '" title="' + bbl['quoted_post'] + '"><img src="' + bb_url + 'styles/templates/default/images/icon_latest_reply.gif" class="icon2" alt="" /></a>';
|
||||
}
|
||||
$q.before('<div class="q-head">' + q_title + '</div>');
|
||||
});
|
||||
}
|
||||
|
||||
function initPostImages(context)
|
||||
{
|
||||
if (hidePostImg) return;
|
||||
var $in_spoilers = $('div.sp-body var.postImg', context);
|
||||
$('var.postImg', context).not($in_spoilers).each(function(){
|
||||
var $v = $(this);
|
||||
var src = $v.attr('title');
|
||||
var $img = $('<img src="'+ src +'" class="'+ $v.attr('class') +'" alt="pic" />');
|
||||
$img = fixPostImage($img);
|
||||
var maxW = ($v.hasClass('postImgAligned')) ? postImgAligned_MaxWidth : postImg_MaxWidth;
|
||||
$img.bind('click', function(){ return imgFit(this, maxW); });
|
||||
if (user.opt_js.i_aft_l) {
|
||||
$('#preload').append($img);
|
||||
var loading_icon = '<a href="'+ src +'" target="_blank"><img src="'+bb_url+'styles/images/pic_loading.gif" alt="" /></a>';
|
||||
$v.html(loading_icon);
|
||||
if ($.browser.msie) {
|
||||
$v.after('<wbr>');
|
||||
}
|
||||
$img.one('load', function(){
|
||||
imgFit(this, maxW);
|
||||
$v.empty().append(this);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$img.one('load', function(){ imgFit(this, maxW) });
|
||||
$v.empty().append($img);
|
||||
if ($.browser.msie) {
|
||||
$v.after('<wbr>');
|
||||
}
|
||||
}
|
||||
});
|
||||
function initPostImages(context) {
|
||||
if (hidePostImg) return;
|
||||
var $in_spoilers = $('div.sp-body var.postImg', context);
|
||||
$('var.postImg', context).not($in_spoilers).each(function () {
|
||||
var $v = $(this);
|
||||
var src = $v.attr('title');
|
||||
var $img = $('<img src="' + src + '" class="' + $v.attr('class') + '" alt="pic" />');
|
||||
$img = fixPostImage($img);
|
||||
var maxW = ($v.hasClass('postImgAligned')) ? postImgAligned_MaxWidth : postImg_MaxWidth;
|
||||
$img.bind('click', function () {
|
||||
return imgFit(this, maxW);
|
||||
});
|
||||
if (user.opt_js.i_aft_l) {
|
||||
$('#preload').append($img);
|
||||
var loading_icon = '<a href="' + src + '" target="_blank"><img src="' + bb_url + 'styles/images/pic_loading.gif" alt="" /></a>';
|
||||
$v.html(loading_icon);
|
||||
if ($.browser.msie) {
|
||||
$v.after('<wbr>');
|
||||
}
|
||||
$img.one('load', function () {
|
||||
imgFit(this, maxW);
|
||||
$v.empty().append(this);
|
||||
});
|
||||
}
|
||||
else {
|
||||
$img.one('load', function () {
|
||||
imgFit(this, maxW)
|
||||
});
|
||||
$v.empty().append($img);
|
||||
if ($.browser.msie) {
|
||||
$v.after('<wbr>');
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
function initSpoilers(context)
|
||||
{
|
||||
$('div.sp-body', context).each(function(){
|
||||
var $sp_body = $(this);
|
||||
var name = $.trim(this.title) || ''+bbl['spoiler_head']+'';
|
||||
this.title = '';
|
||||
var $sp_head = $('<div class="sp-head folded clickable">'+ name +'</div>');
|
||||
$sp_head.insertBefore($sp_body).click(function(e){
|
||||
if (!$sp_body.hasClass('inited')) {
|
||||
initPostImages($sp_body);
|
||||
var $sp_fold_btn = $('<div class="sp-fold clickable">['+bbl['spoiler_close']+']</div>').click(function(){
|
||||
$.scrollTo($sp_head, { duration:200, axis:'y', offset:-200 });
|
||||
$sp_head.click().animate({opacity: 0.1}, 500).animate({opacity: 1}, 700);
|
||||
});
|
||||
$sp_body.prepend('<div class="clear"></div>').append('<div class="clear"></div>').append($sp_fold_btn).addClass('inited');
|
||||
}
|
||||
if (e.shiftKey) {
|
||||
e.stopPropagation();
|
||||
e.shiftKey = false;
|
||||
var fold = $(this).hasClass('unfolded');
|
||||
$('div.sp-head', $($sp_body.parents('td')[0])).filter( function(){ return $(this).hasClass('unfolded') ? fold : !fold } ).click();
|
||||
}
|
||||
else {
|
||||
$(this).toggleClass('unfolded');
|
||||
$sp_body.slideToggle('fast');
|
||||
}
|
||||
});
|
||||
});
|
||||
function initSpoilers(context) {
|
||||
$('div.sp-body', context).each(function () {
|
||||
var $sp_body = $(this);
|
||||
var name = $.trim(this.title) || '' + bbl['spoiler_head'] + '';
|
||||
this.title = '';
|
||||
var $sp_head = $('<div class="sp-head folded clickable">' + name + '</div>');
|
||||
$sp_head.insertBefore($sp_body).click(function (e) {
|
||||
if (!$sp_body.hasClass('inited')) {
|
||||
initPostImages($sp_body);
|
||||
var $sp_fold_btn = $('<div class="sp-fold clickable">[' + bbl['spoiler_close'] + ']</div>').click(function () {
|
||||
$.scrollTo($sp_head, {duration: 200, axis: 'y', offset: -200});
|
||||
$sp_head.click().animate({opacity: 0.1}, 500).animate({opacity: 1}, 700);
|
||||
});
|
||||
$sp_body.prepend('<div class="clear"></div>').append('<div class="clear"></div>').append($sp_fold_btn).addClass('inited');
|
||||
}
|
||||
if (e.shiftKey) {
|
||||
e.stopPropagation();
|
||||
e.shiftKey = false;
|
||||
var fold = $(this).hasClass('unfolded');
|
||||
$('div.sp-head', $($sp_body.parents('td')[0])).filter(function () {
|
||||
return $(this).hasClass('unfolded') ? fold : !fold
|
||||
}).click();
|
||||
}
|
||||
else {
|
||||
$(this).toggleClass('unfolded');
|
||||
$sp_body.slideToggle('fast');
|
||||
}
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
function initExternalLinks(context)
|
||||
{
|
||||
var context = context || 'body';
|
||||
if (ExternalLinks_InNewWindow) {
|
||||
$("a.postLink:not([href*='"+ window.location.hostname +"/'])", context).attr({ target: '_blank' });
|
||||
}
|
||||
function initExternalLinks(context) {
|
||||
var context = context || 'body';
|
||||
if (ExternalLinks_InNewWindow) {
|
||||
$("a.postLink:not([href*='" + window.location.hostname + "/'])", context).attr({target: '_blank'});
|
||||
}
|
||||
}
|
||||
|
||||
function fixPostImage ($img)
|
||||
{
|
||||
var banned_image_hosts = /imagebanana|hidebehind/i;
|
||||
var src = $img[0].src;
|
||||
if (src.match(banned_image_hosts)) {
|
||||
$img.wrap('<a href="'+ this.src +'" target="_blank"></a>').attr({ src: ""+bb_url+"styles/images/smiles/tr_oops.gif", title: ""+bbl['scr_rules']+"" });
|
||||
}
|
||||
return $img;
|
||||
function fixPostImage($img) {
|
||||
var banned_image_hosts = /imagebanana|hidebehind/i;
|
||||
var src = $img[0].src;
|
||||
if (src.match(banned_image_hosts)) {
|
||||
$img.wrap('<a href="' + this.src + '" target="_blank"></a>').attr({
|
||||
src: "" + bb_url + "styles/images/smiles/tr_oops.gif",
|
||||
title: "" + bbl['scr_rules'] + ""
|
||||
});
|
||||
}
|
||||
return $img;
|
||||
}
|
||||
|
||||
function initMedia(context)
|
||||
{
|
||||
var apostLink = $('a.postLink', context);
|
||||
for (var i = 0; i < apostLink.length; i++) {
|
||||
var link = apostLink[i];
|
||||
if (typeof link.href != 'string') {
|
||||
continue;
|
||||
}
|
||||
if (/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\/.+/i.test(link.href)) {
|
||||
var a = document.createElement('span');
|
||||
a.className = 'YTLink';
|
||||
a.innerHTML = '<span title="'+bbl['play_on']+'" class="YTLinkButton">►</span>';
|
||||
window.addEvent(a, 'click', function (e) {
|
||||
var vhref = e.target.nextSibling.href.replace(/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\//ig, "http://www.youtube.com/embed/$3");
|
||||
var text = e.target.nextSibling.innerText != "" ? e.target.nextSibling.innerText : e.target.nextSibling.href;
|
||||
$('#Panel_youtube').remove();
|
||||
ypanel('youtube', {
|
||||
title: '<b>' + text + '</b>',
|
||||
resizing: 0,
|
||||
width: 862,
|
||||
height: 550,
|
||||
content: '<iframe width="853" height="493" frameborder="0" allowfullscreen="" src="' + vhref + '?wmode=opaque"></iframe>'
|
||||
});
|
||||
});
|
||||
link.parentNode.insertBefore(a, link);
|
||||
a.appendChild(link);
|
||||
}
|
||||
}
|
||||
function initMedia(context) {
|
||||
var apostLink = $('a.postLink', context);
|
||||
for (var i = 0; i < apostLink.length; i++) {
|
||||
var link = apostLink[i];
|
||||
if (typeof link.href !== 'string') {
|
||||
continue;
|
||||
}
|
||||
if (/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\/.+/i.test(link.href)) {
|
||||
var a = document.createElement('span');
|
||||
a.className = 'YTLink';
|
||||
a.innerHTML = '<span title="' + bbl['play_on'] + '" class="YTLinkButton">►</span>';
|
||||
window.addEvent(a, 'click', function (e) {
|
||||
var vhref = e.target.nextSibling.href.replace(/^http(?:s|):\/\/www.youtube.com\/watch\?(.*)?(&?v=([a-z0-9\-_]+))(.*)?|http:\/\/youtu.be\//ig, "http://www.youtube.com/embed/$3");
|
||||
var text = e.target.nextSibling.innerText !== "" ? e.target.nextSibling.innerText : e.target.nextSibling.href;
|
||||
$('#Panel_youtube').remove();
|
||||
ypanel('youtube', {
|
||||
title: '<b>' + text + '</b>',
|
||||
resizing: 0,
|
||||
width: 862,
|
||||
height: 550,
|
||||
content: '<iframe width="853" height="493" frameborder="0" allowfullscreen="" src="' + vhref + '?wmode=opaque"></iframe>'
|
||||
});
|
||||
});
|
||||
link.parentNode.insertBefore(a, link);
|
||||
a.appendChild(link);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
$(document).ready(function(){
|
||||
$('div.post_wrap, div.signature').each(function(){ initPostBBCode( $(this) ) });
|
||||
$(document).ready(function () {
|
||||
$('div.post_wrap, div.signature').each(function () {
|
||||
initPostBBCode($(this))
|
||||
});
|
||||
});
|
|
@ -24,101 +24,100 @@
|
|||
|
||||
// prototype $
|
||||
function $p() {
|
||||
var elements = new Array();
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = arguments[i];
|
||||
if (typeof element == 'string')
|
||||
element = document.getElementById(element);
|
||||
if (arguments.length == 1)
|
||||
return element;
|
||||
elements.push(element);
|
||||
}
|
||||
return elements;
|
||||
var elements = [];
|
||||
for (var i = 0; i < arguments.length; i++) {
|
||||
var element = arguments[i];
|
||||
if (typeof element === 'string')
|
||||
element = document.getElementById(element);
|
||||
if (arguments.length === 1)
|
||||
return element;
|
||||
elements.push(element);
|
||||
}
|
||||
return elements;
|
||||
}
|
||||
|
||||
// from http://www.dustindiaz.com/rock-solid-addevent/
|
||||
function addEvent(obj, type, fn) {
|
||||
if (obj.addEventListener) {
|
||||
obj.addEventListener(type, fn, false);
|
||||
EventCache.add(obj, type, fn);
|
||||
}
|
||||
else if (obj.attachEvent) {
|
||||
obj["e" + type + fn] = fn;
|
||||
obj[type + fn] = function () {
|
||||
obj["e" + type + fn](window.event);
|
||||
}
|
||||
obj.attachEvent("on" + type, obj[type + fn]);
|
||||
EventCache.add(obj, type, fn);
|
||||
}
|
||||
else {
|
||||
obj["on" + type] = obj["e" + type + fn];
|
||||
}
|
||||
if (obj.addEventListener) {
|
||||
obj.addEventListener(type, fn, false);
|
||||
EventCache.add(obj, type, fn);
|
||||
}
|
||||
else if (obj.attachEvent) {
|
||||
obj["e" + type + fn] = fn;
|
||||
obj[type + fn] = function () {
|
||||
obj["e" + type + fn](window.event);
|
||||
};
|
||||
obj.attachEvent("on" + type, obj[type + fn]);
|
||||
EventCache.add(obj, type, fn);
|
||||
}
|
||||
else {
|
||||
obj["on" + type] = obj["e" + type + fn];
|
||||
}
|
||||
}
|
||||
|
||||
var EventCache = function () {
|
||||
var listEvents = [];
|
||||
return {
|
||||
listEvents: listEvents,
|
||||
add: function (node, sEventName, fHandler) {
|
||||
listEvents.push(arguments);
|
||||
},
|
||||
flush: function () {
|
||||
var i, item;
|
||||
for (i = listEvents.length - 1; i >= 0; i = i - 1) {
|
||||
item = listEvents[i];
|
||||
if (item[0].removeEventListener) {
|
||||
item[0].removeEventListener(item[1], item[2], item[3]);
|
||||
}
|
||||
if (item[1].substring(0, 2) != "on") {
|
||||
item[1] = "on" + item[1];
|
||||
}
|
||||
if (item[0].detachEvent) {
|
||||
item[0].detachEvent(item[1], item[2]);
|
||||
}
|
||||
item[0][item[1]] = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
var listEvents = [];
|
||||
return {
|
||||
listEvents: listEvents,
|
||||
add: function (node, sEventName, fHandler) {
|
||||
listEvents.push(arguments);
|
||||
},
|
||||
flush: function () {
|
||||
var i, item;
|
||||
for (i = listEvents.length - 1; i >= 0; i = i - 1) {
|
||||
item = listEvents[i];
|
||||
if (item[0].removeEventListener) {
|
||||
item[0].removeEventListener(item[1], item[2], item[3]);
|
||||
}
|
||||
if (item[1].substring(0, 2) !== "on") {
|
||||
item[1] = "on" + item[1];
|
||||
}
|
||||
if (item[0].detachEvent) {
|
||||
item[0].detachEvent(item[1], item[2]);
|
||||
}
|
||||
item[0][item[1]] = null;
|
||||
}
|
||||
}
|
||||
};
|
||||
}();
|
||||
if (document.all) {
|
||||
addEvent(window, 'unload', EventCache.flush);
|
||||
addEvent(window, 'unload', EventCache.flush);
|
||||
}
|
||||
|
||||
function imgFit(img, maxW) {
|
||||
img.title = 'Размеры изображения: ' + img.width + ' x ' + img.height;
|
||||
if (typeof(img.naturalHeight) == 'undefined') {
|
||||
img.naturalHeight = img.height;
|
||||
img.naturalWidth = img.width;
|
||||
}
|
||||
if (img.width > maxW) {
|
||||
img.height = Math.round((maxW / img.width) * img.height);
|
||||
img.width = maxW;
|
||||
img.title = 'Нажмите на изображение, чтобы посмотреть его в полный размер';
|
||||
img.style.cursor = 'move';
|
||||
return false;
|
||||
}
|
||||
else if (img.width == maxW && img.width < img.naturalWidth) {
|
||||
img.height = img.naturalHeight;
|
||||
img.width = img.naturalWidth;
|
||||
img.title = 'Размеры изображения: ' + img.naturalWidth + ' x ' + img.naturalHeight;
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
img.title = 'Размеры изображения: ' + img.width + ' x ' + img.height;
|
||||
if (typeof(img.naturalHeight) === 'undefined') {
|
||||
img.naturalHeight = img.height;
|
||||
img.naturalWidth = img.width;
|
||||
}
|
||||
if (img.width > maxW) {
|
||||
img.height = Math.round((maxW / img.width) * img.height);
|
||||
img.width = maxW;
|
||||
img.title = 'Нажмите на изображение, чтобы посмотреть его в полный размер';
|
||||
img.style.cursor = 'move';
|
||||
return false;
|
||||
}
|
||||
else if (img.width === maxW && img.width < img.naturalWidth) {
|
||||
img.height = img.naturalHeight;
|
||||
img.width = img.naturalWidth;
|
||||
img.title = 'Размеры изображения: ' + img.naturalWidth + ' x ' + img.naturalHeight;
|
||||
return false;
|
||||
}
|
||||
else {
|
||||
return true;
|
||||
}
|
||||
}
|
||||
|
||||
function toggle_block(id) {
|
||||
var el = document.getElementById(id);
|
||||
el.style.display = (el.style.display == 'none') ? '' : 'none';
|
||||
var el = document.getElementById(id);
|
||||
el.style.display = (el.style.display === 'none') ? '' : 'none';
|
||||
}
|
||||
|
||||
function toggle_disabled(id, val) {
|
||||
document.getElementById(id).disabled = (val) ? 0 : 1;
|
||||
document.getElementById(id).disabled = (val) ? 0 : 1;
|
||||
}
|
||||
|
||||
function rand(min, max) {
|
||||
return min + Math.floor((max - min + 1) * Math.random());
|
||||
return min + Math.floor((max - min + 1) * Math.random());
|
||||
}
|
||||
|
||||
// Cookie functions
|
||||
|
@ -133,21 +132,21 @@ function rand(min, max) {
|
|||
* secure transmission
|
||||
*/
|
||||
function setCookie(name, value, days, path, domain, secure) {
|
||||
if (days != 'SESSION') {
|
||||
var date = new Date();
|
||||
days = days || 365;
|
||||
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
||||
var expires = date.toGMTString();
|
||||
} else {
|
||||
var expires = '';
|
||||
}
|
||||
if (days !== 'SESSION') {
|
||||
var date = new Date();
|
||||
days = days || 365;
|
||||
date.setTime(date.getTime() + days * 24 * 60 * 60 * 1000);
|
||||
var expires = date.toGMTString();
|
||||
} else {
|
||||
var expires = '';
|
||||
}
|
||||
|
||||
document.cookie =
|
||||
name + '=' + escape(value)
|
||||
+ ((expires) ? '; expires=' + expires : '')
|
||||
+ ((path) ? '; path=' + path : ((cookiePath) ? '; path=' + cookiePath : ''))
|
||||
+ ((domain) ? '; domain=' + domain : ((cookieDomain) ? '; domain=' + cookieDomain : ''))
|
||||
+ ((secure) ? '; secure' : ((cookieSecure) ? '; secure' : ''));
|
||||
document.cookie =
|
||||
name + '=' + encodeURI(value)
|
||||
+ ((expires) ? '; expires=' + expires : '')
|
||||
+ ((path) ? '; path=' + path : ((cookiePath) ? '; path=' + cookiePath : ''))
|
||||
+ ((domain) ? '; domain=' + domain : ((cookieDomain) ? '; domain=' + cookieDomain : ''))
|
||||
+ ((secure) ? '; secure' : ((cookieSecure) ? '; secure' : ''));
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -155,8 +154,8 @@ function setCookie(name, value, days, path, domain, secure) {
|
|||
* or null if cookie does not exist.
|
||||
*/
|
||||
function getCookie(name) {
|
||||
var c, RE = new RegExp('(^|;)\\s*' + name + '\\s*=\\s*([^\\s;]+)', 'g');
|
||||
return (c = RE.exec(document.cookie)) ? c[2] : null;
|
||||
var c, RE = new RegExp('(^|;)\\s*' + name + '\\s*=\\s*([^\\s;]+)', 'g');
|
||||
return (c = RE.exec(document.cookie)) ? c[2] : null;
|
||||
}
|
||||
|
||||
/**
|
||||
|
@ -165,341 +164,341 @@ function getCookie(name) {
|
|||
* [domain] domain of the cookie (must be same as domain used to create cookie)
|
||||
*/
|
||||
function deleteCookie(name, path, domain) {
|
||||
setCookie(name, '', -1, path, domain);
|
||||
setCookie(name, '', -1, path, domain);
|
||||
}
|
||||
|
||||
// Menus
|
||||
var Menu = {
|
||||
hideSpeed: 'fast',
|
||||
offsetCorrection_X: -4,
|
||||
offsetCorrection_Y: 2,
|
||||
hideSpeed: 'fast',
|
||||
offsetCorrection_X: -4,
|
||||
offsetCorrection_Y: 2,
|
||||
|
||||
activeMenuId: null, // currently opened menu (from previous click)
|
||||
clickedMenuId: null, // menu to show up
|
||||
$root: null, // root element for menu with "href = '#clickedMenuId'"
|
||||
$menu: null, // clicked menu
|
||||
positioningType: null, // reserved
|
||||
outsideClickWatch: false, // prevent multiple $(document).click binding
|
||||
activeMenuId: null, // currently opened menu (from previous click)
|
||||
clickedMenuId: null, // menu to show up
|
||||
$root: null, // root element for menu with "href = '#clickedMenuId'"
|
||||
$menu: null, // clicked menu
|
||||
positioningType: null, // reserved
|
||||
outsideClickWatch: false, // prevent multiple $(document).click binding
|
||||
|
||||
clicked: function ($root) {
|
||||
$root.blur();
|
||||
this.clickedMenuId = this.getMenuId($root);
|
||||
this.$menu = $(this.clickedMenuId);
|
||||
this.$root = $root;
|
||||
this.toggle();
|
||||
},
|
||||
clicked: function ($root) {
|
||||
$root.blur();
|
||||
this.clickedMenuId = this.getMenuId($root);
|
||||
this.$menu = $(this.clickedMenuId);
|
||||
this.$root = $root;
|
||||
this.toggle();
|
||||
},
|
||||
|
||||
hovered: function ($root) {
|
||||
if (this.activeMenuId && this.activeMenuId !== this.getMenuId($root)) {
|
||||
this.clicked($root);
|
||||
}
|
||||
},
|
||||
hovered: function ($root) {
|
||||
if (this.activeMenuId && this.activeMenuId !== this.getMenuId($root)) {
|
||||
this.clicked($root);
|
||||
}
|
||||
},
|
||||
|
||||
unhovered: function ($root) {
|
||||
},
|
||||
unhovered: function ($root) {
|
||||
},
|
||||
|
||||
getMenuId: function ($el) {
|
||||
var href = $el.attr('href');
|
||||
return href.substr(href.indexOf('#'));
|
||||
},
|
||||
getMenuId: function ($el) {
|
||||
var href = $el.attr('href');
|
||||
return href.substr(href.indexOf('#'));
|
||||
},
|
||||
|
||||
setLocation: function () {
|
||||
var CSS = this.$root.offset();
|
||||
CSS.top += this.$root.height() + this.offsetCorrection_Y;
|
||||
var curTop = parseInt(CSS.top);
|
||||
var tCorner = $(document).scrollTop() + $(window).height() - 20;
|
||||
var maxVisibleTop = Math.min(curTop, Math.max(0, tCorner - this.$menu.height()));
|
||||
if (curTop != maxVisibleTop) {
|
||||
CSS.top = maxVisibleTop;
|
||||
}
|
||||
CSS.left += this.offsetCorrection_X;
|
||||
var curLeft = parseInt(CSS.left);
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 6;
|
||||
var maxVisibleLeft = Math.min(curLeft, Math.max(0, rCorner - this.$menu.width()));
|
||||
if (curLeft != maxVisibleLeft) {
|
||||
CSS.left = maxVisibleLeft;
|
||||
}
|
||||
this.$menu.css(CSS);
|
||||
},
|
||||
setLocation: function () {
|
||||
var CSS = this.$root.offset();
|
||||
CSS.top += this.$root.height() + this.offsetCorrection_Y;
|
||||
var curTop = parseInt(CSS.top);
|
||||
var tCorner = $(document).scrollTop() + $(window).height() - 20;
|
||||
var maxVisibleTop = Math.min(curTop, Math.max(0, tCorner - this.$menu.height()));
|
||||
if (curTop !== maxVisibleTop) {
|
||||
CSS.top = maxVisibleTop;
|
||||
}
|
||||
CSS.left += this.offsetCorrection_X;
|
||||
var curLeft = parseInt(CSS.left);
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 6;
|
||||
var maxVisibleLeft = Math.min(curLeft, Math.max(0, rCorner - this.$menu.width()));
|
||||
if (curLeft !== maxVisibleLeft) {
|
||||
CSS.left = maxVisibleLeft;
|
||||
}
|
||||
this.$menu.css(CSS);
|
||||
},
|
||||
|
||||
fixLocation: function () {
|
||||
var $menu = this.$menu;
|
||||
var curLeft = parseInt($menu.css('left'));
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 6;
|
||||
var maxVisibleLeft = Math.min(curLeft, Math.max(0, rCorner - $menu.width()));
|
||||
if (curLeft != maxVisibleLeft) {
|
||||
$menu.css('left', maxVisibleLeft);
|
||||
}
|
||||
var curTop = parseInt($menu.css('top'));
|
||||
var tCorner = $(document).scrollTop() + $(window).height() - 20;
|
||||
var maxVisibleTop = Math.min(curTop, Math.max(0, tCorner - $menu.height()));
|
||||
if (curTop != maxVisibleTop) {
|
||||
$menu.css('top', maxVisibleTop);
|
||||
}
|
||||
},
|
||||
fixLocation: function () {
|
||||
var $menu = this.$menu;
|
||||
var curLeft = parseInt($menu.css('left'));
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 6;
|
||||
var maxVisibleLeft = Math.min(curLeft, Math.max(0, rCorner - $menu.width()));
|
||||
if (curLeft !== maxVisibleLeft) {
|
||||
$menu.css('left', maxVisibleLeft);
|
||||
}
|
||||
var curTop = parseInt($menu.css('top'));
|
||||
var tCorner = $(document).scrollTop() + $(window).height() - 20;
|
||||
var maxVisibleTop = Math.min(curTop, Math.max(0, tCorner - $menu.height()));
|
||||
if (curTop !== maxVisibleTop) {
|
||||
$menu.css('top', maxVisibleTop);
|
||||
}
|
||||
},
|
||||
|
||||
toggle: function () {
|
||||
if (this.activeMenuId && this.activeMenuId !== this.clickedMenuId) {
|
||||
$(this.activeMenuId).hide(this.hideSpeed);
|
||||
}
|
||||
// toggle clicked menu
|
||||
if (this.$menu.is(':visible')) {
|
||||
this.$menu.hide(this.hideSpeed);
|
||||
this.activeMenuId = null;
|
||||
} else {
|
||||
this.showClickedMenu();
|
||||
if (!this.outsideClickWatch) {
|
||||
$(document).one('mousedown', function (e) {
|
||||
Menu.hideClickWatcher(e);
|
||||
});
|
||||
this.outsideClickWatch = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
toggle: function () {
|
||||
if (this.activeMenuId && this.activeMenuId !== this.clickedMenuId) {
|
||||
$(this.activeMenuId).hide(this.hideSpeed);
|
||||
}
|
||||
// toggle clicked menu
|
||||
if (this.$menu.is(':visible')) {
|
||||
this.$menu.hide(this.hideSpeed);
|
||||
this.activeMenuId = null;
|
||||
} else {
|
||||
this.showClickedMenu();
|
||||
if (!this.outsideClickWatch) {
|
||||
$(document).one('mousedown', function (e) {
|
||||
Menu.hideClickWatcher(e);
|
||||
});
|
||||
this.outsideClickWatch = true;
|
||||
}
|
||||
}
|
||||
},
|
||||
|
||||
showClickedMenu: function () {
|
||||
this.setLocation();
|
||||
this.$menu.css({display: 'block'});
|
||||
// this.fixLocation();
|
||||
this.activeMenuId = this.clickedMenuId;
|
||||
},
|
||||
showClickedMenu: function () {
|
||||
this.setLocation();
|
||||
this.$menu.css({display: 'block'});
|
||||
// this.fixLocation();
|
||||
this.activeMenuId = this.clickedMenuId;
|
||||
},
|
||||
|
||||
// hide if clicked outside of menu
|
||||
hideClickWatcher: function (e) {
|
||||
this.outsideClickWatch = false;
|
||||
this.hide(e);
|
||||
},
|
||||
// hide if clicked outside of menu
|
||||
hideClickWatcher: function (e) {
|
||||
this.outsideClickWatch = false;
|
||||
this.hide(e);
|
||||
},
|
||||
|
||||
hide: function (e) {
|
||||
if (this.$menu) {
|
||||
this.$menu.hide(this.hideSpeed);
|
||||
}
|
||||
this.activeMenuId = this.clickedMenuId = this.$menu = null;
|
||||
}
|
||||
hide: function (e) {
|
||||
if (this.$menu) {
|
||||
this.$menu.hide(this.hideSpeed);
|
||||
}
|
||||
this.activeMenuId = this.clickedMenuId = this.$menu = null;
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
// Menus
|
||||
$('body').append($('div.menu-sub'));
|
||||
$('a.menu-root')
|
||||
.click(
|
||||
function (e) {
|
||||
e.preventDefault();
|
||||
Menu.clicked($(this));
|
||||
return false;
|
||||
})
|
||||
.hover(
|
||||
function () {
|
||||
Menu.hovered($(this));
|
||||
return false;
|
||||
},
|
||||
function () {
|
||||
Menu.unhovered($(this));
|
||||
return false;
|
||||
}
|
||||
)
|
||||
;
|
||||
$('div.menu-sub')
|
||||
.mousedown(function (e) {
|
||||
e.stopPropagation();
|
||||
})
|
||||
.find('a')
|
||||
.click(function (e) {
|
||||
Menu.hide(e);
|
||||
})
|
||||
;
|
||||
// Input hints
|
||||
$('input')
|
||||
.filter('.hint').one('focus', function () {
|
||||
$(this).val('').removeClass('hint');
|
||||
})
|
||||
.end()
|
||||
.filter('.error').one('focus', function () {
|
||||
$(this).removeClass('error');
|
||||
})
|
||||
;
|
||||
// Menus
|
||||
$('body').append($('div.menu-sub'));
|
||||
$('a.menu-root')
|
||||
.click(
|
||||
function (e) {
|
||||
e.preventDefault();
|
||||
Menu.clicked($(this));
|
||||
return false;
|
||||
})
|
||||
.hover(
|
||||
function () {
|
||||
Menu.hovered($(this));
|
||||
return false;
|
||||
},
|
||||
function () {
|
||||
Menu.unhovered($(this));
|
||||
return false;
|
||||
}
|
||||
)
|
||||
;
|
||||
$('div.menu-sub')
|
||||
.mousedown(function (e) {
|
||||
e.stopPropagation();
|
||||
})
|
||||
.find('a')
|
||||
.click(function (e) {
|
||||
Menu.hide(e);
|
||||
})
|
||||
;
|
||||
// Input hints
|
||||
$('input')
|
||||
.filter('.hint').one('focus', function () {
|
||||
$(this).val('').removeClass('hint');
|
||||
})
|
||||
.end()
|
||||
.filter('.error').one('focus', function () {
|
||||
$(this).removeClass('error');
|
||||
})
|
||||
;
|
||||
});
|
||||
|
||||
//
|
||||
// Ajax
|
||||
//
|
||||
function Ajax(handlerURL, requestType, dataType) {
|
||||
this.url = handlerURL;
|
||||
this.type = requestType;
|
||||
this.dataType = dataType;
|
||||
this.errors = { };
|
||||
this.url = handlerURL;
|
||||
this.type = requestType;
|
||||
this.dataType = dataType;
|
||||
this.errors = {};
|
||||
}
|
||||
|
||||
Ajax.prototype = {
|
||||
init: {}, // init functions (run before submit, after triggering ajax event)
|
||||
callback: {}, // callback functions (response handlers)
|
||||
state: {}, // current action state
|
||||
request: {}, // request data
|
||||
params: {}, // action params, format: ajax.params[ElementID] = { param: "val" ... }
|
||||
form_token: '',
|
||||
init: {}, // init functions (run before submit, after triggering ajax event)
|
||||
callback: {}, // callback functions (response handlers)
|
||||
state: {}, // current action state
|
||||
request: {}, // request data
|
||||
params: {}, // action params, format: ajax.params[ElementID] = { param: "val" ... }
|
||||
form_token: '',
|
||||
|
||||
exec: function (request) {
|
||||
this.request[request.action] = request;
|
||||
request['form_token'] = this.form_token;
|
||||
$.ajax({
|
||||
url: this.url,
|
||||
type: this.type,
|
||||
dataType: this.dataType,
|
||||
data: request,
|
||||
success: ajax.success,
|
||||
error: ajax.error
|
||||
});
|
||||
},
|
||||
exec: function (request) {
|
||||
this.request[request.action] = request;
|
||||
request['form_token'] = this.form_token;
|
||||
$.ajax({
|
||||
url: this.url,
|
||||
type: this.type,
|
||||
dataType: this.dataType,
|
||||
data: request,
|
||||
success: ajax.success,
|
||||
error: ajax.error
|
||||
});
|
||||
},
|
||||
|
||||
success: function (response) {
|
||||
var action = response.action;
|
||||
// raw_output normally might contain only error messages (if php.ini.display_errors == 1)
|
||||
if (response.raw_output) {
|
||||
$('body').prepend(response.raw_output);
|
||||
}
|
||||
if (response.sql_log) {
|
||||
$('#sqlLog').prepend(response.sql_log + '<hr />');
|
||||
fixSqlLog();
|
||||
}
|
||||
if (response.update_ids) {
|
||||
for (id in response.update_ids) {
|
||||
$('#' + id).html(response.update_ids[id]);
|
||||
}
|
||||
}
|
||||
if (response.prompt_password) {
|
||||
var user_password = prompt('Для доступа к данной функции, пожалуйста, введите свой пароль', '');
|
||||
if (user_password) {
|
||||
var req = ajax.request[action];
|
||||
req.user_password = user_password;
|
||||
ajax.exec(req);
|
||||
}
|
||||
else {
|
||||
ajax.clearActionState(action);
|
||||
ajax.showErrorMsg('Введен неверный пароль');
|
||||
}
|
||||
}
|
||||
else if (response.prompt_confirm) {
|
||||
if (window.confirm(response.confirm_msg)) {
|
||||
var req = ajax.request[action];
|
||||
req.confirmed = 1;
|
||||
ajax.exec(req);
|
||||
}
|
||||
else {
|
||||
ajax.clearActionState(action);
|
||||
}
|
||||
}
|
||||
else if (response.error_code) {
|
||||
ajax.showErrorMsg(response.error_msg);
|
||||
$('.loading-1').removeClass('loading-1').html('error');
|
||||
}
|
||||
else {
|
||||
ajax.callback[action](response);
|
||||
ajax.clearActionState(action);
|
||||
}
|
||||
},
|
||||
success: function (response) {
|
||||
var action = response.action;
|
||||
// raw_output normally might contain only error messages (if php.ini.display_errors == 1)
|
||||
if (response.raw_output) {
|
||||
$('body').prepend(response.raw_output);
|
||||
}
|
||||
if (response.sql_log) {
|
||||
$('#sqlLog').prepend(response.sql_log + '<hr />');
|
||||
fixSqlLog();
|
||||
}
|
||||
if (response.update_ids) {
|
||||
for (id in response.update_ids) {
|
||||
$('#' + id).html(response.update_ids[id]);
|
||||
}
|
||||
}
|
||||
if (response.prompt_password) {
|
||||
var user_password = prompt('Для доступа к данной функции, пожалуйста, введите свой пароль', '');
|
||||
if (user_password) {
|
||||
var req = ajax.request[action];
|
||||
req.user_password = user_password;
|
||||
ajax.exec(req);
|
||||
}
|
||||
else {
|
||||
ajax.clearActionState(action);
|
||||
ajax.showErrorMsg('Введен неверный пароль');
|
||||
}
|
||||
}
|
||||
else if (response.prompt_confirm) {
|
||||
if (window.confirm(response.confirm_msg)) {
|
||||
var req = ajax.request[action];
|
||||
req.confirmed = 1;
|
||||
ajax.exec(req);
|
||||
}
|
||||
else {
|
||||
ajax.clearActionState(action);
|
||||
}
|
||||
}
|
||||
else if (response.error_code) {
|
||||
ajax.showErrorMsg(response.error_msg);
|
||||
$('.loading-1').removeClass('loading-1').html('error');
|
||||
}
|
||||
else {
|
||||
ajax.callback[action](response);
|
||||
ajax.clearActionState(action);
|
||||
}
|
||||
},
|
||||
|
||||
error: function (xml, desc) {
|
||||
},
|
||||
error: function (xml, desc) {
|
||||
},
|
||||
|
||||
clearActionState: function (action) {
|
||||
ajax.state[action] = ajax.request[action] = '';
|
||||
},
|
||||
clearActionState: function (action) {
|
||||
ajax.state[action] = ajax.request[action] = '';
|
||||
},
|
||||
|
||||
showErrorMsg: function (msg) {
|
||||
alert(msg);
|
||||
},
|
||||
showErrorMsg: function (msg) {
|
||||
alert(msg);
|
||||
},
|
||||
|
||||
callInitFn: function (event) {
|
||||
event.stopPropagation();
|
||||
var params = ajax.params[$(this).attr('id')];
|
||||
var action = params.action;
|
||||
if (ajax.state[action] == 'readyToSubmit' || ajax.state[action] == 'error') {
|
||||
return false;
|
||||
} else {
|
||||
ajax.state[action] = 'readyToSubmit';
|
||||
}
|
||||
ajax.init[action](params);
|
||||
},
|
||||
callInitFn: function (event) {
|
||||
event.stopPropagation();
|
||||
var params = ajax.params[$(this).attr('id')];
|
||||
var action = params.action;
|
||||
if (ajax.state[action] === 'readyToSubmit' || ajax.state[action] === 'error') {
|
||||
return false;
|
||||
} else {
|
||||
ajax.state[action] = 'readyToSubmit';
|
||||
}
|
||||
ajax.init[action](params);
|
||||
},
|
||||
|
||||
setStatusBoxPosition: function ($el) {
|
||||
var newTop = $(document).scrollTop();
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 8;
|
||||
var newLeft = Math.max(0, rCorner - $el.width());
|
||||
$el.css({ top: newTop, left: newLeft });
|
||||
},
|
||||
setStatusBoxPosition: function ($el) {
|
||||
var newTop = $(document).scrollTop();
|
||||
var rCorner = $(document).scrollLeft() + $(window).width() - 8;
|
||||
var newLeft = Math.max(0, rCorner - $el.width());
|
||||
$el.css({top: newTop, left: newLeft});
|
||||
},
|
||||
|
||||
makeEditable: function (rootElementId, editableType) {
|
||||
var $root = $('#' + rootElementId);
|
||||
var $editable = $('.editable', $root);
|
||||
var inputsHtml = $('#editable-tpl-' + editableType).html();
|
||||
$editable.hide().after(inputsHtml);
|
||||
var $inputs = $('.editable-inputs', $root);
|
||||
if (editableType == 'input' || editableType == 'textarea') {
|
||||
$('.editable-value', $inputs).val($.trim($editable.text()));
|
||||
}
|
||||
$('input.editable-submit', $inputs).click(function () {
|
||||
var params = ajax.params[rootElementId];
|
||||
var $val = $('.editable-value', '#' + rootElementId);
|
||||
params.value = ($val.size() == 1) ? $val.val() : $val.filter(':checked').val();
|
||||
params.submit = true;
|
||||
ajax.init[params.action](params);
|
||||
});
|
||||
$('input.editable-cancel', $inputs).click(function () {
|
||||
ajax.restoreEditable(rootElementId);
|
||||
});
|
||||
$inputs.show().find('.editable-value').focus();
|
||||
$root.removeClass('editable-container');
|
||||
},
|
||||
makeEditable: function (rootElementId, editableType) {
|
||||
var $root = $('#' + rootElementId);
|
||||
var $editable = $('.editable', $root);
|
||||
var inputsHtml = $('#editable-tpl-' + editableType).html();
|
||||
$editable.hide().after(inputsHtml);
|
||||
var $inputs = $('.editable-inputs', $root);
|
||||
if (editableType === 'input' || editableType === 'textarea') {
|
||||
$('.editable-value', $inputs).val($.trim($editable.text()));
|
||||
}
|
||||
$('input.editable-submit', $inputs).click(function () {
|
||||
var params = ajax.params[rootElementId];
|
||||
var $val = $('.editable-value', '#' + rootElementId);
|
||||
params.value = ($val.size() === 1) ? $val.val() : $val.filter(':checked').val();
|
||||
params.submit = true;
|
||||
ajax.init[params.action](params);
|
||||
});
|
||||
$('input.editable-cancel', $inputs).click(function () {
|
||||
ajax.restoreEditable(rootElementId);
|
||||
});
|
||||
$inputs.show().find('.editable-value').focus();
|
||||
$root.removeClass('editable-container');
|
||||
},
|
||||
|
||||
restoreEditable: function (rootElementId, newValue) {
|
||||
var $root = $('#' + rootElementId);
|
||||
var $editable = $('.editable', $root);
|
||||
$('.editable-inputs', $root).remove();
|
||||
if (newValue) {
|
||||
$editable.text(newValue);
|
||||
}
|
||||
$editable.show();
|
||||
ajax.clearActionState(ajax.params[rootElementId].action);
|
||||
ajax.params[rootElementId].submit = false;
|
||||
$root.addClass('editable-container');
|
||||
}
|
||||
restoreEditable: function (rootElementId, newValue) {
|
||||
var $root = $('#' + rootElementId);
|
||||
var $editable = $('.editable', $root);
|
||||
$('.editable-inputs', $root).remove();
|
||||
if (newValue) {
|
||||
$editable.text(newValue);
|
||||
}
|
||||
$editable.show();
|
||||
ajax.clearActionState(ajax.params[rootElementId].action);
|
||||
ajax.params[rootElementId].submit = false;
|
||||
$root.addClass('editable-container');
|
||||
}
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
// Setup ajax-loading box
|
||||
$("#ajax-loading").ajaxStart(function () {
|
||||
$("#ajax-error").hide();
|
||||
$(this).show();
|
||||
ajax.setStatusBoxPosition($(this));
|
||||
});
|
||||
$("#ajax-loading").ajaxStop(function () {
|
||||
$(this).hide();
|
||||
});
|
||||
// Setup ajax-loading box
|
||||
$("#ajax-loading").ajaxStart(function () {
|
||||
$("#ajax-error").hide();
|
||||
$(this).show();
|
||||
ajax.setStatusBoxPosition($(this));
|
||||
});
|
||||
$("#ajax-loading").ajaxStop(function () {
|
||||
$(this).hide();
|
||||
});
|
||||
|
||||
// Setup ajax-error box
|
||||
$("#ajax-error").ajaxError(function (req, xml) {
|
||||
var status = xml.status;
|
||||
var text = xml.statusText;
|
||||
if (status == 200) {
|
||||
status = '';
|
||||
text = 'неверный формат данных';
|
||||
}
|
||||
$(this).html(
|
||||
"Ошибка в: <i>" + ajax.url + "</i><br /><b>" + status + " " + text + "</b>"
|
||||
).show();
|
||||
ajax.setStatusBoxPosition($(this));
|
||||
});
|
||||
// Setup ajax-error box
|
||||
$("#ajax-error").ajaxError(function (req, xml) {
|
||||
var status = xml.status;
|
||||
var text = xml.statusText;
|
||||
if (status === 200) {
|
||||
status = '';
|
||||
text = 'неверный формат данных';
|
||||
}
|
||||
$(this).html(
|
||||
"Ошибка в: <i>" + ajax.url + "</i><br /><b>" + status + " " + text + "</b>"
|
||||
).show();
|
||||
ajax.setStatusBoxPosition($(this));
|
||||
});
|
||||
|
||||
// Bind ajax events
|
||||
$('var.ajax-params').each(function () {
|
||||
var params = $.evalJSON($(this).html());
|
||||
params.event = params.event || 'dblclick';
|
||||
ajax.params[params.id] = params;
|
||||
$("#" + params.id).bind(params.event, ajax.callInitFn);
|
||||
if (params.event == 'click' || params.event == 'dblclick') {
|
||||
$("#" + params.id).addClass('editable-container');
|
||||
}
|
||||
});
|
||||
// Bind ajax events
|
||||
$('var.ajax-params').each(function () {
|
||||
var params = $.evalJSON($(this).html());
|
||||
params.event = params.event || 'dblclick';
|
||||
ajax.params[params.id] = params;
|
||||
$("#" + params.id).bind(params.event, ajax.callInitFn);
|
||||
if (params.event === 'click' || params.event === 'dblclick') {
|
||||
$("#" + params.id).addClass('editable-container');
|
||||
}
|
||||
});
|
||||
});
|
||||
|
||||
/**
|
||||
|
@ -507,75 +506,75 @@ $(document).ready(function () {
|
|||
**/
|
||||
var array_for_rand_pass = ["a", "A", "b", "B", "c", "C", "d", "D", "e", "E", "f", "F", "g", "G", "h", "H", "i", "I", "j", "J", "k", "K", "l", "L", "m", "M", "n", "N", "o", "O", "p", "P", "q", "Q", "r", "R", "s", "S", "t", "T", "u", "U", "v", "V", "w", "W", "x", "X", "y", "Y", "z", "Z", 0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
|
||||
var array_rand = function (array) {
|
||||
var array_length = array.length;
|
||||
var result = Math.random() * array_length;
|
||||
return Math.floor(result);
|
||||
var array_length = array.length;
|
||||
var result = Math.random() * array_length;
|
||||
return Math.floor(result);
|
||||
};
|
||||
|
||||
var autocomplete = function (noCenter) {
|
||||
var string_result = ""; // Empty string
|
||||
for (var i = 1; i <= 8; i++) {
|
||||
string_result += array_for_rand_pass[array_rand(array_for_rand_pass)];
|
||||
}
|
||||
var string_result = ""; // Empty string
|
||||
for (var i = 1; i <= 8; i++) {
|
||||
string_result += array_for_rand_pass[array_rand(array_for_rand_pass)];
|
||||
}
|
||||
|
||||
var _popup_left = (Math.ceil(window.screen.availWidth / 2) - 150);
|
||||
var _popup_top = (Math.ceil(window.screen.availHeight / 2) - 50);
|
||||
var _popup_left = (Math.ceil(window.screen.availWidth / 2) - 150);
|
||||
var _popup_top = (Math.ceil(window.screen.availHeight / 2) - 50);
|
||||
|
||||
if (!noCenter) {
|
||||
$("div#autocomplete_popup").css({
|
||||
left: _popup_left + "px",
|
||||
top: _popup_top + "px"
|
||||
}).show(1000);
|
||||
} else {
|
||||
$("div#autocomplete_popup").show(1000);
|
||||
}
|
||||
if (!noCenter) {
|
||||
$("div#autocomplete_popup").css({
|
||||
left: _popup_left + "px",
|
||||
top: _popup_top + "px"
|
||||
}).show(1000);
|
||||
} else {
|
||||
$("div#autocomplete_popup").show(1000);
|
||||
}
|
||||
|
||||
$("input#pass, input#pass_confirm, div#autocomplete_popup input").each(function () {
|
||||
$(this).val(string_result);
|
||||
});
|
||||
$("input#pass, input#pass_confirm, div#autocomplete_popup input").each(function () {
|
||||
$(this).val(string_result);
|
||||
});
|
||||
};
|
||||
|
||||
$(document).ready(function () {
|
||||
$("span#autocomplete").click(function () {
|
||||
autocomplete();
|
||||
});
|
||||
$("span#autocomplete").click(function () {
|
||||
autocomplete();
|
||||
});
|
||||
|
||||
// перемещение окна
|
||||
var _X, _Y;
|
||||
var _bMoveble = false;
|
||||
// перемещение окна
|
||||
var _X, _Y;
|
||||
var _bMoveble = false;
|
||||
|
||||
$("div#autocomplete_popup div.title").mousedown(function (event) {
|
||||
_bMoveble = true;
|
||||
_X = event.clientX;
|
||||
_Y = event.clientY;
|
||||
});
|
||||
$("div#autocomplete_popup div.title").mousedown(function (event) {
|
||||
_bMoveble = true;
|
||||
_X = event.clientX;
|
||||
_Y = event.clientY;
|
||||
});
|
||||
|
||||
$("div#autocomplete_popup div.title").mousemove(function (event) {
|
||||
var jFrame = $("div#autocomplete_popup");
|
||||
var jFLeft = parseInt(jFrame.css("left"));
|
||||
var jFTop = parseInt(jFrame.css("top"));
|
||||
$("div#autocomplete_popup div.title").mousemove(function (event) {
|
||||
var jFrame = $("div#autocomplete_popup");
|
||||
var jFLeft = parseInt(jFrame.css("left"));
|
||||
var jFTop = parseInt(jFrame.css("top"));
|
||||
|
||||
if (_bMoveble) {
|
||||
if (event.clientX < _X) {
|
||||
jFrame.css("left", jFLeft - (_X - event.clientX) + "px");
|
||||
} else {
|
||||
jFrame.css("left", (jFLeft + (event.clientX - _X)) + "px");
|
||||
}
|
||||
if (_bMoveble) {
|
||||
if (event.clientX < _X) {
|
||||
jFrame.css("left", jFLeft - (_X - event.clientX) + "px");
|
||||
} else {
|
||||
jFrame.css("left", (jFLeft + (event.clientX - _X)) + "px");
|
||||
}
|
||||
|
||||
if (event.clientY < _Y) {
|
||||
jFrame.css("top", jFTop - (_Y - event.clientY) + "px");
|
||||
} else {
|
||||
jFrame.css("top", (jFTop + (event.clientY - _Y)) + "px");
|
||||
}
|
||||
if (event.clientY < _Y) {
|
||||
jFrame.css("top", jFTop - (_Y - event.clientY) + "px");
|
||||
} else {
|
||||
jFrame.css("top", (jFTop + (event.clientY - _Y)) + "px");
|
||||
}
|
||||
|
||||
_X = event.clientX;
|
||||
_Y = event.clientY;
|
||||
}
|
||||
});
|
||||
_X = event.clientX;
|
||||
_Y = event.clientY;
|
||||
}
|
||||
});
|
||||
|
||||
$("div#autocomplete_popup div.title").mouseup(function () {
|
||||
_bMoveble = false;
|
||||
}).mouseout(function () {
|
||||
_bMoveble = false;
|
||||
});
|
||||
$("div#autocomplete_popup div.title").mouseup(function () {
|
||||
_bMoveble = false;
|
||||
}).mouseout(function () {
|
||||
_bMoveble = false;
|
||||
});
|
||||
});
|
|
@ -217,13 +217,6 @@
|
|||
<label><input type="radio" name="tor_comment" value="0" <!-- IF not TOR_COMMENT -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><h4>{L_DESIGNER}</h4></td>
|
||||
<td>
|
||||
<label><input type="radio" name="new_tpls" value="1" <!-- IF NEW_TPLS -->checked="checked"<!-- ENDIF --> />{L_ENABLED}</label>
|
||||
<label><input type="radio" name="new_tpls" value="0" <!-- IF not NEW_TPLS -->checked="checked"<!-- ENDIF --> />{L_DISABLED}</label>
|
||||
</td>
|
||||
</tr>
|
||||
|
||||
<tr class="row3 med">
|
||||
<td class="bold tCenter" colspan="2">{L_LATEST_NEWS}</td>
|
||||
|
|
|
@ -1,168 +1,193 @@
|
|||
<style type="text/css">
|
||||
.log_msg { max-height: 100px; overflow: auto; }
|
||||
table.log_filters { padding: 6px; width: 100%; }
|
||||
table.log_filters td {
|
||||
border: 1px inset; padding: 4px; background: #EFEFEF;
|
||||
}
|
||||
.log_msg {
|
||||
max-height: 100px;
|
||||
overflow: auto;
|
||||
}
|
||||
|
||||
table.log_filters {
|
||||
padding: 6px;
|
||||
width: 100%;
|
||||
}
|
||||
|
||||
table.log_filters td {
|
||||
border: 1px inset;
|
||||
padding: 4px;
|
||||
background: #EFEFEF;
|
||||
}
|
||||
</style>
|
||||
|
||||
<div class="spacer_4"></div>
|
||||
|
||||
<form action="{S_LOG_ACTION}" method="post">
|
||||
<!-- IF TOPIC_CSV --><input type="hidden" name="t" value="{TOPIC_CSV}" /><!-- ENDIF -->
|
||||
<!-- IF TOPIC_CSV --><input type="hidden" name="t" value="{TOPIC_CSV}"/><!-- ENDIF -->
|
||||
|
||||
<table class="bordered w100" cellspacing="0">
|
||||
<tr>
|
||||
<th class="thHead">{L_ACTS_LOG_SEARCH_OPTIONS}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1">
|
||||
<table class="fieldsets borderless bCenter pad_0" cellspacing="0">
|
||||
<tr>
|
||||
<td rowspan="2" valign="top" nowrap="nowrap" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_FORUM}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_FORUM}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_ACTION}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_LOG_TYPE}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_USER}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_USERS}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="row1">
|
||||
<table class="fieldsets borderless">
|
||||
<tr>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_LOGS_FROM} <span style="font-size: 9px;">(<i>{L_ACTS_LOG_FIRST}{FIRST_LOG_TIME}</i>)</span></legend>
|
||||
<div>
|
||||
<p class="input nowrap">
|
||||
<input class="post" type="text" size="10" maxlength="20" name="{DATETIME_NAME}" value="{DATETIME_VAL}" />
|
||||
&
|
||||
<input class="post" type="text" size="2" maxlength="5" name="{DAYSBACK_NAME}" value="{DAYSBACK_VAL}" />
|
||||
{L_ACTS_LOG_DAYS_BACK}
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_TOPIC_MATCH}</legend>
|
||||
<div>
|
||||
<p class="input"><input class="post" type="text" size="28" maxlength="{TITLE_MATCH_MAX}" name="{TITLE_MATCH_NAME}" value="{TITLE_MATCH_VAL}" /></p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1" style="padding: 0;">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_SORT_BY}</legend>
|
||||
<div>
|
||||
<p class="select nowrap">
|
||||
<select class="post" name="{ORDER_NAME}">{ORDER_OPTIONS}</select>
|
||||
<label><input id="sort_asc" type="radio" name="{SORT_NAME}" value="{SORT_ASC}" {SORT_ASC_CHECKED} /> A-Z</label>
|
||||
<label><input id="sort_desc" type="radio" name="{SORT_NAME}" value="{SORT_DESC}" {SORT_DESC_CHECKED} /> Z-A</label>
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="catBottom" style="padding: 0; height: 26px">
|
||||
<span class="med"><input type="submit" class="liteoption" value=" {L_SEARCH} " name="submit" /></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="bordered w100" cellspacing="0">
|
||||
<tr>
|
||||
<th class="thHead">{L_ACTS_LOG_SEARCH_OPTIONS}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1">
|
||||
<table class="fieldsets borderless bCenter pad_0" cellspacing="0">
|
||||
<tr>
|
||||
<td rowspan="2" valign="top" nowrap="nowrap" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_FORUM}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_FORUM}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_ACTION}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_LOG_TYPE}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_USER}</legend>
|
||||
<div>
|
||||
<p class="select">{SEL_USERS}</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td align="center" class="row1">
|
||||
<table class="fieldsets borderless">
|
||||
<tr>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_LOGS_FROM} ({L_ACTS_LOG_FIRST}: {FIRST_LOG_TIME})</legend>
|
||||
<div>
|
||||
<p class="input nowrap">
|
||||
<input class="post" type="text" size="10" maxlength="20" name="{DATETIME_NAME}" value="{DATETIME_VAL}"/>
|
||||
{L_ACTS_LOG_OR}
|
||||
<input class="post" type="text" size="2" maxlength="5" name="{DAYSBACK_NAME}" value="{DAYSBACK_VAL}"/>
|
||||
{L_ACTS_LOG_DAYS_BACK}
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset>
|
||||
<legend>{L_ACTS_LOG_TOPIC_MATCH}</legend>
|
||||
<div>
|
||||
<p class="input">
|
||||
<input class="post" type="text" size="28" maxlength="{TITLE_MATCH_MAX}" name="{TITLE_MATCH_NAME}" value="{TITLE_MATCH_VAL}"/>
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
<td valign="top" class="row1">
|
||||
<fieldset style="height: 45px; width: 110px;">
|
||||
<legend>{L_ACTS_LOG_SORT_BY}</legend>
|
||||
<div>
|
||||
<p class="select nowrap">
|
||||
<label>
|
||||
<input id="sort_asc" type="radio" name="{SORT_NAME}" value="{SORT_ASC}" {SORT_ASC_CHECKED} /> {L_ASC}
|
||||
</label>
|
||||
<label>
|
||||
<input id="sort_desc" type="radio" name="{SORT_NAME}" value="{SORT_DESC}" {SORT_DESC_CHECKED} /> {L_DESC}
|
||||
</label>
|
||||
</p>
|
||||
</div>
|
||||
</fieldset>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="catBottom" style="padding: 0; height: 26px">
|
||||
<span class="med"><input type="submit" class="liteoption" value=" {L_SEARCH} " name="submit"/></span>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<div class="spacer_8"></div>
|
||||
<div class="spacer_8"></div>
|
||||
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_ACTS_LOG_LOGS_ACTION}</th>
|
||||
<th>{L_ACTS_LOG_USERNAME}</th>
|
||||
<th>{L_ACTS_LOG_TIME}</th>
|
||||
<th width="60%">{L_ACTS_LOG_INFO}</th>
|
||||
</tr>
|
||||
<!-- BEGIN log -->
|
||||
<tr class="{log.ROW_CLASS}">
|
||||
<td><a class="med" href="{log.ACTION_HREF_S}"><span class="med">{log.ACTION_DESC}</span></a></td>
|
||||
<td class="tCenter" style="line-height: 14px;">
|
||||
<div class="med"><a class="med" href="{log.USER_HREF_S}"><b>{log.USERNAME}</b></a></div>
|
||||
<div class="small"><i>{log.USER_IP}</i></div>
|
||||
</td>
|
||||
<td class="small tCenter nowrap" style="line-height: 14px;">
|
||||
<div>{log.TIME}</div>
|
||||
<div><a class="small" href="{log.DATETIME_HREF_S}"><span class="small"><i>{log.DATE}</i></span></a></div>
|
||||
</td>
|
||||
<td class="med" style="line-height: 14px;">
|
||||
<!-- IF log.MSG -->
|
||||
<div class="log_msg">{log.MSG}</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.TOPIC_TITLE -->
|
||||
<div>
|
||||
<a href="{log.TOPIC_HREF_S}" class="med"><span class="med">{log.TOPIC_TITLE}</span></a>
|
||||
<!-- IF log.TOPIC_HREF -->
|
||||
<a href="{log.TOPIC_HREF}" class="med" target="_blank"><img src="{IMG}icon_latest_reply.gif" class="icon2" alt="" title="" /></a>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.TOPIC_TITLE_NEW -->
|
||||
<span class="nav"><em>»</em></span>
|
||||
<a href="{log.TOPIC_HREF_NEW_S}" class="med"><span class="med">{log.TOPIC_TITLE_NEW}</span></a>
|
||||
<a href="{log.TOPIC_HREF_NEW}" class="med" target="_blank"><img src="{IMG}icon_latest_reply.gif" class="icon2" alt="" title="" /></a>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.FORUM_NAME -->
|
||||
<div class="small nowrap">
|
||||
<a href="{log.FORUM_HREF}" class="med" target="_blank"><img src="{IMG}icon_minipost.gif" class="icon1" alt="" title="" /></a>
|
||||
<a href="{log.FORUM_HREF_S}" class="med"><i>{log.FORUM_NAME}</i></a>
|
||||
<!-- IF log.FORUM_NAME_NEW -->
|
||||
<span class="nav"><em>»</em></span>
|
||||
<a href="{log.FORUM_HREF_NEW}" class="med" target="_blank"><img src="{IMG}icon_minipost.gif" class="icon1" alt="" title="" /></a>
|
||||
<a href="{log.FORUM_HREF_NEW_S}" class="med"><i>{log.FORUM_NAME_NEW}</i></a>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END log -->
|
||||
<!-- BEGIN log_not_found -->
|
||||
<tr>
|
||||
<td class="row1 tCenter pad_12" colspan="{LOG_COLSPAN}"><span class="gen">{L_NO_MATCH}</span></td>
|
||||
</tr>
|
||||
<!-- END log_not_found -->
|
||||
<tr>
|
||||
<td class="spaceRow" colspan="{LOG_COLSPAN}"><div class="spacer_4"></div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_ACTS_LOG_LOGS_ACTION}</th>
|
||||
<th>{L_ACTS_LOG_USERNAME}</th>
|
||||
<th>{L_ACTS_LOG_TIME}</th>
|
||||
<th width="60%">{L_ACTS_LOG_INFO}</th>
|
||||
</tr>
|
||||
<!-- BEGIN log -->
|
||||
<tr class="{log.ROW_CLASS}">
|
||||
<td><a class="med" href="{log.ACTION_HREF_S}"><span class="med">{log.ACTION_DESC}</span></a></td>
|
||||
<td class="tCenter" style="line-height: 14px;">
|
||||
<div class="med"><a class="med" href="{log.USER_HREF_S}"><b>{log.USERNAME}</b></a></div>
|
||||
<div class="small"><i>{log.USER_IP}</i></div>
|
||||
</td>
|
||||
<td class="small tCenter nowrap" style="line-height: 14px;">
|
||||
<div>{log.TIME}</div>
|
||||
<div><a class="small" href="{log.DATETIME_HREF_S}"><span class="small"><i>{log.DATE}</i></span></a></div>
|
||||
</td>
|
||||
<td class="med" style="line-height: 14px;">
|
||||
<!-- IF log.MSG -->
|
||||
<div class="log_msg">{log.MSG}</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.TOPIC_TITLE -->
|
||||
<div>
|
||||
<a href="{log.TOPIC_HREF_S}" class="med"><span class="med">{log.TOPIC_TITLE}</span></a>
|
||||
<!-- IF log.TOPIC_HREF -->
|
||||
<a href="{log.TOPIC_HREF}" class="med" target="_blank">
|
||||
<img src="{IMG}icon_latest_reply.gif" class="icon2" alt="" title=""/>
|
||||
</a>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.TOPIC_TITLE_NEW -->
|
||||
<span class="nav"><em>»</em></span>
|
||||
<a href="{log.TOPIC_HREF_NEW_S}" class="med"><span class="med">{log.TOPIC_TITLE_NEW}</span></a>
|
||||
<a href="{log.TOPIC_HREF_NEW}" class="med" target="_blank">
|
||||
<img src="{IMG}icon_latest_reply.gif" class="icon2" alt="" title=""/>
|
||||
</a>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF log.FORUM_NAME -->
|
||||
<div class="small nowrap">
|
||||
<a href="{log.FORUM_HREF}" class="med" target="_blank">
|
||||
<img src="{IMG}icon_minipost.gif" class="icon1" alt="" title=""/>
|
||||
</a>
|
||||
<a href="{log.FORUM_HREF_S}" class="med"><i>{log.FORUM_NAME}</i></a>
|
||||
<!-- IF log.FORUM_NAME_NEW -->
|
||||
<span class="nav"><em>»</em></span>
|
||||
<a href="{log.FORUM_HREF_NEW}" class="med" target="_blank">
|
||||
<img src="{IMG}icon_minipost.gif" class="icon1" alt="" title=""/>
|
||||
</a>
|
||||
<a href="{log.FORUM_HREF_NEW_S}" class="med"><i>{log.FORUM_NAME_NEW}</i></a>
|
||||
<!-- ENDIF -->
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END log -->
|
||||
<!-- BEGIN log_not_found -->
|
||||
<tr>
|
||||
<td class="row1 tCenter pad_12" colspan="{LOG_COLSPAN}"><span class="gen">{L_NO_MATCH}</span></td>
|
||||
</tr>
|
||||
<!-- END log_not_found -->
|
||||
<tr>
|
||||
<td class="spaceRow" colspan="{LOG_COLSPAN}">
|
||||
<div class="spacer_4"></div>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="nav" style="margin: 8px 4px 14px 4px">
|
||||
<div style="float:left">{PAGE_NUMBER}</div>
|
||||
<div style="float:right">{PAGINATION}</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF PAGINATION -->
|
||||
<div class="nav" style="margin: 8px 4px 14px 4px">
|
||||
<div style="float:left">{PAGE_NUMBER}</div>
|
||||
<div style="float:right">{PAGINATION}</div>
|
||||
</div>
|
||||
<div class="clear"></div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</form>
|
||||
|
||||
|
@ -170,42 +195,43 @@ table.log_filters td {
|
|||
<div class="spacer_8"></div>
|
||||
|
||||
<fieldset class="row3">
|
||||
<legend>{L_ACTS_LOG_FILTER}</legend>
|
||||
<table class="log_filters" cellspacing="4">
|
||||
<tr>
|
||||
<!-- IF FILTER_FORUMS -->
|
||||
<td>
|
||||
<p class="med bold">{L_FORUMS}:</p>
|
||||
<div>
|
||||
<!-- BEGIN forums -->
|
||||
<p class="med mrg_4">{forums.FORUM_NAME}</p>
|
||||
<!-- END forums -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
<legend>{L_ACTS_LOG_FILTER}</legend>
|
||||
<table class="log_filters" cellspacing="4">
|
||||
<tr>
|
||||
<!-- IF FILTER_FORUMS -->
|
||||
<td>
|
||||
<p class="med bold">{L_FORUMS}:</p>
|
||||
<div>
|
||||
<!-- BEGIN forums -->
|
||||
<p class="med mrg_4">{forums.FORUM_NAME}</p>
|
||||
<!-- END forums -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF FILTER_TOPICS -->
|
||||
<td>
|
||||
<p class="med bold">{L_ACTS_LOG_TOPICS}</p>
|
||||
<div>
|
||||
<!-- BEGIN topics -->
|
||||
<p class="med mrg_4">{topics.TOPIC_TITLE}</p>
|
||||
<!-- END topics -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF FILTER_TOPICS -->
|
||||
<td>
|
||||
<p class="med bold">{L_ACTS_LOG_TOPICS}</p>
|
||||
<div>
|
||||
<!-- BEGIN topics -->
|
||||
<p class="med mrg_4">{topics.TOPIC_TITLE}</p>
|
||||
<!-- END topics -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF FILTER_USERS -->
|
||||
<td>
|
||||
<p class="med bold">{L_ACTS_LOG_USER}:</p>
|
||||
<div>
|
||||
<!-- BEGIN users -->
|
||||
<p class="med mrg_4">{users.USERNAME}</p>
|
||||
<!-- END users -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
<!-- IF FILTER_USERS -->
|
||||
<td>
|
||||
<p class="med bold">{L_USER}:</p>
|
||||
<div>
|
||||
<!-- BEGIN users -->
|
||||
<p class="med mrg_4">{users.USERNAME}</p>
|
||||
<!-- END users -->
|
||||
</div>
|
||||
</td>
|
||||
<!-- ENDIF -->
|
||||
|
||||
</tr></table>
|
||||
</tr>
|
||||
</table>
|
||||
</fieldset>
|
||||
<!-- ENDIF -->
|
|
@ -15,7 +15,7 @@
|
|||
</tr>
|
||||
<tr>
|
||||
<td class="row1" align="right"><b>{L_SUBJECT}</b></td>
|
||||
<td class="row2"><input class="post" type="text" name="subject" size="45" maxlength="100" style="width:98%" tabindex="2" class="post" value="{SUBJECT}" /></td>
|
||||
<td class="row2"><input type="text" name="subject" size="45" maxlength="100" style="width:98%" tabindex="2" class="post" value="{SUBJECT}" /></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" align="right" valign="top"> <span class="gen"><b>{L_MESSAGE}</b></span></td>
|
||||
|
@ -31,7 +31,7 @@
|
|||
<script type="text/javascript">
|
||||
function checkForm(formObj)
|
||||
{
|
||||
formErrors = false;
|
||||
var formErrors = false;
|
||||
|
||||
if (formObj.message.value.length < 2) {
|
||||
formErrors = "{L_EMPTY_MESSAGE_EMAIL}";
|
||||
|
|
|
@ -3,14 +3,15 @@
|
|||
<!DOCTYPE html>
|
||||
<html>
|
||||
<head>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={CONTENT_ENCODING}" />
|
||||
<meta http-equiv="Content-Style-Type" content="text/css" />
|
||||
<title>{L_ADMIN}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset={CONTENT_ENCODING}"/>
|
||||
<meta http-equiv="Content-Style-Type" content="text/css"/>
|
||||
<link rel="shortcut icon" href="{SITE_URL}favicon.png" type="image/x-icon">
|
||||
<title>{L_ADMIN}</title>
|
||||
</head>
|
||||
|
||||
<frameset cols="220,*" rows="*" border="1" framespacing="1" frameborder="yes">
|
||||
<frame src="index.php?pane=left" name="nav" marginwidth="0" marginheight="0" scrolling="auto">
|
||||
<frame src="index.php?pane=right" name="main" marginwidth="0" marginheight="0" scrolling="auto">
|
||||
<frame src="index.php?pane=left" name="nav" marginwidth="0" marginheight="0" scrolling="auto">
|
||||
<frame src="index.php?pane=right" name="main" marginwidth="0" marginheight="0" scrolling="auto">
|
||||
</frameset>
|
||||
</html>
|
||||
<!--========================================================================-->
|
||||
|
@ -20,32 +21,42 @@
|
|||
<!--========================================================================-->
|
||||
|
||||
<style type="text/css">
|
||||
body { background: #E5E5E5; min-width: 10px; }
|
||||
#body_container { background: #E5E5E5; padding: 4px 3px 4px; }
|
||||
table.forumline { margin: 0 auto; }
|
||||
body {
|
||||
background: #E5E5E5;
|
||||
min-width: 10px;
|
||||
}
|
||||
|
||||
#body_container {
|
||||
background: #E5E5E5;
|
||||
padding: 4px 3px 4px;
|
||||
}
|
||||
|
||||
table.forumline {
|
||||
margin: 0 auto;
|
||||
}
|
||||
</style>
|
||||
|
||||
<table class="forumline" id="acp_main_nav">
|
||||
<col class="row1">
|
||||
<tr>
|
||||
<th>{L_ADMIN}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="{U_ADMIN_INDEX}" target="main" class="med">{L_ADMIN_INDEX}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="{U_FORUM_INDEX}" target="_parent" class="med">{L_MAIN_INDEX}</a></td>
|
||||
</tr>
|
||||
<!-- BEGIN catrow -->
|
||||
<tr>
|
||||
<td class="catTitle">{catrow.ADMIN_CATEGORY}</td>
|
||||
</tr>
|
||||
<!-- BEGIN modulerow -->
|
||||
<tr>
|
||||
<td><a href="{catrow.modulerow.U_ADMIN_MODULE}" target="main" class="med">{catrow.modulerow.ADMIN_MODULE}</a></td>
|
||||
</tr>
|
||||
<!-- END modulerow -->
|
||||
<!-- END catrow -->
|
||||
<col class="row1">
|
||||
<tr>
|
||||
<th>{L_ADMIN}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="{U_ADMIN_INDEX}" target="main" class="med">{L_ADMIN_INDEX}</a></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><a href="{U_FORUM_INDEX}" target="_parent" class="med">{L_MAIN_INDEX}</a></td>
|
||||
</tr>
|
||||
<!-- BEGIN catrow -->
|
||||
<tr>
|
||||
<td class="catTitle">{catrow.ADMIN_CATEGORY}</td>
|
||||
</tr>
|
||||
<!-- BEGIN modulerow -->
|
||||
<tr>
|
||||
<td><a href="{catrow.modulerow.U_ADMIN_MODULE}" target="main" class="med">{catrow.modulerow.ADMIN_MODULE}</a></td>
|
||||
</tr>
|
||||
<!-- END modulerow -->
|
||||
<!-- END catrow -->
|
||||
</table>
|
||||
|
||||
<!--========================================================================-->
|
||||
|
@ -54,166 +65,165 @@ table.forumline { margin: 0 auto; }
|
|||
<!-- IF TPL_ADMIN_MAIN -->
|
||||
<!--========================================================================-->
|
||||
<script type="text/javascript">
|
||||
ajax.manage_admin = function (mode) {
|
||||
ajax.exec({
|
||||
action : 'manage_admin',
|
||||
mode : mode,
|
||||
user_id : ''
|
||||
});
|
||||
};
|
||||
ajax.callback.manage_admin = function(data) {
|
||||
$('#cache').html(data.cache_html);
|
||||
$('#datastore').html(data.datastore_html);
|
||||
$('#indexer').html(data.indexer_html);
|
||||
$('#template_cache').html(data.template_cache_html);
|
||||
$('#update_user_level').html(data.update_user_level_html);
|
||||
$('#sync_topics').html(data.sync_topics_html);
|
||||
$('#sync_user_posts').html(data.sync_user_posts_html);
|
||||
$('#unlock_cron').html(data.unlock_cron_html);
|
||||
}
|
||||
ajax.manage_admin = function (mode) {
|
||||
ajax.exec({
|
||||
action: 'manage_admin',
|
||||
mode: mode,
|
||||
user_id: ''
|
||||
});
|
||||
};
|
||||
ajax.callback.manage_admin = function (data) {
|
||||
$('#cache').html(data.cache_html);
|
||||
$('#datastore').html(data.datastore_html);
|
||||
$('#indexer').html(data.indexer_html);
|
||||
$('#template_cache').html(data.template_cache_html);
|
||||
$('#update_user_level').html(data.update_user_level_html);
|
||||
$('#sync_topics').html(data.sync_topics_html);
|
||||
$('#sync_user_posts').html(data.sync_user_posts_html);
|
||||
$('#unlock_cron').html(data.unlock_cron_html);
|
||||
}
|
||||
</script>
|
||||
|
||||
<br />
|
||||
<br/>
|
||||
|
||||
<!-- IF ADMIN_LOCK_CRON -->
|
||||
<div class="alert alert-danger" style="width: 95%;">
|
||||
<h4 class="alert-heading">{L_ADMIN_DISABLE_CRON_TITLE}</h4><hr>
|
||||
<a href="#" id="unlock_cron" onclick="ajax.manage_admin('unlock_cron'); return false;">{L_ADMIN_UNLOCK_CRON}</a>
|
||||
({L_ADMIN_DISABLE_CRON})
|
||||
<h4 class="alert-heading">{L_ADMIN_DISABLE_CRON_TITLE}</h4>
|
||||
<hr>
|
||||
<a href="#" id="unlock_cron" onclick="ajax.manage_admin('unlock_cron'); return false;">{L_ADMIN_UNLOCK_CRON}</a>
|
||||
({L_ADMIN_DISABLE_CRON})
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF ADMIN_LOCK -->
|
||||
<div class="alert alert-danger" style="width: 95%;">
|
||||
<h4 class="alert-heading">{L_ADMIN_DISABLE_TITLE}</h4><hr>
|
||||
<a href="admin_board.php?mode=config">{L_ADMIN_UNLOCK}</a>
|
||||
({L_ADMIN_DISABLE})
|
||||
<h4 class="alert-heading">{L_ADMIN_DISABLE_TITLE}</h4>
|
||||
<hr>
|
||||
<a href="admin_board.php?mode=config">{L_ADMIN_UNLOCK}</a>
|
||||
({L_ADMIN_DISABLE})
|
||||
</div>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<table>
|
||||
<tr>
|
||||
<td><b>{L_CLEAR_CACHE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="datastore" onclick="ajax.manage_admin('clear_datastore'); return false;">{L_DATASTORE}</a>,
|
||||
<a href="#" id="cache" onclick="ajax.manage_admin('clear_cache'); return false;">{L_ALL_CACHE}</a>,
|
||||
<a href="#" id="template_cache" onclick="ajax.manage_admin('clear_template_cache'); return false;">{L_TEMPLATES}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_UPDATE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="update_user_level" onclick="ajax.manage_admin('update_user_level'); return false;">{L_USER_LEVELS}</a>
|
||||
<!-- IF $bb_cfg['search_engine_type'] == "sphinx" -->, <a href="#" id="indexer" onclick="ajax.manage_admin('indexer'); return false;">{L_INDEXER}</a><!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_SYNCHRONIZE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="sync_topics" onclick="ajax.manage_admin('sync_topics'); return false;">{L_TOPICS}</a>,
|
||||
<a href="#" id="sync_user_posts" onclick="ajax.manage_admin('sync_user_posts'); return false;">{L_USER_POSTS_COUNT}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_STATISTICS}:</b></td>
|
||||
<td>
|
||||
<a href="stats/tr_stats.php" target="_blank">tr_stats.php</a>,
|
||||
<a href="stats/tracker.php" target="_blank">tracker.php</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_ADMIN}:</b></td>
|
||||
<td>
|
||||
<a href="../profile.php?mode=register&admin=1">{L_CREATE_PROFILE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_CLEAR_CACHE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="datastore" onclick="ajax.manage_admin('clear_datastore'); return false;">{L_DATASTORE}</a>,
|
||||
<a href="#" id="cache" onclick="ajax.manage_admin('clear_cache'); return false;">{L_ALL_CACHE}</a>,
|
||||
<a href="#" id="template_cache" onclick="ajax.manage_admin('clear_template_cache'); return false;">{L_TEMPLATES}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_UPDATE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="update_user_level" onclick="ajax.manage_admin('update_user_level'); return false;">{L_USER_LEVELS}</a>
|
||||
<!-- IF $bb_cfg['search_engine_type'] == "sphinx" -->,
|
||||
<a href="#" id="indexer" onclick="ajax.manage_admin('indexer'); return false;">{L_INDEXER}</a>
|
||||
<!-- ENDIF -->
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_SYNCHRONIZE}:</b></td>
|
||||
<td>
|
||||
<a href="#" id="sync_topics" onclick="ajax.manage_admin('sync_topics'); return false;">{L_TOPICS}</a>,
|
||||
<a href="#" id="sync_user_posts" onclick="ajax.manage_admin('sync_user_posts'); return false;">{L_USER_POSTS_COUNT}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_STATISTICS}:</b></td>
|
||||
<td>
|
||||
<a href="stats/tr_stats.php" target="_blank">tr_stats.php</a>,
|
||||
<a href="stats/tracker.php" target="_blank">tracker.php</a>
|
||||
</td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td><b>{L_ADMIN}:</b></td>
|
||||
<td>
|
||||
<a href="../profile.php?mode=register&admin=1">{L_CREATE_PROFILE}</a>
|
||||
</td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<br/>
|
||||
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th colspan="2">{L_VERSION_INFORMATION}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap" width="25%">{L_TP_VERSION}:</td>
|
||||
<td class="row2"><b>{$bb_cfg['tp_release_codename']} ({$bb_cfg['tp_version']})</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap" width="25%">{L_TP_RELEASE_DATE}:</td>
|
||||
<td class="row2"><b>{$bb_cfg['tp_release_date']}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th colspan="2">{L_VERSION_INFORMATION}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap" width="25%">{L_TP_VERSION}:</td>
|
||||
<td class="row2"><b>{$bb_cfg['tp_release_codename']} ({$bb_cfg['tp_version']})</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap" width="25%">{L_TP_RELEASE_DATE}:</td>
|
||||
<td class="row2"><b>{$bb_cfg['tp_release_date']}</b></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<br/>
|
||||
|
||||
<h3>{L_FORUM_STATS}</h3>
|
||||
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th width="25%">{L_STATISTIC}</th>
|
||||
<th width="25%">{L_VALUE}</th>
|
||||
<th width="25%">{L_STATISTIC}</th>
|
||||
<th width="25%">{L_VALUE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_POSTS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_POSTS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_POSTS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{POSTS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_TOPICS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_TOPICS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_TOPICS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{TOPICS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_USERS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_USERS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_USERS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{USERS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_BOARD_STARTED}:</td>
|
||||
<td class="row2"><b>{START_DATE}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_AVATAR_DIR_SIZE}:</td>
|
||||
<td class="row2"><b>{AVATAR_DIR_SIZE}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_DATABASE_SIZE}:</td>
|
||||
<td class="row2"><b>{DB_SIZE}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_GZIP_COMPRESSION}:</td>
|
||||
<td class="row2"><b>{GZIP_COMPRESSION}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<th width="25%">{L_STATISTIC}</th>
|
||||
<th width="25%">{L_VALUE}</th>
|
||||
<th width="25%">{L_STATISTIC}</th>
|
||||
<th width="25%">{L_VALUE}</th>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_POSTS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_POSTS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_POSTS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{POSTS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_TOPICS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_TOPICS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_TOPICS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{TOPICS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_NUMBER_USERS}:</td>
|
||||
<td class="row2"><b>{NUMBER_OF_USERS}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_USERS_PER_DAY}:</td>
|
||||
<td class="row2"><b>{USERS_PER_DAY}</b></td>
|
||||
</tr>
|
||||
<tr>
|
||||
<td class="row1" nowrap="nowrap">{L_BOARD_STARTED}:</td>
|
||||
<td class="row2"><b>{START_DATE}</b></td>
|
||||
<td class="row1" nowrap="nowrap">{L_AVATAR_DIR_SIZE}:</td>
|
||||
<td class="row2"><b>{AVATAR_DIR_SIZE}</b></td>
|
||||
</tr>
|
||||
</table>
|
||||
<br />
|
||||
<br/>
|
||||
|
||||
<a name="online"></a>
|
||||
<h3>{L_WHOSONLINE}</h3>
|
||||
|
||||
<!-- IF SHOW_USERS_ONLINE -->
|
||||
<table class="forumline">
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_LOGIN} / {L_LAST_UPDATED}</th>
|
||||
<th>{L_IP_ADDRESS}</th>
|
||||
</tr>
|
||||
<!-- BEGIN reg_user_row -->
|
||||
<tr class="{reg_user_row.ROW_CLASS}">
|
||||
<td class="bold" nowrap="nowrap">{reg_user_row.USER}</td>
|
||||
<td align="center" nowrap="nowrap">{reg_user_row.STARTED}-{reg_user_row.LASTUPDATE}</td>
|
||||
<td class="tCenter"><a href="{reg_user_row.U_WHOIS_IP}" class="gen" target="_blank">{reg_user_row.IP_ADDRESS}</a></td>
|
||||
</tr>
|
||||
<!-- END reg_user_row -->
|
||||
<tr>
|
||||
<td colspan="3" class="row3"><img src="{SPACER}" width="1" height="1" alt="."></td>
|
||||
</tr>
|
||||
<!-- BEGIN guest_user_row -->
|
||||
<tr class="{guest_user_row.ROW_CLASS}">
|
||||
<td nowrap="nowrap">{L_GUEST}</td>
|
||||
<td align="center">{guest_user_row.STARTED}-{guest_user_row.LASTUPDATE}</td>
|
||||
<td class="tCenter"><a href="{guest_user_row.U_WHOIS_IP}" target="_blank">{guest_user_row.IP_ADDRESS}</a></td>
|
||||
</tr>
|
||||
<!-- END guest_user_row -->
|
||||
<tr>
|
||||
<th>{L_USERNAME}</th>
|
||||
<th>{L_LOGIN} / {L_LAST_UPDATED}</th>
|
||||
<th>{L_IP_ADDRESS}</th>
|
||||
</tr>
|
||||
<!-- BEGIN reg_user_row -->
|
||||
<tr class="{reg_user_row.ROW_CLASS}">
|
||||
<td class="bold" nowrap="nowrap">{reg_user_row.USER}</td>
|
||||
<td align="center" nowrap="nowrap">{reg_user_row.STARTED}-{reg_user_row.LASTUPDATE}</td>
|
||||
<td class="tCenter"><a href="{reg_user_row.U_WHOIS_IP}" class="gen" target="_blank">{reg_user_row.IP_ADDRESS}</a>
|
||||
</td>
|
||||
</tr>
|
||||
<!-- END reg_user_row -->
|
||||
<tr>
|
||||
<td colspan="3" class="row3"><img src="{SPACER}" width="1" height="1" alt="."></td>
|
||||
</tr>
|
||||
<!-- BEGIN guest_user_row -->
|
||||
<tr class="{guest_user_row.ROW_CLASS}">
|
||||
<td nowrap="nowrap">{L_GUEST}</td>
|
||||
<td align="center">{guest_user_row.STARTED}-{guest_user_row.LASTUPDATE}</td>
|
||||
<td class="tCenter"><a href="{guest_user_row.U_WHOIS_IP}" target="_blank">{guest_user_row.IP_ADDRESS}</a></td>
|
||||
</tr>
|
||||
<!-- END guest_user_row -->
|
||||
</table>
|
||||
<!-- ELSE -->
|
||||
<a href="{USERS_ONLINE_HREF}#online">{L_SHOW_ONLINE_USERLIST}</a>
|
||||
|
|
|
@ -493,12 +493,6 @@ $(document).ready(function() {
|
|||
</table>
|
||||
</div>
|
||||
|
||||
<!-- IF AD_BLOCK_200 -->
|
||||
<div id="ad-200">{AD_BLOCK_200}</div><!--/ad-200-->
|
||||
<!-- ELSEIF AD_BLOCK_100 -->
|
||||
<div id="ad-100">{AD_BLOCK_100}</div><!--/ad-100-->
|
||||
<!-- ENDIF / AD_BLOCK_100 -->
|
||||
|
||||
<!--=======================-->
|
||||
<!-- ENDIF / COMMON_HEADER -->
|
||||
<!--***********************-->
|
||||
|
|
|
@ -131,8 +131,8 @@ $images['progress_bar_full'] = $_main . 'progress_bar_full.gif';
|
|||
$template->assign_vars(array(
|
||||
'IMG' => $_main,
|
||||
'TEXT_BUTTONS' => $bb_cfg['text_buttons'],
|
||||
'POST_BTN_SPACER' => ($bb_cfg['text_buttons']) ? ' ' : '',
|
||||
'TOPIC_ATTACH_ICON' => '<img src="' . $_main . 'icon_clip.gif" alt="" />',
|
||||
'POST_BTN_SPACER' => $bb_cfg['text_buttons'] ? ' ' : '',
|
||||
'TOPIC_ATTACH_ICON' => '<img src="styles/images/icon_clip.gif" alt="" />',
|
||||
'OPEN_MENU_IMG_ALT' => '<img src="' . $_main . 'menu_open_1.gif" class="menu-alt1" alt="" />',
|
||||
'TOPIC_LEFT_COL_SPACER_WITDH' => $bb_cfg['topic_left_column_witdh'] - 8, // 8px padding
|
||||
'POST_IMG_WIDTH_DECR_JS' => $bb_cfg['topic_left_column_witdh'] + $bb_cfg['post_img_width_decr'],
|
||||
|
@ -145,24 +145,24 @@ $template->assign_vars(array(
|
|||
if (!empty($page_cfg['load_tpl_vars']) and $vars = array_flip($page_cfg['load_tpl_vars'])) {
|
||||
if (isset($vars['post_buttons'])) {
|
||||
$template->assign_vars(array(
|
||||
'QUOTE_IMG' => ($bb_cfg['text_buttons']) ? $lang['REPLY_WITH_QUOTE_TXTB'] : '<img src="' . $images['icon_quote'] . '" alt="' . $lang['REPLY_WITH_QUOTE_TXTB'] . '" title="' . $lang['REPLY_WITH_QUOTE'] . '" />',
|
||||
'EDIT_POST_IMG' => ($bb_cfg['text_buttons']) ? $lang['EDIT_DELETE_POST_TXTB'] : '<img src="' . $images['icon_edit'] . '" alt="' . $lang['EDIT_DELETE_POST_TXTB'] . '" title="' . $lang['EDIT_POST'] . '" />',
|
||||
'DELETE_POST_IMG' => ($bb_cfg['text_buttons']) ? $lang['DELETE_POST_TXTB'] : '<img src="' . $images['icon_delpost'] . '" alt="' . $lang['DELETE_POST_TXTB'] . '" title="' . $lang['DELETE_POST'] . '" />',
|
||||
'IP_POST_IMG' => ($bb_cfg['text_buttons']) ? $lang['VIEW_IP_TXTB'] : '<img src="' . $images['icon_ip'] . '" alt="' . $lang['VIEW_IP_TXTB'] . '" title="' . $lang['VIEW_IP'] . '" />',
|
||||
'MOD_POST_IMG' => ($bb_cfg['text_buttons']) ? $lang['MODERATE_POST_TXTB'] : '<img src="' . $images['icon_mod'] . '" alt="' . $lang['MODERATE_POST_TXTB'] . '" title="' . $lang['MODERATE_POST'] . '" />',
|
||||
'MC_IMG' => ($bb_cfg['text_buttons']) ? '[' . $lang['COMMENT'] . ']' : '<img src="' . $images['icon_mc'] . '" alt="[' . $lang['COMMENT'] . ']" title="' . $lang['COMMENT'] . '" />',
|
||||
'POLL_IMG' => ($bb_cfg['text_buttons']) ? $lang['TOPIC_POLL'] : '<img src="' . $images['icon_poll'] . '" alt="' . $lang['TOPIC_POLL'] . '" title="' . $lang['ADD_POLL'] . '" />',
|
||||
'QUOTE_IMG' => $bb_cfg['text_buttons'] ? $lang['REPLY_WITH_QUOTE_TXTB'] : '<img src="' . $images['icon_quote'] . '" alt="' . $lang['REPLY_WITH_QUOTE_TXTB'] . '" title="' . $lang['REPLY_WITH_QUOTE'] . '" />',
|
||||
'EDIT_POST_IMG' => $bb_cfg['text_buttons'] ? $lang['EDIT_DELETE_POST_TXTB'] : '<img src="' . $images['icon_edit'] . '" alt="' . $lang['EDIT_DELETE_POST_TXTB'] . '" title="' . $lang['EDIT_POST'] . '" />',
|
||||
'DELETE_POST_IMG' => $bb_cfg['text_buttons'] ? $lang['DELETE_POST_TXTB'] : '<img src="' . $images['icon_delpost'] . '" alt="' . $lang['DELETE_POST_TXTB'] . '" title="' . $lang['DELETE_POST'] . '" />',
|
||||
'IP_POST_IMG' => $bb_cfg['text_buttons'] ? $lang['VIEW_IP_TXTB'] : '<img src="' . $images['icon_ip'] . '" alt="' . $lang['VIEW_IP_TXTB'] . '" title="' . $lang['VIEW_IP'] . '" />',
|
||||
'MOD_POST_IMG' => $bb_cfg['text_buttons'] ? $lang['MODERATE_POST_TXTB'] : '<img src="' . $images['icon_mod'] . '" alt="' . $lang['MODERATE_POST_TXTB'] . '" title="' . $lang['MODERATE_POST'] . '" />',
|
||||
'MC_IMG' => $bb_cfg['text_buttons'] ? '[' . $lang['COMMENT'] . ']' : '<img src="' . $images['icon_mc'] . '" alt="[' . $lang['COMMENT'] . ']" title="' . $lang['COMMENT'] . '" />',
|
||||
'POLL_IMG' => $bb_cfg['text_buttons'] ? $lang['TOPIC_POLL'] : '<img src="' . $images['icon_poll'] . '" alt="' . $lang['TOPIC_POLL'] . '" title="' . $lang['ADD_POLL'] . '" />',
|
||||
|
||||
'QUOTE_URL' => BB_ROOT . POSTING_URL . "?mode=quote&p=",
|
||||
'EDIT_POST_URL' => BB_ROOT . POSTING_URL . "?mode=editpost&p=",
|
||||
'DELETE_POST_URL' => BB_ROOT . POSTING_URL . "?mode=delete&p=",
|
||||
'IP_POST_URL' => BB_ROOT . "modcp.php?mode=ip&p=",
|
||||
'QUOTE_URL' => BB_ROOT . POSTING_URL . '?mode=quote&p=',
|
||||
'EDIT_POST_URL' => BB_ROOT . POSTING_URL . '?mode=editpost&p=',
|
||||
'DELETE_POST_URL' => BB_ROOT . POSTING_URL . '?mode=delete&p=',
|
||||
'IP_POST_URL' => BB_ROOT . 'modcp.php?mode=ip&p=',
|
||||
|
||||
'PROFILE_IMG' => ($bb_cfg['text_buttons']) ? $lang['READ_PROFILE_TXTB'] : '<img src="' . $images['icon_profile'] . '" alt="' . $lang['READ_PROFILE_TXTB'] . '" title="' . $lang['READ_PROFILE'] . '" />',
|
||||
'PM_IMG' => ($bb_cfg['text_buttons']) ? $lang['SEND_PM_TXTB'] : '<img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PM_TXTB'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" />',
|
||||
'EMAIL_IMG' => ($bb_cfg['text_buttons']) ? $lang['SEND_EMAIL_TXTB'] : '<img src="' . $images['icon_email'] . '" alt="' . $lang['SEND_EMAIL_TXTB'] . '" title="' . $lang['SEND_EMAIL'] . '" />',
|
||||
'WWW_IMG' => ($bb_cfg['text_buttons']) ? $lang['VISIT_WEBSITE_TXTB'] : '<img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE_TXTB'] . '" title="' . $lang['VISIT_WEBSITE'] . '" />',
|
||||
'ICQ_IMG' => ($bb_cfg['text_buttons']) ? $lang['ICQ_TXTB'] : '<img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ_TXTB'] . '" title="' . $lang['ICQ'] . '" />',
|
||||
'PROFILE_IMG' => $bb_cfg['text_buttons'] ? $lang['READ_PROFILE_TXTB'] : '<img src="' . $images['icon_profile'] . '" alt="' . $lang['READ_PROFILE_TXTB'] . '" title="' . $lang['READ_PROFILE'] . '" />',
|
||||
'PM_IMG' => $bb_cfg['text_buttons'] ? $lang['SEND_PM_TXTB'] : '<img src="' . $images['icon_pm'] . '" alt="' . $lang['SEND_PM_TXTB'] . '" title="' . $lang['SEND_PRIVATE_MESSAGE'] . '" />',
|
||||
'EMAIL_IMG' => $bb_cfg['text_buttons'] ? $lang['SEND_EMAIL_TXTB'] : '<img src="' . $images['icon_email'] . '" alt="' . $lang['SEND_EMAIL_TXTB'] . '" title="' . $lang['SEND_EMAIL'] . '" />',
|
||||
'WWW_IMG' => $bb_cfg['text_buttons'] ? $lang['VISIT_WEBSITE_TXTB'] : '<img src="' . $images['icon_www'] . '" alt="' . $lang['VISIT_WEBSITE_TXTB'] . '" title="' . $lang['VISIT_WEBSITE'] . '" />',
|
||||
'ICQ_IMG' => $bb_cfg['text_buttons'] ? $lang['ICQ_TXTB'] : '<img src="' . $images['icon_icq'] . '" alt="' . $lang['ICQ_TXTB'] . '" title="' . $lang['ICQ'] . '" />',
|
||||
|
||||
'EMAIL_URL' => BB_ROOT . "profile.php?mode=email&u=",
|
||||
'FORUM_URL' => BB_ROOT . FORUM_URL,
|
||||
|
|
|
@ -50,7 +50,7 @@
|
|||
<script type="text/javascript">
|
||||
function checkForm(formObj) {
|
||||
|
||||
formErrors = false;
|
||||
var formErrors = false;
|
||||
|
||||
if (formObj.message.value.length < 2) {
|
||||
formErrors = "{L_EMPTY_MESSAGE_EMAIL}";
|
||||
|
|
|
@ -638,19 +638,16 @@ td.topic_id { cursor: pointer; }
|
|||
<!-- IF LOGGED_IN -->
|
||||
<p class="med"><a href="{U_MARK_READ}">{L_MARK_TOPICS_READ}</a></p>
|
||||
<!-- IF IS_AM -->
|
||||
<p class="mrg_2 tRight">{L_AUTOCLEAN} <!-- IF PRUNE_DAYS --><b>{PRUNE_DAYS} {L_DAYS}</b><!-- ELSE -->{L_DISABLED}<!-- ENDIF --></p>
|
||||
<p class="mrg_2 tRight">{L_AUTOCLEAN}: <!-- IF PRUNE_DAYS --><b>{PRUNE_DAYS} {L_DAYS}</b><!-- ELSE -->{L_DISABLED}<!-- ENDIF --></p>
|
||||
<!-- ENDIF -->
|
||||
|
||||
<!-- IF IS_ADMIN -->
|
||||
<div class="med tCenter">
|
||||
{L_ADMIN}:
|
||||
<!-- IF $bb_cfg['new_tpls'] -->
|
||||
<a href="{POSTING_URL}?mode=new_rel&f={FORUM_ID}&edit_tpl=1" class="bold" target="_blank">{L_DESIGNER}</a> ·
|
||||
<!-- ENDIF -->
|
||||
<a href="admin/admin_log.php?f={FORUM_ID}&db={$bb_cfg['log_days_keep']}" target="_blank">{L_FORUM_LOGS}</a> ·
|
||||
<a href="admin/admin_forums.php?mode=editforum&f={FORUM_ID}" target="_blank">{L_EDIT}</a> ·
|
||||
<a href="admin/admin_forumauth.php?f={FORUM_ID}" target="_blank">{L_PERMISSIONS}</a> ·
|
||||
<a href="admin/admin_forums.php?mode=deleteforum&f={FORUM_ID}" target="_blank">{L_DELETE}</a>
|
||||
<div class="med tCenter">{L_ADMIN}:
|
||||
<a href="{POSTING_URL}?mode=new_rel&f={FORUM_ID}&edit_tpl=1" class="bold" target="_blank">{L_DESIGNER}</a> ·
|
||||
<a href="admin/admin_log.php?f={FORUM_ID}&db={$bb_cfg['log_days_keep']}" target="_blank">{L_FORUM_LOGS}</a> ·
|
||||
<a href="admin/admin_forums.php?mode=editforum&f={FORUM_ID}" target="_blank">{L_EDIT}</a> ·
|
||||
<a href="admin/admin_forumauth.php?f={FORUM_ID}" target="_blank">{L_PERMISSIONS}</a> ·
|
||||
<a href="admin/admin_forums.php?mode=deleteforum&f={FORUM_ID}" target="_blank">{L_DELETE}</a>
|
||||
</div>
|
||||
<!-- ENDIF / IS_ADMIN -->
|
||||
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue