File: /var/www/zaklada/wp-content/plugins/dinamo-foundation-plugin/heart-messages/ajax.php
<?php
add_action('wp_ajax_change_message_status', 'change_message_status');
function change_message_status(){
    header('Content-Type: application/json');
    $clicked_message_id= $_POST["clicked_message_id"];
    $message_service = new dinamo_donator_messages_service();
    $clicked_message = $message_service->get_message($clicked_message_id);
    if(!$clicked_message){
      return;
      wp_die();
    }
    $clicked_message_status = !$clicked_message->approved;
    $message_service->set_message_approve_status($clicked_message_id, $clicked_message_status);
    echo json_encode(array(
        "success" => true
    ));
    wp_die();
}
add_action('wp_ajax_create_message', 'create_message');
function create_message(){
  header('Content-Type: application/json');
  $language = get_current_language();
  $message_content= $_POST["message_content"];
  $message_service = new dinamo_donator_messages_service();
  if($message_content) {
    $create_message = $message_service->create_message($message_content, $language);
  }
  echo json_encode(array(
    "success" => true
  ));
  wp_die();
}
add_action('wp_ajax_delete_message', 'delete_message');
function delete_message(){
  header('Content-Type: application/json');
  $clicked_message_id= $_POST["clicked_message_id"];
  $message_service = new dinamo_donator_messages_service();
  $clicked_message = $message_service->get_message($clicked_message_id);
  if(!$clicked_message){
    return;
    wp_die();
  }
  $message_service->delete_message($clicked_message_id);
  echo json_encode(array(
    "success" => true
  ));
  wp_die();
}
function getUserIP()
{
    // Get real visitor IP behind CloudFlare network
    if (isset($_SERVER["HTTP_CF_CONNECTING_IP"])) {
        $_SERVER['REMOTE_ADDR'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
        $_SERVER['HTTP_CLIENT_IP'] = $_SERVER["HTTP_CF_CONNECTING_IP"];
    }
    $client  = @$_SERVER['HTTP_CLIENT_IP'];
    $forward = @$_SERVER['HTTP_X_FORWARDED_FOR'];
    $remote  = $_SERVER['REMOTE_ADDR'];
    if(filter_var($client, FILTER_VALIDATE_IP))
    {
        $ip = $client;
    }
    elseif(filter_var($forward, FILTER_VALIDATE_IP))
    {
        $ip = $forward;
    }
    else
    {
        $ip = $remote;
    }
    return $ip;
}
function wpse27856_set_content_type(){
    return "text/html";
}
add_filter( 'wp_mail_content_type','wpse27856_set_content_type' );
function send_order_notificaiton($order_id){
        $orders_service = new dinamo_orders_service();
        $order = $orders_service->get_order($order_id);
    $payment_url = generate_payment_barcode_url( $order->amount, $order->first_name . " " .  $order->last_name, $order_id );
        ob_start();
        include("emails/emial-template-inlined.php");
        $message = ob_get_contents();
        ob_end_clean();
        wp_mail ( $order->email, "Hvala vam na donaciji", $message, array(), array() );
    }
add_action( 'wp_ajax_nopriv_generate_payment_barcode_url', 'generate_payment_barcode_url_ajax' );
add_action( 'wp_ajax_generate_payment_barcode_url', 'generate_payment_barcode_url_ajax' );
function generate_payment_barcode_url_ajax() {
    header('Content-Type: application/json');
    $amount = $_POST["amount"];
    $sender_name = $_POST["senderName"];
    $order_id = $_POST["order_id"];
    $url = generate_payment_barcode_url($amount, $sender_name, $order_id);
    echo json_encode($url);
    wp_die();
}
function generate_payment_barcode_url( $amount, $sender_name, $order_id )
{
    $options['format']  = "png";
    $options['scale']   = 3;
    $options['ratio']   = 3;
    $options['color']   = "#000";
    $options['bgColor'] = "#fff";
    $options['padding'] = 20;
    $sender = [];
    $sender['name']   = $sender_name;
    $sender['street'] = "-";
     $sender['place']  = "-";
    $receiver = [];
    $receiver['name']      = "Zaklada Nema Predaje";
    $receiver['street']    = "Maksimirska 128";
    $receiver['place']     = "10000 Zagreb";
    $receiver['iban']      = "HR9824020061100966888";
    $receiver['model']     = "00";
    $receiver['reference'] = "150-" . $order_id;
    $data = [];
    $data['renderer']    = "image";
    $data['options']     = $options;
    $data['data']['amount']      = $amount;
    $data['data']['sender']      = $sender;
    $data['data']['receiver']    = $receiver;
    $data['data']['purpose']     = "ANTS";
    $data['data']['description'] = "Plaćanje po narudžbi broj " . $order_id;
    $data = http_build_query( $data ) . "\n";
    $image = 'https://hub3.bigfish.software/api/v1/barcode?' . $data;
    return $image;
}
function input_data($data) {
    $data = trim($data);
    $data = stripslashes($data);
    $data = htmlspecialchars($data);
    return $data;
}
add_action( 'wp_ajax_order_message_edit', 'order_message_edit' );
function order_message_edit(){
  
    $message_id=  $_POST["id"];
    $message= $_POST["message"];
    $message_service = new dinamo_donator_messages_service();
    $message_edit =$message_service->edit_message($message_id, $message);
    echo json_encode($message_edit); 
    wp_die();
}
?>