2012-08-22 46 views
0

我無法在文檔中找到任何關於此的信息。 我使用Codeigniter很多,而且我大多使用Ben Edmunds Ion auth,這對我來說更容易一些,因爲我可以在註冊中添加組插入功能。註冊FuelPHP Sentry插入組

你可以投下這個愚蠢的問題,但我在哨兵文檔中找不到任何關於此的內容。

這裏是我的註冊碼:

public function action_register() 
{ 

    $response = Response::forge(); 

     // validation 

     $val = Validation::forge('registration'); 

     $val->add_field('first_name', 'Username', 'required|trim|valid_string[alpha,spaces]'); 
     //$val->add_field('first_name', 'Vezetéknév', 'required|'); 
     $val->add_field('last_name', 'Keresztév', 'required'); 
     $val->add_field('email', 'Email', 'required|valid_email'); 
     $val->add_field('email_again', 'Email újra', 'required|valid_email|match_field[email]'); 
     $val->add_field('password', 'Jelszó', 'required|min_length[5]'); 
     $val->add_field('gender', 'Nemed', 'required'); 
     $val->add_field('talent', 'Tehetséged', 'required'); 
     $val->add_field('talent_level', 'Tehetségi szinted', 'required'); 

     if($val->run()): 
      try 
      { 
       // register the user 

       $user = Sentry::user()->register(array(
        'email' => Input::post('email'), 
        'password' => Input::post('password'), 
        'metadata' => array(
         'first_name' => Input::post('first_name'), 
         'last_name' => Input::post('last_name'), 
         'gender' => Input::post('gender'), 
         'talent_level' => Input::post('talent_level'), 
        ) 
       )); 


       if($user): 
        //$email_data = array(); 
        //echo Config::get('base_url'). "user/activate/". $user['hash']; 
        $email = Email::forge(); 
        $email->from('[email protected]', Config::get('site_name')); 
        $email->to(Input::post('email'), Input::post('first_name')); 
        $email->subject('Regisztráció'); 

        $email_data = array(
         'name' => "Kedves " . Input::post('first_name'). "<br><br>", 
         'title' => "Üdvözöllek a ".Config::get('site_name')." oldalán" ."<br>", 
         'link' => '<a href="'.Config::get('site_url'). "user/activate/". $user['hash'].'">Fiókod megerősítéséhez kérlek kattints ide</a>' 
        ); 

        $email->html_body(\View::forge('email/activation', array('email_data' => $email_data))); 
        $email->send(); 

        $response->body(json_encode(array(
         'status' => 'ok', 
        ))); 

       else: 
        $data['errors'] = "error"; 
       endif; 
      } 
      catch (SentryUserException $e) 
      { 

      $response->body(json_encode(array(
         'status' => 'error', 
         'message' => array(
          'email_taken' => $e->getMessage() 
         ) 
        ))); 
      } 

     else: 

      $response->body(json_encode(array(
        'status' => 'error', 
        'message' => array(
         'first_name' => $val->error('first_name') ? $val->error('first_name')->get_message() : null, 
         'last_name' => $val->error('last_name') ? $val->error('last_name')->get_message() : null, 
         'email' => $val->error('email') ? $val->error('email')->get_message() : null, 
         'email_again' => $val->error('email_again') ? $val->error('email_again')->get_message() : null, 
         'password' => $val->error('password') ? $val->error('password')->get_message() : null, 
         'gender' => $val->error('gender') ? $val->error('gender')->get_message() : null, 
         'talent' => $val->error('talent') ? $val->error('talent')->get_message() : null, 
         'talent_level' => $val->error('talent_level') ? $val->error('talent_level')->get_message() : null, 
         ) 
     ))); 
    endif; 

    return $response; 
} 

所以我的問題是我怎麼可以把它保存選擇的用戶羣?

謝謝。

回答

2

這是取自Sentry Documentation;我認爲這就是你之後:

try 
{ 
    // option 1 
    $user->add_to_group(2); 

    // option 2 
    $user->add_to_group('editor'); 
} 
catch (SentryUserException $e) 
{ 
    $errors = $e->getMessage(); // catch errors such as user already in group 
} 
+0

看起來像我的盲人。感謝您的回覆 – Side