/** * * 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); } }
/** * * 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); } }
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; }