HEX
Server: Apache
System: Linux 244.240.109.208.host.secureserver.net 5.14.0-611.11.1.el9_7.x86_64 #1 SMP PREEMPT_DYNAMIC Wed Dec 3 09:47:37 EST 2025 x86_64
User: icsla (1002)
PHP: 8.1.34
Disabled: NONE
Upload Files
File: /home/icsla/public_html/wp-content/plugins/ajax-search-pro/includes/classes/Misc/Statistics.php
<?php
namespace WPDRMS\ASP\Misc;

defined('ABSPATH') or die("You can't access this file directly.");


class Statistics {
	static function addKeyword($id, $s) {
		global $wpdb;

		if ( trim($s) == '' ) {
			$s = '[no keyword]';
		}
		require_once(ABSPATH . 'wp-admin/includes/upgrade.php');
		$in = $wpdb->query(
			$wpdb->prepare(
				"UPDATE " . wd_asp()->db->table('stats') . " SET num=num+1, last_date=%d WHERE (keyword='%s' AND search_id=%d)",
				time(),
				strip_tags($s),
				$id
			)
		);
		if ($in == false) {
			return $wpdb->query(
				$wpdb->prepare(
					"INSERT INTO " . wd_asp()->db->table('stats') . " (search_id, keyword, num, last_date) VALUES (%d, '%s', 1, %d)",
					$id,
					strip_tags($s),
					time()
				)
			);
		}
		return $in;
	}

	static function getTop($count, $id=0, $exclude_empty = false) {
		global $wpdb;

		$fields = "id, search_id, keyword, num, last_date";
		$where = "";
		$group_by = "";
		$id = $id + 0;
		if ( $id > 0 ) {
			$where = " WHERE search_id=" . $id;
			if ( $exclude_empty )
				$where .= " AND keyword NOT LIKE '[no keyword]' ";
		} else {
			$fields = "id, search_id, keyword, SUM(num) as num, last_date";
			$group_by = " GROUP BY keyword ";
			if ( $exclude_empty )
				$where = " WHERE keyword NOT LIKE '[no keyword]' ";
		}

		return $wpdb->get_results($wpdb->prepare(
			"SELECT $fields FROM " . wd_asp()->db->table('stats') . " " . $where . " $group_by ORDER BY num DESC LIMIT %d",
			$count
		)
			,ARRAY_A
		);
	}

	static function getLast($count, $id=0, $exclude_empty = false) {
		global $wpdb;

		$fields = "id, search_id, keyword, num, last_date";
		$where = "";
		$group_by = "";
		$id = $id + 0;
		if ( $id > 0 ) {
			$where = " WHERE search_id=" . $id;
			if ( $exclude_empty )
				$where .= " AND keyword NOT LIKE '[no keyword]' ";
		} else {
			$fields = "id, search_id, keyword, SUM(num) as num, last_date";
			$group_by = " GROUP BY keyword ";
			if ( $exclude_empty )
				$where = " WHERE keyword NOT LIKE '[no keyword]' ";
		}

		return $wpdb->get_results($wpdb->prepare(
			"SELECT $fields FROM " . wd_asp()->db->table('stats') . " " . $where . " $group_by ORDER BY last_date DESC LIMIT %d",
			$count
		)
			,ARRAY_A
		);
	}

	static function clearAll() {
		global $wpdb;

		return $wpdb->query("DELETE FROM " . wd_asp()->db->table('stats'));
	}

	static function deleteKw($id) {
		global $wpdb;

		return $wpdb->query(
			$wpdb->prepare(
				"DELETE FROM " . wd_asp()->db->table('stats') . " WHERE id=%d"
				, ($id+0)
			)
		) ;
	}
}