Exemplo n.º 1
0
/**
 * Clone the file using the image manager
 */
function imanager_clone() {
	global $target, $type;

	if (!icms::$security->check()) {
		redirect_header($_SERVER['SCRIPT_NAME'] . '?op=list&target=' . $target . '&type=' . $type, 3, implode('<br />', icms::$security->getErrors()));
	}

	$imgcat_id = (int) $_POST['imgcat_id'];
	$image_id = (int) $_POST['image_id'];

	$imgcat_handler = icms::handler('icms_image_category');
	$imagecategory =& $imgcat_handler->get($imgcat_id);
	if (!is_object($imagecategory)) {
		redirect_header($_SERVER['SCRIPT_NAME'] . '?op=list&target=' . $target . '&type=' . $type, 1);
	}
	$categ_path = $imgcat_handler->getCategFolder($imagecategory);

	$image_handler = icms::handler('icms_image');
	$image =& $image_handler->get($image_id);
	if (($ext = strrpos($image->getVar('image_name'), '.')) !== FALSE) {
		$ext = strtolower(substr($image->getVar('image_name'), $ext + 1));
	}

	$imgname = 'img' . icms_random_str(12) . '.' . $ext;
	$newimg =& $image_handler->create();
	$newimg->setVar('image_name', $imgname);
	$newimg->setVar('image_nicename', $_POST['image_nicename']);
	$newimg->setVar('image_mimetype', $image->getVar('image_mimetype'));
	$newimg->setVar('image_created', time());
	$newimg->setVar('image_display', $_POST['image_display']);
	$newimg->setVar('image_weight', $_POST['image_weight']);
	$newimg->setVar('imgcat_id', $imgcat_id);
	if ($imagecategory->getVar('imgcat_storetype') == 'db') {
		$src = ICMS_MODULES_URL . "/system/admin/images/preview.php?file=" . $image->getVar('image_name') . '&resize=0';
		$img = WideImage::load($image->getVar('image_body'))->saveToFile(ICMS_IMANAGER_FOLDER_PATH . '/' . $image->getVar('image_name'));
		$fp = @fopen(ICMS_IMANAGER_FOLDER_PATH . '/' . $image->getVar('image_name'), 'rb');
		$fbinary = @fread($fp, filesize(ICMS_IMANAGER_FOLDER_PATH . '/' . $image->getVar('image_name')));
		@fclose($fp);
		$newimg->setVar('image_body', $fbinary, TRUE);
		@unlink(ICMS_IMANAGER_FOLDER_PATH . '/' . $image->getVar('image_name'));
	} else {
		if (!@copy($categ_path . '/' . $image->getVar('image_name'), $categ_path . '/' . $imgname)) {
			$msg = sprintf(_FAILSAVEIMG, $image->getVar('image_nicename'));
		}
	}
	if (!$image_handler->insert($newimg)) {
		$msg = sprintf(_FAILSAVEIMG, $newimg->getVar('image_nicename'));
	} else {
		$msg = _ICMS_DBUPDATED;
	}

	if (isset($imgcat_id)) {
		$redir = '?op=listimg&imgcat_id=' . $imgcat_id . '&target=' . $target . '&type=' . $type;
	} else {
		$redir = '?op=list&target=' . $target . '&type=' . $type;
	}
	redirect_header($_SERVER['SCRIPT_NAME'] . $redir, 2, $msg);
}
Exemplo n.º 2
0
             if (@copy(ICMS_IMANAGER_FOLDER_PATH . '/temp/' . $simage_temp, $categ_path . $simage->getVar('image_name'))) {
                 if (@unlink(ICMS_IMANAGER_FOLDER_PATH . '/temp/' . $simage_temp)) {
                     $msg = _MD_AM_DBUPDATED;
                 } else {
                     $msg = sprintf(_FAILSAVEIMG, $simage->getVar('image_nicename'));
                 }
             } else {
                 $msg = sprintf(_FAILSAVEIMG, $simage->getVar('image_nicename'));
             }
         } else {
             $msg = sprintf(_FAILSAVEIMG, $simage->getVar('image_nicename'));
         }
     }
 } else {
     $ext = substr($simage->getVar('image_name'), strlen($simage->getVar('image_name')) - 3, 3);
     $imgname = 'img' . icms_random_str(12) . '.' . $ext;
     $newimg =& $image_handler->create();
     $newimg->setVar('image_name', $imgname);
     $newimg->setVar('image_nicename', $simage_name);
     $newimg->setVar('image_mimetype', $simage->getVar('image_mimetype'));
     $newimg->setVar('image_created', time());
     $newimg->setVar('image_display', $simage_display);
     $newimg->setVar('image_weight', $simage_weight);
     $newimg->setVar('imgcat_id', $simage->getVar('imgcat_id'));
     if ($imagecategory->getVar('imgcat_storetype') == 'db') {
         $fp = @fopen(ICMS_IMANAGER_FOLDER_PATH . '/temp/' . $simage_temp, 'rb');
         $fbinary = @fread($fp, filesize(ICMS_IMANAGER_FOLDER_PATH . '/temp/' . $simage_temp));
         @fclose($fp);
         $newimg->setVar('image_body', $fbinary, true);
     } else {
         if (copy(ICMS_IMANAGER_FOLDER_PATH . '/temp/' . $simage_temp, $categ_path . $imgname)) {