Пример #1
0
    $jsonString = Zend_Json::encode($data);
    echo $jsonString;
    exit;
}
// check rate limit
if ($registry->configuration->api->params->lifetime == strtolower('minute')) {
    $timeKey = date("i");
    $ttl = 60;
} else {
    // h - 12 hrs ; H - 24 hrs
    $timeKey = date("H");
    $ttl = 3600;
}
$cacheRateKey = $registry->configuration->cache->namespace . '_' . $registry->configuration->api->params->prefix . '_' . $registry->arguments['key'] . '_' . $timeKey;
// using apcu directly
// for more info about the caching layer see    http://www.dotkernel.com/tag/dotkernel-caching/
$rate = (int) apc_fetch($cacheRateKey);
$rateLimit = $registry->configuration->api->params->rate_limit;
if ($rate > $rateLimit) {
    Api_Model_Header::setHeaderByCode(403);
    exit;
}
apc_store($cacheRateKey, 1 + $rate, $ttl);
// Create  connection to database, as singleton , and store it in registry
$db = Zend_Db::factory('Pdo_Mysql', $config->database->params->toArray());
$registry->database = $db;
// Load specific configuration settings from database, and store it in registry
$settings = Dot_Settings::getSettings();
$registry->settings = $settings;
$registry->option = array();
include 'Controller.php';
Пример #2
0
 /**
  * Initialize the global variables 
  * @access public 
  * @static
  * @param int $startTime
  * @return bool $success
  */
 public static function initialize($startTime)
 {
     // Create registry object, as read-only object to store there config, settings, and database
     $registry = self::_initializeRegistry();
     // mark the start time
     $registry->startTime = $startTime;
     //Load configuration settings from application.ini file and store it in registry
     $config = new Zend_Config_Ini(CONFIGURATION_PATH . '/application.ini', APPLICATION_ENV);
     $registry->configuration = $config;
     //start the cache
     Dot_Cache::loadCache();
     //Load routes(modules, controllers, actions) settings from router.xml file and store it in registry
     $registry->router = self::_loadRouter();
     // load the plugin configuration
     $registry->pluginConfiguration = self::_loadPluginConfiguration();
     //Load configuration settings from application.ini file and store it in registry
     $config = new Zend_Config_Ini(CONFIGURATION_PATH . '/application.ini', APPLICATION_ENV);
     $registry->configuration = $config;
     // Create  connection to database, as singleton , and store it in registry
     $db = Zend_Db::factory('Pdo_Mysql', $config->database->params->toArray());
     $registry->database = $db;
     //Load specific configuration settings from database, and store it in registry
     $settings = Dot_Settings::getSettings();
     $registry->settings = $settings;
     //Set PHP configuration settings from application.ini file
     Dot_Settings::setPhpSettings($config->phpSettings->toArray());
     // Extract the route from the URI
     Dot_Route::setRoute();
     // initialize seo options
     $registry->seo = Dot_Route::getOption();
     // initialize default options for dots that may be overwritten
     $option = Dot_Settings::getOptionVariables($registry->requestModule, 'default');
     $registry->option = $option;
     return true;
 }