%s
', esc_html__( 'MarqueeAll requires Elementor to be installed and activated.', 'marqueeall' ) ); } ); return; } // Register Elementor category. add_action( 'elementor/elements/categories_registered', function ( $manager ) { $manager->add_category( 'masscie-widgets', [ 'title' => __( 'MarqueeAll Widgets', 'marqueeall' ), 'icon' => 'fa fa-arrows-h', ] ); } ); // Register widgets. add_action( 'elementor/widgets/register', [ $this, 'register_widgets' ] ); } /** * Enqueue assets. */ public function enqueue_assets() { wp_register_style( 'masscie-style', MASSCIE_URL . 'assets/css/masscie.css', [], MASSCIE_VERSION ); wp_register_style( 'masscie-crypto-style', MASSCIE_URL . 'assets/css/masscie-crypto.css', [], MASSCIE_VERSION ); wp_register_script( 'masscie-marquee', MASSCIE_URL . 'assets/js/masscie-marquee.js', [ 'jquery' ], MASSCIE_VERSION, true ); } /** * Register widgets. * * @param \Elementor\Widgets_Manager $widgets_manager Elementor widgets manager. */ public function register_widgets( $widgets_manager ) { // Include widget files require_once MASSCIE_PATH . 'includes/widgets/class-text-marquee.php'; require_once MASSCIE_PATH . 'includes/widgets/class-image-marquee.php'; require_once MASSCIE_PATH . 'includes/widgets/class-testimonial-marquee.php'; require_once MASSCIE_PATH . 'includes/widgets/class-news-ticker.php'; require_once MASSCIE_PATH . 'includes/widgets/class-post-grid-marquee.php'; require_once MASSCIE_PATH . 'includes/widgets/class-team-members-marquee.php'; require_once MASSCIE_PATH . 'includes/widgets/class-text-scramble.php'; require_once MASSCIE_PATH . 'includes/widgets/class-crypto-marquee.php'; // Register them with Elementor $widgets_manager->register( new \MASSCIE\Widgets\Text_Marquee() ); $widgets_manager->register( new \MASSCIE\Widgets\Image_Marquee() ); $widgets_manager->register( new \MASSCIE\Widgets\Testimonial_Marquee() ); $widgets_manager->register( new \MASSCIE\Widgets\News_Ticker() ); $widgets_manager->register( new \MASSCIE\Widgets\Post_Grid_Marquee() ); $widgets_manager->register( new \MASSCIE\Widgets\Team_Members_Marquee() ); $widgets_manager->register( new \MASSCIE\Widgets\Text_Scramble() ); $widgets_manager->register( new \MASSCIE\Widgets\Crypto_Marquee() ); } public function enqueue_admin_assets( $hook_suffix ) { if ( 'plugins.php' !== $hook_suffix ) { return; } wp_enqueue_style( 'masscie-admin-feedback', MASSCIE_URL . 'assets/css/masscie-admin-feedback.css', [], MASSCIE_VERSION ); wp_enqueue_script( 'masscie-admin-feedback', MASSCIE_URL . 'assets/js/masscie-admin-feedback.js', [ 'jquery' ], MASSCIE_VERSION, true ); wp_localize_script( 'masscie-admin-feedback', 'MASSCIE_FEEDBACK', [ 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'masscie_deactivation_feedback' ), 'plugin_slug' => 'marqueeall', // folder name 'deactivateText'=> __( 'Deactivate', 'marqueeall' ), ] ); } /** * Enqueue Elementor editor assets. */ public function enqueue_elementor_editor_assets() { // Enqueue editor styles wp_enqueue_style( 'marqueeall-elementor-editor', MASSCIE_URL . 'assets/css/elementor-editor.css', [], MASSCIE_VERSION ); // Enqueue crypto editor script wp_enqueue_script( 'masscie-crypto-editor', MASSCIE_URL . '/assets/js/crypto-editor.js', [ 'jquery', 'select2' ], MASSCIE_VERSION, true ); // Localize script with necessary data wp_localize_script( 'masscie-crypto-editor', 'masscieCryptoEditor', [ 'ajax_url' => admin_url( 'admin-ajax.php' ), 'nonce' => wp_create_nonce( 'masscie_crypto_nonce' ), 'i18n' => [ 'fetching' => __( 'Fetching...', 'marqueeall' ), 'error' => __( 'Error fetching data. Please try again.', 'marqueeall' ), 'no_cryptos' => __( 'No cryptocurrencies found.', 'marqueeall' ), ], ] ); // Enqueue Select2 if not already loaded by Elementor if ( ! wp_script_is( 'select2', 'enqueued' ) ) { wp_enqueue_script( 'select2' ); wp_enqueue_style( 'select2' ); } } public function render_deactivation_modal() { ?> __( 'Permission denied', 'marqueeall' ) ] ); } $reason = isset( $_POST['reason'] ) ? sanitize_text_field( wp_unslash( $_POST['reason'] ) ) : ''; $details = isset( $_POST['details'] ) ? wp_kses_post( wp_unslash( $_POST['details'] ) ) : ''; $deactivate_url= isset( $_POST['deactivate_url'] ) ? esc_url_raw( wp_unslash( $_POST['deactivate_url'] ) ) : ''; $site_url = home_url(); $subject = sprintf( 'MarqueeAll Deactivation Feedback from %s', $site_url ); $body = "Plugin: MarqueeAll\n"; $body .= "Site: $site_url\n"; $body .= "Reason: $reason\n\n"; $body .= "Details:\n$details\n"; wp_mail( 'amandeepsingh@webspero.com', $subject, $body ); wp_send_json_success( [ 'deactivate_url' => $deactivate_url, ] ); } } Plugin::instance();