Файл: blogs/edit.php
Строк: 218
<?php
require_once ('../shaxty.php');
check_login();
$blog = isset ($_GET['blog']) ? check(abs(intval($_GET['blog']))) : '';
$inf = mysql_fetch_array (@mysql_query ("Select * from `blogs` WHERE tip = 'msg' and id = '".$blog."'"));
$title='Изменить блог';
$align = 'left';
$set['bl_up'] = 50000;
unset($_SESSION['msg']);
unset($_SESSION['s']);
include_once (H.'shaxty/head.php');
echo $div4.'<b>Изменить блог</b>'.$div9;
echo '<br />';
if(!$inf['id']){
echo 'Блога не существует!';
echo '<br />';
include_once (H.'shaxty/foot.php');
}
if($inf['user_id']!=$user['id']&&$user['level']<5){
echo 'Это не ваш блог!';
echo '<br />';
include_once (H.'shaxty/foot.php');
}
if (!isset($_POST['submit'])) {
echo '<form action="?blog='.$blog.'" method="post" enctype="multipart/form-data">';
// Список расширений файлов, разрешенных к выгрузке
// Файлы Windows
$ext_win = array (
'exe',
'msi'
);
// Файлы Java
$ext_java = array (
'jar',
'jad'
);
// Файлы SIS
$ext_sis = array (
'sis',
'sisx'
);
// Файлы документов и тексты
$ext_doc = array (
'txt',
'pdf',
'doc',
'rtf',
'djvu',
'xls'
);
// Файлы картинок
$ext_pic = array (
'jpg',
'jpeg',
'gif',
'png',
'bmp',
'wmf'
);
// Файлы архивов
$ext_zip = array (
'zip',
'rar',
'7z',
'tar',
'gz'
);
// Файлы видео
$ext_video = array (
'3gp',
'avi',
'flv',
'mpeg',
'mp4'
);
// Звуковые файлы
$ext_audio = array (
'mp3',
'amr'
);
if (isset($_POST['upl'])) {
if (strlen($_POST['fail1']) > 0) { // Если с оперы мини
$array = explode('file=', $_POST['fail1']);
$fname = strtolower($array [0]);
$fnames=$_POST['fail1']; //имя
$filebase64 = $array [1];
$fsize = strlen(base64_decode($filebase64));
$ext = explode(".", $fname);
// Проверка на допустимый размер файла
if ($fsize >= 1024 * $set['bl_up']) {
echo 'Вес файла превышает <b>'.$set['flsz_pr'].'</b> кб.<br />';
include_once (H.'shaxty/foot.php');
}
// Список допустимых расширений файлов.
$al_ext = array_merge($ext_win, $ext_java, $ext_sis, $ext_doc, $ext_pic, $ext_zip, $ext_video, $ext_audio);
// Проверка допустимых расширений файлов
if (!in_array($ext, $al_ext)) {
echo '<br />Запрещенный тип файла!<br />';
echo 'К отправке разрешены только файлы, имеющие следующее расширение:<br />';
echo implode(', ', $al_ext);
echo '<br />';
include_once (H.'shaxty/foot.php');
}
if ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")) {
echo "<br /><b>Файл $fnames запрещен!</b><br/>";
mysql_query("DELETE FROM `forum_msg` where id = '".check(intval($m))."'");
include_once (H.'shaxty/foot.php');
}
if($ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl'){
echo 'Запрещенный файл!';
include_once (H.'shaxty/foot.php');
}
if (eregi("[^a-z0-9.()+_-]", $fname)) {
echo '<br />В названии файла "<b>' . $fname . '</b>" присутствуют недопустимые символы.<br />';
echo 'Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br />Запрещены пробелы.<br />';
include_once (H.'shaxty/foot.php');
}
// Для Opera Mini
if (strlen($filebase64) > 0) {
$FileName = "files/$fname";
$filedata = base64_decode($filebase64);
$fid = @ fopen($FileName, "wb");
if ($fid) {
if (flock($fid, LOCK_EX)) {
fwrite($fid, $filedata);
flock($fid, LOCK_UN);
}
fclose($fid);
}
if (file_exists($FileName) && filesize($FileName) == strlen($filedata)) {
if (in_array($ext, $ext_pic)) $_POST['file['.$i.']'] = '[img]'.$name.'[imgg]';
//elseif (in_array($ext, $ext_video)) $_POST['file['.$i.']'] = '[video]'.$name.'[/video]';
else $_POST['file['.$i.']'] = '[url=http://'.$_SERVER['HTTP_HOST'].'/files/'.$name.']'.$name.'[/url]';
/*mysql_query("INSERT INTO `forum_file` (`t_id`, `m_id`, `user_id`, `file`, `fname`, `fsize`, `sfile`, `f_id`, `r_id`, `privat`, `vip`) VALUES ('$id', '$m', '$user[id]', '$file0', '$name', '$size', '0', '".$for['id']."', '".$razd['id']."', '".$privat."', '".$vip."');");*/
}
else {
echo '<b>Закачка файла '.$name.' окончилась неудачно.</b><br>';
}
}else {
echo '<b>Закачка файла '.$name.' окончилась неудачно.</b><br>';
}
}else { // Если с компа
for($i=0; $i<count($_FILES['userfile']['name']); $i++)
{
if(empty($_FILES['userfile']['name'][$i])){
continue;
}
$name = $_FILES['userfile']['name'][$i];
$ex = pathinfo($name);
$ext = strtolower($ex['extension']);
$ext2 = explode(".", $fname);
$fsize = $_FILES['userfile']['size'][$i];
$to = '../files/blogs/'.$name;
$fname = strtolower($_FILES['userfile']['name'][$i]);
$fnames=$_FILES['userfile']['name'][$i]; //имя
if($ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl') die ('В ухо дам!');
// Проверка на допустимый размер файла
if ($fsize >= 1024 * $set['bl_up']) {
echo 'Вес файла превышает <b>'.$set['flsz_pr'].'</b> кб.<br />';
include_once (H.'shaxty/foot.php');
}
// Список допустимых расширений файлов.
$al_ext = array_merge($ext_win, $ext_java, $ext_sis, $ext_doc, $ext_pic, $ext_zip, $ext_video, $ext_audio);
// Проверка допустимых расширений файлов
if (!in_array($ext, $al_ext)) {
echo '<br />Запрещенный тип файла!<br />';
echo 'К отправке разрешены только файлы, имеющие следующее расширение:<br />';
echo implode(', ', $al_ext);
echo '<br />';
include_once (H.'shaxty/foot.php');
}
if ((preg_match("/.php/i", $fnames)) or (preg_match("/.pl/i", $fnames)) or ($fnames == ".htaccess")) {
echo "<br /><b>Файл $fnames запрещен!</b><br/>";
mysql_query("DELETE FROM `forum_msg` where id = '".check(intval($m))."'");
include_once (H.'shaxty/foot.php');
}
if($ext=='php' or $ext=='php3' or $ext=='php4' or $ext=='php5' or $ext=='php6' or $ext=='phtml' or $ext=='cgi' or $ext=='asp' or $ext=='js' or $ext=='phtm' or $ext=='py' or $ext=='pl'){
echo 'Запрещенный файл!';
include_once (H.'shaxty/foot.php');
}
if (eregi("[^a-z0-9.()+_-]", $fname)) {
echo '<br />В названии файла "<b>' . $fname . '</b>" присутствуют недопустимые символы.<br />';
echo 'Разрешены только латинские символы, цифры и некоторые знаки ( .()+_- )<br />Запрещены пробелы.<br />';
include_once (H.'shaxty/foot.php');
}
if(move_uploaded_file($_FILES['userfile']['tmp_name'][$i], $to))
{
if (in_array($ext, $ext_pic)) $_POST['file['.$i.']'] = '[img]'.$name.'[/img]';
else $_POST['file['.$i.']'] = '[url=http://'.$_SERVER['HTTP_HOST'].'/files/blogs/'.$name.']'.$name.'[/url]';
}
else{ echo '<b>Закачка файла '.$name.' окончилась неудачно.</b><br>';
}
}
}
}
echo 'Категория:<br>';
echo '<select name="category">';
$catir = @mysql_fetch_array(mysql_query("select * from `blogs` where `tip` = 'cat' and `adds` = '1' and `id` = '".$inf['refid']."'" ));
// Выводим папки :)
if (strpos ($catir['refer'],"|") !== false){
$record=split("|", $catir['refer']);
$num=count($record)-1;
for ($i=1;$i<$num;$i++){
if($i>=$num)break;
$adr=$record[$i];
$cat0=mysql_fetch_array(mysql_query("select * from blogs where tip = 'cat' and `name_lat` = '$adr';"));
$put = ''.$cat0['name'].'»';
}
$cats = $put0.$catir['name'];
echo'<option value="'.$catir['id'].'">'.$cats.'</option>';
}
$q = @mysql_query("select * from `blogs` where `tip` = 'cat' and `adds` = '1' order by pos" );
while ($categ = @mysql_fetch_array($q))
{
// Выводим папки :)
$record=split("|", $categ['refer']);
$num=count($record)-1;
for ($i=1;$i<$num;$i++){
if($i>=$num)break;
$adr=$record[$i];
$cat0=mysql_fetch_array(mysql_query("select * from blogs where tip = 'cat' and `name_lat` = '$adr';"));
$put = ''.$cat0['name'].'»';
}
$cat = $put.$categ['name'];
echo'<option value="'.$categ['id'].'">'.$cat.'</option>';
}
echo '</select><br>';
if(!empty($_POST['name']))$_POST['name']=$_POST['name'];
else $_POST['name']=$inf['name'];
echo 'Заголовок блога:<br/>';
echo '<input type="text" name="name" value="'.$_POST['name'].'" title="Название"/><br/>';
echo 'Краткое описание:<br/>';
if(!empty($_POST['about']))$_POST['about']=$_POST['about'];
else $_POST['about']=$inf['about'];
echo '<textarea cols="20" rows="3" name="about">'.br($_POST['about']).'</textarea><br>';
echo 'Ключевые слова: (через запятую (,))<br/><small>Используются при поиске</small><br />';
if(!empty($_POST['klych']))$_POST['klych']=$_POST['klych'];
else $_POST['klych']=$inf['klych'];
echo '<textarea cols="20" rows="2" name="klych">'.$_POST['klych'].'</textarea><br>';
if(!empty($_POST['msg']))$_POST['msg']=$_POST['msg'];
else $_POST['msg']=$inf['msg'];
echo '<br /><b>Текст:</b><br /><textarea id="wysiwyg" name="msg" style="width:732px;height:200px;">'.br($_POST['msg']).'</textarea><br />';
echo $div3;
quickpaste('msg');
quickcode();
quicksmiles();
echo $div9;
echo '<b><a href="help.php?bb">Теги</a></b> | <b><a href="/smiles/">Смайлы</a></b><br />';
echo '<dl></dl>Добавить файлы:<br>';
if(preg_match('/Opera Mini/(.*)/i', $_SERVER['HTTP_USER_AGENT'])){echo "<input name='fail1' value =''/>
<a href='op:fileselect'>Выбрать файл</a>";
if(isset($_POST['file['.$i.']']))echo '|Код для вставки: <input name="Name" type="text" value="'.$_POST['file['.$i.']'].'">';
echo '<br />';
}else {
if (isset ($_POST['plus']))
++$_POST['count_vote'];
elseif (isset ($_POST['minus']))
--$_POST['count_vote'];
if ($_POST['count_vote'] < 2 || empty ($_POST['count_vote']))
$_POST['count_vote'] = 2;
for ($i = 0; $i < $_POST['count_vote']; $i++) {
echo '<input name="userfile[]" type="file">';
if(isset($_POST['file['.$i.']']))echo '|Код для вставки: <input name="Name" type="text" value="'.$_POST['file['.$i.']'].'">';
echo '<br />';
}
echo '<input type="hidden" name="count_vote" value="' . abs(intval($_POST['count_vote'])) . '"/>';
echo '<br/><input type="submit" class="ibutton" name="plus" value="Доб. поле"/>';
echo $_POST['count_vote'] > 2 ? ' | <input type="submit" class="ibutton" name="minus" value="Уд. поле"/> | ' : ' | ';
}
echo '<input type="submit" class="ibutton" name="upl" value="Выгрузить"/>';
echo '<br /><br /><input type="submit" class="ibutton" name="submit" value="Изменить"/></form><br />';
}
else
{
$msg = check($_POST['msg']);
$name = check($_POST['name']);
$about = check($_POST['about']);
$category = check(intval($_POST['category']));
$klych = check($_POST['klych']);
if ($user['translit']==1)$name = translit($name);
if ($user['translit']==1)$about = translit($about);
$query = mysql_query("SELECT * FROM `blogs` WHERE `user_id` = '".$user['id']."' and refid = '".$category."' and name = '".$name."' and id != '".$blog."';");
if(mysql_affected_rows() > 0){
$err = 'Ваш блог с таки названием уже есть в этой категории!<br />';
}
$catss=mysql_fetch_array(mysql_query("select * from blogs where tip = 'cat' and `id` = '$category';"));
$refer = $catss['refer'].$catss['name_lat']."|";
if (strlen2($name)<5)$err = 'Короткий заголовок (мин. 5)';
if (empty($err)){
if(mysql_query("UPDATE `blogs` SET `name` = '$name', `about` = '$about', `msg` = '$msg', `refid` = '$category', `refer` = '$refer', `klych` = '$klych' WHERE tip = 'msg' and `id`='".$blog."' LIMIT 1")){
echo '<b>Блог успешно изменен!</b><br />';
/*echo 'Адрес блога: <input name="Name" type="text" value="http://'.$_SERVER['HTTP_HOST'].'/'.$blog.'"><br />';
echo 'Код для публикации на форумах/блогах: <br />
<textarea cols="30" rows="5">[url=http://'.$_SERVER['HTTP_HOST'].'/'.$blog.']'.$name.'[/url]</textarea><br /><br />';*/
echo 'Ссылка: <input name="ss" size="15" value="http://'.$_SERVER['HTTP_HOST'].'/'.$blog.'" /><br />
BB Код: <input name="bb" size="15" value="[url=http://'.$_SERVER['HTTP_HOST'].'/'.$blog.']'.$name.'[/url]" /><br />
HTML : <input name="html" size="15" value="<a href="http://'.$_SERVER['HTTP_HOST'].'/'.$blog.'">'.$name.'</a>" /><br />';
echo '<br /><div class="button1"><a href="'.$blog.'">В блог</a></div>';
echo '<div class="button3"><a href="my.php">Мои блоги</a></div><br /><br />';
}else echo 'Ошибка!<br />';
}else echo $err;
}
echo '<br />';
echo $div1.'<a href="index.php">Блоги</a>'.$div9;
include_once (H.'shaxty/foot.php');
?>