/** * * get slides from posts */ private function getSlidesFromPosts($publishedOnly = false) { $slideTemplates = $this->getSlideTemplates(); $slideTemplates = UniteFunctionsRev::assocToArray($slideTemplates); if (count($slideTemplates) == 0) { return array(); } $sourceType = $this->getParam("source_type", "gallery"); switch ($sourceType) { case "posts": $arrPosts = $this->getPostsFromCategoies($publishedOnly); break; case "specific_posts": $arrPosts = $this->getPostsFromSpecificList(); break; default: UniteFunctionsRev::throwError("getSlidesFromPosts error: This source type must be from posts."); break; } $arrSlides = array(); $templateKey = 0; $numTemplates = count($slideTemplates); $slideTemplate = $slideTemplates[$templateKey]; foreach ($arrPosts as $postData) { //advance the templates $templateKey++; if ($templateKey == $numTemplates) { $templateKey = 0; } $slide = new RevSlide(); $slide->initByPostData($postData, $slideTemplate, $this->id); $arrSlides[] = $slide; } $this->arrSlides = $arrSlides; return $arrSlides; }