/**
  * Load all categories from database
  * @param string SQL Filters
  * @return array
  */
 public function load_images_categories($filters = 'ORDER BY id_cat DESC', $object = false)
 {
     $db = Database::getInstance();
     $sql = "SELECT * FROM " . $db->prefix("rmc_img_cats") . " {$filters}";
     $result = $db->query($sql);
     $categories = array();
     while ($row = $db->fetchArray($result)) {
         $tc = new RMImageCategory();
         $tc->assignVars($row);
         if (!$object) {
             $categories[] = array('id' => $tc->id(), 'name' => $tc->getVar('name'));
         } else {
             $categories[] = $tc;
         }
     }
     return $categories;
 }
Exemple #2
0
/**
* This function deletes all images in a category and the category
*/
function delete_category()
{
    global $xoopsSecurity;
    $id = rmc_server_var($_GET, 'id', 0);
    if (!$xoopsSecurity->check()) {
        redirectMsg('images.php?action=showcats', __('Operation not allowed!', 'rmcommon'), 1);
        die;
    }
    if ($id <= 0) {
        redirectMsg('images.php?action=showcats', __('Category ID not provided', 'rmcommon'), 1);
        die;
    }
    $cat = new RMImageCategory($id);
    if ($cat->isNew()) {
        redirectMsg('images.php?action=showcats', __('Category not found', 'rmcommon'), 1);
        die;
    }
    $sizes = array();
    foreach ($cat->getVar('sizes') as $size) {
        if ($size['width'] <= 0) {
            continue;
        }
        $sizes[] = '_' . $size['width'] . 'x' . $size['height'];
    }
    $db = Database::getInstance();
    $sql = "SELECT * FROM " . $db->prefix("rmc_images") . " WHERE cat='" . $cat->id() . "'";
    $result = $db->query($sql);
    while ($row = $db->fetchArray($result)) {
        $image = new RMImage();
        $image->assignVars($row);
        $updir = XOOPS_UPLOAD_PATH . '/' . date('Y', $image->getVar('date')) . '/' . date('m', time());
        $fd = pathinfo($image->getVar('file'));
        foreach ($sizes as $size) {
            $file = $updir . '/sizes/' . $fd['filename'] . $size . '.' . $fd['extension'];
            @unlink($file);
        }
        $file = $updir . '/' . $image->getVar('file');
        @unlink($file);
        $image->delete();
    }
    if ($cat->delete()) {
        redirectMsg('images.php?action=showcats', __('Category deleted successfully!', 'rmcommon'), 0);
    } else {
        redirectMsg('images.php?action=showcats', __('Errors ocurred while deleting the category', 'rmcommon') . '<br />' . $cat->errors(), 0);
    }
}
Exemple #3
0
    mkdir($updir);
    chmod($updir, octdec('0777'));
}
if (!file_exists($updir . '/sizes')) {
    mkdir($updir . '/sizes');
    chmod($updir . '/sizes', octdec('0777'));
}
include RMCPATH . '/class/uploader.php';
$uploader = new RMFileUploader($updir, $cat->max_file_size(), array('gif', 'jpg', 'jpeg', 'png'));
$err = array();
if (!$uploader->fetchMedia('Filedata')) {
    error($uploader->getErrors());
}
if (!$uploader->upload()) {
    error($uploader->getErrors());
}
// Insertamos el archivo en la base de datos
$image = new RMImage();
$image->setVar('title', $uploader->savedFileName);
$image->setVar('date', time());
$image->setVar('file', $uploader->savedFileName);
$image->setVar('cat', $cat->id());
$image->setVar('uid', $xoopsUser->uid());
if (!$image->save()) {
    unlink($uploader->savedDestination);
    error(__('File could not be inserted to database!', 'rmcommon'));
}
$ret['message'] = '1';
$ret['id'] = $image->id();
echo json_encode($ret);
die;
    echo $message;
    echo '<input type="hidden" id="ret-token" value="' . $xoopsSecurity->createToken() . '" />';
    die;
}
$category = rmc_server_var($_POST, 'category', 0);
$action = rmc_server_var($_POST, 'action', '');
$cat = new RMImageCategory($category);
$type = rmc_server_var($_REQUEST, 'type', 'tiny');
$en = rmc_server_var($_REQUEST, 'name', '');
if ($action == '') {
    RMTemplate::get()->add_local_script('jquery.min.js', 'rmcommon', 'include');
    RMTemplate::get()->add_local_script('jquery-ui.min.js', 'rmcommon', 'include');
    RMTemplate::get()->add_local_script('images_editor.js', 'rmcommon', 'include');
    if (!$cat->isNew()) {
        $uploader = new RMFlashUploader('files-container', 'upload.php');
        $uploader->add_setting('scriptData', array('action' => 'upload', 'category' => $cat->id(), 'rmsecurity' => TextCleaner::getInstance()->encrypt($xoopsUser->uid() . '|' . RMCURL . '/images.php' . '|' . $xoopsSecurity->createToken(), true)));
        $uploader->add_setting('multi', true);
        $uploader->add_setting('fileExt', '*.jpg;*.png;*.gif');
        $uploader->add_setting('fileDesc', __('All Images (*.jpg, *.png, *.gif)', 'rmcommon'));
        $uploader->add_setting('sizeLimit', $cat->getVar('filesize') * $cat->getVar('sizeunit'));
        $uploader->add_setting('buttonText', __('Browse Images...', 'rmcommon'));
        $uploader->add_setting('queueSizeLimit', 100);
        $uploader->add_setting('auto', true);
        $uploader->add_setting('onSelect', "function(event, qid, file){\n        \tif (queuefiles[qid]) return false;\n        \tqueuefiles[qid] = true;\n        \treturn true;\n        }");
        $uploader->add_setting('onComplete', "function(event, id, file, resp, data){\n            eval('ret = '+resp);\n            if (ret.error){\n                \$('#upload-errors').append('<span class=\"failed\"><strong>'+file.name+'</strong>: '+ret.message+'</span>');\n            } else {\n                total++;\n                ids[total-1] = ret.id;\n                \$('#upload-errors').append('<span class=\"done\"><strong>'+file.name+'</strong>: " . __('Uploaded successfully!', 'rmcommon') . "</span>');\n            }\n            return true;\n        }");
        $uploader->add_setting('onAllComplete', "function(event, data){\n            if(total<=0) return;\n                \$('.categories_selector').hide('slow');\n                \$('#upload-errors').hide('slow');\n                \$('#upload-errors').html('');\n                \$('#upload-controls').hide('slow');\n                \$('#resizer-bar').show('slow');\n                \$('#resizer-bar').effect('highlight',{},1000);\n                \$('#gen-thumbnails').show();\n                    \n                var increments = 1/total*100;\n                url = '" . RMCURL . "/images.php';\n                    \n                params = '" . TextCleaner::getInstance()->encrypt($xoopsUser->uid() . '|' . RMCURL . '/images.php' . '|' . $xoopsSecurity->createToken(), true) . "';\n                resize_image(params);\n                    \n        }");
        $uploader->add_setting('onSelectOnce', "function(event, data){\n            \$('#upload-errors').html('');\n        }");
        RMTemplate::get()->add_head($uploader->render());
    }
    $categories = RMFunctions::load_images_categories("WHERE status='open' ORDER BY id_cat DESC", true);
    RMTemplate::get()->add_style('imgmgr.css', 'rmcommon');