nativegallery/app/Controllers/Api/Admin/Images/SetVisibility.php

45 lines
1.5 KiB
PHP
Raw Normal View History

2024-07-18 16:05:32 +03:00
<?php
namespace App\Controllers\Api\Admin\Images;
use App\Services\{Auth, Router, GenerateRandomStr, DB, Json, EXIF};
2024-07-21 04:43:25 +03:00
use App\Models\{User, Vote, Photo};
2024-07-18 16:05:32 +03:00
class SetVisibility
{
public function __construct()
{
2025-02-11 17:04:31 +03:00
$priority = 0;
2024-07-21 04:43:25 +03:00
$photo = new Photo($_GET['id']);
$data = json_decode($photo->i('content'), true);
if (!array_key_exists('declineReason', $data)) {
$data['declineReason'] = null;
}
2025-02-11 14:20:32 +03:00
if ($_POST['comment'] != null) {
$data['declineComment'] = $_POST['comment'];
}
2025-02-11 17:04:31 +03:00
if ($_GET['mod'] != 1) {
$data['declineReason'] = $_GET['reason'];
} else {
$priority = $_GET['reason'];
}
2024-07-21 04:43:25 +03:00
$updatedJsonString = json_encode($data);
2025-02-11 17:04:31 +03:00
DB::query('UPDATE photos SET moderated=:mod, timeupload=:time, priority=:pr, content=:c WHERE id=:id', array(':id'=>$_GET['id'], ':mod'=>$_GET['mod'], ':time'=>time(), ':pr'=>$priority, ':c'=>$updatedJsonString));
2024-07-20 23:55:53 +03:00
$uid = DB::query('SELECT user_id FROM photos WHERE id=:id', array(':id'=>$_GET['id']))[0]['user_id'];
if ($_GET['mod'] === 1) {
$followers = DB::query('SELECT * FROM followers WHERE user_id=:uid', array(':uid'=>$uid));
foreach ($followers as $f) {
DB::query('INSERT INTO followers_notifications VALUES (\'0\', :uid, :fid, :pid, 0)', array(':uid'=>$uid, ':fid'=>$f['follower_id'], ':pid'=>$_GET['id']));
}
}
2024-07-18 16:05:32 +03:00
header('Location: ' . $_SERVER['HTTP_REFERER']);
}
}