File: /home/www/aritmodecarnaval/wp-content/plugins/photo-gallery/admin/models/Ratings.php
<?php
/**
* Class RatingsModel_bwg
*/
class RatingsModel_bwg {
/**
* Get rows data or total count.
*
* @param $params
*
* @return array|null|object|string
*/
public function get_rows_data( $params ) {
global $wpdb;
extract($params);
$where = '';
$where .= ( !empty($filterby_gallery) ? '`t2`.`gallery_id` = ' . (int) $filterby_gallery .' AND ': '');
$where .= ( !empty($filterby_image) ? '`t1`.`image_id` = ' . $filterby_image .' AND ': '');
$where .= ( !empty($search) ? ' `t1`.`ip` LIKE "%' . $search . '%" AND ' : '');
$where = rtrim($where , ' AND ');
$query = ' SELECT `t1`.*, `t2`.`thumb_url`, `t2`.`alt`, `t2`.`filetype`';
$q1 = ' FROM `' . $wpdb->prefix . 'bwg_image_rate` AS `t1`
INNER JOIN `' . $wpdb->prefix . 'bwg_image` AS `t2`
ON (`t1`.`image_id` = `t2`.`id`)
'. ( ( $where ) ? 'WHERE '. $where : '' );
$query .= $q1 . ' ORDER BY `t1`.`' . $orderby . '` ' . $order;
$query .= ' LIMIT ' . $page_num . ',' . $items_per_page;
$total_query = 'SELECT COUNT(*) AS `qty` '. $q1;
$data['total'] = $wpdb->get_var($total_query);
$data['rows'] = $wpdb->get_results($query);
return $data;
}
/**
* Delete.
*
* @param $id
* @param bool $all
* @return int
*/
public function delete( $id, $all = false ) {
global $wpdb;
$message_id = 2;
// Delete all itmes.
if ( !$id && $all ) {
$delete = $wpdb->query('DELETE FROM `' . $wpdb->prefix . 'bwg_image_rate`');
if ( $delete ) {
$update = $wpdb->query('UPDATE '. $wpdb->prefix . 'bwg_image SET `avg_rating` = "0", `rate_count` = "0"');
if ( $update ) {
$message_id = 5;
}
}
}
else {
// Delete itme by id.
$image_id = $wpdb->get_var($wpdb->prepare('SELECT `image_id` FROM `' . $wpdb->prefix . 'bwg_image_rate` WHERE `id`="%d"', $id));
$query = $wpdb->prepare('DELETE FROM `' . $wpdb->prefix . 'bwg_image_rate` WHERE `id`="%d"', $id);
if ( $wpdb->query($query) ) {
$rates = $wpdb->get_row($wpdb->prepare('SELECT AVG(`rate`) as `average`, COUNT(`rate`) as `rate_count` FROM ' . $wpdb->prefix . 'bwg_image_rate WHERE image_id="%d"', $image_id));
$update = $wpdb->update($wpdb->prefix . 'bwg_image', array('avg_rating' => $rates->average, 'rate_count' => $rates->rate_count), array('id' => $image_id));
if ( $update ) {
$message_id = 3;
}
}
}
return $message_id;
}
/**
* Get galleries.
*
* @return array $rows
*/
public function get_galleries() {
global $wpdb;
$rows_object = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "bwg_gallery WHERE published=1");
$rows[0] = __('All galleries', BWG()->prefix);
if ($rows_object) {
foreach ($rows_object as $row_object) {
$rows[$row_object->id] = $row_object->name;
}
}
return $rows;
}
/**
* Get images.
*
* @param int $gallery_id
* @return array $rows
*/
public function get_images( $gallery_id = 0 ) {
global $wpdb;
$where = ($gallery_id ? ' AND gallery_id=' . $gallery_id : '');
$rows_object = $wpdb->get_results("SELECT * FROM " . $wpdb->prefix . "bwg_image WHERE published=1" . $where);
$rows[0] = __('All images', BWG()->prefix);
if ($rows_object) {
foreach ($rows_object as $row_object) {
$rows[$row_object->id] = $row_object->alt;
}
}
return $rows;
}
}