getImage() public method

Return an Image object.
public getImage ( )
コード例 #1
0
 function getImageByNumber($articleId, $imageNumber)
 {
     $articleImage = new ArticleImage($articleId, null, $imageNumber);
     $image = $articleImage->getImage();
     return $image;
 }
コード例 #2
0
ファイル: MetaSubtitle.php プロジェクト: nistormihai/Newscoop
    /**
     * Process the image statement given in Campsite internal formatting.
     * Returns a standard image URL.
     *
     * @param array $p_matches
     * @return string
     */
    public static function ProcessImageLink(array $p_matches) {
    	$context = CampTemplate::singleton()->context();
    	$oldImage = $context->image;
        $uri = $context->url;
        if ($uri->article->number == 0) {
            return '';
        }

        $imageNumber = $p_matches[1];
        $detailsString = $p_matches[2];
        $detailsArray = array();
        if (trim($detailsString) != '') {
        	$imageAttributes = 'align|alt|sub|width|height|ratio|\w+';
        	preg_match_all("/[\s]+($imageAttributes)=\"([^\"]+)\"/i", $detailsString, $detailsArray1);
        	$detailsArray1[1] = array_map('strtolower', $detailsArray1[1]);
        	if (count($detailsArray1[1]) > 0) {
        		$detailsArray1 = array_combine($detailsArray1[1], $detailsArray1[2]);
        	} else {
        		$detailsArray1 = array();
        	}
        	preg_match_all("/[\s]+($imageAttributes)=([^\"\s]+)/i", $detailsString, $detailsArray2);
        	$detailsArray2[1] = array_map('strtolower', $detailsArray2[1]);
        	if (count($detailsArray2[1]) > 0) {
        		$detailsArray2 = array_combine($detailsArray2[1], $detailsArray2[2]);
        	} else {
        		$detailsArray2 = array();
        	}
        	$detailsArray = array_merge($detailsArray1, $detailsArray2);
        }

        $articleImage = new ArticleImage($uri->article->number, null, $imageNumber);
        $imageObj = $articleImage->getImage();
        $image = new MetaImage($articleImage->getImageId());
        $context->image = $image;
        $imageSize = @getimagesize($imageObj->getImageStorageLocation());
        unset($imageObj);

        $imageOptions = '';
        $defaultOptions = array('ratio'=>'EditorImageRatio', 'width'=>'EditorImageResizeWidth',
        'height'=>'EditorImageResizeHeight');
        foreach (array('ratio', 'width', 'height') as $imageOption) {
        	$defaultOption = (int)SystemPref::Get($defaultOptions[$imageOption]);
        	if (isset($detailsArray[$imageOption]) && $detailsArray[$imageOption] > 0) {
        		$imageOptions .= " $imageOption " . (int)$detailsArray[$imageOption];
        	} elseif ($imageOption != 'ratio' && $defaultOption > 0) {
        		$imageOptions .= " $imageOption $defaultOption";
        	} elseif ($imageOption == 'ratio' && $defaultOption != 100) {
        		$imageOptions .= " $imageOption $defaultOption";
        	}
        }
        $imageOptions = trim($imageOptions);

        $imgZoomLink = '';
        if (SystemPref::Get("EditorImageZoom") == 'Y' && strlen($imageOptions) > 0) {
        	$uri->uri_parameter = "image";
            $imgZoomLink = '<a href="' . $uri->uri . '" class="photoViewer" ';
            if (isset($detailsArray['sub']) && !empty($detailsArray['sub'])) {
                $imgZoomLink .= 'title="' . $detailsArray['sub'] . '">';
            } else {
                $imgZoomLink .= 'title="">';
            }
        }

        $isCentered = false;
        $imgString = '</p><div class="cs_img"';
        if (isset($detailsArray['align']) && !empty($detailsArray['align'])) {
            if ($detailsArray['align'] == 'middle') {
                $imgString = '</p><div align="center"><div class="cs_img"';
                $isCentered = true;
            } else {
                $imgString .= ' style="float:' . $detailsArray['align'] . ';"';
            }
        }
        $imgString .= '>';
        $imgString .= (strlen($imgZoomLink) > 0) ? '<p>'.$imgZoomLink : '<p>';
        $uri->uri_parameter = "image $imageOptions";
        $imgString .= '<img src="' . $uri->uri . '"';
        if (isset($detailsArray['alt']) && !empty($detailsArray['alt'])) {
            $imgString .= ' alt="' . $detailsArray['alt'] . '"';
        }
        if (isset($detailsArray['sub']) && !empty($detailsArray['sub'])) {
            $imgString .= ' title="' . $detailsArray['sub'] . '"';
        }
        $imgString .= ' border="0"/>';
        $imgString .= (strlen($imgZoomLink) > 0) ? '</a></p>' : '</p>';
        if (isset($detailsArray['sub']) && !empty($detailsArray['sub'])) {
            $imgString .= '<p class="cs_img_caption">';
            $imgString .= $detailsArray['sub'] . '</p>';
        }
        if ($isCentered) {
            $imgString .= '</div></div><p>';
        } else {
            $imgString .= '</div><p>';
        }
        $context->image = $oldImage;

        return $imgString;
    }
