public function registerAction()
 {
     $model = new \modules\users\models\Users('register');
     $user_phone = new \modules\users\models\User_phones(false);
     $user_address = new \modules\users\models\User_addresses(false);
     $model->set('usergroup_id', 1);
     $model->set('fullname', $this->input->post('fullname'));
     $model->set('usergroup_id', $this->input->post('usergroup_id'));
     $model->set('email', $this->input->post('email'));
     $model->set('gender', $this->input->post('gender'));
     $model->set('password', md5($this->input->post('password')));
     $model->set('status', 'active');
     if ($r = $model->save()) {
         foreach ($this->input->post('phone') as $phone) {
             $user_phone->set('phone', $phone);
             $user_phone->set('user_id', $r);
             $user_phone->save();
         }
         foreach ($this->input->post('address') as $address) {
             $user_address->set('address', $address);
             $user_address->set('user_id', $r);
             $user_address->set('type', 'shipping');
             $user_address->save();
         }
         Uri_helper::redirect("users/thankyou");
     } else {
         return $this->render('users/register', ['menu' => ['male' => 'Male', 'female' => 'Female']]);
     }
 }
 public function manageAction($id = null)
 {
     $this->permission('manage');
     if ($_POST) {
         $model = new \modules\users\models\Users();
         $phones = $this->input->post('phone');
         $primary_phone = $this->input->post('primary_phone');
         $primary_address = $this->input->post('primary_address');
         $model->user_id = $id;
         $model->fullname = $this->input->post('fullname');
         $model->birthdate = $this->input->post('birthdate');
         $model->email = $this->input->post('email');
         $model->password = md5($this->input->post('password'));
         $model->gender = $this->input->post('gender');
         $model->image = $this->input->post('image');
         $model->save();
         $address = $this->input->post('address');
         $user_phone_id = $this->input->post('user_phone_id');
         $user_address_id = $this->input->post('user_address_id');
         foreach ($phones as $key => $value) {
             if (!$value) {
                 continue;
             }
             $prPhone = new \modules\users\models\User_phones();
             $prPhone->_select = 'user_phone_id';
             $prPhone->user_id = $id;
             $prPhone->primary = 1;
             $res = $prPhone->get();
             $userphoneid = $res[0]->user_phone_id;
             $phone = new \modules\users\models\User_phones();
             $phone->user_id = $id;
             $phone->phone = $value;
             if ($user_phone_id[$key] == $primary_phone) {
                 $phone->primary = 1;
                 $pPhone = new \modules\users\models\User_phones();
                 $pPhone->user_phone_id = $userphoneid;
                 $pPhone->primary = 0;
                 $pPhone->save();
             }
             if ($user_phone_id[$key]) {
                 $phone->user_phone_id = $user_phone_id[$key];
             }
             $phone->save();
         }
         foreach ($address as $key => $value) {
             if (!$value) {
                 continue;
             }
             $prAdd = new \modules\users\models\User_addresses();
             $prAdd->_select = 'user_address_id';
             $prAdd->user_id = $id;
             $prAdd->primary = 1;
             $res = $prAdd->get();
             $useraddressid = $res[0]->user_address_id;
             $addres = new \modules\users\models\User_addresses();
             $addres->user_id = $id;
             $addres->address = $value;
             if ($user_address_id[$key] == $primary_address) {
                 $addres->primary = 1;
                 $pAddress = new \modules\users\models\User_addresses();
                 $pAddress->user_address_id = $useraddressid;
                 $pAddress->primary = 0;
                 $pAddress->save();
             }
             if ($user_address_id[$key]) {
                 $addres->user_address_id = $user_address_id[$key];
             }
             $addres->save();
         }
         $model->save();
     }
     if ($model->save()) {
         return json_encode(['sucess' => 1, 'item' => $model, 'phones' => $phone, 'address' => $address]);
     } else {
         return json_encode(['sucess' => 0, 'errors' => $this->validation->errors()]);
     }
 }