HEX
Server: Apache/2.4.52 (Ubuntu)
System: Linux aritmodecarnaval.es 5.15.0-79-generic #86-Ubuntu SMP Mon Jul 10 16:07:21 UTC 2023 x86_64
User: www-data (33)
PHP: 7.4.33
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,pcntl_unshare,
Upload Files
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;
	}
}