当前位置: 首页>>代码示例>>PHP>>正文


PHP Image::update方法代码示例

本文整理汇总了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'))))) {
//.........这里部分代码省略.........
开发者ID:raulgimenez,项目名称:dreamongraphics_shop,代码行数:101,代码来源:AdminProducts.php

示例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);
 }
开发者ID:bravoman,项目名称:PrestaShop,代码行数:31,代码来源:FileUploader.php

示例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");
开发者ID:nistormihai,项目名称:Newscoop,代码行数:30,代码来源:do_edit.php

示例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.'));
     }
 }
开发者ID:rongandat,项目名称:vatfairfoot,代码行数:13,代码来源:AdminProductsController.php

示例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)) {
开发者ID:nicolasjeol,项目名称:hec-ecommerce,代码行数:67,代码来源:AdminProducts.php

示例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)));
     }
 }
开发者ID:nidzix,项目名称:Newscoop,代码行数:22,代码来源:FeedbackController.php

示例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'));
     }
 }
开发者ID:jicheng17,项目名称:pengwine,代码行数:13,代码来源:AdminProductsController.php

示例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);
//.........这里部分代码省略.........
开发者ID:nistormihai,项目名称:Newscoop,代码行数:101,代码来源:Image.php

示例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);
 }
开发者ID:davidmancini,项目名称:jpegery,代码行数:22,代码来源:ImageTest.php

示例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);
//.........这里部分代码省略.........
开发者ID:kartoffelkage,项目名称:Newscoop,代码行数:101,代码来源:Image.php

示例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}");
开发者ID:sourcefabric,项目名称:newscoop,代码行数:31,代码来源:do_edit.php

示例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');
 }
开发者ID:jcstrandburg,项目名称:portfoliowriter,代码行数:10,代码来源:ApiController.php

示例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
//.........这里部分代码省略.........
开发者ID:nidzix,项目名称:Newscoop,代码行数:101,代码来源:Image.php


注:本文中的Image::update方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。