public function process_event($event, $userid, $handle, $cookieid, $params)
 {
     $events = QA_CACHING_EXPIRATION_EVENTS;
     $events = explode(',', str_replace(array("\r\n", "\r", "\n", " "), '', $events));
     if (in_array($event, $events)) {
         $main = new qa_caching_main();
         $main->clear_cache();
     }
 }
 public function doctype()
 {
     $main = new qa_caching_main();
     if ($main->now_caching()) {
         if (isset($this->content['notices'])) {
             unset($this->content['notices']);
         }
     }
     qa_html_theme_base::doctype();
 }
function qa_cookie_get($ignorcache = false)
{
    if ($ignorcache) {
        return qa_cookie_get_base();
    } else {
        $main = new qa_caching_main();
        if ($main->now_caching()) {
            return null;
        }
        return qa_cookie_get_base();
    }
}
function qa_cookie_get($ignorcache = false)
{
    if ($ignorcache) {
        return qa_cookie_get_base();
    } else {
        if (qa_caching_main::now_caching()) {
            return null;
        }
        return qa_cookie_get_base();
    }
}
 public function head_script()
 {
     qa_html_theme_base::head_script();
     if (qa_caching_main::now_caching()) {
         //$this->output('<script src="'.qa_path('qa-plugin/q2a-caching/js/qa-caching.js', null, null, QA_URL_FORMAT_NEAT).'"></script>');
         //$this->output('<script src="'.qa_path('qa-plugin/q2a-caching/js/qa-caching.min.js', null, null, QA_URL_FORMAT_NEAT).'"></script>');
         // Output as inline script
         $this->output('<script type="text/javascript">');
         $scripts = file_get_contents(QA_PLUGIN_DIR . 'q2a-caching/js/qa-caching.js');
         if (!empty($scripts)) {
             $scripts = explode("\n", $scripts);
             foreach ($scripts as $script) {
                 if (!empty($script)) {
                     $this->output_raw($script);
                 }
             }
         }
         $this->output('</script>');
     }
 }
 function admin_form(&$qa_content)
 {
     $saved = false;
     $error = array();
     if (qa_clicked(self::SAVE_BUTTON)) {
         qa_opt(self::ENABLE, (int) qa_post_text(self::ENABLE . '_field'));
         qa_opt(self::FILE, (int) qa_post_text(self::FILE . '_field'));
         qa_opt(self::PATH, qa_post_text(self::PATH . '_field'));
         self::check_number(self::EXPIRATION_TIME, self::EXPIRATION_TIME_MIN, self::EXPIRATION_TIME_MAX, $error);
         qa_opt(self::EXPIRATION_EVENTS, qa_post_text(self::EXPIRATION_EVENTS . '_field'));
         qa_opt(self::EXCLUDED_METHOD, qa_post_text(self::EXCLUDED_METHOD . '_field'));
         qa_opt(self::EXCLUDED_REQUESTS, qa_post_text(self::EXCLUDED_REQUESTS . '_field'));
         qa_opt(self::COMPRESS, (int) qa_post_text(self::COMPRESS . '_field'));
         qa_opt(self::DEBUG, (int) qa_post_text(self::DEBUG . '_field'));
         if (!count($error)) {
             $saved = qa_lang(self::PLUGIN . '/' . self::SAVED_MESSAGE);
         } else {
             $saved = qa_lang(self::PLUGIN . '/' . self::ERROR_MESSAGE);
         }
     }
     if (qa_clicked(self::RESET_BUTTON)) {
         qa_opt(self::ENABLE, $this->option_default(self::ENABLE));
         qa_opt(self::FILE, $this->option_default(self::FILE));
         qa_opt(self::PATH, $this->option_default(self::PATH));
         qa_opt(self::EXPIRATION_TIME, $this->option_default(self::EXPIRATION_TIME));
         qa_opt(self::EXPIRATION_EVENTS, $this->option_default(self::EXPIRATION_EVENTS));
         qa_opt(self::EXCLUDED_METHOD, $this->option_default(self::EXCLUDED_METHOD));
         qa_opt(self::EXCLUDED_REQUESTS, $this->option_default(self::EXCLUDED_REQUESTS));
         qa_opt(self::COMPRESS, $this->option_default(self::COMPRESS));
         qa_opt(self::DEBUG, $this->option_default(self::DEBUG));
         $saved = qa_lang(self::PLUGIN . '/' . self::RESET_MESSAGE);
     }
     if (qa_clicked(self::CLEAR_BUTTON)) {
         qa_caching_main::clear_cache();
         $saved = qa_lang(self::PLUGIN . '/' . self::CLEAR_MESSAGE);
     }
     $rules = array();
     $rules[self::FILE] = self::ENABLE . '_field';
     $rules[self::PATH] = self::ENABLE . '_field' . ' && ' . self::FILE . '_field';
     $rules[self::EXPIRATION_TIME] = self::ENABLE . '_field';
     $rules[self::EXPIRATION_EVENTS] = self::ENABLE . '_field';
     $rules[self::EXCLUDED_METHOD] = self::ENABLE . '_field';
     $rules[self::EXCLUDED_REQUESTS] = self::ENABLE . '_field';
     $rules[self::COMPRESS] = self::ENABLE . '_field';
     $rules[self::DEBUG] = self::ENABLE . '_field';
     qa_set_display_rules($qa_content, $rules);
     $form = array();
     //$form['style'] = 'wide';
     if ($saved != '' && !$error) {
         $form['ok'] = $saved;
     }
     $form['fields'][] = self::form_field_check(self::ENABLE, $error);
     $form['fields'][] = self::form_field_check(self::FILE, $error);
     $form['fields'][] = self::form_field_text(self::PATH, $error);
     $form['fields'][] = self::form_field_number(self::EXPIRATION_TIME, $error);
     $form['fields'][] = self::form_field_textarea(self::EXPIRATION_EVENTS, self::EXPIRATION_EVENTS_ROWS, $error, '');
     $form['fields'][] = self::form_field_text(self::EXCLUDED_METHOD, $error);
     $form['fields'][] = self::form_field_textarea(self::EXCLUDED_REQUESTS, self::EXCLUDED_REQUESTS_ROWS, $error);
     $form['fields'][] = self::form_field_check(self::COMPRESS, $error);
     $form['fields'][] = self::form_field_check(self::DEBUG, $error);
     $form['buttons'][] = array('label' => qa_lang(self::PLUGIN . '/' . self::SAVE_BUTTON), 'tags' => 'NAME="' . self::SAVE_BUTTON . '" ID="' . self::SAVE_BUTTON . '"');
     $form['buttons'][] = array('label' => qa_lang(self::PLUGIN . '/' . self::RESET_BUTTON), 'tags' => 'NAME="' . self::RESET_BUTTON . '" ID="' . self::RESET_BUTTON . '" onClick="javascript:return confirm(\'' . qa_lang(self::PLUGIN . '/' . self::RESET_CONFIRM) . '\')"');
     $form['buttons'][] = array('label' => qa_lang(self::PLUGIN . '/' . self::CLEAR_BUTTON), 'tags' => 'NAME="' . self::CLEAR_BUTTON . '" ID="' . self::CLEAR_BUTTON . '" onClick="javascript:return confirm(\'' . qa_lang(self::PLUGIN . '/' . self::CLEAR_CONFIRM) . '\')"');
     return $form;
 }