PluginProbe
Depicter — Popup & Slider Builder / 1.2.0
Depicter — Popup & Slider Builder v1.2.0
4.8.1 trunk 1.0.0 1.1.0 1.1.2 1.1.4 1.1.6 1.1.7 1.1.8 1.1.9 1.2.0 1.3.0 1.3.1 1.3.2 1.3.3 1.3.5 1.3.8 1.5.0 1.5.1 1.5.2 1.5.5 1.6.0 1.6.1 1.6.2 1.7.0 All 76 releases
depicter / app / src / Editor / EditorAssets.php

EditorAssets.php in Depicter — Popup & Slider Builder 1.2.0, at app/src/Editor/EditorAssets.php

99 lines 2.9 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2 namespace Depicter\Editor;
3
4 use Averta\Core\Utility\Arr;
5 use Averta\Core\Utility\Data;
6 use Averta\WordPress\Utility\Escape;
7 use Averta\WordPress\Utility\JSON;
8 use Averta\WordPress\Utility\Plugin;
9 use Averta\WordPress\Utility\Sanitize;
10 use Depicter\Security\CSRF;
11
12
13 class EditorAssets
14 {
15 public function bootstrap(){
16 add_action( 'wp_enqueue_scripts', [ $this, 'enqueueAdminAssets' ] );
17 }
18
19 public function enqueueAdminAssets(){
20
21 // This will enqueue the Media Uploader script
22 wp_enqueue_media();
23
24 \Depicter::core()->assets()->enqueueScript(
25 'depicter-admin',
26 \Depicter::core()->assets()->getUrl() . '/resources/scripts/admin/index.js',
27 ['jquery'],
28 true
29 );
30
31 wp_enqueue_style('common');
32
33 // Enqueue scripts.
34 \Depicter::core()->assets()->enqueueScript(
35 'depicter-editor-vendors',
36 \Depicter::core()->assets()->getUrl() . '/resources/scripts/editor/vendors-main.js',
37 [],
38 true
39 );
40 \Depicter::core()->assets()->enqueueScript(
41 'depicter-editor-js',
42 \Depicter::core()->assets()->getUrl() . '/resources/scripts/editor/depicter-editor.js',
43 ['depicter-editor-vendors'],
44 true
45 );
46
47 $currentUser = wp_get_current_user();
48
49 // Add Environment variables
50 wp_add_inline_script( 'depicter-editor-vendors', 'window.depicterEditorEnv = '. JSON::encode(
51 Arr::merge( $this->getCommonEnvParams(), [
52 "assetsAPI" => Escape::url('https://api.wp.depicter.com/' ),
53 "useMockData" => false,
54 "wpRestAPI" => Escape::url( get_rest_url() ),
55 "dashboardURL"=> Escape::url( menu_page_url('depicter-dashboard', false) ),
56 "documentId" => Data::cast( Sanitize::key( $_GET['document'] ), 'int' ),
57 'user' => [
58 'subscriptionPlan' => \Depicter::options()->get('user_plan', 'free-user'),
59 'name' => Escape::html( $currentUser->display_name ),
60 'email' => Escape::html( $currentUser->user_email ),
61 'hasSubscribed' => !! \Depicter::options()->get('has_subscribed')
62 ]
63 ])
64 ), 'before' );
65
66 wp_add_inline_script( 'depicter-editor-vendors', 'window.depicterKitEnv = ' . JSON::encode(
67 Arr::merge( $this->getCommonEnvParams(), [
68 'user' => [
69 'subscriptionPlan' => \Depicter::options()->get('user_plan', 'free-user')
70 ]
71 ])
72 ), 'before' );
73 }
74
75 /**
76 * Get common ENV variables
77 *
78 * @return array
79 */
80 protected function getCommonEnvParams(){
81 global $wp_version;
82
83 return [
84 'wpVersion' => $wp_version,
85 "scriptsPath" => \Depicter::core()->assets()->getUrl(). '/resources/scripts/editor/',
86 'editorAPI' => admin_url( 'admin-ajax.php' ),
87 'clientKey' => \Depicter::options()->get( 'client_key', 'anon' ),
88 'csrfToken' => \Depicter::csrf()->getToken( CSRF::EDITOR_ACTION ),
89 'updateInfo' => [
90 'from' => \Depicter::options()->get('version_previous') ?: null,
91 'to' => \Depicter::options()->get('version')
92 ],
93 'integrations' => [
94 'woocommerce' => Plugin::isActive( 'woocommerce/woocommerce.php' )
95 ]
96 ];
97 }
98 }
99