public function action_set() { $out['status'] = 'ok'; $val = \Validation::forge(); $val->add_field('m', 'element num', 'required|min_length[1]|max_length[5]'); $val->add_field('val', 'value', 'max_length[250]'); $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('m')) { case 3: //pach panels $macport->vlan = $new_val; break; } $macport->save(); } 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; }
public function action_index() { if (isset($this->field)) { $val = \Validation::forge(); $out = true; $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()) { $size = $val->validated('val'); switch ($val->validated('act')) { case 'act1': //number of NIC if ($this->tmpl) { $ip_q = Model_Device_Template_Network_Ip::find()->where('tempnetID', $this->field->network->id)->where('type', 1); } else { $ip_q = Model_Network_Ip::find()->where('networkID', $this->field->network->id)->where('type', 1); } $this->fix_fields($size, $ip_q->count(), 1); $this->field->network->nics = $size; $this->field->network->save(); break; case 'act2': //number of virtual ports if ($this->tmpl) { $ip_q = Model_Device_Template_Network_Ip::find()->where('tempnetID', $this->field->network->id)->where('type', 2); } else { $ip_q = Model_Network_Ip::find()->where('networkID', $this->field->network->id)->where('type', 2); } $this->fix_fields($size, $ip_q->count(), 2); $this->field->network->vports = $size; $this->field->network->save(); break; case 'act3': //number of ports(switch) if ($this->tmpl) { $ip_q = Model_Device_Template_Network_Mac::find()->where('tempnetID', $this->field->network->id)->where('type', 1); } else { $ip_q = Model_Network_Mac::find()->where('networkID', $this->field->network->id)->where('type', 1); } $this->fix_MACfields($size, $ip_q->count(), 1); $this->field->network->ports = $size; $this->field->network->save(); break; case 'act4': //number of uplinks(switch) if ($this->tmpl) { $ip_q = Model_Device_Template_Network_Mac::find()->where('tempnetID', $this->field->network->id)->where('type', 2); } else { $ip_q = Model_Network_Mac::find()->where('networkID', $this->field->network->id)->where('type', 2); } $this->fix_MACfields($size, $ip_q->count(), 2); $this->field->network->uplinks = $size; $this->field->network->save(); break; case 'act5': //number of uplinks(switch) $out = false; $this->field->network->config_data = $size; $this->field->network->save(); break; case 'act6': // pach panel ports if ($this->tmpl) { $ip_q = Model_Device_Template_Network_Mac::find()->where('tempnetID', $this->field->network->id); } else { $ip_q = Model_Network_Mac::find()->where('networkID', $this->field->network->id); } $this->fix_MACfields($size, $ip_q->count(), 3); $this->field->network->ports = $size; $this->field->network->save(); break; } if ($out) { $data = $this->data(); return \Response::forge(\View::forge('network/windata', $data)); } } } }