本文整理汇总了PHP中Image::update方法的典型用法代码示例。如果您正苦于以下问题:PHP Image::update方法的具体用法?PHP Image::update怎么用?PHP Image::update使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Image
的用法示例。
在下文中一共展示了Image::update方法的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: postProcess
public function postProcess($token = NULL)
{
global $currentIndex;
/* Add a new product */
if (Tools::isSubmit('submitAddproduct') or Tools::isSubmit('submitAddproductAndStay')) {
if ($this->tabAccess['add'] === '1') {
$this->submitAddproduct($token);
} elseif (Tools::getValue('id_product') and $this->tabAccess['edit'] === '1') {
$this->submitAddproduct($token);
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add anything here.');
}
}
/* Delete a product in the download folder */
if (Tools::getValue('deleteVirtualProduct')) {
if ($this->tabAccess['delete'] === '1') {
$this->deleteVirtualProduct();
} else {
$this->_errors[] = Tools::displayError('You do not have permission to delete anything here.');
}
} elseif (Tools::isSubmit('submitAttachments')) {
if ($this->tabAccess['edit'] === '1') {
if ($id = intval(Tools::getValue($this->identifier))) {
if (Attachment::attachToProduct($id, $_POST['attachments'])) {
Tools::redirectAdmin($currentIndex . '&id_product=' . $id . '&conf=4&add' . $this->table . '&tabs=6&token=' . ($token ? $token : $this->token));
}
}
}
} elseif (isset($_GET['duplicate' . $this->table])) {
if ($this->tabAccess['add'] === '1') {
if (Validate::isLoadedObject($product = new Product(intval(Tools::getValue('id_product'))))) {
$id_product_old = $product->id;
unset($product->id);
unset($product->id_product);
$product->indexed = 0;
if ($product->add() and Category::duplicateProductCategories($id_product_old, $product->id) and ($combinationImages = Product::duplicateAttributes($id_product_old, $product->id)) !== false and Product::duplicateAccessories($id_product_old, $product->id) and Product::duplicateFeatures($id_product_old, $product->id) and Product::duplicateQuantityDiscount($id_product_old, $product->id) and Pack::duplicate($id_product_old, $product->id) and Product::duplicateCustomizationFields($id_product_old, $product->id) and Product::duplicateTags($id_product_old, $product->id)) {
if (!Tools::getValue('noimage') and !Image::duplicateProductImages($id_product_old, $product->id, $combinationImages)) {
$this->_errors[] = Tools::displayError('an error occurred while copying images');
} else {
Hook::addProduct($product);
Search::indexation(false);
Tools::redirectAdmin($currentIndex . '&id_category=' . intval(Tools::getValue('id_category')) . '&conf=19&token=' . ($token ? $token : $this->token));
}
} else {
$this->_errors[] = Tools::displayError('an error occurred while creating object');
}
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add anything here.');
}
} elseif ($id_image = intval(Tools::getValue('id_image')) and Validate::isUnsignedId($id_image) and Validate::isLoadedObject($image = new Image($id_image))) {
if ($this->tabAccess['edit'] === '1') {
/* Delete product image */
if (isset($_GET['deleteImage'])) {
$image->delete();
deleteImage($image->id_product, $image->id);
if (!Image::getCover($image->id_product)) {
$first_img = Db::getInstance()->getRow('
SELECT `id_image` FROM `' . _DB_PREFIX_ . 'image`
WHERE `id_product` = ' . intval($image->id_product));
Db::getInstance()->Execute('
UPDATE `' . _DB_PREFIX_ . 'image`
SET `cover` = 1
WHERE `id_image` = ' . intval($first_img['id_image']));
}
@unlink(dirname(__FILE__) . '/../../img/tmp/product_' . $image->id_product . '.jpg');
@unlink(dirname(__FILE__) . '/../../img/tmp/product_mini_' . $image->id_product . '.jpg');
Tools::redirectAdmin($currentIndex . '&id_product=' . $image->id_product . '&id_category=' . intval(Tools::getValue('id_category')) . '&add' . $this->table . '&tabs=1' . '&token=' . ($token ? $token : $this->token));
} elseif (isset($_GET['editImage'])) {
if ($image->cover) {
$_POST['cover'] = 1;
}
$languages = Language::getLanguages();
foreach ($languages as $language) {
if (isset($image->legend[$language['id_lang']])) {
$_POST['legend_' . $language['id_lang']] = $image->legend[$language['id_lang']];
}
}
$_POST['id_image'] = $image->id;
$this->displayForm($token ? $token : $this->token);
} elseif (isset($_GET['coverImage'])) {
Image::deleteCover($image->id_product);
$image->cover = 1;
if (!$image->update()) {
$this->_errors[] = Tools::displayError('Impossible to change the product cover');
} else {
$productId = intval(Tools::getValue('id_product'));
@unlink(dirname(__FILE__) . '/../../img/tmp/product_' . $productId . '.jpg');
@unlink(dirname(__FILE__) . '/../../img/tmp/product_mini_' . $productId . '.jpg');
Tools::redirectAdmin($currentIndex . '&id_product=' . $image->id_product . '&id_category=' . intval(Tools::getValue('id_category')) . '&addproduct&tabs=1' . '&token=' . ($token ? $token : $this->token));
}
} elseif (isset($_GET['imgPosition']) and isset($_GET['imgDirection'])) {
$image->positionImage(intval(Tools::getValue('imgPosition')), intval(Tools::getValue('imgDirection')));
Tools::redirectAdmin($currentIndex . '&id_product=' . $image->id_product . '&id_category=' . intval(Tools::getValue('id_category')) . '&add' . $this->table . '&tabs=1&token=' . ($token ? $token : $this->token));
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to edit anything here.');
}
} elseif (Tools::isSubmit('submitProductAttribute')) {
if (Validate::isLoadedObject($product = new Product(intval(Tools::getValue('id_product'))))) {
//.........这里部分代码省略.........
示例2: copyImage
public function copyImage($id_product, $id_image, $method = 'auto')
{
$image = new Image($id_image);
if (!($new_path = $image->getPathForCreation())) {
return array('error' => Tools::displayError('An error occurred during new folder creation'));
}
if (!($tmpName = tempnam(_PS_TMP_IMG_DIR_, 'PS')) || !$this->upload($tmpName)) {
return array('error' => Tools::displayError('An error occurred during the image upload'));
} elseif (!ImageManager::resize($tmpName, $new_path . '.' . $image->image_format)) {
return array('error' => Tools::displayError('An error occurred while copying image.'));
} elseif ($method == 'auto') {
$imagesTypes = ImageType::getImagesTypes('products');
foreach ($imagesTypes as $imageType) {
/*
$theme = (Shop::isFeatureActive() ? '-'.$imageType['id_theme'] : '');
if (!ImageManager::resize($tmpName, $new_path.'-'.stripslashes($imageType['name']).$theme.'.'.$image->image_format, $imageType['width'], $imageType['height'], $image->image_format))
return array('error' => Tools::displayError('An error occurred while copying image:').' '.stripslashes($imageType['name']));
*/
if (!ImageManager::resize($tmpName, $new_path . '-' . stripslashes($imageType['name']) . '.' . $image->image_format, $imageType['width'], $imageType['height'], $image->image_format)) {
return array('error' => Tools::displayError('An error occurred while copying image:') . ' ' . stripslashes($imageType['name']));
}
}
}
unlink($tmpName);
Hook::exec('actionWatermark', array('id_image' => $id_image, 'id_product' => $id_product));
if (!$image->update()) {
return array('error' => Tools::displayError('Error while updating status'));
}
$img = array('id_image' => $image->id, 'position' => $image->position, 'cover' => $image->cover, 'name' => $this->getName(), 'legend' => $image->legend);
return array('success' => $img);
}
示例3: Article
$articleObj = new Article($f_language_selected, $f_article_number);
if (!$g_user->hasPermission('ChangeImage') && !$g_user->hasPermission('AttachImageToArticle')) {
camp_html_add_msg(getGS("You do not have the right to change image information."));
camp_html_goto_page(camp_html_article_url($articleObj, $f_language_id, 'edit.php'));
}
$imageObj = new Image($f_image_id);
if (!is_null($f_image_description) && $g_user->hasPermission('ChangeImage')) {
$attributes = array();
$attributes['Description'] = $f_image_description;
$attributes['Photographer'] = $f_image_photographer;
$attributes['Place'] = $f_image_place;
$attributes['Date'] = $f_image_date;
$imageObj->update($attributes);
}
if ($g_user->hasPermission('AttachImageToArticle')) {
if (is_numeric($f_image_template_id) && ($f_image_template_id > 0)) {
$articleImageObj = new ArticleImage($f_article_number, $f_image_id);
$updated = $articleImageObj->setTemplateId($f_image_template_id);
if ($updated == false) {
camp_html_add_msg(getGS("Image number '$1' already exists", $f_image_template_id));
camp_html_goto_page($backLink);
}
}
}
camp_html_add_msg(getGS("Image '$1' updated.", $imageObj->getDescription()), "ok");
示例4: ajaxProcessUpdateCover
public function ajaxProcessUpdateCover()
{
Image::deleteCover((int) Tools::getValue('id_product'));
$img = new Image((int) Tools::getValue('id_image'));
$img->cover = 1;
@unlink(_PS_TMP_IMG_DIR_ . 'product_' . (int) $img->id_product . '.jpg');
@unlink(_PS_TMP_IMG_DIR_ . 'product_mini_' . (int) $img->id_product . '_' . $this->context->shop->id . '.jpg');
if ($img->update()) {
$this->jsonConfirmation($this->_conf[26]);
} else {
$this->jsonError(Tools::displayError('An error occurred while attempting to move this picture.'));
}
}
示例5: postProcess
//.........这里部分代码省略.........
}
if (Tools::strlen($attachment->file_name) > 128) {
$this->_errors[] = Tools::displayError('File name too long');
}
if (!sizeof($this->_errors)) {
$attachment->add();
Tools::redirectAdmin($currentIndex . '&id_product=' . (int) Tools::getValue($this->identifier) . '&id_category=' . (int) Tools::getValue('id_category') . '&addproduct&conf=4&tabs=6&token=' . ($token ? $token : $this->token));
} else {
$this->_errors[] = Tools::displayError('Invalid file');
}
}
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add here.');
}
} elseif (Tools::isSubmit('submitAttachments')) {
if ($this->tabAccess['edit'] === '1') {
if ($id = (int) Tools::getValue($this->identifier)) {
if (Attachment::attachToProduct($id, $_POST['attachments'])) {
Tools::redirectAdmin($currentIndex . '&id_product=' . (int) $id . (isset($_POST['id_category']) ? '&id_category=' . (int) $_POST['id_category'] : '') . '&conf=4&add' . $this->table . '&tabs=6&token=' . ($token ? $token : $this->token));
}
}
}
} elseif (isset($_GET['duplicate' . $this->table])) {
if ($this->tabAccess['add'] === '1') {
if (Validate::isLoadedObject($product = new Product((int) Tools::getValue('id_product')))) {
$id_product_old = $product->id;
unset($product->id);
unset($product->id_product);
$product->indexed = 0;
$product->active = 0;
if ($product->add() and Category::duplicateProductCategories($id_product_old, $product->id) and ($combinationImages = Product::duplicateAttributes($id_product_old, $product->id)) !== false and GroupReduction::duplicateReduction($id_product_old, $product->id) and Product::duplicateAccessories($id_product_old, $product->id) and Product::duplicateFeatures($id_product_old, $product->id) and Product::duplicateSpecificPrices($id_product_old, $product->id) and Pack::duplicate($id_product_old, $product->id) and Product::duplicateCustomizationFields($id_product_old, $product->id) and Product::duplicateTags($id_product_old, $product->id) and Product::duplicateDownload($id_product_old, $product->id)) {
if ($product->hasAttributes()) {
Product::updateDefaultAttribute($product->id);
}
if (!Tools::getValue('noimage') and !Image::duplicateProductImages($id_product_old, $product->id, $combinationImages)) {
$this->_errors[] = Tools::displayError('An error occurred while copying images.');
} else {
Hook::addProduct($product);
Search::indexation(false, $product->id);
Tools::redirectAdmin($currentIndex . '&id_category=' . (!empty($_REQUEST['id_category']) ? $_REQUEST['id_category'] : '1') . '&conf=19&token=' . ($token ? $token : $this->token));
}
} else {
$this->_errors[] = Tools::displayError('An error occurred while creating object.');
}
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to add here.');
}
} elseif (isset($_GET['status']) and Tools::getValue($this->identifier)) {
if ($this->tabAccess['edit'] === '1') {
if (Validate::isLoadedObject($object = $this->loadObject())) {
if ($object->toggleStatus()) {
Tools::redirectAdmin($currentIndex . '&conf=5' . (($id_category = !empty($_REQUEST['id_category']) ? $_REQUEST['id_category'] : '1' and Tools::getValue('id_product')) ? '&id_category=' . $id_category : '') . '&token=' . $token);
} else {
$this->_errors[] = Tools::displayError('An error occurred while updating status.');
}
} else {
$this->_errors[] = Tools::displayError('An error occurred while updating status for object.') . ' <b>' . $this->table . '</b> ' . Tools::displayError('(cannot load object)');
}
} else {
$this->_errors[] = Tools::displayError('You do not have permission to edit here.');
}
} elseif (isset($_GET['delete' . $this->table])) {
if ($this->tabAccess['delete'] === '1') {
if (Validate::isLoadedObject($object = $this->loadObject()) and isset($this->fieldImageSettings)) {
示例6: approveAction
/**
* Approve action
*/
public function approveAction()
{
$this->getHelper('contextSwitch')->addActionContext('approve', 'json')->initContext();
$parameters = $this->getRequest()->getParams();
if ($parameters['type'] == 'image') {
$image = new Image($parameters['id']);
$image->update(array('Status' => 'approved'));
$user_id = $image->getUploadingUserId();
$user = $this->_helper->service('user')->find($user_id);
$this->_helper->service->getService('dispatcher')->notify('image.approved', new GenericEvent($this, array('user' => $user)));
}
if ($parameters['type'] == 'document') {
$document = new Attachment($parameters['id']);
$document->update(array('Status' => 'approved'));
$user_id = $document->getUploadingUserId();
$user = $this->_helper->service('user')->find($user_id);
$this->_helper->service->getService('dispatcher')->notify('document.approved', new GenericEvent($this, array('user' => $user)));
}
}
示例7: ajaxProcessUpdateCover
public function ajaxProcessUpdateCover()
{
Image::deleteCover((int) Tools::getValue('id_product'));
$img = new Image((int) Tools::getValue('id_image'));
$img->cover = 1;
@unlink(_PS_TMP_IMG_DIR_ . 'product_' . (int) $img->id_product . '.jpg');
@unlink(_PS_TMP_IMG_DIR_ . 'product_mini_' . (int) $img->id_product . '.jpg');
if ($img->update()) {
$this->jsonConfirmation($this->_conf[26]);
} else {
$this->jsonError(Tools::displayError('Error on moving picture'));
}
}
示例8: OnAddRemoteImage
/**
* Download the remote file and save it to disk, create a thumbnail for it,
* and create a database entry for the file.
*
* @param string $p_url
* The remote location of the file. ("http://...");
*
* @param array $p_attributes
* Optional attributes which are stored in the database.
* Indexes can be the following: 'Description', 'Photographer', 'Place', 'Date'
*
* @param int $p_userId
* The user ID of the user who uploaded the image.
*
* @param int $p_id
* If you are updating an image, specify its ID here.
*
* @return mixed
* Return an Image object on success, return a PEAR_Error otherwise.
*/
public static function OnAddRemoteImage($p_url, $p_attributes,
$p_userId = null, $p_id = null)
{
global $Campsite;
if (function_exists("camp_load_translation_strings")) {
camp_load_translation_strings("api");
}
// Check if thumbnail directory is writable.
$imageDir = $Campsite['IMAGE_DIRECTORY'];
$thumbDir = $Campsite['THUMBNAIL_DIRECTORY'];
if (!file_exists($imageDir) || !is_writable($imageDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $imageDir), CAMP_ERROR_WRITE_DIR);
}
if (!file_exists($thumbDir) || !is_writable($thumbDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $thumbDir), CAMP_ERROR_WRITE_DIR);
}
$client = new HTTP_Client();
$client->get($p_url);
$response = $client->currentResponse();
if ($response['code'] != 200) {
return new PEAR_Error(getGS("Unable to fetch image from remote server."));
}
foreach ($response['headers'] as $headerName => $value) {
if (strtolower($headerName) == "content-type") {
$ContentType = $value;
break;
}
}
// Check content type
if (!preg_match('/image/', $ContentType)) {
// wrong URL
return new PEAR_Error(getGS('URL "$1" is invalid or is not an image.', $p_url));
}
// Save the file
$tmpname = $Campsite['TMP_DIRECTORY'].'img'.md5(rand());
if (is_writable($Campsite['TMP_DIRECTORY'])) {
if ($tmphandle = fopen($tmpname, 'w')) {
fwrite($tmphandle, $response['body']);
fclose($tmphandle);
}
} else {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_CREATE_FILE, $tmpname), CAMP_ERROR_CREATE_FILE);
}
// Check if it is really an image file
$imageInfo = getimagesize($tmpname);
if ($imageInfo === false) {
unlink($tmpname);
return new PEAR_Error(getGS('URL "$1" is not an image.', $cURL));
}
// content-type = image
if (!is_null($p_id)) {
// Updating the image
$image = new Image($p_id);
$image->update($p_attributes);
// Remove the old image & thumbnail because
// the new file might have a different file extension.
if (file_exists($image->getImageStorageLocation())) {
if (is_writable(dirname($image->getImageStorageLocation()))) {
unlink($image->getImageStorageLocation());
} else {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_DELETE_FILE, $image->getImageStorageLocation()), CAMP_ERROR_DELETE_FILE);
}
}
if (file_exists($image->getThumbnailStorageLocation())) {
if (is_writable(dirname($image->getThumbnailStorageLocation()))) {
unlink($image->getThumbnailStorageLocation());
} else {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_DELETE_FILE, $image->getThumbnailStorageLocation()), CAMP_ERROR_DELETE_FILE);
}
}
} else {
// Creating the image
$image = new Image();
$image->create($p_attributes);
//.........这里部分代码省略.........
示例9: testUpdateValidImage
/**
* Test inserting an image, editing it, then updating it
**/
public function testUpdateValidImage()
{
//Count the number of rows and save it for later
$numRows = $this->getConnection()->getRowCount("image");
//Create a new image and insert it into MySQL
$image = new Image(null, $this->profile->getProfileId(), $this->VALID_IMAGETYPE, $this->VALID_IMAGEFILENAME, $this->VALID_IMAGETEXT, $this->VALID_IMAGEDATE);
$image->insert($this->getPDO());
//Edit the image and update it
$image->setImageText($this->VALID_IMAGETEXT2);
$image->update($this->getPDO());
//Grab data from MySQL and ensure fields match expectations
$pdoImage = Image::getImageByImageId($this->getPDO(), $image->getImageId());
$this->assertEquals($numRows + 1, $this->getConnection()->getRowCount("image"));
$this->assertEquals($pdoImage->getImageProfileId(), $this->profile->getProfileId());
$this->assertEquals($pdoImage->getImageType(), $this->VALID_IMAGETYPE);
$this->assertEquals($pdoImage->getImageFileName(), $this->VALID_IMAGEFILENAME);
$this->assertEquals($pdoImage->getImageText(), $this->VALID_IMAGETEXT2);
$this->assertEquals($pdoImage->getImageDate(), $this->VALID_IMAGEDATE);
}
示例10: OnImageUpload
/**
* This function should be called when an image is uploaded. It will save
* the image to the appropriate place on the disk, create a thumbnail for it,
* and create a database entry for the file.
*
* @param array $p_fileVar
* <pre>
* The variable from the $_FILES array. The array specifies the following:
* $a["name"] = original name of the file.
* $a["type"] = the MIME type of the file, e.g. image/gif
* $a["tmp_name"] = the temporary storage location on disk of the file
* $a["size"] = size of the file, in bytes (not required)
* $a["error"] = 0 (zero) if there was no error
* </pre>
*
* @param array $p_attributes
* Optional attributes which are stored in the database.
* Indexes can be the following: 'Description', 'Photographer', 'Place', 'Date'
*
* @param int $p_userId
* The user who uploaded the file.
*
* @param int $p_id
* If the image already exists and we just want to update it, specify the
* current image ID here.
*
* @return mixed
* The Image object that was created or updated on success,
* return PEAR_Error on error.
*/
public static function OnImageUpload($p_fileVar, $p_attributes, $p_userId = null, $p_id = null, $p_isLocalFile = false)
{
global $Campsite;
$translator = \Zend_Registry::get('container')->getService('translator');
if (!is_array($p_fileVar)) {
return new PEAR_Error("Invalid arguments given to Image::OnImageUpload()");
}
// Verify its a valid image file.
$imageInfo = @getimagesize($p_fileVar['tmp_name']);
if ($imageInfo === false) {
return new PEAR_Error($translator->trans("The file uploaded is not an image.", array(), 'api'));
}
$extension = Image::__ImageTypeToExtension($imageInfo[2]);
// Check if image & thumbnail directories are writable.
$imageDir = $Campsite['IMAGE_DIRECTORY'];
$thumbDir = $Campsite['THUMBNAIL_DIRECTORY'];
if (!file_exists($imageDir) || !is_writable($imageDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $imageDir), CAMP_ERROR_WRITE_DIR);
}
if (!file_exists($thumbDir) || !is_writable($thumbDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $thumbDir), CAMP_ERROR_WRITE_DIR);
}
// Are we updating or creating?
if (!is_null($p_id)) {
// Updating the image
$image = new Image($p_id);
$image->update($p_attributes, false);
// Remove the old image & thumbnail because
// the new file may have a different file extension.
if (file_exists($image->getImageStorageLocation())) {
unlink($image->getImageStorageLocation());
}
if (file_exists($image->getThumbnailStorageLocation())) {
unlink($image->getThumbnailStorageLocation());
}
} else {
// Creating the image
$image = new Image();
$image->create($p_attributes);
$image->setProperty('TimeCreated', 'NULL', true, true);
$image->setProperty('LastModified', 'NULL', true, true);
}
$image->setProperty('Location', 'local', false);
// If we are using PHP version >= 4.3
if (isset($imageInfo['mime'])) {
$image->setProperty('ContentType', $imageInfo['mime'], false);
} else {
$image->setProperty('ContentType', $p_fileVar['type'], false);
}
if (!is_null($p_userId)) {
$image->setProperty('UploadedByUser', $p_userId, false);
}
if (!isset($p_attributes['Date'])) {
$image->setProperty('Date', 'NOW()', true, true);
}
$target = $image->generateImageStorageLocation($extension);
$thumbnail = $image->generateThumbnailStorageLocation($extension);
$image->setProperty('ImageFileName', basename($target), false);
$image->setProperty('ThumbnailFileName', basename($thumbnail), false);
try {
if ($p_isLocalFile) {
if (!copy($p_fileVar['tmp_name'], $target)) {
throw new Exception(camp_get_error_message(CAMP_ERROR_CREATE_FILE, $target), CAMP_ERROR_CREATE_FILE);
}
} else {
if (!rename($p_fileVar['tmp_name'], $target)) {
throw new Exception(camp_get_error_message(CAMP_ERROR_CREATE_FILE, $target), CAMP_ERROR_CREATE_FILE);
}
}
self::chmod($target, 0644);
//.........这里部分代码省略.........
示例11: Image
require_once $GLOBALS['g_campsiteDir'] . '/classes/ImageSearch.php';
require_once $GLOBALS['g_campsiteDir'] . '/classes/Log.php';
$translator = \Zend_Registry::get('container')->getService('translator');
if (!SecurityToken::isValid()) {
camp_html_display_error($translator->trans('Invalid security token!'));
exit;
}
// check input
$f_image_id = Input::Get('f_image_id', 'int', 0);
$f_image_description = Input::Get('f_image_description');
$f_image_photographer = Input::Get('f_image_photographer');
$f_image_place = Input::Get('f_image_place');
$f_image_date = Input::Get('f_image_date');
$f_image_status = Input::Get('f_image_status');
//$f_image_url = Input::Get('f_image_url', 'string', '', true);
if (!Input::IsValid() || $f_image_id <= 0) {
camp_html_goto_page("/{$ADMIN}/media-archive/index.php");
}
$imageObj = new Image($f_image_id);
if (!$g_user->hasPermission('ChangeImage')) {
camp_html_goto_page("/{$ADMIN}/logout.php");
}
$updateArray = array('Description' => $f_image_description, 'Photographer' => $f_image_photographer, 'Place' => $f_image_place, 'Date' => $f_image_date, 'Status' => $f_image_status, 'photographer_url' => Input::Get('f_photographer_url'));
//if (!empty($f_image_url)) {
// $updateArray['URL'] = $f_image_url;
//}
$imageObj->update($updateArray);
$cacheService = \Zend_Registry::get('container')->getService('newscoop.cache');
$cacheService->clearNamespace('image');
camp_html_add_msg($translator->trans("Image updated.", array(), 'media_archive'), "ok");
camp_html_goto_page("/{$ADMIN}/media-archive/edit.php?f_image_id={$f_image_id}");
示例12: createImage
public function createImage()
{
$image = new Image();
$image->fill(Input::get('formdata'));
$image->save();
$image->sortorder = $image->id;
$image->update();
$html = View::make('projects.imageadmin')->withImage($image)->render();
return $this->success(['html' => $html], 'It worked');
}
示例13: OnAddRemoteImage
/**
* Download the remote file and save it to disk, create a thumbnail for it,
* and create a database entry for the file.
*
* @param string $p_url
* The remote location of the file. ("http://...");
*
* @param array $p_attributes
* Optional attributes which are stored in the database.
* Indexes can be the following: 'Description', 'Photographer', 'Place', 'Date'
*
* @param int $p_userId
* The user ID of the user who uploaded the image.
*
* @param int $p_id
* If you are updating an image, specify its ID here.
*
* @return mixed
* Return an Image object on success, return a PEAR_Error otherwise.
*/
public static function OnAddRemoteImage($p_url, $p_attributes, $p_userId = null, $p_id = null)
{
global $Campsite;
if (function_exists("camp_load_translation_strings")) {
camp_load_translation_strings("api");
}
// Check if thumbnail directory is writable.
$imageDir = $Campsite['IMAGE_DIRECTORY'];
$thumbDir = $Campsite['THUMBNAIL_DIRECTORY'];
if (!file_exists($imageDir) || !is_writable($imageDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $imageDir), CAMP_ERROR_WRITE_DIR);
}
if (!file_exists($thumbDir) || !is_writable($thumbDir)) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_WRITE_DIR, $thumbDir), CAMP_ERROR_WRITE_DIR);
}
// fetch headers
$headers = get_headers($p_url, TRUE);
if (strpos($headers[0], '200 OK') === FALSE) {
return new PEAR_Error(getGS("Unable to fetch image from remote server."));
}
// get type
$ContentType = $headers['Content-Type'];
// Check content type
if (strpos($ContentType, 'image') === FALSE) {
// wrong URL
return new PEAR_Error(getGS('URL "$1" is invalid or is not an image.', $p_url));
}
// check path
if (!is_writable($Campsite['TMP_DIRECTORY'])) {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_CREATE_FILE, $tmpname), CAMP_ERROR_CREATE_FILE);
}
// save image
$tmpname = $Campsite['TMP_DIRECTORY'] . 'img' . md5(uniqid());
file_put_contents($tmpname, file_get_contents($p_url));
// Check if it is really an image file
$imageInfo = getimagesize($tmpname);
if ($imageInfo === false) {
unlink($tmpname);
return new PEAR_Error(getGS('URL "$1" is not an image.', $cURL));
}
// content-type = image
if (!is_null($p_id)) {
// Updating the image
$image = new Image($p_id);
$image->update($p_attributes);
// Remove the old image & thumbnail because
// the new file might have a different file extension.
if (file_exists($image->getImageStorageLocation())) {
if (is_writable(dirname($image->getImageStorageLocation()))) {
unlink($image->getImageStorageLocation());
} else {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_DELETE_FILE, $image->getImageStorageLocation()), CAMP_ERROR_DELETE_FILE);
}
}
if (file_exists($image->getThumbnailStorageLocation())) {
if (is_writable(dirname($image->getThumbnailStorageLocation()))) {
unlink($image->getThumbnailStorageLocation());
} else {
return new PEAR_Error(camp_get_error_message(CAMP_ERROR_DELETE_FILE, $image->getThumbnailStorageLocation()), CAMP_ERROR_DELETE_FILE);
}
}
} else {
$image = new Image();
$image->create($p_attributes);
$image->setProperty('TimeCreated', 'NULL', true, true);
$image->setProperty('LastModified', 'NULL', true, true);
}
if (!isset($p_attributes['Date'])) {
$image->setProperty('Date', 'NOW()', true, true);
}
$image->setProperty('Location', 'remote', false);
$image->setProperty('URL', $p_url, false);
if (isset($imageInfo['mime'])) {
$image->setProperty('ContentType', $imageInfo['mime'], false);
}
// Remember who uploaded the image
if (!is_null($p_userId)) {
$image->setProperty('UploadedByUser', $p_userId, false);
}
// create thumbnail
//.........这里部分代码省略.........