Advertisement
Guest User

Napitev

a guest
May 29th, 2017
118
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 2.61 KB | None | 0 0
  1. <?php
  2. /**
  3. *Egy táblázatban visszaadja a lista vagy szegmens(ek) feliratkozóinak kért adatait
  4. *$_POST['nl_id']:    A lekérdezni kívánt lista azonosítója, kötelező paraméter
  5. *$_POST['fields']:   A tábálázatban megjelenítendő mezők, kötelező paraméter
  6. *$_POST['segments']: A lekérdezni kívánt szegmensek tömbje, opcionális paraméter
  7. */
  8. //Access control header-ök
  9. header("Access-Control-Allow-Origin: *");
  10. header("Access-Control-Allow-Methods: POST, GET, OPTIONS");
  11. header("Access-Control-Allow-Headers: Origin, X-Requested-With");
  12. //Ahhoz a fiókhoz tartozó api felhasználónév és jelszó, amelyikben a lista található
  13. //API kulcpárt így lehet létrehozni: https://www.salesautopilot.hu/tudasbazis/osszetett-rendszerek-keszitese/api-kulcsparok-kezelese
  14. $apiusername = "transferpricingmagyarorszagkft11";
  15. $apipassword = "83e211dfc85ecfe327533dc16b3e3ebb";
  16. //A kötelező paraméterek beolvasása
  17. $nl_id  = $_POST['nl_id']  or die ("nl_id");
  18. $fields = explode( ',', preg_replace('/\s+/', '', $_POST['fields'])) or die ("fields");
  19. //Alapértelmezetten a teljes listát kérdezzük le, de ha van megadva szegmens, akkor a megadott szegmensek unióját (vagy kapcsolat)
  20. $method = "list";
  21. if( isset($_POST['segments']) ) {
  22.     $method = "filteredlist";
  23.     $segments = explode( ',', preg_replace('/\s+/', '', $_POST['segments'])) or die ("segments");
  24. }
  25. //Összeállítjuk és végrehajtjuk a curl hívást
  26. $curl = curl_init();
  27. curl_setopt_array($curl, array(
  28.     CURLOPT_RETURNTRANSFER => true,
  29.     CURLOPT_URL => 'http://'.$apiusername.':'.$apipassword.'@'.'restapi.emesz.com/'.$method.'/'.$nl_id)
  30. );
  31. if( "filteredlist" == $method) {
  32.     curl_setopt($curl, CURLOPT_POSTFIELDS, json_encode($segments));
  33. }
  34. $result = curl_exec($curl);
  35. curl_close($curl);
  36. //Egy tömbbe dekódljuk a választ
  37. $array = json_decode($result);
  38. //Ha kaptunk adatot, feldolgozzuk
  39. if (is_array($array)) {
  40.     //Kigyűjtjük, hogy a megadott mezőnevek közül melyikek szerepelnek a visszaadott adatok között
  41.     $validFields = array();
  42.     foreach( $fields as $field) {
  43.         if( property_exists($array[0], $field) ) {
  44.             array_push($validFields, $field);
  45.         }
  46.     }
  47.     //Táblázat formátumba rendezzük az adatokat
  48.     //A táblázatnak adunk egy css class-t (sa_data), hogy könnyen formázható legyen
  49.     echo '<table class="sa_data">
  50.     <thead><tr>';
  51.     foreach( $validFields as $field) {
  52.         echo '<th>' . $field . '</th>';
  53.     }
  54.     echo '</tr></thead><tbody>';
  55.     foreach($array as $subscriber){
  56.         echo '<tr>';
  57.         foreach( $validFields as $field) {
  58.             echo '<td>' . $subscriber->$field . '</td>';
  59.         }
  60.         echo '</tr>';
  61.     }
  62.     echo '</tbody></table>';
  63. }
  64. ?>
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement