. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
| Server IP : 162.0.212.4 / Your IP :
216.73.216.14 [
Web Server : LiteSpeed System : Linux premium146.web-hosting.com 4.18.0-553.44.1.lve.el8.x86_64 #1 SMP Thu Mar 13 14:29:12 UTC 2025 x86_64 User : alshnoli ( 2431) PHP Version : 8.3.28 Disable Function : NONE Domains : 1 Domains MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : OFF | Pkexec : OFF Directory : /home/alshnoli/public_html/wp-content/plugins/happy-elementor-addons/classes/ |
Upload File : |
<?php
namespace Happy_Addons\Elementor\Classes;
use Elementor\Core\Common\Modules\Ajax\Module as Ajax;
defined('ABSPATH') || die();
class Library_Manager {
protected static $source = null;
public static function print_template_views() {
include_once HAPPY_ADDONS_DIR_PATH . 'templates/template-library/templates.php';
}
public static function enqueue_assets() {
wp_enqueue_style(
'happy-addons-templates-library',
HAPPY_ADDONS_ASSETS . 'admin/css/template-library.min.css',
[
'elementor-editor',
],
HAPPY_ADDONS_VERSION
);
wp_enqueue_script(
'happy-addons-templates-library',
HAPPY_ADDONS_ASSETS . 'admin/js/template-library.min.js',
[
'happy-elementor-addons-editor',
'jquery-hover-intent',
],
HAPPY_ADDONS_VERSION,
true
);
}
/**
* Undocumented function
*
* @return Library_Source
*/
public static function get_source() {
if ( is_null( self::$source ) ) {
self::$source = new Library_Source();
}
return self::$source;
}
public static function register_ajax_actions( Ajax $ajax ) {
$ajax->register_ajax_action( 'get_ha_library_data', function( $data ) {
if ( ! current_user_can( 'edit_posts' ) ) {
throw new \Exception( 'Access Denied' );
}
if ( ! empty( $data['editor_post_id'] ) ) {
$editor_post_id = absint( $data['editor_post_id'] );
if ( ! get_post( $editor_post_id ) ) {
throw new \Exception( __( 'Post not found.', 'happy-elementor-addons' ) );
}
ha_elementor()->db->switch_to_post( $editor_post_id );
}
$result = self::get_library_data( $data );
return $result;
} );
$ajax->register_ajax_action( 'get_ha_template_data', function( $data ) {
if ( ! current_user_can( 'edit_posts' ) ) {
throw new \Exception( 'Access Denied' );
}
if ( ! empty( $data['editor_post_id'] ) ) {
$editor_post_id = absint( $data['editor_post_id'] );
if ( ! get_post( $editor_post_id ) ) {
throw new \Exception( __( 'Post not found', 'happy-elementor-addons' ) );
}
ha_elementor()->db->switch_to_post( $editor_post_id );
}
if ( empty( $data['template_id'] ) ) {
throw new \Exception( __( 'Template id missing', 'happy-elementor-addons' ) );
}
$result = self::get_template_data( $data );
return $result;
} );
}
public static function get_template_data( array $args ) {
$source = self::get_source();
$data = $source->get_data( $args );
return $data;
}
/**
* Get library data from cache or remote
*
* type_tags has been added in version 2.15.0
*
* @param array $args
*
* @return array
*/
public static function get_library_data( array $args ) {
$source = self::get_source();
if ( ! empty( $args['sync'] ) ) {
Library_Source::get_library_data( true );
}
return [
'templates' => $source->get_items(),
'tags' => $source->get_tags(),
'type_tags' => $source->get_type_tags(),
];
}
}