request->do; $data = []; switch ($do) { case "addRack": $return = $this->addRack(); break; case "editRack": $return = $this->editRack(); break; case "removeRack": $return = $this->removeRack(); break; case "sortRack": $return = $this->sortRack(); break; case "generateRack": $rack_id = $this->request->id; $side = $this->request->side ?? 'front'; $rackDataArray = PoprackModel::getAllbyRack($rack_id); $rackData = $rackDataArray[0] ?? null; if ($rackData) { $modules_to_render = $rackData['modules'][$side] ?? []; $rack_he = $rackData['rack']['he']; $plugs[1] = "LC/APC"; $plugs[2] = "SC/APC"; $plugs[3] = "E2000/APC"; include(dirname(__FILE__) . "/../../Layout/default/Pop/_rack_body.php"); } exit; default: $return = false; } if (!is_array($return) || !count($return)) { $data = ["status" => "error"]; $this->returnJson($data); } $data['status'] = "OK"; $data['result'] = $return; $this->returnJson($data); } private function addRack() { $r = $this->request; $pop_id = $r->pop_id; $data = []; $data['name'] = trim($r->name); $data['he'] = trim($r->he); $data['pop_id'] = trim($pop_id); $poprack = PoprackModel::create($data); $new_id = $poprack->save(); // var_dump($r);die(); if (!$new_id) { $response['success'] = false; } else { $response['success'] = true; } echo json_encode($response); exit; } private function editRack() { $r = $this->request; $id = $r->poprack_id; $poprack = new Poprack($id); $response['success'] = false; if ($poprack->id) { $data = []; $data['name'] = $r->name; $data['he'] = $r->he; $poprack->update($data); if ($poprack->save()) { $response['success'] = true; } } echo json_encode($response); exit; } private function sortRack() { $r = $this->request; $racksortids = $r->racksortids; // var_dump($racksortids); // die(); foreach ($racksortids as $sort => $id) { $poprack = new Poprack($id); $response['success'] = false; if ($poprack->id) { $data = []; $data['sort'] = $sort; $poprack->update($data); if ($poprack->save()) { $response['success'] = true; } } } echo json_encode($response); exit; } private function removeRack() { $id = $this->request->id; $poprack = new Poprack($id); if (!$poprack->id || $poprack->id != $id) { $response['success'] = false; } else { $poprack->delete(); $response['success'] = true; } echo json_encode($response); exit; } private function generateRack() { $id = $this->request->id; $side=$this->request->side; $cellwidth = 227; $blocktd = 0; $poprack = PoprackModel::getAllbyRack($id); $plugs[1] = "LC"; $plugs[2] = "SC"; $plugs[3] = "E2000"; for ($i = 1; $i <= $poprack[0]['rack']['he']; $i++) : echo '