Пример #1
0
 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));
     					
     					
     					
     			
     					
     					
     				}
     */
 }
Пример #2
0
 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));
             		}
             */
         }
     }
 }
Пример #3
0
 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;
 }
Пример #4
0
 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;
 }