ArticleImage::GetImagesByArticleNumber PHP Method

GetImagesByArticleNumber() public static method

Get all the images that belong to this article.
public static GetImagesByArticleNumber ( integer $p_articleNumber, boolean $p_countOnly = false ) : mixed
$p_articleNumber integer The specific article you want the images from.
$p_countOnly boolean Only return the number of images in the article.
return mixed Return either an array or an int.
    public static function GetImagesByArticleNumber($p_articleNumber, $p_countOnly = false)
    {
        global $g_ado_db;
        if ($p_countOnly) {
            $selectStr = "COUNT(*)";
        } else {
            $tmpImage = new Image();
            $selectStr = implode(',', array_map(function ($column) {
                return 'Images.' . $column;
            }, $tmpImage->getColumnNames()));
            $selectStr .= ', ArticleImages.Number, ArticleImages.NrArticle, ArticleImages.IdImage';
        }
        $queryStr = 'SELECT ' . $selectStr . ' FROM Images, ArticleImages' . ' WHERE ArticleImages.NrArticle=' . $p_articleNumber . ' AND ArticleImages.IdImage=Images.Id' . ' ORDER BY ArticleImages.Number';
        if ($p_countOnly) {
            return $g_ado_db->GetOne($queryStr);
        } else {
            $rows = $g_ado_db->GetAll($queryStr);
            $returnArray = array();
            if (is_array($rows)) {
                foreach ($rows as $row) {
                    $tmpArticleImage = new ArticleImage();
                    $tmpArticleImage->fetch($row);
                    $tmpArticleImage->m_image = new Image();
                    $tmpArticleImage->m_image->fetch($row);
                    $returnArray[] = $tmpArticleImage;
                }
            }
            return $returnArray;
        }
    }

Usage Example

Example #1
0
 protected function getImage() {
     $context = CampTemplate::singleton()->context();
     if ($context->image->defined) {
         return $context->image;
     }
     $images = ArticleImage::GetImagesByArticleNumber($this->m_dbObject->getArticleNumber());
     if (count($images) == 0) {
         return new MetaImage();
     }
     return new MetaImage($images[0]->getImageId());
 }
All Usage Examples Of ArticleImage::GetImagesByArticleNumber