コード例 #1
0
ファイル: mac.php プロジェクト: quickpacket/noclayer
 /**
  * 
  * Update database update mac/conn device/ vlan/ configdata
  */
 public function action_index()
 {
     if (isset($this->field)) {
         $out['status'] = 'ok';
         $val = \Validation::forge();
         $val->add_field('act', 'action id', 'required|min_length[1]|max_length[20]');
         $val->add_field('val', 'value', 'required|min_length[1]');
         $val->add_field('mid', 'mac port id', 'required|min_length[1]|max_length[20]');
         if ($val->run()) {
             $new_val = $val->validated('val');
             if ($this->tmpl) {
                 $macport = Model_Device_Template_Network_Mac::find($val->validated('mid'));
             } else {
                 $macport = Model_Network_Mac::find($val->validated('mid'));
             }
             if ($macport) {
                 switch ($val->validated('act')) {
                     case 'macset':
                         if ($this->isValidMAC($new_val)) {
                             $macport->mac_address = $new_val;
                         } else {
                             $out['old'] = $macport->mac_address;
                             $out['status'] = 'no';
                         }
                         break;
                     case 'connect':
                         $dev = Model_Device::find($new_val);
                         if ($dev) {
                             $macport->conn_device = $dev->id;
                         }
                         break;
                     case 'disconnect':
                         $macport->conn_device = 0;
                         break;
                     case 'vlanset':
                         if ($new_val == 0) {
                             $macport->vlan = 0;
                         } else {
                             if ($this->tmpl) {
                                 $vlan = Model_Device_Template_Network_Vlan::find($new_val);
                             } else {
                                 $vlan = Model_Network_Vlan::find($new_val);
                             }
                             $macport->vlan = $vlan->id;
                         }
                         break;
                 }
                 $macport->save();
             }
         }
         echo json_encode($out);
     }
 }
コード例 #2
0
ファイル: vlan.php プロジェクト: quickpacket/noclayer
 /**
  * 
  * Update database update mac/conn device/ vlan/ configdata
  */
 public function action_index()
 {
     if (isset($this->field)) {
         $out['status'] = 'ok';
         $val = \Validation::forge();
         $val->add_field('act', 'action id', 'required|min_length[1]|max_length[20]');
         $val->add_field('val', 'value', 'required|min_length[1]');
         if ($val->run()) {
             $new_val = $val->validated('val');
             switch ($val->validated('act')) {
                 case 'add':
                     if (!$this->tmpl) {
                         $prop = array('name' => $new_val, 'networkID' => $this->field->network->id);
                         $vlan = new Model_Network_Vlan($prop);
                     } else {
                         $prop = array('name' => $new_val, 'tempnetID' => $this->field->network->id);
                         $vlan = new Model_Device_Template_Network_Vlan($prop);
                     }
                     $vlan->save();
                     break;
                 case 'rem':
                     if (!$this->tmpl) {
                         $vlan = Model_Network_Vlan::find($new_val);
                     } else {
                         $vlan = Model_Device_Template_Network_Vlan::find($new_val);
                     }
                     if ($vlan) {
                         $vlan->delete();
                     }
                     break;
                 case 'ren':
                     break;
             }
             $data = $this->data();
             return \Response::forge(\View::forge('network/vlans', $data));
         }
         echo json_encode($out);
     }
 }
コード例 #3
0
ファイル: network.php プロジェクト: quickpacket/noclayer
 public function data()
 {
     $data = array('net_type' => $this->net_type, 'con_type' => $this->con_type, 'net' => $this->field->network);
     if ($this->net_type == 1) {
         $data['conn'] = $this->connection_data();
         if ($this->tmpl) {
             $data['ips'] = Model_Device_Template_Network_Ip::find()->where('tempnetID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
         } else {
             $data['ips'] = Model_Network_Ip::find()->where('networkID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
         }
     }
     if ($this->net_type == 2) {
         $data['conn'] = $this->connection_data();
         if ($this->tmpl) {
             $data['ips'] = Model_Device_Template_Network_Ip::find()->where('tempnetID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
             $data['macs'] = Model_Device_Template_Network_Mac::find()->where('tempnetID', $this->field->network->id)->order_by('id', 'asc')->get();
             $data['vlans'] = Model_Device_Template_Network_Vlan::find()->where('tempnetID', $this->field->network->id)->order_by('id', 'asc')->get();
         } else {
             $data['ips'] = Model_Network_Ip::find()->where('networkID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
             $data['macs'] = Model_Network_Mac::find()->where('networkID', $this->field->network->id)->order_by('id', 'asc')->get();
             $data['vlans'] = Model_Network_Vlan::find()->where('networkID', $this->field->network->id)->order_by('id', 'asc')->get();
         }
     }
     if ($this->net_type == 3) {
         $data['conn'] = $this->connection_data();
         if ($this->tmpl) {
             $data['ips'] = Model_Device_Template_Network_Ip::find()->where('tempnetID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
             $data['macs'] = Model_Device_Template_Network_Mac::find()->where('tempnetID', $this->field->network->id)->order_by('id', 'asc')->get();
             $data['vlans'] = Model_Device_Template_Network_Vlan::find()->where('tempnetID', $this->field->network->id)->order_by('id', 'asc')->get();
         } else {
             $data['ips'] = Model_Network_Ip::find()->where('networkID', $this->field->network->id)->order_by('type', 'asc')->order_by('id', 'asc')->get();
             $data['macs'] = Model_Network_Mac::find()->where('networkID', $this->field->network->id)->order_by('id', 'asc')->get();
             $data['vlans'] = Model_Network_Vlan::find()->where('networkID', $this->field->network->id)->order_by('id', 'asc')->get();
         }
     }
     if ($this->tmpl) {
         $data['cables'] = array();
         //Model_Cable::find()->where('dev1',$this->field->templateID)->or_where('dev2',$this->field->templateID)->get();
     } else {
         $data['cables'] = Model_Cable::find()->where('dev1', $this->field->deviceID)->or_where('dev2', $this->field->deviceID)->get();
     }
     return $data;
 }