File "class.joomlawatch.cache.php"

Full Path: /home/asmplong/www/ancien-site-2019/site/components/com_joomlawatch/class.joomlawatch.cache.php
File size: 2.46 KB
MIME-type: text/x-php
Charset: utf-8

<?php

/**
 * JoomlaWatch - A real-time ajax joomla monitor and live stats
 * @version 1.2.0
 * @package JoomlaWatch
 * @license http://www.gnu.org/licenses/gpl-3.0.txt 	GNU General Public License v3
 * @copyright (C) 2007 by Matej Koval - All rights reserved!
 * @website http://www.codegravity.com
 **/

/** ensure this file is being included by a parent file */
if (!defined('_JEXEC') && !defined('_VALID_MOS'))
    die('Restricted access');

class JoomlaWatchCache {

    var $database;
    var $helper;
    var $config;

    function JoomlaWatchCache() {
        $this->database = new JoomlaWatchDB();
        $this->helper = new JoomlaWatchHelper();
        $this->config = new JoomlaWatchConfig();
    }

    /**
     * cache
     */
    function getCachedItem($key) {
        $time = $this->helper->getServerTime();
        $query = sprintf("select cache, lastUpdate from #__joomlawatch_cache where `key` = '%s' limit 1", $this->database->getEscaped($key));
        $rows = @ $this->database->objectListQuery($query);
        $row = @ $rows[0];
        $cacheInterval = @ $this->config->getConfigValue('JOOMLAWATCH_'.$key);
        if ($time - @ $cacheInterval < @ $row->lastUpdate) {
            return @ $row->cache;
        } else {
            return false;
        }

    }

    /**
     * cache
     */
    function storeCachedItem($key, $cache) {
        $query = sprintf("select cache, lastUpdate from #__joomlawatch_cache where `key` = '%s' limit 1", $this->database->getEscaped($key));
        $rows = @ $this->database->objectListQuery($query);
        $row = @ $rows[0];
        $time = $this->helper->getServerTime();
        if (!@ $row->cache) {
            // insert
            $cache = addslashes($cache);
            $query = sprintf("insert into #__joomlawatch_cache (id, `key`, lastUpdate, cache) values ('','%s', '%d', '%s' )", $this->database->getEscaped($key), (int) $time, $this->database->getEscaped($cache));
            $this->database->executeQuery($query);
        } else {

            $cache = addslashes($cache);
            $query = sprintf("update #__joomlawatch_cache set lastUpdate = '%d', cache = '%s' where `key` = '%s' limit 1", (int) $time, $this->database->getEscaped($cache), $this->database->getEscaped($key));
            $this->database->executeQuery($query);
        }

    }

    /**
     * cache
     */
    function clearCache() {
        $query = sprintf("delete from #__joomlawatch_cache");
        $result1 = $this->database->executeQuery($query);
    }
}

?>