| Server IP : 103.82.32.14 / Your IP : 216.73.217.55 Web Server : Apache/2.2.32 (Unix) mod_ssl/2.2.32 OpenSSL/1.0.1e-fips mod_fcgid/2.3.9 System : Linux cloud.lonmanhoabinh.com 2.6.32-754.35.1.el6.x86_64 #1 SMP Sat Nov 7 12:42:14 UTC 2020 x86_64 User : lonmakmf ( 524) PHP Version : 5.6.30 Disable Function : NONE MySQL : ON | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : OFF Directory : /home/blogwnph/public_html/ |
Upload File : |
<?php
#############################################
# MOD tạo trang Html cho JohnCMS #
# Việt hóa: Xuân Hòa .Master #
# Support: http://tanxac.asia #
#############################################
define('_IN_JOHNCMS', 1);
$headmod = '';
$rootpath = '';
require('incfiles/core.php');
$error = false;
$p = isset($_GET['p']) ? trim($_GET['p']) : false; // Получаем страницу
$text = $_POST['text'] ? trim($_POST['text']) : ''; // определяем текст страницы
$adress = $_POST['adr'] ? trim($_POST['adr']) : ''; // определяем адрес страницы
$name = $_POST['name'] ? trim($_POST['name']) : ''; // определяем заголовок страницы
$meta_k = $_POST['meta_k'] ? trim($_POST['meta_k']) : ''; // определяем ключевые слова страницы
$meta_d = $_POST['meta_d'] ? trim($_POST['meta_d']) : ''; // определяем описание страницы
$access = $_POST['access'] ? trim($_POST['access']) : 0; // определяем доступ к странице
$title = 'HTML Site'; // Заголовок страницы по умолчанию
// Функция всавки стилей оформления и html кода
function tag_insert(){
if (!empty($_SESSION['tiny_mce']) && @is_dir('tiny_mce')){
$out = '<!-- TinyMCE -->
<script type="text/javascript" src="http://tanxac.asia/tiny_mce/tiny_mce.js"></script>
<script type="text/javascript">
tinyMCE.init({
// General options
mode : "exact",
elements : "text",
theme : "advanced",
language: "ru",
plugins : "autolink,lists,style,layer,table,advhr,advimage,advlink,inlinepopups,media,directionality,noneditable,nonbreaking,xhtmlxtras,advlist,visualblocks",
content_css : "theme/'.core::$user_set['skin'].'/style.css",
// Theme options
theme_advanced_buttons1 : "newdocument,|,bold,italic,underline,strikethrough,|,justifyleft,justifycenter,justifyright,justifyfull,styleselect,fontselect,fontsizeselect,help",
theme_advanced_buttons2 : "bullist,numlist,|,outdent,indent,ltr,rtl,|,undo,redo,|,link,unlink,anchor,image,charmap,media,advhr,|,sub,sup,|,forecolor,backcolor",
theme_advanced_buttons3 : "tablecontrols,|,insertlayer,moveforward,movebackward,absolute,|,nonbreaking,visualblocks,|,removeformat,cleanup,code",
theme_advanced_buttons4 : "",
theme_advanced_toolbar_location : "top",
theme_advanced_toolbar_align : "left",
theme_advanced_statusbar_location : "bottom",
theme_advanced_resizing : true
});
</script>
<!-- /TinyMCE -->';
}else{
// Массив с классами оформления для div
$array_div = array(
'clip',
'gmenu',
'list1',
'list2',
'menu',
'phdr',
'rmenu',
'sub'
);
// Массив с классами оформления для span
$array_span = array(
'gray',
'green',
'red',
'status'
);
// Массив с html тегами
$array_html = array(
'<strong>\', \'</strong>' => 'strong',
'<i>\', \'</i>' => 'i',
'<a href="">\', \'</a>' => 'a href',
'<img src="" alt="" />\', \'' => 'img src',
'<h3>\', \'</h3>' => 'h3',
'<p>\', \'</p>' => 'p',
'<br />\', \'' => 'br',
'<hr />\', \'' => 'hr',
'<!--\', \'-->' => '<!>'
);
$out = '<script language="JavaScript" type="text/javascript">
function tag_insert(text1, text2){
if ((document.selection)) {
document.form.text.focus();
document.form.document.selection.createRange().text = text1+document.form.document.selection.createRange().text+text2;
} else if(document.forms[\'form\'].elements[\'text\'].selectionStart!=undefined) {
var element = document.forms[\'form\'].elements[\'text\'];
var str = element.value;
var start = element.selectionStart;
var length = element.selectionEnd - element.selectionStart;
element.value = str.substr(0, start) + text1 + str.substr(start, length) + text2 + str.substr(start + length);
} else document.form.text.value += text1+text2;}</script>';
$out .= '<select name="div"><option disabled="disabled" selected="selected">div (a-z)</option>'."\r";
foreach ($array_div as $div)
$out .= '<option onclick="tag_insert(\'<div class="'.$div.'">\', \'</div>\');">'.$div.'</option>';
$out .= '</select>';
$out .= ' <select name="span"><option disabled="disabled" selected="selected">span (a-z)</option>'."\r";
foreach ($array_span as $span)
$out .= '<option onclick="tag_insert(\'<span class="'.$span.'">\', \'</span>\');">'.$span.'</option>';
$out .= '</select>';
$out .= ' <select name="other"><option disabled="disabled" selected="selected">Html</option>."\r"';
foreach ($array_html as $html => $html_name)
$out .= '<option onclick="tag_insert(\''.$html.'\');">'.$html_name.'</option>';
$out .= '</select>';
}
return $out.'<br />';
}
if ($p || $id){
// Запрос на конкретную страницу
$page_req = mysql_query("SELECT * FROM `tx_pages` WHERE ".($id ? "`id`='".$id."'" : "`adr`='".mysql_real_escape_string($p)."'")." LIMIT 1 ");
// проверка на существование страницы
if (mysql_num_rows($page_req) == 0){
header('Location: index.php?err');
exit;
}
$page_res = mysql_fetch_array($page_req);
// Заменяем описание и ключи для конкретной страницы
$set['meta_key'] = empty($page_res['meta_k']) ? $set['meta_key'] : $page_res['meta_k'];
$set['meta_desc'] = empty($page_res['meta_d']) ? $set['meta_desc'] : $page_res['meta_d'];
$title = htmlentities($page_res['name'], ENT_QUOTES, 'UTF-8');
$text = $_POST['text'] ? trim($_POST['text']) : $page_res['text']; // определяем текст страницы
$adress = $_POST['adr'] ? trim($_POST['adr']) : $page_res['adr']; // определяем адрес страницы
$name = $_POST['name'] ? trim($_POST['name']) : $page_res['name']; // определяем заголовок страницы
$meta_k = $_POST['meta_k'] ? trim($_POST['meta_k']) : $page_res['meta_k']; // определяем ключевые слова страницы
$meta_d = $_POST['meta_d'] ? trim($_POST['meta_d']) : $page_res['meta_d']; // определяем описание страницы
$access = $_POST['access'] ? trim($_POST['access']) : $page_res['access']; // определяем доступ к странице
}
// Заголовок
$textl = $title;
require('incfiles/head.php');
if ($page_res['access'] == 2 && !$user_id && !$rights)
$error .= 'Truy cập chỉ dành cho thành viên !';
if ($page_res['access'] == 1 && $user_id && !$rights)
$error .= 'Truy cập dành cho khách !';
if ($error){
echo functions::display_error($error);
require('incfiles/end.php');
exit;
}
switch ($act){
/** Удаление страницы */
case 'del':
if (!$id)
$error .= 'Lỗi !';
// Закрываем доступ для пользователей
if ($rights < 9)
$error .= 'Không được phép !';
// Выводим ошибку
if ($error){
echo functions::display_error($error);
require('incfiles/end.php');
exit;
}
echo '<div class="phdr"><a href="page.php?act=list">Danh sách</a> | Xóa trang</div>';
if (isset($_GET['yes'])){
mysql_query("DELETE FROM `tx_pages` WHERE `id`='".$id."' LIMIT 1 ");
echo '<div class="gmenu">Loại bỏ thành công<br /><a href="page.php?act=list">Tiếp tục</a></div>';
}else{
echo '<div class="rmenu">Bạn có chắc chắn muốn xóa ?<br /><a href="page.php?act=del&id='.$id.'&yes">Có</a> | <a href="page.php?act=list">Không</a></div>';
}
break;
/** Добавление страницы */
case 'add':
// Закрываем доступ для пользователей
if ($rights < 9){
echo functions::display_error('Không được phép !');
require('incfiles/end.php');
exit;
}
echo'<div class="phdr"><a href="page.php?act=list">Danh sách</a> | Thêm một trang</div>';
if (isset($_POST['submit'])){
$check = mysql_result(mysql_query("SELECT COUNT(*) FROM `tx_pages` WHERE `adr` LIKE '" . mysql_real_escape_string(trim($_POST['adr'])) . "' "), 0);
if ($check)
$error = 'Trang đã tồn tại !<br />';
if (empty($_POST['adr']))
$error .= 'Chưa nhập tên !<br />';
if (preg_match("/[^\da-zA-Z_]+/", $_POST['adr']) && !$error)
$error .= 'Kí tự không hợp lệ !<br />';
if (empty($_POST['name']))
$error .= 'Chưa nhập tiêu đề !<br />';
if (empty($_POST['text']))
$error .= 'Chưa nhập văn bản !<br />';
// Запись в базу если нет ошибок
if (!$error){
mysql_query("INSERT INTO `tx_pages` SET
`adr` = '" . mysql_real_escape_string(trim($_POST['adr'])) . "',
`name` = '" . mysql_real_escape_string(trim($_POST['name'])) . "',
`text` = '" . mysql_real_escape_string(trim($_POST['text'])) . "',
`meta_d` = '" . mysql_real_escape_string(trim($_POST['meta_d'])) . "',
`meta_k` = '" . mysql_real_escape_string(trim($_POST['meta_k'])) . "',
`access` = '" . intval($_POST['access']) . "'
");
echo '<div class="gmenu">Tạo thành công<br /><a href="page.php?act=list">Trở về</a></div>';
unset ($_POST['submit']);
require('incfiles/end.php');
exit;
}
}
// Определение высоты формы ввода текста
if (isset($_POST['field_h'])){
if (intval($_POST['row']) < 9) $_POST['row'] = '9';
if (intval($_POST['row']) > 50) $_POST['row'] = '50';
$_SESSION['field_h'] = intval($_POST['row']);
}
$field_h = empty($_SESSION['field_h']) ? 9 : $_SESSION['field_h'];
// Включаем визуальный редактор
if (isset($_POST['visualon'])){
$_SESSION['tiny_mce'] = 1;
}
// Выключаем визуальный редактор
if (isset($_POST['visualoff'])){
$_SESSION['tiny_mce'] =0;
}
// Выводим ошибку
if ($error)
echo functions::display_error($error);
// Форма ввода
echo '<form action="page.php?act=add" name="form" method="post">';
echo '<div class="rmenu">Bắt buộc điền những ô có dấu <span class="red">*</span></div>';
echo '<div class="menu"><span class="red">*</span> Tên trong thanh địa chỉ (tối đa 50 ký tự.)<br /><input type="text" name="adr" maxlength="50" value="'.$adress.'" /><br />';
echo '<span class="red">*</span> Tiêu đề (tối đa 50 ký tự.)<br /><input type="text" name="name" maxlength="150" value="'.$name.'" /></div>';
echo '<div class="menu">Từ khóa: <br /><textarea style="width:98%" rows="3" name="meta_k">'.$meta_k.'</textarea><br />';
echo 'Mô tả<br /><textarea style="width:98%" rows="3" name="meta_d">'.$meta_d.'</textarea></div>';
// Показываем предпросмотр
if ($text && isset($_POST['preview']))
echo '<div class="phdr"><b>Xem trước:</b></div>'.$text;
echo '<div class="gmenu"><span class="red">*</span>Văn bản <span class="red">(Chấp nhận mã HTML)</span>:<br />'.tag_insert().'<textarea style="width:98%" rows="'.$field_h.'" id="text" name="text">'.htmlentities(trim($text), ENT_QUOTES, 'UTF-8').'</textarea><br />';
echo 'Truy cập <select name="access"><option'.($access == 0 ? ' selected="selected"' : '').' value="0">Truy cập mở</option>
<option'.($access == 1 ? ' selected="selected"' : '').' value="1">Chỉ dành cho khách</option>
<option'.($access == 2 ? ' selected="selected"' : '').' value="2">Chỉ dành cho thành viên</option></select><br />';
echo '<input type="submit" name="submit" value="Tạo" /> <input type="submit" name="preview" value="Xem trước" /> <input type="reset" value="Làm lại" /></div>';
echo '<div class="gmenu">Chiều cao (9 đến 50 dòng): <input type="text" name="row" size="2" maxlength="2" value="'.$field_h.'" /> <input type="submit" name="field_h" value="OK" />'.(@is_dir('tiny_mce') ? (!empty($_SESSION['tiny_mce']) ? '<br /><input type="submit" name="visualoff" value="Visual-Off" />' : '<br /><input type="submit" name="visualon" value="Visual-On" />') : '').'</div></form>';
break;
/** Редактирование страницы */
case 'edit':
if (!$id)
$error .= 'Lỗi !';
// Закрываем доступ для пользователей
if ($rights < 9)
$error .= 'Không được phép !';
// Выводим ошибку
if ($error){
echo functions::display_error($error);
require('incfiles/end.php');
exit;
}
echo'<div class="phdr"><a href="page.php?act=list">Danh sách</a> | Chỉnh sửa</div>';
if (isset($_POST['submit'])){
if ($page_res['adr'] != $_POST['adr']){
$check = mysql_result(mysql_query("SELECT COUNT(*) FROM `tx_pages` WHERE `adr` LIKE '" . mysql_real_escape_string(trim($_POST['adr'])) . "' AND `id` != '$id' "), 0);
if ($check)
$error = 'Trang đã tồn tại !<br />';
}
if (empty($_POST['adr']))
$error .= 'Chưa nhập tên !<br />';
if (preg_match("/[^\da-zA-Z_]+/", $_POST['adr']) && !$error)
$error .= 'Kí tự không hợp lệ !<br />';
if (empty($_POST['name']))
$error .= 'Chưa nhập tiêu đề<br />';
if (empty($_POST['text']))
$error .= 'Chưa nhập văn bản !<br />';
// Обновляем запись если нет ошибок
if (!$error){
mysql_query("UPDATE `tx_pages` SET
`adr` = '" . mysql_real_escape_string(trim($_POST['adr'])) . "',
`name` = '" . mysql_real_escape_string(trim($_POST['name'])) . "',
`text` = '" . mysql_real_escape_string(trim($_POST['text'])) . "',
`meta_d` = '" . mysql_real_escape_string(trim($_POST['meta_d'])) . "',
`meta_k` = '" . mysql_real_escape_string(trim($_POST['meta_k'])) . "',
`access` = '" . intval($_POST['access']) . "'
WHERE `id`='" . $id . "' ");
echo '<div class="gmenu">Sửa thành công <br /><a href="page.php?act=list">Trở về</a></div>';
unset ($_POST['submit']);
require('incfiles/end.php');
exit;
}
}
// Определение высоты формы ввода текста
if (isset($_POST['field_h'])){
if (intval($_POST['row']) < 9) $_POST['row'] = '9';
if (intval($_POST['row']) > 50) $_POST['row'] = '50';
$_SESSION['field_h'] = intval($_POST['row']);
}
$field_h = empty($_SESSION['field_h']) ? 9 : $_SESSION['field_h'];
// Включаем визуальный редактор
if (isset($_POST['visualon'])){
$_SESSION['tiny_mce'] = 1;
}
// Выключаем визуальный редактор
if (isset($_POST['visualoff'])){
$_SESSION['tiny_mce'] =0;
}
// Выводим ошибку
if ($error)
echo functions::display_error($error);
// Форма ввода
echo '<form action="page.php?act=edit&id='.$id.'" name="form" method="post">';
echo '<div class="rmenu">Bắt buộc điền những ô có dấu <span class="red">*</span></div>';
echo '<div class="menu"><span class="red">*</span> Tên trong thanh địa chỉ (tối đa 50 ký tự.)<br /><input type="text" name="adr" maxlength="50" value="'.$adress.'" /><br />';
echo '<span class="red">*</span> Tiêu đề (tối đa 50 ký tự.)<br /><input type="text" name="name" maxlength="150" value="'.$name.'" /></div>';
echo '<div class="menu">Từ khóa: <br /><textarea style="width:98%" rows="3" name="meta_k">'.$meta_k.'</textarea><br />';
echo 'Mô tả<br /><textarea style="width:98%" rows="3" name="meta_d">'.$meta_d.'</textarea></div>';
// Показываем предпросмотр
if ($text && isset($_POST['preview']))
echo '<div class="phdr"><b>Xem trước:</b></div>'.$text;
echo '<div class="gmenu"><span class="red">*</span>Văn bản <span class="red">(Chấp nhận mã HTML)</span>:<br />'.tag_insert().'<textarea style="width:98%" rows="'.$field_h.'" id="text" name="text">'.htmlentities(trim($text), ENT_QUOTES, 'UTF-8').'</textarea><br />';
echo 'Truy cập <select name="access"><option'.($access == 0 ? ' selected="selected"' : '').' value="0">Truy cập mở</option>
<option'.($access == 1 ? ' selected="selected"' : '').' value="1">Chỉ dành cho khách</option>
<option'.($access == 2 ? ' selected="selected"' : '').' value="2">Chỉ dành cho thành viên</option></select><br />';
echo '<input type="submit" name="submit" value="Tạo" /> <input type="submit" name="preview" value="Xem trước" /> <input type="reset" value="Làm lại" /></div>';
echo '<div class="gmenu">Chiều cao (9 đến 50 dòng): <input type="text" name="row" size="2" maxlength="2" value="'.$field_h.'" /> <input type="submit" name="field_h" value="OK" />'.(@is_dir('tiny_mce') ? (!empty($_SESSION['tiny_mce']) ? '<br /><input type="submit" name="visualoff" value="Visual-Off" />' : '<br /><input type="submit" name="visualon" value="Visual-On" />') : '').'</div></form>';
break;
/** Danh sách страниц */
case 'list':
// Закрываем доступ для пользователей
if ($rights < 9){
echo functions::display_error('Không được phép !');
require('incfiles/end.php');
exit;
}
echo'<div class="phdr">Danh sách trang</div>';
$total = mysql_result(mysql_query("SELECT COUNT(*) FROM `tx_pages` "), 0);
echo '<div class="gmenu"><a href="page.php?act=add">Thêm mới</a></div>';
if ($total){
if ($total > $kmess){
echo '<div class="topmenu">'.functions::display_pagination('page.php?act=list&', $start, $total, $kmess) . '</div>';
}
$req = mysql_query("SELECT * FROM `tx_pages` LIMIT ".$start.", ".$kmess." ");
while ($res = mysql_fetch_array($req)){
echo ($i % 2) ? '<div class="list2">' : '<div class="list1">';
$access_array = array('Truy cập mở', 'Chỉ dành cho khách', 'Chỉ dành cho thành viên');
echo '<a href="page.php?p='.$res['adr'].'" target="_blank">'.functions::checkout($res['name']).'</a> '.$access_array[$res['access']].' (Lượt xem: '.$res['views'].')';
echo '<div class="sub">'.mb_substr(strip_tags($res['text']), 0, 200).'<br /><input type="text" readonly="readonly" onclick="this.select();" value="'.$set['homeurl'].'/page.php?p='.$res['adr'].'" /><br /><a href="page.php?act=edit&id='.$res['id'].'">Sửa</a> <a href="page.php?act=del&id='.$res['id'].'">Xóa</a></div>';
++$i;
echo '</div>';
}
if (!$i) echo '<div class="list1">Lỗi dữ liệu !</div>';
echo '<div class="phdr">Tổng số: '.$total.'</div>';
if ($total > $kmess){
echo '<div class="topmenu">'.functions::display_pagination('page.php?act=list&', $start, $total, $kmess).'</div>';
echo '<p><form action="page.php?act=list" method="post"><input type="text" name="page" size="2"/><input type="submit" value="Chuyển đến >>"/></form></p>';
}
}else{
echo '<div class="list1">Trống !</div>';
}
break;
/** Выводим конкретную страницу */
default:
if (!$p){
header('Location: index.php?err');
exit;
}
// считаем просмотры страницы
if ($_SESSION['view_page'] != $p || empty($_SESSION['view_page'])){
$_SESSION['view_page'] = $p;
mysql_query("UPDATE `tx_pages` SET `views` = views + 1 WHERE `id` = '".$page_res['id']."' LIMIT 1 ");
$page_res['views'] = $page_res['views'] + 1;
}
// Выводим текст
echo $page_res['text'];
// выводим ссылки на редактирование
if ($rights == 9){
echo '<div class="rmenu"><a href="page.php?act=edit&id='.$page_res['id'].'">Sửa</a> <a href="page.php?act=del&id='.$page_res['id'].'">Xóa</a> (lượt xem: '.$page_res['views'].')</div>';
}
}
require('incfiles/end.php');