/**
  * 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;
Example #3
0
<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;
Example #4
0
<?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);