コード例 #3
0
ファイル: MetaSubtitle.php プロジェクト: alvsgithub/Newscoop
 /**
  * Process the image statement given in Campsite internal formatting.
  * Returns a standard image URL.
  *
  * @param  array  $p_matches
  * @return string
  */
 public static function ProcessImageLink(array $p_matches)
 {
     $context = CampTemplate::singleton()->context();
     $oldImage = $context->image;
     $uri = $context->url;
     if ($uri->article->number == 0) {
         return '';
     }
     $imageNumber = $p_matches[1];
     $detailsString = $p_matches[2];
     $detailsArray = array();
     if (trim($detailsString) != '') {
         $imageAttributes = 'align|alt|sub|width|height|ratio|\\w+';
         preg_match_all("/[\\s]+({$imageAttributes})=\"([^\"]+)\"/i", $detailsString, $detailsArray1);
         $detailsArray1[1] = array_map('strtolower', $detailsArray1[1]);
         if (count($detailsArray1[1]) > 0) {
             $detailsArray1 = array_combine($detailsArray1[1], $detailsArray1[2]);
         } else {
             $detailsArray1 = array();
         }
         preg_match_all("/[\\s]+({$imageAttributes})=([^\"\\s]+)/i", $detailsString, $detailsArray2);
         $detailsArray2[1] = array_map('strtolower', $detailsArray2[1]);
         if (count($detailsArray2[1]) > 0) {
             $detailsArray2 = array_combine($detailsArray2[1], $detailsArray2[2]);
         } else {
             $detailsArray2 = array();
         }
         $detailsArray = array_merge($detailsArray1, $detailsArray2);
     }
     $articleImage = new ArticleImage($uri->article->number, null, $imageNumber);
     $imageObj = $articleImage->getImage();
     $image = new MetaImage($articleImage->getImageId());
     $context->image = $image;
     $imageSize = @getimagesize($imageObj->getImageStorageLocation());
     unset($imageObj);
     $imageOptions = '';
     $preferencesService = \Zend_Registry::get('container')->getService('system_preferences_service');
     if (array_key_exists('sub', $detailsArray)) {
         if ($preferencesService->MediaRichTextCaptions == 'Y') {
             $detailsArray['sub'] = html_entity_decode($detailsArray['sub'], ENT_QUOTES, 'UTF-8');
         } else {
             $detailsArray['sub'] = strip_tags(html_entity_decode($detailsArray['sub'], ENT_QUOTES, 'UTF-8'));
         }
     }
     $defaultOptions = array('ratio' => 'EditorImageRatio', 'width' => 'EditorImageResizeWidth', 'height' => 'EditorImageResizeHeight');
     foreach (array('ratio', 'width', 'height') as $imageOption) {
         $defaultOption = (int) $preferencesService->get($defaultOptions[$imageOption]);
         if (isset($detailsArray[$imageOption]) && $detailsArray[$imageOption] > 0) {
             if (strpos($detailsArray[$imageOption], '%') === false) {
                 $imageOptions .= " {$imageOption} " . (int) $detailsArray[$imageOption];
                 $detailsArray[$imageOption] = $detailsArray[$imageOption] . "px";
             }
         } elseif ($imageOption != 'ratio' && $defaultOption > 0) {
             $imageOptions .= " {$imageOption} {$defaultOption}";
         } elseif ($imageOption == 'ratio' && $defaultOption != 100) {
             $imageOptions .= " {$imageOption} {$defaultOption}";
         }
     }
     $imageOptions = trim($imageOptions);
     $imgZoomLink = '';
     if ($preferencesService->EditorImageZoom == 'Y' && strlen($imageOptions) > 0) {
         $imgZoomLink = '/' . $image->filerpath;
     }
     try {
         $templatesService = \Zend_Registry::get('container')->getService('newscoop.templates.service');
         $smarty = $templatesService->getSmarty();
         $uri->uri_parameter = "image {$imageOptions}";
         $smarty->assign('imageDetails', $detailsArray);
         $smarty->assign('MediaRichTextCaptions', $preferencesService->MediaRichTextCaptions);
         $smarty->assign('uri', $uri);
         $smarty->assign('imgZoomLink', $imgZoomLink);
         return $templatesService->fetchTemplate("editor_image.tpl");
     } catch (\Exception $e) {
         return $e->getMessage();
     }
 }