People allowed to write to the database:
-(key name)
+(key hash, or optionally name)
|
@@ -11,12 +11,16 @@ Keys already in the database:
Keys already in the database:
-include_once("automation.php");
-$keydata = mtn_automate(array("keys"), array());
-$keylist = parse_basic_io($keydata["data"], true);
+$keydata = array();
+$ret = 0;
+$command = "$monotone automate remote --db :memory: --remote-stdio-host $project.$hostname keys";
+exec($command, $keydata, $ret);
+
+$keylist = parse_basic_io(implode("\n", $keydata), true);
+
while(list($garbage, $key_item) = each($keylist)) {
if (array_search("database", $key_item["public_location"]) !== false) {
- print($key_item["name"][0] . "
");
+ print($key_item["hash"][0] . " " . $key_item["local_name"][0] . "
");
}
}
?>
============================================================
--- www/admin-source_control_backend.php f51b654a12c5f94dfb9c75ac5d9502e4f4f4fd3f
+++ www/admin-source_control_backend.php cd3cba112b959cf0c1b40ce2c25999aa1b98f9da
@@ -1,6 +1,6 @@ include_once("common-ctrl.php");
include_once("common-ctrl.php");
-include_once("automation.php");
+//include_once("automation.php");
function usherctrl($what) {
global $adminaddr, $adminport, $adminuser, $adminpass;
@@ -69,11 +69,10 @@ if ($action == "getsrv") {
if (!$match_ok) {
print $json->encode(array("error" => "Key data doesn't look like a key."));
} else {
- $result = mtn_automate(array("read_packets", $args->keydata), array());
- if ($result === false) {
- print $json->encode(array("error" => "Unknown error."));
- } elseif ($result["errcode"] != 0) {
- print $json->encode(array("error" => "Internal error: " . $result["error"]));
+ $command = "$monotone automate remote --db :memory: --remote-stdio-host $project.$hostname read_packets";
+ exec("$command " . escapeshellarg($args->keydata) . " 2>&1", $output = array(), $return_code);
+ if ($return_code != 0) {
+ print $json->encode(array("error" => "Internal error: " . implode("\n", $output)));
} else {
print $json->encode(array("result" => "ok"));
}
============================================================
--- www/admin.php fbd0d8196092c77c9c4fbd917f242cf2b113e79a
+++ www/admin.php 6e1172e8a4dab9e605caef54d3024dca26c725d8
@@ -4,7 +4,6 @@
$level = 'project';
include_once('common-ctrl.php');
- $hostname = "localhost";
$page = getarg('page');
if(!$page)
$page = 'permissions';
============================================================
--- www/common-ctrl.php faa67a0b50337520ed254b6056b9a2bb36796580
+++ www/common-ctrl.php d41653c72c600e71bfbb3701bc2ea53201939c1d
@@ -6,9 +6,6 @@ $render_type = $args->render_type; if($_
$project = $args->project; if($_REQUEST['project']) $project = $_REQUEST['project'];
$render_type = $args->render_type; if($_REQUEST['render_type']) $render_type = $_REQUEST['render_type'];
-$projdir = $project_dir . "/" . basename($project);
-$projwww = $www_dir . "/projects/" . basename($project);
-$monotone = "$monotone --confdir '$projdir'";
function getarg($name) {
@@ -26,6 +23,11 @@ if (!$project) {
if (basename(dirname(dirname($_SERVER['PHP_SELF']))) == "projects")
$project = basename(dirname($_SERVER['PHP_SELF']));
}
+
+$projdir = $project_dir . "/" . basename($project);
+$projwww = $www_dir . "/projects/" . basename($project);
+$monotone = "$monotone --confdir '$projdir'";
+
function allowed($what) {
global $json, $permissions, $validuser, $username;
if(!$validuser)