private static function info($maxlen) { ksort(self::$cmds); $app_info = App::info(); self::println(self::fcolor($app_info["name"], "1;35") . (empty($app_info["summary"]) ? "" : ", " . $app_info["summary"] . ".") . "\n"); $desc = Text::plain($app_info["description"]); if (!empty($desc)) { self::println(str_repeat("=", 50)); self::println($desc); self::println(str_repeat("=", 50)); self::println(""); } self::info_print("try 'php setup.php -h *****' for more information"); foreach (self::$cmds as $name => $m) { list($line) = explode("\n", $m[2]); self::println(" " . str_pad($name, $maxlen) . " : " . $line); } }
private static function app($repository) { if (!$repository->start("app")) { return; } if (is_dir(App::path("apps"))) { $list = array(); foreach (File::dir(App::path("apps"), true) as $dir) { $bool = true; foreach ($list as $p) { if (strpos($dir, $p) === 0) { $bool = false; break; } } if ($bool) { $package = str_replace(array(App::path("apps/"), "/"), array("", "."), $dir); $info = App::info($dir); if (!empty($info["name"])) { $tgz_filename = $repository->tgz_path($package); File::tgz($tgz_filename, $dir); touch($tgz_filename, File::last_update($dir)); $repository->add($package, $info["name"], File::last_update($dir), $info["description"], $info["summary"]); $list[] = $dir; } } } } }