Beispiel #1
0
 function __construct($filter = null)
 {
     // set default filter if not provided
     if (is_null($filter)) {
         $filter = new BlogFilter();
     }
     $count = 0;
     foreach (scandir(POSTS_PATH, SCANDIR_SORT_DESCENDING) as $fileName) {
         // create blogPost object for each post and check against $filter
         if (preg_match(POST_REGEX, $fileName)) {
             $post = new BlogPost($fileName);
             if ($post->matchFilter($filter)) {
                 // check if the matched post appears in the correct filter group
                 if ($count >= $filter->group * $filter->limit) {
                     // add post to blogList object
                     if (count($this->list) < $filter->limit) {
                         $this->list[] = $post;
                     } else {
                         $this->atEnd = false;
                         break;
                     }
                 }
             }
             $count++;
         }
     }
 }