Advertisement
Guest User

Untitled

a guest
Nov 3rd, 2017
92
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 4.61 KB | None | 0 0
  1. function redirect_to_parent() {
  2.    
  3.     $current_user = wp_get_current_user();
  4.     $user_name = $current_user->user_login;
  5.     $originales = 'ÀÁÂÃÄÅÆÇÈÉÊËÌÍÎÏÐÑÒÓÔÕÖØÙÚÛÜÝÞ
  6.    ßàáâãäåæçèéêëìíîïðñòóôõöøùúûýýþÿŔŕ ';
  7.     $modificadas = 'aaaaaaaceeeeiiiidnoooooouuuuy
  8.    bsaaaaaaaceeeeiiiidnoooooouuuyybyRr-';
  9.     $cadena = utf8_decode($user_name);
  10.     $cadena = strtr($cadena, utf8_decode($originales), $modificadas);
  11.     $cadena = strtolower($cadena);
  12.     $username = utf8_encode($cadena);
  13.  
  14.  
  15.    
  16.  
  17.     $instance_url = "https://fuji-fi.prakton.es/crm/rest/v10";
  18.     $username = "external_api_user";
  19.     $password = "External2017$";
  20.  
  21. //Login - POST /oauth2/token
  22.     $auth_url = $instance_url . "/oauth2/token";
  23.  
  24.  
  25.  
  26.     $oauth2_token_arguments = array(
  27.         "grant_type" => "password",
  28.     //client id - default is sugar.
  29.     //It is recommended to create your own in Admin > OAuth Keys
  30.         "client_id" => "sugar",
  31.         "client_secret" => "",
  32.         "username" => $username,
  33.         "password" => $password,
  34.     //platform type - default is base.
  35.     //It is recommend to change the platform to a custom name such as "custom_api" to avoid authentication conflicts.
  36.         "platform" => "api"
  37.     );
  38.  
  39.     $auth_request = curl_init($auth_url);
  40.     curl_setopt($auth_request, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
  41.     curl_setopt($auth_request, CURLOPT_HEADER, false);
  42.     curl_setopt($auth_request, CURLOPT_SSL_VERIFYPEER, 0);
  43.     curl_setopt($auth_request, CURLOPT_RETURNTRANSFER, 1);
  44.     curl_setopt($auth_request, CURLOPT_FOLLOWLOCATION, 0);
  45.     curl_setopt($auth_request, CURLOPT_HTTPHEADER, array(
  46.         "Content-Type: application/json"
  47.     ));
  48.  
  49. //convert arguments to json
  50.     $json_arguments = json_encode($oauth2_token_arguments);
  51.     curl_setopt($auth_request, CURLOPT_POSTFIELDS, $json_arguments);
  52.  
  53.  
  54.  
  55. //execute request
  56.     $oauth2_token_response = curl_exec($auth_request);
  57.  
  58.     $oauth2_token_response_obj = json_decode($oauth2_token_response);
  59.  
  60.     $oauth_token = $oauth2_token_response_obj->access_token;
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.     $url = "https://fuji-fi.prakton.es/crm/service/v4_1/rest.php";
  70.     $username = "external_api_user";
  71.     $password = "External2017$";
  72.  
  73.     //function to make cURL request
  74.     function call($method, $parameters, $url)
  75.     {
  76.         ob_start();
  77.         $curl_request = curl_init();
  78.  
  79.         curl_setopt($curl_request, CURLOPT_URL, $url);
  80.         curl_setopt($curl_request, CURLOPT_POST, 1);
  81.         curl_setopt($curl_request, CURLOPT_HTTP_VERSION, CURL_HTTP_VERSION_1_0);
  82.         curl_setopt($curl_request, CURLOPT_HEADER, 1);
  83.         curl_setopt($curl_request, CURLOPT_SSL_VERIFYPEER, 0);
  84.         curl_setopt($curl_request, CURLOPT_RETURNTRANSFER, 1);
  85.         curl_setopt($curl_request, CURLOPT_FOLLOWLOCATION, 0);
  86.  
  87.  
  88.         $jsonEncodedData = json_encode($parameters);
  89.  
  90.         $post = array(
  91.            "method" => $method,
  92.            "input_type" => "JSON",
  93.            "response_type" => "JSON",
  94.            "rest_data" => $jsonEncodedData
  95.        );
  96.  
  97.         curl_setopt($curl_request, CURLOPT_POSTFIELDS, $post);
  98.         $result = curl_exec($curl_request);
  99.         curl_close($curl_request);
  100.  
  101.         $result = explode("\r\n\r\n", $result, 2);
  102.         $response = json_decode($result[1]);
  103.         ob_end_flush();
  104.  
  105.         return $response;
  106.     }
  107.  
  108.     //login ---------------------------------------------    
  109.    
  110.     $login_parameters = array(
  111.        "user_auth" => array(
  112.           "user_name" => $username,
  113.           "password" => md5($password),
  114.           "version" => "1"
  115.       ),
  116.        "application_name" => "RestTest",
  117.        "name_value_list" => array(),
  118.    );
  119.  
  120.     $login_result = call("login", $login_parameters, $url);
  121.  
  122.  
  123.    
  124.     /*
  125.     echo "<pre>";
  126.     print_r($login_result);
  127.     echo "</pre>";
  128.     */
  129.  
  130.     //get session id
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.     $session_id = $login_result->id;
  138.  
  139.     //create account -------------------------------------    
  140.  
  141.     $set_entry_parameters = array(
  142.          //session id
  143.        "session" => $session_id,
  144.  
  145.          //The name of the module from which to retrieve records.
  146.        "module_name" => "Accounts",
  147.  
  148.          //Record attributes
  149.        "name_value_list" => array(
  150.               //to update a record, you will nee to pass in a record id as commented below
  151.               //array("name" => "id", "value" => "9b170af9-3080-e22b-fbc1-4fea74def88f"),
  152.  
  153.           array("name" => "name", "value" => "Test Account"),
  154.  
  155.  
  156.       ),
  157.    );
  158.  
  159.     $set_entry_result = call("set_entry", $set_entry_parameters, $url);
  160.  
  161.    
  162.  
  163.  
  164. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement