ProShell v2.0
Dashboard
Server Info
Server: 158.106.128.192
PHP: 8.2.33
home
planet5
public_html
bansibaba.com
2026-09-12 16:33:10
Editing: LogItem.php
Cancel
Save Changes
<?php class DLM_Log_Item { /** @var int */ private $id = 0; /** @var int */ private $user_id; /** @var string */ private $user_ip; /** @var string */ private $user_uuid; /** @var string */ private $user_agent; /** @var int */ private $download_id; /** @var int */ private $version_id; /** @var string */ private $version; /** @var \DateTime */ private $download_date; /** @var string */ private $download_status; /** @var string */ private $download_status_message; /** @var string */ private $current_url; /** @var array */ private $meta_data = array(); /** * Array that holds dynamically created properties. * * @var array * @since 4.8.8 */ private $dynamic_data = array(); /** * @return int */ public function get_id() { return $this->id; } /** * @param int $id */ public function set_id( $id ) { $this->id = $id; } /** * @return int */ public function get_user_id() { return $this->user_id; } /** * @param int $user_id */ public function set_user_id( $user_id ) { $this->user_id = $user_id; } /** * @return string */ public function get_user_ip() { return $this->user_ip; } /** * @param string $user_ip */ public function set_user_ip( $user_ip ) { $this->user_ip = $user_ip; } /** * @return string */ public function get_user_uuid() { if ( empty( $this->user_uuid ) ) { $this->set_user_uuid( $this->get_user_ip() ); } return $this->user_uuid; } /** * @param string $user_ip */ public function set_user_uuid( $user_ip ) { $this->user_uuid = md5( $user_ip ); } /** * Get the URL from which the download took part * * @return string * @since 4.6.0 */ public function get_current_url() { return $this->current_url; } /** Set the URL from which the download took part * * @param string $current_url the URL from which the download took part. */ public function set_current_url( $current_url ) { if ( get_option( 'permalink_structure' ) ) { $query_url = wp_parse_url( $current_url ); $path = isset( $query_url['path'] ) ? $query_url['path'] : '/'; $current_url = $path . ( isset( $query_url['query'] ) ? '?' . $query_url['query'] : '' ); } else { $query_url = wp_parse_url( $current_url ); $current_url = '/' . ( isset( $query_url['query'] ) ? $query_url['query'] : '' ); } $this->current_url = $current_url; } /** * @return string */ public function get_user_agent() { return $this->user_agent; } /** * @param string $user_agent */ public function set_user_agent( $user_agent ) { $this->user_agent = $user_agent; } /** * @return int */ public function get_download_id() { return $this->download_id; } /** * @param int $download_id */ public function set_download_id( $download_id ) { $this->download_id = $download_id; } /** * @return int */ public function get_version_id() { return $this->version_id; } /** * @param int $version_id */ public function set_version_id( $version_id ) { $this->version_id = $version_id; } /** * @return string */ public function get_version() { return $this->version; } /** * @param string $version */ public function set_version( $version ) { if ( null === $version ) { $this->version = ''; } else { $this->version = $version; } } /** * @return DateTime */ public function get_download_date() { return $this->download_date; } /** * @param DateTime $download_date */ public function set_download_date( $download_date ) { $this->download_date = $download_date; } /** * @return string */ public function get_download_status() { return $this->download_status; } /** * @param string $download_status */ public function set_download_status( $download_status ) { $this->download_status = $download_status; } /** * @return string */ public function get_download_status_message() { return $this->download_status_message; } /** * @param string $download_status_message */ public function set_download_status_message( $download_status_message ) { $this->download_status_message = $download_status_message; } /** * @return array */ public function get_meta_data() { return $this->meta_data; } /** * @param array $meta_data */ public function set_meta_data( $meta_data ) { $this->meta_data = $meta_data; } /** * @param string $key * @param string $value */ public function add_meta_data_item( $key, $value ) { // get meta $meta = $this->get_meta_data(); // just to be sure we have an array if ( ! is_array( $meta ) ) { $meta = array(); } // set new meta. We're not checking if it exists, this means we override by default. Check in your code if exists before adding! $meta[ $key ] = $value; // set meta $this->set_meta_data( $meta ); } /** * Checks if meta data exists for given key * * @param $key * * @return bool */ public function meta_data_exist( $key ) { $meta = $this->get_meta_data(); return ( is_array( $meta ) && isset( $meta[ $key ] ) ); } /** * Return JSON encoded Download categories * * @param int $download_id The ID of the download. * * @return false|string * @since 4.6.0 */ public function get_download_categories( $download_id ) { $terms = get_the_Terms( $download_id, 'dlm_download_category' ); $categories = array(); if ( ! empty( $terms ) ) { foreach ( $terms as $term ) { $categories[] = array( 'id' => $term->term_id, 'name' => $term->name, 'slug' => $term->slug, ); } } return wp_json_encode( $categories ); } /** * Increase the version and total download count * * @access public * @return void */ public function increase_download_count() { global $wpdb; $user_id = 0; $meta_data = null; $lmd = $this->get_meta_data(); if ( ! empty( $lmd ) ) { $meta_data = wp_json_encode( $lmd ); } if ( is_user_logged_in() ) { $user_id = get_current_user_id(); } $download_date = current_time( 'mysql', false ); $download_status = $this->get_download_status(); // If there is no table we don't need to increase the download count as it will trigger an error. // Also, we don't need to update the table if the reports are deactivated. if ( DLM_Logging::is_logging_enabled() && DLM_Utils::table_checker( $wpdb->download_log ) ) { // Add filters for download_log column entries, so in case the upgrader failed we can still log the download. /** * Filter for the download_log columns * * @hooked ( DLM_Logging, log_entries ) Adds uuid, download_category and download_location */ $log_entries = apply_filters( 'dlm_log_entries', array( 'user_id' => absint( $this->get_user_id() ), 'user_ip' => $this->get_user_ip(), 'uuid' => $this->get_user_uuid(), 'user_agent' => $this->get_user_agent(), 'download_id' => absint( $this->get_download_id() ), 'version_id' => absint( $this->get_version_id() ), 'version' => $this->get_version(), 'download_date' => sanitize_text_field( $download_date ), 'download_status' => $download_status, 'download_status_message' => $this->get_download_status_message(), 'meta_data' => $meta_data, ), $this ); /** * Filter for the download_log columns types * * @hooked: ( DLM_Logging, log_values ) */ $log_values = apply_filters( 'dlm_log_values', array( '%d', '%s', '%s', '%s', '%d', '%s', '%s', '%s', '%s', '%s', '%s' ), $this ); $result = $wpdb->insert( "{$wpdb->download_log}", $log_entries, $log_values ); } // Let's check if table exists. if ( DLM_Utils::table_checker( $wpdb->dlm_downloads ) && 'failed' !== $download_status ) { // Table exists, now log new download into table. This is used for faster download counts, // performance issues introduced in version 4.6.0 of plugin. $download_id = absint( $this->get_download_id() ); $version_id = absint( $this->get_version_id() ); $downloads_table = "{$wpdb->dlm_downloads}"; $check_for_downloads = "SELECT * FROM {$downloads_table} WHERE download_id = %s;"; $downloads_insert = "INSERT INTO {$downloads_table} (download_id,download_count,download_versions) VALUES ( %s , %s, %s );"; $downloads_update = "UPDATE {$downloads_table} dlm SET dlm.download_count = dlm.download_count + 1, dlm.download_versions = %s WHERE dlm.download_id = %s"; $check = $wpdb->get_results( $wpdb->prepare( $check_for_downloads, $download_id ), ARRAY_A ); $download_versions = array(); // Check if there is anything there, else insert new row. if ( null !== $check && ! empty( $check ) ) { // If meta exists update it, lese insert it. $download_versions = ! empty( $check[0]['download_versions'] ) ? json_decode( $check[0]['download_versions'], true ) : array(); if ( isset( $download_versions[ $version_id ] ) ) { $download_versions[ $version_id ] = absint( $download_versions[ $version_id ] ) + 1; } else { $download_versions[ $version_id ] = 1; } $wpdb->query( $wpdb->prepare( $downloads_update, json_encode( $download_versions ), $download_id ) ); } else { $download_versions[ $version_id ] = 1; $wpdb->query( $wpdb->prepare( $downloads_insert, $download_id, 1, json_encode( $download_versions ) ) ); } } do_action( 'dlm_increase_download_count', $this ); } /** * Set a dynamically created property. * * @param $name * @param $value * * @return void * @since 4.8.8 */ public function __set( $name, $value ) { // Check for existing method. if ( method_exists( $this, $name ) ) { return $this->$name( $value ); } else { $this->dynamic_data[ $name ] = $value; } } /** * Get a dynamically created property. * * @param $name * * @return mixed|null * @since 4.8.8 */ public function __get( $name ) { // Check for existing method. if ( method_exists( $this, $name ) ) { return $this->$name(); } if ( array_key_exists( $name, $this->dynamic_data ) ) { return $this->dynamic_data[ $name ]; } return null; } /** * Check if a dynamically created property is set. * * @param $name * * @return bool * @since 4.8.8 */ public function __isset( $name ) { // Check for existing method. if ( isset( $this->$name ) ) { return true; } return isset( $this->dynamic_data[ $name ] ); } /** * Unset a dynamically created property. * * @param $name * * @return void * @since 4.8.8 */ public function __unset( $name ) { if ( ! isset( $this->$name ) ) { unset( $this->dynamic_data[ $name ] ); } } }
Upload Files
Cancel
Upload
Create New
Cancel
Create
Change Permissions
Cancel
Save
Change Date
Cancel
Save
Rename Item
Cancel
Save
Confirm Delete
Are you sure you want to delete the selected items?
Cancel
Delete