PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents / 1.5.0
EmbedPress – PDF Embedder, 3D PDF FlipBook, Google Reviews, YouTube Videos, Upload & Embed PDF documents v1.5.0
4.6.5 4.6.4 4.6.3 4.6.2 4.6.1 4.6.0 4.5.6 4.5.5 4.5.4 4.5.3 4.5.2 trunk 1.0.0 1.1.0 1.1.1 1.1.2 1.1.3 1.2.0 1.3.0 1.3.1 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.5.0 1.6.0 1.6.1 1.6.2 1.6.3 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 2.0.0 2.0.1 2.0.2 2.0.3 2.1.0 2.1.1 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.2.0 2.2.1 2.2.2 2.3.0 2.3.1 2.3.2 2.3.3 2.4.0 2.4.1 2.5.0 2.5.1 2.5.2 2.5.3 2.5.4 2.5.5 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.0.3 3.0.4 3.1.0 3.1.1 3.1.2 3.1.3 3.2.0 3.2.1 3.3.0 3.3.1 3.3.2 3.3.3 3.3.4 3.3.5 3.3.6 3.3.7 3.4.0 3.4.1 3.4.2 3.4.3 3.5.0 3.5.1 3.5.2 3.5.3 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.6.5 3.6.6 3.6.7 3.6.8 3.7.0 3.7.1 3.7.2 3.7.3 3.8.0 3.8.1 3.8.2 3.8.3 3.8.4 3.8.5 3.9.0 3.9.1 3.9.10 3.9.11 3.9.12 3.9.13 3.9.14 3.9.15 3.9.16 3.9.17 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9 4.0.0 4.0.1 4.0.10 4.0.11 4.0.12 4.0.13 4.0.14 4.0.2 4.0.3 4.0.4 4.0.5 4.0.6 4.0.7 4.0.8 4.0.9 4.1.0 4.1.1 4.1.10 4.1.2 4.1.3 4.1.4 4.1.5 4.1.6 4.1.7 4.1.8 4.1.9 4.2.0 4.2.1 4.2.2 4.2.3 4.2.4 4.2.5 4.2.6 4.2.7 4.2.8 4.2.9 4.3.0 4.3.1 4.4.0 4.4.1 4.4.10 4.4.11 4.4.2 4.4.3 4.4.4 4.4.5 4.4.6 4.4.7 4.4.8 4.4.9 4.5.0 4.5.1
embedpress / EmbedPress / Ends / Back / Handler.php
embedpress / EmbedPress / Ends / Back Last commit date
Handler.php 9 years ago Settings.php 9 years ago index.html 9 years ago
Handler.php
135 lines
1 <?php
2 namespace EmbedPress\Ends\Back;
3
4 use \EmbedPress\Ends\Handler as EndHandlerAbstract;
5 use \EmbedPress\Shortcode;
6 use \EmbedPress\Core;
7 use \Embera\Embera;
8
9 (defined('ABSPATH') && defined('EMBEDPRESS_IS_LOADED')) or die("No direct script access allowed.");
10
11 /**
12 * The admin-facing functionality of the plugin.
13 * Defines the plugin name, version, and enqueue the admin-specific stylesheets and scripts.
14 *
15 * @package EmbedPress
16 * @subpackage EmbedPress/Ends/Back
17 * @author PressShack <help@pressshack.com>
18 * @copyright Copyright (C) 2017 Open Source Training, LLC. All rights reserved.
19 * @license GPLv2 or later
20 * @since 1.0.0
21 */
22 class Handler extends EndHandlerAbstract
23 {
24 /**
25 * Method that register all scripts for the admin area.
26 *
27 * @since 1.0.0
28 *
29 * @return void
30 */
31 public function enqueueScripts()
32 {
33 $plgSettings = Core::getSettings();
34
35 wp_enqueue_script("bootbox-bootstrap", EMBEDPRESS_URL_ASSETS .'js/vendor/bootstrap/bootstrap.min.js', array('jquery'), $this->pluginVersion, true);
36 wp_enqueue_script("bootbox", EMBEDPRESS_URL_ASSETS .'js/vendor/bootbox.min.js', array('jquery', 'bootbox-bootstrap'), $this->pluginVersion, true);
37 wp_enqueue_script($this->pluginName, EMBEDPRESS_URL_ASSETS .'js/preview.js', array('jquery', 'bootbox'), $this->pluginVersion, true);
38 wp_localize_script($this->pluginName, '$data', array(
39 'previewSettings' => array(
40 'juriRoot' => get_site_url() .'/',
41 'versionUID' => $this->pluginVersion,
42 'debug' => true
43 ),
44 'EMBEDPRESS_SHORTCODE' => EMBEDPRESS_SHORTCODE,
45 'EMBEDPRESS_URL_ASSETS' => EMBEDPRESS_URL_ASSETS,
46 'displayPreviewBox' => $plgSettings->displayPreviewBox
47 ));
48
49 $installedPlugins = Core::getPlugins();
50 if (count($installedPlugins) > 0) {
51 foreach ($installedPlugins as $plgSlug => $plgNamespace) {
52 $plgScriptPathRelative = "assets/js/embedpress.{$plgSlug}.js";
53 $plgName = "embedpress-{$plgSlug}";
54
55 if (file_exists(WP_PLUGIN_DIR . "/{$plgName}/{$plgScriptPathRelative}")) {
56 wp_enqueue_script($plgName, plugins_url($plgName) .'/'. $plgScriptPathRelative, array($this->pluginName), $this->pluginVersion, true);
57 }
58 }
59 }
60 }
61
62 /**
63 * Method that register all stylesheets for the admin area.
64 *
65 * @since 1.0.0
66 * @static
67 *
68 * @return void
69 */
70 public static function enqueueStyles()
71 {
72 wp_enqueue_style('embedpress-admin', plugins_url('embedpress/assets/css/admin.css'));
73 }
74
75 /**
76 * Method that receive a string via AJAX and return the decoded-shortcoded-version of that string.
77 *
78 * @since 1.0.0
79 *
80 * @return void
81 */
82 public function doShortcodeReceivedViaAjax()
83 {
84 $subject = isset($_POST['subject']) ? $_POST['subject'] : "";
85
86 $response = array(
87 'data' => Shortcode::parseContent($subject, true)
88 );
89
90 header('Content-Type:application/json;charset=UTF-8');
91 echo json_encode($response);
92
93 exit();
94 }
95
96 /**
97 * Method that receive an url via AJAX and return the info about that url/embed.
98 *
99 * @since 1.0.0
100 *
101 * @return void
102 */
103 public function getUrlInfoViaAjax()
104 {
105 $url = isset($_GET['url']) ? trim($_GET['url']) : "";
106
107 $response = array(
108 'url' => $url,
109 'canBeResponsive' => false
110 );
111
112 if (!!strlen($response['url'])) {
113 $embera = new Embera();
114
115 $additionalServiceProviders = Core::getAdditionalServiceProviders();
116 if (!empty($additionalServiceProviders)) {
117 foreach ($additionalServiceProviders as $serviceProviderClassName => $serviceProviderUrls) {
118 Shortcode::addServiceProvider($serviceProviderClassName, $serviceProviderUrls, $embera);
119 }
120 }
121
122 $urlInfo = $embera->getUrlInfo($response['url']);
123 if (isset($urlInfo[$response['url']])) {
124 $urlInfo = (object)$urlInfo[$response['url']];
125 $response['canBeResponsive'] = Core::canServiceProviderBeResponsive($urlInfo->provider_alias);
126 }
127 }
128
129 header('Content-Type:application/json;charset=UTF-8');
130 echo json_encode($response);
131
132 exit();
133 }
134 }
135