/** * @desc Publica o no publica las imágenes especificadas **/ function publicImages($pub = 0) { $ids = isset($_REQUEST['ids']) ? $_REQUEST['ids'] : 0; $ok = isset($_POST['ok']) ? $_POST['ok'] : 0; $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1; $limit = isset($_REQUEST['limit']) ? intval($_REQUEST['limit']) : 15; $search = isset($_REQUEST['search']) ? $_REQUEST['search'] : ''; $owner = isset($_REQUEST['owner']) ? intval($_REQUEST['owner']) : ''; $sort = isset($_REQUEST['sort']) ? $_REQUEST['sort'] : 'created'; $mode = isset($_REQUEST['mode']) ? $_REQUEST['mode'] : 0; $ruta = "page={$page}&limit={$limit}&search={$search}&owner={$owner}&sort={$sort}&mode={$mode}"; //Verificamos si nos proporcionaron al menos una imagen if (!is_array($ids)) { redirectMsg('./images.php?' . $ruta, __('No images has been selected!', 'galleries'), 1); die; } $errors = ''; foreach ($ids as $k) { //Verificamos si la imagen es válida if ($k <= 0) { $errors .= sprintf(__('Image ID "%s" is not valid', 'galleries'), $k); continue; } //Verificamos si la imagen existe $img = new GSImage($k); if ($img->isNew()) { $errors .= sprintf(__('Image "%s" does not exists!', 'galleries'), $k); continue; } $img->setPublic($pub); if (!$img->save()) { $errors .= sprintf(__('Image could not be updated!', 'galleries'), $k); } } if ($erros != '') { redirectMsg('./images.php?' . $ruta, __('Errors ocurred while trying to update images!') . $errors, 1); die; } else { redirectMsg('./images.php?' . $ruta, __('Images updated successfully!', 'galleries'), 0); die; } }
/** * @desc Almacena el título y descripción de las imágenes **/ function saveAll() { $names = isset($_REQUEST['names']) ? $_REQUEST['names'] : null; $desc = isset($_REQUEST['descs']) ? $_REQUEST['descs'] : null; $page = isset($_REQUEST['pag']) ? $_REQUEST['pag'] : ''; $errors = ''; foreach ($names as $k => $v) { //Verificamos si la imagen es válida if ($k <= 0) { $errors .= sprintf(__('Picture %s is not valid!', 'galleries'), $k); continue; } //Verificamos si la imagen existe $img = new GSImage($k); if ($img->isNew()) { $errors .= sprintf(__('Picture %s does not exists', 'galleries'), $k); continue; } $band = false; if ($v != $img->title()) { $img->setTitle($v); $band = true; } if ($desc[$k] != $img->desc()) { $img->setDesc($desc[$k]); $band = true; } if ($band) { $img->setModified(time()); if (!$img->save()) { $errors .= sprintf(__('Picture %s could not be saved!', 'galleries'), $img->title()); } } } if ($errors != '') { redirect_header('./cpanel.php?pag=' . $page, 2, __('Errors ocurred while trying to save changes.', 'galleries') . $errors); die; } else { redirect_header('./cpanel.php?pag=' . $page, 2, __('Changes applied successfully!', 'galleries')); die; } }
function saveBulkImages() { $mc = RMUtilities::module_config('galleries'); XoopsLogger::getInstance()->activated = false; XoopsLogger::getInstance()->renderingEnabled = false; set_time_limit(0); $security = TextCleaner::getInstance()->decrypt(rmc_server_var($_POST, 'rmsecurity', 0), true); $data = explode("|", $security); $xoopsUser = new XoopsUser($data[1]); if (!isset($data[1]) || $data[1] != XOOPS_URL . '/modules/galleries/admin/images.php') { send_error(__('You are not allowed to do this action', 'galleries')); } foreach ($_POST as $k => $v) { ${$k} = $v; } $ruta = "page={$page}&search={$search}&owner={$uid}&sort={$sort}&mode={$mode}"; if ($xoopsUser->uid() == $uid) { $xu = $xoopsUser; } else { $xu = new XoopsUser($uid); } //Verificamos si el usuario se encuentra registrado $user = new GSUser($xu->uname()); if ($user->isNew()) { //Insertamos información del usuario $user->setUid($uid); $user->setUname($xu->uname()); $user->setQuota($mc['quota'] * 1024 * 1024); $user->setDate(time()); if (!$user->save()) { send_error(__('User owner could not be created!', 'galleries') . "<br />" . $user->errors()); die; } else { mkdir($mc['storedir'] . "/" . $user->uname()); mkdir($mc['storedir'] . "/" . $user->uname() . "/ths"); mkdir($mc['storedir'] . "/" . $user->uname() . "/formats"); } } else { @mkdir($mc['storedir'] . "/" . $user->uname()); @mkdir($mc['storedir'] . "/" . $user->uname() . "/ths"); @mkdir($mc['storedir'] . "/" . $user->uname() . "/formats"); } // Insertamos las etiquetas $tgs = explode(",", $tags); /** * @desc Almacena los ids de las etiquetas que se asignarán a la imágen */ $ret = array(); foreach ($tgs as $k) { $k = trim($k); if ($k == '') { continue; } // Comprobamos que la palabra tenga la longitud permitida if (strlen($k) < $mc['min_tag'] || strlen($k) > $mc['max_tag']) { continue; } // Creamos la etiqueta $tag = new GSTag(TextCleaner::getInstance()->sweetstring($k)); if (!$tag->isNew()) { // Si ya existe nos saltamos $ret[] = $tag->id(); continue; } $tag->setTag($k); if ($tag->save()) { $ret[] = $tag->id(); } } $errors = ''; $k = 1; include_once RMCPATH . '/class/uploader.php'; $updir = $mc['storedir'] . "/" . $xu->uname(); $upths = $mc['storedir'] . "/" . $xu->uname() . "/ths"; // Cargamos la imágen if (!file_exists($updir)) { mkdir($updir, 511); } if (!file_exists($upths)) { mkdir($upths, 511); } $uploader = new RMFileUploader($updir, $mc['size_image'] * 1024, array('gif', 'jpg', 'jpeg', 'png')); $err = array(); if (!$uploader->fetchMedia('Filedata')) { send_error($uploader->getErrors()); } if (!$uploader->upload()) { send_error($uploader->getErrors()); } // Insertamos el archivo en la base de datos $img = new GSImage(); $img->setTitle($uploader->savedFileName); $img->setOwner($uid); $img->setPublic(2); $img->setCreated(time()); $img->setImage($uploader->getSavedFileName()); if (!$img->save()) { unlink($uploader->savedDestination); send_error(__('File could not be inserted to database!', 'galleries')); } $user->addPic(); $img->setTags($ret); //Albumes $sets = explode(",", $sets); if (!empty($sets)) { foreach ($sets as $k => $v) { $album = new GSSet($v); $album->addPic($img->id()); } } $ret['message'] = '1'; $ret['id'] = $img->id(); echo json_encode($ret); die; }
/** * @desc Almacena las imágenes en la base de datos y en el disco duro */ function saveImages() { global $db, $xoopsOption, $xoopsUser, $mc, $tpl, $xmh, $xoopsModuleConfig, $util; $mc =& $xoopsModuleConfig; foreach ($_POST as $k => $v) { ${$k} = $v; } //Verificamos si el usuario se encuentra registrado $user = new GSUser($xoopsUser->uname()); if ($user->isNew()) { //Insertamos información del usuario $user->setUid($xoopsUser->uid()); $user->setUname($xoopsUser->uname()); $user->setQuota($mc['quota'] * 1024 * 1024); $user->setDate(time()); if (!$user->save()) { redirect_header('./submit.php', 1, __('Sorry, an error ocurred while trying to register your permissions on database. Try again later!', 'galleries')); die; } } @mkdir($mc['storedir'] . "/" . $user->uname()); @mkdir($mc['storedir'] . "/" . $user->uname() . "/ths"); @mkdir($mc['storedir'] . "/" . $user->uname() . "/formats"); $mc['saveoriginal'] ? @mkdir($mc['storedir'] . "/originals") : ''; // Insertamos las etiquetas $tgs = explode(" ", $tags); /** * @desc Almacena los ids de las etiquetas que se asignarán a la imagen */ $ret = array(); foreach ($tgs as $k) { $k = trim($k); $kf = TextCleaner::getInstance()->sweetstring($k); if ($kf == '') { continue; } // Comprobamos que la palabra tenga la longitud permitida if (strlen($kf) < $mc['min_tag'] || strlen($kf) > $mc['max_tag']) { continue; } // Creamos la etiqueta $tag = new GSTag($k); if (!$tag->isNew()) { // Si ya existe nos saltamos $ret[] = $tag->id(); continue; } $tag->setTag($k); $tag->setVar('nameid', $kf); if ($tag->save()) { $ret[] = $tag->id(); } } $errors = ''; $k = 1; include_once RMCPATH . '/class/uploader.php'; $up = new RMFileUploader(true); $folder = $mc['storedir'] . "/" . $xoopsUser->uname(); $folderths = $mc['storedir'] . "/" . $xoopsUser->uname() . "/ths"; foreach ($_FILES['images']['name'] as $k => $v) { if ($v == '') { continue; } $img = new GSImage(); $img->setOwner($xoopsUser->uid()); $img->setPublic($privacy); $img->setCreated(time()); //Imagen $filename = ''; $up = new RMFileUploader($folder, $mc['size_image'] * 1024, array('jpg', 'png', 'gif')); if ($up->fetchMedia('images', $k)) { if (!$up->upload()) { $errors .= $up->getErrors(); continue; } $filename = $up->getSavedFileName(); $fullpath = $up->getSavedDestination(); $thSize = $mc['image_ths']; $imgSize = $mc['image']; if ($thSize[0] <= 0) { $thSize[0] = 100; } if (!isset($thSize[1]) || $thSize[1] <= 0) { $thSize[1] = $thSize[0]; } if ($imgSize[0] <= 0) { $imgSize[0] = 500; } if (!isset($imgSize[1]) || $imgSize[1] <= 0) { $imgSize[1] = $imgSize[0]; } // Almacenamos la imágen original if ($mc['saveoriginal']) { copy($fullpath, $mc['storedir'] . '/originals/' . $filename); } // Redimensionamos la imagen $redim = new RMImageResizer($fullpath, $fullpath); switch ($mc['redim_image']) { case 0: //Recortar miniatura $redim->resizeWidth($imgSize[0]); $redim->setTargetFile($folderths . "/{$filename}"); $redim->resizeAndCrop($thSize[0], $thSize[1]); break; case 1: //Recortar imagen grande $redim->resizeWidthOrHeight($imgSize[0], $imgSize[1]); $redim->setTargetFile($folderths . "/{$filename}"); $redim->resizeWidth($thSize[0]); break; case 2: //Recortar ambas $redim->resizeWidthOrHeight($imgSize[0], $imgSize[1]); $redim->setTargetFile($folderths . "/{$filename}"); $redim->resizeAndCrop($thSize[0], $thSize[1]); break; case 3: //Redimensionar $redim->resizeWidth($imgSize[0]); $redim->setTargetFile($folderths . "/{$filename}"); $redim->resizeWidth($thSize[0]); break; } } //Fin de Imagen $img->setImage($filename); if ($up->getErrors() == '') { if (!$img->save()) { $errors .= sprintf(__('Picture %s could not be uploaded!', 'galleries'), $v) . " (" . $img->errors() . ")"; } else { $user->addPic(); if ($ret) { $img->setTags($ret); } } } else { $errors .= $up->getErrors(); } ++$k; } if ($errors != '') { redirect_header(GSFunctions::get_url() . ($mc['urlmode'] ? 'cp/images' : '?cp=images'), 2, __('Errors ocurred while trying to upload images!', 'galleries') . $errors); die; } else { redirect_header(GSFunctions::get_url() . ($mc['urlmode'] ? 'cp/images' : '?cp=images'), 2, __('Pictures stored successfully!', 'galleries')); die; } }