/**
  * @private
  */
 function _fillArticleHeaderInformation($query_result, $includeHiddenFields = true)
 {
     $id = $query_result['id'];
     if (isset($this->cache[$id])) {
         return $this->cache[$id];
     }
     // this is a little dirty trick or otherwise the old
     // that don't have the 'properties' field will not work
     // as they will appear to have comments disabled
     if ($query_result['properties'] == "") {
         $tmpArray = array('comments_enabled' => true);
         $query_result['properties'] = serialize($tmpArray);
     }
     // ---
     // this, i do not like... but I couldn't find a more
     // "elegant" way to arrange it! This makes this method
     // totally dependant on the blog configuration so it basically
     // means an additional query every time we fetch an article
     // (just in case we didn't have enough!)
     // ---
     //
     // if there's a time difference applied to all dates, then we'd better
     // calculate it here!!
     //
     if ($this->_blogInfo == null) {
         $blogId = $query_result['blog_id'];
         $this->_blogInfo = $this->blogs->getBlogInfo($blogId);
         $this->_blogSettings = $this->_blogInfo->getSettings();
         $this->_timeDiff = $this->_blogSettings->getValue('time_offset');
     }
     // we can use this auxiliary function to help us...
     $date = Timestamp::getDateWithOffset($query_result['date'], $this->_timeDiff);
     // postText does not exist here.. maybe a copy/paste problem?
     // anyway.. it works without postText, so i'll just set this to
     // null. oscar, pls double check.. original code:
     // $article = new Article( $postText['topic'],
     //                         $postText['text'],
     //                         NULL,
     $article = new Article(NULL, NULL, NULL, $query_result['user_id'], $query_result['blog_id'], $query_result['status'], $query_result['num_reads'], unserialize($query_result['properties']), $query_result['slug'], $query_result['id']);
     // and fill in all the fields with the information we just got from the db
     $article->setDate($date);
     $article->setTimeOffset($this->_timeDiff);
     $article->setBlogInfo($this->_blogInfo);
     $article->setUserInfo($this->users->getUserInfoFromId($query_result['user_id']));
     return $article;
 }