public function action_index() { if ($_POST) { $val = \Validation::forge(); $val->add_field('dev1', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('dev2', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('port1', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('port2', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('name1', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('name2', 'Device id', 'required|min_length[1]|max_length[20]'); $val->add_field('cab', 'Existing cable id', 'required|min_length[1]|max_length[20]'); $val->add_field('type', 'UTP, power...', 'required|min_length[1]|max_length[20]'); if ($val->run()) { //if user reconnect use existing cable if ($val->validated('cab') > 0) { $cable = Model_Cable::find($val->validated('cab')); $cable->dev1 = $val->validated('dev1'); $cable->port1 = $val->validated('port1'); $cable->port2 = $val->validated('port2'); $cable->dev2 = $val->validated('dev2'); $cable->name1 = $val->validated('name1'); $cable->name2 = $val->validated('name2'); $cable->type = $val->validated('type'); $cable->meta_update_time = time(); } else { $props = array('dev1' => $val->validated('dev1'), 'port1' => $val->validated('port1'), 'dev2' => $val->validated('dev2'), 'port2' => $val->validated('port2'), 'name1' => $val->validated('name1'), 'name2' => $val->validated('name2'), 'type' => $val->validated('type'), 'meta_update_time' => time(), 'meta_update_user' => $this->user); $cable = new Model_Cable($props); } $cable->save(); $out = array('cable' => array()); $m = array('id' => $cable->id, 'dev1' => $cable->dev1, 'port1' => $cable->port1, 'port2' => $cable->port2, 'dev2' => $cable->dev2, 'name1' => $cable->name1, 'name2' => $cable->name2, 'type' => $cable->type); array_push($out['cable'], $m); echo json_encode($out); } } /* if(isset($this->field)){ if(!$this->field->network){ $prop=Array( 'fieldsetID'=>$this->field->id, 'deviceID'=>$this->field->device->id, 'nics'=>0, 'vports'=>0, 'ports'=>0, 'uplinks'=>0, 'config_data'=>'', 'type'=>$this->net_type ); $this->network=new Model_Device_Network($prop); $this->network->save(); } $data=$this->data(); return \Response::forge(\View::forge('network/windata',$data)); } */ }
public function action_index() { if ($_POST) { $val = \Validation::forge(); $val->add_field('dev1', 'dev1', 'required|min_length[1]|max_length[20]'); $val->add_field('dev2', 'dev2', 'required|min_length[1]|max_length[20]'); $val->add_field('name1', 'name1', 'required|min_length[1]|max_length[200]'); $val->add_field('name2', 'name2', 'required|min_length[1]|max_length[200]'); $val->add_field('port1', 'name1', 'required|min_length[1]|max_length[200]'); $val->add_field('port2', 'name2', 'required|min_length[1]|max_length[200]'); $val->add_field('type', 'type', 'required|min_length[1]|max_length[3]'); $val->add_field('act', 'action', 'required|min_length[1]|max_length[30]'); $val->add_field('cab', 'action', 'max_length[30]'); //print_r($_POST); if ($val->run()) { \Log::debug("port1 " . $val->validated('port1')); \Log::debug("port2 " . $val->validated('port2')); $device1 = \Basic\Model_Device::find($val->validated('dev1')); $device2 = \Basic\Model_Device::find($val->validated('dev2')); switch ($val->validated('type')) { //network case 1: case 4: //if() $port1 = $this->getDevicePort($device1, $val->validated('name1'), $val->validated('type')); $port2 = $this->getDevicePort($device2, $val->validated('name2'), $val->validated('type')); break; case 2: case 3: $port1 = $val->validated('port1'); $port2 = $val->validated('port2'); break; } //$cable->save(); switch ($val->validated('act')) { case 'connect': $props = array('dev1' => $val->validated('dev1'), 'port1' => $port1, 'dev2' => $val->validated('dev2'), 'port2' => $port2, 'name1' => $val->validated('name1'), 'name2' => $val->validated('name2'), 'type' => $val->validated('type'), 'meta_update_time' => time(), 'meta_update_user' => $this->user); $cable = new Model_Cable($props); $cable->save(); $m = array('id' => $cable->id, 'dev1' => $cable->dev1, 'port1' => $cable->port1, 'port2' => $cable->port2, 'dev2' => $cable->dev2, 'name1' => $cable->name1, 'name2' => $cable->name2, 'type' => $cable->type, 'hostname1' => $device1->hostname, 'hostname2' => $device2->hostname); echo json_encode(array('cable' => $m)); break; case 'move': //print_r($_POST); $cable = Model_Cable::find($val->validated('cab')); if ($cable) { $cable->dev1 = $val->validated('dev1'); $cable->port1 = $port1; $cable->dev2 = $val->validated('dev2'); $cable->port2 = $port2; $cable->name1 = $val->validated('name1'); $cable->name2 = $val->validated('name2'); $cable->meta_update_time = time(); $cable->save(); $m = array('id' => $cable->id, 'dev1' => $cable->dev1, 'port1' => $cable->port1, 'port2' => $cable->port2, 'dev2' => $cable->dev2, 'name1' => $cable->name1, 'name2' => $cable->name2, 'type' => $cable->type, 'hostname1' => $device1->hostname, 'hostname2' => $device2->hostname); echo json_encode(array('cable' => $m)); } break; } /* $room=Model_Room::find($val->validated('room')); if($room){ $query = DB::query('select distinct cables.* from cables, rack, device where rack.room='.$room->id.' and device.rack=rack.id and (device.id=cables.dev1 or device.id=cables.dev2)'); $cables=$query->as_object()->execute(); $cabledata=Array(); foreach($cables as $cab){ array_push($cabledata,Array( 'id'=>$cab->id, 'dev1'=>$cab->dev1, 'port1'=>$cab->port1, 'dev2'=>$cab->dev2, 'port2'=>$cab->port2, 'name1'=>$cab->name1, 'name2'=>$cab->name2, 'type'=>$cab->type )); } $data['cabledata']=$cabledata; $data['room']=$room; return \Response::forge(View::forge('cables/rack',$data)); } */ } } }
private function add_server($pos, $rack, $user, $sw, $macs, $pdu) { $pduid = $pdu['id']; $sockets = $pdu['sockets']; $hostnames = array("", "", "", "", "", "", "", "", "", "akcp-sp2", "c1-activedirectory-1", "c1-activedirectory-2", "c1-activedirectory-3", "c1-dns-1", "c1-dns-2", "c1-dns-3", "c1-dns-4", "c1-exchange-1", "c1-exchange-2", "c1-exchange-3", "c1-exchange-4", "c1-linux-1", "c1-linux-2", "c1-linux-3", "c1-linux-4", "c1-linux-5", "c1-mysql-1", "c1-mysql-2", "c1-mysql-3", "c1-mysql-4", "c1-web-1", "c1-web-2", "c1-web-3", "c1-web-4", "c1-windows-1", "c1-windows-2", "c1-windows-3", "c1-windows-4", "c1-windows-5", "c1-windows-6", "c2-exchange-3", "c2-exchange-4", "c2-mysql-1", "c2-mysql-2", "c2-web-1", "c2-windows-1", "c2_windows-2", "c3-linux-1", "c3-linux-2", "c3-linux-3", "c3-linux-4", "c3-windows-1", "c3-windows-2", "c3-windows-3", "fujitsu-tx-s2", "knuerr-diview", "knuerr-rmsII", "messpc", "sensatronics-e4", "sensatronics-em1", "sensatronics-senturion"); $props = array('hostname' => $hostnames[$pos], 'type' => 0, 'cat' => 1, 'rack' => $rack->id, 'rack_pos' => $pos, 'rack_units' => 1, 'parent_device' => 0, 'meta_default_data' => 0, 'meta_update_time' => time(), 'meta_update_user' => $user); //print_r($props); $server = new Model_Device($props); $server->save(); $this->net_type = 1; $this->add_device_default_fields($server); $network = Model_Device_Network::find()->where('deviceID', $server->id)->get_one(); $network->nics = 2; $network->save(); for ($i = 0; $i <= 1; $i++) { $prop = array('networkID' => $network->id, 'nic_name' => '', 'ipv4' => '192.168.8.' . $i, 'ipv6' => '', 'conn_type' => 1, 'conn_speed' => 3, 'type' => 1); $ip = new Model_Network_Ip($prop); $ip->save(); } //add cabel $props = array('dev1' => $sw, 'port1' => $macs[$pos - 9], 'dev2' => $server->id, 'port2' => $ip->id, 'name1' => $pos - 9, 'name2' => 2, 'type' => 1, 'meta_update_time' => time(), 'meta_update_user' => $user); $cable = new Model_Cable($props); $cable->save(); $power = Model_Device_Power::find()->where('deviceID', $server->id)->get_one(); $powsockets = $power->socket; foreach ($powsockets as $sock) { $n = $pos - 9; $props = array('dev1' => $pduid, 'port1' => $sockets[38 - $n], 'dev2' => $server->id, 'port2' => $sock->id, 'name1' => $pos - 9, 'name2' => 1, 'type' => 2, 'meta_update_time' => time(), 'meta_update_user' => $user); $cable = new Model_Cable($props); $cable->save(); } /* $props=Array( 'dev1'=>$sw, 'port1'=>$macs[$pos-9], 'dev2'=>$server->id, 'port2'=>$ip->id, 'name1'=>$pos-9, 'name2'=>1, 'type'=>2, 'meta_update_time'=>time(), 'meta_update_user'=>$user ); $cable=new Model_Cable($props); $cable->save(); */ return $server; }
private function add_server($pos, $rack, $user, $sw, $macs, $pdu) { $pduid = $pdu['id']; $sockets = $pdu['sockets']; $props = array('hostname' => 's' . $pos . '.rck1.fl1.noclayer.com', 'type' => 0, 'cat' => 1, 'rack' => $rack->id, 'rack_pos' => $pos, 'rack_units' => 1, 'parent_device' => 0, 'meta_default_data' => 0, 'meta_update_time' => time(), 'meta_update_user' => $user); //print_r($props); $server = new Model_Device($props); $server->save(); $this->net_type = 1; $this->add_device_default_fields($server); $network = Model_Device_Network::find()->where('deviceID', $server->id)->get_one(); $network->nics = 2; $network->save(); for ($i = 0; $i <= 1; $i++) { $prop = array('networkID' => $network->id, 'nic_name' => '', 'ipv4' => '192.168.8.' . $i, 'ipv6' => '', 'conn_type' => 1, 'conn_speed' => 3, 'type' => 1); $ip = new Model_Network_Ip($prop); $ip->save(); } //add cabel $props = array('dev1' => $sw, 'port1' => $macs[$pos - 9], 'dev2' => $server->id, 'port2' => $ip->id, 'name1' => $pos - 9, 'name2' => 2, 'type' => 1, 'meta_update_time' => time(), 'meta_update_user' => $user); $cable = new Model_Cable($props); $cable->save(); $power = Model_Device_Power::find()->where('deviceID', $server->id)->get_one(); $powsockets = $power->socket; foreach ($powsockets as $sock) { $n = $pos - 9; $props = array('dev1' => $pduid, 'port1' => $sockets[38 - $n], 'dev2' => $server->id, 'port2' => $sock->id, 'name1' => $pos - 9, 'name2' => 1, 'type' => 2, 'meta_update_time' => time(), 'meta_update_user' => $user); $cable = new Model_Cable($props); $cable->save(); } /* $props=Array( 'dev1'=>$sw, 'port1'=>$macs[$pos-9], 'dev2'=>$server->id, 'port2'=>$ip->id, 'name1'=>$pos-9, 'name2'=>1, 'type'=>2, 'meta_update_time'=>time(), 'meta_update_user'=>$user ); $cable=new Model_Cable($props); $cable->save(); */ return $server; }