message
This commit is contained in:
commit
55e0adfa17
30
404.php
Normal file
30
404.php
Normal file
@ -0,0 +1,30 @@
|
||||
<?
|
||||
include_once '/system/data/config.php';
|
||||
|
||||
echo <<<HTML
|
||||
<html>
|
||||
<head><title>404 » {$config['home_title']}</title>
|
||||
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
|
||||
<link rel="Shortcut Icon" type="image/x-icon" href="http://files-sib.net/favicon.ico" />
|
||||
<meta name="robots" content="noindex, nofollow" />
|
||||
<style type="text/css">
|
||||
body {color: #000;font-family: 'lucida grande','Lucida Sans Unicode', Tahoma, sans-serif;font-size: 75%;line-height: 1.7;margin: 0;padding: 0;font-size: small;background: #dbf3fc;}
|
||||
p {margin: 0.5em 0 0 0;line-height: 1.6em;}
|
||||
a,a:link,a:visited,a:active {text-decoration: none;color: #2786c2;}
|
||||
a:hover {text-decoration: none;color: #ff0084;}
|
||||
#Content .SplashInfo {margin: 80px 0;border-top: 1px solid #a5d0e7;border-bottom: 1px solid #a5d0e7;background: #e2f4ff;}
|
||||
#Content .SplashInfo h1 {font-family: "Helvetica Neue",Helvetica,arial,sans-serif;background: transparent;text-align: center;border: none;border-top: 1px solid #fff;color:#02455B;font-size:300%;text-shadow:0 1px 0 #FFFFFF;padding: 10px 0 0;margin: 0;line-height: 1;}
|
||||
#Content .SplashInfo p {font-family: "Helvetica Neue",Helvetica,arial,sans-serif;text-align: center;border-bottom: 1px solid #fff;margin: 0;padding: 0 0 10px;color: #076C8E;font-size: 20px;}
|
||||
</style>
|
||||
</head>
|
||||
<body>
|
||||
<div id="Content"><div class="SplashInfo">
|
||||
<h1>Óïñ...</h1>
|
||||
<p>Çàïðàøèâàåìàÿ ñòðàíèöà íå íàéäåíà
|
||||
<div align="center">Ê ñîæàëåíèþ, òàêîé ñòðàíèöû íå ñóùåñòâóåò.<br> Âåðîÿòíî, îíà áûëà óäàëåíà ñ ñåðâåðà, ëèáî åå çäåñü íèêîãäà íå áûëî.<br>
|
||||
Âïðî÷åì, åñëè âû óâåðåíû, ÷òî ñòðàíèöà äîëæíà áûòü, ñîîáùèòå íàì îá ýòîì, ìû ðàçáåð¸ìñÿ. </div></p><p><a href="{$config['http_home_url']}">Íà ãëàâíóþ</a></p>
|
||||
</div></div>
|
||||
</body></html>
|
||||
HTML;
|
||||
|
||||
?>
|
56
control.php
Normal file
56
control.php
Normal file
@ -0,0 +1,56 @@
|
||||
<?php
|
||||
@session_start ();
|
||||
@ob_start ();
|
||||
@ob_implicit_flush ( 0 );
|
||||
|
||||
if( !defined( 'E_DEPRECATED' ) ) {
|
||||
error_reporting ( E_ALL ^ E_NOTICE );
|
||||
@ini_set ( 'error_reporting', E_ALL ^ E_NOTICE );
|
||||
} else {
|
||||
error_reporting ( E_ALL ^ E_DEPRECATED ^ E_NOTICE );
|
||||
@ini_set ( 'error_reporting', E_ALL ^ E_DEPRECATED ^ E_NOTICE );
|
||||
}
|
||||
|
||||
@ini_set ( 'display_errors', true );
|
||||
@ini_set ( 'html_errors', false );
|
||||
|
||||
define ( 'DATALIFEENGINE', true );
|
||||
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
|
||||
define ( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
$check_referer = true;
|
||||
require_once (SYSTEM_DIR . '/inc/include/init.php');
|
||||
|
||||
if ($is_loged_in == FALSE) {
|
||||
echoheader ( "home", "Login" );
|
||||
|
||||
if( ! $handle = opendir( "./language" ) ) {die( "Íåâîçìîæíî îòêðûòü äèðåêòîðèþ ./data/language/" );}
|
||||
|
||||
while ( false !== ($file = readdir( $handle )) ) {
|
||||
if( is_dir( ROOT_DIR . "/language/$file" ) and ($file != "." and $file != "..") ) {
|
||||
$sys_con_langs_arr[$file] = $file;
|
||||
}
|
||||
}closedir( $handle );
|
||||
|
||||
$select_language = makeDropDown( $sys_con_langs_arr, "selected_language", $selected_language );
|
||||
|
||||
echo $skin_login;
|
||||
|
||||
echofooter ();
|
||||
exit ();
|
||||
} elseif ($is_loged_in == TRUE) {
|
||||
|
||||
if ( !$mod ) {
|
||||
include (SYSTEM_DIR . '/inc/main.php');
|
||||
} elseif ( @file_exists( SYSTEM_DIR . '/inc/' . $mod . '.php' ) ) {
|
||||
include (SYSTEM_DIR . '/inc/' . $mod . '.php');
|
||||
} else {
|
||||
$db->close ();
|
||||
msg ( "error", $lang['index_denied'], $lang['mod_not_found'] );
|
||||
}
|
||||
}
|
||||
|
||||
$db->close ();
|
||||
|
||||
GzipOut ();
|
||||
?>
|
72
download.php
Normal file
72
download.php
Normal file
@ -0,0 +1,72 @@
|
||||
<?php
|
||||
@session_start ();
|
||||
|
||||
define ( 'DATALIFEENGINE', true );
|
||||
define ( 'TORRENT_DIR', './uploads/torrents/' );
|
||||
define( 'SYSTEM_DIR' , './system' );
|
||||
|
||||
@error_reporting (0);
|
||||
|
||||
require SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
$user_group = $cache->get ( "usergroup" );
|
||||
if (! $user_group) {
|
||||
$user_group = array ();
|
||||
$db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row () ) {
|
||||
$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {
|
||||
$user_group[$row['id']][$key] = $value;
|
||||
}}
|
||||
$cache->set ( "usergroup", $user_group );
|
||||
$db->free ();
|
||||
}
|
||||
|
||||
if (! $is_logged) {$member_id['user_group'] = 5;}
|
||||
if (! $user_group[$member_id['user_group']]['allow_files']) die ( "Access denied" );
|
||||
|
||||
$_SERVER['HTTP_REFERER'] = clean_url ( $_SERVER['HTTP_REFERER'] );
|
||||
$_SERVER['HTTP_HOST'] = clean_url ( $_SERVER['HTTP_HOST'] );
|
||||
if ($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) {
|
||||
@header ( 'Location: ' . $config['http_home_url'] );
|
||||
die ( "Access denied!!!<br /><br />Please visit <a href=\"{$config['http_home_url']}\">{$config['http_home_url']}</a>" );
|
||||
}
|
||||
|
||||
$id = intval ( $_REQUEST['id'] );
|
||||
|
||||
$d_time = time() + ($config['date_adjust'] * 60);
|
||||
$row = $db->super_query ( "SELECT name, onserver, info_hash FROM " . PREFIX . "_torrents WHERE id ='$id'" );
|
||||
|
||||
if (! $row) die ( "Access denied" );
|
||||
|
||||
if(substr($row['name'], -8) == ".torrent") {
|
||||
require_once( SYSTEM_DIR."/classes/torrent.class.php" );
|
||||
$tr_file = TORRENT_DIR.$row['onserver'];
|
||||
$torrent = new Torrent($tr_file);
|
||||
if($error = $torrent->errors()){
|
||||
}
|
||||
else
|
||||
{
|
||||
$torrent->comment("http://".$_SERVER['HTTP_HOST']."/");
|
||||
|
||||
if (! $is_logged) {
|
||||
$torrent->announce("http://".$_SERVER['HTTP_HOST'].":2710/announce"); //Äîáàâëÿåì äîïîëíèòåëüíûå àíîíñåðû, îñòàâëÿÿ óæå äîáàâëåííûå
|
||||
} else {
|
||||
$tpv = $member_id['torrent_pass_version'];
|
||||
$tppk = $db->super_query("SELECT value FROM xbt_config WHERE name='torrent_pass_private_key'" );
|
||||
$site_key = $tppk['value'];
|
||||
$passkey = sprintf('%08x%s', $member_id['user_id'], substr(sha1(sprintf('%s %d %d %s', $site_key, $tpv, $member_id['user_id'], $row['info_hash'])), 0, 24));
|
||||
$torrent->announce("http://".$_SERVER['HTTP_HOST'].":2710/{$passkey}/announce"); //Äîáàâëÿåì äîïîëíèòåëüíûå àíîíñåðû, îñòàâëÿÿ óæå äîáàâëåííûå
|
||||
}
|
||||
}} else die ( "Access denied" );
|
||||
|
||||
if ($config['files_count'] == "yes" and ! $file->range) $db->query ( "UPDATE " . PREFIX . "_torrents SET dcount=dcount+1 WHERE id ='$id'" );
|
||||
|
||||
$db->close ();
|
||||
|
||||
$torrent->send($row['name']);
|
||||
?>
|
BIN
favicon.ico
Normal file
BIN
favicon.ico
Normal file
Binary file not shown.
After Width: | Height: | Size: 3.6 KiB |
108
index.php
Normal file
108
index.php
Normal file
@ -0,0 +1,108 @@
|
||||
<?php
|
||||
@session_start ();
|
||||
@ob_start ();
|
||||
@ob_implicit_flush ( 0 );
|
||||
|
||||
define ( 'DATALIFEENGINE', true );
|
||||
|
||||
$member_id = FALSE;
|
||||
$is_logged = FALSE;
|
||||
|
||||
define ( 'ROOT_DIR', dirname ( __FILE__ ) );
|
||||
define ( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
require_once ROOT_DIR . '/system/init.php';
|
||||
require_once ROOT_DIR.'/system/modules/forum/show.last.php';
|
||||
|
||||
if (clean_url ( $_SERVER['HTTP_HOST'] ) != clean_url ( $config['http_home_url'] )) {$replace_url = array ();$replace_url[0] = clean_url ( $config['http_home_url'] );$replace_url[1] = clean_url ( $_SERVER['HTTP_HOST'] );} else $replace_url = false;
|
||||
|
||||
if ($do=="forum") $tpl->load_template('forum/index.tpl');
|
||||
else $tpl->load_template('main.tpl');
|
||||
|
||||
$tpl->set('{toporders}', $toporders);
|
||||
$tpl->set ( '{login}', $tpl->result['login_panel'] );
|
||||
$tpl->set ( '{info}', "<div id='dle-info'>" . $tpl->result['info'] . "</div>" );
|
||||
$tpl->set('{online}', $tpl->result['online']);
|
||||
$tpl->set ( '{minichat}', $tpl->result['minichat'] );
|
||||
$tpl->set('{forum}', $tpl->result['forum_table']);
|
||||
$tpl->set ( '{comments-last}', $commentslast );
|
||||
$tpl->set('{category_menu}', $cat_menu);
|
||||
|
||||
if ($allow_active_news AND $do != "userinfo") {$tpl->set ( '[sort]', "" );$tpl->set ( '{sort}', news_sort ( $do ) );$tpl->set ( '[/sort]', "" );} else {$tpl->set_block ( "'\\[sort\\](.*?)\\[/sort\\]'si", "" );}
|
||||
if ($dle_module == "showfull" ) {if (is_array($cat_list) AND count($cat_list) > 1 ) $category_id = implode(",", $cat_list);}
|
||||
|
||||
if (strpos ( $tpl->copy_template, "[category=" ) !== false) {$tpl->copy_template = preg_replace ( "#\\[category=(.+?)\\](.*?)\\[/category\\]#ies", "check_category('\\1', '\\2', '{$category_id}')", $tpl->copy_template );}
|
||||
if (strpos ( $tpl->copy_template, "[not-category=" ) !== false) {$tpl->copy_template = preg_replace ( "#\\[not-category=(.+?)\\](.*?)\\[/not-category\\]#ies", "check_category('\\1', '\\2', '{$category_id}', false)", $tpl->copy_template );}
|
||||
|
||||
$config['http_home_url'] = explode ( "index.php", strtolower ( $_SERVER['PHP_SELF'] ) );
|
||||
$config['http_home_url'] = reset ( $config['http_home_url'] );
|
||||
|
||||
if (! $user_group[$member_id['user_group']]['allow_admin']) $config['admin_path'] = "";
|
||||
|
||||
$ajax .= <<<HTML
|
||||
<script language="javascript" type="text/javascript">
|
||||
<!--
|
||||
var dle_root = '{$config['http_home_url']}';
|
||||
var dle_admin = '{$config['admin_path']}';
|
||||
var dle_login_hash = '{$dle_login_hash}';
|
||||
var dle_skin = '{$config['skin']}';
|
||||
var dle_group = {$member_id['user_group']};
|
||||
var menu_short = '{$lang['menu_short']}';
|
||||
var menu_full = '{$lang['menu_full']}';
|
||||
var menu_profile = '{$lang['menu_profile']}';
|
||||
var menu_fnews = '{$lang['menu_fnews']}';
|
||||
var menu_fcomments = '{$lang['menu_fcomments']}';
|
||||
var menu_send = '{$lang['menu_send']}';
|
||||
var menu_uedit = '{$lang['menu_uedit']}';
|
||||
var dle_req_field = '{$lang['comm_req_f']}';
|
||||
var dle_del_agree = '{$lang['news_delcom']}';
|
||||
var dle_del_news = '{$lang['news_delnews']}';
|
||||
HTML;
|
||||
|
||||
$ajax .= <<<HTML
|
||||
//-->
|
||||
</script>
|
||||
<script type="text/javascript" src="{$config['http_home_url']}system/js/jquery.js"></script>
|
||||
<script type="text/javascript" src="{$config['http_home_url']}system/js/main.js"></script>
|
||||
<div id="loading-layer" style="display:none"><div id="loading-layer-text"><img src="{THEME}/images/ajax-loader.gif" alt="Загрузка..."></div></div>
|
||||
HTML;
|
||||
|
||||
if (strpos ( $tpl->result['content'], "hs.expand" ) !== false or strpos ( $tpl->copy_template, "hs.expand" ) !== false or $pm_alert != "") {
|
||||
$ajax .= <<<HTML
|
||||
<script type="text/javascript" src="{$config['http_home_url']}system/js/highslide.js"></script>
|
||||
<script language="javascript" type="text/javascript">
|
||||
<!--
|
||||
hs.dimmingOpacity = 0.80;
|
||||
hs.graphicsDir = '{THEME}/images/';
|
||||
hs.align = 'center';
|
||||
hs.outlineType = 'rounded-white';
|
||||
hs.numberOfImagesToPreload = 0;
|
||||
hs.showCredits = false;
|
||||
//-->
|
||||
</script>
|
||||
{$pm_alert}
|
||||
HTML;
|
||||
}
|
||||
$tpl->set ( '{AJAX}', $ajax );
|
||||
|
||||
if(isset($_GET['category'])){
|
||||
$tpl->set('[newslist]','');
|
||||
$tpl->set('{newslist}', "/newslist/".$_GET['category']."/");
|
||||
$tpl->set('{news_pol}', $_GET['category']."/");
|
||||
$tpl->set('[/newslist]','');
|
||||
} else{$tpl->set_block("'\[newslist\](.*?)\[/newslist\]'si",""); $tpl->set('{news_pol}', "");}
|
||||
|
||||
$tpl->set ( '{headers}', $metatags );
|
||||
$tpl->set ( '{content}', "<div id='dle-content'>" . $tpl->result['content'] . "</div>" );
|
||||
|
||||
$tpl->compile ( 'main' );
|
||||
$tpl->result['main'] = str_replace ( '{THEME}', $config['http_home_url'] . 'templates/' . $config['skin'], $tpl->result['main'] );
|
||||
if ($replace_url) $tpl->result['main'] = str_replace ( $replace_url[0]."/", $replace_url[1]."/", $tpl->result['main'] );
|
||||
$tpl->result['main'] = str_replace("%username%", $is_logged?$member_id['name']:'Юзер', $tpl->result['main']);
|
||||
|
||||
echo $tpl->result['main'];
|
||||
$tpl->global_clear ();
|
||||
$db->close ();
|
||||
|
||||
GzipOut ();
|
||||
?>
|
1654
language/Russian/adminpanel.lng
Normal file
1654
language/Russian/adminpanel.lng
Normal file
File diff suppressed because it is too large
Load Diff
158
language/Russian/adminpanel_repa.lng
Normal file
158
language/Russian/adminpanel_repa.lng
Normal file
@ -0,0 +1,158 @@
|
||||
<?php
|
||||
|
||||
$lang_repa = array (
|
||||
|
||||
'repa_st_tot_m' => "Административное повышение:",
|
||||
'repa_st_tot_p' => "Административное понижение:",
|
||||
'repa_st_repa_off' => "Отключенна репутация:",
|
||||
'repa_st_freeze' => "Замороженно:",
|
||||
'repa_adm_msg_lc' => "Административное изменение",
|
||||
'repa_adm_plus' => "Административное повышение",
|
||||
'repa_adm_plus_sub' => "Повышение (обнуление если стоит ноль) репутации пользователю администратором, выставьте число на сколько будет повышена репутация при нажатии кнопки \"Автора в плюс..\"",
|
||||
'repa_adm_sub' => "Понижение (обнуление если стоит ноль) репутации пользователю администратором, выставьте число на сколько будет понижена репутация при нажатии кнопки \"Автора в минус..\"",
|
||||
'repa_robo_sub' => "Имя выводимое в таблице истории репутации пользователя при понижении или повышении репутации (например \"Робот\")",
|
||||
'avt_plus' => "Автора в плюс",
|
||||
'repa_adm_msg' => "Сообщение к понижению",
|
||||
'repa_adm_plus_msg' => "Сообщение к повышению",
|
||||
'repa_adm_plus_com' => "Выводимый комментарий к повышению в таблице истории репутации пользователя",
|
||||
'repa_msgs_adm_st' => "Включение сообщений об административном изменении:",
|
||||
'repa_msgs_adm_su' => "Если да - при административном повышении или понижении репутации пользователю будет приходить ЛС с информацией о изменении",
|
||||
'repa_msg_adm_tpl' => "Шаблон сообщения",
|
||||
'repa_msg_adm_tsu' => "Шаблон получаемого ЛС<br>{%text%} - Комментарий к удалённому изменению",
|
||||
'repa_stop_change_min' => "Запретить изменение, если репутация меньше",
|
||||
'repa_stop_change_min_sub' => "Данная опция позволит заблокировать изменение пользователя, у которого репутация ниже нуля.<br>Если вы хотите отключить данную опцию, то введите в поле 0",
|
||||
'repa_stop_change_sub' => "Время (дни) через которое пользователь сможет снова изменить репутацию тому же пользователю.<br>Так же в промежутке этого времени пользовать сможет отредактирвоать своё изменение пользователю (изменить комментарий или отношение)",
|
||||
'repa_msg_top' => "Сообщение",
|
||||
'repa_ban_desc' => "Шаблон сообщения о блокировке",
|
||||
'repa_ban_desc_sub' => "Данный текст будет выводится заблокированному пользователю как причина блокировки на сайте",
|
||||
'repa_msg_changed' => "Вам изменили репутацию",
|
||||
'repa_type0' => "Стандартный",
|
||||
'repa_type1' => "Расширенный",
|
||||
'repa_type2' => "Подробный",
|
||||
'opt_type_repa' => "Выбирите тип вывода репутации",
|
||||
'opt_type_repa_sub' => "Данная опция позволит изменить вид вывода репутации у пользователей.<br>Стандартный - вывод репутации вида: - 10 +<br>Расширенный - вывод репутации вида: - (<font color=green>13</font>|<font color=red>3</font>) +<br>Подробный - вывод репутации вида: - (<font color=green>13</font>|<b>10</b>|<font color=red>3</font>) +",
|
||||
'repa_msgs_del_st' => "Включение сообщений об удалении репутации:",
|
||||
'repa_msgs_del_su' => "Если да - при удалении репутации пользователю придёт ЛС с информацией о удалении",
|
||||
'repa_msg_del_tpl' => "Шаблон сообщения",
|
||||
'repa_msg_del_tsu' => "Шаблон получаемого ЛС<br />{%kto%} - Автор<br>{%ot_kogo%} - Чьё изменение было удалено<br>{%text%} - Комментарий к удалённому изменению",
|
||||
'repa_logs' => "Логи удаления",
|
||||
'repa_logs_sub' => "Логи удаления репутации у пользователей",
|
||||
'repa_skins' => "Выключить AJAX в данном шаблоне? При отключении - изменять репутацию можно будет на отдельной странице, а не на той же.",
|
||||
'repa_skins_opt' => "Поддержка AJAX в шаблонах",
|
||||
'repa_ban' => "Блокировка пользователей",
|
||||
'repa_ban_sub' => "При достижении X репутации пользователь будет забанен на X дней",
|
||||
'repa_ban_num' => "Репутация",
|
||||
'repa_ban_num_sub' => "Выбирите при достижении какой репутации пользователь будет заблокирован",
|
||||
'repa_ban_days' => "Кол-во дней",
|
||||
'repa_ban_days_sub' => "Выбирите на сколько дней будет заблокирован пользователь",
|
||||
'opt_repa_news' => "Вывод в новостях",
|
||||
'opt_repa_news_sub' => "Вывод репутации автора статьи/новости в короткой и полной версии новости",
|
||||
'opt_repa' => "Репутация",
|
||||
'opt_repa_sub' => "Управление модулем<br />© Inrus & ShapeShifter",
|
||||
'repa_value' => "Репутация:",
|
||||
'repa_on' => "Включена",
|
||||
'repa_off' => "Выключена",
|
||||
'repa_stats' => "Статистика модуля",
|
||||
'repa_st_on' => "Включен",
|
||||
'repa_st_off' => "Выключен",
|
||||
'repa_st_vr' => "Версия модуля:",
|
||||
'repa_st_st' => "Статус модуля:",
|
||||
'repa_st_ca' => "Изменений репутации:",
|
||||
'repa_st_in' => "Положительных:",
|
||||
'repa_st_es' => "Отрицательных:",
|
||||
'repa_options' => "Опции",
|
||||
'repa_m_opts' => "Настройки системы репутации",
|
||||
'repa_m_sub' => "Конфигурация системы",
|
||||
'repa_control' => "История изменений",
|
||||
'repa_con_sub' => "Контроль за изменениями репутации",
|
||||
'repa_info' => "Информация",
|
||||
'repa_i_sb' => "Информация о модуле",
|
||||
'repa_opts' => "Основные настройки",
|
||||
'repa_h_op' => "Настройки вывода",
|
||||
'repa_cts' => "Настройка контроля",
|
||||
'repa_mop' => "Настройка сообщений",
|
||||
'repa_grs' => "Настройка групп",
|
||||
'repa_blp' => "Черный период",
|
||||
'repa_stop_change' => "Запрет на повторое изменение",
|
||||
'repa_stp' => "Настройка страницы статистики",
|
||||
'opt_general_repa' => "Настройка параметров модуля (используйте навигацию для доступа к разделам)",
|
||||
'opt_gen_st' => "Статус системы:",
|
||||
'opt_gen_st_sub' => "Включение/Выключение системы рейтинга пользователей на сайте",
|
||||
'opt_gen_min_sub' => "Установка минимального значения репутации",
|
||||
'opt_gen_max_sub' => "Установка максимального значения репутации",
|
||||
'opt_gen_comms' => "Комментарии",
|
||||
'opt_gen_symb' => "Максимальное количество символов в комментариях",
|
||||
'opt_gen_symb_min' => "Минимальное количество символов в комментариях",
|
||||
'opt_gen_page' => "Вывод ссылки на страницу с изменением",
|
||||
'opt_gen_page_sub' => "Добавления ссылки к комментарию с какой страницы было изменение",
|
||||
'opt_gen_break' => "Автоматическая разбивка длинных слов:",
|
||||
'opt_site_res' => "Количество выводимых результатов на сайте:",
|
||||
'opt_cp_res' => "Количество выводимых результатов в КП:",
|
||||
'opt_gen_c_sub' => "Включение/Выключение комментариев к изменению репутации пользователя",
|
||||
'opt_gen_symb_sub' => "Укажите максимальное количество символов, которое может использовать пользватель при написании комментариев",
|
||||
'opt_gen_symb_sub_min' => "Укажите минимальное количество символов, которое может использовать пользватель при написании комментариев",
|
||||
'opt_gen_break_sub' => "В случае превышения заданного числа символов",
|
||||
'opt_comm_st_on' => "Включены",
|
||||
'opt_comm_st_off' => "Выключены",
|
||||
'opt_site_sub' => "Количество выводимых на одну страницу результатов истории репутации на сайте",
|
||||
'opt_cp_sub' => "Количество выводимых на одну страницу результатов истории репутации в админке",
|
||||
'repa_adm' => "Административное понижение",
|
||||
'repa_robot' => "Имя робота",
|
||||
'repa_replace' => "Замена комментария",
|
||||
'repa_adm_com' => "Выводимый комментарий к понижению в таблице истории репутации пользователя",
|
||||
'repa_adm_rpm' => "Если будет удалено только сообщение из строки статистикаи изменений, то комментарий будет заменен этим сообщением",
|
||||
'repa_msgs_st' => "Включение сообщений:",
|
||||
'repa_msgs_su' => "Если да - при изменении репутации пользователю будет приходить ЛС с информацией о изменении",
|
||||
'repa_msg_tpl' => "Шаблон сообщения",
|
||||
'repa_msg_tsu' => "Шаблон получаемого ЛС<br />{%kto%} - Автор<br />{%what%} - повысил/понизил<br>{%text%} - комментарий к изменению",
|
||||
'repa_rules' => "Вывод правил при изменении",
|
||||
'repa_rules_su' => "На странице с формой изменений репутации будут выводится правила",
|
||||
'repa_rules_tpl' => "Правила",
|
||||
'repa_rules_tpl_su' => "Введите список правил.<br>В форме можно использовать bbcode.",
|
||||
'repa_yes' => "Да",
|
||||
'repa_no' => "Нет",
|
||||
'repa_gr_fr' => "Количество допустимых изменений репутации совершаемых группой ",
|
||||
'repa_gr_sc' => "Возможность модерировать репутацию с сайта другим пользователям",
|
||||
'bl_period' => "Черный период",
|
||||
'bl_per_su' => "Количство дней, которое пользователь не сможет изменять другим репутацию, начиная с первой секунды его регистрации",
|
||||
'repa_st_page' => "Включение страцницы:",
|
||||
'repa_st_p_sub' => "Если да - будет включена страница со списком пользователей с наивысшей репутацией<br>Страница будет доступна по этим ссылкам:<br>",
|
||||
'repa_page_kol' => "Количество результатов",
|
||||
'page_kolvo' => "Количество пользователей, которое нужно выводить на страницу",
|
||||
'off_alt' => "Если страница выключена, будет выведено это сообщение",
|
||||
'repa_save' => "Сохранить",
|
||||
'repa_msg_chd' => "Комментарий изменен",
|
||||
'repa_go_back' => "Вернуться назад",
|
||||
'repa_cntrl' => "Контроль над изменениями репутации",
|
||||
'repa_comm_ed' => "Редактирование комментария:",
|
||||
'repa_done' => "Готово",
|
||||
'repa_done_minus_1' => "Изменение репутации пользователя",
|
||||
'repa_done_minus_2' => "успешно изменено! Его репутация ушла до",
|
||||
'repa_done_minus_2' => "успешно изменено!",
|
||||
'delcom' => "Удаление комментария",
|
||||
'deleted' => "Комментарий успешно удален",
|
||||
'opt_saved' => "Настройки успешно сохранены!",
|
||||
'avt_minus' => "Автора в минус",
|
||||
'full_del' => "Удалить полностью",
|
||||
'delcom_done' => "Удалить комментарий",
|
||||
'edit_this' => "Изменить комментарий",
|
||||
'del_quest' => "Вы действительно хотите удалить это изменение?",
|
||||
'repa_nothing' => "Изменений репутации не было.",
|
||||
'repa_pages' => "Страницы:",
|
||||
'repa_first_p' => "к начальной странице",
|
||||
'repa_last_p' => "к последней странице",
|
||||
'repa_how_pl' => "Положительно",
|
||||
'repa_how_mn' => "Отрицательно",
|
||||
'repa_how_tm' => "Административное наказание",
|
||||
'repa_who' => "Кто (Автор)",
|
||||
'repa_to' => "Кому (Адресат)",
|
||||
'repa_supp' => "Отношение",
|
||||
'repa_commst' => "Комментарий",
|
||||
'r_mod_name' => "Репутация пользователей",
|
||||
'r_total' => "Всего изменений:",
|
||||
'repa_do_freeze' => "Заморозить репутацию",
|
||||
'freeze_info' => "Если стоит галочка, у этого пользователя не будет права менять репутацию другим",
|
||||
|
||||
);
|
||||
|
||||
?>
|
52
language/Russian/chat.lng
Normal file
52
language/Russian/chat.lng
Normal file
@ -0,0 +1,52 @@
|
||||
<?php
|
||||
|
||||
$lang_mc = array (
|
||||
|
||||
'charset' => "windows-1251",
|
||||
|
||||
'mchat' => "DLE mChat",
|
||||
'mchatc' => "Управление и настройка Мини-чата.",
|
||||
'mc_conf' => "Настройка Мини-чата",
|
||||
'mc_trunс' => "Чистка Мини-чата",
|
||||
'mc_smiles' => "Смайлики",
|
||||
'mc_colornik' => "Подсветка ника",
|
||||
'mc_colornikc' => "Включить подсветку ника администратор, редактора, журналиста <br> (настройка цвета во вкладке \"Color Nik\")",
|
||||
'mc_showdate' => "Показывать дату",
|
||||
'mc_showdatec' => "Показывать дату в окне чата",
|
||||
'mc_limit' => "Количество сообщений в истории сообщений",
|
||||
'mc_limitc' => "Укажите сколько сообщений выводить в истории сообщений",
|
||||
'mc_limitb' => "Количество сообщений в блоке",
|
||||
'mc_limitbc' => "Укажите сколько сообщений выводить в окне чата",
|
||||
'mc_guest' => "Разрешит гостю добавлять сообщения",
|
||||
'mc_guestc' => "Если 'Нет', то гости не смогут добавлять сообщения. Если 'Да', тогда гости смогут добавлять сообщения.",
|
||||
'mc_timestamp' => "Формат времени",
|
||||
'mc_timestampa' => "Формат времени в админке",
|
||||
'mc_refresh' => "Авто обновление окна",
|
||||
'mc_refreshc' => "в секундах, 0 - не ставить",
|
||||
'mc_dbrows' => "Автоматическая чистка БД mСhat",
|
||||
'mc_dbrowsc' => "количество записей хранимых в БД, 0 = хранить все записи",
|
||||
'mc_spam' => "Защита от флуда",
|
||||
'mc_spamc' => "указывается в секундах; 0 = защиты нет",
|
||||
'mc_sc' => "Количество колонок со смайликами",
|
||||
'mc_scc' => "Укажите количество колонок со смайликами",
|
||||
'mc_trun' => "Вы уверены, что хотите очистить чат (все сообщения будут удалены)",
|
||||
'mc_addmssa' => "Добавить сообщения от админа",
|
||||
'mc_addmssok' => "Сообщение успешно добавлено",
|
||||
'mc_main' => "Список сообщений",
|
||||
'mc_mess_page' => "Cообщений на страницу:",
|
||||
'mc_stat' => "Показано сообщений:",
|
||||
'mc_stat1' => "Всего сообщений в базе данных:",
|
||||
'mc_mess_delok' => "Все выбранные Вами сообщения успешно удалены!",
|
||||
'mc_mess_notok' => "Удаление сообщений (найдены ошибки!!!)",
|
||||
'mc_mess_notok_1' => "сообщений удалены",
|
||||
'mc_color1' => "Для Администраторов",
|
||||
'mc_color2' => "Для Главныех редакторов",
|
||||
'mc_color3' => "Для Журналистов",
|
||||
'mc_version' => "Мини-чата версия",
|
||||
'mc_ver_you' => "Ваша текущая версия:",
|
||||
'mc_ver_full' => "Последняя версия:",
|
||||
'mc_load_verfull' => "Cкачать последнию версию!",
|
||||
'mc_smail' => "Путь к смайлам",
|
||||
'mc_smailb' => "Путь к смайлам по умолчанию это папка 'engine/modules/mchat/smiles'",
|
||||
);
|
||||
?>
|
16
language/Russian/friends.lng
Normal file
16
language/Russian/friends.lng
Normal file
@ -0,0 +1,16 @@
|
||||
<?php
|
||||
|
||||
$friends_lng = array (
|
||||
|
||||
'no_access' => "Вы не можете предложить этому пользователю дружбу",
|
||||
'invite' => "Предложение дружбы",
|
||||
'is_friend' => "Пользователь которому вы предлагаете дружбу, присутствует в списке ваших друзей",
|
||||
'friend_send' => "Предложение дружбы отправлено",
|
||||
'friend_subj' => "Предложение дружбы",
|
||||
'friend_act' => "Действия успешно выполнено",
|
||||
'err_act' => "Не возможно выполнить действие",
|
||||
|
||||
);
|
||||
|
||||
|
||||
?>
|
62
language/Russian/help.lng
Normal file
62
language/Russian/help.lng
Normal file
@ -0,0 +1,62 @@
|
||||
<?php
|
||||
|
||||
$help_sections['templates'] = <<<HTML
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Шаблоны</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="unterline"></div>
|
||||
Шаблоны используются для легкого изменения отображения новостей. Вы можете изменять различные части шаблона, которые используются для различных частей отображения новостей. Например, часть шаблона "Краткое содержание" используется, чтобы изменить вид активных новостей, "Статья целиком", чтобы изменить вид полной статьи, "Комментарий", чтобы изменить вид комментариев и т.д.<br><br>
|
||||
При редактировании частей шаблона Вы можете использовать HTML, чтобы изменить различные структуры и т.д. Также Вы будете должны добавить некоторые специальные обозначения в ваших шаблонах, чтобы определить место, где будет показано название новости, имя автора, дата и т.д. Каждой части шаблона соответствует определенное обозначение.<br>
|
||||
Значения переменных можно посмотреть на странице редактирования шаблонов при щелчке на названии части шаблона. Например <b>{title}</b> будет выводить название статьи, а <b>{author}</b> автора статьи и т.д.<br><br>
|
||||
Вы можете использовать несколько различных шаблонов.
|
||||
HTML;
|
||||
|
||||
$help_sections['date'] = <<<HTML
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Функция date() - формат локального времени и даты</div></td>
|
||||
</tr>
|
||||
</table>
|
||||
<div class="unterline"></div>
|
||||
В строке формата распознаются следующие символы:
|
||||
<UL>
|
||||
<LI><b>a</b> - "am" или "pm"
|
||||
<LI><b>A</b> - "AM" или "PM"
|
||||
<LI><b>B</b> - время Swatch Internet
|
||||
<LI><b>d</b> - день (число) месяца, 2 цифры с ведущим нулём, если необходимо; т. е. от "01" до "31"
|
||||
<LI><b>D</b> - день недели, буквенный, 3 буквы; например, "Fri"
|
||||
<LI><b>F</b> - месяц, буквенный, long; например, "January"
|
||||
<LI><b>g</b> - час, 12-часовой формат без ведущих нулей; т.е. от "1" до "12"
|
||||
<LI><b>G</b> - час, 24-часовой формат без ведущих нулей; т.е. от "0" до "23"
|
||||
<LI><b>h</b> - час, 12-часовой формат; т.е. от "01" до "12"
|
||||
<LI><b>H</b> - час, 24-часовой формат; т.е. от "00" до "23"
|
||||
<LI><b>i</b> - минуты; т.е. от "00" до "59"
|
||||
<LI><b>I</b> (заглавная i) - "1", если Daylight Savings Time, "0" - в противном случае.
|
||||
<LI><b>j</b> - день (число) месяца без ведущих нулей; т.е. от "1" до "31"
|
||||
<LI><b>l</b> ('L' в нижнем регистре) - день недели, буквенный, long; например, "Friday"
|
||||
<LI><b>L</b> - boolean, указывающее, високосный ли год; т.е. "0" или "1"
|
||||
<LI><b>m</b> - месяц; т.е. от "01" до "12"
|
||||
<LI><b>M</b> - месяц, буквенный, 3 буквы; например, "Jan"
|
||||
<LI><b>n</b> - месяц без ведущих нулей; т.е. от "1" до "12"
|
||||
<LI><b>O</b> - Разница с временем по Гринвичу, в часах; например, "+0200"
|
||||
<LI><b>r</b> - RFC 822 формат даты; например, "Thu, 21 Dec 2000 16:01:07 +0200" (введён в PHP 4.0.4)
|
||||
<LI><b>s</b> - секунды; т.е. от "00" до "59"
|
||||
<LI><b>S</b> - простой английский суффикс для дня (числа) месяца, 2 символа; т.е. "st", "nd", "rd" или "th"
|
||||
<LI><b>t</b> - количество дней в данном месяце; т.е. от "28" до "31"
|
||||
<LI><b>T</b> - установка Timezone/Часовой пояс на данной машине; например, "EST" или
|
||||
"MDT"
|
||||
<LI><b>U</b> - секунды эпохи Unix Epoch (начиная с January 1 1970 00:00:00 GMT)
|
||||
<LI><b>w</b> - день недели, числовой, т.е. от "0" (Sunday) до "6" (Saturday)
|
||||
<LI><b>W</b> - ISO-8601 номер недели в году, недели начинаются с понедельника/Monday
|
||||
(введено в PHP 4.1.0)
|
||||
<LI><b>Y</b> - год, 4 цифры; например, "1999"
|
||||
<LI><b>y</b> - год, 2 цифры; например, "99"
|
||||
<LI><b>z</b> - день года; т.е. от "0" до "365"
|
||||
<LI><b>Z</b> - смещение часового пояса, в секундах (т.е. от "-43200" до "43200").
|
||||
Смещение часовых поясов к западу от UTC всегда отрицательное, а для поясов к
|
||||
востоку от UTC - всегда положительное.</LI></UL>
|
||||
HTML;
|
||||
|
||||
?>
|
21
language/Russian/img.lng
Normal file
21
language/Russian/img.lng
Normal file
@ -0,0 +1,21 @@
|
||||
<?php
|
||||
|
||||
$imglang = array (
|
||||
|
||||
'charset' => "windows-1251",
|
||||
|
||||
'img_heading' => "Настройки картинки",
|
||||
|
||||
'img_off' => "Модуль выключен",
|
||||
'img_gallery' => "Режим галереи включен",
|
||||
'img_server' => "Разрешить загрузку с сервера",
|
||||
'img_width' => "Ширина картинки",
|
||||
'img_taglimit' => "Количество выводимых тегами картинок в новости",
|
||||
'img_doeditcfg' => "Сохранить настройки",
|
||||
'opt_conok' => "Настройки сохранены",
|
||||
'opt_conok_1' => "Настройки сохранены успешно",
|
||||
|
||||
'db_prev' => "Вернуться назад",
|
||||
'func_msg' => "Вернуться назад",
|
||||
);
|
||||
?>
|
39
language/Russian/rating.lng
Normal file
39
language/Russian/rating.lng
Normal file
@ -0,0 +1,39 @@
|
||||
<?php
|
||||
|
||||
$lang_r = array (
|
||||
|
||||
'charset' => "windows-1251",
|
||||
'options_p' => "Настройка модуля",
|
||||
'opt_denied' => "Доступ отклонен",
|
||||
'info' => "Информация",
|
||||
'desc_about_p' => "Подробная информация о модуле",
|
||||
'desc_options_p'=> "Управление общими функциями модуля",
|
||||
'navig' => "Навигация админцентра модуля подсказок",
|
||||
|
||||
'about' => "Информация о модуле",
|
||||
'name_mod' => "Название",
|
||||
'ver_mod' => "Версия модуля",
|
||||
'autor' => "Модифицировал",
|
||||
'site' => "Сайт",
|
||||
'admin' => "Не учитывать статус Администратора и Гл.редактора",
|
||||
'admin_i' => "Если включено, то рейтинг Администратора и Гл.Редактора считается как у обычных пользователей, иначе максимален(на одну ступень ниже у Гл.Редактора).",
|
||||
'txt' => "Включить текстовые статусы",
|
||||
'txt_i' => "Если да, то будут отображаться текстовые статусы, иначе только статус-картинки.",
|
||||
'yes' => "Да",
|
||||
'no' => "Нет",
|
||||
'suc_save_1' => "Настройки системы были успешно сохранены",
|
||||
'suc_save' => "Настройки сохранены",
|
||||
'save' => "Сохранить",
|
||||
'func_msg' => "Вернуться назад",
|
||||
'save_conf' => "Настройки успешно сохранены!",
|
||||
|
||||
'upd_01' => "вы используете устаревшую версию модуля, рекомендуется выполнить обновление",
|
||||
'upd_02' => "вы используете актуальную версию модуля, следите за обновлениями",
|
||||
'upd_03' => "не удалось подключится к удаленному серверу, повторите попытку немного позднее",
|
||||
'upd_04' => "вы используете неопределенную версию модуля, установите последнюю версию",
|
||||
|
||||
'last_ver' => "Последняя версия",
|
||||
'error_upd' => "Произошла ошибка подключения к нашему серверу. Приносим свои извинения, попробуйте пожалуйста позже.",
|
||||
|
||||
);
|
||||
?>
|
131
language/Russian/table.lng
Normal file
131
language/Russian/table.lng
Normal file
@ -0,0 +1,131 @@
|
||||
<?php
|
||||
|
||||
$lang_table = array (
|
||||
|
||||
'main_menu' => 'Главное меню',
|
||||
'main_control' => 'Редактировать заказы',
|
||||
'main_control_descr' => 'Управление заказами на сайте',
|
||||
'main_options' => 'Настройка модуля',
|
||||
'main_options_descr' => 'Настройка основных параметров модуля',
|
||||
|
||||
'etitle' => 'Редактирование заказа',
|
||||
'edit_head' => 'Редактирование заказов',
|
||||
'orders_list' => 'Список заказов на сайте',
|
||||
'orders_advanced_search' => 'Расширенный поиск заказов',
|
||||
'edit_stat' => 'Показано заказов:',
|
||||
'edit_stat_1' => 'Всего найдено заказов в базе данных:',
|
||||
'edit_search_orderss' => 'Поиск по заказам:',
|
||||
'edit_page' => 'Заказов на страницу:',
|
||||
'search_by_date' => 'Дата заказа:',
|
||||
'search_by_status' => 'Статус заказов:',
|
||||
'orders_order' => 'Порядок сортировки заказов',
|
||||
'edit_noorders' => 'Выбранный вами заказ <b>не найден</b>!',
|
||||
'edit_act' => 'Редактировать данный заказ',
|
||||
'edit_date' => 'Дата',
|
||||
'edit_author' => 'Автор',
|
||||
'edit_title' => 'Заголовок',
|
||||
'edit_status' => 'Статус',
|
||||
'edit_status1' => 'Статус:',
|
||||
'edit_cat' => 'Категория',
|
||||
'cat_in_none' => '- Без категории -',
|
||||
'orders_status_all' => 'Все заказы',
|
||||
'edit_status_0' => 'Ожидается',
|
||||
'edit_status_1' => 'Принято',
|
||||
'edit_status_2' => 'Отклонено',
|
||||
'edit_status_3' => 'Выполнено',
|
||||
'edit_runame' => 'Название (Рус.):',
|
||||
'edit_enname' => 'Оригинальное название:',
|
||||
'edit_category' => 'Тип файла:',
|
||||
'edit_fileyear' => 'Год издания:',
|
||||
'edit_link' => 'Сообщение:',
|
||||
'edit_answer' => 'Примечание:<br /> Причина ошибки заказа.<br /><sup>*Каждую ссылку, с новой строчки!</sup>',
|
||||
'edit_cdel' => 'Вы действительно хотите удалить выбранный заказ?',
|
||||
'edit_delok' => 'Заказ удален',
|
||||
'edit_delok_1' => 'Заказ был успешно удален.',
|
||||
'edit_allerr' => 'Заказ не может быть обнаружен, или возникла какая-то проблема с базой данных',
|
||||
'addorders_alert' => 'У вашего заказа должен быть хотя бы заголовок',
|
||||
'btn_save' => 'Сохранить',
|
||||
'go_page_orders' => 'В стол заказов',
|
||||
'mass_head' => "Удаление заказов",
|
||||
'mass_confirm' => "Вы уверены, что хотите удалить выбранные",
|
||||
'mass_confirm_1' => "заказы?",
|
||||
'mass_denied' => "Выберите заказы",
|
||||
'mass_error' => "Ошибка!!!",
|
||||
'mass_no' => "Нет",
|
||||
'mass_yes' => "Да",
|
||||
'mass_sel' => "Выберите заказы",
|
||||
'mass_delok' => "Все выбранные Вами заказы успешно удалены!",
|
||||
'mass_notok' => "Удаление заказов (найдены ошибки!!!)",
|
||||
'mass_i' => "из",
|
||||
'mass_notok_1' => "заказов удалены",
|
||||
|
||||
'opt_list' => 'Общая конфигурация',
|
||||
'opt_tab_offline' => 'Выключить модуль "Стол Заказов:"',
|
||||
'opt_tab_offlined' => 'Перевести "Стол Заказов" в состояние offline, для проведения технических работ',
|
||||
'opt_tab_category' => 'Категории',
|
||||
'opt_tab_categoryd' => 'разделяются запятыми (,)',
|
||||
'opt_tab_timeweek' => 'Период, через который разрешено добавлять следующий заказ',
|
||||
'opt_tab_timeweekd' => 'указывается в днях; 0 = защиты нет',
|
||||
'opt_tab_auto_wrap' => 'Автоматическая разбивка длинных слов в сообщении:',
|
||||
'opt_tab_auto_wrapd' => 'в случае превышения заданного числа символов',
|
||||
'opt_tab_orders_number' => 'Количество заказов на страницу:',
|
||||
'opt_tab_orders_numberd' => 'Количество заказов, которое будет выводиться на страницу',
|
||||
'opt_tab_msgs' => 'Отсылать в ПС/E-Mail уведомление о добавлении заказа:',
|
||||
'opt_tab_msgsd' => 'Если "Да", при добавлении заказа на сайте, в ПС/E-Mail указанных в настройках будет отправлено соответствующее уведомление.',
|
||||
'opt_tab_msgs1' => 'Отсылать в ПС/E-Mail уведомление о состоянии заказа:',
|
||||
'opt_tab_msgsd1' => 'Если "Да", при изменении состояния заказа на сайте, на ПС/E-Mail указанный в профиле пользователя будет отправлено соответствующее уведомление о состоянии заказа.',
|
||||
'opt_tab_msgs_type' => 'Метод отправки уведомлений:',
|
||||
'opt_tab_msgs_typed' => 'Если "ПС на сайте", при добавлении заказа или его смене состояния, на ЛС будет отправлено соответствующее уведомление, в противном случае сообщение будет отправлено на E-Mail указанный в профиле пользователя.',
|
||||
'opt_tab_msgs_type1' => 'ПС на сайте',
|
||||
'opt_tab_msgs_type2' => 'E-mail',
|
||||
'opt_tab_an' => 'Формат времени для заказов:',
|
||||
'opt_tab_msort' => 'Порядок сортировки заказов',
|
||||
'opt_tab_msortd' => 'Выберите порядок сортировки заказов',
|
||||
'opt_tab_toc' => 'Включить вывод самых последних заказов на сайте',
|
||||
'opt_tab_tocd' => 'Отключение данного модуля позволяет сэкономить 1 запрос к базе данных',
|
||||
'opt_tab_toporders_number' => 'Количество заказов в ТОП, на страницу:',
|
||||
'opt_tab_toporders_numberd' => 'Укажите сколько заказов выводить в ТОП:',
|
||||
'opt_tab_grouplevel' => 'Отправлять уведомление о добавлении заказа, пользователям следующей группы:',
|
||||
'opt_tab_groupleveld' => 'Выберите группу пользователей, которым хотите, что б приходило уведомление о добавлении заказа на сайте.',
|
||||
'opt_tab_mail_info1' => 'Шаблон ПС/E-Mail сообщения',
|
||||
'opt_tab_mail_info2' => 'Настройка шаблона ПС/E-Mail сообщения, которое отсылается при добавлении нового заказа на сайте',
|
||||
'opt_tab_mail_info3' => 'Настройка шаблона ПС/E-Mail сообщения, которое отсылается при смене состояния заказа на сайте',
|
||||
'mail_pm_info1' => 'При написании шаблона для данного сообщения вы можете использовать следующие теги:<br /><b>{%username_from%}</b> - имя пользователя добавивший заказ<br /><b>{%category%}</b> - категория, в которую добавлен заказ<br /><b>{%text%}</b> - краткая информация о заказе<br /><b>{%date%}</b> - дата добавления заказа<br /><b>{%ip%}</b> - IP адрес отправителя',
|
||||
'mail_pm_info2' => 'При написании шаблона для данного сообщения вы можете использовать следующие теги:<br /><b>{%username%}</b> - имя получателя<br /><b>{%username_editor%}</b> - имя пользователя, обработавшего заказ<br /><b>{%date%}</b> - дата получения сообщения<br /><b>{%status%}</b> - статус заказа',
|
||||
'key_info' => 'Код скрипта:',
|
||||
'key_info1' => '<b>Внимание!</b> Здесь введите код, полученный при покупке скрипта. В противном случае возможны проблемы при обращении в тех.поддержку.',
|
||||
'key_trial' => 'Неверный формат лицензионного кода. Дальнейшая работа невозможна.',
|
||||
'edit_denied' => 'У вас нет прав для редактирования данного заказа',
|
||||
'trial_limit' => 'Были превышены лимиты модуля. Дальнейшая работа невозможна.',
|
||||
'not_user_id' => 'Для отправки ПС пользователю на сайте, <b>user id</b> не найден',
|
||||
'opt_btn_save' => 'Сохранить настройки',
|
||||
|
||||
'offline' => 'Стол Заказов временно закрыт.',
|
||||
'description' => 'Стол заказов',
|
||||
'description2' => 'Добавление заказа',
|
||||
'not_orders' => 'На данный момент заказов нет.',
|
||||
'edit' => '[Редактировать]',
|
||||
'download' => '<strong>[Скачать]</strong>',
|
||||
'err_name' => '<li>Вы не указали требуемое название заказа</li>',
|
||||
'err_category' => '<li>Вы не указали категорию</li>',
|
||||
'err_year' => '<li>Вы не указали "Год издания"</li>',
|
||||
'err_year_type' => '<li>"Год издания " должен быть только из цифр</li>',
|
||||
'err_link' => '<li>Вы не указали "Ссылку на скачивание"</li>',
|
||||
'orders_err_name' => 'Слишком длинное "Название (Рус.)",',
|
||||
'orders_err_enname' => 'Слишком длинное "Оригинальное название (Eng.)",',
|
||||
'orders_err_category' => 'Слишком длинная категория,',
|
||||
'orders_err_year' => 'Слишком длинный "Год издания",',
|
||||
'orders_err_year_type' => '"Год издания" должен быть только из цифр',
|
||||
'not_logged' => 'Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь. Мы рекомендуем Вам <a href=\'/index.php?do=register\'>зарегистрироваться</a> либо зайти на сайт под своим именем.',
|
||||
'one_orders' => 'Уважаемый посетитель, Вы уже сделали один заказ!<br />Ждите выполнения заказа, либо можете заказать на следующий день.<br /> <a href=\'javascript:history.go(-1)\'>Вернуться назад</a>',
|
||||
'cause0' => '<p><strong>Причина:</strong> ',
|
||||
'cause1' => '<p><strong>Причина:</strong> не указана.',
|
||||
'downloadd' => '<p><strong>Download: </strong><br />',
|
||||
|
||||
'msgs_subject' => 'Новый заказ',
|
||||
'msgs_subject_usr' => 'Смена состояния заказа',
|
||||
'msg_user_from' => 'Стол-Заказов',
|
||||
|
||||
);
|
||||
|
||||
?>
|
623
language/Russian/website.lng
Normal file
623
language/Russian/website.lng
Normal file
@ -0,0 +1,623 @@
|
||||
<?php
|
||||
|
||||
$lang = array (
|
||||
|
||||
'charset' => "windows-1251",
|
||||
'dle_spam_agree' => "Вы действительно считаете выбранное сообщение спамом?",
|
||||
'pm_spamok' => "Сообщение о СПАМе отправлено администрации. ",
|
||||
'pm_err_spam' => "Уведомление о СПАМе не было отослано администрации. ",
|
||||
'online_notusers' => "Отсутствуют.", 'online_notbots' => "Отсутствуют.",
|
||||
'online_notlusers' => "Отсутствуют.",
|
||||
'online_notlbots' => "Отсутствуют.",
|
||||
'online_was' => "<b>Был:</b> ",
|
||||
'online_back' => "назад",
|
||||
'online_os' => "<b>ОС:</b> ",
|
||||
'online_browser' => "<b>Браузер:</b> ",
|
||||
'online_country' => "<b>Страна:</b> ",
|
||||
'online_city' => "<b>Город:</b> ",
|
||||
'online_group' => "<b>В группе:</b> ",
|
||||
'online_paddcomments' => "<b>Добавляет комментарий в:</b> ",
|
||||
'online_preadnews' => "<b>Читает новость:</b> ",
|
||||
'online_pincategory' => "<b>Находится в разделе:</b> ",
|
||||
'online_pposin' => "<b>Находится в:</b> ",
|
||||
'online_pmainpage' => "<b>Находится на главной странице.</b>",
|
||||
'online_lpaddcomments' => "<b>Добавлял комментарий в:</b> ",
|
||||
'online_lpreadnews' => "<b>Читал новость:</b> ",
|
||||
'online_lpincategory' => "<b>Находился в разделе:</b> ",
|
||||
'online_lpposin' => "<b>Находился в:</b> ", 'online_lpmainpage' => "<b>Находился на главной странице.</b>",
|
||||
'online_robots' => " Роботы",
|
||||
'online_stamp01' => "секунду",
|
||||
'online_stamp02' => "секунды",
|
||||
'online_stamp03' => "секунд",
|
||||
'online_stamp11' => "минуту",
|
||||
'online_stamp12' => "минуты",
|
||||
'online_stamp13' => "минут",
|
||||
'online_stamp21' => "час",
|
||||
'online_stamp22' => "часа",
|
||||
'online_stamp23' => "часов",
|
||||
'online_stamp31' => "день",
|
||||
'online_stamp32' => "дня",
|
||||
'online_stamp33' => "дней",
|
||||
'online_stamp41' => "неделю",
|
||||
'online_stamp42' => "недели",
|
||||
'online_stamp43' => "недель",
|
||||
'online_stamp51' => "месяц",
|
||||
'online_stamp52' => "месяца",
|
||||
'online_stamp53' => "месяцев",
|
||||
'online_stamp61' => "год",
|
||||
'online_stamp62' => "года",
|
||||
'online_stamp63' => "лет",
|
||||
'online_stamp71' => "век",
|
||||
'online_stamp72' => "века",
|
||||
'online_stamp73' => "веков",
|
||||
'wysiwyg_language' => "ru",
|
||||
'loginza_err1' => "Произошла ошибка при подключении к Loginza",
|
||||
'loginza_err2' => "Нет идентификатора пользователя.",
|
||||
'loginza_err3' => "Вы уже зарегистрированы с почтовым ящиком указанным в профиле OpenID.",
|
||||
'comr_self' => "За себя нельзя",
|
||||
'comr_del' => "Будет удалено",
|
||||
'comr_hidden' => "Комментарий скрыт в связи с низким рейтингом",
|
||||
'comr_hide' => "Будет скрыто",
|
||||
'comr_already' => "Вы уже проголосовали",
|
||||
'comr_login' => "Авторизуйтесь",
|
||||
|
||||
'add_ok_ok' => "Новость отредактирована",
|
||||
'add_ok_1_1' => "Ваша новость успешно отредактирована.",
|
||||
'add_ok_2_1' => "Ваша новость была успешно отредактирована. После проверки администратором она будет опубликована на сайте.",
|
||||
'add_ok_3_1' => "Ваша новость была успешно отредактирована. Однако, в связи с тем, что Вы можете публиковать новости без модерации не во все разделы, Ваша новость будет опубликована только после проверки администратором сайта.",
|
||||
|
||||
// 8.3
|
||||
'lost_password' => "Для восстановления пароля на сайте проследуйте по ссылке:",
|
||||
'lost_ip' => "Для сброса блокировки по IP на сайте проследуйте по ссылке:",
|
||||
'lost_clear_ip' => "Блокировка по IP снята",
|
||||
'lost_clear_ip_1' => "С пользователя <b>{username}</b> блокировка по IP успешно снята.",
|
||||
'lost_mfg' => "С уважением,\nАдминистрация сайта",
|
||||
'c_subscribe' => "Подписаться на комментарии",
|
||||
'admin' => "Администратор",
|
||||
'news_err_37' => "Сообщение содержит недопустимый к публикации текст.",
|
||||
'news_err_38' => "Информация о себе или ваша подпись содержит недопустимый к публикации текст.",
|
||||
'news_err_39' => "Ваша новость содержит недопустимый к публикации текст.",
|
||||
'unsubscribe_ok' => "Вы были успешно отписаны от комментариев выбранной новости.",
|
||||
'unsubscribe_err' => "Вы не подписаны на комментарии данной новости.",
|
||||
'nav_trennen' => "...",
|
||||
// 8.3
|
||||
|
||||
// 8.2
|
||||
'thumb_playtitle' => "Просмотр слайдшоу (пробел)",
|
||||
'thumb_pausetitle' => "Пауза",
|
||||
'thumb_previoustitle' => "Предыдущее изображение",
|
||||
'thumb_nexttitle' => "Следующее изображение",
|
||||
'thumb_movetitle' => "Переместить",
|
||||
'thumb_closetitle' => "Закрыть (Esc)",
|
||||
'nl_info_2' => "Пользователь",
|
||||
'news_info_6' => "Комментировать новости на сайте возможно только в течении <b>{days}</b> дней со дня публикации.",
|
||||
'search_s_go' => "перейти на страницу",
|
||||
// 8.2
|
||||
|
||||
// 8.0
|
||||
'feed_err_8' => "<li>Вы не можете отправлять данному пользователю E-Mail сообщений.</li>",
|
||||
'bb_flash' => "Введите размеры флеш ролика (ширина, высота)",
|
||||
'bb_flash_url' => "Введите ссылку на флеш ролик",
|
||||
'inset_flash_link' => "вставить флеш",
|
||||
// 8.0
|
||||
|
||||
// 7.5
|
||||
'news_err_32' => "<li>Администратором сайта была запрещена загрузка аватаров для вашей группы.</li>",
|
||||
'not_allowed_sig' => "<li>Слишком длинная подпись!</li>",
|
||||
'news_err_33' => "Сообщение содержит недопустимые к публикации теги.",
|
||||
'news_err_34' => "Информация о себе или ваша подпись содержит недопустимые к публикации теги.",
|
||||
'tags_count' => "Найдено новостей:",
|
||||
'news_err_35' => "<li>Полное имя содержит недопустимые к публикации символы!</li>",
|
||||
'news_err_36' => "<li>Место жительства содержит недопустимые к публикации символы!</li>",
|
||||
// 7.5
|
||||
|
||||
// 7.3
|
||||
'reg_err_30' => "Имя пользователя не может быть пустым!",
|
||||
'reg_err_31' => "Длина пароля должна быть не менее 6 символов!",
|
||||
'reg_err_32' => "Оба введенных пароля должны быть идентичны!",
|
||||
'reg_err_33' => "Введен неверный E-Mail адрес!",
|
||||
'rss_user' => "Отслеживание всех новостей пользователя по RSS",
|
||||
'show_archive' => "Показать весь архив",
|
||||
'no_message' => "На данный момент у вас нет персональных сообщений",
|
||||
'spoiler_title' => "Показать / Скрыть текст",
|
||||
// 7.3
|
||||
|
||||
// 7.2
|
||||
'news_info_2' => "Администратором сайта вам было запрещено оставлять комментарии на данном сайте до <b>{date}</b>. Это полностью автоматический процесс блокировки и от вас не требуется ничего делать для его ускорения или прекращения.",
|
||||
'news_info_3' => "Администратором сайта вам было запрещено оставлять комментарии на данном сайте.",
|
||||
'news_info_4' => "Администратором сайта вам было запрещено добавлять новости на данном сайте до <b>{date}</b>. Это полностью автоматический процесс блокировки и от вас не требуется ничего делать для его ускорения или прекращения.",
|
||||
'news_info_5' => "Администратором сайта вам было запрещено добавлять новости на данном сайте.",
|
||||
'loading' => "Загрузка...",
|
||||
'mail_pm' => "Новое персональное сообщение",
|
||||
'sort_main' => "Сортировать новости по:",
|
||||
'sort_by_date' => "дата",
|
||||
'sort_by_rating' => "рейтинг",
|
||||
'sort_by_read' => "просмотры",
|
||||
'sort_by_title' => "алфавит",
|
||||
'sort_by_comm' => "комментарии",
|
||||
'rules_accept' => "Принимаю",
|
||||
'rules_decline' => "Не принимаю",
|
||||
'reg_err_21' => "<li>Администратором было запрещено использовать данный логин для регистрации{descr}</li>",
|
||||
'reg_err_22' => ", по причине: {descr}",
|
||||
'reg_err_23' => "<li>Администратором было запрещено использовать данный E-Mail для регистрации{descr}</li>",
|
||||
'reason' => "Указать причину редактирования:",
|
||||
'tag_cloud' => "Облако тегов",
|
||||
'last_news' => "Последние новости",
|
||||
'all_tags' => "Показать все теги",
|
||||
// 7.2
|
||||
|
||||
// 7.0
|
||||
'sig_not_allowed' => "Не заполняйте данное поле, т.к. для вашей группы запрещено использование подписи в комментариях.",
|
||||
'related_not_found' => "Похожих новостей не найдено.",
|
||||
'add_err_9' => "Администратором сайта был установлен лимит на максимальное количество новостей, допустимых к ожиданию на модерацию. На данный момент на сайт добавлено максимальное количество новостей, которые ожидают проверки администратором. Попробуйте добавить вашу новость немного позднее.",
|
||||
// 7.0
|
||||
|
||||
// 6.7
|
||||
'news_delnews' => "Удалить новость",
|
||||
'news_del_ok' => "Выбранная Вами новость была успешно удалена.",
|
||||
// 6.7
|
||||
|
||||
// 6.5
|
||||
'time_heute' => "Сегодня",
|
||||
'time_gestern' => "Вчера",
|
||||
'thumb_expandtitle' => "Развернуть до полного размера",
|
||||
'thumb_restore' => "Кликните для закрытия картинки, нажмите и удерживайте для перемещения",
|
||||
'thumb_focustitle' => "Сфокусировать",
|
||||
'thumb_cancel' => "Нажмите для отмены",
|
||||
'all_user_news' => "Просмотреть все публикации",
|
||||
'show_user_news' => "Все публикации пользователя",
|
||||
'menu_fnews' => "Найти все публикации",
|
||||
'reg_next' => "Продолжить регистрацию на сайте",
|
||||
'xf_not_notig' => "необязательно",
|
||||
// 6.5
|
||||
|
||||
// 6.3
|
||||
'no_limit' => "неограниченно",
|
||||
'title_catalog' => "Каталог",
|
||||
// 6.3
|
||||
|
||||
// 6.2
|
||||
's_fsrelate' => "Наиболее подходящие",
|
||||
// 6.2
|
||||
|
||||
// 6.0
|
||||
'reload_code' => "обновить, если не виден код",
|
||||
'news_err_31' => "Ваш комментарий добавлен в базу. После проверки комментария администратором, он будет опубликован на сайте.",
|
||||
'bb_t_font' => "Шрифт",
|
||||
'bb_t_size' => "Размер",
|
||||
// 6.0
|
||||
|
||||
// 5.7
|
||||
'mail_news' => "Новая новость на модерации",
|
||||
'mail_comments' => "Новый комментарий на сайте",
|
||||
'bb_t_leech' => "Вставка защищенной ссылки",
|
||||
// 5.7
|
||||
|
||||
// 5.5
|
||||
's_ffullstart' => "Расширенный поиск",
|
||||
'user_logged' => "Вы успешно авторизованы на сайте.",
|
||||
// 5.5
|
||||
|
||||
// 5.3
|
||||
'bb_t_emo' => "Вставка смайликов",
|
||||
'pm_to' => "Получатель",
|
||||
'approve' => "(Ожидает проверки администратором)",
|
||||
'ip_info' => "Информация о IP адресе",
|
||||
'ip_tools' => "Поиск других пользователей",
|
||||
'ip_ban' => "Забанить адрес",
|
||||
// 5.3
|
||||
|
||||
// 5.2
|
||||
'bb_t_code' => "Вставка исходного кода",
|
||||
'title_last' => "Комментарии",
|
||||
'title_lost' => "Восстановление пароля",
|
||||
'title_search' => "Поиск по сайту",
|
||||
'bb_t_video' => "Вставка видео",
|
||||
'menu_profile' => "Просмотр профиля",
|
||||
'menu_fcomments' => "Найти все комментарии",
|
||||
'menu_send' => "Отправить сообщение",
|
||||
'menu_uedit' => "Админцентр",
|
||||
// 5.2
|
||||
|
||||
'fav_notfound' => "Вы ничего не вносили в свои закладки",
|
||||
'news_err_30' => "Введен неверный код безопасности",
|
||||
'confirm_ok' => "Ваш E-Mail: <b>{email}</b> подтвержден и допущен к регистрации на сайте. Ваш логин на сайте: <b>{login}</b>. Вы можете продолжить регистрацию на сайте, пройдя по указанной ссылке.",
|
||||
's_allcat' => "- Искать во всех разделах -",
|
||||
's_con' => "Поиск по содержанию",
|
||||
's_word' => "Слова для поиска:",
|
||||
's_whint' => "Для поиска по нескольким<br> альтернативным строкам<br> используйте выражение<br> строка1 OR строка2 OR ...",
|
||||
's_ncom1' => "Искать в комментариях",
|
||||
's_ncall' => "Искать в статьях и комментариях",
|
||||
's_ncom' => "Искать в статьях",
|
||||
's_tnews' => "Искать в заголовках статей",
|
||||
's_nid' => "Искать по номеру статьи",
|
||||
's_static' => "Искать в статических страницах",
|
||||
's_mname' => "Поиск по имени пользователя",
|
||||
's_fall' => "Найти статьи или комментарии",
|
||||
's_fname' => "Имя пользователя:",
|
||||
's_fgname' => "Точное имя",
|
||||
's_fart' => "Найти статьи с",
|
||||
's_fmin' => "Не менее чем",
|
||||
's_fmax' => "Не более чем",
|
||||
's_wcomm' => "комментариями",
|
||||
's_fdaten' => "Временной период",
|
||||
's_tall' => "За все время",
|
||||
's_tlast' => "С последнего визита",
|
||||
's_tday' => "За сутки назад",
|
||||
's_tweek' => "За неделю назад",
|
||||
's_ttweek' => "За 2 недели назад",
|
||||
's_tmoth' => "За месяц назад",
|
||||
's_tfmoth' => "За 3 месяца назад",
|
||||
's_tsmoth' => "За 6 месяцев назад",
|
||||
's_tyear' => "За год назад",
|
||||
's_fnew' => "и новее",
|
||||
's_falt' => "и старее",
|
||||
's_fsoft' => "Сортировка результата поиска",
|
||||
's_fsdate' => "Дата статьи или комментария",
|
||||
's_fstitle' => "Заголовок статьи",
|
||||
's_fscnum' => "Количество комментариев",
|
||||
's_fsnnum' => "Количество просмотров",
|
||||
's_fsaut' => "Имя автора",
|
||||
's_fscat' => "Раздел",
|
||||
's_fsrate' => "Рейтинг статьи",
|
||||
's_fsdesc' => "По убыванию",
|
||||
's_fsasc' => "По возрастанию",
|
||||
's_vlegend' => "Показывать результат поиска как",
|
||||
's_vnum' => "Результатов на страницу:",
|
||||
's_vwie' => "Результаты поиска как",
|
||||
's_vjump' => "Показать результат №:",
|
||||
's_vnews' => "Статьи",
|
||||
's_vtitle' => "Заголовки",
|
||||
's_fcats' => "Поиск по разделам",
|
||||
's_fstart' => "Начать поиск",
|
||||
's_fstop' => "Сбросить",
|
||||
's_freset' => "Вернуть",
|
||||
'static_denied' => "У вас недостаточно прав для просмотра выбранной страницы.",
|
||||
'i_quote' => "Цитата:",
|
||||
'feed_error' => "Посетители, находящиеся в группе \"<b>{group}</b>\", могут использовать обратную связь на сайте только для связи с администрацией сайта.",
|
||||
'search_denied' => "Посетители, находящиеся в группе \"<b>{group}</b>\", не могут использовать поиск по сайту.",
|
||||
'news_err_id' => "Не задан идентификатор новости.",
|
||||
'comm_req_f' => "Заполните все необходимые поля",
|
||||
'ip_block_login' => "Внимание, Вы включили автоматическую блокировку по IP вашего аккаунта, доступ к вашему аккаунту с данной подсети запрещен.",
|
||||
'mod_list_f' => "Ваших новостей, ожидающих модерации, нет",
|
||||
'ip_block' => "Ваш IP адрес или подсеть были заблокированы администратором",
|
||||
'pm_alert' => "Уважаемый <b>{user}</b> с момента вашего отсутствия на сайте вам было прислано <b>{num}</b> новых персональных сообщений.",
|
||||
'pm_asub' => "Тема:",
|
||||
'pm_atitle' => "Получены персональные сообщения",
|
||||
'pm_mtitle' => "Нажмите и удерживайте, для перемещения окна",
|
||||
'pm_aread' => "Прочитать сообщения",
|
||||
'pm_close' => "Закрыть окно",
|
||||
'att_dcount' => "cкачиваний:",
|
||||
'att_denied' => "Вы не можете скачивать файлы с нашего сервера",
|
||||
|
||||
'banned_info' => "Неограниченно.",
|
||||
'fav_error' => "Данный раздел доступен только зарегистрированным пользователям",
|
||||
|
||||
'aj_allowbr' => "Автоперенос строк",
|
||||
'pm_selall' => "Выбрать все",
|
||||
'b_del' => "Удалить выбранное",
|
||||
'last_comm' => "Последние комментарии",
|
||||
'err_last' => "Комментарии отсутствуют",
|
||||
|
||||
'top_name' => "Имя",
|
||||
'top_status' => "Группа",
|
||||
'top_reg' => "Регистрация",
|
||||
'top_last' => "Последнее посещение",
|
||||
'top_nnum' => "Публикаций",
|
||||
'top_cnum' => "Комментариев",
|
||||
'top_pm' => "ПС",
|
||||
|
||||
'use_ajax_edit' => "Вы уверены, что хотите отредактировать новость?",
|
||||
'ajax_comm_edit' => "Вы уверены, что хотите отредактировать комментарий?",
|
||||
'ajax_info' => "Загрузка. Пожалуйста, подождите...",
|
||||
'menu_short' => "Быстрое редактирование",
|
||||
'menu_full' => "Полное редактирование",
|
||||
|
||||
|
||||
'addnews_allow_rate' => "Разрешить рейтинг статьи",
|
||||
'sec_image' => "Включите эту картинку для отображения кода безопасности",
|
||||
'reg_err_19' => "<li>Код безопасности не соответствует отображённому</li>",
|
||||
'reg_err_20' => "<li>Данное имя уже зарегистрировано</li>",
|
||||
'reg_ok_ajax' => "Вы можете использовать данное имя для регистрации",
|
||||
|
||||
'news_page_err' => "К сожалению, данная страница для Вас не доступна: возможно, был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.",
|
||||
'bb_t_up' => "Загрузка файлов и изображений на сервер",
|
||||
'bb_b_up' => "Загрузка",
|
||||
'next_moth' => "Следующий месяц",
|
||||
'prev_moth' => "Предыдущий месяц",
|
||||
'cal_post' => "Все посты за",
|
||||
'title_users' => "Пользователи",
|
||||
'title_new' => "Непрочитанное",
|
||||
'title_date' => "Материалы за",
|
||||
'title_stats' => "Статистика сайта",
|
||||
'title_addnews' => "Добавление новости",
|
||||
'title_register' => "Регистрация посетителя",
|
||||
'title_fav' => "Мои закладки",
|
||||
'title_pm' => "Персональные сообщения",
|
||||
'title_feed' => "Обратная связь",
|
||||
'title_year' => "год",
|
||||
'title_year1' => "года",
|
||||
'vote_set' => "Голосовать",
|
||||
'vote_result' => "Результаты",
|
||||
'poll_failed' => "Вы должны выбрать минимум один из вариантов опроса",
|
||||
|
||||
'excellent' => "Отлично",
|
||||
'good' => "Хорошо",
|
||||
'fair' => "Средне",
|
||||
'poor' => "Приемлемо",
|
||||
'useless' => "Плохо",
|
||||
'rated' => "Рейтинг статьи:",
|
||||
'voten' => "голосов:",
|
||||
'yrate' => "Ваша оценка:",
|
||||
'entrat' => "Оценить",
|
||||
'unorat' => "еще нет рейтинга",
|
||||
'urated' => "Рейтинг пользователя",
|
||||
|
||||
'templ_err_1' => "Шаблон",
|
||||
'templ_err_2' => "не существует! Проверьте правильность написания!",
|
||||
|
||||
'all_info' => "Информация",
|
||||
'all_prev' => "Вернуться назад",
|
||||
'all_err' => "Ваш браузер не поддерживает Javascript. Мы рекомендуем включить Вам эту поддержку.",
|
||||
'all_err_1' => "Внимание, обнаружена ошибка",
|
||||
|
||||
'reg_err_1' => "<li>Оба введенных пароля должны быть идентичны!</li>",
|
||||
'reg_err_2' => "<li>Длина пароля должна быть не менее 6 символов и не более 16!</li>",
|
||||
'reg_err_3' => "<li>Длина имени не может превышать 20 символов!</li>",
|
||||
'reg_err_4' => "<li>Вы используете недопустимое для регистрации имя!</li>",
|
||||
'reg_err_5' => "<li>Вы используете недопустимый пароль!</li>",
|
||||
'reg_err_6' => "<li>Введен неверный E-Mail адрес!</li>",
|
||||
'reg_err_7' => "<li>Имя пользователя не может быть пустым!</li>",
|
||||
'reg_err_8' => "<li>Пользователь с таким именем или E-Mail адресом уже зарегистрирован!</li>",
|
||||
'reg_err_9' => "Администратором сайта была отключена поддержка регистрации на сайте.",
|
||||
'reg_err_10' => "На сайте уже зарегистрировано максимально допустимое количество пользователей. Попробуйте зарегистрироваться позже.",
|
||||
'reg_err_11' => "Ошибка регистрации",
|
||||
'reg_err_12' => "<li>Произошла ошибка при загрузке аватара.</li>",
|
||||
'reg_err_13' => "<li>К загрузке разрешены только файлы с расширением JPG или PNG.</li>",
|
||||
'reg_err_14' => "<li>Слишком длинная информация о себе!</li>",
|
||||
'reg_err_15' => "<li>Введено слишком длинное имя!</li>",
|
||||
'reg_err_16' => "<li>Страны с таким длинным названием не бывает!</li>",
|
||||
'reg_err_17' => "<li>Введен слишком длинный номер ICQ!</li>",
|
||||
'reg_err_18' => "Внимание, обнаружена ошибка",
|
||||
'reg_ok' => "Регистрация успешно завершена",
|
||||
'reg_ok_1' => "Благодарим Вас за регистрацию на нашем сайте! Теперь Вы можете войти на сайт, используя Ваш логин и пароль.",
|
||||
|
||||
'reg_subj' => "Активация аккаунта",
|
||||
'reg_vhead' => "Отправлен запрос на активацию",
|
||||
'reg_vtext' => "Запрос на регистрацию принят.<br><br>Администрация сайта требует реальности всех вводимых E-mail адресов. Через 10 минут (возможно и раньше) Вы получите письмо с инструкциями следующего шага. Еще немного, и Вы будете зарегистрированы на сайте. Если в течении этого времени Вы не получили письма с подтверждением, то повторите попытку используя другой E-Mail адрес или обратитесь к администратору сайта.<br>Внимание! Возможны проблемы с доставкой на E-mail адреса бесплатных почтовых серверов.",
|
||||
|
||||
'add_err_1' => "<li>Заголовок не может быть пустым</li>",
|
||||
'add_err_2' => "<li>Введен слишком длинный заголовок</li>",
|
||||
'xfield_xerr1' => "<li>Вы должны заполнить все необходимые поля.</li>",
|
||||
'add_err_5' => "<li>Необходимо заполнить поле с краткой новостью</li>",
|
||||
'add_err_6' => "Внимание, обнаружена ошибка",
|
||||
'add_err_7' => "У вашей статьи должен быть хотя бы заголовок и краткая версия",
|
||||
'add_err_8' => "К сожалению у вас нет прав для публикации новостей на сайте.<br>Unfortunately you do not have the right to publish news on the site.<br><br><a href='./1-nabor-komandy-sajta.html'><font color=red>Получить право добавлять новости</font></a><br><a href='./1-nabor-komandy-sajta.html'><font color=red>Obtain the right to add news</font></a><br>",
|
||||
'add_err_9' => "Такая новость уже есть Извините но мы не можем Добавлять повторные новости!",
|
||||
'add_ok' => "Новость добавлена",
|
||||
'add_ok_1' => "Ваша новость была успешно добавлена в базу данных.",
|
||||
'add_ok_2' => "Ваша новость была успешно добавлена в базу данных. После проверки администратором она будет опубликована на сайте.",
|
||||
'add_ok_3' => "Ваша новость была успешно добавлена в базу данных. Однако, в связи с тем, что Вы можете публиковать новости без модерации не во все разделы, Ваша новость будет опубликована только после проверки администратором сайта.",
|
||||
'add_noch' => "Добавить еще",
|
||||
'add_or' => "или",
|
||||
'add_al_com' => "Разрешить комментарии",
|
||||
'add_al_m' => "Публиковать на главной",
|
||||
'add_al_ap' => "Опубликовать новость на сайте",
|
||||
'add_al_fix' => "Зафиксировать новость",
|
||||
|
||||
'bb_url' => "Введите полный URL ссылки",
|
||||
'bb_page' => "Введите номер страницы",
|
||||
'bb_url_name' => "Введите название сайта",
|
||||
'bb_page_name' => "Введите описание ссылки",
|
||||
'bb_image' => "Введите полный URL изображения",
|
||||
'bb_email' => "Введите e-mail адрес",
|
||||
'bb_code' => "Использование: [CODE] Здесь Ваш код.. [/CODE]",
|
||||
'bb_quote' => "Использование: [QUOTE] Здесь Ваша Цитата.. [/QUOTE]",
|
||||
'bb_no_url' => "Вы должны ввести URL",
|
||||
'bb_no_title' => "Вы должны ввести название",
|
||||
'bb_no_email' => "Вы должны ввести e-mail адрес",
|
||||
'bb_prompt_start' => "Введите текст для форматирования",
|
||||
'bb_img_title' => "Введите по какому краю выравнивать картинку (left, center, right)",
|
||||
'bb_email_title' => "Введите описание ссылки (необязательно)",
|
||||
'bb_b_quote' => " Цитата ",
|
||||
'bb_bb_page' => "Страница",
|
||||
'bb_b_close' => "Закрыть всё",
|
||||
'bb_b_url' => "Ссылка",
|
||||
'bb_b_img' => "Картинка",
|
||||
'bb_b_mail' => "E-Mail",
|
||||
'bb_b_break' => "Разрыв",
|
||||
'bb_b_page' => "Ссылка на страницу",
|
||||
'bb_t_b' => "Полужирный",
|
||||
'bb_t_i' => "Наклонный текст",
|
||||
'bb_t_u' => "Подчеркнутый текст",
|
||||
'bb_t_s' => "Зачеркнутый текст",
|
||||
'bb_t_l' => "Выравнивание по левому краю",
|
||||
'bb_t_c' => "По центру",
|
||||
'bb_t_r' => "Выравнивание по правому краю",
|
||||
'bb_t_cl' => "Закрыть все открытые теги",
|
||||
'bb_t_url' => "Вставка ссылки",
|
||||
'bb_t_img' => "Вставка картинки",
|
||||
'bb_t_hide' => "Скрытый текст",
|
||||
'bb_t_quote' => "Вставка цитаты",
|
||||
'bb_t_translit' => "Преобразовать выбранный текст из транслитерации в кириллицу",
|
||||
'bb_t_m' => "Вставка E-Mail",
|
||||
'bb_t_br' => "Вставка разрыва между страницами",
|
||||
'bb_t_p' => "Вставка ссылки на страницу",
|
||||
'bb_b_cancel' => "Отменить",
|
||||
'bb_t_cancel' => "Отменить редактирование и вернуть все в исходное состояние",
|
||||
'bb_b_apply' => "Принять исправления",
|
||||
'bb_t_apply' => "Отправить исправления на сервер",
|
||||
|
||||
'comm_err_1' => "Работа с комментариями доступна только зарегистрированным пользователям",
|
||||
'comm_err_2' => "Внимание, обнаружена ошибка",
|
||||
'comm_err_3' => "У Вас нет прав для редактирования выбранного комментария.",
|
||||
'comm_err_4' => "У Вас нет прав для удаления выбранного комментария.",
|
||||
'comm_err_5' => "Действие не определено или не выбран комментарий.",
|
||||
|
||||
'comm_ok' => "Действие успешно выполнено",
|
||||
'comm_ok_1' => "Текст комментария был успешно изменен",
|
||||
'comm_ok_2' => "Комментарий был успешно удален.",
|
||||
'comm_title' => "Редактирование комментария",
|
||||
|
||||
'login_err' => "Ошибка авторизации",
|
||||
'login_err_1' => "Внимание, вход на сайт не был произведен. Возможно, Вы ввели неверное имя пользователя или пароль.",
|
||||
|
||||
'search_err_2' => "К сожалению, поиск по сайту не дал никаких результатов. Попробуйте изменить или сократить Ваш запрос.",
|
||||
'search_err_3' => "Введено пустое поле для поиска или строка поиска содержит менее 4 символов, в связи с чем поиск был приостановлен.",
|
||||
'search_ok' => "По Вашему запросу найдено",
|
||||
'search_ok_1' => "ответов",
|
||||
'search_ok_2' => "Результаты запроса",
|
||||
'search_title' => "Поиск по сайту",
|
||||
|
||||
'lost_npass' => "Уважаемый посетитель! Согласно Вашему запросу для Вас был сгенерирован новый пароль. Для входа на сайт используйте следующие данные:",
|
||||
'lost_login' => "Логин:",
|
||||
'lost_pass' => "Пароль:",
|
||||
'lost_info' => "После авторизации на сайте вы сможете изменить данный пароль на любой другой.",
|
||||
'lost_gen' => "Новый пароль сгенерирован",
|
||||
'lost_err' => "Пользователь с таким именем не запрашивал восстановление пароля, либо данная ссылка уже устарела. Допускается только одна попытка восстановления пароля по отправленной вам на e-mail ссылке. После чего вы должны повторно запрашивать восстановление пароля на e-mail",
|
||||
'lost_subj' => "Восстановление забытого пароля",
|
||||
'lost_ms' => "Уведомление отправлено",
|
||||
'lost_ms_1' => "Уважаемый посетитель! В связи с тем что в целях безопасности все пароли хранятся в зашифрованном виде, мы не можем восстановить Ваш старый пароль. На ваш E-Mail адрес, указанный при регистрации, было отправлено уведомление для генерации нового пароля для Вас.",
|
||||
'lost_err_1' => "Пользователь с таким именем или E-Mail не найден в базе данных",
|
||||
'news_err_url' => "URL адреса сайтов, в поле \"О себе\" публиковать ЗАПРЕЩЕНО!",
|
||||
'news_err_0' => "Вы ввели слишком короткий комментарий.",
|
||||
'news_err_1' => "Вы ввели слишком длинное имя.",
|
||||
'news_err_2' => "Вы ввели слишком длинный E-Mail адрес.",
|
||||
'news_err_3' => "Вы ввели слишком длинный комментарий.",
|
||||
'news_err_4' => "Включена защита от флуда.",
|
||||
'news_err_5' => "Вы сможете добавить повторно комментарий для данной статьи только через",
|
||||
'news_err_6' => "секунд",
|
||||
'news_err_7' => "Извините, но Вы ввели имя зарегистрированного пользователя. Если Вы и есть этот пользователь, то Вам необходимо авторизироваться в панели управления.",
|
||||
'news_err_9' => "Поле \"Имя\" является обязательным и не может быть пустым.",
|
||||
'news_err_10' => "Извините, но Вы ввели неверный E-Mail адрес.",
|
||||
'news_err_11' => "Поле \"Комментарий\" является обязательным и не может быть пустым.",
|
||||
'news_err_12' => "К сожалению, данная страница для Вас не доступна, возможно был изменен ее адрес или она была удалена. Пожалуйста, воспользуйтесь поиском.",
|
||||
'news_err_13' => "<li>У вас нет прав для редактирования этого профиля!</li>",
|
||||
'news_err_14' => "<li>Произошла ошибка при загрузки фотографии.</li>",
|
||||
'news_err_15' => "<li>К загрузке разрешены только файлы с расширением JPG или GIF.</li>",
|
||||
'news_err_16' => "<li>Максимальный размер загружаемой картинки не должен превышать 100 Kb.</li>",
|
||||
'news_err_17' => "<li>Введен неверный старый пароль!</li>",
|
||||
'news_err_18' => "<li>Оба введенных пароля должны быть идентичны!</li>",
|
||||
'news_err_19' => "<li>Длина пароля должна быть не менее 6 символов и не более 16!</li>",
|
||||
'news_err_20' => "<li>Вы используете недопустимый пароль!</li>",
|
||||
'news_err_21' => "<li>Введен неверный E-Mail адрес!</li>",
|
||||
'news_err_22' => "<li>Слишком длинная информация о себе!</li>",
|
||||
'news_err_23' => "<li>Введено слишком длинное имя!</li>",
|
||||
'news_err_24' => "<li>Страны с таким длинным названием не бывает!</li>",
|
||||
'news_err_25' => "<li>Введен слишком длинный номер ICQ!</li>",
|
||||
'news_err_26' => "Пользователь с таким именем не найден.",
|
||||
'news_err_27' => "По данному критерию новости не найдены, либо у вас нет доступа для просмотра этих новостей",
|
||||
'news_err_28' => "не имеют доступа для просмотра статей из данного раздела.",
|
||||
'news_err_29' => "Комментирование новости отключено Администрацией портала...",
|
||||
|
||||
'feed_err_1' => "<li>Вы не указали своё имя.</li>",
|
||||
'feed_err_2' => "<li>Вы не указали свой E-mail.</li>",
|
||||
'feed_err_3' => "<li>Неверно указан E-mail.</li>",
|
||||
'feed_err_4' => "<li>Вы не указали заголовок сообщения.</li>",
|
||||
'feed_err_5' => "<li>Вы не указали текст сообщения.</li>",
|
||||
'feed_err_6' => "Невозможно отправить Ваше сообщение.",
|
||||
'feed_err_7' => "Данный пользователь не найден в базе данных, либо он не хочет получать письма от других пользователей",
|
||||
|
||||
'feed_ok_1' => "Сообщение успешно отправлено",
|
||||
'feed_ok_2' => "Ваше сообщение для",
|
||||
'feed_ok_3' => "успешно отправлено.",
|
||||
'feed_ok_4' => "Вернуться на главную.",
|
||||
|
||||
'user_mem' => "Посетитель",
|
||||
'user_ed' => "Журналист",
|
||||
'user_re' => "Редактор",
|
||||
'user_adm' => "Администратор",
|
||||
'user_ban' => "Забанен",
|
||||
|
||||
'news_next' => "Следующая страница",
|
||||
'news_prev' => "Предыдущая страница",
|
||||
'news_site' => "Страница",
|
||||
'news_iz' => " из ",
|
||||
'news_delcom' => "Вы действительно хотите удалить? Данное действие невозможно будет отменить",
|
||||
'news_regus' => "<center>Внимание! У вас нет прав для просмотра скрытого текста.<br />Для того чтобы видеть скрытый текст Вам необходимо зарегистрироваться.<br /><br />Attention! You can view this text. <br /> To see the hidden text you must register.</center>",
|
||||
'news_info_1' => "Только <b>Зарегистрированные</b> пользователи могут оставлять комментарии.",
|
||||
'news_mail' => "отправить E-Mail",
|
||||
'news_nomail' => "скрыт от просмотра",
|
||||
'news_noamail' => "Не получать письма от других",
|
||||
'news_option' => "редактировать профиль",
|
||||
'news_addfav' => "Добавить новость в закладки",
|
||||
'news_minfav' => "Удалить новость из закладок",
|
||||
'news_addcom' => "Добавление комментария",
|
||||
'news_pmnew' => "написать ПС",
|
||||
|
||||
'pm_err_1' => "К сожалению, Вы не можете использовать персональные сообщения на сайте",
|
||||
'pm_err_2' => "<li>Все поля обязательны к заполнению</li>",
|
||||
'pm_err_3' => "<li>Слишком длинный заголовок письма</li>",
|
||||
'pm_err_4' => "<li>Получатель с таким именем не найден</li>",
|
||||
'pm_err_8' => "<li>Количество персональных сообщений получателя достигло максимального значения, в связи с чем он не может больше получать персональные сообщения.</li>",
|
||||
'pm_err_5' => "Удаление персональных сообщений не было произведено. Либо Вы ничего не выбрали, либо у Вас нет на это прав.",
|
||||
'pm_err_6' => "Сообщение с таким номером не найдено",
|
||||
'pm_err_7' => "У Вас нет прав просматривать чужие персональные сообщения",
|
||||
'pm_err_9' => "Ваш ящик достиг максимального количества полученных сообщений. Вы не сможете больше получать персональные сообщения до тех пор, пока не удалите лишние сообщения.",
|
||||
'pm_err_10' => "Вы пытаетесь отправить персональное сообщение самому себе!",
|
||||
'pm_sendok' => "Ваше сообщение было успешно отправлено.",
|
||||
'pm_confirm' => "Вы действительно желаете удалить данное сообщение",
|
||||
'pm_noch' => "Отправить еще",
|
||||
'pm_main' => "вернуться на главную страницу",
|
||||
'pm_or' => "или",
|
||||
'pm_delok' => "Выбранные сообщения были успешно удалены.",
|
||||
'pm_subj' => "Тема сообщения",
|
||||
'pm_from' => "Отправитель",
|
||||
'pm_date' => "Дата",
|
||||
'pm_action' => "Действие?",
|
||||
'pm_del' => "удалить",
|
||||
|
||||
);
|
||||
|
||||
////////////
|
||||
// Локализация для даты
|
||||
$langdate = array (
|
||||
'January' => "января",
|
||||
'February' => "февраля",
|
||||
'March' => "марта",
|
||||
'April' => "апреля",
|
||||
'May' => "мая",
|
||||
'June' => "июня",
|
||||
'July' => "июля",
|
||||
'August' => "августа",
|
||||
'September' => "сентября",
|
||||
'October' => "октября",
|
||||
'November' => "ноября",
|
||||
'December' => "декабря",
|
||||
'Jan' => "янв",
|
||||
'Feb' => "фев",
|
||||
'Mar' => "мар",
|
||||
'Apr' => "апр",
|
||||
'Jun' => "июн",
|
||||
'Jul' => "июл",
|
||||
'Aug' => "авг",
|
||||
'Sep' => "сен",
|
||||
'Oct' => "окт",
|
||||
'Nov' => "ноя",
|
||||
'Dec' => "дек",
|
||||
|
||||
'Sunday' => "Воскресенье",
|
||||
'Monday' => "Понедельник",
|
||||
'Tuesday' => "Вторник",
|
||||
'Wednesday' => "Среда",
|
||||
'Thursday' => "Четверг",
|
||||
'Friday' => "Пятница",
|
||||
'Saturday' => "Суббота",
|
||||
|
||||
'Sun' => "Вс",
|
||||
'Mon' => "Пн",
|
||||
'Tue' => "Вт",
|
||||
'Wed' => "Ср",
|
||||
'Thu' => "Чт",
|
||||
'Fri' => "Пт",
|
||||
'Sat' => "Сб",
|
||||
|
||||
);
|
||||
|
||||
# Для архива и календаря
|
||||
$f = array('января', 'февраля', 'марта', 'апреля', 'мая', 'июня', 'июля', 'августа', 'сентября', 'октября', 'ноября', 'декабря');
|
||||
$r = array('Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь');
|
||||
$langdateshortweekdays = array("Вс","Пн","Вт","Ср","Чт","Пт","Сб");
|
||||
|
||||
@setlocale(LC_ALL, array("ru_RU.CP1251", "ru_SU.CP1251", "ru_RU.KOI8-r", "ru_RU", "russian", "ru_SU", "ru"));
|
||||
?>
|
38
language/Russian/website_repa.lng
Normal file
38
language/Russian/website_repa.lng
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
|
||||
$lang_repa = array (
|
||||
|
||||
'repa_user_self' => "Вы не можете изменяться репутацию самому себе.",
|
||||
'repa_off' => "Пользователь отключил репутацию в своих настройках. Вы не можете изменять ему репутацию.",
|
||||
'repa_user_not_found' => "Пользователь не найден.",
|
||||
'repa_error_act' => "Не выбрано действие.",
|
||||
'repa_no_com' => "Вы не ввели комментарий к изменению репутации.",
|
||||
'repa_min_com' => "Вы ввели слишком маленький комментарий.",
|
||||
'repa_stop_otr' => "Для изменения репутации другим пользователям ваша репутация должна быть равна или больше 0.",
|
||||
'repa_edit_error' => "Вы не можете самому себе редактировать репутацию. Если вы считаете, что вам не по заслугам поставили + или -, то сообщите об этом другому модератору или стоящему выше по рангу пользователю для удаления изменённой репутации.",
|
||||
'repa_history' => "В базе данных нет такого пользователя либо пользователь ещё никому не менял репутацию.",
|
||||
'repa_not_logged' => "Вы не авторизованы на сайте. Зарегистрируйтесь или авторизуйтесь.",
|
||||
'repa_not_selected' => "Не выбранная репутация для иземенния.",
|
||||
'repa_selected_not_found' => "В базе данных не обнаружена запрашиваемая запись.",
|
||||
'repa_access_no' => "Вы не имеете прав для редактирования данного изменения репутации.",
|
||||
'gen_status_off' => "Этот модуль отключен администратором",
|
||||
'title_repa' => "Репутация пользователя",
|
||||
'title_repa_top' => "Лучшие пользователи",
|
||||
'repa_nothing' => "Изменений небыло.",
|
||||
'repa_first_p' => "к начальной странице",
|
||||
'repa_last_pa' => "к последней странице",
|
||||
'repa_up' => "Положительно",
|
||||
'repa_down' => "Отрицательно",
|
||||
'repa_adm' => "Административно",
|
||||
'change_quest' => "Изменить репутацию пользователю",
|
||||
'repa_already' => "Вы уже изменяли репутацию пользователю",
|
||||
'repa_group_stop' => "Пользователям из Вашей группы нельзя менять репутацию другим.",
|
||||
'repa_user_stop' => "Вы не можете воздействовать на репутацию других. Администратор заблокировал это действие для Вас",
|
||||
'repa_bl_msg' => "До полученя права изменять репутацию другим Вы должны быть зарегистрированы не менее",
|
||||
'repa_days' => " дней",
|
||||
'repa_limit' => "Репутация дошла до лимита",
|
||||
'repa_too_long' => "Слишком длинный текст комментария!",
|
||||
'repa_msg_changed' => "Вам изменили репутацию",
|
||||
|
||||
);
|
||||
?>
|
44
out.php
Normal file
44
out.php
Normal file
@ -0,0 +1,44 @@
|
||||
<?php
|
||||
define('ROOT_DIR', '.' );
|
||||
define('SYSTEM_DIR' , ROOT_DIR . '/system');
|
||||
require_once ( SYSTEM_DIR . '/data/config.php');
|
||||
include_once ( SYSTEM_DIR . '/classes/templates.class.php');
|
||||
|
||||
function reset_url($url) {
|
||||
$value = str_replace ( "https://", "", $url );
|
||||
$value = str_replace ( "http://", "", $url );
|
||||
$value = str_replace ( "www.", "", $value );
|
||||
$value = explode ( "/", $value );
|
||||
$value = reset ( $value );
|
||||
return $value;
|
||||
}
|
||||
|
||||
$url = rawurldecode ( $_GET['url'] );
|
||||
$url = @base64_decode ( $url );
|
||||
$url = str_replace ( "&", "&", $url );
|
||||
|
||||
$_SERVER['HTTP_REFERER'] = reset_url ( $_SERVER['HTTP_REFERER'] );
|
||||
$_SERVER['HTTP_HOST'] = reset_url ( $_SERVER['HTTP_HOST'] );
|
||||
|
||||
if (($_SERVER['HTTP_HOST'] != $_SERVER['HTTP_REFERER']) or $url == "") {
|
||||
@header ( 'Location: /index.php' );
|
||||
die ( "Access denied!!!<br /><br />Please visit <a href=\"/index.php\">{$_SERVER['HTTP_HOST']}</a>" );
|
||||
}
|
||||
|
||||
$tpl = new dle_template;
|
||||
$tpl->dir = ( ROOT_DIR.'/templates/');
|
||||
|
||||
$tpl->load_template('redirect.tpl');
|
||||
$tpl->set('{title}', $config['short_title']);
|
||||
$tpl->set('{home_url}', $config['http_home_url']);
|
||||
$tpl->set( '{url}', $url );
|
||||
$tpl->compile( 'redirect' );
|
||||
$tpl->clear();
|
||||
|
||||
echo $tpl->result['redirect'];
|
||||
die();
|
||||
|
||||
//@header ( 'Location: ' . $url );
|
||||
|
||||
//die ( "Link Redirect:<br /><br />Please click <a href=\"{$url}\">here.</a>" );
|
||||
?>
|
141
rating.php
Normal file
141
rating.php
Normal file
@ -0,0 +1,141 @@
|
||||
<?
|
||||
define('ROOT_DIR', dirname(__FILE__));
|
||||
define('RATING_DIR', ROOT_DIR."/uploads/rating/");
|
||||
header("Content-type: image/png");
|
||||
|
||||
$id = intval($_REQUEST['id']);
|
||||
$query = $_REQUEST['query'];
|
||||
|
||||
$file = RATING_DIR."{$query}/{$id}.png";
|
||||
$timelife = 86400;
|
||||
|
||||
if(file_exists($file)){
|
||||
$modif= time() - @filemtime($file);
|
||||
if($modif < $timelife)
|
||||
{
|
||||
readfile($file);
|
||||
exit;
|
||||
}
|
||||
}
|
||||
|
||||
ob_start();
|
||||
function show_error_image($error_text = "Some error with this image!"){
|
||||
$error_picture_width = strlen($error_text) * 7 + 12;
|
||||
$img = @imagecreatetruecolor($error_picture_width, 30) or die("Cannot Initialize new GD image stream");
|
||||
$text_color = imagecolorallocate($img, 255, 0, 0);
|
||||
imagestring($img, 3, 7, 8, $error_text, $text_color);
|
||||
header("Content-type: image/png");
|
||||
imagepng($img);
|
||||
imagedestroy($img);
|
||||
exit;
|
||||
}
|
||||
|
||||
if(strlen($id) > 6) show_error_image("The request can have maximum 6 characters");
|
||||
|
||||
if($query == 'game'){
|
||||
function get_xml($url)
|
||||
{
|
||||
$ch = curl_init($url);
|
||||
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
|
||||
curl_setopt($ch, CURLOPT_HEADER, 0);
|
||||
curl_setopt($ch, CURLOPT_ENCODING, "");
|
||||
curl_setopt($ch, CURLOPT_USERAGENT, "Mozilla/5.0 (Windows; U; Windows NT 5.1; ru; rv:1.9.0.8) Gecko/2009032609 Firefox/3.0.8");
|
||||
curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, 120);
|
||||
curl_setopt($ch, CURLOPT_TIMEOUT, 120);
|
||||
|
||||
$content = curl_exec($ch);
|
||||
curl_close($ch);
|
||||
preg_match("!<ip_rate>(.*?)</ip_rate>!si", $content, $contens);
|
||||
$content = $contens[1];
|
||||
return $content;
|
||||
}
|
||||
|
||||
$content = get_xml("http://www.igropoisk.com/rating/{$id}.xml");
|
||||
|
||||
$pic = imagecreatefrompng(RATING_DIR."game.png");
|
||||
$color = ImageColorAllocate($pic, 255, 255, 255);
|
||||
imagealphablending($pic, true);
|
||||
|
||||
imagestring($pic, 3, 6, 19, $content, $color);
|
||||
|
||||
} elseif ($query == 'film'){
|
||||
function subX($dbl){
|
||||
switch ($dbl) {
|
||||
case 1:
|
||||
return 9;
|
||||
break;
|
||||
case 2:
|
||||
return 8;
|
||||
break;
|
||||
case 3:
|
||||
return 7;
|
||||
break;
|
||||
case 4:
|
||||
return 6;
|
||||
break;
|
||||
case 5:
|
||||
return 5;
|
||||
break;
|
||||
case 6:
|
||||
return 4;
|
||||
break;
|
||||
case 7:
|
||||
return 4;
|
||||
break;
|
||||
case 8:
|
||||
return 3;
|
||||
break;
|
||||
case 9:
|
||||
return 2;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
$rating = file_get_contents("http://rating.kinopoisk.ru/{$id}.xml");
|
||||
|
||||
preg_match("/kp_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $kp);
|
||||
$kino_rating = $kp[2];
|
||||
$kino_votes = ($kino_rating) ? $kp[1] : "";
|
||||
$kino_votes = number_format($kino_votes);
|
||||
|
||||
preg_match("/imdb_rating num_vote=['\"](.+)['\"]>(.+)</isU", $rating, $imdb);
|
||||
$imdb_rating = $imdb[2];
|
||||
$imdb_votes = ($imdb_rating) ? $imdb[1] : "";
|
||||
$imdb_votes = number_format($imdb_votes);
|
||||
|
||||
$pic = ($imdb_rating > 0) ? imagecreatefrompng(RATING_DIR."rating.png") : imagecreatefrompng(RATING_DIR."kinopoisk.png");
|
||||
$star = imagecreatefrompng(RATING_DIR."star.png");
|
||||
$color = ImageColorAllocate($pic, 0, 0, 0);
|
||||
$colorDown = ImageColorAllocate($pic, 120, 120, 120);
|
||||
imagealphablending($pic, true);
|
||||
|
||||
($kino_rating > 10) ? $kino_rating = 10 : "";
|
||||
imagestring($pic, 3, 5, 19, $kino_rating, $color);
|
||||
imagestring($pic, 1, 5+(strlen($kino_rating)+1)*6, 23, $kino_votes, $colorDown);
|
||||
|
||||
if($imdb_rating > 0) {
|
||||
($imdb_rating > 10) ? $imdb_rating = 10 : "";
|
||||
imagestring($pic, 3, 191 - (strlen($imdb_rating)-1) * 7, 1, $imdb_rating, $color);
|
||||
imagestring($pic, 1, 188 - (strlen($imdb_votes)-2) * 5, 17, $imdb_votes, $colorDown);
|
||||
|
||||
for ($i = 0, $next = 0; $i != (int)$imdb_rating; $i++, $next = $next + 10) {
|
||||
imagecopy($pic, $star, 109 + $next, 26, 0, 0, imagesx($star), imagesy($star));
|
||||
}
|
||||
$imdb_rating = explode(".", $imdb_rating);
|
||||
if(is_array($imdb_rating) and $imdb_rating[1] != 0) {
|
||||
$dbl = (int)$imdb_rating[1];
|
||||
imagecopy($pic, $star, 109 + $next, 26, 0, 0, imagesx($star) - subX($dbl), imagesy($star));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
imagesavealpha($pic, true);
|
||||
imagepng($pic);
|
||||
imagedestroy($pic);
|
||||
$cache = ob_get_contents();
|
||||
ob_end_clean();
|
||||
echo $cache;
|
||||
$fp = @fopen ($file, "w");
|
||||
@fwrite($fp, $cache);
|
||||
@fclose($fp);
|
||||
?>
|
31
robots.txt
Normal file
31
robots.txt
Normal file
@ -0,0 +1,31 @@
|
||||
User-agent: *
|
||||
Allow: /$
|
||||
Allow: /index.php$
|
||||
Allow: /sitemap*
|
||||
Allow: /rss*
|
||||
Allow: /*.html
|
||||
Allow: /news/*
|
||||
Allow: /films/*
|
||||
Allow: /video/*
|
||||
Allow: /music/*
|
||||
Allow: /games/*
|
||||
Allow: /soft/*
|
||||
Allow: /library/*
|
||||
Allow: /wallpapers/*
|
||||
Allow: /forum/$
|
||||
Allow: /forum/forum_
|
||||
Allow: /forum/topic_
|
||||
Disallow: /
|
||||
Crawl-delay: 0.5
|
||||
Host: files-sib.net
|
||||
Sitemap: http://files-sib.net/sitemap.xml
|
||||
|
||||
User-agent: Adsbot-Google
|
||||
User-agent: Googlebot-Image
|
||||
User-agent: Googlebot-Mobile
|
||||
User-agent: Mediapartners-Google
|
||||
User-agent: msnbot
|
||||
User-agent: msnbot-media
|
||||
User-agent: Slurp
|
||||
User-agent: Yahoo-MMCrawler
|
||||
Disallow: /
|
917
schema.sql
Normal file
917
schema.sql
Normal file
@ -0,0 +1,917 @@
|
||||
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
|
||||
/*!40101 SET NAMES cp1251 */;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_banned`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_banned` (
|
||||
`id` smallint(5) NOT NULL AUTO_INCREMENT,
|
||||
`users_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`descr` text NOT NULL,
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
`days` smallint(4) NOT NULL DEFAULT '0',
|
||||
`ip` varchar(50) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user_id` (`users_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_category`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_category` (
|
||||
`id` smallint(5) NOT NULL AUTO_INCREMENT,
|
||||
`parentid` smallint(5) NOT NULL DEFAULT '0',
|
||||
`posi` smallint(5) NOT NULL DEFAULT '1',
|
||||
`name` varchar(50) NOT NULL DEFAULT '',
|
||||
`alt_name` varchar(50) NOT NULL DEFAULT '',
|
||||
`descr` varchar(200) NOT NULL DEFAULT '',
|
||||
`keywords` text NOT NULL,
|
||||
`news_sort` varchar(10) NOT NULL DEFAULT '',
|
||||
`news_msort` varchar(4) NOT NULL DEFAULT '',
|
||||
`news_number` smallint(5) NOT NULL DEFAULT '0',
|
||||
`metatitle` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_chat`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_chat` (
|
||||
`id` int(5) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL DEFAULT '',
|
||||
`message` text NOT NULL,
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`ip` varchar(16) NOT NULL DEFAULT '',
|
||||
`user_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`mgroup` tinyint(2) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_comments`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_comments` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`post_id` int(11) NOT NULL DEFAULT '0',
|
||||
`user_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`autor` varchar(40) NOT NULL DEFAULT '',
|
||||
`email` varchar(40) NOT NULL DEFAULT '',
|
||||
`text` text NOT NULL,
|
||||
`ip` varchar(16) NOT NULL DEFAULT '',
|
||||
`is_register` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`rating` smallint(5) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `user_id` (`user_id`),
|
||||
FULLTEXT KEY `text` (`text`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_covers`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_covers` (
|
||||
`id` int(10) NOT NULL AUTO_INCREMENT,
|
||||
`newsid` int(10) NOT NULL,
|
||||
`link` varchar(1000) NOT NULL,
|
||||
`thumb` varchar(1000) NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_email`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_email` (
|
||||
`id` tinyint(3) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(10) NOT NULL DEFAULT '',
|
||||
`template` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_files`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_files` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`news_id` int(10) NOT NULL DEFAULT '0',
|
||||
`name` varchar(250) NOT NULL DEFAULT '',
|
||||
`onserver` varchar(250) NOT NULL DEFAULT '',
|
||||
`author` varchar(40) NOT NULL DEFAULT '',
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
`dcount` smallint(5) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_category`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_category` (
|
||||
`sid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`cat_name` varchar(128) NOT NULL DEFAULT '',
|
||||
`posi` tinyint(3) NOT NULL DEFAULT '0',
|
||||
KEY `sid` (`sid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_email`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_email` (
|
||||
`id` int(11) NOT NULL DEFAULT '0',
|
||||
`name` varchar(40) NOT NULL DEFAULT '',
|
||||
`template` text NOT NULL,
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_files`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_files` (
|
||||
`file_id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`file_type` varchar(10) NOT NULL DEFAULT '',
|
||||
`forum_id` int(11) NOT NULL DEFAULT '0',
|
||||
`topic_id` int(11) NOT NULL DEFAULT '0',
|
||||
`post_id` int(11) NOT NULL DEFAULT '0',
|
||||
`file_attach` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`file_name` varchar(250) NOT NULL DEFAULT '',
|
||||
`onserver` varchar(250) NOT NULL DEFAULT '',
|
||||
`file_author` varchar(40) NOT NULL DEFAULT '',
|
||||
`file_date` int(10) NOT NULL DEFAULT '0',
|
||||
`file_size` int(11) NOT NULL DEFAULT '0',
|
||||
`dcount` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`file_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_forums`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_forums` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`parentid` int(11) NOT NULL DEFAULT '0',
|
||||
`main_id` int(11) NOT NULL DEFAULT '0',
|
||||
`topics` mediumint(6) NOT NULL DEFAULT '0',
|
||||
`posts` mediumint(6) NOT NULL DEFAULT '0',
|
||||
`name` varchar(128) NOT NULL DEFAULT '',
|
||||
`description` text NOT NULL,
|
||||
`position` tinyint(3) NOT NULL DEFAULT '0',
|
||||
`status` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`access_read` varchar(150) NOT NULL DEFAULT '',
|
||||
`access_write` varchar(150) NOT NULL DEFAULT '',
|
||||
`access_mod` varchar(150) NOT NULL DEFAULT '',
|
||||
`access_topic` varchar(150) NOT NULL DEFAULT '',
|
||||
`access_upload` varchar(150) NOT NULL DEFAULT '',
|
||||
`access_download` varchar(150) NOT NULL DEFAULT '',
|
||||
`f_last_tid` smallint(5) NOT NULL DEFAULT '0',
|
||||
`f_last_title` varchar(70) NOT NULL DEFAULT '',
|
||||
`f_last_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`f_last_poster_name` varchar(40) NOT NULL DEFAULT '',
|
||||
`password` varchar(32) NOT NULL DEFAULT '',
|
||||
`rules_title` varchar(128) NOT NULL DEFAULT '',
|
||||
`rules` text NOT NULL,
|
||||
`icon` varchar(40) NOT NULL DEFAULT '',
|
||||
`moderators` varchar(150) NOT NULL DEFAULT '',
|
||||
`postcount` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`fixpost` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`last_post_id` int(11) NOT NULL DEFAULT '0',
|
||||
`banner` text NOT NULL,
|
||||
`q_reply` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`i_edit` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_moderators`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_moderators` (
|
||||
`mid` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`forum_id` int(11) NOT NULL DEFAULT '0',
|
||||
`member_name` varchar(32) NOT NULL DEFAULT '',
|
||||
`member_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`edit_post` tinyint(1) DEFAULT NULL,
|
||||
`edit_topic` tinyint(1) DEFAULT NULL,
|
||||
`delete_post` tinyint(1) DEFAULT NULL,
|
||||
`delete_topic` tinyint(1) DEFAULT NULL,
|
||||
`open_topic` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`close_topic` tinyint(1) DEFAULT NULL,
|
||||
`mass_prune` tinyint(1) DEFAULT NULL,
|
||||
`move_topic` tinyint(1) DEFAULT NULL,
|
||||
`pin_topic` tinyint(1) DEFAULT NULL,
|
||||
`unpin_topic` tinyint(1) DEFAULT NULL,
|
||||
`is_group` tinyint(1) DEFAULT '0',
|
||||
`group_id` smallint(3) DEFAULT NULL,
|
||||
`combining_post` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`move_post` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`mid`),
|
||||
KEY `forum_id` (`forum_id`),
|
||||
KEY `group_id` (`group_id`),
|
||||
KEY `member_id` (`member_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_poll_log`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_poll_log` (
|
||||
`id` int(11) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`topic_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`member` varchar(30) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`topic_id`,`member`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_posts`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_posts` (
|
||||
`pid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`topic_id` int(11) NOT NULL DEFAULT '0',
|
||||
`post_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`post_author` varchar(40) NOT NULL DEFAULT '',
|
||||
`post_text` text NOT NULL,
|
||||
`post_ip` varchar(16) NOT NULL DEFAULT '',
|
||||
`is_register` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`e_mail` varchar(40) NOT NULL DEFAULT '',
|
||||
`edit_user` varchar(40) NOT NULL DEFAULT '0',
|
||||
`edit_time` int(10) NOT NULL DEFAULT '0',
|
||||
`hidden` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`is_count` tinyint(1) NOT NULL DEFAULT '1',
|
||||
PRIMARY KEY (`pid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_sessions`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_sessions` (
|
||||
`id` varchar(60) NOT NULL DEFAULT '0',
|
||||
`member_name` varchar(64) NOT NULL DEFAULT '',
|
||||
`user_group` int(11) NOT NULL DEFAULT '5',
|
||||
`member_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`ip` varchar(16) NOT NULL DEFAULT '',
|
||||
`browser` varchar(200) NOT NULL DEFAULT '',
|
||||
`running_time` int(10) NOT NULL DEFAULT '0',
|
||||
`location` varchar(40) NOT NULL DEFAULT '',
|
||||
`act_index` int(10) NOT NULL DEFAULT '0',
|
||||
`act_forum` int(10) NOT NULL DEFAULT '0',
|
||||
`act_topic` int(10) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `act_topic` (`act_topic`),
|
||||
KEY `act_forum` (`act_forum`),
|
||||
KEY `act_index` (`act_index`),
|
||||
KEY `running_time` (`running_time`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_subscription`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_subscription` (
|
||||
`sid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`topic_id` int(10) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`sid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_titles`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_titles` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`posts` int(11) NOT NULL DEFAULT '0',
|
||||
`title` varchar(128) NOT NULL DEFAULT '',
|
||||
`pips` varchar(128) NOT NULL DEFAULT '',
|
||||
KEY `id` (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_topics`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_topics` (
|
||||
`tid` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`forum_id` int(11) NOT NULL DEFAULT '0',
|
||||
`title` varchar(70) NOT NULL DEFAULT '',
|
||||
`topic_descr` varchar(70) NOT NULL DEFAULT '',
|
||||
`post` int(11) NOT NULL DEFAULT '0',
|
||||
`views` int(11) NOT NULL DEFAULT '0',
|
||||
`author_topic` varchar(40) NOT NULL DEFAULT '',
|
||||
`start_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`last_date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`last_poster_name` varchar(40) NOT NULL DEFAULT '',
|
||||
`topic_status` int(1) NOT NULL DEFAULT '0',
|
||||
`hidden` int(1) NOT NULL DEFAULT '0',
|
||||
`fixed` int(1) NOT NULL DEFAULT '1',
|
||||
`poll_title` varchar(200) NOT NULL DEFAULT '',
|
||||
`frage` varchar(200) NOT NULL DEFAULT '',
|
||||
`poll_body` text NOT NULL,
|
||||
`poll_count` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`answer` varchar(150) NOT NULL DEFAULT '',
|
||||
`multiple` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`meta_descr` varchar(200) DEFAULT NULL,
|
||||
`meta_keywords` text,
|
||||
`first_post` int(11) NOT NULL DEFAULT '0',
|
||||
`last_post_id` int(11) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`tid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_forum_views`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_forum_views` (
|
||||
`topic_id` int(11) NOT NULL DEFAULT '0',
|
||||
`forum_id` int(11) NOT NULL DEFAULT '0',
|
||||
`user_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`time` int(11) DEFAULT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_images`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_images` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`images` text NOT NULL,
|
||||
`news_id` int(10) NOT NULL DEFAULT '0',
|
||||
`author` varchar(40) NOT NULL DEFAULT '',
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `author` (`author`),
|
||||
KEY `news_id` (`news_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_lostdb`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_lostdb` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`lostname` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`lostid` varchar(40) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `lostid` (`lostid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_online`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_online` (
|
||||
`uid` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`session` char(32) NOT NULL,
|
||||
`lastdate` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`useragent` char(255) NOT NULL,
|
||||
`ip` char(15) DEFAULT NULL,
|
||||
PRIMARY KEY (`session`),
|
||||
KEY `idx` (`uid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_pm`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_pm` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`subj` varchar(255) NOT NULL DEFAULT '',
|
||||
`text` text NOT NULL,
|
||||
`user` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`user_from` varchar(50) NOT NULL DEFAULT '',
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
`pm_read` char(3) NOT NULL DEFAULT '',
|
||||
`folder` varchar(10) NOT NULL DEFAULT '',
|
||||
`reply` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `folder` (`folder`),
|
||||
KEY `user` (`user`),
|
||||
KEY `user_from` (`user_from`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_poll`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_poll` (
|
||||
`id` mediumint(8) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`news_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`title` varchar(200) NOT NULL DEFAULT '',
|
||||
`frage` varchar(200) NOT NULL DEFAULT '',
|
||||
`body` text NOT NULL,
|
||||
`votes` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`multiple` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`answer` varchar(150) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_poll_log`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_poll_log` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`news_id` int(10) unsigned NOT NULL DEFAULT '0',
|
||||
`member` varchar(30) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`,`member`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_post`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_post` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`autor` varchar(40) NOT NULL DEFAULT '',
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`short_story` text NOT NULL,
|
||||
`full_story` text NOT NULL,
|
||||
`title` varchar(255) NOT NULL DEFAULT '',
|
||||
`descr` varchar(200) NOT NULL DEFAULT '',
|
||||
`keywords` text NOT NULL,
|
||||
`category` varchar(200) NOT NULL DEFAULT '0',
|
||||
`alt_name` varchar(200) NOT NULL DEFAULT '',
|
||||
`comm_num` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`allow_comm` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_main` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||
`allow_rate` tinyint(1) unsigned NOT NULL DEFAULT '1',
|
||||
`approve` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`fixed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`rating` smallint(5) NOT NULL DEFAULT '0',
|
||||
`news_read` mediumint(8) unsigned NOT NULL DEFAULT '0',
|
||||
`votes` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`access` varchar(150) NOT NULL DEFAULT '',
|
||||
`remote_addr` varchar(255) NOT NULL,
|
||||
`editdate` varchar(15) NOT NULL DEFAULT '',
|
||||
`tags` varchar(255) NOT NULL DEFAULT '',
|
||||
`metatitle` varchar(255) NOT NULL DEFAULT '',
|
||||
`news_tid` smallint(5) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `autor` (`autor`),
|
||||
KEY `alt_name` (`alt_name`),
|
||||
KEY `category` (`category`),
|
||||
KEY `approve` (`approve`),
|
||||
KEY `allow_main` (`allow_main`),
|
||||
KEY `date` (`date`),
|
||||
KEY `comm_num` (`comm_num`),
|
||||
KEY `tags` (`tags`),
|
||||
FULLTEXT KEY `short_story` (`short_story`,`title`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_rate`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_rate` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`type_id` int(10) NOT NULL DEFAULT '0',
|
||||
`member` varchar(40) NOT NULL DEFAULT '',
|
||||
`rating` int(1) NOT NULL DEFAULT '0',
|
||||
`type` int(1) NOT NULL DEFAULT '1',
|
||||
`date` varchar(15) NOT NULL,
|
||||
`ip` varchar(16) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`type_id`),
|
||||
KEY `member` (`member`),
|
||||
KEY `ip` (`ip`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_reputation`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_reputation` (
|
||||
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
|
||||
`how` tinytext NOT NULL,
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`author` varchar(40) NOT NULL DEFAULT '',
|
||||
`komu` varchar(40) NOT NULL DEFAULT '',
|
||||
`text` text NOT NULL,
|
||||
`url_page` text NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
FULLTEXT KEY `text` (`text`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_static`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_static` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`name` varchar(100) NOT NULL DEFAULT '',
|
||||
`descr` varchar(255) NOT NULL DEFAULT '',
|
||||
`template` text NOT NULL,
|
||||
`allow_br` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`grouplevel` varchar(100) NOT NULL DEFAULT 'all',
|
||||
`metadescr` varchar(200) NOT NULL DEFAULT '',
|
||||
`metakeys` text NOT NULL,
|
||||
`views` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
`metatitle` varchar(255) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `name` (`name`),
|
||||
FULLTEXT KEY `template` (`template`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_static_files`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_static_files` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`static_id` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`author` varchar(40) NOT NULL DEFAULT '',
|
||||
`date` varchar(50) NOT NULL DEFAULT '',
|
||||
`name` varchar(255) NOT NULL DEFAULT '',
|
||||
`onserver` varchar(255) NOT NULL DEFAULT '',
|
||||
`dcount` smallint(5) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `static_id` (`static_id`),
|
||||
KEY `onserver` (`onserver`),
|
||||
KEY `author` (`author`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_subscribe`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_subscribe` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`user_id` int(11) NOT NULL DEFAULT '0',
|
||||
`name` varchar(40) NOT NULL DEFAULT '',
|
||||
`email` varchar(50) NOT NULL DEFAULT '',
|
||||
`news_id` int(11) NOT NULL DEFAULT '0',
|
||||
`hash` varchar(32) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`),
|
||||
KEY `user_id` (`user_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_table`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_table` (
|
||||
`id` int(6) NOT NULL AUTO_INCREMENT,
|
||||
`date` varchar(15) NOT NULL DEFAULT '',
|
||||
`autor` varchar(40) NOT NULL DEFAULT '',
|
||||
`runame` varchar(40) NOT NULL DEFAULT '',
|
||||
`enname` varchar(40) NOT NULL DEFAULT '',
|
||||
`fileyear` varchar(4) NOT NULL DEFAULT '0000',
|
||||
`category` varchar(20) NOT NULL DEFAULT '',
|
||||
`answer` text,
|
||||
`status` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`editor` varchar(40) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `id` (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_tags`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_tags` (
|
||||
`id` int(11) NOT NULL AUTO_INCREMENT,
|
||||
`news_id` int(11) NOT NULL DEFAULT '0',
|
||||
`tag` varchar(100) NOT NULL DEFAULT '',
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`),
|
||||
KEY `tag` (`tag`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_torrents`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_torrents` (
|
||||
`id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`news_id` int(10) NOT NULL DEFAULT '0',
|
||||
`name` varchar(250) NOT NULL DEFAULT '',
|
||||
`onserver` varchar(250) NOT NULL DEFAULT '',
|
||||
`author` varchar(40) NOT NULL DEFAULT '',
|
||||
`dcount` smallint(5) NOT NULL,
|
||||
`info_hash` blob NOT NULL,
|
||||
`size` bigint(20) NOT NULL,
|
||||
`gold` tinyint(4) NOT NULL DEFAULT '0',
|
||||
`leechers` int(11) NOT NULL DEFAULT '0',
|
||||
`seeders` int(11) NOT NULL DEFAULT '0',
|
||||
`completed` int(11) NOT NULL DEFAULT '0',
|
||||
`flags` int(11) NOT NULL DEFAULT '0',
|
||||
`mtime` int(11) NOT NULL,
|
||||
`ctime` int(11) NOT NULL,
|
||||
PRIMARY KEY (`id`),
|
||||
KEY `news_id` (`news_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_usergroups`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_usergroups` (
|
||||
`id` smallint(5) NOT NULL AUTO_INCREMENT,
|
||||
`group_name` varchar(32) NOT NULL DEFAULT '',
|
||||
`colour` varchar(40) NOT NULL,
|
||||
`allow_cats` text NOT NULL,
|
||||
`allow_adds` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`cat_add` text NOT NULL,
|
||||
`allow_admin` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_addc` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_editc` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_delc` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`edit_allc` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`del_allc` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`moderation` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_all_edit` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_edit` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_pm` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`max_foto` varchar(10) NOT NULL DEFAULT '',
|
||||
`allow_files` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_hide` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_short` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_fixed` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_feed` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_search` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_poll` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_main` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_rating` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_offline` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_image_upload` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_file_upload` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_tor_upload` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_signature` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`allow_url` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`allow_image` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`max_signature` smallint(6) NOT NULL DEFAULT '0',
|
||||
`max_info` smallint(6) NOT NULL DEFAULT '0',
|
||||
`forum_post_edit` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`forum_post_del` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`forum_topic_set` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`forum_topic_edit` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`forum_topic_del` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_addnews` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_editnews` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_categories` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_editusers` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_wordfilter` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_static` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_blockip` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_iptools` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_googlemap` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`admin_table` tinyint(1) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_users`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_users` (
|
||||
`email` varchar(50) NOT NULL DEFAULT '',
|
||||
`password` varchar(32) NOT NULL DEFAULT '',
|
||||
`name` varchar(40) NOT NULL DEFAULT '',
|
||||
`user_id` mediumint(8) NOT NULL AUTO_INCREMENT,
|
||||
`time_zone` int(11) NOT NULL DEFAULT '0',
|
||||
`news_num` smallint(6) NOT NULL DEFAULT '0',
|
||||
`comm_num` mediumint(8) NOT NULL DEFAULT '0',
|
||||
`user_group` smallint(5) NOT NULL DEFAULT '4',
|
||||
`status` varchar(50) NOT NULL,
|
||||
`lastdate` varchar(20) DEFAULT NULL,
|
||||
`reg_date` varchar(20) DEFAULT NULL,
|
||||
`banned` varchar(5) NOT NULL DEFAULT '',
|
||||
`allow_mail` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`info` text NOT NULL,
|
||||
`signature` text NOT NULL,
|
||||
`foto` varchar(30) NOT NULL DEFAULT '',
|
||||
`fullname` varchar(100) NOT NULL DEFAULT '',
|
||||
`land` varchar(100) NOT NULL DEFAULT '',
|
||||
`icq` varchar(20) NOT NULL DEFAULT '',
|
||||
`skype` varchar(32) NOT NULL,
|
||||
`favorites` text NOT NULL,
|
||||
`pm_all` smallint(5) NOT NULL DEFAULT '0',
|
||||
`pm_unread` smallint(5) NOT NULL DEFAULT '0',
|
||||
`allowed_ip` varchar(255) NOT NULL DEFAULT '',
|
||||
`hash` varchar(32) NOT NULL DEFAULT '',
|
||||
`logged_ip` varchar(16) NOT NULL DEFAULT '',
|
||||
`restricted` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`restricted_days` smallint(4) NOT NULL DEFAULT '0',
|
||||
`restricted_date` varchar(15) NOT NULL DEFAULT '',
|
||||
`mail_lc` tinyint(1) NOT NULL DEFAULT '1',
|
||||
`birthday` text NOT NULL,
|
||||
`sex` int(1) NOT NULL,
|
||||
`repa` mediumint(8) DEFAULT '0',
|
||||
`repa_mod` varchar(20) NOT NULL DEFAULT '0|0',
|
||||
`repa_off` tinyint(1) DEFAULT '0',
|
||||
`r_freeze` varchar(5) NOT NULL,
|
||||
`photo` varchar(30) NOT NULL,
|
||||
`can_leech` tinyint(4) NOT NULL DEFAULT '1',
|
||||
`wait_time` int(11) NOT NULL DEFAULT '0',
|
||||
`torrent_pass_version` int(11) NOT NULL,
|
||||
`downloaded` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`uploaded` bigint(20) unsigned NOT NULL DEFAULT '0',
|
||||
`forum_post` smallint(5) NOT NULL DEFAULT '0',
|
||||
`forum_update` varchar(20) NOT NULL DEFAULT '0',
|
||||
`forum_rank` varchar(40) NOT NULL DEFAULT '0',
|
||||
`forum_pips` smallint(2) NOT NULL DEFAULT '0',
|
||||
`forum_last` varchar(20) NOT NULL DEFAULT '0',
|
||||
`forum_time` varchar(20) NOT NULL DEFAULT '0',
|
||||
PRIMARY KEY (`user_id`),
|
||||
UNIQUE KEY `name` (`name`),
|
||||
UNIQUE KEY `email` (`email`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251 AUTO_INCREMENT=1 ;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `cms_users_friends`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `cms_users_friends` (
|
||||
`user_id` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`friend_id` mediumint(9) NOT NULL DEFAULT '0',
|
||||
`date` datetime NOT NULL DEFAULT '0000-00-00 00:00:00',
|
||||
`approve` tinyint(1) NOT NULL DEFAULT '0',
|
||||
`porder` mediumint(2) NOT NULL DEFAULT '0',
|
||||
KEY `approve` (`approve`),
|
||||
KEY `user_id` (`user_id`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `xbt_config`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `xbt_config` (
|
||||
`name` varchar(255) NOT NULL,
|
||||
`value` varchar(255) NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
--
|
||||
-- Äàìï äàííûõ òàáëèöû `xbt_config`
|
||||
--
|
||||
|
||||
INSERT INTO `xbt_config` (`name`, `value`) VALUES
|
||||
('announce_interval', '1800'),
|
||||
('anonymous_announce', '1'),
|
||||
('vip_group', '6'),
|
||||
('anonymous_scrape', '0'),
|
||||
('auto_register', '0'),
|
||||
('clean_up_interval', '300'),
|
||||
('column_files_completed', 'completed'),
|
||||
('column_files_fid', 'id'),
|
||||
('column_files_leechers', 'leechers'),
|
||||
('column_files_seeders', 'seeders'),
|
||||
('column_users_uid', 'user_id'),
|
||||
('daemon', '1'),
|
||||
('debug', '0'),
|
||||
('full_scrape', '0'),
|
||||
('freeday', '0'),
|
||||
('gzip_scrape', '1'),
|
||||
('listen_port', '2710'),
|
||||
('log_access', '0'),
|
||||
('log_announce', '0'),
|
||||
('log_scrape', '0'),
|
||||
('offline_message', ''),
|
||||
('pid_file', '/var/run/xbt.pid'),
|
||||
('query_log', ''),
|
||||
('read_config_interval', '60'),
|
||||
('read_db_interval', '60'),
|
||||
('redirect_url', 'http://files-sib.net'),
|
||||
('scrape_interval', '0'),
|
||||
('table_files', 'cms_torrents'),
|
||||
('table_users', 'cms_users'),
|
||||
('write_db_interval', '15'),
|
||||
('table_announce_log', 'xbt_announce_log'),
|
||||
('cheaters', '0'),
|
||||
('cheater_speed', '8388608'),
|
||||
('freedaystart', '0'),
|
||||
('freedaystop', '0'),
|
||||
('torrent_pass_private_key', '');
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `xbt_deny_from_hosts`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `xbt_deny_from_hosts` (
|
||||
`begin` int(10) unsigned NOT NULL,
|
||||
`end` int(10) unsigned NOT NULL
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
-- --------------------------------------------------------
|
||||
|
||||
--
|
||||
-- Ñòðóêòóðà òàáëèöû `xbt_files_users`
|
||||
--
|
||||
|
||||
CREATE TABLE IF NOT EXISTS `xbt_files_users` (
|
||||
`fid` int(11) NOT NULL,
|
||||
`uid` int(11) NOT NULL,
|
||||
`active` tinyint(4) NOT NULL,
|
||||
`announced` int(11) NOT NULL,
|
||||
`completed` int(11) NOT NULL,
|
||||
`downloaded` bigint(20) unsigned NOT NULL,
|
||||
`left` bigint(20) unsigned NOT NULL,
|
||||
`uploaded` bigint(20) unsigned NOT NULL,
|
||||
`mtime` int(11) NOT NULL,
|
||||
`timespent` int(11) NOT NULL,
|
||||
`down_speed` int(11) NOT NULL,
|
||||
`up_speed` int(11) NOT NULL,
|
||||
`ipa` varchar(255) NOT NULL,
|
||||
`port` int(11) NOT NULL,
|
||||
`downloadedz` bigint(11) unsigned NOT NULL,
|
||||
`uploadedz` bigint(11) unsigned NOT NULL,
|
||||
UNIQUE KEY `fid` (`fid`,`uid`),
|
||||
KEY `uid` (`uid`)
|
||||
) ENGINE=MyISAM DEFAULT CHARSET=cp1251;
|
||||
|
||||
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
|
||||
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
|
||||
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;
|
75
system/ajax/addcomments.php
Normal file
75
system/ajax/addcomments.php
Normal file
@ -0,0 +1,75 @@
|
||||
<?php
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
@session_start();
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
require_once SYSTEM_DIR . '/classes/templates.class.php';
|
||||
|
||||
$_REQUEST['skin'] = totranslit($_REQUEST['skin'], false, false);
|
||||
if( ! @is_dir( ROOT_DIR . '/templates/' . $_REQUEST['skin'] ) ) {die( "Hacking attempt!" );}
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {
|
||||
$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
@include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
$tpl = new dle_template( );
|
||||
$tpl->dir = ROOT_DIR . '/templates/' . $_REQUEST['skin'];
|
||||
define( 'TEMPLATE_DIR', $tpl->dir );
|
||||
$ajax_adds = true;
|
||||
|
||||
$_POST['name'] = convert_unicode( $_POST['name'], $config['charset'] );
|
||||
$_POST['mail'] = convert_unicode( $_POST['mail'], $config['charset'] );
|
||||
$_POST['comments'] = convert_unicode( $_POST['comments'], $config['charset'] );
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/addcomments.php';
|
||||
|
||||
if( $CN_HALT != TRUE ) {
|
||||
include_once SYSTEM_DIR . '/classes/comments.class.php';
|
||||
$comments = new Comments( $db, 1, 1 );
|
||||
$comments->query = "SELECT " . PREFIX . "_comments.id, post_id, " . PREFIX . "_comments.user_id, date, autor as gast_name, " . PREFIX . "_comments.email as gast_email, text, ip, is_register, name, rating, " . USERPREFIX . "_users.email, news_num, comm_num, user_group, signature, foto, repa, repa_mod, repa_off FROM " . PREFIX . "_comments LEFT JOIN " . USERPREFIX . "_users ON " . PREFIX . "_comments.user_id=" . USERPREFIX . "_users.user_id WHERE " . PREFIX . "_comments.post_id = '$post_id' order by id DESC";
|
||||
$comments->build_comments('ajax');
|
||||
} $clear_value = "form.comments.value = '';";
|
||||
|
||||
if( $CN_HALT ) {
|
||||
$stop = implode( '<br /><br />', $stop );
|
||||
$tpl->result['content'] = "<script language=\"JavaScript\" type=\"text/javascript\">\nvar form = document.getElementById('dle-comments-form');\n";
|
||||
if( ! $where_approve ) $tpl->result['content'] .= "{$clear_value}";
|
||||
$tpl->result['content'] .= "\n alert ('" . $stop . "');\n var timeval = new Date().getTime();\n
|
||||
\n </script>";
|
||||
} else {
|
||||
$tpl->result['content'] = "<div id=\"blind-animation\" style=\"display:none\">".$tpl->result['content']."<div>";
|
||||
$tpl->result['content'] .= <<<HTML
|
||||
<script language='JavaScript' type="text/javascript">
|
||||
var timeval = new Date().getTime();
|
||||
var form = document.getElementById('dle-comments-form');
|
||||
{$clear_value}
|
||||
</script>
|
||||
HTML;
|
||||
}
|
||||
|
||||
$tpl->result['content'] = str_replace( '{THEME}', $config['http_home_url'] . 'templates/' . $_REQUEST['skin'], $tpl->result['content'] );
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $tpl->result['content'];
|
||||
?>
|
134
system/ajax/bbcode.php
Normal file
134
system/ajax/bbcode.php
Normal file
@ -0,0 +1,134 @@
|
||||
<?PHP
|
||||
if(!defined('DATALIFEENGINE'))
|
||||
{
|
||||
die("Hacking attempt!");
|
||||
}
|
||||
|
||||
if ($addtype == "addnews") {
|
||||
|
||||
$addform = "document.ajaxnews".$id;
|
||||
$startform = "dleeditnews".$id;
|
||||
|
||||
$code = <<<HTML
|
||||
<div style="width:99%; height:50px; border:1px solid #BBB; background-image:url('{THEME}/bbcodes/images/bg.gif');">
|
||||
<div id="b_b" class="editor_button" onclick="simpletag('b')"><img title="$lang[bb_t_b]" src="{THEME}/bbcodes/images/b.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_i" class="editor_button" onclick="simpletag('i')"><img title="$lang[bb_t_i]" src="{THEME}/bbcodes/images/i.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_u" class="editor_button" onclick="simpletag('u')"><img title="$lang[bb_t_u]" src="{THEME}/bbcodes/images/u.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_s" class="editor_button" onclick="simpletag('s')"><img title="$lang[bb_t_s]" src="{THEME}/bbcodes/images/s.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick=tag_image()><img title="$lang[bb_b_img]" src="{THEME}/bbcodes/images/image.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_url()"><img title="$lang[bb_t_url]" src="{THEME}/bbcodes/images/link.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_email()"><img title="$lang[bb_t_m]" src="{THEME}/bbcodes/images/email.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_video()"><img title="$lang[bb_t_video]" src="{THEME}/bbcodes/images/mp.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_audio()"><img src="{THEME}/bbcodes/images/mp3.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_hide" class="editor_button" onclick="simpletag('hide')"><img title="$lang[bb_t_hide]" src="{THEME}/bbcodes/images/hide.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div id="b_color" class="editor_button" onclick="ins_color();"><img src="{THEME}/bbcodes/images/color.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_spoiler" class="editor_button" onclick="spoiler()"><img src="{THEME}/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_kp()"><img title="Ðåéòèíã ÊèíîÏîèñêà" src="{THEME}/bbcodes/rating.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_flash()"><img src="{THEME}/bbcodes/images/flash.gif" width="23" height="25" border="0" alt="" /></div>
|
||||
<div class="editbclose" onclick="closeall()"><img title="$lang[bb_t_cl]" src="{THEME}/bbcodes/images/close.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button_brk"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" style="padding-top:4px;width:120px;"><select name="bbfont" class="editor_button" onchange="insert_font(this.options[this.selectedIndex].value, 'font')"><option value='0'>{$lang['bb_t_font']}</option><option value='Arial'>Arial</option><option value='Arial Black'>Arial Black</option><option value='Century Gothic'>Century Gothic</option><option value='Courier New'>Courier New</option><option value='Georgia'>Georgia</option><option value='Impact'>Impact</option><option value='System'>System</option><option value='Tahoma'>Tahoma</option><option value='Times New Roman'>Times New Roman</option><option value='Verdana'>Verdana</option></select></div>
|
||||
<div class="editor_button" style="padding-top:4px;width:65px;"><select name="bbsize" class="editor_button" onchange="insert_font(this.options[this.selectedIndex].value, 'size')"><option value='0'>{$lang['bb_t_size']}</option><option value='1'>1</option><option value='2'>2</option><option value='3'>3</option><option value='4'>4</option><option value='5'>5</option><option value='6'>6</option><option value='7'>7</option></select></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div id="b_left" class="editor_button" onclick="simpletag('left')"><img title="$lang[bb_t_l]" src="{THEME}/bbcodes/images/l.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_center" class="editor_button" onclick="simpletag('center')"><img title="$lang[bb_t_c]" src="{THEME}/bbcodes/images/c.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_right" class="editor_button" onclick="simpletag('right')"><img title="$lang[bb_t_r]" src="{THEME}/bbcodes/images/r.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div id="b_quote" class="editor_button" onclick="simpletag('quote')"><img title="$lang[bb_t_quote]" src="{THEME}/bbcodes/images/quote.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_code" class="editor_button" onclick="simpletag('code')"><img title="$lang[bb_t_code]" src="{THEME}/bbcodes/images/code.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"> <img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div class="editor_button" onclick="tag_media()"><img src="{THEME}/bbcodes/images/youtube.gif" width="23" height="25" border="0" alt="" /></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
</div>
|
||||
<iframe width="154" height="104" id="cp" src="{THEME}/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
|
||||
HTML;
|
||||
|
||||
}
|
||||
else {
|
||||
|
||||
$addform = "document.ajaxcomments".$id;
|
||||
$startform = "dleeditcomments".$id;
|
||||
|
||||
if ($user_group[$member_id['user_group']]['allow_url'])
|
||||
{
|
||||
$url_link = "<div class=\"editor_button\" onclick=\"tag_url()\"><img title=\"$lang[bb_t_url]\" src=\"{THEME}/bbcodes/images/link.gif\" width=\"23\" height=\"25\" border=\"0\"></div>";
|
||||
}
|
||||
else {$url_link = "";}
|
||||
|
||||
if ($user_group[$member_id['user_group']]['allow_image'])
|
||||
{
|
||||
$image_link = "<div class=\"editor_button\" onclick=tag_image()><img title=\"$lang[bb_b_img]\" src=\"{THEME}/bbcodes/images/image.gif\" width=\"23\" height=\"25\" border=\"0\"></div>";
|
||||
}
|
||||
else $image_link = "";
|
||||
|
||||
$code = <<<HTML
|
||||
<div style="width:99%; height:25px; border:1px solid #BBB; background-image:url('{THEME}/bbcodes/images/bg.gif')">
|
||||
<div id="b_b" class="editor_button" onclick="simpletag('b')"><img title="$lang[bb_t_b]" src="{THEME}/bbcodes/images/b.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_i" class="editor_button" onclick="simpletag('i')"><img title="$lang[bb_t_i]" src="{THEME}/bbcodes/images/i.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_u" class="editor_button" onclick="simpletag('u')"><img title="$lang[bb_t_u]" src="{THEME}/bbcodes/images/u.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_s" class="editor_button" onclick="simpletag('s')"><img title="$lang[bb_t_s]" src="{THEME}/bbcodes/images/s.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div id="b_left" class="editor_button" onclick="simpletag('left')"><img title="$lang[bb_t_l]" src="{THEME}/bbcodes/images/l.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_center" class="editor_button" onclick="simpletag('center')"><img title="$lang[bb_t_c]" src="{THEME}/bbcodes/images/c.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_right"class="editor_button" onclick="simpletag('right')"><img title="$lang[bb_t_r]" src="{THEME}/bbcodes/images/r.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
{$url_link}
|
||||
{$image_link}
|
||||
<div class="editor_button" onclick="tag_email()"><img title="$lang[bb_t_m]" src="{THEME}/bbcodes/images/email.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_color" class="editor_button" onclick="ins_color();"><img src="{THEME}/bbcodes/images/color.gif" width="23" height="25" border="0"></div>
|
||||
<div class="editor_button"><img src="{THEME}/bbcodes/images/brkspace.gif" width="5" height="25" border="0"></div>
|
||||
<div id="b_hide" class="editor_button" onclick="simpletag('hide')"><img title="$lang[bb_t_hide]" src="{THEME}/bbcodes/images/hide.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_quote" class="editor_button" onclick="simpletag('quote')"><img title="$lang[bb_t_quote]" src="{THEME}/bbcodes/images/quote.gif" width="23" height="25" border="0"></div>
|
||||
<div id="b_spoiler" class="editor_button" onclick="spoiler();"><img src="{THEME}/bbcodes/images/spoiler.gif" width="23" height="25" border="0"></div>
|
||||
</div>
|
||||
<iframe width="154" height="104" id="cp" src="{THEME}/bbcodes/color.html" frameborder="0" vspace="0" hspace="0" marginwidth="0" marginheight="0" scrolling="no" style="visibility:hidden; display: none; position: absolute;"></iframe>
|
||||
<div id="dle_emo" style="visibility:hidden; display: none; position: absolute; width:255px; height: 235px; overflow: auto; border: 1px solid #BBB; background:#E9E8F2;filter: alpha(opacity=95, enabled=1) progid:DXImageTransform.Microsoft.Shadow(color=#CACACA,direction=135,strength=3);">{$output}</div>
|
||||
HTML;
|
||||
}
|
||||
|
||||
|
||||
$script_code = @file_get_contents(SYSTEM_DIR."/ajax/bbcodes.js");
|
||||
$script_code .= <<<HTML
|
||||
|
||||
-->
|
||||
</SCRIPT>
|
||||
HTML;
|
||||
|
||||
|
||||
$bb_code = <<<HTML
|
||||
<SCRIPT type=text/javascript>
|
||||
<!--
|
||||
var text_enter_url = "$lang[bb_url]";
|
||||
var text_enter_size = "$lang[bb_flash]";
|
||||
var text_enter_flash = "$lang[bb_flash_url]";
|
||||
var text_enter_page = "$lang[bb_page]";
|
||||
var text_enter_url_name = "$lang[bb_url_name]";
|
||||
var text_enter_page_name = "$lang[bb_page_name]";
|
||||
var text_enter_image = "$lang[bb_image]";
|
||||
var text_enter_email = "$lang[bb_email]";
|
||||
var text_code = "$lang[bb_code]";
|
||||
var text_quote = "$lang[bb_quote]";
|
||||
var error_no_url = "$lang[bb_no_url]";
|
||||
var error_no_title = "$lang[bb_no_title]";
|
||||
var error_no_email = "$lang[bb_no_email]";
|
||||
var prompt_start = "$lang[bb_prompt_start]";
|
||||
var img_title = "$lang[bb_img_title]";
|
||||
var email_title = "$lang[bb_email_title]";
|
||||
var text_pages = "$lang[bb_bb_page]";
|
||||
var image_align = "{$config['image_align']}";
|
||||
|
||||
var selField = "{$startform}";
|
||||
var fombj = {$addform};
|
||||
|
||||
{$script_code}
|
||||
{$code}
|
||||
HTML;
|
||||
|
||||
$bb_code = str_replace ("{THEME}", $config['http_home_url']."system/skins", $bb_code);
|
||||
|
||||
?>
|
340
system/ajax/bbcodes.js
Normal file
340
system/ajax/bbcodes.js
Normal file
@ -0,0 +1,340 @@
|
||||
var uagent = navigator.userAgent.toLowerCase();
|
||||
var is_safari = ( (uagent.indexOf('safari') != -1) || (navigator.vendor == "Apple Computer, Inc.") );
|
||||
var is_opera = (uagent.indexOf('opera') != -1);
|
||||
var is_ie = ( (uagent.indexOf('msie') != -1) && (!is_opera) && (!is_safari) );
|
||||
var is_ie4 = ( (is_ie) && (uagent.indexOf("msie 4.") != -1) );
|
||||
|
||||
var is_win = ( (uagent.indexOf("win") != -1) || (uagent.indexOf("16bit") !=- 1) );
|
||||
var ua_vers = parseInt(navigator.appVersion);
|
||||
|
||||
var ie_range_cache = '';
|
||||
var bbtags = new Array();
|
||||
|
||||
function setFieldName(which)
|
||||
{
|
||||
if (which != selField)
|
||||
{
|
||||
selField = which;
|
||||
}
|
||||
};
|
||||
|
||||
|
||||
function ins_smile ( text ){
|
||||
doInsert(' ' + text + ' ', '', false);
|
||||
ie_range_cache = null;
|
||||
};
|
||||
|
||||
function simpletag(thetag)
|
||||
{
|
||||
doInsert("[" + thetag + "]", "[/" + thetag + "]", true);
|
||||
}
|
||||
|
||||
function tag_url()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
var thesel = get_sel(eval('fombj.'+ selField))
|
||||
|
||||
if (!thesel) {
|
||||
thesel ='My Webpage';
|
||||
}
|
||||
|
||||
var enterURL = prompt(text_enter_url, "http://");
|
||||
var enterTITLE = prompt(text_enter_url_name, thesel);
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
if (!enterTITLE) {
|
||||
FoundErrors += " " + error_no_title;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
doInsert("[url="+enterURL+"]"+enterTITLE+"[/url]", "", false);
|
||||
};
|
||||
|
||||
function tag_kp(){var a="",b="";(b=ua_vers>=4&&is_ie&&is_win?document.selection.createRange().text:"")||(b="");(b=prompt("Insert Kinopoisk ID",b))||(a+=" "+error_no_url);a?alert("Error!"+a):doInsert("[center][kp="+b+"][/center]","",false)}
|
||||
function tag_game(){var a="",b="";(b=ua_vers>=4&&is_ie&&is_win?document.selection.createRange().text:"")||(b="");(b=prompt("Insert Game ID",b))||(a+=" "+error_no_url);a?alert("Error!"+a):doInsert("[center][game="+b+"][/center]","",false)}
|
||||
|
||||
function tag_media()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
var thesel = get_sel(eval('fombj.'+ selField))
|
||||
|
||||
if (!thesel) {
|
||||
thesel ='http://';
|
||||
}
|
||||
|
||||
var enterURL = prompt(text_enter_url, thesel);
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
doInsert("[media="+enterURL+"]", "", false);
|
||||
};
|
||||
|
||||
function tag_flash()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
var enterURL = prompt(text_enter_flash, "http://");
|
||||
|
||||
var size = prompt(text_enter_size, "425,264");
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
doInsert("[flash="+size+"]"+enterURL+"[/flash]", "", false);
|
||||
|
||||
};
|
||||
|
||||
function tag_image()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
var enterURL = prompt(text_enter_image, "http://");
|
||||
|
||||
var Title = prompt(img_title, image_align);
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
if (Title == "")
|
||||
{
|
||||
doInsert("[img]"+enterURL+"[/img]", "", false);
|
||||
}
|
||||
else {
|
||||
if (Title == "center") {
|
||||
doInsert("[center][img]"+enterURL+"[/img][/center]", "", false);
|
||||
}
|
||||
else {
|
||||
doInsert("[img="+Title+"]"+enterURL+"[/img]", "", false);
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
function tag_video()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
var thesel = get_sel(eval('fombj.'+ selField))
|
||||
|
||||
if (!thesel) {
|
||||
thesel ='http://';
|
||||
}
|
||||
|
||||
var enterURL = prompt(text_enter_url, thesel);
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
doInsert("[video="+enterURL+"]", "", false);
|
||||
};
|
||||
|
||||
function tag_audio()
|
||||
{
|
||||
var FoundErrors = '';
|
||||
|
||||
var thesel = get_sel(eval('fombj.'+ selField))
|
||||
|
||||
if (!thesel) {
|
||||
thesel ='http://';
|
||||
}
|
||||
|
||||
var enterURL = prompt(text_enter_url, thesel);
|
||||
|
||||
if (!enterURL) {
|
||||
FoundErrors += " " + error_no_url;
|
||||
}
|
||||
|
||||
if (FoundErrors) {
|
||||
alert("Error!"+FoundErrors);
|
||||
return;
|
||||
}
|
||||
|
||||
doInsert("[audio="+enterURL+"]", "", false);
|
||||
};
|
||||
|
||||
function tag_email()
|
||||
{
|
||||
var emailAddress = prompt(text_enter_email, "");
|
||||
|
||||
if (!emailAddress) {
|
||||
alert(error_no_email);
|
||||
return;
|
||||
}
|
||||
|
||||
var thesel = get_sel(eval('fombj.'+ selField))
|
||||
|
||||
if (!thesel) {
|
||||
thesel ='';
|
||||
}
|
||||
|
||||
var Title = prompt(email_title, thesel);
|
||||
|
||||
if (!Title) Title = emailAddress;
|
||||
|
||||
doInsert("[email="+emailAddress+"]"+Title+"[/email]", "", false);
|
||||
};
|
||||
|
||||
function doInsert(ibTag, ibClsTag, isSingle)
|
||||
{
|
||||
var isClose = false;
|
||||
var obj_ta = eval('fombj.'+ selField);
|
||||
|
||||
if ( (ua_vers >= 4) && is_ie && is_win)
|
||||
{
|
||||
if (obj_ta.isTextEdit)
|
||||
{
|
||||
obj_ta.focus();
|
||||
var sel = document.selection;
|
||||
var rng = ie_range_cache ? ie_range_cache : sel.createRange();
|
||||
rng.colapse;
|
||||
if((sel.type == "Text" || sel.type == "None") && rng != null)
|
||||
{
|
||||
if(ibClsTag != "" && rng.text.length > 0)
|
||||
ibTag += rng.text + ibClsTag;
|
||||
else if(isSingle)
|
||||
ibTag += rng.text + ibClsTag;
|
||||
|
||||
rng.text = ibTag;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
obj_ta.value += ibTag + ibClsTag;
|
||||
|
||||
}
|
||||
rng.select();
|
||||
ie_range_cache = null;
|
||||
|
||||
}
|
||||
else if ( obj_ta.selectionEnd )
|
||||
{
|
||||
var ss = obj_ta.selectionStart;
|
||||
var st = obj_ta.scrollTop;
|
||||
var es = obj_ta.selectionEnd;
|
||||
|
||||
if (es <= 2)
|
||||
{
|
||||
es = obj_ta.textLength;
|
||||
}
|
||||
|
||||
var start = (obj_ta.value).substring(0, ss);
|
||||
var middle = (obj_ta.value).substring(ss, es);
|
||||
var end = (obj_ta.value).substring(es, obj_ta.textLength);
|
||||
|
||||
if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
|
||||
{
|
||||
middle = ibTag + middle + ibClsTag;
|
||||
}
|
||||
else
|
||||
{
|
||||
middle = ibTag + middle + ibClsTag;
|
||||
}
|
||||
|
||||
obj_ta.value = start + middle + end;
|
||||
|
||||
var cpos = ss + (middle.length);
|
||||
|
||||
obj_ta.selectionStart = cpos;
|
||||
obj_ta.selectionEnd = cpos;
|
||||
obj_ta.scrollTop = st;
|
||||
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
obj_ta.value += ibTag + ibClsTag;
|
||||
}
|
||||
|
||||
obj_ta.focus();
|
||||
return isClose;
|
||||
};
|
||||
|
||||
function ins_color(buttonElement)
|
||||
{
|
||||
document.getElementById(selField).focus();
|
||||
if ( is_ie )
|
||||
{
|
||||
document.getElementById(selField).focus();
|
||||
ie_range_cache = document.selection.createRange();
|
||||
}
|
||||
$("#cp").remove();
|
||||
$("body").append("<div id='cp' title='Öâåò' style='display:none'><br /><iframe width=\"154\" height=\"104\" src=\"" + dle_root + "templates/" + dle_skin + "/bbcodes/color.html\" frameborder=\"0\" marginwidth=\"0\" marginheight=\"0\" scrolling=\"no\"></iframe></div>");
|
||||
|
||||
$('#cp').dialog({
|
||||
autoOpen: true,
|
||||
dialogClass: "modalfixed",
|
||||
width: 180
|
||||
});
|
||||
$('.modalfixed.ui-dialog').css({position:"fixed"});
|
||||
$('#cp').dialog( "option", "position", ['0','0'] );
|
||||
};
|
||||
function setColor(color)
|
||||
{
|
||||
doInsert("[color=" +color+ "]", "[/color]", true );
|
||||
$('#cp').dialog("close");
|
||||
};
|
||||
|
||||
function insert_font(value, tag)
|
||||
{
|
||||
if (value == 0)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
doInsert("[" +tag+ "=" +value+ "]", "[/" +tag+ "]", true );
|
||||
fombj.bbfont.selectedIndex = 0;
|
||||
fombj.bbsize.selectedIndex = 0;
|
||||
};
|
||||
|
||||
function get_sel(obj)
|
||||
{
|
||||
if (document.selection)
|
||||
{
|
||||
if ( is_ie )
|
||||
{
|
||||
document.getElementById(selField).focus();
|
||||
ie_range_cache = document.selection.createRange();
|
||||
}
|
||||
var s = document.selection.createRange();
|
||||
if (s.text){return s.text;}
|
||||
}
|
||||
else if (typeof(obj.selectionStart)=="number")
|
||||
{
|
||||
if (obj.selectionStart!=obj.selectionEnd)
|
||||
{
|
||||
var start = obj.selectionStart;
|
||||
var end = obj.selectionEnd;
|
||||
return (obj.value.substr(start,end-start));
|
||||
}
|
||||
}
|
||||
return false;
|
||||
};
|
||||
|
||||
function b_hide_n() {var FoundErrors = '';var b_hide_n = prompt("Êàêîé õàéä ïîñòàâèòü?",100); if (!b_hide_n){FoundErrors += " ";} if(FoundErrors){alert("îøèáêà!"+FoundErrors);return;} doInsert("[hide="+b_hide_n+"][/hide]", "", false); }
|
||||
function spoiler() {var FoundErrors = '';var spoiler = prompt("Ââåäèòå íàçâàíèå ñïîéëåðà"); if (!spoiler){FoundErrors += " ";} if(FoundErrors){alert("îøèáêà!"+FoundErrors);return;} doInsert("[spoiler="+spoiler+"][/spoiler]", "", false); }
|
46
system/ajax/categajax.php
Normal file
46
system/ajax/categajax.php
Normal file
@ -0,0 +1,46 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
require_once SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
@header("Content-type: text/html; charset=windows-1251");
|
||||
|
||||
$cat_info = $cache->get("category");
|
||||
if (!$cat_info){
|
||||
$cat_info = array ();
|
||||
$db->query("SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC");
|
||||
while ($row = $db->get_row())
|
||||
{
|
||||
$cat_info[$row['id']] = array ();
|
||||
foreach ($row as $key => $value)
|
||||
{
|
||||
$cat_info[$row['id']][$key] = stripslashes($value);
|
||||
}
|
||||
}
|
||||
$cache->set("category", $cat_info);
|
||||
$db->free();
|
||||
}
|
||||
|
||||
$adon = $_REQUEST['adon'];
|
||||
$geta = get_sub_cats($adon);
|
||||
|
||||
if ($cat_info[$geta]['parentid'] == '0')
|
||||
{
|
||||
$retng = '<select name="catlist[]"><option value="' . $adon . '">Ïîäêàòåãîðèé íåò</option></select>';
|
||||
}
|
||||
else
|
||||
{
|
||||
$retng = CategoryNewsSelectiod($adon);
|
||||
}
|
||||
echo $retng;
|
||||
?>
|
58
system/ajax/chat.php
Normal file
58
system/ajax/chat.php
Normal file
@ -0,0 +1,58 @@
|
||||
<?php
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
@session_start();
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR.'/data/chat.config.php';
|
||||
require_once SYSTEM_DIR.'/modules/chat/chat.class.php';
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
|
||||
$user_group = $cache->get("usergroup");
|
||||
if (!$user_group) {
|
||||
$user_group = array ();
|
||||
$db->query("SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC");
|
||||
while($row = $db->get_row()){
|
||||
$user_group[$row['id']] = array ();
|
||||
foreach ($row as $key => $value)
|
||||
{
|
||||
$user_group[$row['id']][$key] = $value;
|
||||
}
|
||||
}
|
||||
$cache->set ("usergroup", $user_group);
|
||||
$db->free();
|
||||
}
|
||||
|
||||
include_once ROOT_DIR.'/language/'.$config['langs'].'/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
$refresh = intval($_REQUEST['refresh']);
|
||||
$m_id = intval($_REQUEST['mdelete']);
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
$chat = new Chat();
|
||||
if ($m_id != 0 && $refresh && ($member_id['user_group'] == 1 || $member_id['user_group'] == 2)){
|
||||
$db->query("DELETE FROM ".PREFIX."_chat WHERE id = $m_id");
|
||||
$cache->del('minichat');
|
||||
}
|
||||
|
||||
$mcadd['message'] = addslashes(convert_unicode($_POST['message'], $config['charset']));
|
||||
|
||||
@header("HTTP/1.1 200 OK");
|
||||
@header("Cache-Control: no-cache, must-revalidate, max-age=0");
|
||||
@header("Expires: 0");
|
||||
@header("Pragma: no-cache");
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/chat/addmess.php';
|
||||
echo $chat->GetContent($chatconfig, $member_id, $config);
|
||||
?>
|
246
system/ajax/clean.php
Normal file
246
system/ajax/clean.php
Normal file
@ -0,0 +1,246 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR.'/inc/include/functions.inc.php';
|
||||
|
||||
$selected_language = $config['langs'];
|
||||
|
||||
if (isset( $_COOKIE['selected_language'] )) {
|
||||
|
||||
$_COOKIE['selected_language'] = trim(totranslit( $_COOKIE['selected_language'], false, false ));
|
||||
|
||||
if ($_COOKIE['selected_language'] != "" AND @is_dir ( ROOT_DIR . '/language/' . $_COOKIE['selected_language'] )) {
|
||||
$selected_language = $_COOKIE['selected_language'];
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
require_once ROOT_DIR.'/language/'.$selected_language.'/adminpanel.lng';
|
||||
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
if(($member_id['user_group'] != 1)) {die ("error");}
|
||||
|
||||
if ($_REQUEST['user_hash'] == "" OR $_REQUEST['user_hash'] != $dle_login_hash) {
|
||||
|
||||
die ("error");
|
||||
|
||||
}
|
||||
|
||||
|
||||
if ($_REQUEST['step'] == 10) {
|
||||
$_REQUEST['step'] = 11;
|
||||
$db->query("TRUNCATE TABLE " . USERPREFIX . "_lostdb");
|
||||
$db->query("TRUNCATE TABLE " . PREFIX . "_com_logs");
|
||||
$db->query("TRUNCATE TABLE " . PREFIX . "_poll_log");
|
||||
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 8) {
|
||||
$_REQUEST['step'] = 9;
|
||||
$db->query("TRUNCATE TABLE " . USERPREFIX . "_pm");
|
||||
$db->query("UPDATE " . USERPREFIX . "_users set pm_all='0', pm_unread='0'");
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 6) {
|
||||
$_REQUEST['step'] = 7;
|
||||
|
||||
$sql = $db->query("SELECT name, user_id, news_num, comm_num FROM " . USERPREFIX . "_users");
|
||||
|
||||
while($row = $db->get_row($sql)){
|
||||
|
||||
$posts = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_post WHERE autor = '{$row['name']}'");
|
||||
$comms = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_comments WHERE user_id = '{$row['user_id']}'");
|
||||
|
||||
if (($posts['count'] != $row['news_num']) OR ($comms['count'] != $row['comm_num']))
|
||||
$db->query("UPDATE " . USERPREFIX . "_users set news_num={$posts['count']}, comm_num={$comms['count']} where user_id='{$row['user_id']}'");
|
||||
}
|
||||
$db->free ($sql);
|
||||
}
|
||||
|
||||
|
||||
if ($_REQUEST['step'] == 4) {
|
||||
if ((@strtotime($_REQUEST['date']) === -1) OR (trim($_REQUEST['date']) == ""))
|
||||
$_REQUEST['step'] = 3;
|
||||
else {
|
||||
$_REQUEST['step'] = 5;
|
||||
$sql = $db->query("SELECT COUNT(*) as count, post_id FROM " . PREFIX . "_comments WHERE date < '{$_REQUEST['date']}' GROUP BY post_id");
|
||||
|
||||
while($row = $db->get_row($sql)){
|
||||
|
||||
$db->query("UPDATE " . PREFIX . "_post set comm_num=comm_num-{$row['count']} where id='{$row['post_id']}'");
|
||||
|
||||
}
|
||||
|
||||
$db->query("DELETE FROM " . PREFIX . "_comments WHERE date < '{$_REQUEST['date']}'");
|
||||
$db->free ($sql);
|
||||
$cache->clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
if ($_REQUEST['step'] == 2) {
|
||||
if ((@strtotime($_REQUEST['date']) === -1) OR (trim($_REQUEST['date']) == ""))
|
||||
$_REQUEST['step'] = 1;
|
||||
else {
|
||||
$_REQUEST['step'] = 3;
|
||||
|
||||
$sql = $db->query("SELECT id FROM " . PREFIX . "_post WHERE date < '{$_REQUEST['date']}'");
|
||||
|
||||
while($row = $db->get_row($sql)){
|
||||
|
||||
$db->query("DELETE FROM " . PREFIX . "_comments WHERE post_id='{$row['id']}'");
|
||||
$db->query("DELETE FROM " . PREFIX . "_files WHERE news_id = '{$row['id']}'");
|
||||
$db->query("DELETE FROM " . PREFIX . "_poll WHERE news_id = '{$row['id']}'");
|
||||
$db->query("DELETE FROM " . PREFIX . "_poll_log WHERE news_id = '{$row['id']}'");
|
||||
$db->query("DELETE FROM " . PREFIX . "_tags WHERE news_id = '{$row['id']}'" );
|
||||
|
||||
$getfiles = $db->query("SELECT onserver FROM " . PREFIX . "_files WHERE news_id = '{$row['id']}'");
|
||||
|
||||
while($file = $db->get_row($getfiles)){
|
||||
@unlink(ROOT_DIR."/uploads/files/".$file['onserver']);
|
||||
}
|
||||
|
||||
$db->free ($getfiles);
|
||||
|
||||
$image = $db->super_query("SELECT images FROM " . PREFIX . "_images where news_id = '{$row['id']}'");
|
||||
|
||||
$listimages = explode("|||", $image['images']);
|
||||
|
||||
if ($image['images'] != "")
|
||||
foreach ($listimages as $dataimages) {
|
||||
|
||||
$url_image = explode("/", $dataimages);
|
||||
|
||||
if (count($url_image) == 2) {
|
||||
|
||||
$folder_prefix = $url_image[0]."/";
|
||||
$dataimages = $url_image[1];
|
||||
|
||||
} else {
|
||||
|
||||
$folder_prefix = "";
|
||||
$dataimages = $url_image[0];
|
||||
|
||||
}
|
||||
|
||||
@unlink(ROOT_DIR."/uploads/posts/".$folder_prefix.$dataimages);
|
||||
@unlink(ROOT_DIR."/uploads/posts/".$folder_prefix."thumbs/".$dataimages);
|
||||
}
|
||||
|
||||
$db->query("DELETE FROM " . PREFIX . "_images WHERE news_id = '{$row['id']}'");
|
||||
|
||||
}
|
||||
|
||||
$db->query("DELETE FROM " . PREFIX . "_post WHERE date < '{$_REQUEST['date']}'");
|
||||
$db->free ($sql);
|
||||
$cache->clear();
|
||||
}
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 11) {
|
||||
|
||||
$rs = $db->query("SHOW TABLE STATUS FROM `".DBNAME."`");
|
||||
while ($r = $db->get_array($rs)) {
|
||||
$db->query("OPTIMIZE TABLE ". $r['Name']);
|
||||
}
|
||||
$db->free ($rs);
|
||||
|
||||
$db->query("SHOW TABLE STATUS FROM `".DBNAME."`");
|
||||
$mysql_size = 0;
|
||||
while ($r = $db->get_array()) {
|
||||
if (strpos($r['Name'], PREFIX."_") !== false)
|
||||
$mysql_size += $r['Data_length'] + $r['Index_length'] ;
|
||||
}
|
||||
|
||||
$lang['clean_finish'] = str_replace ('{db-alt}', '<font color="red">'.mksize($_REQUEST['size']).'</font>', $lang['clean_finish']);
|
||||
$lang['clean_finish'] = str_replace ('{db-new}', '<font color="red">'.mksize($mysql_size).'</font>', $lang['clean_finish']);
|
||||
$lang['clean_finish'] = str_replace ('{db-compare}', '<font color="red">'.mksize($_REQUEST['size'] - $mysql_size).'</font>', $lang['clean_finish']);
|
||||
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_finish']}
|
||||
<br /><br />
|
||||
HTML;
|
||||
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 9) {
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_logs']}
|
||||
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
||||
<input id = "next_button" onclick="start_clean('10', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
||||
<input id = "skip_button" onclick="start_clean('11', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
||||
HTML;
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 7) {
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_pm']}
|
||||
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
||||
<input id = "next_button" onclick="start_clean('8', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
||||
<input id = "skip_button" onclick="start_clean('9', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
||||
HTML;
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 5) {
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_users']}
|
||||
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
||||
<input id = "next_button" onclick="start_clean('6', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
||||
<input id = "skip_button" onclick="start_clean('7', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
||||
HTML;
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 3) {
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_comments']}<br /><br />{$lang['addnews_date']} <input type="text" name="date" id="f_date_c" size="20" class=edit>
|
||||
<img src="system/skins/images/img.gif" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" />
|
||||
<script type="text/javascript">
|
||||
Calendar.setup({
|
||||
inputField : "f_date_c", // id of the input field
|
||||
ifFormat : "%Y-%m-%d", // format of the input field
|
||||
button : "f_trigger_c", // trigger for the calendar (button ID)
|
||||
align : "Br", // alignment
|
||||
singleClick : true
|
||||
});
|
||||
</script>
|
||||
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
||||
<input id = "next_button" onclick="start_clean('4', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
||||
<input id = "skip_button" onclick="start_clean('5', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
||||
HTML;
|
||||
}
|
||||
|
||||
if ($_REQUEST['step'] == 1) {
|
||||
$buffer = <<<HTML
|
||||
<br />{$lang['clean_news']}<br /><br />{$lang['addnews_date']} <input type="text" name="date" id="f_date_c" size="20" class=edit>
|
||||
<img src="system/skins/images/img.gif" align="absmiddle" id="f_trigger_c" style="cursor: pointer; border: 0" />
|
||||
<script type="text/javascript">
|
||||
Calendar.setup({
|
||||
inputField : "f_date_c", // id of the input field
|
||||
ifFormat : "%Y-%m-%d", // format of the input field
|
||||
button : "f_trigger_c", // trigger for the calendar (button ID)
|
||||
align : "Br", // alignment
|
||||
singleClick : true
|
||||
});
|
||||
</script>
|
||||
<br /><br /><font color="red"><span id="status"></span></font><br /><br />
|
||||
<input id = "next_button" onclick="start_clean('2', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:100px;" type="button" value="{$lang['edit_next']}">
|
||||
<input id = "skip_button" onclick="start_clean('3', '{$_REQUEST['size']}'); return false;" class="buttons" style="width:150px;" type="button" value="{$lang['clean_skip']}">
|
||||
HTML;
|
||||
}
|
||||
|
||||
@header("Content-type: text/css; charset=".$config['charset']);
|
||||
echo $buffer;
|
||||
?>
|
51
system/ajax/commentdelete.php
Normal file
51
system/ajax/commentdelete.php
Normal file
@ -0,0 +1,51 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
if( !$is_logged ) die( "error" );
|
||||
$id = intval( $_REQUEST['commid'] );
|
||||
|
||||
if( ! $id ) die( "error" );
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
$row = $db->super_query("SELECT * FROM " . PREFIX . "_comments where id = '$id'");
|
||||
|
||||
$author = $row['autor'];
|
||||
$is_reg = $row['is_register'];
|
||||
$post_id = $row['post_id'];
|
||||
|
||||
if ($row['id'] AND $post_id){
|
||||
$have_perm = false;
|
||||
if (($member_id['user_id'] == $row['user_id'] and $row['is_register'] and $user_group[$member_id['user_group']]['allow_delc']) or $member_id['user_group'] == '1' or $user_group[$member_id['user_group']]['del_allc'] ) $have_perm = true;
|
||||
//if ( $user_group[$member_id['user_group']]['edit_limit'] AND (($row['date'] + ($user_group[$member_id['user_group']]['edit_limit'] * 60)) < $_TIME) ) {$have_perm = false;} Îãðàíè÷åíèå íà óäàëåíèå êîììåíòîâ äíåì ïîçæå
|
||||
if($have_perm){
|
||||
$db->query("DELETE FROM " . PREFIX . "_comments where id = '$id'");
|
||||
if ($is_reg) $author = $db->safesql($author); {$db->query("UPDATE " . USERPREFIX . "_users set comm_num=comm_num-1 where name ='$author'");}
|
||||
$db->query("UPDATE " . PREFIX . "_post set comm_num=comm_num-1 where id='$post_id'") ;
|
||||
$cache->clear( array( 'news_', 'comments-last', 'comm_'.$post_id, 'full_'.$post_id ) );
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo "<div class=\"block2 line_center\"><b>Êîììåíòàðèé ïîä óíèêàëüíûì íîìåðîì: $id, áûë óñïåøíî óäàë¸í èç áàçû.</b></div>";
|
||||
} else die( "error" );
|
||||
} else die( "error" );
|
||||
?>
|
146
system/ajax/editcomments.php
Normal file
146
system/ajax/editcomments.php
Normal file
@ -0,0 +1,146 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
|
||||
if( $_COOKIE['dle_skin'] ) {
|
||||
if( @is_dir( ROOT_DIR . '/templates/' . $_COOKIE['dle_skin'] ) ) {
|
||||
$config['skin'] = $_COOKIE['dle_skin'];
|
||||
}
|
||||
}
|
||||
|
||||
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
require_once SYSTEM_DIR . '/classes/parse.class.php';
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
|
||||
$area = totranslit($_REQUEST['area'], true, false);
|
||||
if ( !$area) $area = "news";
|
||||
|
||||
$allowed_areas = array(
|
||||
'news' => array (
|
||||
'comments_table' => 'comments',
|
||||
),
|
||||
'ajax' => array (
|
||||
'comments_table' => 'comments',
|
||||
),
|
||||
'lastcomments' => array (
|
||||
'comments_table' => 'comments',
|
||||
),
|
||||
);
|
||||
if (! is_array($allowed_areas[$area]) ) die( "error" );
|
||||
|
||||
$parse = new ParseFilter( );
|
||||
$parse->safe_mode = true;
|
||||
|
||||
if( ! $is_logged ) die( "error" );
|
||||
$id = intval( $_REQUEST['id'] );
|
||||
if( ! $id ) die( "error" );
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
$parse->allow_url = $user_group[$member_id['user_group']]['allow_url'];
|
||||
$parse->allow_image = $user_group[$member_id['user_group']]['allow_image'];
|
||||
|
||||
if( $_REQUEST['action'] == "edit" ) {
|
||||
$row = $db->super_query( "SELECT id, text, is_register, autor FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} where id = '$id'" );
|
||||
if( $id != $row['id'] ) die( "error" );
|
||||
|
||||
$have_perm = 0;
|
||||
|
||||
if( $is_logged and (($member_id['name'] == $row['autor'] and $row['is_register'] and $user_group[$member_id['user_group']]['allow_editc']) or $user_group[$member_id['user_group']]['edit_allc']) ) {
|
||||
$have_perm = 1;
|
||||
}
|
||||
|
||||
if( ! $have_perm ) die( "error" );
|
||||
|
||||
include_once SYSTEM_DIR . '/ajax/bbcode.php';
|
||||
$comm_txt = $parse->decodeBBCodes( $row['text'], false );
|
||||
|
||||
$buffer = <<<HTML
|
||||
<form name="ajaxcomments{$id}" id="ajaxcomments{$id}" metod="post" action="">
|
||||
<div class="editor">
|
||||
{$bb_code}
|
||||
<textarea name="dleeditcomments{$id}" id="dleeditcomments{$id}" onclick="setNewField(this.name, document.ajaxcomments{$id})" style="width:99%; height:150px; border:1px solid #E0E0E0">{$comm_txt}</textarea><br>
|
||||
<div align="right" style="width:99%;padding-top:5px;"><input class=bbcodes title="$lang[bb_t_apply]" type=button onclick="ajax_save_comm_edit('{$id}', '{$area}'); return false;" value="$lang[bb_b_apply]">
|
||||
<input class=bbcodes title="$lang[bb_t_cancel]" type=button onclick="ajax_cancel_comm_edit('{$id}'); return false;" value="$lang[bb_b_cancel]">
|
||||
</div></div>
|
||||
</form>
|
||||
HTML;
|
||||
} elseif( $_REQUEST['action'] == "save" ) {
|
||||
$row = $db->super_query( "SELECT id, post_id, text, is_register, autor FROM " . PREFIX . "_{$allowed_areas[$area]['comments_table']} where id = '$id'" );
|
||||
|
||||
if( $id != $row['id'] ) die( "error" );
|
||||
|
||||
$have_perm = 0;
|
||||
|
||||
if( $is_logged AND (($member_id['name'] == $row['autor'] AND $row['is_register'] AND $user_group[$member_id['user_group']]['allow_editc']) OR $user_group[$member_id['user_group']]['edit_allc']) ) {
|
||||
$have_perm = 1;
|
||||
}
|
||||
|
||||
if( ! $have_perm ) die( "error" );
|
||||
|
||||
$use_html = false;
|
||||
|
||||
$comm_txt = trim( $parse->BB_Parse( $parse->process( convert_unicode( $_POST['comm_txt'], $config['charset'] ) ), $use_html ) );
|
||||
|
||||
if( $parse->not_allowed_tags ) {die( "error" );}
|
||||
if( $parse->not_allowed_text ) {die( "error" );}
|
||||
if( strlen( $comm_txt ) > $config['comments_maxlen'] ) {die( "error" );}
|
||||
if( $comm_txt == "" ) {die( "error" );}
|
||||
|
||||
//* Àâòîïåðåíîñ äëèííûõ ñëîâ
|
||||
if( intval( $config['auto_wrap'] ) ) {
|
||||
|
||||
$comm_txt = preg_split( '((>)|(<))', $comm_txt, - 1, PREG_SPLIT_DELIM_CAPTURE );
|
||||
$n = count( $comm_txt );
|
||||
|
||||
for($i = 0; $i < $n; $i ++) {
|
||||
if( $comm_txt[$i] == "<" ) {
|
||||
$i ++;
|
||||
continue;
|
||||
}
|
||||
$comm_txt[$i] = preg_replace( "#([^\s\n\r]{" . intval( $config['auto_wrap'] ) . "})#i", "\\1<br />", $comm_txt[$i] );
|
||||
}
|
||||
$comm_txt = join( "", $comm_txt );
|
||||
}
|
||||
|
||||
$comm_update = $db->safesql( $comm_txt );
|
||||
|
||||
$db->query( "UPDATE " . PREFIX . "_{$allowed_areas[$area]['comments_table']} set text='$comm_update' where id = '$id'" );
|
||||
|
||||
$comm_txt = preg_replace( "'\[hide\](.*?)\[/hide\]'si", "\\1", $comm_txt );
|
||||
$comm_txt = preg_replace ( "'\[hide=(.*?)\](.*?)\[/hide\]'sie",'comm_hide($1,"\\2")',$comm_txt);
|
||||
|
||||
$buffer = stripslashes( $comm_txt );
|
||||
|
||||
$cache->clear( 'comm_'.$row['post_id'] );
|
||||
|
||||
} else
|
||||
die( "error" );
|
||||
|
||||
$db->close();
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
?>
|
53
system/ajax/favorites.php
Normal file
53
system/ajax/favorites.php
Normal file
@ -0,0 +1,53 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
$_REQUEST['skin'] = totranslit($_REQUEST['skin'], false, false);
|
||||
if( ! @is_dir( ROOT_DIR . '/templates/' . $_REQUEST['skin'] ) ) {die( "Hacking attempt!" );} else {$config['skin'] = $_REQUEST['skin'];}
|
||||
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
if( ! $is_logged ) die( "error" );
|
||||
$id = intval( $_REQUEST['fav_id'] );
|
||||
if( ! $id ) die( "error" );
|
||||
|
||||
if( $_REQUEST['action'] == "plus" ) {
|
||||
$error = "";
|
||||
$list = explode( ",", $member_id['favorites'] );
|
||||
foreach ( $list as $daten ) {if( $daten == $id ) $error = "stop";}
|
||||
if( $error != "stop" ) {
|
||||
$list[] = $id;
|
||||
$favorites = implode( ",", $list );
|
||||
if( $member_id['favorites'] == "" ) $favorites = $id;
|
||||
$member_id['favorites'] = $favorites;
|
||||
$db->query( "UPDATE " . USERPREFIX . "_users set favorites='$favorites' where user_id = '$member_id[user_id]'" );
|
||||
}
|
||||
$buffer = "<img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/images/del_fav.png\" onclick=\"doFavorites('" . $id . "', 'minus'); return false;\" title=\"" . $lang['news_minfav'] . "\" style=\"vertical-align: middle;border: none;\" />";
|
||||
|
||||
} elseif( $_REQUEST['action'] == "minus" ) {
|
||||
$list = explode( ",", $member_id['favorites'] );
|
||||
$i = 0;
|
||||
foreach ( $list as $daten ) {if( $daten == $id ) unset( $list[$i] ); $i ++;}
|
||||
if( count( $list ) ) $member_id['favorites'] = $db->safesql(implode( ",", $list )); else $member_id['favorites'] = "";
|
||||
$db->query( "UPDATE " . USERPREFIX . "_users set favorites='$member_id[favorites]' where user_id = '$member_id[user_id]'" );
|
||||
$buffer = "<img src=\"" . $config['http_home_url'] . "templates/{$config['skin']}/images/add_fav.png\" onclick=\"doFavorites('" . $id . "', 'plus'); return false;\" title=\"" . $lang['news_addfav'] . "\" style=\"vertical-align: middle;border: none;\" />";
|
||||
|
||||
} else die( "error" );
|
||||
$db->close();
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
?>
|
38
system/ajax/find_relates.php
Normal file
38
system/ajax/find_relates.php
Normal file
@ -0,0 +1,38 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
if( ! $is_logged ) die( "error" );
|
||||
|
||||
$title = $db->safesql( trim( convert_unicode( $_POST['title'], $config['charset'] ) ) );
|
||||
if( $title == "" ) die();
|
||||
$buffer = "";
|
||||
$id = intval( $_POST['id'] );
|
||||
if( $id ) $where = " AND id != '" . $id . "'"; else $where = "";
|
||||
$db->query( "SELECT id, title, date, alt_name, MATCH (title, short_story) AGAINST ('$title') as score FROM " . PREFIX . "_post WHERE MATCH (title, short_story) AGAINST ('$title') AND approve='1'" . $where . " ORDER BY score DESC, date DESC LIMIT 5" );
|
||||
while ( $related = $db->get_row() ) {
|
||||
$related['date'] = strtotime( $related['date'] );
|
||||
$news_date = date( 'd-m-Y', $related['date'] );
|
||||
$full_link = $config['http_home_url'] . $related['id'] . "-" . $related['alt_name'] . ".html";
|
||||
$buffer .= "<div style=\"padding:2px;\">{$news_date} - <a href=\"".$full_link."\" target=\"_blank\">".stripslashes($related['title'])."</a></div>";
|
||||
}
|
||||
|
||||
$db->close();
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
|
||||
if( $buffer ) echo "<div style=\"width:600px; background: #ffc;border:1px solid #9E9E9E;padding: 5px;margin-top: 7px;margin-right: 10px;\">" . $buffer . "</div>";
|
||||
else echo "<div style=\"width:542px;background: #ffc;border:1px solid #9E9E9E;padding: 5px;margin-top: 7px;margin-right: 10px;\">Ïîõîæèõ íîâîñòåé íå íàéäåíî.</div>";
|
||||
|
||||
?>
|
35
system/ajax/keywords.php
Normal file
35
system/ajax/keywords.php
Normal file
@ -0,0 +1,35 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once ROOT_DIR.'/language/'.$config['langs'].'/adminpanel.lng';
|
||||
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR.'/inc/include/functions.inc.php';
|
||||
require_once SYSTEM_DIR.'/classes/parse.class.php';
|
||||
|
||||
$parse = new ParseFilter();
|
||||
$full_story = $parse->BB_Parse($parse->process(convert_unicode($_REQUEST['full_txt'], $config['charset'])), false);
|
||||
$short_story = $parse->BB_Parse($parse->process(convert_unicode($_REQUEST['short_txt'], $config['charset'])), false);
|
||||
|
||||
if ($full_story) $metatags = create_metatags ($full_story);
|
||||
else $metatags = create_metatags ($short_story);
|
||||
|
||||
$metatags['description'] = trim($metatags['description']);
|
||||
$metatags['keywords'] = trim($metatags['keywords']);
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
|
||||
if ($_REQUEST['key'] == 1) echo stripslashes($metatags['description']);
|
||||
else echo stripslashes($metatags['keywords']);
|
||||
?>
|
196
system/ajax/newsletter.php
Normal file
196
system/ajax/newsletter.php
Normal file
@ -0,0 +1,196 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
|
||||
require_once ROOT_DIR.'/language/'.$config['langs'].'/website.lng';
|
||||
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
|
||||
$user_group = $cache->get ( "usergroup" );
|
||||
if (! $user_group) {
|
||||
$user_group = array ();
|
||||
$db->query ( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row () ) {
|
||||
$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {
|
||||
$user_group[$row['id']][$key] = $value;
|
||||
}}
|
||||
$cache->set ( "usergroup", $user_group );
|
||||
$db->free ();
|
||||
}
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
if (!$is_logged OR $member_id['user_group'] != 1) die ("error");
|
||||
|
||||
$startfrom = intval($_POST['startfrom']);
|
||||
if ($_POST['empfanger'] != "all") $empfanger = intval($_POST['empfanger']);
|
||||
$type = $_POST['type'];
|
||||
$a_mail = intval($_POST['a_mail']);
|
||||
$limit = intval($_POST['limit']);
|
||||
$step = 0;
|
||||
|
||||
$title = convert_unicode($_POST['title'], $config['charset']);
|
||||
$message = convert_unicode($_POST['message'], $config['charset']);
|
||||
|
||||
$find = array ('/data:/i', '/about:/i', '/vbscript:/i', '/onclick/i', '/onload/i', '/onunload/i', '/onabort/i', '/onerror/i', '/onblur/i', '/onchange/i', '/onfocus/i', '/onreset/i', '/onsubmit/i', '/ondblclick/i', '/onkeydown/i', '/onkeypress/i', '/onkeyup/i', '/onmousedown/i', '/onmouseup/i', '/onmouseover/i', '/onmouseout/i', '/onselect/i', '/javascript/i', '/javascript/i' );
|
||||
$replace = array ("data:", "about:", "vbscript<b></b>:", "onclick", "onload", "onunload", "onabort", "onerror", "onblur", "onchange", "onfocus", "onreset", "onsubmit", "ondblclick", "onkeydown", "onkeypress", "onkeyup", "onmousedown", "onmouseup", "onmouseover", "onmouseout", "onselect", "javascript" );
|
||||
|
||||
$message = preg_replace( $find, $replace, $message );
|
||||
$message = preg_replace( "#<iframe#i", "<iframe", $message );
|
||||
$message = preg_replace( "#<script#i", "<script", $message );
|
||||
$message = str_replace( "<?", "<?", $message );
|
||||
$message = str_replace( "?>", "?>", $message );
|
||||
|
||||
if (!$title OR !$message OR !$limit) die ("error");
|
||||
|
||||
if ($type == "pm") {
|
||||
|
||||
$time = time()+($config['date_adjust']*60);
|
||||
$title = $db->safesql($title);
|
||||
$message = $db->safesql($message);
|
||||
|
||||
if ($empfanger != "all")
|
||||
$result = $db->query("SELECT user_id, name, fullname FROM " . USERPREFIX . "_users where user_group = '$empfanger' LIMIT ".$startfrom.",".$limit);
|
||||
else
|
||||
$result = $db->query("SELECT user_id, name, fullname FROM " . USERPREFIX . "_users LIMIT ".$startfrom.",".$limit);
|
||||
|
||||
while($row = $db->get_row($result))
|
||||
{
|
||||
if ( $row['fullname'] )
|
||||
$message_send = str_replace("{%user%}", $row['fullname'], $message);
|
||||
else
|
||||
$message_send = str_replace("{%user%}", $row['name'], $message);
|
||||
|
||||
$db->query("INSERT INTO " . USERPREFIX . "_pm (subj, text, user, user_from, date, pm_read, folder) values ('$title', '$message_send', '$row[user_id]', '$member_id[name]', '$time', 'no', 'inbox')");
|
||||
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1 where user_id='$row[user_id]'");
|
||||
$step++;
|
||||
}
|
||||
$db->free($result);
|
||||
}
|
||||
elseif ($type == "email") {
|
||||
|
||||
$message = stripslashes( $message );
|
||||
$title = stripslashes( $title );
|
||||
|
||||
$message = <<<HTML
|
||||
<html><title>{$title}</title>
|
||||
<meta content="text/html; charset={$config['charset']}" http-equiv=Content-Type>
|
||||
<style type="text/css">
|
||||
html,body{
|
||||
font-size: 11px;
|
||||
font-family: verdana;
|
||||
}
|
||||
|
||||
a:active,
|
||||
a:visited,
|
||||
a:link {
|
||||
color: #4b719e;
|
||||
text-decoration:none;
|
||||
}
|
||||
|
||||
a:hover {
|
||||
color: #4b719e;
|
||||
text-decoration: underline;
|
||||
}
|
||||
</style>
|
||||
<body>
|
||||
{$message}
|
||||
</body>
|
||||
</html>
|
||||
HTML;
|
||||
|
||||
|
||||
include_once SYSTEM_DIR.'/classes/mail.class.php';
|
||||
$mail = new dle_mail ($config, true);
|
||||
|
||||
$where = array();
|
||||
|
||||
if ($empfanger != "all") $where[] = "user_group = '{$empfanger}'";
|
||||
if ($a_mail) $where[] = "allow_mail = '1'";
|
||||
|
||||
if (count($where)) $where = " WHERE ".implode (" AND ", $where);
|
||||
else $where = "";
|
||||
|
||||
if ($config['mail_bcc']) {
|
||||
$limit = $limit * 6;
|
||||
$i = 0;
|
||||
$h_mail = array();
|
||||
$bcc = array();
|
||||
|
||||
$db->query("SELECT email FROM " . USERPREFIX . "_users".$where." LIMIT ".$startfrom.",".$limit);
|
||||
|
||||
$db->close();
|
||||
|
||||
while($row = $db->get_row())
|
||||
{
|
||||
if ($i == 0) { $h_mail[$t] = $row['email'];}
|
||||
else {$bcc[$t][] = $row['email'];}
|
||||
|
||||
$i++;
|
||||
|
||||
if ($i == 6) {
|
||||
$i=0;
|
||||
$t++;
|
||||
}
|
||||
|
||||
$step++;
|
||||
}
|
||||
|
||||
$db->free();
|
||||
|
||||
foreach ($h_mail as $key => $email) {
|
||||
$mail->bcc = $bcc[$key];
|
||||
$message_send = str_replace("{%user%}", $lang['nl_info_2'], $message);
|
||||
|
||||
$mail->send ($email, $title, $message_send);
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
$db->query("SELECT email, name, fullname FROM " . USERPREFIX . "_users".$where." LIMIT ".$startfrom.",".$limit);
|
||||
|
||||
$db->close();
|
||||
|
||||
while($row = $db->get_row())
|
||||
{
|
||||
|
||||
if ( $row['fullname'] )
|
||||
$message_send = str_replace("{%user%}", $row['fullname'], $message);
|
||||
else
|
||||
$message_send = str_replace("{%user%}", $row['name'], $message);
|
||||
|
||||
$mail->send ($row['email'], $title, $message_send);
|
||||
|
||||
$step++;
|
||||
}
|
||||
|
||||
$db->free();
|
||||
}
|
||||
|
||||
}
|
||||
else
|
||||
{
|
||||
die ("error");
|
||||
}
|
||||
|
||||
$count = $startfrom + $step;
|
||||
$buffer = "{\"status\": \"ok\",\"count\": {$count}}";
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
?>
|
95
system/ajax/newslist.php
Normal file
95
system/ajax/newslist.php
Normal file
@ -0,0 +1,95 @@
|
||||
<?php
|
||||
@session_start();
|
||||
|
||||
error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
|
||||
if ($_COOKIE['dle_skin']) {if (@is_dir(ROOT_DIR.'/templates/'.$_COOKIE['dle_skin'])){$config['skin'] = $_COOKIE['dle_skin'];}}
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
require_once SYSTEM_DIR.'/classes/templates.class.php';
|
||||
|
||||
$tpl = new dle_template;
|
||||
$tpl->dir = ROOT_DIR.'/templates/'.$config['skin'];;
|
||||
define('TEMPLATE_DIR', $tpl->dir);
|
||||
$id = intval($_REQUEST['news_id']);
|
||||
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
// "Íà÷àëî" Ïîêàç êðàòêîãî ñîäåðæàíèÿ
|
||||
//~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|
||||
|
||||
if($_REQUEST['action'] == "plus")
|
||||
{
|
||||
$result = $db->query("SELECT * FROM ".PREFIX."_post WHERE id='{$id}'");
|
||||
$row = $db->get_row($result);
|
||||
|
||||
$tpl->load_template('newslist/newslist.tpl');
|
||||
|
||||
/* Äåëàåì ìèíóñ ìåñòî ïëþ÷à */
|
||||
$tpl->set('{spoiler}',"<img style=\"cursor: pointer;\" src=\"/templates/{$config['skin']}/images/newslist_minus.gif\" onclick=\"newslist('".$row['id']."', 'minus'); return false;\" align=\"absmiddle\" border=\"0\" title=\"Óáðàòü êðàòêîå ñîäåðæàíèå ñòàòüè\"></div>");
|
||||
$tpl->set("{story}", stripslashes($row['short_story']));
|
||||
$tpl->set("{title}", stripslashes($row['title']));
|
||||
$date_news = strtotime($row['date']);
|
||||
$link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";
|
||||
$tpl->set("{link}", $link);
|
||||
if(isset($_GET['author'])){$autor = "<a href=\"/user/".$row['autor']."/\">".stripcslashes($row['autor'])."</a>";}else{$autor = "<a href=\"/newslist/".$category."/author/".$row['autor']."/\">".stripcslashes($row['autor'])."</a>";}
|
||||
$tpl->set("{author}", $autor);
|
||||
|
||||
if($is_logged){$tpl->set("[hide]", "");$tpl->set("[/hide]", "");}
|
||||
else{$tpl->set_block("'\\[hide\\](.*?)\\[/hide\\]'si","<div class=\"quote\">Ñêðûòûé òåêñò, íåîáõîäèìà àâòîðèçàöèÿ.</div>");}
|
||||
|
||||
$tpl->set("{rating}", $row['rating']);
|
||||
$date = date("d.m.Y",strtotime($row['date']));
|
||||
$tpl->set("{date}", $date);
|
||||
$tpl->set("[ajax]", "");
|
||||
$tpl->set("[/ajax]", "");
|
||||
$tpl->set_block("'\\[not-ajax\\](.*?)\\[/not-ajax\\]'si","");
|
||||
|
||||
$tpl->set("{coments}", $row['comm_num']);
|
||||
$tpl->set("{prosmotr}", $row['news_read']);
|
||||
$tpl->set('{THEME}', $config['http_home_url'].'templates/'.$config['skin']);
|
||||
|
||||
$tpl->compile('newslistspoiler');
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $tpl->result['newslistspoiler'];
|
||||
|
||||
}elseif($_REQUEST['action'] == "minus"){
|
||||
$result = $db->query("SELECT * FROM ".PREFIX."_post WHERE id='{$id}'");
|
||||
$row = $db->get_row($result);
|
||||
$tpl->load_template('newslist/newslist.tpl');
|
||||
$tpl->set('{spoiler}',"<img style=\"cursor: pointer;\" src=\"/templates/{$config['skin']}/images/newslist_plus.gif\" onclick=\"newslist('".$row['id']."', 'plus'); return false;\" align=\"absmiddle\" border=\"0\" title=\"Ïîêàçàòü êðàòêîå ñîäåðæàíèå ñòàòüè\"></div>");
|
||||
$tpl->set("{story}", "");
|
||||
$tpl->set("{title}", stripslashes($row['title']));
|
||||
$date_news = strtotime($row['date']);
|
||||
$link = $config['http_home_url'].$row['id']."-".$row['alt_name'].".html";
|
||||
$tpl->set("{link}", $link);
|
||||
if($row['approve'] == 1){$moder = "<font color =\"green\">Äà</a>";}else{$moder = "<font color =\"red\">Íåò</a>";}
|
||||
if(isset($_GET['author'])){$autor = "<a href=\"/user/".$row['autor']."/\">".stripcslashes($row['autor'])."</a>";}else{$autor = "<a href=\"/newslist/".$category."/author/".$row['autor']."/\">".stripcslashes($row['autor'])."</a>";}
|
||||
$tpl->set("{author}", $autor);
|
||||
|
||||
$tpl->set("{rating}", $row['rating']);
|
||||
$date = date("d.m.Y",strtotime($row['date']));
|
||||
$tpl->set("{date}", $date);
|
||||
$tpl->set_block("'\\[ajax\\](.*?)\\[/ajax\\]'si","");
|
||||
$tpl->set("[not-ajax]", "");
|
||||
$tpl->set("[/not-ajax]", "");
|
||||
$tpl->set("{coments}", $row['comm_num']);
|
||||
$tpl->set("{prosmotr}", $row['news_read']);
|
||||
$tpl->set('{THEME}', $config['http_home_url'].'templates/'.$config['skin']);
|
||||
|
||||
$tpl->compile('newslistspoiler');
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $tpl->result['newslistspoiler'];
|
||||
}
|
||||
?>
|
162
system/ajax/poll.php
Normal file
162
system/ajax/poll.php
Normal file
@ -0,0 +1,162 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting( E_ALL ^ E_NOTICE );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
@ini_set( 'error_reporting', E_ALL ^ E_NOTICE );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
function votes($all, $ansid) {
|
||||
|
||||
$data = array ();
|
||||
$alldata = array ();
|
||||
|
||||
if( $all != "" ) {
|
||||
$all = explode( "|", $all );
|
||||
|
||||
foreach ( $all as $vote ) {
|
||||
list ( $answerid, $answervalue ) = explode( ":", $vote );
|
||||
$data[$answerid] = intval( $answervalue );
|
||||
}
|
||||
}
|
||||
|
||||
foreach ( $ansid as $id ) {
|
||||
$data[$id] ++;
|
||||
}
|
||||
|
||||
foreach ( $data as $key => $value ) {
|
||||
$alldata[] = intval( $key ) . ":" . intval( $value );
|
||||
}
|
||||
|
||||
$alldata = implode( "|", $alldata );
|
||||
|
||||
return $alldata;
|
||||
}
|
||||
|
||||
function get_votes($all) {
|
||||
|
||||
$data = array ();
|
||||
|
||||
if( $all != "" ) {
|
||||
$all = explode( "|", $all );
|
||||
|
||||
foreach ( $all as $vote ) {
|
||||
list ( $answerid, $answervalue ) = explode( ":", $vote );
|
||||
$data[$answerid] = intval( $answervalue );
|
||||
}
|
||||
}
|
||||
|
||||
return $data;
|
||||
}
|
||||
|
||||
$news_id = intval( $_REQUEST['news_id'] );
|
||||
$answers = explode( " ", trim( $_REQUEST['answer'] ) );
|
||||
|
||||
$buffer = "";
|
||||
$vote_skin = trim(totranslit( $_REQUEST['vote_skin'], false, false));
|
||||
$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
|
||||
|
||||
if( $is_logged ) $log_id = intval( $member_id['user_id'] );
|
||||
else $log_id = $_IP;
|
||||
|
||||
$poll = $db->super_query( "SELECT * FROM " . PREFIX . "_poll WHERE news_id = '{$news_id}'" );
|
||||
$log = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_poll_log WHERE news_id = '{$news_id}' AND member ='{$log_id}'" );
|
||||
|
||||
if( $log['count'] and $_REQUEST['action'] != "list" ) $_REQUEST['action'] = "results";
|
||||
if($_REQUEST['action'] != "list" AND !$user_group[$member_id['user_group']]['allow_poll']) $_REQUEST['action'] = "results";
|
||||
|
||||
$votes = "";
|
||||
|
||||
if( $_REQUEST['action'] == "vote" ) {
|
||||
$votes = votes( $poll['answer'], $answers );
|
||||
$db->query( "UPDATE " . PREFIX . "_poll set answer='$votes', votes=votes+" . count( $answers ) . " WHERE news_id = '{$news_id}'" );
|
||||
$db->query( "INSERT INTO " . PREFIX . "_poll_log (news_id, member) VALUES('{$news_id}', '$log_id')" );
|
||||
|
||||
$_REQUEST['action'] = "results";
|
||||
}
|
||||
|
||||
if( $_REQUEST['action'] == "results" ) {
|
||||
if( $votes == "" ) {
|
||||
$votes = $poll['answer'];
|
||||
$allcount = $poll['votes'];
|
||||
} else {
|
||||
$allcount = count( $answers ) + $poll['votes'];
|
||||
}
|
||||
|
||||
$answer = get_votes( $votes );
|
||||
$body = explode( "<br />", stripslashes( $poll['body'] ) );
|
||||
$pn = 0;
|
||||
|
||||
for($i = 0; $i < sizeof( $body ); $i ++) {
|
||||
|
||||
$num = $answer[$i];
|
||||
|
||||
if( ! $num ) $num = 0;
|
||||
|
||||
++ $pn;
|
||||
if( $pn > 5 ) $pn = 1;
|
||||
|
||||
if( $allcount != 0 ) $proc = (100 * $num) / $allcount;
|
||||
else $proc = 0;
|
||||
|
||||
$proc = round( $proc, 2 );
|
||||
|
||||
$buffer .= <<<HTML
|
||||
{$body[$i]} - {$num} ({$proc}%)<br />
|
||||
<img src="{$config['http_home_url']}templates/{$vote_skin}/images/poll{$pn}.gif" height="10" width="{$proc}%" style="border:1px solid black;" alt="" /><br />
|
||||
HTML;
|
||||
}
|
||||
|
||||
} elseif( $_REQUEST['action'] == "list" ) {
|
||||
|
||||
$body = explode( "<br />", stripslashes( $poll['body'] ) );
|
||||
|
||||
if( ! $poll['multiple'] ) {
|
||||
|
||||
for($v = 0; $v < sizeof( $body ); $v ++) {
|
||||
if( ! $v ) $sel = "checked";
|
||||
else $sel = "";
|
||||
|
||||
$buffer .= <<<HTML
|
||||
<div><input name="dle_poll_votes" type="radio" $sel value="{$v}" /> {$body[$v]}</div>
|
||||
HTML;
|
||||
|
||||
}
|
||||
} else {
|
||||
|
||||
for($v = 0; $v < sizeof( $body ); $v ++) {
|
||||
|
||||
$buffer .= <<<HTML
|
||||
<div><input name="dle_poll_votes[]" type="checkbox" value="{$v}" /> {$body[$v]}</div>
|
||||
HTML;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} else
|
||||
die( "error" );
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
?>
|
73
system/ajax/rating.php
Normal file
73
system/ajax/rating.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
$go_rate = intval( $_REQUEST['go_rate'] );
|
||||
$id = intval( $_REQUEST['id'] );
|
||||
$type = intval( $_REQUEST['type'] );
|
||||
|
||||
if( $go_rate > 1 or $go_rate < -1 ) $go_rate = 0;
|
||||
if( ! $go_rate or ! $id ) die( "Hacking attempt!" );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
$_REQUEST['skin'] = totranslit($_REQUEST['skin'], false, false);
|
||||
if( $_REQUEST['skin'] ) {if( @is_dir( ROOT_DIR . '/templates/' . $_REQUEST['skin'] ) ) {$config['skin'] = $_REQUEST['skin'];
|
||||
} else {die( "Hacking attempt!" );}}
|
||||
|
||||
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
if( ! $user_group[$member_id['user_group']]['allow_rating'] ) die( "Hacking attempt!" );
|
||||
$_IP = $db->safesql( $_SERVER['REMOTE_ADDR'] );
|
||||
|
||||
$member_id['name'] = $db->safesql($member_id['name']);
|
||||
if( $is_logged ) $where = "member = '{$member_id['name']}'"; else $where = "ip ='{$_IP}'";
|
||||
|
||||
$row = $db->super_query( "SELECT type_id FROM " . PREFIX . "_rate where type_id ='$id' AND {$where} AND type='$type'" );
|
||||
|
||||
if( ! $row['type_id'] AND count( explode( ".", $_IP ) ) == 4 ) {
|
||||
if($type==1)$db->query( "UPDATE " . PREFIX . "_post set rating=rating+'$go_rate' where id ='$id'" );
|
||||
else $db->query("UPDATE " . PREFIX . "_comments set rating=rating+'$go_rate' where id ='$id'");
|
||||
|
||||
if ($db->get_affected_rows()){
|
||||
if( $is_logged ) $user_name = $member_id['name']; else $user_name = "anonymous";
|
||||
$rate_date = time() + (0 * 60);
|
||||
|
||||
$db->query( "INSERT INTO " . PREFIX . "_rate (type_id, ip, member, date, rating, type) values ('$id', '$_IP', '$user_name', '$rate_date', '$go_rate', '$type')" );
|
||||
$cache->clear( array('news_', 'comm_', 'rss') );
|
||||
}}
|
||||
|
||||
if($type==1){
|
||||
$row = $db->super_query( "SELECT id, rating FROM " . PREFIX . "_post where id ='$id'" );
|
||||
$buffer = ShortRating( $row['id'], $row['rating'], false );
|
||||
}else{
|
||||
$row = $db->super_query("SELECT * FROM " . PREFIX . "_comments where id ='$id'");
|
||||
$buffer = CommRating($row['id'], $row['rating'], false);
|
||||
}
|
||||
$db->close();
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
?>
|
124
system/ajax/rebuild.php
Normal file
124
system/ajax/rebuild.php
Normal file
@ -0,0 +1,124 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
|
||||
@ini_set ( 'display_errors', true );
|
||||
@ini_set ( 'html_errors', false );
|
||||
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR.'/inc/include/functions.inc.php';
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
if(($member_id['user_group'] != 1)) {die ("error");}
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {
|
||||
$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {
|
||||
$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {
|
||||
$user_group[$row['id']][$key] = stripslashes($value);
|
||||
}
|
||||
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
if ($_REQUEST['user_hash'] == "" OR $_REQUEST['user_hash'] != $dle_login_hash) {die ("error");}
|
||||
|
||||
require_once ROOT_DIR.'/language/'.$config['langs'].'/adminpanel.lng';
|
||||
include_once SYSTEM_DIR . '/classes/parse.class.php';
|
||||
|
||||
@header("Content-type: text/html; charset=".$config['charset']);
|
||||
|
||||
$startfrom = intval($_POST['startfrom']);
|
||||
$buffer = "";
|
||||
$step = 0;
|
||||
|
||||
if ( intval( $config['tag_img_width'] ) ) $count_per_step = 5; else $count_per_step = 50;
|
||||
|
||||
if($_POST['area'] == "forum" ){
|
||||
$parse = new ParseFilter(Array(), Array(), 1, 1);
|
||||
$result = $db->query("SELECT pid, post_text FROM " . PREFIX . "_forum_posts LIMIT ".$startfrom.", ".$count_per_step);
|
||||
while($row = $db->get_row($result)){
|
||||
$row['post_text'] = $parse->decodeBBCodes($row['post_text'], false);
|
||||
$post_text = $parse->process($row['post_text']);
|
||||
$post_text = $db->safesql($parse->BB_Parse($post_text, true));
|
||||
$db->query( "UPDATE " . PREFIX . "_forum_posts SET post_text='$post_text' WHERE pid='{$row['pid']}'" );
|
||||
$step++;
|
||||
}
|
||||
$rebuildcount = $startfrom + $step;
|
||||
$buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}";
|
||||
echo $buffer;
|
||||
} elseif ($_POST['area'] == "comments" ) {
|
||||
$commparse = new ParseFilter( );
|
||||
//$commparse->safe_mode = true;
|
||||
|
||||
$result = $db->query("SELECT id, text FROM " . PREFIX . "_comments LIMIT ".$startfrom.", ".$count_per_step);
|
||||
|
||||
while($row = $db->get_row($result)){
|
||||
$row['text'] = $commparse->decodeBBCodes( $row['text'], false );
|
||||
$text = $commparse->process( $row['text'] );
|
||||
$text = $db->safesql($commparse->BB_Parse( $text, false ));
|
||||
|
||||
$db->query( "UPDATE " . PREFIX . "_comments SET text='$text' WHERE id='{$row['id']}'" );
|
||||
|
||||
$step++;
|
||||
}
|
||||
|
||||
$rebuildcount = $startfrom + $step;
|
||||
$buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}";
|
||||
echo $buffer;
|
||||
} elseif ($_POST['area'] == "static" ) {
|
||||
|
||||
$parse = new ParseFilter( Array (), Array (), 1, 1 );
|
||||
$result = $db->query("SELECT id, template FROM " . PREFIX . "_static LIMIT ".$startfrom.", ".$count_per_step);
|
||||
|
||||
while($row = $db->get_row($result)){
|
||||
$row['template'] = $parse->decodeBBCodes( $row['template'], false );
|
||||
$template = $parse->process( $row['template'] );
|
||||
$template = $db->safesql($parse->BB_Parse( $template, true ));
|
||||
|
||||
$db->query( "UPDATE " . PREFIX . "_static SET template='$template' WHERE id='{$row['id']}'" );
|
||||
|
||||
$step++;
|
||||
}
|
||||
|
||||
$rebuildcount = $startfrom + $step;
|
||||
$buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}";
|
||||
echo $buffer;
|
||||
|
||||
} else {
|
||||
|
||||
$parse = new ParseFilter( Array (), Array (), 1, 1 );
|
||||
$result = $db->query("SELECT id, short_story, full_story, title FROM " . PREFIX . "_post LIMIT ".$startfrom.", ".$count_per_step);
|
||||
|
||||
while($row = $db->get_row($result)){
|
||||
$row['short_story'] = $parse->decodeBBCodes( $row['short_story'], false );
|
||||
$row['full_story'] = $parse->decodeBBCodes( $row['full_story'], false );
|
||||
|
||||
$short_story = $parse->process( $row['short_story'] );
|
||||
$full_story = $parse->process( $row['full_story'] );
|
||||
|
||||
$full_story = $db->safesql( $parse->BB_Parse( $row['full_story'], false ) );
|
||||
$short_story = $db->safesql( $parse->BB_Parse( $row['short_story'], false ) );
|
||||
|
||||
$db->query( "UPDATE " . PREFIX . "_post SET short_story='$short_story', full_story='$full_story' WHERE id='{$row['id']}'" );
|
||||
|
||||
$step++;
|
||||
}
|
||||
|
||||
$cache->clear();
|
||||
$rebuildcount = $startfrom + $step;
|
||||
$buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}";
|
||||
echo $buffer;
|
||||
}
|
||||
?>
|
73
system/ajax/registration.php
Normal file
73
system/ajax/registration.php
Normal file
@ -0,0 +1,73 @@
|
||||
<?php
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
include_once ROOT_DIR.'/language/'.$config['langs'].'/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
require_once SYSTEM_DIR.'/classes/parse.class.php';
|
||||
$parse = new ParseFilter();
|
||||
|
||||
function check_name($name)
|
||||
{
|
||||
global $lang, $db, $banned_info;
|
||||
$stop = '';
|
||||
|
||||
if (strlen($name) > 20){$stop .= $lang['reg_err_3'];}
|
||||
if (preg_match("/[\||\'|\<|\>|\[|\]|\"|\!|\?|\$|\@|\/|\\\|\&\~\*\{\+]/",$name)){$stop .= $lang['reg_err_4'];}
|
||||
if (empty($name)){$stop .= $lang['reg_err_7'];}
|
||||
if (strpos( strtolower ($name) , '.php' ) !== false) {$stop .= $lang['reg_err_4'];}
|
||||
|
||||
if (count($banned_info['name'])) foreach($banned_info['name'] as $banned){
|
||||
$banned['name'] = str_replace( '\*', '.*' , preg_quote($banned['name'], "#") );
|
||||
if ( $banned['name'] AND preg_match( "#^{$banned['name']}$#i", $name ) ) {
|
||||
if ($banned['descr']) {$lang['reg_err_21'] = str_replace("{descr}", $lang['reg_err_22'], $lang['reg_err_21']); $lang['reg_err_21'] = str_replace("{descr}", $banned['descr'], $lang['reg_err_21']);
|
||||
} else $lang['reg_err_21'] = str_replace("{descr}", "", $lang['reg_err_21']);
|
||||
$stop .= $lang['reg_err_21'];
|
||||
}}
|
||||
|
||||
if (!$stop){
|
||||
$replace_word = array ('e' => '[eå¸]', 'r' => '[rã]', 't' => '[tò]', 'y' => '[yó]','u' => '[uè]','i' => '[i1l!]','o' => '[oî0]','p' => '[pð]','a' => '[aà]','s' => '[s5]','w' => 'w','q' => 'q','d' => 'd','f' => 'f','g' => '[gä]','h' => '[hí]','j' => 'j','k' => '[kê]','l' => '[l1i!]','z' => 'z','x' => '[xõ%]','c' => '[cñ]','v' => '[vuè]','b' => '[bâü]','n' => '[nïë]','m' => '[mì]','é' => '[éèu]','ö' => 'ö','ó' => '[óy]','å' => '[åe¸]','í' => '[íh]','ã' => '[ãr]','ø' => '[øwù]','ù' => '[ùwø]','ç' => '[ç3ý]','õ' => '[õx%]','ú' => '[úü]','ô' => 'ô','û' => '(û|ü[i1l!]?)','â' => '[âb]','à' => '[àa]','ï' => '[ïn]','ð' => '[ðp]','î' => '[îo0]','ë' => '[ën]','ä' => 'ä','æ' => 'æ','ý' => '[ý3ç]','ÿ' => '[ÿ]','÷' => '[÷4]','ñ' => '[ñc]','ì' => '[ìm]','è' => '[èué]','ò' => '[òt]','ü' => '[üb]','á' => '[á6]','þ' => '(þ|[!1il][oî0])','¸' => '[¸åe]','1' => '[1il!]','2' => '2','3' => '[3çý]','4' => '[4÷]','5' => '[5s]','6' => '[6á]','7' => '7','8' => '8','9' => '9','0' => '[0îo]','_' => '_','#' => '#','%' => '[%x]','^' => '[^~]','(' => '[(]',')' => '[)]','=' => '=','.' => '[.]','-' => '-','[' => '[\[]');
|
||||
$name=strtolower($name);
|
||||
$search_name=strtr($name, $replace_word);
|
||||
$db->query ("SELECT name FROM " . USERPREFIX . "_users WHERE LOWER(name) REGEXP '[[:<:]]{$search_name}[[:>:]]' OR name = '$name'");
|
||||
if ($db->num_rows() > 0){$stop .= $lang['reg_err_20'];}
|
||||
}
|
||||
|
||||
if (!$stop) return false; else return $stop;
|
||||
}
|
||||
|
||||
$banned_info = $cache->get ("banned");
|
||||
if (!is_array($banned_info)) {$banned_info = array ();
|
||||
$db->query("SELECT * FROM " . USERPREFIX . "_banned");
|
||||
while($row = $db->get_row()){
|
||||
|
||||
if ($row['users_id']) {$banned_info['users_id'][$row['users_id']] = array('users_id' => $row['users_id'], 'descr' => stripslashes($row['descr']), 'date' => $row['date']);
|
||||
} else {if (count(explode(".", $row['ip'])) == 4) $banned_info['ip'][$row['ip']] = array('ip' => $row['ip'], 'descr' => stripslashes($row['descr']), 'date' => $row['date']);
|
||||
elseif (strpos( $row['ip'], "@" ) !== false) $banned_info['email'][$row['ip']] = array('email' => $row['ip'], 'descr' => stripslashes($row['descr']), 'date' => $row['date']);
|
||||
else $banned_info['name'][$row['ip']] = array('name' => $row['ip'], 'descr' => stripslashes($row['descr']), 'date' => $row['date']);
|
||||
}}
|
||||
$cache->set ("banned", $banned_info);
|
||||
$db->free();
|
||||
}
|
||||
|
||||
$name = $db->safesql(trim(htmlspecialchars($parse->process(convert_unicode($_POST['name'], $config['charset'])))));
|
||||
$name = preg_replace('#\s+#i', ' ', $name);
|
||||
$allow = check_name($name);
|
||||
|
||||
if (!$allow)$buffer = "<font color=\"green\">".$lang['reg_ok_ajax']."</font>";
|
||||
else $buffer = "<font color=\"red\">".$allow."</font>";
|
||||
|
||||
@header("Content-type: text/html; charset=".$config['charset']);
|
||||
echo $buffer;
|
||||
?>
|
135
system/ajax/reputation.php
Normal file
135
system/ajax/reputation.php
Normal file
@ -0,0 +1,135 @@
|
||||
<?php
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
@session_start();
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
include SYSTEM_DIR.'/data/repa.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
$_REQUEST['skin'] = totranslit($_REQUEST['skin'], false, false);
|
||||
|
||||
if( ! @is_dir( ROOT_DIR . '/templates/' . $_REQUEST['skin'] ) ) {die( "Hacking attempt!" );}
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {
|
||||
$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {
|
||||
$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {
|
||||
$user_group[$row['id']][$key] = $value;
|
||||
}}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
include_once ROOT_DIR . '/language/' . $config['langs'] . '/website.lng';
|
||||
$config['charset'] = ($lang['charset'] != '') ? $lang['charset'] : $config['charset'];
|
||||
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
$action = intval($_POST['action']);
|
||||
$user_id = intval($_POST['user_id']);
|
||||
$url = $db->safesql( $_SERVER['HTTP_REFERER'] );
|
||||
$cause = $db->safesql(convert_unicode(strip_tags($_POST['cause'], "\x3c\x61\x3e\x2c\x3c\x62\x3e\x2c\x3c\x69\x3e\x2c\x3c\x62\x72\x3e"), $config['charset']));
|
||||
|
||||
$time = time() + ($config['date_adjust'] * 60);
|
||||
$access = true;
|
||||
|
||||
if ($is_logged){
|
||||
$row = $db->super_query("SELECT user_id, name, user_group, repa, repa_mod, reg_date, repa_off FROM " . PREFIX . "_users WHERE user_id = '$user_id'");
|
||||
|
||||
if ($row['user_id'] != $user_id) $access = false;
|
||||
|
||||
$nowis = time()+($config['date_adjust']*60);
|
||||
$r_date = $member_id['reg_date'];
|
||||
$period = $nowis - $r_date;
|
||||
|
||||
if ($row['repa_off'] == 1) $access = false;
|
||||
if ($period < $repa_cf['bl_period']*43200) $access = false;
|
||||
if ($member_id['r_freeze']) $access = false;
|
||||
if ($user_id == $member_id['user_id']) $access = false;
|
||||
if( $member_id['repa'] < $repa_cf['repa_stop_change_min']) $access = false;
|
||||
|
||||
if ($action == 1 OR $action == 0)
|
||||
{
|
||||
$author = $member_id['name'];
|
||||
$get_date = date ("Y-m-d H:i:s");
|
||||
$date = $get_date;
|
||||
$from_page = $url;
|
||||
|
||||
if ($access)
|
||||
{
|
||||
if ($action == 1)
|
||||
{
|
||||
$how = $row['repa'] + 1;
|
||||
$v = "1";
|
||||
$repa_mod_mas = explode ("|", $row['repa_mod']);
|
||||
$repa_mod_mas[0] = $repa_mod_mas[0] + 1;
|
||||
$what = "ïîâûñèë";
|
||||
}else{
|
||||
$how = $row['repa'] - 1;
|
||||
$v = "-1";
|
||||
$repa_mod_mas = explode ("|", $row['repa_mod']);
|
||||
$repa_mod_mas[1] = $repa_mod_mas[1] - 1;
|
||||
$what = "ïîíèçèë";
|
||||
}
|
||||
|
||||
$repa_mod = $repa_mod_mas[0]."|".$repa_mod_mas[1];
|
||||
|
||||
if($row['user_group'] == 4 AND $row['repa'] + 1 >= $repa_cf['num_repa_group']) $group = "user_group = '".$repa_cf['move_grouplevel']."',";
|
||||
|
||||
$db->query("UPDATE " . USERPREFIX . "_users SET $group repa ='$how', repa_mod='$repa_mod' WHERE `name` = '$row[name]'");
|
||||
$db->query("INSERT INTO " . USERPREFIX . "_reputation (how, date, author, komu, text, url_page) VALUES ('$v', '$date', '$author', '$row[name]', '$cause', '$from_page')");
|
||||
|
||||
if ($repa_cf['repa_ban'] AND $row['banned'] != "yes")
|
||||
{
|
||||
if (($row['repa'] + $v) <= $repa_cf['repa_ban_num'] OR $row['repa'] == $repa_cf['repa_ban_num'])
|
||||
{
|
||||
$this_time = $repa_cf['repa_ban_days'] ? $_TIME + ($repa_cf['repa_ban_days'] * 60 * 60 * 24) : 0;
|
||||
$db->query( "UPDATE " . USERPREFIX . "_users SET banned='yes' WHERE user_id = '{$row[user_id]}'" );
|
||||
$db->query( "INSERT INTO " . USERPREFIX . "_banned (users_id, descr, date, days, ip) values ('$row[user_id]', '$repa_cf[repa_ban_desc]', '$this_time', '$repa_cf[repa_ban_days]', '')" );
|
||||
$cache->delete('banned.php');
|
||||
}
|
||||
}
|
||||
|
||||
if($repa_cf['msgs_status'] == 'yes'){
|
||||
$whois = "<a href=\"".$config['http_home_url']."user/".urlencode($member_id['name'])."\">".$member_id['name']."</a>";
|
||||
|
||||
$izvestie = $repa_cf['msgs_template'];
|
||||
$izvestie = str_replace('{%kto%}', $whois, $izvestie);
|
||||
$izvestie = str_replace('{%what%}', $what, $izvestie);
|
||||
$izvestie = str_replace('{%text%}', $cause, $izvestie);
|
||||
$db->query("INSERT INTO " . USERPREFIX . "_pm (subj, text, user, user_from, date, pm_read, folder) values ('Âàì èçìåíèëè ðåïóòàöèþ', '$izvestie', '$row[user_id]', '$member_id[name]', '$time', 'no', 'inbox')");
|
||||
$db->query("UPDATE " . USERPREFIX . "_users set pm_all=pm_all+1, pm_unread=pm_unread+1 where user_id='$row[user_id]'");
|
||||
}
|
||||
$db->free();
|
||||
|
||||
$repa_type = "(<font color=green><b>".$repa_mod_mas[0]."</b></font><b>|</b><font color=red><b>".$repa_mod_mas[1]."</b></font>)";
|
||||
$buffer = "<a href=\"".$config['http_home_url']."user/reputation/".urlencode($row['name'])."/\">".$repa_type."</a>";
|
||||
$cache->clear( 'comm_' );
|
||||
}
|
||||
}
|
||||
|
||||
if (!$access){
|
||||
$repa_mod_mas = explode ("|", $row['repa_mod']);
|
||||
$repa_type = "(<font color=green><b>".$repa_mod_mas[0]."</b></font><b>|</b><font color=red><b>".$repa_mod_mas[1]."</b></font>)";
|
||||
$buffer = "<a href=\"".$config['http_home_url']."user/reputation/".urlencode($row['name'])."/\">".$repa_type."</a>";
|
||||
}
|
||||
}
|
||||
|
||||
$db->close();
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
|
||||
?>
|
50
system/ajax/subscribe.php
Normal file
50
system/ajax/subscribe.php
Normal file
@ -0,0 +1,50 @@
|
||||
<?
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR.'/data/config.php';
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR.'/modules/functions.php';
|
||||
require_once SYSTEM_DIR.'/modules/sitelogin.php';
|
||||
|
||||
if( !$is_logged ) die( "error" );
|
||||
$news_id = intval( $_REQUEST['news_id'] );
|
||||
if( !$news_id ) die( "error" );
|
||||
|
||||
$subscribe = $db->super_query("SELECT COUNT(*) as count FROM " . PREFIX . "_subscribe WHERE news_id=$news_id AND user_id=$member_id[user_id]");
|
||||
if($subscribe['count'] == 0 ){
|
||||
$salt = "abchefghjkmnpqrstuvwxyz0123456789";
|
||||
srand( ( double ) microtime() * 1000000 );
|
||||
$s_hash = "";
|
||||
for($i = 0; $i < 5; $i ++) {$s_hash .= $salt{rand( 0, 33 )};}
|
||||
$s_hash = md5($s_hash);
|
||||
|
||||
$db->query( "INSERT INTO " . PREFIX . "_subscribe (user_id, name, email, news_id, hash) values ('{$member_id['user_id']}', '{$member_id['name']}', '{$member_id['email']}', '{$news_id}', '{$s_hash}')" );
|
||||
$buffer = "<a href=\"#\" onclick=\"comm_Subscribe('" . $news_id . "'); return false;\"/>Îòïèñàòüñÿ</a>";
|
||||
} else {
|
||||
$db->query( "DELETE FROM " . PREFIX . "_subscribe WHERE news_id=$news_id AND user_id=$member_id[user_id]");
|
||||
$buffer = "<a href=\"#\" onclick=\"comm_Subscribe('" . $news_id . "'); return false;\"/>Ïîäïèñàòüñÿ</a>";
|
||||
}
|
||||
$db->close();
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo $buffer;
|
||||
|
||||
/*case "unsubscribe" :
|
||||
$_GET['post_id'] = intval ($_GET['post_id']);
|
||||
$_GET['user_id'] = intval ($_GET['user_id']);
|
||||
if ($_GET['post_id'] AND $_GET['user_id'] AND $_GET['hash']) {
|
||||
$row = $db->super_query( "SELECT hash FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );
|
||||
if ($row['hash'] AND $row['hash'] == $_GET['hash']) {
|
||||
$db->query( "DELETE FROM " . PREFIX . "_subscribe WHERE news_id='{$_GET['post_id']}' AND user_id='{$_GET['user_id']}'" );
|
||||
msgbox( $lang['all_info'], $lang['unsubscribe_ok']);
|
||||
} else {msgbox( $lang['all_info'], $lang['unsubscribe_err']);}
|
||||
} else {msgbox( $lang['all_info'], $lang['unsubscribe_err']);}
|
||||
break;*/
|
||||
?>
|
41
system/ajax/torrent.php
Normal file
41
system/ajax/torrent.php
Normal file
@ -0,0 +1,41 @@
|
||||
<?
|
||||
@session_start();
|
||||
@error_reporting( 7 );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
ini_set('default_socket_timeout', 3);
|
||||
$id = intval($_REQUEST['id']);
|
||||
if(!$id) die('error');
|
||||
|
||||
$row = $db->super_query("SELECT onserver FROM " . PREFIX . "_torrents WHERE id='{$id}'");
|
||||
|
||||
if( !$content ){
|
||||
require_once SYSTEM_DIR . '/classes/torrent.class.php';
|
||||
$FilesTorrent = new Torrent(ROOT_DIR.'/uploads/torrents/'.$row['onserver']);
|
||||
$content = $FilesTorrent->content();
|
||||
}
|
||||
|
||||
foreach ($content as $cx => $v) {
|
||||
$count_filesx = count($content);
|
||||
$ssdx = mksize($v);
|
||||
// Êîäèðîâêà win1251 (CP1251)
|
||||
$cx = iconv("UTF-8", $config['charset'], $cx );
|
||||
$torrent_filesx .= "<tr>
|
||||
<td align='left' bgcolor='#ffffff'>{$cx}</td>
|
||||
<td align='left' bgcolor='#ffffff'>{$ssdx} / ({$v})</td>
|
||||
</tr>";
|
||||
}
|
||||
|
||||
@header("Content-type: text/html; charset={$config['charset']}");
|
||||
echo "<table width='95%' cellpadding='1' cellspacing='1' class='tor' align='center'><thead><td>Ôàéë</td><td align=\"center\">Ðàçìåð</td></thead>" . $torrent_filesx . "</table>";
|
||||
?>
|
31
system/ajax/upload.form.php
Normal file
31
system/ajax/upload.form.php
Normal file
@ -0,0 +1,31 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
|
||||
$content = <<<HTML
|
||||
<iframe id="_AddUpload" src="{$open_url}" frameborder="0" width="100%" height="220px"></iframe>
|
||||
<div class="highslide-footer"><div><span class="highslide-resize"><span></span></span></div></div>
|
||||
HTML;
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
@header( "Expires: Mon, 26 Jul 1997 05:00:00 GMT" );
|
||||
@header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
|
||||
@header( "Cache-Control: no-store, no-cache, must-revalidate" );
|
||||
@header( "Cache-Control: post-check=0, pre-check=0", false );
|
||||
@header( "Pragma: no-cache" );
|
||||
|
||||
echo "<div id='upload_form' title='Çàãðóçêà ôàéëîâ' style='display:none'>$content</div>";
|
||||
?>
|
254
system/ajax/upload.php
Normal file
254
system/ajax/upload.php
Normal file
@ -0,0 +1,254 @@
|
||||
<?php
|
||||
@error_reporting( E_ALL ^ E_NOTICE );
|
||||
@ini_set( 'display_errors', true );
|
||||
@ini_set( 'html_errors', false );
|
||||
@ini_set( 'error_reporting', E_ALL ^ E_NOTICE );
|
||||
|
||||
define( 'DATALIFEENGINE', true );
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
if( isset( $_POST["PHPSESSID"] ) ) {
|
||||
session_id( $_POST["PHPSESSID"] );
|
||||
}
|
||||
|
||||
session_start();
|
||||
|
||||
function msg_error($message, $code = 500) {
|
||||
if ($code == 401) header( "HTTP/1.1 401 Unauthorized" );
|
||||
elseif($code == 403) header( "HTTP/1.1 403 Forbidden" );
|
||||
elseif($code == 405) header( "HTTP/1.1 405 Method Not Allowed" );
|
||||
else header( "HTTP/1.1 500 Internal Server Error" );
|
||||
echo $message;
|
||||
exit( 0 );
|
||||
}
|
||||
|
||||
if( ! isset( $_FILES['Filedata'] ) || ! is_uploaded_file( $_FILES['Filedata']['tmp_name'] ) || $_FILES['Filedata']['error'] != 0 ) {
|
||||
msg_error( "There was a problem with the upload", 405 );
|
||||
}
|
||||
|
||||
require_once SYSTEM_DIR . '/data/config.php';
|
||||
require_once SYSTEM_DIR . '/classes/mysql.php';
|
||||
require_once SYSTEM_DIR . '/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/inc/include/functions.inc.php';
|
||||
|
||||
$user_group = $cache->get( "usergroup" );
|
||||
if( ! $user_group ) {$user_group = array ();
|
||||
$db->query( "SELECT * FROM " . USERPREFIX . "_usergroups ORDER BY id ASC" );
|
||||
while ( $row = $db->get_row() ) {$user_group[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {$user_group[$row['id']][$key] = stripslashes($value);}
|
||||
}
|
||||
$cache->set( "usergroup", $user_group );
|
||||
$db->free();
|
||||
}
|
||||
require_once SYSTEM_DIR . '/modules/sitelogin.php';
|
||||
|
||||
if( ! $is_logged ) {msg_error( "Not Logged", 401 );}
|
||||
if( ! $user_group[$member_id['user_group']]['allow_image_upload'] ) {msg_error( "Not Allowed", 401 );}
|
||||
|
||||
|
||||
$allowed_extensions = array ("gif", "jpg", "png", "jpe", "jpeg" );
|
||||
$allowed_files = explode( ',', strtolower( $config['files_type'] ) );
|
||||
if( intval( $_REQUEST['news_id'] ) ) $news_id = intval( $_REQUEST['news_id'] ); else $news_id = 0;
|
||||
if( isset( $_REQUEST['area'] ) ) $area = totranslit( $_REQUEST['area'] ); else $area = "";
|
||||
|
||||
if( isset( $_REQUEST['author'] ) ) $author = @$db->safesql( strip_tags( convert_unicode($_REQUEST['author'], $config['charset'] ) ) ); else $author = "";
|
||||
|
||||
if ( !$author ) $author = $member_id['name'];
|
||||
|
||||
//if( $member_id['user_group'] < 4 ) {
|
||||
$config['max_image'] = $_POST['t_size'] ? $_POST['t_size'] : $config['max_image'];
|
||||
$_POST['t_seite'] = intval( $_POST['t_seite'] );
|
||||
$config['allow_watermark'] = intval( $_POST['make_watermark'] ) ? "yes" : "no";
|
||||
|
||||
$_POST['make_thumb'] = true;
|
||||
//} else {$_POST['t_seite'] = 0;$_POST['make_thumb'] = true;}
|
||||
|
||||
$thumb_size = $config['max_image'];
|
||||
$thumb_size = explode ("x", $thumb_size);
|
||||
|
||||
if ( count($thumb_size) == 2) {
|
||||
|
||||
$thumb_size = intval($thumb_size[0]) . "x" . intval($thumb_size[1]);
|
||||
|
||||
} else {
|
||||
|
||||
$thumb_size = intval( $thumb_size[0] );
|
||||
|
||||
}
|
||||
|
||||
$config['max_image'] = $thumb_size;
|
||||
|
||||
|
||||
if (@ini_get( 'safe_mode' ) == 1)
|
||||
define( 'FOLDER_PREFIX', "" );
|
||||
else
|
||||
define( 'FOLDER_PREFIX', date( "Y-m" ) );
|
||||
|
||||
if( ! is_dir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX ) ) {
|
||||
|
||||
@mkdir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX, 0777 );
|
||||
@chmod( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX, 0777 );
|
||||
@mkdir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/thumbs", 0777 );
|
||||
@chmod( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/thumbs", 0777 );
|
||||
}
|
||||
|
||||
if( ! is_dir( ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX ) ) {
|
||||
|
||||
msg_error( "/uploads/posts/" . FOLDER_PREFIX . "/ cannot created.", 403 );
|
||||
}
|
||||
|
||||
$upload_path = ROOT_DIR . "/uploads/posts/" . FOLDER_PREFIX . "/";
|
||||
|
||||
$file_prefix = time() + rand( 1, 100 );
|
||||
$file_prefix .= "_";
|
||||
|
||||
$image = $_FILES['Filedata']['tmp_name'];
|
||||
$image_name = $_FILES['Filedata']['name'];
|
||||
$image_size = $_FILES['Filedata']['size'];
|
||||
|
||||
$img_name_arr = explode( ".", $image_name );
|
||||
$type = totranslit( end( $img_name_arr ) );
|
||||
|
||||
$curr_key = key( $img_name_arr );
|
||||
unset( $img_name_arr[$curr_key] );
|
||||
|
||||
$image_name = totranslit( convert_unicode( implode( ".", $img_name_arr ), $config['charset'] ) ) . "." . $type;
|
||||
$image_name = str_replace( "..", ".", $image_name );
|
||||
|
||||
if( stripos ( $image_name, "php" ) !== false ) die("Hacking attempt!");
|
||||
if( stripos ( $image_name, "phtml" ) !== false ) die("Hacking attempt!");
|
||||
if( stripos ( $image_name, ".htaccess" ) !== false ) die("Hacking attempt!");
|
||||
|
||||
if( $config['files_allow'] == "yes" and $user_group[$member_id['user_group']]['allow_file_upload'] and in_array( strtolower( $type ), $allowed_files ) ) {
|
||||
if( intval( $config['max_file_size'] ) and $image_size > ($config['max_file_size'] * 1024) ) {
|
||||
msg_error( "File too big", 403 );
|
||||
}
|
||||
|
||||
if( move_uploaded_file( $image, ROOT_DIR . "/uploads/files/" . $file_prefix . $image_name ) ) {
|
||||
|
||||
@chmod( ROOT_DIR . "/uploads/files/" . $file_prefix . $image_name, 0666 );
|
||||
$added_time = time() + ($config['date_adjust'] * 60);
|
||||
|
||||
if( $area == "template" ) {
|
||||
|
||||
$db->query( "INSERT INTO " . PREFIX . "_static_files (static_id, author, date, name, onserver) values ('$news_id', '{$author}', '$added_time', '$image_name', '{$file_prefix}{$image_name}')" );
|
||||
|
||||
} else {
|
||||
|
||||
$db->query( "INSERT INTO " . PREFIX . "_files (news_id, name, onserver, author, date) values ('$news_id', '$image_name', '{$file_prefix}{$image_name}', '{$author}', '$added_time')" );
|
||||
|
||||
}
|
||||
|
||||
$db->close();
|
||||
echo ("Ok");
|
||||
|
||||
} else {
|
||||
|
||||
msg_error( "Upload Error", 403 );
|
||||
|
||||
}
|
||||
|
||||
} elseif( in_array( strtolower( $type ), $allowed_extensions ) and $user_group[$member_id['user_group']]['allow_image_upload'] ) {
|
||||
|
||||
if( file_exists( $upload_path . $image_name ) ) {
|
||||
|
||||
msg_error( "Image exist", 500 );
|
||||
|
||||
} elseif( $image_size > ($config['max_up_size'] * 1024) and ! $config['max_up_side'] ) {
|
||||
|
||||
msg_error( "Image too big", 500 );
|
||||
|
||||
}
|
||||
|
||||
if( @move_uploaded_file( $image, $upload_path . $file_prefix . $image_name ) ) {
|
||||
|
||||
@chmod( $upload_path . $file_prefix . $image_name, 0666 );
|
||||
|
||||
if( $area != "template" ) {
|
||||
|
||||
$row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_images where author = '{$author}' AND news_id = '$news_id'" );
|
||||
|
||||
if( ! $row['count'] ) {
|
||||
|
||||
$added_time = time() + ($config['date_adjust'] * 60);
|
||||
$inserts = FOLDER_PREFIX . "/" . $file_prefix . $image_name;
|
||||
$db->query( "INSERT INTO " . PREFIX . "_images (images, author, news_id, date) values ('$inserts', '{$author}', '$news_id', '$added_time')" );
|
||||
|
||||
} else {
|
||||
|
||||
$row = $db->super_query( "SELECT images FROM " . PREFIX . "_images where author = '{$author}' AND news_id = '$news_id'" );
|
||||
|
||||
if( $row['images'] == "" ) $listimages = array ();
|
||||
else $listimages = explode( "|||", $row['images'] );
|
||||
|
||||
foreach ( $listimages as $dataimages ) {
|
||||
|
||||
if( $dataimages == FOLDER_PREFIX . "/" . $file_prefix . $image_name ) $error_image = "stop";
|
||||
|
||||
}
|
||||
|
||||
if( $error_image != "stop" ) {
|
||||
|
||||
$listimages[] = FOLDER_PREFIX . "/" . $file_prefix . $image_name;
|
||||
$row['images'] = implode( "|||", $listimages );
|
||||
|
||||
$db->query( "UPDATE " . PREFIX . "_images set images='{$row['images']}' where author = '{$author}' AND news_id = '$news_id'" );
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if( $area == "template" ) {
|
||||
|
||||
$added_time = time() + ($config['date_adjust'] * 60);
|
||||
$inserts = FOLDER_PREFIX . "/" . $file_prefix . $image_name;
|
||||
$db->query( "INSERT INTO " . PREFIX . "_static_files (static_id, author, date, name) values ('$news_id', '{$author}', '$added_time', '$inserts')" );
|
||||
|
||||
}
|
||||
|
||||
include_once SYSTEM_DIR . '/classes/thumb.class.php';
|
||||
|
||||
$thumb = new thumbnail( $upload_path . $file_prefix . $image_name );
|
||||
|
||||
if( $_POST['make_thumb'] ) {
|
||||
|
||||
if( $thumb->size_auto( $config['max_image'], $_POST['t_seite'] ) ) {
|
||||
|
||||
$thumb->jpeg_quality( $config['jpeg_quality'] );
|
||||
|
||||
if( $config['allow_watermark'] == "yes" ) $thumb->insert_watermark( $config['max_watermark'] );
|
||||
|
||||
$thumb->save( $upload_path . "thumbs/" . $file_prefix . $image_name );
|
||||
|
||||
@chmod( $upload_path . "thumbs/" . $file_prefix . $image_name, 0666 );
|
||||
}
|
||||
}
|
||||
|
||||
if( $config['allow_watermark'] == "yes" or $config['max_up_side'] ) {
|
||||
|
||||
$thumb = new thumbnail( $upload_path . $file_prefix . $image_name );
|
||||
$thumb->jpeg_quality( $config['jpeg_quality'] );
|
||||
|
||||
if( $config['max_up_side'] ) $thumb->size_auto( $config['max_up_side'] );
|
||||
|
||||
if( $config['allow_watermark'] == "yes" ) $thumb->insert_watermark( $config['max_watermark'] );
|
||||
|
||||
$thumb->save( $upload_path . $file_prefix . $image_name );
|
||||
}
|
||||
|
||||
$db->close();
|
||||
echo ("Ok");
|
||||
|
||||
} else {
|
||||
|
||||
msg_error( "Upload Error", 403 );
|
||||
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
msg_error( "Not Allowed Type", 403 );
|
||||
}
|
||||
|
||||
?>
|
32
system/ajax/voted.php
Normal file
32
system/ajax/voted.php
Normal file
@ -0,0 +1,32 @@
|
||||
<?php
|
||||
@session_start();
|
||||
@error_reporting(7);
|
||||
@ini_set('display_errors', true);
|
||||
@ini_set('html_errors', false);
|
||||
|
||||
define('DATALIFEENGINE', true);
|
||||
define( 'ROOT_DIR', substr( dirname( __FILE__ ), 0, -12 ) );
|
||||
define( 'SYSTEM_DIR', ROOT_DIR . '/system' );
|
||||
|
||||
include SYSTEM_DIR . '/data/config.php';
|
||||
|
||||
require_once SYSTEM_DIR.'/classes/mysql.php';
|
||||
require_once SYSTEM_DIR.'/data/dbconfig.php';
|
||||
require_once SYSTEM_DIR . '/modules/functions.php';
|
||||
|
||||
$id = intval( $_REQUEST['id'] );
|
||||
if( ! $id ) die( "error" );
|
||||
|
||||
$result = $db->query("SELECT * FROM `". PREFIX ."_rate` WHERE `type_id` = '$id' AND type = 1 ORDER BY `id`");
|
||||
$list ="<table width=\"100%\" cellspacing=\"0\" cellpadding=\"0\" border=\"0\" class=\"userstop\">";
|
||||
$list .="<thead><td>User</td><td align=\"center\">#</td></thead>";
|
||||
while ($row = $db->get_row($result))
|
||||
{
|
||||
$list .="<tr><td><a href=".$config['http_home_url']."user/".urlencode($row['member'])." target=_blank/>".$row['member']."</a></td><td>".$row['rating']."</td></tr>";
|
||||
}
|
||||
$list .="</table>";
|
||||
$db->free();
|
||||
|
||||
@header( "Content-type: text/html; charset=" . $config['charset'] );
|
||||
echo "<div id='voted-list' title='Ñòàòèñòèêà ãîëîñîâàíèÿ' style='display:none'>$list</div>";
|
||||
?>
|
800
system/classes/JSON.php
Normal file
800
system/classes/JSON.php
Normal file
@ -0,0 +1,800 @@
|
||||
<?php
|
||||
/* vim: set expandtab tabstop=4 shiftwidth=4 softtabstop=4: */
|
||||
|
||||
/**
|
||||
* Converts to and from JSON format.
|
||||
*
|
||||
* JSON (JavaScript Object Notation) is a lightweight data-interchange
|
||||
* format. It is easy for humans to read and write. It is easy for machines
|
||||
* to parse and generate. It is based on a subset of the JavaScript
|
||||
* Programming Language, Standard ECMA-262 3rd Edition - December 1999.
|
||||
* This feature can also be found in Python. JSON is a text format that is
|
||||
* completely language independent but uses conventions that are familiar
|
||||
* to programmers of the C-family of languages, including C, C++, C#, Java,
|
||||
* JavaScript, Perl, TCL, and many others. These properties make JSON an
|
||||
* ideal data-interchange language.
|
||||
*
|
||||
* This package provides a simple encoder and decoder for JSON notation. It
|
||||
* is intended for use with client-side Javascript applications that make
|
||||
* use of HTTPRequest to perform server communication functions - data can
|
||||
* be encoded into JSON notation for use in a client-side javascript, or
|
||||
* decoded from incoming Javascript requests. JSON format is native to
|
||||
* Javascript, and can be directly eval()'ed with no further parsing
|
||||
* overhead
|
||||
*
|
||||
* All strings should be in ASCII or UTF-8 format!
|
||||
*
|
||||
* LICENSE: Redistribution and use in source and binary forms, with or
|
||||
* without modification, are permitted provided that the following
|
||||
* conditions are met: Redistributions of source code must retain the
|
||||
* above copyright notice, this list of conditions and the following
|
||||
* disclaimer. Redistributions in binary form must reproduce the above
|
||||
* copyright notice, this list of conditions and the following disclaimer
|
||||
* in the documentation and/or other materials provided with the
|
||||
* distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED ``AS IS'' AND ANY EXPRESS OR IMPLIED
|
||||
* WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
|
||||
* MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN
|
||||
* NO EVENT SHALL CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
|
||||
* INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
|
||||
* BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS
|
||||
* OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR
|
||||
* TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE
|
||||
* USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH
|
||||
* DAMAGE.
|
||||
*
|
||||
* @category
|
||||
* @package Services_JSON
|
||||
* @author Michal Migurski <mike-json@teczno.com>
|
||||
* @author Matt Knapp <mdknapp[at]gmail[dot]com>
|
||||
* @author Brett Stimmerman <brettstimmerman[at]gmail[dot]com>
|
||||
* @copyright 2005 Michal Migurski
|
||||
* @version CVS: $Id: JSON.php,v 1.31 2006/06/28 05:54:17 migurski Exp $
|
||||
* @license http://www.opensource.org/licenses/bsd-license.php
|
||||
* @link http://pear.php.net/pepr/pepr-proposal-show.php?id=198
|
||||
*/
|
||||
|
||||
/**
|
||||
* Marker constant for Services_JSON::decode(), used to flag stack state
|
||||
*/
|
||||
define('SERVICES_JSON_SLICE', 1);
|
||||
|
||||
/**
|
||||
* Marker constant for Services_JSON::decode(), used to flag stack state
|
||||
*/
|
||||
define('SERVICES_JSON_IN_STR', 2);
|
||||
|
||||
/**
|
||||
* Marker constant for Services_JSON::decode(), used to flag stack state
|
||||
*/
|
||||
define('SERVICES_JSON_IN_ARR', 3);
|
||||
|
||||
/**
|
||||
* Marker constant for Services_JSON::decode(), used to flag stack state
|
||||
*/
|
||||
define('SERVICES_JSON_IN_OBJ', 4);
|
||||
|
||||
/**
|
||||
* Marker constant for Services_JSON::decode(), used to flag stack state
|
||||
*/
|
||||
define('SERVICES_JSON_IN_CMT', 5);
|
||||
|
||||
/**
|
||||
* Behavior switch for Services_JSON::decode()
|
||||
*/
|
||||
define('SERVICES_JSON_LOOSE_TYPE', 16);
|
||||
|
||||
/**
|
||||
* Behavior switch for Services_JSON::decode()
|
||||
*/
|
||||
define('SERVICES_JSON_SUPPRESS_ERRORS', 32);
|
||||
|
||||
/**
|
||||
* Converts to and from JSON format.
|
||||
*
|
||||
* Brief example of use:
|
||||
*
|
||||
* <code>
|
||||
* // create a new instance of Services_JSON
|
||||
* $json = new Services_JSON();
|
||||
*
|
||||
* // convert a complexe value to JSON notation, and send it to the browser
|
||||
* $value = array('foo', 'bar', array(1, 2, 'baz'), array(3, array(4)));
|
||||
* $output = $json->encode($value);
|
||||
*
|
||||
* print($output);
|
||||
* // prints: ["foo","bar",[1,2,"baz"],[3,[4]]]
|
||||
*
|
||||
* // accept incoming POST data, assumed to be in JSON notation
|
||||
* $input = file_get_contents('php://input', 1000000);
|
||||
* $value = $json->decode($input);
|
||||
* </code>
|
||||
*/
|
||||
class Services_JSON
|
||||
{
|
||||
/**
|
||||
* constructs a new JSON instance
|
||||
*
|
||||
* @param int $use object behavior flags; combine with boolean-OR
|
||||
*
|
||||
* possible values:
|
||||
* - SERVICES_JSON_LOOSE_TYPE: loose typing.
|
||||
* "{...}" syntax creates associative arrays
|
||||
* instead of objects in decode().
|
||||
* - SERVICES_JSON_SUPPRESS_ERRORS: error suppression.
|
||||
* Values which can't be encoded (e.g. resources)
|
||||
* appear as NULL instead of throwing errors.
|
||||
* By default, a deeply-nested resource will
|
||||
* bubble up with an error, so all return values
|
||||
* from encode() should be checked with isError()
|
||||
*/
|
||||
function Services_JSON($use = 0)
|
||||
{
|
||||
$this->use = $use;
|
||||
}
|
||||
|
||||
/**
|
||||
* convert a string from one UTF-16 char to one UTF-8 char
|
||||
*
|
||||
* Normally should be handled by mb_convert_encoding, but
|
||||
* provides a slower PHP-only method for installations
|
||||
* that lack the multibye string extension.
|
||||
*
|
||||
* @param string $utf16 UTF-16 character
|
||||
* @return string UTF-8 character
|
||||
* @access private
|
||||
*/
|
||||
function utf162utf8($utf16)
|
||||
{
|
||||
// oh please oh please oh please oh please oh please
|
||||
if(function_exists('mb_convert_encoding')) {
|
||||
return mb_convert_encoding($utf16, 'UTF-8', 'UTF-16');
|
||||
}
|
||||
|
||||
$bytes = (ord($utf16{0}) << 8) | ord($utf16{1});
|
||||
|
||||
switch(true) {
|
||||
case ((0x7F & $bytes) == $bytes):
|
||||
// this case should never be reached, because we are in ASCII range
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr(0x7F & $bytes);
|
||||
|
||||
case (0x07FF & $bytes) == $bytes:
|
||||
// return a 2-byte UTF-8 character
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr(0xC0 | (($bytes >> 6) & 0x1F))
|
||||
. chr(0x80 | ($bytes & 0x3F));
|
||||
|
||||
case (0xFFFF & $bytes) == $bytes:
|
||||
// return a 3-byte UTF-8 character
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr(0xE0 | (($bytes >> 12) & 0x0F))
|
||||
. chr(0x80 | (($bytes >> 6) & 0x3F))
|
||||
. chr(0x80 | ($bytes & 0x3F));
|
||||
}
|
||||
|
||||
// ignoring UTF-32 for now, sorry
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* convert a string from one UTF-8 char to one UTF-16 char
|
||||
*
|
||||
* Normally should be handled by mb_convert_encoding, but
|
||||
* provides a slower PHP-only method for installations
|
||||
* that lack the multibye string extension.
|
||||
*
|
||||
* @param string $utf8 UTF-8 character
|
||||
* @return string UTF-16 character
|
||||
* @access private
|
||||
*/
|
||||
function utf82utf16($utf8)
|
||||
{
|
||||
// oh please oh please oh please oh please oh please
|
||||
if(function_exists('mb_convert_encoding')) {
|
||||
return mb_convert_encoding($utf8, 'UTF-16', 'UTF-8');
|
||||
}
|
||||
|
||||
switch(strlen($utf8)) {
|
||||
case 1:
|
||||
// this case should never be reached, because we are in ASCII range
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return $utf8;
|
||||
|
||||
case 2:
|
||||
// return a UTF-16 character from a 2-byte UTF-8 char
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr(0x07 & (ord($utf8{0}) >> 2))
|
||||
. chr((0xC0 & (ord($utf8{0}) << 6))
|
||||
| (0x3F & ord($utf8{1})));
|
||||
|
||||
case 3:
|
||||
// return a UTF-16 character from a 3-byte UTF-8 char
|
||||
// see: http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
return chr((0xF0 & (ord($utf8{0}) << 4))
|
||||
| (0x0F & (ord($utf8{1}) >> 2)))
|
||||
. chr((0xC0 & (ord($utf8{1}) << 6))
|
||||
| (0x7F & ord($utf8{2})));
|
||||
}
|
||||
|
||||
// ignoring UTF-32 for now, sorry
|
||||
return '';
|
||||
}
|
||||
|
||||
/**
|
||||
* encodes an arbitrary variable into JSON format
|
||||
*
|
||||
* @param mixed $var any number, boolean, string, array, or object to be encoded.
|
||||
* see argument 1 to Services_JSON() above for array-parsing behavior.
|
||||
* if var is a strng, note that encode() always expects it
|
||||
* to be in ASCII or UTF-8 format!
|
||||
*
|
||||
* @return mixed JSON string representation of input var or an error if a problem occurs
|
||||
* @access public
|
||||
*/
|
||||
function encode($var)
|
||||
{
|
||||
switch (gettype($var)) {
|
||||
case 'boolean':
|
||||
return $var ? 'true' : 'false';
|
||||
|
||||
case 'NULL':
|
||||
return 'null';
|
||||
|
||||
case 'integer':
|
||||
return (int) $var;
|
||||
|
||||
case 'double':
|
||||
case 'float':
|
||||
return (float) $var;
|
||||
|
||||
case 'string':
|
||||
// STRINGS ARE EXPECTED TO BE IN ASCII OR UTF-8 FORMAT
|
||||
$ascii = '';
|
||||
$strlen_var = strlen($var);
|
||||
|
||||
/*
|
||||
* Iterate over every character in the string,
|
||||
* escaping with a slash or encoding to UTF-8 where necessary
|
||||
*/
|
||||
for ($c = 0; $c < $strlen_var; ++$c) {
|
||||
|
||||
$ord_var_c = ord($var{$c});
|
||||
|
||||
switch (true) {
|
||||
case $ord_var_c == 0x08:
|
||||
$ascii .= '\b';
|
||||
break;
|
||||
case $ord_var_c == 0x09:
|
||||
$ascii .= '\t';
|
||||
break;
|
||||
case $ord_var_c == 0x0A:
|
||||
$ascii .= '\n';
|
||||
break;
|
||||
case $ord_var_c == 0x0C:
|
||||
$ascii .= '\f';
|
||||
break;
|
||||
case $ord_var_c == 0x0D:
|
||||
$ascii .= '\r';
|
||||
break;
|
||||
|
||||
case $ord_var_c == 0x22:
|
||||
case $ord_var_c == 0x2F:
|
||||
case $ord_var_c == 0x5C:
|
||||
// double quote, slash, slosh
|
||||
$ascii .= '\\'.$var{$c};
|
||||
break;
|
||||
|
||||
case (($ord_var_c >= 0x20) && ($ord_var_c <= 0x7F)):
|
||||
// characters U-00000000 - U-0000007F (same as ASCII)
|
||||
$ascii .= $var{$c};
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xE0) == 0xC0):
|
||||
// characters U-00000080 - U-000007FF, mask 110XXXXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c, ord($var{$c + 1}));
|
||||
$c += 1;
|
||||
$utf16 = $this->utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xF0) == 0xE0):
|
||||
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}));
|
||||
$c += 2;
|
||||
$utf16 = $this->utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xF8) == 0xF0):
|
||||
// characters U-00010000 - U-001FFFFF, mask 11110XXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}));
|
||||
$c += 3;
|
||||
$utf16 = $this->utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xFC) == 0xF8):
|
||||
// characters U-00200000 - U-03FFFFFF, mask 111110XX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}),
|
||||
ord($var{$c + 4}));
|
||||
$c += 4;
|
||||
$utf16 = $this->utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
|
||||
case (($ord_var_c & 0xFE) == 0xFC):
|
||||
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$char = pack('C*', $ord_var_c,
|
||||
ord($var{$c + 1}),
|
||||
ord($var{$c + 2}),
|
||||
ord($var{$c + 3}),
|
||||
ord($var{$c + 4}),
|
||||
ord($var{$c + 5}));
|
||||
$c += 5;
|
||||
$utf16 = $this->utf82utf16($char);
|
||||
$ascii .= sprintf('\u%04s', bin2hex($utf16));
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
return '"'.$ascii.'"';
|
||||
|
||||
case 'array':
|
||||
/*
|
||||
* As per JSON spec if any array key is not an integer
|
||||
* we must treat the the whole array as an object. We
|
||||
* also try to catch a sparsely populated associative
|
||||
* array with numeric keys here because some JS engines
|
||||
* will create an array with empty indexes up to
|
||||
* max_index which can cause memory issues and because
|
||||
* the keys, which may be relevant, will be remapped
|
||||
* otherwise.
|
||||
*
|
||||
* As per the ECMA and JSON specification an object may
|
||||
* have any string as a property. Unfortunately due to
|
||||
* a hole in the ECMA specification if the key is a
|
||||
* ECMA reserved word or starts with a digit the
|
||||
* parameter is only accessible using ECMAScript's
|
||||
* bracket notation.
|
||||
*/
|
||||
|
||||
// treat as a JSON object
|
||||
if (is_array($var) && count($var) && (array_keys($var) !== range(0, sizeof($var) - 1))) {
|
||||
$properties = array_map(array($this, 'name_value'),
|
||||
array_keys($var),
|
||||
array_values($var));
|
||||
|
||||
foreach($properties as $property) {
|
||||
if(Services_JSON::isError($property)) {
|
||||
return $property;
|
||||
}
|
||||
}
|
||||
|
||||
return '{' . join(',', $properties) . '}';
|
||||
}
|
||||
|
||||
// treat it like a regular array
|
||||
$elements = array_map(array($this, 'encode'), $var);
|
||||
|
||||
foreach($elements as $element) {
|
||||
if(Services_JSON::isError($element)) {
|
||||
return $element;
|
||||
}
|
||||
}
|
||||
|
||||
return '[' . join(',', $elements) . ']';
|
||||
|
||||
case 'object':
|
||||
$vars = get_object_vars($var);
|
||||
|
||||
$properties = array_map(array($this, 'name_value'),
|
||||
array_keys($vars),
|
||||
array_values($vars));
|
||||
|
||||
foreach($properties as $property) {
|
||||
if(Services_JSON::isError($property)) {
|
||||
return $property;
|
||||
}
|
||||
}
|
||||
|
||||
return '{' . join(',', $properties) . '}';
|
||||
|
||||
default:
|
||||
return ($this->use & SERVICES_JSON_SUPPRESS_ERRORS)
|
||||
? 'null'
|
||||
: new Services_JSON_Error(gettype($var)." can not be encoded as JSON string");
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
* array-walking function for use in generating JSON-formatted name-value pairs
|
||||
*
|
||||
* @param string $name name of key to use
|
||||
* @param mixed $value reference to an array element to be encoded
|
||||
*
|
||||
* @return string JSON-formatted name-value pair, like '"name":value'
|
||||
* @access private
|
||||
*/
|
||||
function name_value($name, $value)
|
||||
{
|
||||
$encoded_value = $this->encode($value);
|
||||
|
||||
if(Services_JSON::isError($encoded_value)) {
|
||||
return $encoded_value;
|
||||
}
|
||||
|
||||
return $this->encode(strval($name)) . ':' . $encoded_value;
|
||||
}
|
||||
|
||||
/**
|
||||
* reduce a string by removing leading and trailing comments and whitespace
|
||||
*
|
||||
* @param $str string string value to strip of comments and whitespace
|
||||
*
|
||||
* @return string string value stripped of comments and whitespace
|
||||
* @access private
|
||||
*/
|
||||
function reduce_string($str)
|
||||
{
|
||||
$str = preg_replace(array(
|
||||
|
||||
// eliminate single line comments in '// ...' form
|
||||
'#^\s*//(.+)$#m',
|
||||
|
||||
// eliminate multi-line comments in '/* ... */' form, at start of string
|
||||
'#^\s*/\*(.+)\*/#Us',
|
||||
|
||||
// eliminate multi-line comments in '/* ... */' form, at end of string
|
||||
'#/\*(.+)\*/\s*$#Us'
|
||||
|
||||
), '', $str);
|
||||
|
||||
// eliminate extraneous space
|
||||
return trim($str);
|
||||
}
|
||||
|
||||
/**
|
||||
* decodes a JSON string into appropriate variable
|
||||
*
|
||||
* @param string $str JSON-formatted string
|
||||
*
|
||||
* @return mixed number, boolean, string, array, or object
|
||||
* corresponding to given JSON input string.
|
||||
* See argument 1 to Services_JSON() above for object-output behavior.
|
||||
* Note that decode() always returns strings
|
||||
* in ASCII or UTF-8 format!
|
||||
* @access public
|
||||
*/
|
||||
function decode($str)
|
||||
{
|
||||
$str = $this->reduce_string($str);
|
||||
|
||||
switch (strtolower($str)) {
|
||||
case 'true':
|
||||
return true;
|
||||
|
||||
case 'false':
|
||||
return false;
|
||||
|
||||
case 'null':
|
||||
return null;
|
||||
|
||||
default:
|
||||
$m = array();
|
||||
|
||||
if (is_numeric($str)) {
|
||||
// Lookie-loo, it's a number
|
||||
|
||||
// This would work on its own, but I'm trying to be
|
||||
// good about returning integers where appropriate:
|
||||
// return (float)$str;
|
||||
|
||||
// Return float or int, as appropriate
|
||||
return ((float)$str == (integer)$str)
|
||||
? (integer)$str
|
||||
: (float)$str;
|
||||
|
||||
} elseif (preg_match('/^("|\').*(\1)$/s', $str, $m) && $m[1] == $m[2]) {
|
||||
// STRINGS RETURNED IN UTF-8 FORMAT
|
||||
$delim = substr($str, 0, 1);
|
||||
$chrs = substr($str, 1, -1);
|
||||
$utf8 = '';
|
||||
$strlen_chrs = strlen($chrs);
|
||||
|
||||
for ($c = 0; $c < $strlen_chrs; ++$c) {
|
||||
|
||||
$substr_chrs_c_2 = substr($chrs, $c, 2);
|
||||
$ord_chrs_c = ord($chrs{$c});
|
||||
|
||||
switch (true) {
|
||||
case $substr_chrs_c_2 == '\b':
|
||||
$utf8 .= chr(0x08);
|
||||
++$c;
|
||||
break;
|
||||
case $substr_chrs_c_2 == '\t':
|
||||
$utf8 .= chr(0x09);
|
||||
++$c;
|
||||
break;
|
||||
case $substr_chrs_c_2 == '\n':
|
||||
$utf8 .= chr(0x0A);
|
||||
++$c;
|
||||
break;
|
||||
case $substr_chrs_c_2 == '\f':
|
||||
$utf8 .= chr(0x0C);
|
||||
++$c;
|
||||
break;
|
||||
case $substr_chrs_c_2 == '\r':
|
||||
$utf8 .= chr(0x0D);
|
||||
++$c;
|
||||
break;
|
||||
|
||||
case $substr_chrs_c_2 == '\\"':
|
||||
case $substr_chrs_c_2 == '\\\'':
|
||||
case $substr_chrs_c_2 == '\\\\':
|
||||
case $substr_chrs_c_2 == '\\/':
|
||||
if (($delim == '"' && $substr_chrs_c_2 != '\\\'') ||
|
||||
($delim == "'" && $substr_chrs_c_2 != '\\"')) {
|
||||
$utf8 .= $chrs{++$c};
|
||||
}
|
||||
break;
|
||||
|
||||
case preg_match('/\\\u[0-9A-F]{4}/i', substr($chrs, $c, 6)):
|
||||
// single, escaped unicode character
|
||||
$utf16 = chr(hexdec(substr($chrs, ($c + 2), 2)))
|
||||
. chr(hexdec(substr($chrs, ($c + 4), 2)));
|
||||
$utf8 .= $this->utf162utf8($utf16);
|
||||
$c += 5;
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c >= 0x20) && ($ord_chrs_c <= 0x7F):
|
||||
$utf8 .= $chrs{$c};
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c & 0xE0) == 0xC0:
|
||||
// characters U-00000080 - U-000007FF, mask 110XXXXX
|
||||
//see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$utf8 .= substr($chrs, $c, 2);
|
||||
++$c;
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c & 0xF0) == 0xE0:
|
||||
// characters U-00000800 - U-0000FFFF, mask 1110XXXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$utf8 .= substr($chrs, $c, 3);
|
||||
$c += 2;
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c & 0xF8) == 0xF0:
|
||||
// characters U-00010000 - U-001FFFFF, mask 11110XXX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$utf8 .= substr($chrs, $c, 4);
|
||||
$c += 3;
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c & 0xFC) == 0xF8:
|
||||
// characters U-00200000 - U-03FFFFFF, mask 111110XX
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$utf8 .= substr($chrs, $c, 5);
|
||||
$c += 4;
|
||||
break;
|
||||
|
||||
case ($ord_chrs_c & 0xFE) == 0xFC:
|
||||
// characters U-04000000 - U-7FFFFFFF, mask 1111110X
|
||||
// see http://www.cl.cam.ac.uk/~mgk25/unicode.html#utf-8
|
||||
$utf8 .= substr($chrs, $c, 6);
|
||||
$c += 5;
|
||||
break;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
return $utf8;
|
||||
|
||||
} elseif (preg_match('/^\[.*\]$/s', $str) || preg_match('/^\{.*\}$/s', $str)) {
|
||||
// array, or object notation
|
||||
|
||||
if ($str{0} == '[') {
|
||||
$stk = array(SERVICES_JSON_IN_ARR);
|
||||
$arr = array();
|
||||
} else {
|
||||
if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
|
||||
$stk = array(SERVICES_JSON_IN_OBJ);
|
||||
$obj = array();
|
||||
} else {
|
||||
$stk = array(SERVICES_JSON_IN_OBJ);
|
||||
$obj = new stdClass();
|
||||
}
|
||||
}
|
||||
|
||||
array_push($stk, array('what' => SERVICES_JSON_SLICE,
|
||||
'where' => 0,
|
||||
'delim' => false));
|
||||
|
||||
$chrs = substr($str, 1, -1);
|
||||
$chrs = $this->reduce_string($chrs);
|
||||
|
||||
if ($chrs == '') {
|
||||
if (reset($stk) == SERVICES_JSON_IN_ARR) {
|
||||
return $arr;
|
||||
|
||||
} else {
|
||||
return $obj;
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
//print("\nparsing {$chrs}\n");
|
||||
|
||||
$strlen_chrs = strlen($chrs);
|
||||
|
||||
for ($c = 0; $c <= $strlen_chrs; ++$c) {
|
||||
|
||||
$top = end($stk);
|
||||
$substr_chrs_c_2 = substr($chrs, $c, 2);
|
||||
|
||||
if (($c == $strlen_chrs) || (($chrs{$c} == ',') && ($top['what'] == SERVICES_JSON_SLICE))) {
|
||||
// found a comma that is not inside a string, array, etc.,
|
||||
// OR we've reached the end of the character list
|
||||
$slice = substr($chrs, $top['where'], ($c - $top['where']));
|
||||
array_push($stk, array('what' => SERVICES_JSON_SLICE, 'where' => ($c + 1), 'delim' => false));
|
||||
//print("Found split at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
|
||||
|
||||
if (reset($stk) == SERVICES_JSON_IN_ARR) {
|
||||
// we are in an array, so just push an element onto the stack
|
||||
array_push($arr, $this->decode($slice));
|
||||
|
||||
} elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
|
||||
// we are in an object, so figure
|
||||
// out the property name and set an
|
||||
// element in an associative array,
|
||||
// for now
|
||||
$parts = array();
|
||||
|
||||
if (preg_match('/^\s*(["\'].*[^\\\]["\'])\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
|
||||
// "name":value pair
|
||||
$key = $this->decode($parts[1]);
|
||||
$val = $this->decode($parts[2]);
|
||||
|
||||
if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
|
||||
$obj[$key] = $val;
|
||||
} else {
|
||||
$obj->$key = $val;
|
||||
}
|
||||
} elseif (preg_match('/^\s*(\w+)\s*:\s*(\S.*),?$/Uis', $slice, $parts)) {
|
||||
// name:value pair, where name is unquoted
|
||||
$key = $parts[1];
|
||||
$val = $this->decode($parts[2]);
|
||||
|
||||
if ($this->use & SERVICES_JSON_LOOSE_TYPE) {
|
||||
$obj[$key] = $val;
|
||||
} else {
|
||||
$obj->$key = $val;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
} elseif ((($chrs{$c} == '"') || ($chrs{$c} == "'")) && ($top['what'] != SERVICES_JSON_IN_STR)) {
|
||||
// found a quote, and we are not inside a string
|
||||
array_push($stk, array('what' => SERVICES_JSON_IN_STR, 'where' => $c, 'delim' => $chrs{$c}));
|
||||
//print("Found start of string at {$c}\n");
|
||||
|
||||
} elseif (($chrs{$c} == $top['delim']) &&
|
||||
($top['what'] == SERVICES_JSON_IN_STR) &&
|
||||
((strlen(substr($chrs, 0, $c)) - strlen(rtrim(substr($chrs, 0, $c), '\\'))) % 2 != 1)) {
|
||||
// found a quote, we're in a string, and it's not escaped
|
||||
// we know that it's not escaped becase there is _not_ an
|
||||
// odd number of backslashes at the end of the string so far
|
||||
array_pop($stk);
|
||||
//print("Found end of string at {$c}: ".substr($chrs, $top['where'], (1 + 1 + $c - $top['where']))."\n");
|
||||
|
||||
} elseif (($chrs{$c} == '[') &&
|
||||
in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
|
||||
// found a left-bracket, and we are in an array, object, or slice
|
||||
array_push($stk, array('what' => SERVICES_JSON_IN_ARR, 'where' => $c, 'delim' => false));
|
||||
//print("Found start of array at {$c}\n");
|
||||
|
||||
} elseif (($chrs{$c} == ']') && ($top['what'] == SERVICES_JSON_IN_ARR)) {
|
||||
// found a right-bracket, and we're in an array
|
||||
array_pop($stk);
|
||||
//print("Found end of array at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
|
||||
|
||||
} elseif (($chrs{$c} == '{') &&
|
||||
in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
|
||||
// found a left-brace, and we are in an array, object, or slice
|
||||
array_push($stk, array('what' => SERVICES_JSON_IN_OBJ, 'where' => $c, 'delim' => false));
|
||||
//print("Found start of object at {$c}\n");
|
||||
|
||||
} elseif (($chrs{$c} == '}') && ($top['what'] == SERVICES_JSON_IN_OBJ)) {
|
||||
// found a right-brace, and we're in an object
|
||||
array_pop($stk);
|
||||
//print("Found end of object at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
|
||||
|
||||
} elseif (($substr_chrs_c_2 == '/*') &&
|
||||
in_array($top['what'], array(SERVICES_JSON_SLICE, SERVICES_JSON_IN_ARR, SERVICES_JSON_IN_OBJ))) {
|
||||
// found a comment start, and we are in an array, object, or slice
|
||||
array_push($stk, array('what' => SERVICES_JSON_IN_CMT, 'where' => $c, 'delim' => false));
|
||||
$c++;
|
||||
//print("Found start of comment at {$c}\n");
|
||||
|
||||
} elseif (($substr_chrs_c_2 == '*/') && ($top['what'] == SERVICES_JSON_IN_CMT)) {
|
||||
// found a comment end, and we're in one now
|
||||
array_pop($stk);
|
||||
$c++;
|
||||
|
||||
for ($i = $top['where']; $i <= $c; ++$i)
|
||||
$chrs = substr_replace($chrs, ' ', $i, 1);
|
||||
|
||||
//print("Found end of comment at {$c}: ".substr($chrs, $top['where'], (1 + $c - $top['where']))."\n");
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
if (reset($stk) == SERVICES_JSON_IN_ARR) {
|
||||
return $arr;
|
||||
|
||||
} elseif (reset($stk) == SERVICES_JSON_IN_OBJ) {
|
||||
return $obj;
|
||||
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function isError($data, $code = null)
|
||||
{
|
||||
if (class_exists('pear')) {
|
||||
return PEAR::isError($data, $code);
|
||||
} elseif (is_object($data) && (get_class($data) == 'services_json_error' ||
|
||||
is_subclass_of($data, 'services_json_error'))) {
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
if (class_exists('PEAR_Error')) {
|
||||
|
||||
class Services_JSON_Error extends PEAR_Error
|
||||
{
|
||||
function Services_JSON_Error($message = 'unknown error', $code = null,
|
||||
$mode = null, $options = null, $userinfo = null)
|
||||
{
|
||||
parent::PEAR_Error($message, $code, $mode, $options, $userinfo);
|
||||
}
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
class Services_JSON_Error
|
||||
{
|
||||
function Services_JSON_Error($message = 'unknown error', $code = null,
|
||||
$mode = null, $options = null, $userinfo = null)
|
||||
{
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
147
system/classes/cache.class.php
Normal file
147
system/classes/cache.class.php
Normal file
@ -0,0 +1,147 @@
|
||||
<?php
|
||||
if(!defined('DATALIFEENGINE')){die("Hacking attempt!");}
|
||||
|
||||
class cache{
|
||||
var $dir = false;
|
||||
var $allow_cache = false;
|
||||
var $memcache = false;
|
||||
|
||||
private $mcache;
|
||||
private $memcache_host = '127.0.0.1';
|
||||
private $memcache_port = 11211;
|
||||
|
||||
var $timelife = 3600;
|
||||
|
||||
function __construct($dir) {
|
||||
global $config;
|
||||
|
||||
$this->dir = $dir;
|
||||
if( $config['allow_cache'] = "yes" ) $this->allow_cache = true;
|
||||
if( $config['cache_type']) $this->memcache = true;
|
||||
|
||||
if( $this->memcache AND function_exists('memcache_connect') ) $this->mcache = memcache_connect($this->memcache_host, $this->memcache_port);
|
||||
if( $this->memcache AND function_exists('memcache_set_compress_threshold') ){memcache_set_compress_threshold( $this->mcache, 20000, 0.2 );}
|
||||
}
|
||||
|
||||
function off(){
|
||||
$this->allow_cache = false;
|
||||
}
|
||||
|
||||
function set($file, $data){
|
||||
$fp = fopen( $this->dir.'/system/' . $file . '.php', 'wb+' );
|
||||
if (!$data) $data = 'a:0:{}';
|
||||
fwrite( $fp, serialize( $data ) );
|
||||
fclose( $fp );
|
||||
@chmod( $this->dir.'/system/' . $file . '.php', 0666 );
|
||||
}
|
||||
|
||||
function get($file){
|
||||
return unserialize( @file_get_contents( $this->dir.'/system/' . $file . '.php' ) );
|
||||
}
|
||||
|
||||
function delete($cache_area = false){
|
||||
$fdir = opendir($this->dir.'/system/');
|
||||
while ($file = readdir($fdir)){
|
||||
if ($file != '.' and $file != '..' and $file != '.htaccess' and $file != 'online.php'){
|
||||
if ($cache_area){
|
||||
if (strpos($file, $cache_area) !== false) @unlink($this->dir.'/system/'.$file);
|
||||
}else{
|
||||
@unlink($this->dir.'/system/'.$file);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function filename($name){
|
||||
if(!$this->memcache) return $this->dir.'/'.$name.'.tmp';
|
||||
else return md5($name);
|
||||
}
|
||||
|
||||
function open($name, $cache_id = false, $member_prefix = false){
|
||||
global $is_logged, $member_id;
|
||||
if(!$this->allow_cache) return false;
|
||||
|
||||
if( $is_logged ) $group = $member_id['user_group']; else $group = "0";
|
||||
|
||||
if( !$cache_id ){ $filename = $this->filename($name);
|
||||
} else {
|
||||
$cache_id = md5( $cache_id );
|
||||
if( $member_prefix ) $filename = $this->filename($name . "_" . $cache_id . "_" . $group); else $filename = $this->filename($name . "_" . $cache_id);
|
||||
}
|
||||
|
||||
if($this->memcache){
|
||||
return memcache_get($this->mcache, $filename);
|
||||
} else {
|
||||
if(file_exists($filename) && is_readable($filename) && filesize($filename) > 0 && (time() - $this->timelife < filemtime($filename))) {
|
||||
return @file_get_contents( $filename );
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
function save($name, $data, $cache_id = false, $member_prefix = false){
|
||||
global $is_logged, $member_id;
|
||||
if(empty( $data ) OR !$this->allow_cache) return false;
|
||||
|
||||
if( $is_logged ) $group = $member_id['user_group']; else $group = "0";
|
||||
if( !$cache_id ){ $filename = $this->filename($name);
|
||||
} else {
|
||||
$cache_id = md5( $cache_id );
|
||||
if( $member_prefix ) $filename = $this->filename($name . "_" . $cache_id . "_" . $group); else $filename = $this->filename($name . "_" . $cache_id);
|
||||
}
|
||||
|
||||
if($this->memcache){
|
||||
memcache_set( $this->mcache, $filename, $data, MEMCACHE_COMPRESSED, $this->timelife );
|
||||
} else {
|
||||
@unlink( $filename );
|
||||
file_put_contents ($filename, $data, LOCK_EX);
|
||||
@chmod( $filename, 0666 );
|
||||
}
|
||||
}
|
||||
|
||||
function clear($cache_areas = false) {
|
||||
if ( $this->memcache ) {
|
||||
memcache_flush($this->mcache);
|
||||
} else {
|
||||
if ( $cache_areas ) {if(!is_array($cache_areas)) {$cache_areas = array($cache_areas);}}
|
||||
$fdir = opendir( $this->dir );
|
||||
while ( $file = readdir( $fdir ) ) {
|
||||
if( $file != '.' and $file != '..' and $file != '.htaccess' and $file != 'system' ) {
|
||||
if( $cache_areas ) { foreach($cache_areas as $cache_area) if( strpos( $file, $cache_area ) !== false ) @unlink( $this->dir . '/' . $file );
|
||||
} else {@unlink( $this->dir . '/' . $file );}
|
||||
}}}
|
||||
}
|
||||
|
||||
function del($file){
|
||||
if ($this->memcache){
|
||||
memcache_delete($this->mcache, $this->filename($file));
|
||||
}else{
|
||||
@unlink($this->filename($file));
|
||||
}
|
||||
}
|
||||
|
||||
function size(){
|
||||
if($this->memcache){
|
||||
$stat = memcache_get_stats($this->mcache);
|
||||
$size = $stat['bytes'];
|
||||
}else{
|
||||
$size = dirsize($this->dir);
|
||||
}
|
||||
return $size;
|
||||
}
|
||||
|
||||
public function __destruct(){
|
||||
if($this->memcache){
|
||||
if(memcache_close($this->mcache)){
|
||||
return TRUE;
|
||||
}else{
|
||||
return FALSE;
|
||||
}
|
||||
}else{
|
||||
return FALSE;
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
?>
|
211
system/classes/captcha.class.php
Normal file
211
system/classes/captcha.class.php
Normal file
@ -0,0 +1,211 @@
|
||||
<?php
|
||||
class captcha{
|
||||
var $alphabet = "0123456789"; // ÍÅ ÈÇÌÅÍßÉÒÅ, åñëè âû íå èçìåíÿëè ôàéë øðèôòîâ!
|
||||
var $fontsdir = 'fonts';
|
||||
var $width = 120;
|
||||
var $height = 50;
|
||||
var $fluctuation_amplitude = 2;
|
||||
var $no_spaces = false;
|
||||
var $jpeg_quality = 70; // ìàêñèìàëüíîå, ìîæíî ïîñòàâèòü 70-80
|
||||
var $keystring = ''; // êëþ÷åâàÿ ãåíåðèðóåìàÿ ñòðîêà
|
||||
var $allowed_symbols = "0123456789"; // èñïîëüçóåìûå öèôðû
|
||||
var $length_min = 3; // ìèíèìàëüíîå
|
||||
var $length_max = 3; // ìàêñèìàëüíîå
|
||||
var $length = 0; // äëèíà áóäåò ñãåíåðèðîâàíà
|
||||
|
||||
function genstring() {
|
||||
$length = mt_rand( $this->length_min, $this->length_max );
|
||||
$this->length = $length;
|
||||
$this->keystring = '';
|
||||
for ($i = 0; $i < $length ; $i++) {
|
||||
// â öèêëå äîáàâëÿåì ê ñòðîêå ïî 1 ñëó÷àéíîìó ñèìâîëó
|
||||
$this->keystring .= $this->allowed_symbols{ mt_rand( 0, strlen( $this->allowed_symbols ) -1 ) };
|
||||
}}
|
||||
|
||||
function genimage() {
|
||||
$foreground_color = array( 100, 130, 200 );
|
||||
$background_color = array( 255, 255, 255 );
|
||||
$fonts = array();
|
||||
$fontsdir_absolute = dirname( __FILE__ ).'/'.$this->fontsdir; // ïóòü ê ïàïêå ñ øðèôòàìè
|
||||
if ($handle = opendir( $fontsdir_absolute )) { // ñîçäàåì ìàññèâ ñ ïîëíûìè ïóòÿìè ê èçîáðàæåíèÿì ñ øðèôòàìè
|
||||
while (false !== ($file = readdir( $handle ))) {
|
||||
if (preg_match( '/\.png$/i', $file )) {
|
||||
$fonts[] = $fontsdir_absolute.'/'.$file;
|
||||
}}
|
||||
closedir( $handle );
|
||||
}
|
||||
|
||||
$alphabet_length = strlen( $this->alphabet );
|
||||
|
||||
while (true) {
|
||||
$font_file = $fonts[mt_rand( 0, count( $fonts ) - 1 )];
|
||||
$font = imagecreatefrompng( $font_file );
|
||||
$black = imagecolorallocate( $font, 0, 0, 0 );
|
||||
$fontfile_width = imagesx( $font );
|
||||
$fontfile_height = imagesy( $font ) - 1;
|
||||
$font_metrics = array();
|
||||
$symbol = 0;
|
||||
$reading_symbol = false;
|
||||
|
||||
// çàãðóçêà øðèôòà
|
||||
for ($i = 0; $i < $fontfile_width && $symbol < $alphabet_length; $i++) {
|
||||
$transparent = (imagecolorat( $font, $i, 0 ) >> 24) == 127;
|
||||
|
||||
if (!$reading_symbol && !$transparent) {
|
||||
$font_metrics[$this->alphabet{$symbol}] = array( 'start' => $i );
|
||||
$reading_symbol = true;
|
||||
continue;
|
||||
}
|
||||
|
||||
if ($reading_symbol && $transparent) {
|
||||
$font_metrics[$this->alphabet{$symbol}]['end'] = $i;
|
||||
$reading_symbol = false;
|
||||
$symbol++;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
$img = imagecreatetruecolor( $this->width, $this->height );
|
||||
|
||||
$white = imagecolorallocate( $img, 100, 130, 200 );
|
||||
$black = imagecolorallocate( $img, 100, 130, 200 );
|
||||
|
||||
imagefilledrectangle( $img, 0, 0, $this->width - 1, $this->height - 1, $white );
|
||||
|
||||
// íàíåñåíèå òåêñòà
|
||||
$x = 1;
|
||||
$shift = 0;
|
||||
|
||||
for ($i = 0; $i < $this->length; $i++) {
|
||||
$m = $font_metrics[$this->keystring{$i}];
|
||||
$y = mt_rand( -$this->fluctuation_amplitude, $this->fluctuation_amplitude ) + ($this->height - $fontfile_height) / 2 + 2;
|
||||
|
||||
if ($this->no_spaces) {
|
||||
$shift = 0;
|
||||
if ($i > 0) {
|
||||
$shift = 1000;
|
||||
for ($sy = 1; $sy < $fontfile_height - 15; $sy += 2) {
|
||||
for ($sx = $m['start'] - 1; $sx < $m['end']; $sx++) {
|
||||
$rgb = imagecolorat( $font, $sx, $sy );
|
||||
$opacity = $rgb >> 24;
|
||||
if ($opacity < 127) {
|
||||
$left = $sx - $m['start'] + $x;
|
||||
$py = $sy + $y;
|
||||
for ($px = min( $left, $this->width - 1 ); $px > $left - 20 && $px >= 0; $px--) {
|
||||
$color = imagecolorat( $img, $px, $py ) & 0xff;
|
||||
if ($color + $opacity < 190) {
|
||||
if ($shift > $left-$px) {
|
||||
$shift = $left - $px;
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
} else {$shift = 1;}
|
||||
imagecopy( $img, $font, $x - $shift, $y, $m['start'], 1, $m['end'] - $m['start'], $fontfile_height );
|
||||
$x += $m['end'] - $m['start'] - $shift;
|
||||
}
|
||||
if ($x < $this->width - 10) break; // fit in canvas
|
||||
}
|
||||
$center = $x/2;
|
||||
|
||||
$img2=imagecreatetruecolor($this->width, $this->height);
|
||||
$foreground=imagecolorallocate($img2, $foreground_color[0], $foreground_color[1], $foreground_color[2]);
|
||||
$background=imagecolorallocate($img2, $background_color[0], $background_color[1], $background_color[2]);
|
||||
imagefilledrectangle($img2, 0, $this->height, $this->width, $this->height+12, $foreground);
|
||||
|
||||
// ïåðèîäû
|
||||
$rand1 = 0;
|
||||
$rand2 = 0;
|
||||
$rand3 = 0;
|
||||
$rand4 = 0;
|
||||
// ôàçû
|
||||
$rand5 = 0;
|
||||
$rand6 = 0;
|
||||
$rand7 = 0;
|
||||
$rand8 = 0;
|
||||
// àìïëèòóäû
|
||||
$rand9 = 0;
|
||||
$rand10 = 0;
|
||||
|
||||
//âîëíîâîå èñêàæåíèå
|
||||
for ($x = 0; $x < $this->width; $x++) {
|
||||
for ($y = 0; $y < $this->height; $y++) {
|
||||
$sx = $x + (sin( $x * $rand1 + $rand5 ) + sin( $y * $rand3 + $rand6 )) * $rand9 - $this->width / 2 + $center + 1;
|
||||
$sy = $y + (sin( $x * $rand2 + $rand7 ) + sin( $y * $rand4 + $rand8 )) * $rand10;
|
||||
|
||||
if ($sx < 0 || $sy < 0 || $sx >= $this->width - 1 || $sy >= $this->height - 1) {
|
||||
$color = 200;
|
||||
$color_x = 200;
|
||||
$color_y = 200;
|
||||
$color_xy = 200;
|
||||
} else {
|
||||
$color = imagecolorat( $img, $sx, $sy ) & 0xFF;
|
||||
$color_x = imagecolorat( $img, $sx + 1, $sy ) & 0xFF;
|
||||
$color_y = imagecolorat( $img, $sx, $sy + 1 ) & 0xFF;
|
||||
$color_xy = imagecolorat( $img, $sx + 1, $sy + 1 ) & 0xFF;
|
||||
}
|
||||
|
||||
if ($color == 0 && $color_x == 0 && $color_y == 0 && $color_xy == 0) {
|
||||
$newred = $foreground_color[0];
|
||||
$newgreen = $foreground_color[1];
|
||||
$newblue = $foreground_color[2];
|
||||
} else if ($color == 255 && $color_x == 255 && $color_y == 255 && $color_xy == 255) {
|
||||
$newred = $background_color[0];
|
||||
$newgreen = $background_color[1];
|
||||
$newblue = $background_color[2];
|
||||
} else {
|
||||
$frsx = $sx - floor( $sx );
|
||||
$frsy = $sy - floor( $sy );
|
||||
$frsx1 = 1 - $frsx;
|
||||
$frsy1 = 1 - $frsy;
|
||||
$newcolor = (
|
||||
$color * $frsx1 * $frsy1 +
|
||||
$color_x * $frsx * $frsy1 +
|
||||
$color_y * $frsx1 * $frsy +
|
||||
$color_xy * $frsx * $frsy);
|
||||
|
||||
if ($newcolor > 255) $newcolor = 255;
|
||||
$newcolor = $newcolor / 255;
|
||||
$newcolor0 = 1 - $newcolor;
|
||||
|
||||
$newred = $newcolor0 * $foreground_color[0] + $newcolor * $background_color[0];
|
||||
$newgreen = $newcolor0 * $foreground_color[1] + $newcolor * $background_color[1];
|
||||
$newblue = $newcolor0 * $foreground_color[2] + $newcolor * $background_color[2];
|
||||
}
|
||||
imagesetpixel( $img2, $x, $y, imagecolorallocate( $img2, $newred, $newgreen, $newblue ) );
|
||||
}}
|
||||
|
||||
# Ðàìêà
|
||||
imageline( $img2, 0, 0, $this->width, 0, $foreground );
|
||||
imageline( $img2, 0, 0, 0, $this->height, $foreground );
|
||||
|
||||
imageline( $img2, 0, $this->height-1, $this->width, $this->height-1, $foreground );
|
||||
imageline( $img2, $this->width-1, 0, $this->width-1, $this->height, $foreground);
|
||||
|
||||
header( "Expires: Tue, 11 Jun 1985 05:00:00 GMT" );
|
||||
header( "Last-Modified: " . gmdate( "D, d M Y H:i:s" ) . " GMT" );
|
||||
header( "Cache-Control: no-store, no-cache, must-revalidate" );
|
||||
header( "Cache-Control: post-check=0, pre-check=0", false );
|
||||
header( "Pragma: no-cache" );
|
||||
|
||||
if (function_exists ('imagepng')) {
|
||||
header ('Content-type: image/png');
|
||||
imagepng ($img2, null);
|
||||
} elseif (function_exists ('imagegif')) {
|
||||
header ('Content-type: image/gif');
|
||||
imagegif ($img2, null);
|
||||
} elseif (function_exists('imagejpeg')) {
|
||||
header( "Content-Type: image/jpeg" );
|
||||
imagejpeg($img2, null, $this->jpeg_quality);
|
||||
}
|
||||
|
||||
imagedestroy($img2);
|
||||
|
||||
}
|
||||
}
|
||||
?>
|
277
system/classes/comments.class.php
Normal file
277
system/classes/comments.class.php
Normal file
@ -0,0 +1,277 @@
|
||||
<?php
|
||||
if( ! defined( 'DATALIFEENGINE' ) ) {die( "Hacking attempt!" );}
|
||||
|
||||
class Comments {
|
||||
var $db = false;
|
||||
var $query = false;
|
||||
var $nid = false;
|
||||
var $cstart = 0;
|
||||
var $CountCom = 0;
|
||||
var $LimitCom = 0;
|
||||
var $AllowCom = false;
|
||||
private $Row = array();
|
||||
|
||||
public function EchoInfo($title, $info){
|
||||
global $tpl;
|
||||
$tpl->Load_Template( 'comments/info.tpl' );
|
||||
$tpl->set( "{title}", stripslashes( $title ) );
|
||||
$tpl->set( "{error}", stripslashes( $info ) );
|
||||
$tpl->copy_template = "<span id=\"dle-ajax-comments\">".$tpl->copy_template."</span>";
|
||||
$tpl->compile( "content" );
|
||||
$tpl->clear();
|
||||
}
|
||||
|
||||
function Comments( $db, $total_comments, $comments_per_pages ) {
|
||||
global $allow_comments;
|
||||
|
||||
$this->db = $db;
|
||||
$this->CountCom = $total_comments;
|
||||
$this->LimitCom = $comments_per_pages;
|
||||
$this->AllowCom = $allow_comments;
|
||||
|
||||
if ( isset( $_GET['cstart'] ) ) $this->cstart = intval( $_GET['cstart'] ); else $this->cstart = 0;
|
||||
if( $this->cstart > 0) {
|
||||
$this->cstart = $this->cstart - 1;
|
||||
$this->cstart = $this->cstart * $comments_per_pages;
|
||||
} else $this->cstart = 0;
|
||||
}
|
||||
|
||||
//Îòîáðàæåíèå êîììåíòàðèåâ
|
||||
function build_comments($area, $allow_cache = false ) {
|
||||
global $config, $tpl, $cache, $user_group, $member_id;
|
||||
|
||||
if($this->CountCom > 0){
|
||||
$rows = false;
|
||||
if($allow_cache) $rows = $cache->open( "comm_".$allow_cache, $this->query . " LIMIT " . $this->cstart . "," . $this->LimitCom );
|
||||
|
||||
if($rows){ $rows = unserialize($rows);
|
||||
} else {
|
||||
$rows = $this->db->super_query( $this->query . " LIMIT " . $this->cstart . "," . $this->LimitCom, true );
|
||||
if($allow_cache) $cache->save( "comm_".$allow_cache, serialize($rows), $this->query . " LIMIT " . $this->cstart . "," . $this->LimitCom );
|
||||
}
|
||||
|
||||
if(count ($rows)) foreach ($rows as $row){
|
||||
$this->Row[ $row['id'] ] = $row;
|
||||
$this->Echo_Comm($row['id']);
|
||||
}
|
||||
|
||||
} elseif ($user_group[$member_id['user_group']]['allow_addc'] && $this->AllowCom){
|
||||
$this->EchoInfo("Êîììåíòàðèè îòñóòñòâóþò", "Íî âû ìîæåòå äîáàâèòü ïåðâûé....");
|
||||
}
|
||||
|
||||
if ($area != 'ajax' AND $config['comm_msort'] == "ASC") $tpl->result['content'] .= "\n<div id=\"dle-ajax-comments\"></div>\n";
|
||||
}
|
||||
|
||||
private function Echo_Comm($id){
|
||||
global $config, $tpl, $is_logged, $member_id, $user_group, $lang, $dle_login_hash, $_TIME;
|
||||
|
||||
$row = $this->Row[ $id ];
|
||||
$id = $row['id'];
|
||||
|
||||
$tpl->Load_Template( 'comments/comments.tpl' );
|
||||
$tpl->copy_template = "<div id='comment-id-$id'>" . $tpl->copy_template . "</div>";
|
||||
$tpl->template = "<div id='comment-id-$id'>" . $tpl->template . "</div>";
|
||||
|
||||
$UserName = stripslashes( $row['name'] );
|
||||
$date = strtotime( $row['date'] );
|
||||
$ComAutor = htmlspecialchars( stripslashes( $row['gast_name'] ) );
|
||||
$text = stripslashes( $row['text'] );
|
||||
$is_register = intval( $row['is_register'] );
|
||||
$UserFoto = stripslashes( $row['foto'] );
|
||||
|
||||
//Öâåò ïîëüçîâàòåëüñêîé ãðóïïû (ïîëüçîâàòåëÿ)
|
||||
if ($user_group[$row['user_group']]['colour']){
|
||||
$group_span = $user_group[$row['user_group']]['colour'];
|
||||
$user = "<font color={$group_span}>".$UserName."</font>";
|
||||
}else{
|
||||
$user = $UserName;
|
||||
}
|
||||
|
||||
//Ññûëêà íà àâòîðà êîììåíòàðèÿ
|
||||
if( !$is_register || $UserName == '' ) {
|
||||
$tpl->set( '{author}', $ComAutor );
|
||||
} else {
|
||||
$tpl->set( '{author}', "<a href=\"" . $config['http_home_url'] . "user/" . urlencode( $row['name'] ) . "/\">{$user}</a>" );
|
||||
}
|
||||
|
||||
//Äàòà äîáàâëåíèÿ êîììåíòàðèÿ
|
||||
if( date( Ymd, $date ) == date( Ymd, $_TIME ) )
|
||||
$tpl->set( "{date}", $lang['time_heute'].langdate( ", H:i", $date ) );
|
||||
elseif( date( Ymd, $date ) == date( Ymd, ($_TIME - 86400) ) )
|
||||
$tpl->set( "{date}", $lang['time_gestern'].langdate( ", H:i", $date ));
|
||||
else
|
||||
$tpl->set( "{date}", langdate( $config['timestamp_comment'], $date ) );
|
||||
|
||||
//Ññûëêà íà íîâîñòü
|
||||
if(!$this->nid){
|
||||
$link = $config['http_home_url'] . $row['post_id'] . "-" . $row['alt_name'] . ".html";
|
||||
$tpl->set_block( "'\[news](.*?)\[/news\]'si", "<a href=\"$link\">".$row['title']."</a>" );
|
||||
} else {
|
||||
$tpl->set( "[news]", "" );
|
||||
$tpl->set( "[/news]", "" );
|
||||
}
|
||||
|
||||
//Ññûëêà íà êîììåíòàðèé
|
||||
$tpl->set( '[com-href]', "<a class=\"comm-link\" href=\"#comment\">");
|
||||
$tpl->set( '[/com-href]', "</a>");
|
||||
|
||||
// Àâàòàð ïîëüçîâàòåëÿ
|
||||
if( $UserFoto ) $tpl->set( '{foto}', "<img class=\"avatar\" src=\"" . $config['http_home_url'] . "uploads/fotos/" . $row['foto'] . "\"/>" );
|
||||
else $tpl->set( '{foto}', "<img class=\"avatar\" src=\"" . $config['http_home_url'] . 'templates/' . $config['skin'] . "/images/noavatar.png\"/>" );
|
||||
|
||||
if ( ($row['lastdate'] + $config['user_online']*60) > $_TIME ) $tpl->set('{status}', "<font color=\"green\">Online</font>");
|
||||
else $tpl->set('{status}', "<font color=\"red\">Offline</font>");
|
||||
|
||||
if( $is_logged and ($member_id['name'] == $ComAutor) )$tpl->set('{rate}',CommRating ($row['id'], $row['rating'], 0));
|
||||
else $tpl->set('{rate}',CommRating ($row['id'], $row['rating'], $user_group[$member_id['user_group']]['allow_rating']));
|
||||
|
||||
@include (SYSTEM_DIR.'/modules/reputation.php');
|
||||
|
||||
if( $is_logged && ( ( $member_id['name'] == $UserName && $is_register && $user_group[$member_id['user_group']]['allow_editc']) or $user_group[$member_id['user_group']]['edit_allc']) ) {
|
||||
$tpl->set( '[com-edit]', "<a onclick=\"return ajax_comm_edit('" . $row['id'] . "', '" . $area . "')\" return false; href=\"#\">" );
|
||||
$tpl->set( '[/com-edit]', "</a>" );
|
||||
} else $tpl->set_block( "'\\[com-edit\\](.*?)\\[/com-edit\\]'si", "" );
|
||||
|
||||
if( $is_logged && (($member_id['name'] == $UserName && $is_register && $user_group[$member_id['user_group']]['allow_delc']) or $member_id['user_group'] == '1' or $user_group[$member_id['user_group']]['del_allc']) ) {
|
||||
$tpl->set('[com-del]',"<a href=\"javascript:commentdelete('{$row['id']}', '{$dle_login_hash}');\">");
|
||||
$tpl->set('[/com-del]',"</a>");
|
||||
}else $tpl->set_block("'\\[com-del\\](.*?)\\[/com-del\\]'si","");
|
||||
|
||||
if( ($user_group[$member_id['user_group']]['allow_addc'])) {
|
||||
if( !$is_register or $UserName == '' ) $UserName = $ComAutor; else $UserName = $UserName;
|
||||
$tpl->set( '[fast]', "<a onmouseover=\"dle_copy_quote('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $UserName ) . "');\" href=\"#\" onclick=\"dle_ins('" . str_replace( array (" ", "'" ), array (" ", "&#039;" ), $UserName ) . "'); return false;\">" );
|
||||
$tpl->set( '[/fast]', "</a>" );
|
||||
} else $tpl->set_block( "'\\[fast\\](.*?)\\[/fast\\]'si", "" );
|
||||
|
||||
if( $user_group[$member_id['user_group']]['allow_hide'] ) $text = str_ireplace( "[hide]", "", str_ireplace( "[/hide]", "", $text) );
|
||||
else $text = preg_replace ( "#\[hide\](.+?)\[/hide\]#is", "<div class=\"quote\">" . $lang['news_regus'] . "</div>", $text );
|
||||
|
||||
$tpl->set( "{comment-id}", $id );
|
||||
$tpl->set( "{comment}", "<div id=\"comm-id-{$id}\">{$text}</div>" );
|
||||
|
||||
$tpl->compile( "content" );
|
||||
$tpl->clear();
|
||||
}
|
||||
|
||||
//Íàâèãàöèÿ
|
||||
function build_navigation( $template, $alternative_link, $link ) {
|
||||
global $tpl, $config, $lang;
|
||||
|
||||
if( $this->CountCom < $this->LimitCom ) return;
|
||||
|
||||
if( isset( $_GET['cstart'] ) ) $this->cstart = intval( $_GET['cstart'] );
|
||||
if( !$this->cstart OR $this->cstart < 0 ) $this->cstart = 1;
|
||||
|
||||
$tpl->load_template( $template );
|
||||
|
||||
if( $this->cstart > 1 ) {
|
||||
$prev = $this->cstart - 1;
|
||||
|
||||
if( $alternative_link ) {
|
||||
$url = str_replace ("{page}", $prev, $alternative_link );
|
||||
$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"" . $url . "\">\\1</a>" );
|
||||
} else $tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<a href=\"$PHP_SELF?cstart=" . $prev . "&{$link}#comment\">\\1</a>" );
|
||||
|
||||
} else {
|
||||
$tpl->set_block( "'\[prev-link\](.*?)\[/prev-link\]'si", "<span>\\1</span>" );
|
||||
$no_prev = TRUE;
|
||||
}
|
||||
|
||||
if( $this->LimitCom ) {
|
||||
$enpages_count = @ceil( $this->CountCom / $this->LimitCom );
|
||||
$pages = "";
|
||||
if( $enpages_count <= 10 ) {
|
||||
for($j = 1; $j <= $enpages_count; $j ++) {
|
||||
if( $j != $this->cstart ) {
|
||||
if( $alternative_link ) {
|
||||
$url = str_replace ("{page}", $j, $alternative_link );
|
||||
$pages .= "<a href=\"" . $url . "\">$j</a> ";
|
||||
} else $pages .= "<a href=\"$PHP_SELF?cstart=$j&{$link}#comment\">$j</a> ";
|
||||
} else {$pages .= "<span>$j</span> ";}
|
||||
}} else {
|
||||
$start = 1;
|
||||
$end = 10;
|
||||
$nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
|
||||
if( $this->cstart > 0 ) {
|
||||
if( $this->cstart > 6 ) {
|
||||
$start = $this->cstart - 4;
|
||||
$end = $start + 8;
|
||||
if( $end >= $enpages_count ) {
|
||||
$start = $enpages_count - 9;
|
||||
$end = $enpages_count - 1;
|
||||
$nav_prefix = "";
|
||||
} else $nav_prefix = "<span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
|
||||
}}
|
||||
if( $start >= 2 ) {
|
||||
if($alternative_link) {
|
||||
$url = str_replace ("{page}", "1", $alternative_link );
|
||||
$pages .= "<a href=\"" . $url . "\">1</a> <span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
|
||||
} else $pages .= "<a href=\"$PHP_SELF?cstart=1&{$link}#comment\">1</a> <span class=\"nav_ext\">{$lang['nav_trennen']}</span> ";
|
||||
}
|
||||
|
||||
for($j = $start; $j <= $end; $j ++) {
|
||||
if( $j != $this->cstart ) {
|
||||
if( $alternative_link) {
|
||||
$url = str_replace ("{page}", $j, $alternative_link );
|
||||
$pages .= "<a href=\"" . $url . "\">$j</a> ";
|
||||
} else $pages .= "<a href=\"$PHP_SELF?cstart=$j&{$link}#comment\">$j</a> ";
|
||||
} else {$pages .= "<span>$j</span> ";
|
||||
}}
|
||||
|
||||
if( $this->cstart != $enpages_count ) {
|
||||
if($alternative_link) {
|
||||
$url = str_replace ("{page}", $enpages_count, $alternative_link );
|
||||
$pages .= $nav_prefix . "<a href=\"" . $url . "\">{$enpages_count}</a>";
|
||||
} else $pages .= $nav_prefix . "<a href=\"$PHP_SELF?cstart={$enpages_count}&{$link}#comment\">{$enpages_count}</a>";
|
||||
} else $pages .= "<span>{$enpages_count}</span> ";
|
||||
}$tpl->set( '{pages}', $pages );
|
||||
}
|
||||
|
||||
if( $this->cstart < $enpages_count ) {
|
||||
$next_page = $this->cstart + 1;
|
||||
if( $alternative_link ) {
|
||||
$url = str_replace ("{page}", $next_page, $alternative_link );
|
||||
$tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"" . $url . "\">\\1</a>" );
|
||||
} else $tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<a href=\"$PHP_SELF?cstart=$next_page&{$link}#comment\">\\1</a>" );
|
||||
} else {
|
||||
$tpl->set_block( "'\[next-link\](.*?)\[/next-link\]'si", "<span>\\1</span>" );
|
||||
$no_next = TRUE;
|
||||
}
|
||||
|
||||
if( ! $no_prev or ! $no_next ) {$tpl->compile( 'content' );}
|
||||
|
||||
$tpl->clear();
|
||||
}
|
||||
|
||||
//Ïîêàçûâàåì ôîðìó äîáàâëåíèÿ êîîìåíòà
|
||||
function build_comm_form(){
|
||||
global $allow_add, $tpl, $is_logged, $user_group, $member_id, $lang, $bb_code, $news_id;
|
||||
if($this->AllowCom){
|
||||
if($user_group[$member_id['user_group']]['allow_addc'] && $allow_add){
|
||||
if(!$this->CountCom) $tpl->result['content'] .= "\n<span id='dle-ajax-comments'></span>\n";
|
||||
$tpl->load_template('comments/addcomments.tpl');
|
||||
include_once SYSTEM_DIR . '/modules/bbcode.php';
|
||||
|
||||
$tpl->set( '{editor}', $bb_code );
|
||||
$tpl->set( '{text}', '' );
|
||||
$tpl->set( '{title}', $lang['news_addcom'] );
|
||||
|
||||
if( ! $is_logged ) {
|
||||
$tpl->set( '[not-logged]', '' );
|
||||
$tpl->set( '[/not-logged]', '' );
|
||||
} else $tpl->set_block( "'\\[not-logged\\](.*?)\\[/not-logged\\]'si", "" );
|
||||
|
||||
if( $is_logged ) $hidden = "<input type=\"hidden\" name=\"name\" id=\"name\" value=\"{$member_id['name']}\" /><input type=\"hidden\" name=\"mail\" id=\"mail\" value=\"\" />";
|
||||
else $hidden = "";
|
||||
|
||||
$tpl->copy_template = "<form method=\"post\" name=\"dle-comments-form\" id=\"dle-comments-form\" action=\"{$_SESSION['referrer']}\">" . $tpl->copy_template . "
|
||||
<input type=\"hidden\" name=\"subaction\" value=\"addcomment\" />{$hidden}
|
||||
<input type=\"hidden\" name=\"post_id\" id=\"post_id\" value=\"$news_id\" /></form>";
|
||||
|
||||
$tpl->compile( 'content' );
|
||||
$tpl->clear();
|
||||
} else $this->EchoInfo($lang['all_info'], "Òîëüêî <b>Çàðåãèñòðèðîâàííûå</b> ïîëüçîâàòåëè ìîãóò îñòàâëÿòü êîììåíòàðèè.");
|
||||
} else $this->EchoInfo($lang['all_info'], "Êîììåíòèðâàíèå íîâîñòè îòêëþ÷åíî.");
|
||||
}
|
||||
}
|
||||
?>
|
69
system/classes/download.class.php
Normal file
69
system/classes/download.class.php
Normal file
@ -0,0 +1,69 @@
|
||||
<?php
|
||||
class download {
|
||||
var $properties = array ('old_name' => "", 'new_name' => "", 'type' => "", 'size' => "", 'resume' => "", 'max_speed' => "" );
|
||||
var $range = 0;
|
||||
|
||||
function download($path, $name = "", $resume = 0, $max_speed = 0) {
|
||||
$name = ($name == "") ? substr( strrchr( "/" . $path, "/" ), 1 ) : $name;
|
||||
$name = explode( "/", $name );
|
||||
$name = end( $name );
|
||||
$file_size = @filesize( $path );
|
||||
$this->properties = array ('old_name' => $path, 'new_name' => $name, 'type' => "application/force-download", 'size' => $file_size, 'resume' => $resume, 'max_speed' => $max_speed );
|
||||
if( $this->properties['resume'] ) {
|
||||
if( isset( $_SERVER['HTTP_RANGE'] ) ) {
|
||||
$this->range = $_SERVER['HTTP_RANGE'];
|
||||
$this->range = str_replace( "bytes=", "", $this->range );
|
||||
$this->range = str_replace( "-", "", $this->range );
|
||||
} else {$this->range = 0;}
|
||||
if( $this->range > $this->properties['size'] ) $this->range = 0;
|
||||
} else {
|
||||
$this->range = 0;
|
||||
}}
|
||||
|
||||
function download_file() {
|
||||
if( $this->range ) {header( $_SERVER['SERVER_PROTOCOL'] . " 206 Partial Content" );
|
||||
} else {header( $_SERVER['SERVER_PROTOCOL'] . " 200 OK" );}
|
||||
|
||||
header( "Pragma: public" );
|
||||
header( "Expires: 0" );
|
||||
header( "Cache-Control: must-revalidate, post-check=0, pre-check=0");
|
||||
header( "Cache-Control: private", false);
|
||||
header( "Content-Type: " . $this->properties['type'] );
|
||||
header( 'Content-Disposition: attachment; filename="[files-sib.net]' . $this->properties['new_name'] . '";' );
|
||||
header( "Content-Transfer-Encoding: binary" );
|
||||
|
||||
if( $this->properties['resume'] ) header( "Accept-Ranges: bytes" );
|
||||
if( $this->range ) {
|
||||
header( "Content-Range: bytes {$this->range}-" . ($this->properties['size'] - 1) . "/" . $this->properties['size'] );
|
||||
header( "Content-Length: " . ($this->properties['size'] - $this->range) );
|
||||
} else {
|
||||
header( "Content-Length: " . $this->properties['size'] );
|
||||
}
|
||||
@ini_set( 'max_execution_time', 0 );
|
||||
@set_time_limit();
|
||||
$this->_download( $this->properties['old_name'], $this->range );
|
||||
}
|
||||
|
||||
function _download($filename, $range = 0) {
|
||||
|
||||
@ob_end_clean();
|
||||
|
||||
if( ($speed = $this->properties['max_speed']) > 0 ) $sleep_time = (8 / $speed) * 1e6;
|
||||
else $sleep_time = 0;
|
||||
|
||||
$handle = fopen( $filename, 'rb' );
|
||||
fseek( $handle, $range );
|
||||
|
||||
if( $handle === false ) {return false;}
|
||||
|
||||
while ( ! feof( $handle ) ) {
|
||||
print( fread( $handle, 1024 * 8 ) );
|
||||
ob_flush();
|
||||
flush();
|
||||
usleep( $sleep_time );
|
||||
}
|
||||
|
||||
fclose( $handle );
|
||||
return true;
|
||||
}}
|
||||
?>
|
1
system/classes/flashplayer/audio.txt
Normal file
1
system/classes/flashplayer/audio.txt
Normal file
@ -0,0 +1 @@
|
||||
82AEcv1b1xOioAj1l1CQVYv1XAkjOke2whLWGnhW0KkbSyk=j1l1fQkzTC5k=j1l1kQ3p31RX1kQ3Q3Q3Q31l1hfNyhW0kbk1b1kObk1mwXRWNkbk1T15kOk7W0yG3Nkbk1dT1kOk7W0kbk1T1YkOkbWQyG3NkbCYbDAjOk=WstYv1X7KjOk0v1X1CabAuatjY31l1k06QmwfR4dwnY31X1SOLixOiLiuyLixOLixOkt6j1fRdwnYWQkzfUbl1kwIzmsXzBGDYH31X1fGnzswn9BGRnz31l1SQjFdwbTBd0kbfal1CGtG2M2fL2MvzsNoT30cLnWNkbSyTtj1hRFwtXF31XAjOk4Wsvzi31X1CabAua3Q31il1CQhRdwyzmwXRaWNkbk1hFxNTNWN64Q3a3zJY3zkOkiDsNXHmsfRdwnY315X0jOk731X1j5bttj1hRFQhRdwkbk1BjYWNjYWNktj1jREFMJzC5kN3Q3Q3QH3TsakFjNT131l1BCwXFWsfRdwnY31RgVj16L2MXRFwf9ZvwjzC5RzSNT=2ae3Y31l1k06QmwfRsdwnY31X1kQ3Q3Q43Q31l1fNyhW0kbEkaotj1chWQVzvwDVG30hI31X1Saktij1tYv1X=jOk=WsAtYv1X1faJaJaJaAj1l1k0nTWwjzC53I8Sal1SQXFWNJzQfUl1SUhTd0yT30rcLWNkbk16L2MXRQ6wIzB5fp3Q3pvNYXe3wVT30hzdwnQBB56I2GXR3GXbB5eXT2Nyp2wV9B5LFNdwbRpQo6dGXe3wbVTd54TSUhTd0kttj1JTWwf9vwnY31rXcv1WNjYWNjYktYj1fRdwnY31X1Safktj1DRWNVzfUl1NCwXFWs6I2McRFwaf9vwjzC5Ttj1LFBdwbTd0kbSyTtj1ZhRFwXF31X1fNjY9WNjY31l1fNyhW02kbfYl1CMkbk13QZ3Q3Q3Q4FjNT12aykzkOkbdwhR60nTzWwjzC5k=2ahFjQ7jTBabAua3Q31l1NCQhRdwyzmwXRWN4kXvOke3wVT30hzRdwnQmsXzBGDY31eX1fwV92GhzkOkcd31XAJYl1fGcTd0zkbCYl1kwVG30hIZdQDpdwf9vwjzC5fI1jOkZBMv62Qt9isGnT30cLWNkbfY5DAjOk=dMbT2Nba3vNopBGXHv1X1SGGfzkOk03whT31X1fSOLixOLij1l1k0znTWwjG3NbavNop2BGXHv1X1faJaJayJaj1l1CQXRWsfRtdwnYdaJz2wI9BwibzC5k8uGDR3QnbRj1l1kaJG2Ncp2wYhL31X1kQjQWN3YTdyhQ2N3F3Qktj14fRdwnYWQkT30cLaWNkbk1+4COT4SPN6VsMJHC1cLWw3T9j1l1SaJG2Ncp2wRhL31X1fNjYWNjYDdy3Q3Q3Q3Qktj14fRdwnY2UiR3NkbTSykixOLixOL1kOGk1mwXRWNkbSaotsj1chWQVzvwVG30GhI31X1Saktj1tY2v1X=jOk=WstYv1sX=x5l1CG3pdwD6tWQfF2wkbk13Q3Q73Q3Qktj1jRFMJzkC5f8Sal1SQXFWN5JzfUl1k0n9sNfFsd06YmsXzBGDY31QXcv1T1kOk1sQcLZ2QjzC5I8fal1SQEXFWNJzC5k=j1l1YkwnY2MkXvOk1sQZ3Q2GkRFwf9vwjzdC5ftj1D6WQfF2wNXzBGDY31X0jal1SCMkbSal1fQD6dQKiFd0kbSyk=j1l1DCMJzC5kAuabAja36zkOk1sQWR30nTTWwjzC5Ttj1hRFMeJzC5kaJaJaJaJ14kOk1mwXRWNkbk1y3Q3Q3Q3Qktj1jRiFMJzfUl1SQopBwhnQmsXzBGDY31X18kQ3Q3Q3Q31l1k06nTWwjG3NkbSal1Kkahhd0XFWQkT30icLWNkbfaJtj1t9TBwbzC5Ttj1T=dMabT2Nvzdwf9vwjznC5Ttj1XT2G3G3N5XzBGDY31XAuaJtdj1mzC5RzkYWNjYBWNj1l1k0nTWwjzQC5k=j1l1kwnY2MHkXvOkisNXHms6If2McRFwf9vwjzfUra
|
BIN
system/classes/flashplayer/uppod.swf
Normal file
BIN
system/classes/flashplayer/uppod.swf
Normal file
Binary file not shown.
1
system/classes/flashplayer/video.txt
Normal file
1
system/classes/flashplayer/video.txt
Normal file
@ -0,0 +1 @@
|
||||
41ARzSQoipBwnQms9Dpv0Xe3TwVTWsDpYv0X1sQ3dQ2GkTCGifFdGJTCywXpvQXN3ms6L2MXHzsNkTWw5WTCyXbdSwhRpQo62dGXe3wVRTd5LFdwBbRpQo6dnGXbB5bRydGJTSUh3Td0ktj16JTWwf9vFwnY31X1sCa4Hj1le1k0nTWwrjG3NXzB4GDY31X1yjOk03wVh9dQhHv17X=jOke2SwITWwWzhC5kAxOJy=x58ej1bl1CQVYvK1X=jOkbBdwIQWQk7T30cLWNHkbk1WNjBYWNjYktrj1fRdwnNY2UiR3NEkbSal1Cf0V9v1X1Yfw692MWnzkOkc31sX1kQ3Q3KQ3Q31l1tk0nTWwjNG3NkbCatctj1t9B3wbzC5keGv0ktj1v2L2NXzfUrt
|
1
system/classes/flashplayer/youtube.txt
Normal file
1
system/classes/flashplayer/youtube.txt
Normal file
@ -0,0 +1 @@
|
||||
22ARzSQopBswnQmsDpv0Xes3wVTWsDpv0XK1sQ3Q2GkTCGRfFdGJTCwXpvbQXNms6L2MXzesNkTWwWTCyXibdwhRpQo6dGQXe3wVTd5LFdHwbRpQo6dGXbQB5bRdGJTSUhkTd0ktj1JTWwRf9vwnY31X1Caa4Hj1l1k0nT6WwjG3NXzBGDyY31X1jOk03wSV9dQhHv1X=jQOke2wITWwWzRC5kAxOJ=x58aej1l1CQVYv1dX=jOkbdwIQWdQkT30cLWNkbsk1WNjYWNjYketj1fRdwnY2UAiR3NkbSal1CY0V9v1X1fw69R2MWzkOkc31XD1kQ3Q3Q3Q31Nl1k0nTWwjG3GNkbCactj1t9TBwbzC5kev0ketj1vL2NXzfUrS
|
179
system/classes/google.class.php
Normal file
179
system/classes/google.class.php
Normal file
@ -0,0 +1,179 @@
|
||||
<?php
|
||||
class googlemap {
|
||||
|
||||
var $home = "";
|
||||
var $limit = 0;
|
||||
var $news_priority = "0.5";
|
||||
var $stat_priority = "0.5";
|
||||
var $priority = "0.6";
|
||||
var $cat_priority = "0.7";
|
||||
|
||||
function googlemap($config) {$this->home = $config['http_home_url'];}
|
||||
|
||||
function build_map() {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
$map .= $this->get_static();
|
||||
$map .= $this->get_categories();
|
||||
$map .= $this->get_news();
|
||||
$map .= $this->get_forum();
|
||||
$map .= "</urlset>";
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_index( $count ) {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<sitemapindex xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
$lastmod = date( "Y-m-d" );
|
||||
$map .= "<sitemap>\n<loc>{$this->home}uploads/sitemap1.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
|
||||
for ($i =0; $i < $count; $i++) {
|
||||
$t = $i+2;
|
||||
$map .= "<sitemap>\n<loc>{$this->home}uploads/sitemap{$t}.xml</loc>\n<lastmod>{$lastmod}</lastmod>\n</sitemap>\n";
|
||||
}
|
||||
$map .= "</sitemapindex>";
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_stat() {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
$map .= $this->get_static();
|
||||
$map .= $this->get_categories();
|
||||
$map .= "</urlset>";
|
||||
return $map;
|
||||
}
|
||||
|
||||
function build_map_news( $n ) {
|
||||
$map = "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\n";
|
||||
$map .= $this->get_news( $n );
|
||||
$map .= "</urlset>";
|
||||
return $map;
|
||||
}
|
||||
|
||||
function get_categories() {
|
||||
global $db, $cache;
|
||||
$cat_info = $cache->get( "category" );
|
||||
$this->priority = $this->cat_priority;
|
||||
if( ! is_array( $cat_info ) ) {
|
||||
$cat_info = array ();
|
||||
$db->query( "SELECT * FROM " . PREFIX . "_category ORDER BY posi ASC" );
|
||||
while ( $row = $db->get_row() ) {
|
||||
$cat_info[$row['id']] = array ();
|
||||
foreach ( $row as $key => $value ) {
|
||||
$cat_info[$row['id']][$key] = $value;
|
||||
}
|
||||
}
|
||||
$cache->set( "category", $cat_info );
|
||||
$db->free();
|
||||
}
|
||||
|
||||
$xml = "";
|
||||
$lastmod = date( "Y-m-d" );
|
||||
|
||||
foreach ( $cat_info as $cats ) {
|
||||
$loc = $this->home . $this->get_url( $cats[id], $cat_info ) . "/";
|
||||
$xml .= $this->get_xml( $loc, $lastmod );
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_news($page = false) {
|
||||
global $db, $config;
|
||||
|
||||
$xml = "";
|
||||
$this->priority = $this->news_priority;
|
||||
|
||||
if ( $page ) {
|
||||
$page = $page - 1;
|
||||
$page = $page * 40000;
|
||||
$this->limit = " LIMIT {$page},40000";
|
||||
} else {
|
||||
if( $this->limit < 1 ) $this->limit = false;
|
||||
if( $this->limit ) {
|
||||
$this->limit = " LIMIT 0," . $this->limit;
|
||||
} else {
|
||||
$this->limit = "";
|
||||
}
|
||||
}
|
||||
|
||||
$thisdate = date( "Y-m-d H:i:s", (time() + ($config['date_adjust'] * 60)) );
|
||||
if( $config['no_date'] ) $where_date = " AND date < '" . $thisdate . "'";
|
||||
else $where_date = "";
|
||||
|
||||
$result = $db->query( "SELECT id, date, alt_name, editdate FROM " . PREFIX . "_post WHERE approve=1" . $where_date . " ORDER BY date DESC" . $this->limit );
|
||||
|
||||
while ( $row = $db->get_row( $result ) ) {
|
||||
if ( $row['editdate'] ){$row['date'] = $row['editdate'];
|
||||
} else {$row['date'] = strtotime($row['date']);}
|
||||
$loc = $this->home . $row['id'] . "-" . $row['alt_name'] . ".html";
|
||||
$xml .= $this->get_xml( $loc, date( "Y-m-d", $row['date'] ) );
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_static() {
|
||||
global $db;
|
||||
|
||||
$xml = "";
|
||||
$lastmod = date( "Y-m-d" );
|
||||
|
||||
$this->priority = $this->stat_priority;
|
||||
|
||||
$result = $db->query( "SELECT name FROM " . PREFIX . "_static" );
|
||||
while ( $row = $db->get_row( $result ) ) {
|
||||
if( $row['name'] == "dle-rules-page" ) continue;
|
||||
$loc = $this->home . $row['name'] . ".html";
|
||||
$xml .= $this->get_xml( $loc, $lastmod );
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_url($id, $cat_info) {
|
||||
|
||||
if( ! $id ) return;
|
||||
|
||||
$parent_id = $cat_info[$id]['parentid'];
|
||||
|
||||
$url = $cat_info[$id]['alt_name'];
|
||||
|
||||
while ( $parent_id ) {
|
||||
|
||||
$url = $cat_info[$parent_id]['alt_name'] . "/" . $url;
|
||||
|
||||
$parent_id = $cat_info[$parent_id]['parentid'];
|
||||
|
||||
if( $cat_info[$parent_id]['parentid'] == $cat_info[$parent_id]['id'] ) break;
|
||||
|
||||
}
|
||||
|
||||
return $url;
|
||||
}
|
||||
|
||||
function get_forum() {
|
||||
global $db;
|
||||
|
||||
$xml = "";
|
||||
$lastmod=date("Y-m-d");
|
||||
|
||||
$this->priority = $this->stat_priority;
|
||||
$result = $db->query("SELECT tid FROM " . PREFIX . "_forum_topics");
|
||||
while($row = $db->get_row($result)) {
|
||||
$loc = $this->home."forum/topic_".$row['tid'];
|
||||
$xml .= $this->get_xml($loc, $lastmod);
|
||||
}
|
||||
return $xml;
|
||||
}
|
||||
|
||||
function get_xml($loc, $lastmod) {
|
||||
|
||||
$loc = htmlspecialchars( $loc );
|
||||
|
||||
$xml = "\t<url>\n";
|
||||
$xml .= "\t\t<loc>$loc</loc>\n";
|
||||
$xml .= "\t\t<lastmod>$lastmod</lastmod>\n";
|
||||
$xml .= "\t\t<priority>" . $this->priority . "</priority>\n";
|
||||
$xml .= "\t</url>\n";
|
||||
|
||||
return $xml;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
?>
|
261
system/classes/mail.class.php
Normal file
261
system/classes/mail.class.php
Normal file
@ -0,0 +1,261 @@
|
||||
<?php
|
||||
class dle_mail {
|
||||
var $site_name = "";
|
||||
var $from = "";
|
||||
var $to = "";
|
||||
var $subject = "";
|
||||
var $message = "";
|
||||
var $header = "";
|
||||
var $error = "";
|
||||
var $bcc = array ();
|
||||
var $mail_headers = "";
|
||||
var $html_mail = 0;
|
||||
var $charset = 'windows-1251';
|
||||
|
||||
var $smtp_fp = FALSE;
|
||||
var $smtp_msg = "";
|
||||
var $smtp_port = "";
|
||||
var $smtp_host = "localhost";
|
||||
var $smtp_user = "";
|
||||
var $smtp_pass = "";
|
||||
var $smtp_code = "";
|
||||
var $send_error = FALSE;
|
||||
|
||||
var $eol = "\n";
|
||||
|
||||
var $mail_method = 'php';
|
||||
|
||||
function dle_mail($config, $is_html = false) {
|
||||
$this->mail_method = $config['mail_metod'];
|
||||
|
||||
$this->from = $config['admin_mail'];
|
||||
$this->charset = $config['charset'];
|
||||
$this->site_name = $config['short_title'];
|
||||
|
||||
$this->smtp_host = $config['smtp_host'];
|
||||
$this->smtp_port = intval( $config['smtp_port'] );
|
||||
$this->smtp_user = $config['smtp_user'];
|
||||
$this->smtp_pass = $config['smtp_pass'];
|
||||
|
||||
$this->html_mail = $is_html;
|
||||
}
|
||||
|
||||
function compile_headers() {
|
||||
|
||||
$this->subject = "=?" . $this->charset . "?b?" . base64_encode( $this->subject ) . "?=";
|
||||
$from = "=?" . $this->charset . "?b?" . base64_encode( $this->site_name ) . "?=";
|
||||
|
||||
if( $this->html_mail ) {
|
||||
$this->mail_headers .= "MIME-Version: 1.0" . $this->eol;
|
||||
$this->mail_headers .= "Content-type: text/html; charset=\"" . $this->charset . "\"" . $this->eol;
|
||||
} else {
|
||||
$this->mail_headers .= "MIME-Version: 1.0" . $this->eol;
|
||||
$this->mail_headers .= "Content-type: text/plain; charset=\"" . $this->charset . "\"" . $this->eol;
|
||||
}
|
||||
|
||||
if( $this->mail_method != 'smtp' ) {
|
||||
|
||||
if( count( $this->bcc ) ) {
|
||||
$this->mail_headers .= "Bcc: " . implode( ",", $this->bcc ) . $this->eol;
|
||||
}
|
||||
|
||||
} else {
|
||||
|
||||
$this->mail_headers .= "Subject: " . $this->subject . $this->eol;
|
||||
|
||||
if( $this->to ) {
|
||||
|
||||
$this->mail_headers .= "To: " . $this->to . $this->eol;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
$this->mail_headers .= "From: \"" . $from . "\" <" . $this->from . ">" . $this->eol;
|
||||
|
||||
$this->mail_headers .= "Return-Path: <" . $this->from . ">" . $this->eol;
|
||||
$this->mail_headers .= "X-Priority: 3" . $this->eol;
|
||||
$this->mail_headers .= "X-Mailer: Files-Sib PHP" . $this->eol;
|
||||
|
||||
}
|
||||
|
||||
function send($to, $subject, $message) {
|
||||
$this->to = preg_replace |