public function getSlides($publishedOnly = false)
 {
     $this->validateInited();
     $arrSlides = array();
     $arrSlideRecords = $this->db->fetch(GlobalsBannerRotator::$table_slides, "slider_id=" . $this->id, "slide_order");
     $arrChildren = array();
     foreach ($arrSlideRecords as $record) {
         $slide = new BannerSlide();
         $slide->initByData($record);
         $slideID = $slide->getID();
         $arrIdsAssoc[$slideID] = true;
         if ($publishedOnly == true) {
             $state = $slide->getParam("state", "published");
             if ($state == "unpublished") {
                 continue;
             }
         }
         $parentID = $slide->getParam("parentid", "");
         if (!empty($parentID)) {
             $lang = $slide->getParam("lang", "");
             if (!isset($arrChildren[$parentID])) {
                 $arrChildren[$parentID] = array();
             }
             $arrChildren[$parentID][] = $slide;
             continue;
             //Skip adding to main list
         }
         //Init the children array
         $slide->setArrChildren(array());
         $arrSlides[$slideID] = $slide;
     }
     //add children array to the parent slides
     foreach ($arrChildren as $parentID => $arr) {
         if (!isset($arrSlides[$parentID])) {
             continue;
         }
         $arrSlides[$parentID]->setArrChildren($arr);
     }
     $this->arrSlides = $arrSlides;
     return $arrSlides;
 }