Server IP : 15.235.198.142 / Your IP : 216.73.216.190 Web Server : Apache/2.4.58 (Ubuntu) System : Linux ballsack 6.8.0-45-generic #45-Ubuntu SMP PREEMPT_DYNAMIC Fri Aug 30 12:02:04 UTC 2024 x86_64 User : www-data ( 33) PHP Version : 8.3.6 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : OFF Directory : /var/www/yme/wp-content/plugins/elementor/modules/elementor-counter/ |
Upload File : |
<?php namespace Elementor\Modules\ElementorCounter; use Elementor\Core\Isolation\Elementor_Counter_Adapter_Interface; use Elementor\Core\Isolation\Wordpress_Adapter; use Elementor\Core\Isolation\Wordpress_Adapter_Interface; use Elementor\Core\Base\Module as BaseModule; if ( ! defined( 'ABSPATH' ) ) { exit; } class Module extends BaseModule implements Elementor_Counter_Adapter_Interface { const EDITOR_COUNTER_KEY = 'e_editor_counter'; private ?Wordpress_Adapter_Interface $wordpress_adapter = null; private static $should_count_editor = true; public function get_name() { return 'elementor-counter'; } public function __construct( ?Wordpress_Adapter_Interface $wordpress_adapter = null ) { parent::__construct(); $this->wordpress_adapter = $wordpress_adapter ?? new Wordpress_Adapter(); if ( self::$should_count_editor ) { add_action( 'elementor/editor/init', function () { $this->increment( self::EDITOR_COUNTER_KEY ); }, 10 ); self::$should_count_editor = false; } } /** * @param self::EDITOR_COUNTER_KEY $key * * @return int | null */ public function get_count( $key ): ?int { return $this->is_key_allowed( $key ) ? (int) $this->wordpress_adapter->get_option( $key, 0 ) : null; } /** * @param self::EDITOR_COUNTER_KEY $key * @param int $count */ public function set_count( $key, $count = 0 ): void { if ( ! $this->is_key_allowed( $key ) || ! is_int( $count ) ) { return; } $this->wordpress_adapter->update_option( $key, $count ); } /** * @param self::EDITOR_COUNTER_KEY $key */ public function increment( $key ): void { if ( ! $this->is_key_allowed( $key ) ) { return; } $count = $this->get_count( $key ); $this->set_count( $key, $count + 1 ); } public function is_key_allowed( $key ): bool { return in_array( $key, [ self::EDITOR_COUNTER_KEY ] ); } }