Advertisement
Guest User

Untitled

a guest
Jul 26th, 2018
146
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 6.69 KB | None | 0 0
  1. <?php
  2.  
  3. error_reporting(0);
  4.  
  5. require( '../config/config.php' );
  6. $bizon_config = getBizonConfig();
  7.  
  8. // $name = htmlspecialchars(stripslashes(strip_tags($_GET['name'])));
  9. $email = htmlspecialchars(stripslashes(strip_tags($_GET['email'])));
  10. $pageId = htmlspecialchars(stripslashes(strip_tags($_GET['pageId'])));
  11.  
  12. // echo "email=".$email." , pageId=".$pageId." === ";
  13.  
  14. $data = date ("m.d.y H:m:s");
  15.  
  16. class CSV {
  17.  
  18. private $_csv_file = null;
  19.  
  20. /**
  21. * @param string $csv_file - путь до csv-файла
  22. */
  23. public function __construct($csv_file) {
  24. if (file_exists($csv_file)) { //Если файл существует
  25. $this->_csv_file = $csv_file; //Записываем путь к файлу в переменную
  26. }
  27. else throw new Exception("Файл \"$csv_file\" не найден"); //Если файл не найден то вызываем исключение
  28. }
  29.  
  30. public function setCSV(Array $csv) {
  31. $handle = fopen($this->_csv_file, "a"); //Открываем csv для до-записи, если указать w, то ифномация которая была в csv будет затерта
  32.  
  33. foreach ($csv as $value) { //Проходим массив
  34. fputcsv($handle, explode(";", $value), ";"); //Записываем, 3-ий параметр - разделитель поля
  35. }
  36. fclose($handle); //Закрываем
  37. }
  38.  
  39. /**
  40. * Метод для чтения из csv-файла. Возвращает массив с данными из csv
  41. * @return array;
  42. */
  43. public function getCSV() {
  44. $handle = fopen($this->_csv_file, "r"); //Открываем csv для чтения
  45.  
  46. $array_line_full = array(); //Массив будет хранить данные из csv
  47. while (($line = fgetcsv($handle, 0, ";")) !== FALSE) { //Проходим весь csv-файл, и читаем построчно. 3-ий параметр разделитель поля
  48. $array_line_full[] = $line; //Записываем строчки в массив
  49. }
  50. fclose($handle); //Закрываем файл
  51. return $array_line_full; //Возвращаем прочтенные данные
  52. }
  53.  
  54. }
  55.  
  56. try {
  57. $csv = new CSV("leads.csv"); //Открываем наш csv
  58. /**
  59. * Чтение из CSV (и вывод на экран)
  60. */
  61. $get_csv = $csv->getCSV();
  62. $newparam = 0;
  63.  
  64.  
  65. /**
  66. * Запись новой информации в CSV
  67. */
  68. $arr = array("$data;$email;$pageId");
  69. $csv->setCSV($arr);
  70.  
  71. }
  72. catch (Exception $e) { //Если csv файл не существует, выводим сообщение
  73. echo "Ошибка: " . $e->getMessage();
  74. }
  75.  
  76.  
  77. // echo date(DATE_ISO8601);
  78. $date2 = new DateTime('+1 days');
  79. $icoData = $date2->format('Y-m-d')."T17:00:00.000Z";
  80. // echo ("<br/>".$icoData);
  81.  
  82.  
  83. $url = "https://online.bizon365.ru/api/v1/auth/login";
  84.  
  85. $post_data = "username=".$bizon_config['login']
  86. ."&password=".$bizon_config['password']; //Здесь надо вставить логин и пароль
  87.  
  88. // echo "post_data=".$post_data." ===<br> ";
  89.  
  90. $headers = array();
  91. $headers[] = 'Accept: application/x-www-form-urlencoded';
  92. $headers[] = 'Content-Type: application/x-www-form-urlencoded';
  93.  
  94.  
  95. $ch = curl_init();
  96.  
  97. curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
  98.  
  99. curl_setopt($ch, CURLOPT_URL, $url);
  100.  
  101. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  102. // указываем, что у нас POST запрос
  103. curl_setopt($ch, CURLOPT_POST, 1);
  104. // добавляем переменные
  105. curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
  106.  
  107. // результат вернуть в переменную, а не на экран
  108. curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
  109. // вернуть заголовки
  110. curl_setopt($ch, CURLOPT_HEADER, 1);
  111.  
  112. $output = curl_exec($ch);
  113.  
  114. // получаем cookies, исходя из блока Set-Cookie заголовков
  115. preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $output, $matches);
  116. $cookies = array();
  117. foreach($matches[1] as $item) {
  118. parse_str($item, $cookie);
  119. $cookies = array_merge($cookies, $cookie);
  120. }
  121.  
  122. curl_close($ch);
  123.  
  124. // echo("cookie=".$cookies[appsid]."<br>");
  125. // echo ("outout=".$output);
  126.  
  127. // echo("<br/><br/>Результат запроса addSubscriber:<br/>");
  128.  
  129. $appsid = $cookies["appsid"];
  130.  
  131. // echo "appsid=".$appsid."<br>";
  132.  
  133. $url2 = "https://online.bizon365.ru/api/v1/webinars/subpages/addSubscriber";
  134.  
  135. $post_data2 = "pageId=$pageId&email=$email&time=$icoData&username=$name";
  136.  
  137. // echo "post_data2=".$post_data2."<br>";
  138.  
  139. $ch2 = curl_init();
  140.  
  141. curl_setopt($ch2, CURLOPT_COOKIE, "appsid=$appsid");
  142.  
  143. curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers);
  144.  
  145. curl_setopt($ch2, CURLOPT_URL, $url2);
  146.  
  147. curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
  148. // указываем, что у нас POST запрос
  149. curl_setopt($ch2, CURLOPT_POST, 1);
  150. // добавляем переменные
  151. curl_setopt($ch2, CURLOPT_POSTFIELDS, $post_data2);
  152.  
  153. $output2 = curl_exec($ch2);
  154.  
  155. curl_close($ch2);
  156.  
  157. // echo $output2;
  158.  
  159. $outputJsonDecod = json_decode($output2);
  160.  
  161. $secret = $outputJsonDecod->{'hash'};
  162. // echo ("<br/>secret=".$secret);
  163. //
  164.  
  165.  
  166.  
  167.  
  168. $dataArray = array("user" =>
  169. array (
  170. "email" => "$email",
  171. "addfields" => array ("web_private_key" => "$secret")
  172. ),
  173. "system" =>
  174. array (
  175. "refresh_if_exists" => 1, // обновлять ли существующего пользователя 1/0 да/нет
  176. "partner_email" => "")
  177. );
  178.  
  179.  
  180.  
  181. $jmsv= base64_encode(json_encode($dataArray));
  182.  
  183. // $url3 = "https://АДРЕС-НА-ГЕТКУРСЕ.getcourse.ru/pl/api/users"; //Здесь надо вставить адрес на Геткурсе
  184. $url3 = $bizon_config['gc_api_url1']; //Здесь надо вставить адрес на Геткурсе
  185. $post_data3 = array (
  186. "action" => "add",
  187. "key" => $bizon_config['gc_api_key'], //"Здесь вставить API ключ", //Здесь надо вставить API-ключ
  188. "params" => "$jmsv"
  189. );
  190.  
  191. $ch3 = curl_init();
  192.  
  193. curl_setopt($ch3, CURLOPT_URL, $url3);
  194.  
  195. curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
  196. // указываем, что у нас POST запрос
  197. curl_setopt($ch3, CURLOPT_POST, 1);
  198. // добавляем переменные
  199. curl_setopt($ch3, CURLOPT_POSTFIELDS, $post_data3);
  200.  
  201. $output3 = curl_exec($ch3);
  202.  
  203. curl_close($ch3);
  204.  
  205. // echo $output3;
  206.  
  207.  
  208.  
  209. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement