Exemplo n.º 1
0
 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);
     }
 }
Exemplo n.º 2
0
 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;
 }
Exemplo n.º 3
0
 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));
             }
         }
     }
 }