public static function run($class) { $args = $_SERVER["argv"]; array_shift($args); $class = array_shift($args); unshift_include_path(RUN_BASE . DS . "tasks"); if (class_exists($class, true)) { $ins = new $class(); $ins->setArguments($args); if (isset($args[0]) && ($args[0] === "-h" || $args[0] === "--help")) { $ins->usage(); } else { try { if ($ins->hasMethod("initialize")) { $ins->initialize(); } $ins->run(); if ($ins->hasMethod("finalize")) { $ins->finalize(); } } catch (Exception $e) { Sabel_Console::error($e->getMessage()); } } } else { Sabel_Console::error("such a task doesn't exist."); } }
define("SBL_LOG_ERR", 0x8); define("SBL_LOG_ALL", 0xff); ############################################################ define("TPL_SUFFIX", ".tpl"); define("DS", DIRECTORY_SEPARATOR); define("NO_REWRITE_PREFIX", "_uri"); define("MODULES_DIR_NAME", "app"); define("VIEW_DIR_NAME", "views"); define("HELPERS_DIR_NAME", "helpers"); define("LIB_DIR_NAME", "lib"); define("ADDON_DIR_NAME", "addon"); define("CONFIG_DIR_PATH", RUN_BASE . DS . "config"); define("MODULES_DIR_PATH", RUN_BASE . DS . MODULES_DIR_NAME); define("MODELS_DIR_PATH", MODULES_DIR_PATH . DS . "models"); define("LOG_DIR_PATH", RUN_BASE . DS . "logs"); define("CACHE_DIR_PATH", RUN_BASE . DS . "cache"); define("COMPILED_DIR_PATH", CACHE_DIR_PATH . DS . "templates"); define("DEFAULT_LAYOUT_NAME", "layout"); ################# INCLUDE_PATH SETTINGS #################### unshift_include_paths(array(MODULES_DIR_PATH, RUN_BASE . DS . LIB_DIR_NAME, MODELS_DIR_PATH, RUN_BASE . DS . ADDON_DIR_NAME)); unshift_include_path(Sabel::getPath()); ############### INCLUDE CONFIGURATION FILES ################ Sabel::fileUsing(CONFIG_DIR_PATH . DS . "Bus.php", true); Sabel::fileUsing(CONFIG_DIR_PATH . DS . "Map.php", true); Sabel::fileUsing(CONFIG_DIR_PATH . DS . "Addon.php", true); Sabel::fileUsing(CONFIG_DIR_PATH . DS . "Database.php", true); Sabel::fileUsing(CONFIG_DIR_PATH . DS . "Mail.php", true); Sabel::fileUsing(CONFIG_DIR_PATH . DS . "DI.php", true); ################## APPLICATION CONSTANTS ################### define("DEFAULT_IMAGE_NAME", "default.png"); define("FRIENDS_ICON_LIMIT", 36);