PluginProbe ʕ •ᴥ•ʔ
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more / 1.4.2
EmbedPress – PDF Embedder, Embed PDF viewer, YouTube Videos, 3D FlipBook, Social feeds & more v1.4.2
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
134 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) 2016 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 *
67 * @return void
68 */
69 public function enqueueStyles()
70 {
71 global $wp_scripts;
72 }
73
74 /**
75 * Method that receive a string via AJAX and return the decoded-shortcoded-version of that string.
76 *
77 * @since 1.0.0
78 *
79 * @return void
80 */
81 public function doShortcodeReceivedViaAjax()
82 {
83 $subject = isset($_POST['subject']) ? $_POST['subject'] : "";
84
85 $response = array(
86 'data' => Shortcode::parseContent($subject, true)
87 );
88
89 header('Content-Type:application/json;charset=UTF-8');
90 echo json_encode($response);
91
92 exit();
93 }
94
95 /**
96 * Method that receive an url via AJAX and return the info about that url/embed.
97 *
98 * @since 1.0.0
99 *
100 * @return void
101 */
102 public function getUrlInfoViaAjax()
103 {
104 $url = isset($_GET['url']) ? trim($_GET['url']) : "";
105
106 $response = array(
107 'url' => $url,
108 'canBeResponsive' => false
109 );
110
111 if (!!strlen($response['url'])) {
112 $embera = new Embera();
113
114 $additionalServiceProviders = Core::getAdditionalServiceProviders();
115 if (!empty($additionalServiceProviders)) {
116 foreach ($additionalServiceProviders as $serviceProviderClassName => $serviceProviderUrls) {
117 Shortcode::addServiceProvider($serviceProviderClassName, $serviceProviderUrls, $embera);
118 }
119 }
120
121 $urlInfo = $embera->getUrlInfo($response['url']);
122 if (isset($urlInfo[$response['url']])) {
123 $urlInfo = (object)$urlInfo[$response['url']];
124 $response['canBeResponsive'] = Core::canServiceProviderBeResponsive($urlInfo->provider_alias);
125 }
126 }
127
128 header('Content-Type:application/json;charset=UTF-8');
129 echo json_encode($response);
130
131 exit();
132 }
133 }
134