function search($request)
{
    shortcuts\set_query_flags('search');
    $page_num = $request['page_num'] ? $request['page_num'] : 1;
    $category = $request['category'] ? $request['category'] : null;
    $tag = $request['tag'] ? $request['tag'] : null;
    $args = array('post_type' => 'post', 'posts_per_page' => 10, 'order' => 'DESC', 'paged' => $page_num);
    if ($category) {
        $args['category_name'] = $category;
    }
    if ($tag) {
        $args['tag'] = $tag;
    }
    $posts = PostCollection::filter($args);
    $max_pages = $posts->wp_query->max_num_pages;
    $more_posts = $max_pages > 1 && $max_pages != $page_num ? true : false;
    $template_array = array('page_num' => $page_num, 'more_posts' => $more_posts, 'posts' => $posts->models);
    shortcuts\display_template('index.html', $template_array);
}
Example #2
0
 public function display_message()
 {
     shortcuts\set_query_flags('page');
     if ($this->getPrevious()) {
         $ex = $this->getPrevious();
     } else {
         $ex = $this;
     }
     shortcuts\display_template('500.html', array('exception_class' => get_class($ex), 'exception' => $ex, 'globals' => $GLOBALS, 'post' => $_POST, 'get' => $_GET, 'server' => $_SERVER));
     exit;
 }
function date_archive($request)
{
    $page_id = 'date';
    $page_num = !empty($request['page_num']) ? $request['page_num'] : 1;
    $query_flags = array();
    $year = $request['year'];
    $month = $request['month'];
    array_push($query_flags, 'single');
    $args = array('year' => $year, 'paged' => $page_num, 'posts_per_page' => 5);
    array_push($query_flags, 'year');
    if (!empty($month)) {
        array_push($query_flags, 'month');
        $args['monthnum'] = $month;
        switch ($month) {
            case '01':
                $month_str = 'January';
                break;
            case '02':
                $month_str = 'February';
                break;
            case '03':
                $month_str = 'March';
                break;
            case '04':
                $month_str = 'April';
                break;
            case '05':
                $month_str = 'May';
                break;
            case '06':
                $month_str = 'June';
                break;
            case '07':
                $month_str = 'July';
                break;
            case '08':
                $month_str = 'August';
                break;
            case '09':
                $month_str = 'September';
                break;
            case '10':
                $month_str = 'October';
                break;
            case '11':
                $month_str = 'November';
                break;
            case '12':
                $month_str = 'December';
                break;
        }
        $title_str = "{$month_str} {$year}";
    } else {
        $title_str = $year;
    }
    $posts = PostCollection::filter($args)->models;
    $q = new \WP_Query($args);
    $more_posts = $q->max_num_pages > 1 && $q->max_num_pages != $page_num ? true : false;
    $location = preg_replace('/page\\/\\d\\/?$/', '', get_site_url());
    $template_array = array('location' => $location, 'page_id' => $page_id, 'page_num' => $page_num, 'more_posts' => $more_posts, 'posts' => $posts, 'archive_title' => $title_str);
    shortcuts\set_query_flags($query_flags);
    shortcuts\display_template('date_archive.html', $template_array);
}