Example #1
0
 function _init_request()
 {
     $this->_request = AMP_url_read();
     if (!$this->_request) {
         $this->_request = array();
         return;
     }
     if ((($limit = $this->assert_var('limit')) || ($limit = $this->assert_var('qty'))) && !$this->view_all()) {
         $this->set_limit($limit);
     }
     if (($offset = $this->assert_var('offset')) && !$this->view_all()) {
         $this->set_offset($offset);
     }
     $this->set_target($_SERVER['PHP_SELF']);
 }
function AMP_cache_this_request($finalPageHtml)
{
    if (!AMP_is_cacheable_url()) {
        return;
    }
    $cache_key = AMP_CACHE_TOKEN_URL_CONTENT . $_SERVER['SERVER_NAME'] . $_SERVER['REQUEST_URI'];
    $user_id = defined('AMP_SYSTEM_USER_ID') && AMP_SYSTEM_USER_ID ? AMP_SYSTEM_USER_ID : null;
    AMP_cache_set($cache_key, $finalPageHtml, $user_id);
    //HTML caching code for apache redirection
    $url_values = AMP_url_read();
    if ($url_values) {
        $section_okay = count($url_values) == 2 && isset($url_values['list']) && isset($url_values['type']);
        $class_okay = count($url_values) == 2 && isset($url_values['list']) && isset($url_values['class']);
        $article_okay = count($url_values) == 1 && isset($url_values['id']);
        $pretty_url_okay = count($url_values) == 1 && isset($url_values['q_url']);
        if (!($section_okay || $article_okay || $class_okay || $pretty_url_okay)) {
            //don't cache pages with any funny vars on them
            return;
        }
    }
    $cache_file = false;
    $cache_folder = false;
    $currentPage = AMPContent_Page::instance();
    if ($currentPage->isArticle()) {
        $cache_folder = AMP_pathFlip(AMP_SYSTEM_CACHE_PATH . DIRECTORY_SEPARATOR . 'article');
        $cache_file = $cache_folder . DIRECTORY_SEPARATOR . $currentPage->getArticleId() . '.html';
    }
    if ($currentPage->isList('type')) {
        $cache_folder = AMP_pathFlip(AMP_SYSTEM_CACHE_PATH . DIRECTORY_SEPARATOR . 'section');
        $cache_file = $cache_folder . DIRECTORY_SEPARATOR . $currentPage->getSectionId() . '.html';
    }
    if ($currentPage->isList('index')) {
        $cache_folder = AMP_pathFlip(AMP_SYSTEM_CACHE_PATH);
        $cache_file = $cache_folder . DIRECTORY_SEPARATOR . 'index.html';
    }
    if (isset($_GET['q_url']) && $_GET['q_url']) {
        $cache_folder = AMP_pathFlip(AMP_SYSTEM_CACHE_PATH . DIRECTORY_SEPARATOR . 'pretty_url');
        $cache_file = $cache_folder . DIRECTORY_SEPARATOR . $_GET['q_url'] . '.html';
    }
    if ($cache_folder) {
        AMP_mkdir($cache_folder);
    }
    if ($cache_file && !file_exists($cache_file)) {
        $cache_out = fopen($cache_file, 'w');
        fwrite($cache_out, $finalPageHtml);
        fclose($cache_out);
    }
}