Файл: adultscript-2.0.3-pro/files/templates/defboot/extend/ajax/user_album_delete.plugin.php
Строк: 36
<?php
defined('_VALID') or die('Restricted Access!');
function ajax_plugin_user_album_delete()
{
$data = array('status' => 0, 'msg' => '', 'debug' => '');
if (isset($_POST['album_id'])) {
VLanguage::load('frontend.photo');
if (VAuth::loggedin()) {
$user_id = (int) $_SESSION['user_id'];
$album_id = (int) trim($_POST['album_id']);
$db = VF::factory('database');
$db->query("SELECT GROUP_CONCAT(pc.cat_id) AS categories
FROM #__photo_albums AS a
INNER JOIN #__photo_category AS pc ON (pc.album_id = a.album_id)
WHERE a.album_id = ".$album_id."
AND a.user_id = ".$user_id."
LIMIT 1");
if ($db->affected_rows()) {
$categories = $db->fetch_field('categories');
$db->query("SELECT photo_id, ext
FROM #__photo
WHERE album_id = ".$album_id);
if ($total_photos = $db->affected_rows()) {
$photos = $db->fetch_rows();
$method = VCfg::get('photo.delete_method');
if ($method == 'delete') {
$tables = array('photo', 'photo_comments', 'photo_favorites', 'photo_flags', 'photo_rating');
foreach ($photos as $photo) {
$photo_id = (int) $photo['photo_id'];
foreach ($tables as $table) {
$db->query("DELETE FROM #__".$table." WHERE photo_id = ".$photo_id);
}
VFile::delete(MEDIA_DIR.'/photos/'.$photo_id.'.jpg');
VFile::delete(MEDIA_DIR.'/photos/orig/'.$photo_id.'.'.$photo['ext']);
VFile::delete(MEDIA_DIR.'/photos/thumbs/'.$photo_id.'.jpg');
}
} elseif ($method == 'suspend') {
$tables = array('photo', 'photo_comments');
foreach ($photos as $photo) {
$photo_id = (int) $photo['photo_id'];
foreach ($tables as $table) {
$db->query("UPDATE #__".$table." SET status = '0' WHERE photo_id = ".$photo_id);
}
}
}
}
if ($method == 'delete') {
$categories = explode(',', $categories);
foreach ($categories as $category) {
$db->query("UPDATE #__photo_categories SET total_albums = total_albums-1 WHERE cat_id = ".$category." LIMIT 1");
}
$db->query("SELECT model_id FROM #__model_albums WHERE album_id = ".$album_id);
if ($db->affected_rows()) {
$models = $db->fetch_rows();
foreach ($models as $model) {
$db->query("UPDATE #__model SET total_albums = total_albums-1 WHERE model_id = ".(int) $model['model_id']." LIMIT 1");
}
}
$db->query("UPDATE #__user_activity SET total_albums = total_albums-1 WHERE user_id = ".$user_id." LIMIT 1");
$tables = array('photo_albums', 'model_albums', 'photo_album_views', 'photo_tags', 'photo_category');
foreach ($tables as $table) {
$db->query("DELETE FROM #__".$table." WHERE album_id = ".$album_id);
}
VFile::delete(MEDIA_DIR.'/photos/covers/'.$album_id.'.jpg');
$data['status'] = 1;
} elseif ($method == 'suspend') {
$db->query("UPDATE #__photo_albums SET status = '0' WHERE album_id = ".$album_id." LIMIT 1");
$data['status'] = 1;
} elseif ($method == 'change') {
$db->query("SELECT user_id FROM #__user WHERE username = '".$db->escape(VCfg::get('photo.delete_username'))."' LIMIT 1");
if (!$db->affected_rows()) {
throw new VException('Application Error! Aborting...');
}
$n_user_id = (int) $db->fetch_field('user_id');
$db->query("UPDATE #__photo_albums SET user_id = ".$n_user_id." WHERE album_id = ".$album_id." LIMIT 1");
$db->query("UPDATE #__user_activity SET total_albums = total_albums-1 WHERE user_id = ".$user_id." LIMIT 1");
$db->query("UPDATE #__user_activity SET total_albums = total_albums+1 WHERE user_id = ".$n_user_id." LIMIT 1");
$data['status'] = 1;
}
} else {
$data['msg'] = __('album-invalid');
}
} else {
$data['msg'] = __('album-delete-login');
}
} else {
$data['msg'] = 'Invalid ajax request!?';
}
return json_encode($data);
}