PluginProbe
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses / 4.4.9
LearnPress – WordPress LMS Plugin for Create and Sell Online Courses v4.4.9
4.4.9 4.4.8 4.4.7 4.4.6 4.4.5 4.4.4 4.4.3 4.4.2 4.4.1 4.4.0 4.3.9.1 4.3.9 4.3.8 4.3.7 4.1.6.9 4.1.6.9.1 4.1.6.9.2 4.1.6.9.3 4.1.6.9.4 4.1.7 4.1.7.1 4.1.7.2 4.1.7.3 4.1.7.3.1 4.1.7.3.2 All 140 releases
← All changes | inc/ExternalPlugin/Elementor/LPElementor.php +140 -140 4.3.9.1 → 4.4.9 View file →
@@ -1,140 +1,140 @@
1 -<?php
2 -/**
3 - * Class LPElementor
4 - * Register categories
5 - * Register widgets
6 - *
7 - * @since 4.2.3
8 - * @version 1.0.2
9 - */
10 -
11 -namespace LearnPress\ExternalPlugin\Elementor;
12 -use Elementor\Core\DynamicTags\Manager;
13 -use Elementor\Elements_Manager;
14 -use LearnPress\Helpers\Singleton;
15 -
16 -class LPElementor {
17 - use Singleton;
18 -
19 - const GROUP_DYNAMIC = 'learnpress_dynamic';
20 - const CATE_LP = 'learnpress';
21 - const CATE_COURSE = 'learnpress_course';
22 - const CATE_INSTRUCTOR = 'learnpress_instructor';
23 - public $config = [];
24 -
25 - protected function init() {
26 - add_action( 'elementor/init', array( $this, 'load_widgets_config' ) );
27 - add_action( 'elementor/elements/categories_registered', array( $this, 'register_category' ) );
28 - add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ), 10, 1 );
29 - add_action( 'elementor/dynamic_tags/register', array( $this, 'register_tags' ) );
30 - add_filter( 'lp/rest/ajax/allow_callback', [ $this, 'register_callback_ajax' ] );
31 - }
32 -
33 - /**
34 - * Load widgets config of LP
35 - *
36 - * @return void
37 - * @since 4.2.3.5
38 - * @version 1.0.0
39 - */
40 - public function load_widgets_config() {
41 - $this->config = require_once 'lp-elementor-widgets-config.php';
42 - }
43 -
44 - /**
45 - * Register category LearnPress
46 - *
47 - * @param Elements_Manager $elements_manager
48 - *
49 - * @return void
50 - * @since 4.2.3
51 - * @version 1.0.1
52 - */
53 - public function register_category( Elements_Manager $elements_manager ) {
54 - $categories = [
55 - self::CATE_LP => [
56 - 'title' => esc_html__( 'LearnPress', 'learnpress' ),
57 - 'icon' => 'eicon-navigator',
58 - ],
59 - self::CATE_INSTRUCTOR => [
60 - 'title' => esc_html__( 'LearnPress Instructor Sections', 'learnpress' ),
61 - 'icon' => 'eicon-navigator',
62 - ],
63 - self::CATE_COURSE => [
64 - 'title' => esc_html__( 'LearnPress Course Sections', 'learnpress' ),
65 - 'icon' => 'eicon-navigator',
66 - ],
67 - ];
68 -
69 - foreach ( $categories as $key => $category ) {
70 - $elements_manager->add_category(
71 - $key,
72 - $category
73 - );
74 - }
75 -
76 - // For case priority categories of LP for El to top.
77 - /*$old_categories = $elements_manager->get_categories();
78 - $categories = array_merge( $categories, $old_categories );
79 -
80 - $set_categories = function ( $categories ) {
81 - $this->categories = $categories;
82 - };
83 - $set_categories->call( $elements_manager, $categories );*/
84 - }
85 -
86 - /**
87 - * Register widgets for elementor
88 - *
89 - * @param $widgets_manager
90 - * @return void
91 - */
92 - public function register_widgets( $widgets_manager ) {
93 - foreach ( $this->config['widgets'] as $widget => $class ) {
94 - if ( class_exists( $class ) ) {
95 - $widgets_manager->register( new $class() );
96 - }
97 - }
98 - }
99 -
100 - /**
101 - * Register dynamic tags for elementor
102 - *
103 - * @param Manager $dynamic_tags
104 - *
105 - * @return void
106 - */
107 - public function register_tags( Manager $dynamic_tags ) {
108 - // Register group learn-press-dynamic
109 - $dynamic_tags->register_group(
110 - self::GROUP_DYNAMIC,
111 - array(
112 - 'title' => esc_html__(
113 - 'LearnPress',
114 - 'learnpress'
115 - ),
116 - )
117 - );
118 -
119 - foreach ( $this->config['dynamic'] as $key => $tag_class_name ) {
120 - $dynamic_tags->register( new $tag_class_name() );
121 - }
122 - }
123 -
124 - /**
125 - * Register callback ajax for load content via ajax.
126 - * Of LearnPress
127 - *
128 - * @param array $callbacks
129 - *
130 - * @return array
131 - * @since 4.2.5.8
132 - * @version 1.0.0
133 - */
134 - public function register_callback_ajax( array $callbacks ): array {
135 - return array_merge(
136 - $callbacks,
137 - $this->config['loadAjax']
138 - );
139 - }
140 -}
1 +<?php
2 +/**
3 + * Class LPElementor
4 + * Register categories
5 + * Register widgets
6 + *
7 + * @since 4.2.3
8 + * @version 1.0.2
9 + */
10 +
11 +namespace LearnPress\ExternalPlugin\Elementor;
12 +use Elementor\Core\DynamicTags\Manager;
13 +use Elementor\Elements_Manager;
14 +use LearnPress\Helpers\Singleton;
15 +
16 +class LPElementor {
17 + use Singleton;
18 +
19 + const GROUP_DYNAMIC = 'learnpress_dynamic';
20 + const CATE_LP = 'learnpress';
21 + const CATE_COURSE = 'learnpress_course';
22 + const CATE_INSTRUCTOR = 'learnpress_instructor';
23 + public $config = [];
24 +
25 + protected function init() {
26 + add_action( 'elementor/init', array( $this, 'load_widgets_config' ) );
27 + add_action( 'elementor/elements/categories_registered', array( $this, 'register_category' ) );
28 + add_action( 'elementor/widgets/register', array( $this, 'register_widgets' ), 10, 1 );
29 + add_action( 'elementor/dynamic_tags/register', array( $this, 'register_tags' ) );
30 + add_filter( 'lp/rest/ajax/allow_callback', [ $this, 'register_callback_ajax' ] );
31 + }
32 +
33 + /**
34 + * Load widgets config of LP
35 + *
36 + * @return void
37 + * @since 4.2.3.5
38 + * @version 1.0.0
39 + */
40 + public function load_widgets_config() {
41 + $this->config = require_once 'lp-elementor-widgets-config.php';
42 + }
43 +
44 + /**
45 + * Register category LearnPress
46 + *
47 + * @param Elements_Manager $elements_manager
48 + *
49 + * @return void
50 + * @since 4.2.3
51 + * @version 1.0.1
52 + */
53 + public function register_category( Elements_Manager $elements_manager ) {
54 + $categories = [
55 + self::CATE_LP => [
56 + 'title' => esc_html__( 'LearnPress', 'learnpress' ),
57 + 'icon' => 'eicon-navigator',
58 + ],
59 + self::CATE_INSTRUCTOR => [
60 + 'title' => esc_html__( 'LearnPress Instructor Sections', 'learnpress' ),
61 + 'icon' => 'eicon-navigator',
62 + ],
63 + self::CATE_COURSE => [
64 + 'title' => esc_html__( 'LearnPress Course Sections', 'learnpress' ),
65 + 'icon' => 'eicon-navigator',
66 + ],
67 + ];
68 +
69 + foreach ( $categories as $key => $category ) {
70 + $elements_manager->add_category(
71 + $key,
72 + $category
73 + );
74 + }
75 +
76 + // For case priority categories of LP for El to top.
77 + /*$old_categories = $elements_manager->get_categories();
78 + $categories = array_merge( $categories, $old_categories );
79 +
80 + $set_categories = function ( $categories ) {
81 + $this->categories = $categories;
82 + };
83 + $set_categories->call( $elements_manager, $categories );*/
84 + }
85 +
86 + /**
87 + * Register widgets for elementor
88 + *
89 + * @param $widgets_manager
90 + * @return void
91 + */
92 + public function register_widgets( $widgets_manager ) {
93 + foreach ( $this->config['widgets'] as $widget => $class ) {
94 + if ( class_exists( $class ) ) {
95 + $widgets_manager->register( new $class() );
96 + }
97 + }
98 + }
99 +
100 + /**
101 + * Register dynamic tags for elementor
102 + *
103 + * @param Manager $dynamic_tags
104 + *
105 + * @return void
106 + */
107 + public function register_tags( Manager $dynamic_tags ) {
108 + // Register group learn-press-dynamic
109 + $dynamic_tags->register_group(
110 + self::GROUP_DYNAMIC,
111 + array(
112 + 'title' => esc_html__(
113 + 'LearnPress',
114 + 'learnpress'
115 + ),
116 + )
117 + );
118 +
119 + foreach ( $this->config['dynamic'] as $key => $tag_class_name ) {
120 + $dynamic_tags->register( new $tag_class_name() );
121 + }
122 + }
123 +
124 + /**
125 + * Register callback ajax for load content via ajax.
126 + * Of LearnPress
127 + *
128 + * @param array $callbacks
129 + *
130 + * @return array
131 + * @since 4.2.5.8
132 + * @version 1.0.0
133 + */
134 + public function register_callback_ajax( array $callbacks ): array {
135 + return array_merge(
136 + $callbacks,
137 + $this->config['loadAjax']
138 + );
139 + }
140 +}