Beispiel #1
0
/**
* Delete an image
*/
function delete_image()
{
    $ids = rmc_server_var($_REQUEST, 'imgs', array());
    $page = rmc_server_var($_REQUEST, 'page', 0);
    $category = rmc_server_var($_REQUEST, 'category', 0);
    if (count($ids) <= 0) {
        redirectMsg('images.php?category=' . $category . '&page=' . $page, __('Please, speciy an image at least!', 'rmcommon'), 1);
        die;
    }
    $errors = '';
    foreach ($ids as $id) {
        $image = new RMImage($id);
        if ($image->isNew()) {
            redirectMsg('images.php', __('Image not exists!', 'rmcommon'), 1);
            die;
        }
        $cat = new RMImageCategory($image->getVar('cat'));
        $fd = pathinfo($image->getVar('file'));
        $updir = XOOPS_UPLOAD_PATH . '/' . date('Y', $image->getVar('date')) . '/' . date('m', time());
        // Delete current image files
        foreach ($cat->getVar('sizes') as $size) {
            if ($size['width'] <= 0) {
                continue;
            }
            $file = $updir . '/sizes/' . $fd['filename'] . '_' . $size['width'] . 'x' . $size['height'] . '.' . $fd['extension'];
            @unlink($file);
        }
        $file = $updir . '/' . $image->getVar('file');
        @unlink($file);
        if (!$image->delete()) {
            $errors .= $image->errors();
        }
    }
    if ($errors != '') {
        redirectMsg('images.php?category=' . $cat->id() . '&page=' . $page, __('Errors ocurred during images deletion!', 'rmcommon') . '<br />' . $errors, 0);
    } else {
        redirectMsg('images.php?category=' . $cat->id() . '&page=' . $page, __('Images deleted successfully!', 'rmcommon'), 0);
    }
}