/** * Does the correct Drupal POST JSON action requested. * this methode is cusing the proper drupla methods t ocreate and parse the * JSON messages (send and received). * @param string $interface * The Interface of wich the method is part of. * @param string $method * The method you want to run on the BIMserver. * @param string $parameters * A list of named parameters wich are comma-seperated. * @return object * the parsed JSON return object. or null if it contained no data. */ protected function doPost($interface, $method, $parameters, $shorten = TRUE, $addJson = TRUE) { /*$data = ""; $data = $data . "{"; if (isset($this -> login_token)) { $data = $data . "\"token\":\"" . $this -> login_token . "\","; } $data = $data . "\"request\": {\"interface\":\"" . $interface . "\",\"method\":\"" . $method . "\",\"parameters\": {" . $parameters . "}}}"; */ global $DEBUG; if (isset($this->login_token)) { $send['token'] = $this->login_token; if ($DEBUG) { $f = fopen("/tmp/proxyToken.log", "a"); if ($f != false) { fwrite($f, date("c") . "\tToken: '" . var_export($this->login_token, TRUE) . "'\n"); } fclose($f); } } $send['request']['interface'] = $interface; $send['request']['method'] = $method; if (empty($parameters)) { $send['request']['parameters'] = "{}"; } else { $send['request']['parameters'] = $parameters; } //$data = json_encode($send); $options['headers']['Content-Type'] = 'application/json'; $options['method'] = 'post'; $options['data'] = json_encode($send); $fixed = 0; $options['data'] = str_replace("\"{}\"", "{}", $options['data'], $fixed); if (!empty($fixed)) { bimserverJsonConnector::drupal_set_message('BMS-Bimserver Proxy', "Swapped '\"{}\"' for '{} [{$fixed}*]\nProxy Called:={$interface}.{$method}({$parameters})'."); //drupal_set_message("Fixed $fixed \"{}\" to {}.",'warning'); } if ($DEBUG) { $f = fopen("/tmp/proxyPost.log", "a"); if ($f != false) { fwrite($f, "CALL: '" . var_export($options, TRUE) . "'\n"); } } $postServer = $this->server; if ($addJson) { $postServer .= '/json'; } $result = bimserverJsonConnector::_bim_http_request($postServer, $options); if ($DEBUG) { if ($f != false) { fwrite($f, "AWNS: \t'" . var_export($result, TRUE) . "'\n"); fclose($f); } } //dsm($result); if ($shorten) { if (empty($result->data)) { $result = $result; //->data; } else { $result = json_decode($result->data); } } else { if (!empty($result->data)) { $result->data = json_decode($result->data); } } return $result; }
</form></body></html>'; exit; } $json = json_decode($POST); //var_dump(json_decode($_POST['json'])); $bimid = $json->id; $bimObjKey = $json->Key; $bimObjValue = $json->Value; //$$json->objects; $bimObjectOID = $json->objects->oid; $bimObjectGUID = $json->objects->guid; //echo "$json"; // echo "[id] $bimid [key] $bimObjKey [value] $bimObjValue [oid] $bimObjectOID [guid] $bimObjectGUID"; $s = '"' . $bimObjectGUID . '","' . $bimObjKey . '","' . $bimObjValue . '"'; $f = fopen("updates.csv", "a"); fwrite($f, "{$s}\n"); fclose($f); //exit(); require "credentials.inc"; include "bimserverJsonConnector.class.php"; $bimserver = new bimserverJsonConnector($bimserver["URL"], $bimserver["Name"], $bimserver["Key"]); $projects = $bimserver->getAllProjects(false, false); $ROID = $projects[0]->lastRevisionId; $name = $projects[0]->name; $POID = $projects[0]->oid; $transaction = $bimserver->LowLevelStartTransaction($POID)->response->result; $change = $bimserver->setWrappedStringAttribute($transaction, $bimid, "NominalValue", "IfcLabel", $bimObjValue); $endTrans = $bimserver->LowLevelCommitTransaction($transaction); $bimserver->logout(); echo "POID={$POID}, ROID={$ROID}, NewRoid=" . var_export($endTrans, TRUE) . "\n"; return $endTrans;
<input type="text" name="json" id="json"></p> <input value="Submit" type="submit" onclick="submitform()"> </form></body></html>'; exit; } $json = json_decode($_POST['json']); //var_dump(json_decode($_POST['json'])); $bimid = $json->id; $bimObjKey = $json->Key; $bimObjValue = $json->Value; //$$json->objects; $bimObjectOID = $json->objects->oid; $bimObjectGUID = $json->objects->guid; //echo "$json"; // echo "[id] $bimid [key] $bimObjKey [value] $bimObjValue [oid] $bimObjectOID [guid] $bimObjectGUID"; $f = fopen("updates.csv", "a"); fwrite($f, "{$bimObjectGUID},{$bimObjKey},{$bimObjValue}\n"); fclose($f); //exit(); require "credentials.inc"; include "bimserverJsonConnector.class.php"; $bimserver = new bimserverJsonConnector($bimserver["URL"], $bimserver["Name"], $bimserver["Key"]); $projects = $bimserver->getAllProjects(false, false); $ROID = $projects[0]->lastRevisionId; $name = $projects[0]->name; $POID = $projects[0]->oid; $transaction = $bimserver->LowLevelStartTransaction($POID)->response->result; $change = $bimserver->setStringAttribute($transaction, $bimid, $bimObjKey, $bimObjValue); $endTrans = $bimserver->LowLevelAbortTransaction($transaction); $bimserver->logout(); return $endTrans;
<?php require "credentials.inc"; include "bimserverJsonConnector.class.php"; $bimserver = new bimserverJsonConnector($bimserver["URL"], $bimserver["Name"], $bimserver["Key"]); //var_dump($bimserver); $projects = $bimserver->getAllProjects(false, false); $ROID = $projects[0]->lastRevisionId; $name = $projects[0]->name; $POID = $projects[0]->oid; $OBJECTS = $bimserver->getProjectDataObjects(array("roid" => "{$ROID}")); //var_dump($bimserver->metaGetAllAsJson()); $elements = $bimserver->getDataObjectByGuid($ROID, "1a51wBsI18khScCv3nhQJq")->response->result; $elementDoor = $bimserver->getDataObjectByGuid($ROID, '3ToDNw32H4sO$J5u6hyGUv')->response->result; $transaction = $bimserver->LowLevelStartTransaction($POID)->response->result; //"IfcText" //$change=$bimserver->setStringAttribute($transaction,65814,"Description","Cool I set this Myself"); $endTrans = $bimserver->LowLevelAbortTransaction($transaction); //$bimserver->LowLevelCommitTransaction($transaction); //$modelcheckers=$bimserver->getDefaultModelCompare()->response->result->oid; //$compare=$bimserver->revisionCompare("65539","196611","ALL",$modelcheckers); $bimserver->logout(); echo "[POID] {$POID}\n"; echo "[ROID] {$ROID}\n"; echo "[Name] {$name}\n"; echo "[RObC] " . count($OBJECTS->response->result) . "\n"; //var_dump($OBJECTS->response->result[0]); //echo "[ELEMENTS]\n"; //var_dump($elements); //echo "\n---------\n"; //var_dump($elementDoor);