87 lines
4.4 KiB
PHP
Executable File
87 lines
4.4 KiB
PHP
Executable File
<?php
|
|
|
|
ini_set('display_errors', 0);
|
|
|
|
switch( @$_POST['act'] ) {
|
|
|
|
/* 05.05.2021 Загрузка фотографий */
|
|
case 'foto_upload':
|
|
if ( $_FILES['file']['tmp_name'] ){
|
|
if ( preg_match( '/[.](jpg)|(jpeg)|(JPG)|(JPEG)$/', $_FILES['file']['name'] ) ){
|
|
/* 06.05.2021 вычисляем контрольную сумму чтобы дважды не загружать одно и то же */
|
|
unset($id);
|
|
$md5['md5'] = md5_file( $_FILES['file']['tmp_name'] );
|
|
/* ищем в базе - есть ли оно */
|
|
$db -> free_sql2( 'ALTER TABLE `foto_img` ADD `md5` varchar(100) NULL' );
|
|
$id = $db -> get_val( 'foto_img', $md5, 'id' );
|
|
if ( $id )die( 'Уже есть такое' );
|
|
@mkdir( MYDIR . '/img/albums', 0700 );
|
|
@mkdir( MYDIR . '/img/albums/' . $_SESSION['user_id'], 0700 );
|
|
@mkdir( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'], 0700 );
|
|
@mkdir( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/big', 0700 );
|
|
@mkdir( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/original', 0700 );
|
|
require_once MYDIR . '/api/php/genpass.php';
|
|
$img_name = generate_password( 15 );
|
|
$source = $_FILES['file']['tmp_name'];
|
|
$target_original = MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/original/' . $img_name . '.jpg';
|
|
$target_big = MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/big/' . $img_name . '.jpg';
|
|
$target_small = MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/' . $img_name . '.jpg';
|
|
copy( $source, $target_original );
|
|
require_once MYDIR . '/api/php/img2.php';
|
|
rimg ( $target_original, 640, 480, $target_small, $zip=60, $c=0 );
|
|
//imagemagick жмем картинку пропорционально
|
|
$imagemagick = rimg_prop($target_original, 900, $target_big, $zip=70 );
|
|
//exec('convert ' . $target_original . ' -resize 900 -quality 80 -crop ' . $target_big);
|
|
require_once MYDIR . '/api/php/wm.php';
|
|
$size = getimagesize ($target_big);
|
|
watermark_image($target_big, $target_big, $size[0], $size[1]);
|
|
|
|
/*$f= fopen(MYDIR . '/log/txt.txt','w') ;
|
|
fwrite($f, );
|
|
fclose($f);*/
|
|
//rimg ( $target_original, 1280, 720, $target_big, $zip=60, $c=0 );
|
|
unset( $a );
|
|
$db -> free_sql2( 'ALTER TABLE `foto_img` ADD `size` varchar(20) NULL' );
|
|
$a['img'] = $img_name;
|
|
$a['private'] = $_SESSION['private'];
|
|
$a['user_id'] = $_SESSION['user_id'];
|
|
$a['album_id'] = $_SESSION['album_id'];
|
|
$a['size'] = $_FILES['file']['size'];
|
|
$a['md5'] = $md5['md5'];
|
|
$a['t'] = time();
|
|
echo $img_name;
|
|
$db -> add( 'foto_img', $a );
|
|
}
|
|
}
|
|
break;
|
|
/* 05.05.2021 Удаление фотографий */
|
|
case 'del_foto':
|
|
$dostup = 0; //запрещаем что то делать
|
|
//проверяем авторство фотографии
|
|
unset( $a );
|
|
$a['id'] = $_POST['id'];
|
|
$user_id = $db -> get_val( 'foto_img', $a, 'user_id' );
|
|
if ( $_SESSION['user_id'] == $user_id ) $dostup = 1;
|
|
if ( $_SESSION['dostup'] == 'a' || $_SESSION['dostup'] == 'm' ) $dostup = 1;
|
|
if ( $dostup == 0 ) die( "Кыш!" );
|
|
$img = $db -> get_val( 'foto_img', $a, 'img' );
|
|
unlink( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/original/' . $img . '.jpg' );
|
|
unlink( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/big/' . $img . '.jpg' );
|
|
unlink( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/' . $img . '.jpg' );
|
|
unlink( MYDIR . '/img/albums/' . $_SESSION['user_id'] . '/' . $_SESSION['album_id'] . '/250/' . $img . '.jpg' );
|
|
$db -> del_id( 'foto_img', $a['id'] );
|
|
break;
|
|
/* 05.05.2021 обновление описания фото, аудит-контента
|
|
06.05.2021 проверка авторства вынесена в ядро
|
|
*/
|
|
case 'update':
|
|
if ( $db -> check_access ( 'foto_img', $_POST['id'] ) ==0 ) die( 'Нельзя!' );
|
|
if ($_POST['t2']=='longtext')
|
|
$db -> free_sql2( 'ALTER TABLE `foto_img` ADD `' . $_POST['t'] . '` longtext NULL' );
|
|
else
|
|
$db -> free_sql2( 'ALTER TABLE `foto_img` ADD `' . $_POST['t'] . '` varchar(250) NULL' );
|
|
$db -> free_sql( "UPDATE `foto_img` SET `" . $_POST['t'] . "` = '" . $_POST['txt'] . "' WHERE `id` = " . $_POST['id'] . ";" );
|
|
break;
|
|
default:
|
|
}
|
|
?>
|