if ($act == "installprograms") { $out = new jsonOutput(); import("models.app"); import("lib.Json.Json"); $App->truncate(); $out->append("Establishing connection to database...", "...done"); $out->append("Initalizing application installer...", "...done"); $dir = opendir("./apps/"); import("lib.package"); while (($file = readdir($dir)) !== false) { if ($file[0] == '.') { continue; } else { $content = file_get_contents("./apps/" . $file); $info = Zend_Json::decode($content); $result = package::_insert_application_meta($info); $out->append("installing " . $info['name'] . "...", "...done"); } } } if ($act == "checkpermissions") { $dirs = array("../backend/", "../files/", "../public/", "../tmp/", "../desktop/dojotoolkit/lucid/resources/themes/", "../desktop/dojotoolkit/lucid/apps/"); $out = new jsonOutput(); foreach ($dirs as $dir) { $key = str_replace("../", "", $dir); if (!is_writable($dir)) { $out->append($key, "not writable (chmod to 777 or chown to webserver's user)"); } else { $out->append($key, "ok"); } }
function _install_application($info, $path) { $exists = $App->filter("sysname", $info['sysname']); if ($exists) { return false; } package::_insert_application_meta($info); $backendDir = $GLOBALS['path'] . "../apps/" . $app->sysname; if (is_dir($path . "/files")) { package::_recursive_copy($path . "/backends", $backendDir); } $sysDir = $GLOBALS['path'] . "../desktop/dojotoolkit/lucid/apps/" . $app->sysname; if (is_dir($path . "/" . $app->sysname)) { package::_recursive_copy($path . "/" . $app->sysname, $sysDir); } $appFile = $GLOBALS['path'] . "../desktop/dojotoolkit/lucid/apps/" . $app->sysname . ".js"; copy($path . "/" . $app->sysname . ".js", $appFile); return array("/apps/" . $app->sysname, "/desktop/dojotoolkit/lucid/apps/" . $app->sysname, "/desktop/dojotoolkit/lucid/apps/" . $app->sysname . ".js"); }