EOS ); exec("cd '{$sandbox}'; find -mindepth 1 -maxdepth 1 -print0 | xargs -0 tar zcf {$TEMPNAM}.tgz", $output, $return_var); if ($return_var) { $output = implode("\n", $output); REST::fatal(REST::HTTP_INTERNAL_SERVER_ERROR, $output); } $tokenhandle = fopen("{$TEMPNAM}.tgz", 'r'); try { $token_url = Topos::putTokenFile($tokenhandle, 'application/x-compressed-tar'); } catch (Exception $e) { fclose($tokenhandle); throw $e; } fclose($tokenhandle); $token_id = basename($token_url); Portal_MySQL::real_query(<<<EOS INSERT INTO `Token` ( `token_id`, `user_id` ) VALUES ( {$token_id}, {$user_id} ); EOS ); $resultURL = REST::urlbase() . Portal::portalURL() . "jobstates/{$token_id}"; REST::created($resultURL); } Portal_User::current(); REST::header(array('Content-Type' => REST::best_xhtml_type())); echo Portal::html_start("{$appname}-{$appversion}") . '<form action="' . $appversion . '" method="post" enctype="multipart/form-data">'; $portlet->doGET(); echo '</form>' . Portal::html_end();
REST::fatal(REST::HTTP_BAD_REQUEST, '<pre>' . htmlentities($output) . '</pre>'); } $escserver = Portal_MySQL::escape_string($_POST['server']); $escusername = Portal_MySQL::escape_string($_POST['username']); $escpassword = Portal_MySQL::escape_string($_POST['password']); Portal_MySQL::real_query("UPDATE `User` SET `proxy_server` = {$escserver}, `proxy_username` = {$escusername}, `proxy_password` = {$escpassword} WHERE `user_dn_md5` = '{$userdnmd5}'"); $best_xhtml_type = REST::best_xhtml_type(); $type = REST::best_content_type(array($best_xhtml_type => 1.0, 'text/plain' => 1.0), $best_xhtml_type); $relurl = REST::urlencode(dirname($_SERVER['REDIRECT_URL'])) . '/proxy'; REST::header(array('status' => REST::HTTP_CREATED, 'Location' => REST::urlbase() . $relurl, 'Content-Type' => "{$type}; charset=UTF-8")); if ($type == 'text/plain') { echo REST::urlbase() . $relurl; } else { echo Portal::html_start('Proxy created') . "<p><a href=\"proxy\">proxy</a></p>" . Portal::html_end(); } exit; } REST::header(REST::best_xhtml_type() . "; charset=UTF-8"); $default_server = getenv('MYPROXY_SERVER'); echo Portal::html_start("myProxy") . <<<EOS <form action="./myproxy" method="post"> <table border="0" cellpadding="0" cellspacing="0"><tbody> <tr><td>Username</td><td><input type="text" name="username" /></td></tr> <tr><td>Password</td><td><input type="password" name="password" /></td></tr> <tr><td>MyProxy server</td><td><input type="text" name="server" value="{$default_server}" /></td></tr> <tr><td> </td><td><input type="submit" value="Delegate" /></td></tr> </tbody></table> </form> EOS . Portal::html_end();
Portal_MySQL::real_query("DELETE FROM `Database` WHERE `database_id` = {$insert_id}"); REST::fatal(REST::HTTP_INTERNAL_SERVER_ERROR, "Couldn't store uploaded file."); } chmod(Portal_DB::DATABASE_DIR . $insert_id, 0660); } $extension = Portal_DB::databaseTypeExtension($typeId); $htmlurl = "{$insert_id}.{$extension}"; $fullurl = REST::urlbase() . $_SERVER['REDIRECT_URL'] . $htmlurl; $content_type = REST::best_content_type(array(REST::best_xhtml_type() => 1.0, 'text/plain' => 0.5), 'text/plain'); if ($content_type == 'text/plain') { REST::header(array('status' => REST::HTTP_CREATED, 'Location' => $fullurl, 'Content-Type' => 'text/plain; charset=US-ASCII')); echo $fullurl; exit; } REST::header(array('status' => REST::HTTP_CREATED, 'Location' => $fullurl, 'Content-Type' => REST::best_xhtml_type() . '; charset=US-ASCII')); echo Portal::html_start('New database created') . "<a href=\"{$htmlurl}\" rel=\"child\" rev=\"index\">{$htmlurl}</a>" . Portal::html_end(); exit; } REST::require_method('GET', 'HEAD'); $options = ''; foreach (Portal_DB::databaseTypeIDs() as $databaseTypeID) { $databaseTypeName = Portal_DB::databaseTypeName($databaseTypeID); $options .= "\n<option value=\"{$databaseTypeName}\">{$databaseTypeName}</option>"; } $directory = RESTDir::factory("{$path_info[0]}, version {$path_info[1]}")->setForm(<<<EOS <h1>Database upload</h1> <form method="post" action="./" enctype="multipart/form-data"> <input type="file" name="dbfile" /><br /> <input type="checkbox" name="shared" value="1" /> Share this database with others<br /> Database type: <select name="type"> {$options}