예제 #1
0
 /**
  * Page hit
  * $cacher->cache_page($_SERVER['REQUEST_URI'], $this->lib('auth')->get_user());
  */
 function cache_page($uri, $buffer)
 {
     if (!$this->_enabled) {
         return false;
     }
     $hash = $this->_hash($uri);
     core::dprint('cache_page - prepare ' . $uri . ' x ' . $hash);
     // if cached item already loaded
     if ($this->_cache_item) {
         $item = $this->_cache_item;
     } else {
         $item = $this->get_by_hash($hash);
     }
     if ($item) {
         $just_cached = false;
         /*
          array('hits' => 10, 'per' => '600', 'cache' => 180)
         */
         if (!$item->is_cached()) {
             $period = $item->access_time - $item->prev_access_time;
             foreach ($this->_threshold_table as $row) {
                 if ($row['per'] <= $period && $row['hits'] - 1 <= $item->counter) {
                     // found rule
                     core::var_dump($row);
                     $this->_cache_page($item, $buffer, $row);
                     $just_cached = true;
                     break;
                 }
             }
         }
         // already hitted
         if (!$just_cached) {
             $item->hit();
         }
     } else {
         // new
         $this->handle->create(array('url' => $uri, 'url_hash' => $hash));
     }
 }
예제 #2
0
<?php

defined('IN_MAIN') or die;
core::dprint('Users crontab');
$last_time = (int) $this->get_core()->get_cfg_var('users_crontab_last');
$interval = $this->get_core()->get_cfg_var('users_crontab_interval', 3600 * 24 * 2);
$ses_interval = $this->get_core()->get_cfg_var('users_sessions_obsolete_time', 604800);
$ses_max = $this->get_core()->get_cfg_var('users_sessions_max', 256);
$time = time();
$interval = 1;
/*
core::var_dump( $last_time
,   $interval
,   $ses_interval
,   $ses_max
, $time
);
*/
core::var_dump($last_time, $interval, $time);
if (empty($last_time) || $last_time + $interval < $time) {
    /* do the job:
         - clear obsolete sessions
       */
    $sessions = $this->get_sessions_handle();
    $sessions->fix_older($time - $ses_interval);
    $sessions->fix_overload($ses_max);
    $users = $this->get_users_handle();
    $users->check_payd_users();
    $this->get_core()->get_dyn_config()->update_param('users_crontab_last', $time);
}
예제 #3
0
파일: vip.php 프로젝트: rustyJ4ck/moswarBot
<?php

/**
 * Post create/update method
 * context: users controller
 * 
 * @package    TwoFace
 * @author     Golovkin Vladimir <*****@*****.**> http://www.skillz.ru
 * @copyright  SurSoft (C) 2008
 * @version    $Id: vip.php,v 1.2 2008/05/22 07:58:07 surg30n Exp $
 */
if (!defined('IN_MAIN')) {
    die;
}
$user = $this->get_context()->get_current_user();
core::var_dump($user->as_array());
예제 #4
0
 /**
  * Suggest
  */
 function suggestions()
 {
     core::var_dump('suggest');
     //$this->get_context()->get_users_like()
 }