/** * Find a published article with additional conditions. * * @param array $columns * @param array $values * @param array $options * * @return \ArticleModel|null */ private function findPublishedArticle(array $columns, array $values = array(), array $options = array()) { if (true !== BE_USER_LOGGED_IN) { $time = \Date::floorToMinute(); $columns[] = "(tl_article.start='' OR tl_article.start<='{$time}')"; $columns[] = "(tl_article.stop='' OR tl_article.stop>'" . ($time + 60) . "')"; $columns[] = "tl_article.published='1'"; } return ArticleModel::findOneBy($columns, $values, $options); }