File: /var/www/zaklada/wp-content/plugins/dinamo-foundation-plugin/heart-messages/messages_service.php
<?php
Class dinamo_donator_messages_service
{
function __construct()
{
}
// Create Message
function create_message($message, $language){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$wpdb->insert(
$table_name,
array(
'message' => $message,
'approved' => false,
'language' => $language,
'time' => current_time('mysql', 1),
),
array(
'%s',
'%d',
'%s',
'%s'
)
);
return $wpdb->insert_id;
}
// Set Message approve status
function set_message_approve_status($message_id, $status){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$wpdb->update($table_name, array('approved'=>$status), array('id'=>$message_id));
}
// Get Message
function get_message($message_id){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$sql = "SELECT * FROM $table_name WHERE id = $message_id";
$data = $wpdb->get_row($sql);
if($data){
return $data;
}else{
return false;
}
}
// Get filtered Messages (for admin messages table pagination)
function get_filter_messages($pageSize, $page, $language) {
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$language_sql = ($language == "hr") ? "(language = '" . $language . "' OR language IS NULL)" : " language = '" . $language . "'";
$offset = ($page - 1) * $pageSize;
$sql = "SELECT * FROM $table_name WHERE $language_sql ORDER BY id DESC" ;
$sql_data_query= $sql . " LIMIT $offset, $pageSize" ;
$data = $wpdb->get_results($sql_data_query);
$sql_count_query = "select count(*) as total from $table_name WHERE $language_sql order by time DESC";
$count = $wpdb->get_row($sql_count_query);
if($data){
return array(
'total' => $count->total,
'data' => $data
);
}else{
return false;
}
}
//Get Message
function get_messages($total, $language){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$language_sql = ($language == "hr") ? "AND (language = '" . $language . "' OR language IS NULL)" : "AND language = '" . $language . "'";
$sql = "SELECT * FROM $table_name WHERE approved = 1 $language_sql ORDER BY RAND() LIMIT $total" ;
$data = $wpdb->get_results($sql);
if($data){
return $data;
}else{
return false;
}
}
// Delete Message
function delete_message($message_id){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$wpdb->delete( $table_name, array( 'id' => $message_id ) );
if($data){
return $data;
}else{
return false;
}
}
// Edit Message
function edit_message($message_id, $message){
if(current_user_can( 'administrator' )){
global $wpdb;
$table_name = $wpdb->prefix . 'dinamo_donator_messages';
$result=$wpdb->update(
$table_name,
array(
'message' => $message,
),
array(
"id" => $message_id,
)
);
if ($result) {
return array(
"success" => true,
);
} else {
return array(
"success" => false
);
}
}else {
return array(
"success" => false
);
}
}
}