Файл: InstantSocial/uploud/core/ajax/imginsert.php
Строк: 88
<?php
/******************************************************************************/
// //
// InstantCMS v1.9 //
// http://www.instantcms.ru/ //
// //
// written by InstantCMS Team, 2007-2011 //
// produced by InstantSoft, (www.instantsoft.ru) //
// //
// LICENSED BY GNU/GPL v2 //
// //
/******************************************************************************/
header('Content-Type: text/html; charset=windows-1251');
session_start();
define("VALID_CMS", 1);
define('PATH', $_SERVER['DOCUMENT_ROOT']);
include(PATH.'/core/cms.php');
$inCore = cmsCore::getInstance();
define('HOST', 'http://' . $inCore->getHost());
$inCore->loadClass('config'); //конфигурация
$inCore->loadClass('db'); //база данных
$inCore->loadClass('user'); //юзер
$inUser = cmsUser::getInstance();
$inDB = cmsDatabase::getInstance();
$place = $inCore->request('place', 'str');
// если место не определено, выводим ошибку и выходим
if (!$place) {
echo "{";
echo "error: 'Файл не загружен!',n";
echo "msg: ''n";
echo "}";
die();
}
// если в имени компонента запрещенные сиволы, выходим
if (!preg_match('/^([a-zA-Z0-9_]+)$/i', $place)) { die(); }
// если не авторизованы, выводим ошибку и выходим
$inUser->update();
if (!$inUser->id) {
echo "{";
echo "error: 'Загрузка файлов только для зарегистрированных!',n";
echo "msg: ''n";
echo "}";
die();
}
if(isset($_FILES['attach_img'])) {
//LOAD CURRENT CONFIG
$cfg = $inCore->loadComponentConfig($place);
if (!isset($cfg['img_max'])) { $cfg['img_max'] = 50; }
if (!isset($cfg['img_on'])) { $cfg['img_on'] = 1; }
if (!isset($cfg['watermark'])) { $cfg['watermark'] = 1; }
if (!isset($cfg['img_w'])) { $cfg['img_w'] = 600; }
if (!isset($cfg['img_h'])) { $cfg['img_h'] = 600; }
if ($cfg['img_on']){
$sql = "SELECT * FROM cms_upload_images WHERE session_id = '".session_id()."'";
$rs = $inDB->query($sql);
$loaded = $inDB->num_rows($rs);
if ($loaded < $cfg['img_max']){
$uploaddir = PATH.'/upload/'.$place.'/';
$realfile = $_FILES['attach_img']['name'];
$path_parts = pathinfo($realfile);
$ext = strtolower($path_parts['extension']);
if ($ext == 'jpg' || $ext == 'jpeg' || $ext == 'gif' || $ext == 'bmp' || $ext == 'png'){
// оригинальный файл
$filename = md5($realfile.time()).'-orig.'.$ext;
$uploadfile = $uploaddir . $filename;
// сконверченый файл
$filename_jpg = md5($realfile.time()).'.jpg';
$uploadphoto = $uploaddir . $filename_jpg;
// url файла
$fileurl = '/upload/'.$place.'/'.$filename_jpg;
if ($inCore->moveUploadedFile($_FILES['attach_img']['tmp_name'], $uploadfile, $_FILES['attach_img']['error'])) {
$inCore->includeGraphics();
$sql = "INSERT INTO cms_upload_images (post_id, session_id, fileurl, target)
VALUES ('0', '".session_id()."', '{$fileurl}', '$place')";
$inDB->query($sql);
@img_resize($uploadfile, $uploadphoto, $cfg['img_w'], $cfg['img_h']);
if ($cfg['watermark']) { @img_add_watermark($uploadphoto); }
@unlink($uploadfile);
echo "{";
echo "error: '',n";
echo "msg: '".$filename_jpg."'n";
echo "}";
} else {
echo "{";
echo "error: 'Файл не загружен! Проверьте его тип, размер и права на запись в папку /upload/$place.',n";
echo "msg: ''n";
echo "}";
}
} else {
echo "{";
echo "error: 'Неверный тип файла! Допустимые типы: jpg, jpeg, gif, png, bmp.',n";
echo "msg: ''n";
echo "}";
} //filetype
}//max limit
else {
echo "{";
echo "error: 'Достигнут предел количества изображений!',n";
echo "msg: ''n";
echo "}";
}
} //img is on
else {
echo "{";
echo "error: 'Загрузка файлов запрещена!',n";
echo "msg: ''n";
echo "}";
}
} else {
echo "{";
echo "error: 'Файл не загружен!',n";
echo "msg: ''n";
echo "}";
}
return;
?>