示例#1
0
文件: robots.php 项目: nncsang/Kurogo
<?php

$lines = array('User-agent: *', 'Allow: ' . URL_BASE, 'Disallow: ' . URL_BASE . 'rest/');
foreach (WebModule::getAllModules() as $module) {
    if (!$module->allowRobots()) {
        $lines[] = 'Disallow: ' . URL_BASE . $module->getConfigModule() . '/';
    }
}
$output = implode("\n", $lines) . "\n";
header('Content-type: text/plain');
print $output;
示例#2
0
 public static function initStatsResult(KurogoStatsOption $OptionObject)
 {
     $result = array();
     foreach ($OptionObject->getGroup() as $group) {
         switch ($group) {
             case 'moduleID':
                 if ($OptionObject->getService() == 'web') {
                     $moduleData = WebModule::getAllModules();
                 } else {
                     $moduleData = APIModule::getAllModules();
                 }
                 $result = array_combine(array_keys($moduleData), array_fill(0, count($moduleData), 0));
                 break;
             case 'platform':
                 $platforms = self::$platforms;
                 $result = array_combine(array_keys($platforms), array_fill(0, count($platforms), 0));
                 break;
             case 'pagetype':
                 $pagetypes = self::$pagetypes;
                 $result = array_combine(array_keys($pagetypes), array_fill(0, count($pagetypes), 0));
                 break;
             case 'hour':
                 $result = array_combine(range(0, 23), array_fill(0, 24, 0));
                 break;
         }
     }
     return $result;
 }
示例#3
0
 protected function addNewModule($moduleData)
 {
     if (!isset($moduleData['title']) || empty($moduleData['title'])) {
         throw new KurogoConfigurationException("Choose a module title");
     }
     if (!isset($moduleData['config']) || !preg_match("/^[a-z0-9_-]+\$/i", $moduleData['config'])) {
         throw new KurogoConfigurationException("Choose a url. It must contain only letters and numbers");
     }
     $moduleClasses = WebModule::getAllModuleClasses();
     if (!isset($moduleData['id']) || !in_array($moduleData['id'], $moduleClasses)) {
         throw new KurogoConfigurationException("Choose a module type");
     }
     $modules = WebModule::getAllModules();
     if (in_array($moduleData['config'], $modules)) {
         throw new KurogoConfigurationException("Module " . $moduleData['config'] . " already exists");
     }
     $config = ModuleConfigFile::factory($moduleData['config'], 'module', ModuleConfigFile::OPTION_CREATE_WITH_DEFAULT);
     $valid_props = array('id', 'title', 'protected', 'secure', 'disabled', 'search');
     foreach ($valid_props as $key) {
         if (isset($moduleData[$key])) {
             $config->setVar('module', $key, $moduleData[$key], $changed);
         }
     }
     $config->saveFile();
 }
示例#4
0
 public static function isValidModuleID($service, $moduleID)
 {
     static $allModuleData = array('web' => array(), 'api' => array());
     $moduleData = array();
     if (isset($allModuleData[$service]) && !empty($allModuleData[$service])) {
         $moduleData = $allModuleData[$service];
     }
     if (!$moduleData) {
         if ($service == 'web') {
             $allModuleData['web'] = WebModule::getAllModules();
             $moduleData = $allModuleData['web'];
         } else {
             $allModuleData['api'] = APIModule::getAllModules();
             $moduleData = $allModuleData['api'];
         }
     }
     return isset($moduleData[$moduleID]) ? true : false;
 }