|
|
@@ -10,92 +10,99 @@ add_action('init', 'aiac_tsu_register_string');
|
|
|
|
|
|
function add_email_from_newsletter($data)
|
|
|
{
|
|
|
+ // variables
|
|
|
+ // $emailSystem = true; // True when using an external system.
|
|
|
+ $emailSystem = false; // False when using our own custom-post.
|
|
|
|
|
|
+ // sanitize_email
|
|
|
$email = sanitize_email($data["email"]);
|
|
|
|
|
|
- // $hasEmail = get_posts([
|
|
|
- // "post_type" => "email",
|
|
|
- // "post_status" => "publish"
|
|
|
- // ]);
|
|
|
-
|
|
|
- $isAlredy = get_page_by_title($email, OBJECT, 'email');
|
|
|
+ if ($emailSystem) {
|
|
|
+ // obsługa e-maila za pomocą zewnętrznego systemu
|
|
|
+ // WAŻNE !! Jak nie jest potrzebne custom-post to czy mamy go rejestrować ?
|
|
|
+
|
|
|
+ $url = "https://connect.mailerlite.com/api/subscribers";
|
|
|
+ $token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI0IiwianRpIjoiZTQ3OGVmNTY1OWJhYWUzYzlmNTE1YzIzYjFkMmJkMGNmNmI4M2QyNDdmN2Y2NzY1ZWNmOTQ4OTMwMWU5OWQyZGM5MjU5OTI4NGIyZjE3NWYiLCJpYXQiOjE3MDE3ODYyMDkuMTQ1MTQ2LCJuYmYiOjE3MDE3ODYyMDkuMTQ1MTQ4LCJleHAiOjQ4NTc0NTk4MDkuMTM1NzQ4LCJzdWIiOiI3NDEyMDMiLCJzY29wZXMiOltdfQ.IzhP03Vor3BwpRevuidF69b7DLo2hkBFzKL4-ZEBe45I92kZUEEEVq6BBZz7mi9bMUi3MuxA4yoE3KydjWnIo1c59-GEVyxieQWwNIFixWmGUnjRARKt9lcBcd0Yo5hIgoJmQefLTZ0TGj1K97tXA__bFZgVJD5r70jeZkIrUY9un3nXYJkj9t0JXfWJnkICo7D1aIcQnFRFbI0w4e4tasFLv6hHFiR-WO0jrHnjX7jNgtFIy0MwmMaV9LLbk_7z3_THPLVOg7EHgixOVD3b9xxcextaH-B_1e1qKWpDQhofm1GmZn3GNjwrw-mAT6qZ9WmccQuVsr1VuIubW1CvgcBphS8OCYgiT-lB3GVMmOKeGs2Knp7_hMUNx_Imsv-yBQlYaZYEP2y4f2-AhZRwT3g3XcLsmI9OjjbGUxf0zTn6atYXZcA2lcSzQWdFrhW63hxQz42EOzV1L7xLqLBUd6MTAgByPIQGwtFJD-evrsglqtByj8CIsGbE83O8C-F47l1hYQTXbB-mwi1Q4KQFmT0b617OQ_nRR74_54Y27U74bBXnnWF7wch7THWRYWBkJOk5RLwagDpOdafknKdiIYPzvBK2Uvh9FVrCE4e0QWUDTG16iqudtGksLv_NeaAcERBSe0AKuujIcqd5kXfriyyKL4rEye-r3OuSDIM7OaU";
|
|
|
+
|
|
|
+ // Dane do wysłania
|
|
|
+ $data = array(
|
|
|
+ "email" => $data["email"]
|
|
|
+ );
|
|
|
+
|
|
|
+ // Inicjalizacja sesji cURL
|
|
|
+ $ch = curl_init();
|
|
|
+
|
|
|
+ // Ustawienia opcji cURL
|
|
|
+ curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
+ curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
+ curl_setopt($ch, CURLOPT_POST, true);
|
|
|
+ curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
+ curl_setopt(
|
|
|
+ $ch,
|
|
|
+ CURLOPT_HTTPHEADER,
|
|
|
+ array(
|
|
|
+ 'Content-Type: application/json',
|
|
|
+ 'Accept: application/json',
|
|
|
+ 'Authorization: Bearer ' . $token
|
|
|
+ )
|
|
|
+ );
|
|
|
+
|
|
|
+ // Wykonanie żądania
|
|
|
+ $response = curl_exec($ch);
|
|
|
+
|
|
|
+ // Pobranie HTTP Code
|
|
|
+ $http_code = curl_getinfo($ch, CURLINFO_HTTP_CODE);
|
|
|
+
|
|
|
+ // // Sprawdzenie błędów
|
|
|
+ // if (curl_errno($ch)) {
|
|
|
+ // echo 'Błąd cURL: ' . curl_error($ch);
|
|
|
+ // }
|
|
|
+
|
|
|
+ curl_close($ch);
|
|
|
+
|
|
|
+ if ($http_code == 201) {
|
|
|
+ // dodano prawidłowo
|
|
|
+ wp_send_json([
|
|
|
+ "message" => __('Twój adres został zapisany poprawnie.', 'aiac'), // to translate nie działa prawidłowo, DO ZMIENNEJ NA GÓRZE
|
|
|
+ ], 201);
|
|
|
|
|
|
- // są dwa miejsca zapisu danych, wystarczy że w jednym miejscu ktoś usunie coś i już dane są rozsynchronizowane
|
|
|
- // czy zapisujemy w jednym miejscu czy robimy mechanizm do synchronizacji ?
|
|
|
+ } else {
|
|
|
+ // email już istnieje
|
|
|
+ wp_send_json([
|
|
|
+ "message" => __('Ten adres e-mail już istnieje.', 'aiac') // to translate nie działa prawidłowo, DO ZMIENNEJ NA GÓRZE
|
|
|
+ ], 200);
|
|
|
+ }
|
|
|
|
|
|
- if ($isAlredy > 0) {
|
|
|
- wp_send_json([
|
|
|
- "message" => __('Ten adres e-mail już istnieje.', 'aiac')
|
|
|
- ], 400);
|
|
|
} else {
|
|
|
- try {
|
|
|
- $postarr = [
|
|
|
- "post_content" => $data["email"],
|
|
|
- "post_title" => $data["email"],
|
|
|
- "post_type" => "email",
|
|
|
- "post_status" => "publish"
|
|
|
- ];
|
|
|
-
|
|
|
- wp_insert_post($postarr, true);
|
|
|
-
|
|
|
-
|
|
|
- // cURL do zapisu e-maila do mailerlite
|
|
|
- $url = "https://connect.mailerlite.com/api/subscribers";
|
|
|
- $token = "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiJ9.eyJhdWQiOiI0IiwianRpIjoiZTQ3OGVmNTY1OWJhYWUzYzlmNTE1YzIzYjFkMmJkMGNmNmI4M2QyNDdmN2Y2NzY1ZWNmOTQ4OTMwMWU5OWQyZGM5MjU5OTI4NGIyZjE3NWYiLCJpYXQiOjE3MDE3ODYyMDkuMTQ1MTQ2LCJuYmYiOjE3MDE3ODYyMDkuMTQ1MTQ4LCJleHAiOjQ4NTc0NTk4MDkuMTM1NzQ4LCJzdWIiOiI3NDEyMDMiLCJzY29wZXMiOltdfQ.IzhP03Vor3BwpRevuidF69b7DLo2hkBFzKL4-ZEBe45I92kZUEEEVq6BBZz7mi9bMUi3MuxA4yoE3KydjWnIo1c59-GEVyxieQWwNIFixWmGUnjRARKt9lcBcd0Yo5hIgoJmQefLTZ0TGj1K97tXA__bFZgVJD5r70jeZkIrUY9un3nXYJkj9t0JXfWJnkICo7D1aIcQnFRFbI0w4e4tasFLv6hHFiR-WO0jrHnjX7jNgtFIy0MwmMaV9LLbk_7z3_THPLVOg7EHgixOVD3b9xxcextaH-B_1e1qKWpDQhofm1GmZn3GNjwrw-mAT6qZ9WmccQuVsr1VuIubW1CvgcBphS8OCYgiT-lB3GVMmOKeGs2Knp7_hMUNx_Imsv-yBQlYaZYEP2y4f2-AhZRwT3g3XcLsmI9OjjbGUxf0zTn6atYXZcA2lcSzQWdFrhW63hxQz42EOzV1L7xLqLBUd6MTAgByPIQGwtFJD-evrsglqtByj8CIsGbE83O8C-F47l1hYQTXbB-mwi1Q4KQFmT0b617OQ_nRR74_54Y27U74bBXnnWF7wch7THWRYWBkJOk5RLwagDpOdafknKdiIYPzvBK2Uvh9FVrCE4e0QWUDTG16iqudtGksLv_NeaAcERBSe0AKuujIcqd5kXfriyyKL4rEye-r3OuSDIM7OaU";
|
|
|
-
|
|
|
-
|
|
|
-
|
|
|
- // Dane do wysłania
|
|
|
- $data = array(
|
|
|
- "email" => $data["email"],
|
|
|
- // Czy te dane są wymagane ?
|
|
|
- // "fields" => array(
|
|
|
- // "name" => "Dummy",
|
|
|
- // "last_name" => "Testerson"
|
|
|
- // ),
|
|
|
- // "groups" => array(
|
|
|
- // "106731061900215448"
|
|
|
- // )
|
|
|
- );
|
|
|
-
|
|
|
- // Inicjalizacja sesji cURL
|
|
|
- $ch = curl_init();
|
|
|
-
|
|
|
- // Ustawienia opcji cURL
|
|
|
- curl_setopt($ch, CURLOPT_URL, $url);
|
|
|
- curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
|
|
|
- curl_setopt($ch, CURLOPT_POST, true);
|
|
|
- curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data));
|
|
|
- curl_setopt(
|
|
|
- $ch,
|
|
|
- CURLOPT_HTTPHEADER,
|
|
|
- array(
|
|
|
- 'Content-Type: application/json',
|
|
|
- 'Accept: application/json',
|
|
|
- 'Authorization: Bearer ' . $token
|
|
|
- )
|
|
|
- );
|
|
|
-
|
|
|
- // Wykonanie żądania
|
|
|
- $response = curl_exec($ch);
|
|
|
-
|
|
|
- // // Sprawdzenie błędów
|
|
|
- // if (curl_errno($ch)) {
|
|
|
- // echo 'Błąd cURL: ' . curl_error($ch);
|
|
|
- // }
|
|
|
-
|
|
|
- curl_close($ch);
|
|
|
+ // obsługa e-maila za pomocą naszego post: custom_post_type
|
|
|
+ $isAlredy = get_page_by_title($email, OBJECT, 'email');
|
|
|
|
|
|
+ if ($isAlredy > 0) {
|
|
|
wp_send_json([
|
|
|
- "message" => __('Twój adres został zapisany poprawnie.', 'aiac'),
|
|
|
- // "mailerliteResponse" => $response // only for test
|
|
|
- ], 201);
|
|
|
- } catch (Exception $e) {
|
|
|
- wp_send_json_error($e->getMessage());
|
|
|
+ "message" => __('Ten adres e-mail już istnieje.', 'aiac') // to translate nie działa prawidłowo, DO ZMIENNEJ NA GÓRZE
|
|
|
+ ], 200);
|
|
|
+ } else {
|
|
|
+ try {
|
|
|
+ $postarr = [
|
|
|
+ "post_content" => $data["email"],
|
|
|
+ "post_title" => $data["email"],
|
|
|
+ "post_type" => "email",
|
|
|
+ "post_status" => "publish"
|
|
|
+ ];
|
|
|
+
|
|
|
+ wp_insert_post($postarr, true);
|
|
|
+
|
|
|
+ wp_send_json([
|
|
|
+ "message" => __('Twój adres został zapisany poprawnie.', 'aiac'), // to translate nie działa prawidłowo, DO ZMIENNEJ NA GÓRZE
|
|
|
+ ], 201);
|
|
|
+ } catch (Exception $e) {
|
|
|
+ wp_send_json_error($e->getMessage());
|
|
|
+ }
|
|
|
}
|
|
|
+
|
|
|
+ wp_die();
|
|
|
+
|
|
|
}
|
|
|
-
|
|
|
- wp_die();
|
|
|
}
|
|
|
|
|
|
add_action("rest_api_init", function () {
|