Example #1
0
 function UpdateSlotsPorts($template, $status)
 {
     //Update slots
     $template->DeleteSlots();
     for ($i = 1; $i <= $template->ChassisSlots; $i++) {
         $slot = new Slot();
         $slot->TemplateID = $template->TemplateID;
         $slot->Position = $i;
         $slot->BackSide = False;
         $slot->X = isset($_POST["XF" . $i]) ? $_POST["XF" . $i] : 0;
         $slot->Y = isset($_POST["YF" . $i]) ? $_POST["YF" . $i] : 0;
         $slot->W = isset($_POST["WF" . $i]) ? $_POST["WF" . $i] : 0;
         $slot->H = isset($_POST["HF" . $i]) ? $_POST["HF" . $i] : 0;
         $status = $slot->CreateSlot() ? $status : __("Error updating front slots");
     }
     for ($i = 1; $i <= $template->RearChassisSlots; $i++) {
         $slot = new Slot();
         $slot->TemplateID = $template->TemplateID;
         $slot->Position = $i;
         $slot->BackSide = True;
         $slot->X = isset($_POST["XR" . $i]) ? $_POST["XR" . $i] : 0;
         $slot->Y = isset($_POST["YR" . $i]) ? $_POST["YR" . $i] : 0;
         $slot->W = isset($_POST["WR" . $i]) ? $_POST["WR" . $i] : 0;
         $slot->H = isset($_POST["HR" . $i]) ? $_POST["HR" . $i] : 0;
         $status = $slot->CreateSlot() ? $status : __("Error updating rear slots");
     }
     //update template ports
     $template->DeletePorts();
     for ($i = 1; $i <= $template->NumPorts; $i++) {
         $tport = new TemplatePorts();
         $tport->TemplateID = $template->TemplateID;
         $tport->PortNumber = $i;
         $tport->Label = isset($_POST["label" . $i]) ? $_POST["label" . $i] : "";
         $tport->MediaID = isset($_POST["mt" . $i]) && $_POST["mt" . $i] > 0 ? $_POST["mt" . $i] : 0;
         $tport->ColorID = isset($_POST["cc" . $i]) && $_POST["cc" . $i] > 0 ? $_POST["cc" . $i] : 0;
         $tport->PortNotes = isset($_POST["portnotes" . $i]) ? $_POST["portnotes" . $i] : "";
         $status = $tport->CreatePort() ? $status : __("Error updating template ports");
     }
     $template->DeletePowerPorts();
     //update template power connections
     for ($i = 1; $i <= $template->PSCount; $i++) {
         $tport = new TemplatePowerPorts();
         $tport->TemplateID = $template->TemplateID;
         $tport->PortNumber = $i;
         $tport->Label = isset($_POST["powerlabel" . $i]) ? $_POST["powerlabel" . $i] : "";
         $tport->PortNotes = isset($_POST["powerportnotes" . $i]) ? $_POST["powerportnotes" . $i] : "";
         $status = $tport->CreatePort() ? $status : __("Error updating template power connections");
     }
     return $status;
 }
Example #2
0
            $response['errorcode'] = 200;
            $response['dataport'] = $tp;
        }
    }
    echoResponse(200, $response);
});
//
//	URL:	/api/v1/devicetemplate/:templateid/powerport/:portnum
//	Method:	PUT
//	Params:
//		Required: templateid, portnum, portlabel
//		Optional: everything else
//	Returns: record as created
//
$app->put('/devicetemplate/:templateid/powerport/:portnum', function ($templateid, $portnum) use($app, $person) {
    $tp = new TemplatePowerPorts();
    foreach ($app->request->put() as $prop => $val) {
        $tp->{$prop} = $val;
    }
    // This should be in the commit data but if we get a smartass saying it's in the URL
    $tp->TemplateID = $templateid;
    $tp->PortNumber = $portnum;
    if (!$person->WriteAccess) {
        $response['error'] = true;
        $response['errorcode'] = 403;
        $response['message'] = __("Unauthorized");
    } else {
        if (!$tp->CreatePort()) {
            $response['error'] = true;
            $response['errorcode'] = 404;
            $response['message'] = __("Device template port creation failed");
Example #3
0
 static function createPorts($DeviceID, $update_existing = false)
 {
     // If $update_existing is true then we'll try to create all the ports and as a by product
     // create any new ports.  The setting here will ensure we don't log any errors from the
     // ports that already exist.
     $dev = new Device();
     $dev->DeviceID = $DeviceID;
     if (!$dev->GetDevice()) {
         return false;
     }
     // Check the user's permissions to modify this device
     if ($dev->Rights != 'Write') {
         return false;
     }
     $portList = array();
     //Search template ports
     $tports = array();
     if ($dev->TemplateID > 0) {
         $tport = new TemplatePowerPorts();
         $tport->TemplateID = $dev->TemplateID;
         $tports = $tport->getPorts();
     }
     for ($i = 1; $i <= $dev->PowerSupplyCount; $i++) {
         $portList[$i] = new PowerPorts();
         $portList[$i]->DeviceID = $dev->DeviceID;
         $portList[$i]->PortNumber = $i;
         if (isset($tports[$i])) {
             // Get any attributes from the template
             foreach ($tports[$i] as $key => $value) {
                 if (array_key_exists($key, $portList[$i])) {
                     $portList[$i]->{$key} = $value;
                 }
             }
             // Temp fix for issue #632 until the models can be brought into alignment
             $portList[$i]->Notes = $tports[$i]->PortNotes;
         }
         $portList[$i]->Label = $portList[$i]->Label == "" ? __("Power Connection") . " {$i}" : $portList[$i]->Label;
         $portList[$i]->createPort($update_existing);
     }
     return $portList;
 }
Example #4
0
 function getPorts()
 {
     global $dbh;
     $this->MakeSafe();
     $sql = "SELECT * FROM fac_TemplatePowerPorts WHERE TemplateID={$this->TemplateID} ORDER BY PortNumber ASC;";
     $ports = array();
     foreach ($dbh->query($sql) as $row) {
         $ports[$row['PortNumber']] = TemplatePowerPorts::RowToObject($row);
     }
     return $ports;
 }
Example #5
0
        }
    }
}
$mList = $m->getSubscriptionList();
foreach ($mList as $man) {
    curl_setopt($c, CURLOPT_URL, 'https://repository.opendcim.org/api/template/bymanufacturer/' . $man->GlobalID);
    curl_setopt($c, CURLOPT_CUSTOMREQUEST, 'GET');
    $result = curl_exec($c);
    $jr = json_decode($result);
    if (@$jr->errorcode == 200) {
        if (is_array($jr->templates)) {
            foreach ($jr->templates as $tem) {
                $tm = new Manufacturer();
                $cs = new Slot();
                $tp = new TemplatePorts();
                $tpp = new TemplatePowerPorts();
                foreach ($t as $prop => $val) {
                    @($t->{$prop} = $tem->{$prop});
                }
                $m->GlobalID = $t->ManufacturerID;
                $m->getManufacturerByGlobalID();
                $t->ManufacturerID = $m->ManufacturerID;
                // Snag the images
                if ($t->FrontPictureFile != "") {
                    $tmpname = explode(".", basename($t->FrontPictureFile), 2);
                    $frontname = $picturedir . $tmpname[1];
                    grab_image($t->FrontPictureFile, $frontname);
                    $t->FrontPictureFile = $tmpname[1];
                }
                if ($t->RearPictureFile != "") {
                    $tmpname = explode(".", basename($t->RearPictureFile), 2);
Example #6
0
        $response['message'] = __("Port not found for TemplateID: ") . " {$templateid}:{$portnumber}";
    } else {
        $response['error'] = false;
        $response['errorcode'] = 200;
        $response['dataports'] = $tp;
    }
    echoResponse(200, $response);
});
//
//	URL:	/api/v1/devicetemplate/:templateid/powerports
//	Method:	GET
//	Params: templateid
//	Returns: Power ports defined for device template with templateid
//
$app->get('/devicetemplate/:templateid/powerports', function ($templateid) use($app) {
    $tp = new TemplatePowerPorts();
    $tp->TemplateID = $templateid;
    if (!($ports = $tp->getPorts())) {
        $response['error'] = true;
        $response['errorcode'] = 404;
        $response['message'] = __("No ports found for TemplateID: ") . " {$templateid}";
    } else {
        $response['error'] = false;
        $response['errorcode'] = 200;
        $response['powerports'] = $ports;
    }
    echoResponse(200, $response);
});
//
//	URL:	/api/v1/manufacturer
//	Method:	GET
Example #7
0
foreach ($tList as $temp) {
    if ($temp->ManufacturerID != $m->ManufacturerID) {
        $m->ManufacturerID = $temp->ManufacturerID;
        $m->GetManufacturerByID();
    }
    $temp->ManufacturerID = $m->GlobalID;
    $tp = new TemplatePorts();
    $tp->TemplateID = $temp->TemplateID;
    $tpList = $tp->getPorts();
    // Convert the base template object to an associative array for easier manipulation
    $postData["template"] = json_decode(json_encode($temp), true);
    $postData["templateports"] = array();
    foreach ($tpList as $tport) {
        array_push($postData["templateports"], json_decode(json_encode($tport), true));
    }
    $tpp = new TemplatePowerPorts();
    $tpp->TemplateID = $temp->TemplateID;
    $tppList = $tpp->getPorts();
    $postData["templatepowerports"] = array();
    foreach ($tppList as $pport) {
        array_push($postData["templatepowerports"], json_decode(json_encode($pport), true));
    }
    if ($temp->DeviceType == "Chassis") {
        $sList = Slot::getSlots($temp->TemplateID);
        $postData["slots"] = array();
        foreach ($sList as $s) {
            array_push($postData["slots"], json_decode(json_encode($s), true));
        }
    }
    if ($temp->DeviceType == "CDU") {
        $ct->TemplateID = $temp->TemplateID;