protected function compile() { if ($this->defineRoot) { $objPage = \PageModel::findByPk($this->rootPage); } else { global $objPage; } if (null === $objPage) { return; } $intOffset = (int) $this->levelOffset; // Random image if ($this->randomPageImage) { $intOffset = -1; } $arrImage = PageImage::getOne($objPage, $intOffset, (bool) $this->inheritPageImage); if (null === $arrImage) { return; } $arrSize = deserialize($this->imgSize); $arrImage['src'] = $this->getImage($arrImage['path'], $arrSize[0], $arrSize[1], $arrSize[2]); $this->Template->setData($arrImage); if (($imgSize = @getimagesize(TL_ROOT . '/' . rawurldecode($arrImage['src']))) !== false) { $this->Template->size = ' ' . $imgSize[3]; } }
/** * @param Page $page * @param CUploadedFile $image */ public function __construct(Page $page, CUploadedFile $image) { $name = PageUploadedImage::createName($page, $image); $fullPath = PageUploadedImage::getSavePath() . '/../page/' . $name; $image->saveAs($fullPath); @chmod($fullPath, 0666); // Check if page has main image $is_main = (int) PageImage::model()->countByAttributes(array('page_id' => $page->id, 'is_main' => 1)); $imageModel = new PageImage(); $imageModel->page_id = $page->id; $imageModel->name = $name; $imageModel->is_main = $is_main == 0 ? true : false; $imageModel->uploaded_by = Yii::app()->user->getId(); $imageModel->date_uploaded = date('Y-m-d H:i:s'); $imageModel->save(); $this->resize($fullPath); $this->watermark($fullPath); }
/** * @param Page $model */ public function updateMainImage(Page $model) { if (Yii::app()->request->getPost('mainImageId')) { // Clear current main image PageImage::model()->updateAll(array('is_main' => 0), 'page_id=:pid', array(':pid' => $model->id)); // Set new main image PageImage::model()->updateByPk(Yii::app()->request->getPost('mainImageId'), array('is_main' => 1)); } }
/** * Delete file, etc... */ public function afterDelete() { // Delete file if (file_exists($this->filePath)) { unlink($this->filePath); } // If main image was deleted if ($this->is_main) { // Get first image and set it as main $model = PageImage::model()->find(); if ($model) { $model->is_main = 1; $model->save(false); } } return parent::afterDelete(); }
<?php require '../dao/ImageDao.php'; require '../action/ImageUpload.php'; class PageImage extends ImageUpload { public function setPageImage() { return $this->setImage('../action/pageImage'); } } $pageImage = new PageImage(); $imageUrl = $_POST['describe']; $imageAddress = explode(",", $pageImage->setPageImage()); $imageDao = new ImageDao(); for ($i = 0; $i < count($imageUrl); $i++) { if (empty($imageUrl[$i])) { continue; } $imageDao->setPageImage($imageAddress[$i], $imageUrl[$i]); } echo "<script>alert('success');location.href = '../imageEditor.php';</script>";