Как добавить крюк представить регистрацию в WordPress для Друпал?

голоса
-1

Я должен написать крюк на зарегистрированный пользователь Wordpress для регистрации пользователя Drupal. На представить регистрацию Wordpress он должен вставить имя пользователя, пароль и т.д. в базу данных Drupal, а также.

друпал версия (7,50)

WordPress версии (4.6.1).

Задан 27/06/2017 в 08:00
источник пользователем
На других языках...                            


2 ответов

голоса
0

Когда регистр пользователя в WordPress сайта создать пользователь в WordPress и также получить значение POST отправить на сайт Drupal с помощью веб-службы RESTful.

REF: https://www.drupal.org/project/restful

пользователь регистрация крюк в WordPress: https://codex.wordpress.org/Plugin_API/Action_Reference/user_register

Ответил 27/06/2017 в 08:28
источник пользователем

голоса
1

Wordpress текущего файл functions.php активная тема

  add_action( 'user_register', 'myplugin_registration_save');
    function myplugin_registration_save( ) {

           //extract data from the post
        //set POST variables
        $url = 'http://xxxxxx.com/drupal/drupal_hook_register.php';
        $fields = array(
            'email' => urlencode($_POST['email']),
            'password' => urlencode($_POST['password'])

        );

        //url-ify the data for the POST
        foreach($fields as $key=>$value) { $fields_string .= $key.'='.$value.'&'; }
        rtrim($fields_string, '&');

        //open connection
        $ch = curl_init();

        //set the url, number of POST vars, POST data
        curl_setopt($ch,CURLOPT_URL, $url);
        curl_setopt($ch,CURLOPT_POST, count($fields));
        curl_setopt($ch,CURLOPT_POSTFIELDS, $fields_string);

        //execute post
        $result = curl_exec($ch);

        //close connection
        curl_close($ch);


}

И в Drupal корневой директории сайта создать файл (drupal_hook_register.php). эта функция будет вставить все WordPress регистрационных полей в базу данных Друпали непосредственно.

          // define static var
          define('DRUPAL_ROOT', getcwd());

        // include bootstrap
        include_once('./includes/bootstrap.inc');
         // initialize stuff
           drupal_bootstrap(DRUPAL_BOOTSTRAP_FULL);


$email = $_REQUEST['email'];
$password = $_REQUEST['password'];

//This will generate a random password, you could set your own here
  //$password = user_password(8);

  //set up the user fields



 $fields = array(



     'mail' => $email,
        'pass' => $password,
        'status' => 1,
        'init' => 'email address',
        'roles' => array(
          DRUPAL_AUTHENTICATED_RID => 'authenticated user',
        ),
      );


  //the first parameter is left blank so a new user is created
  $account = user_save('', $fields);

  //print_r($account);

  // If you want to send the welcome email, use the following code

  // Manually set the password so it appears in the e-mail.
  $account->password = $fields['pass'];

  // Send the e-mail through the user module.
  //drupal_mail('user', 'register_no_approval_required', $email, NULL, array('account' => $account), variable_get('site_mail', 'noreply@example..com'));
Ответил 28/06/2017 в 07:49
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more