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();
}
?>