Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- <?php
- error_reporting(0);
- require( '../config/config.php' );
- $bizon_config = getBizonConfig();
- // $name = htmlspecialchars(stripslashes(strip_tags($_GET['name'])));
- $email = htmlspecialchars(stripslashes(strip_tags($_GET['email'])));
- $pageId = htmlspecialchars(stripslashes(strip_tags($_GET['pageId'])));
- // echo "email=".$email." , pageId=".$pageId." === ";
- $data = date ("m.d.y H:m:s");
- class CSV {
- private $_csv_file = null;
- /**
- * @param string $csv_file - путь до csv-файла
- */
- public function __construct($csv_file) {
- if (file_exists($csv_file)) { //Если файл существует
- $this->_csv_file = $csv_file; //Записываем путь к файлу в переменную
- }
- else throw new Exception("Файл \"$csv_file\" не найден"); //Если файл не найден то вызываем исключение
- }
- public function setCSV(Array $csv) {
- $handle = fopen($this->_csv_file, "a"); //Открываем csv для до-записи, если указать w, то ифномация которая была в csv будет затерта
- foreach ($csv as $value) { //Проходим массив
- fputcsv($handle, explode(";", $value), ";"); //Записываем, 3-ий параметр - разделитель поля
- }
- fclose($handle); //Закрываем
- }
- /**
- * Метод для чтения из csv-файла. Возвращает массив с данными из csv
- * @return array;
- */
- public function getCSV() {
- $handle = fopen($this->_csv_file, "r"); //Открываем csv для чтения
- $array_line_full = array(); //Массив будет хранить данные из csv
- while (($line = fgetcsv($handle, 0, ";")) !== FALSE) { //Проходим весь csv-файл, и читаем построчно. 3-ий параметр разделитель поля
- $array_line_full[] = $line; //Записываем строчки в массив
- }
- fclose($handle); //Закрываем файл
- return $array_line_full; //Возвращаем прочтенные данные
- }
- }
- try {
- $csv = new CSV("leads.csv"); //Открываем наш csv
- /**
- * Чтение из CSV (и вывод на экран)
- */
- $get_csv = $csv->getCSV();
- $newparam = 0;
- /**
- * Запись новой информации в CSV
- */
- $arr = array("$data;$email;$pageId");
- $csv->setCSV($arr);
- }
- catch (Exception $e) { //Если csv файл не существует, выводим сообщение
- echo "Ошибка: " . $e->getMessage();
- }
- // echo date(DATE_ISO8601);
- $date2 = new DateTime('+1 days');
- $icoData = $date2->format('Y-m-d')."T17:00:00.000Z";
- // echo ("<br/>".$icoData);
- $url = "https://online.bizon365.ru/api/v1/auth/login";
- $post_data = "username=".$bizon_config['login']
- ."&password=".$bizon_config['password']; //Здесь надо вставить логин и пароль
- // echo "post_data=".$post_data." ===<br> ";
- $headers = array();
- $headers[] = 'Accept: application/x-www-form-urlencoded';
- $headers[] = 'Content-Type: application/x-www-form-urlencoded';
- $ch = curl_init();
- curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch, CURLOPT_URL, $url);
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- // указываем, что у нас POST запрос
- curl_setopt($ch, CURLOPT_POST, 1);
- // добавляем переменные
- curl_setopt($ch, CURLOPT_POSTFIELDS, $post_data);
- // результат вернуть в переменную, а не на экран
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
- // вернуть заголовки
- curl_setopt($ch, CURLOPT_HEADER, 1);
- $output = curl_exec($ch);
- // получаем cookies, исходя из блока Set-Cookie заголовков
- preg_match_all('/^Set-Cookie:\s*([^;]*)/mi', $output, $matches);
- $cookies = array();
- foreach($matches[1] as $item) {
- parse_str($item, $cookie);
- $cookies = array_merge($cookies, $cookie);
- }
- curl_close($ch);
- // echo("cookie=".$cookies[appsid]."<br>");
- // echo ("outout=".$output);
- // echo("<br/><br/>Результат запроса addSubscriber:<br/>");
- $appsid = $cookies["appsid"];
- // echo "appsid=".$appsid."<br>";
- $url2 = "https://online.bizon365.ru/api/v1/webinars/subpages/addSubscriber";
- $post_data2 = "pageId=$pageId&email=$email&time=$icoData&username=$name";
- // echo "post_data2=".$post_data2."<br>";
- $ch2 = curl_init();
- curl_setopt($ch2, CURLOPT_COOKIE, "appsid=$appsid");
- curl_setopt($ch2, CURLOPT_HTTPHEADER, $headers);
- curl_setopt($ch2, CURLOPT_URL, $url2);
- curl_setopt($ch2, CURLOPT_RETURNTRANSFER, 1);
- // указываем, что у нас POST запрос
- curl_setopt($ch2, CURLOPT_POST, 1);
- // добавляем переменные
- curl_setopt($ch2, CURLOPT_POSTFIELDS, $post_data2);
- $output2 = curl_exec($ch2);
- curl_close($ch2);
- // echo $output2;
- $outputJsonDecod = json_decode($output2);
- $secret = $outputJsonDecod->{'hash'};
- // echo ("<br/>secret=".$secret);
- //
- $dataArray = array("user" =>
- array (
- "email" => "$email",
- "addfields" => array ("web_private_key" => "$secret")
- ),
- "system" =>
- array (
- "refresh_if_exists" => 1, // обновлять ли существующего пользователя 1/0 да/нет
- "partner_email" => "")
- );
- $jmsv= base64_encode(json_encode($dataArray));
- // $url3 = "https://АДРЕС-НА-ГЕТКУРСЕ.getcourse.ru/pl/api/users"; //Здесь надо вставить адрес на Геткурсе
- $url3 = $bizon_config['gc_api_url1']; //Здесь надо вставить адрес на Геткурсе
- $post_data3 = array (
- "action" => "add",
- "key" => $bizon_config['gc_api_key'], //"Здесь вставить API ключ", //Здесь надо вставить API-ключ
- "params" => "$jmsv"
- );
- $ch3 = curl_init();
- curl_setopt($ch3, CURLOPT_URL, $url3);
- curl_setopt($ch3, CURLOPT_RETURNTRANSFER, 1);
- // указываем, что у нас POST запрос
- curl_setopt($ch3, CURLOPT_POST, 1);
- // добавляем переменные
- curl_setopt($ch3, CURLOPT_POSTFIELDS, $post_data3);
- $output3 = curl_exec($ch3);
- curl_close($ch3);
- // echo $output3;
- ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement