<?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;
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; }
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(); }
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; }