PluginProbe
VdoCipher: Secure Video Player and Hosting / 1.6
VdoCipher: Secure Video Player and Hosting v1.6
trunk 1.10 1.11 1.12 1.13 1.14 1.15 1.17 1.18 1.19 1.20 1.21 1.22 1.23 1.24 1.25 1.26 1.27 1.28 1.29 1.3 1.30 1.4 1.5 1.6 All 28 releases
← All changes | vdocipher.php +152 -182 1.101.6 View file →
@@ -2,221 +2,191 @@
2 2 /**
3 3 * Plugin Name: VdoCipher
4 4 * Plugin URI: http://www.vdocipher.com
5 5 * Description: Secured video hosting for wordpress
6 - * Version: 1.10
6 + * Version: 1.6
7 7 * Author: VdoCipher
8 8 * Author URI: http://www.vdocipher.com
9 9 * License: GPL2
10 10 */
11 11
12 +
12 13 if (__FILE__ == $_SERVER['SCRIPT_FILENAME']) {
13 14 header($_SERVER['SERVER_PROTOCOL'] . ' 404 Not Found');
14 - exit("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<html><head>\r\n<title>404 Not Found</title>\r\n".
15 - "</head><body>\r\n<h1>Not Found</h1>\r\n<p>The requested URL " . $_SERVER['SCRIPT_NAME'] . " was not found on ".
16 - "this server.</p>\r\n</body></html>");
15 + exit("<!DOCTYPE HTML PUBLIC \"-//IETF//DTD HTML 2.0//EN\">\r\n<html><head>\r\n<title>404 Not Found</title>\r\n</head><body>\r\n<h1>Not Found</h1>\r\n<p>The requested URL " . $_SERVER['SCRIPT_NAME'] . " was not found on this server.</p>\r\n</body></html>");
17 16 }
18 17
19 -function vdo_send($action, $params, $posts = array())
20 -{
21 - $client_key = get_option('vdo_client_key');
22 - if ($client_key == false || $client_key == "") {
23 - return "Plugin not configured. Please set the key to embed videos.";
24 - }
18 +function vdo_send($action, $params, $posts = false){
19 + $client_key = get_option('vdo_client_key');
20 + if ($client_key == false || $client_key == "") {
21 + return "Plugin not configured. Please set the key to embed videos.";
22 + }
23 + $curl = curl_init();
24 + curl_setopt($curl, CURLOPT_FAILONERROR, true);
25 + curl_setopt($curl, CURLOPT_RETURNTRANSFER,true);
26 + curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false);
27 + curl_setopt($curl, CURLOPT_VERBOSE, true);
28 + curl_setopt($curl, CURLOPT_FAILONERROR, false);
29 + //curl_setopt($curl, CURLOPT_PROXY, "xxxxxxxxxxxxxxxxx:xxxx");
25 30
26 - $getData = http_build_query($params);
27 - $posts["clientSecretKey"] = $client_key;
28 - $url = "http://api.vdocipher.com/v2/$action/?$getData";
29 - $response = wp_safe_remote_post($url, array(
30 - 'method' => 'POST',
31 - 'body' => $posts
32 - ));
33 - if (is_wp_error($response)) {
34 - $error_message = $response->get_error_message();
35 - echo "VdoCipher: Something went wrong: $error_message";
36 - return "";
37 - }
38 - return $response['body'];
31 + $getData = http_build_query($params);
32 + curl_setopt($curl, CURLOPT_POST, true);
33 + $postData = "clientSecretKey=$client_key";
34 + if ($posts) {
35 + $postData .= "&". $posts;
36 + }
37 + curl_setopt($curl, CURLOPT_POSTFIELDS, $postData);
38 + $url = "http://api.vdocipher.com/v2/$action/?$getData";
39 + curl_setopt($curl, CURLOPT_URL,$url);
40 + $html = curl_exec($curl);
41 + if (!$html) {
42 + echo curl_error($curl);
43 + }
44 + curl_close($curl);
45 + return $html;
39 46 }
40 -function vdo_shortcode($atts)
41 -{
42 - extract(shortcode_atts(
43 - array(
44 - 'title' => 'TITLE_OF_VIDEO',
45 - 'width' => get_option('vdo_default_width') . "px",
46 - 'height' => get_option('vdo_default_height') . "px",
47 - 'id' => 'id',
48 - 'no_annotate'=> false,
49 - 'version'=> 0,
50 - ),
51 - $atts
52 - ));
53 - if (!$atts['id']) {
54 - if (!$atts['title']) {
55 - return "Required argument id for embedded video not found.";
56 - }
57 - $params = array(
58 - 'search'=>array(
59 - 'title'=>$title
60 - ),
61 - 'page'=>1,
62 - 'limit'=>30,
63 - 'type'=>'json'
64 - );
65 - $video = vdo_send("videos", $params);
66 - $video = json_decode($video);
67 - if ($video == null) {
68 - return "404. Video not found.";
69 - }
70 - $video = $video[0]->id;
71 - if ($video == null) {
72 - return "No video with given title found.";
73 - }
74 - } else {
75 - $video = $id;
76 - }
47 +function vdo_shortcode( $atts ) {
48 + extract( shortcode_atts(
49 + array(
50 + 'title' => 'TITLE_OF_VIDEO',
51 + 'width' => get_option('vdo_default_width'),
52 + 'height' => get_option('vdo_default_height'),
53 + 'id' => 'id',
54 + 'no_annotate'=> false
55 + ), $atts )
56 + );
57 + if(!$atts['id']){
58 + if(!$atts['title'])
59 + return "Required argument id for embedded video not found.";
60 + $params = array(
61 + 'search'=>array(
62 + 'title'=>$title
63 + ),
64 + 'page'=>1,
65 + 'limit'=>30,
66 + 'type'=>'json'
67 + );
68 + $video = vdo_send("videos", $params);
69 + $video = json_decode($video);
70 + if($video == null)
71 + return "404. Video not found.";
72 + $video = $video[0]->id;
73 + if ($video == null) {
74 + return "No video with given title found.";
75 + }
76 + }
77 + else
78 + $video = $id;
77 79
78 - $params = array(
79 - 'video'=>$video
80 - );
81 - $anno = false;
82 - if (!function_exists("eval_date")) {
83 - function eval_date($matches)
84 - {
85 - return current_time($matches[1]);
86 - }
87 - }
88 - if (get_option('vdo_annotate_code') != "") {
89 - $current_user = wp_get_current_user();
90 - $vdo_annotate_code = get_option('vdo_annotate_code');
91 - $vdo_annotate_code = apply_filters('vdocipher_annotate_preprocess', $vdo_annotate_code);
92 - if (is_user_logged_in()) {
93 - $vdo_annotate_code = str_replace('{name}', $current_user->display_name, $vdo_annotate_code);
94 - $vdo_annotate_code = str_replace('{email}', $current_user->user_email, $vdo_annotate_code);
95 - $vdo_annotate_code = str_replace('{username}', $current_user->user_login, $vdo_annotate_code);
96 - $vdo_annotate_code = str_replace('{id}', $current_user->ID, $vdo_annotate_code);
97 - }
98 - $vdo_annotate_code = str_replace('{ip}', $_SERVER['REMOTE_ADDR'], $vdo_annotate_code);
99 - $vdo_annotate_code = preg_replace_callback('/\{date\.([^\}]+)\}/', "eval_date", $vdo_annotate_code);
100 - $vdo_annotate_code = apply_filters('vdocipher_annotate_postprocess', $vdo_annotate_code);
101 - if (!$no_annotate) {
102 - $anno = array("annotate" => $vdo_annotate_code);
103 - }
104 - }
105 - $OTP = vdo_send("otp", $params, $anno);
106 - $OTP = json_decode($OTP);
107 - if (is_null($OTP)) {
108 - $output = "<span id='vdo$OTP' style='background:#555555;color:#FFFFFF'><h4>Video not found</h4></span>";
109 - return $output;
110 - }
111 - $OTP = $OTP->otp;
80 + $params = array(
81 + 'video'=>$video
82 + );
83 + $anno = false;
84 + if (!function_exists("eval_date")) {
85 + function eval_date($matches){
86 + return date($matches[1]);
87 + }
88 + }
89 + if (get_option('vdo_annotate_code') != "") {
90 + $current_user = wp_get_current_user();
91 + $vdo_annotate_code = get_option('vdo_annotate_code');
92 + $vdo_annotate_code = apply_filters('vdocipher_annotate_preprocess', $vdo_annotate_code);
93 + if (is_user_logged_in()) {
94 + $vdo_annotate_code = str_replace('{name}', $current_user->display_name , $vdo_annotate_code);
95 + $vdo_annotate_code = str_replace('{email}', $current_user->user_email , $vdo_annotate_code);
96 + $vdo_annotate_code = str_replace('{username}', $current_user->user_login , $vdo_annotate_code);
97 + $vdo_annotate_code = str_replace('{id}', $current_user->ID , $vdo_annotate_code);
98 + }
99 + $vdo_annotate_code = str_replace('{ip}', $_SERVER['REMOTE_ADDR'] , $vdo_annotate_code);
100 + $vdo_annotate_code = preg_replace_callback('/\{date\.([^\}]+)\}/', "eval_date" , $vdo_annotate_code);
101 + $vdo_annotate_code = apply_filters('vdocipher_annotate_postprocess', $vdo_annotate_code);
102 + if(!$no_annotate)
103 + $anno = "annotate=". urlencode($vdo_annotate_code);
104 + }
105 + $OTP = vdo_send("otp", $params, $anno);
106 + $OTP = json_decode($OTP);
107 + if(is_null($OTP)){
108 + $output = "<span id='vdo$OTP' style='background:#555555;color:#FFFFFF'><h4>Video not found</h4></span>";
109 + return $output;
110 + }
111 + $OTP = $OTP->otp;
112 112
113 - $version = 0;
114 - if (isset($atts['version'])) {
115 - $version = $atts['version'];
116 - }
117 - $output = "<div id='vdo$OTP' style='height:$height;width:$width;max-width:100%' ></div>";
118 - $output .= "<script> (function(v,i,d,e,o){v[o]=v[o]||{}; v[o].add = v[o].add || function V(a){".
119 - " (v[o].d=v[o].d||[]).push(a);};";
120 - $output .= "if(!v[o].l) { v[o].l=1*new Date(); a=i.createElement(d), m=i.getElementsByTagName(d)[0]; a.async=1; ".
121 - "a.src=e; m.parentNode.insertBefore(a,m);}";
122 - $output .= " })(window,document,'script','//de122v0opjemw.cloudfront.net/vdo.js','vdo'); vdo.add({ ";
123 - $output .= "o: '$OTP', ";
124 - if ($version == 32) {
125 - $output .= "version: '$version' ";
126 - }
127 - $output .= "}); </script>";
128 - return $output;
113 + $output = "<span id='vdo$OTP'></span>";
114 + $output .= "<script src='https://de122v0opjemw.cloudfront.net/utils/playerInit.php?otp=$OTP&height=$height&width=$width&'></script>";
115 + return $output;
129 116 }
130 117
131 -add_shortcode('vdo', 'vdo_shortcode');
118 +add_shortcode( 'vdo', 'vdo_shortcode' );
132 119
133 120
134 121 /// adding the settings link
135 -$plugin = plugin_basename(__FILE__);
136 -add_filter("plugin_action_links_$plugin", 'vdo_settings_link');
122 +$plugin = plugin_basename(__FILE__);
123 +add_filter("plugin_action_links_$plugin", 'vdo_settings_link' );
137 124
138 -function vdo_settings_link($links)
139 -{
140 - $settings_link = '<a href="options-general.php?page=vdocipher.php">Settings</a>';
141 - array_unshift($links, $settings_link);
142 - return $links;
125 +function vdo_settings_link($links) {
126 + $settings_link = '<a href="options-general.php?page=vdocipher.php">Settings</a>';
127 + array_unshift($links, $settings_link);
128 + return $links;
143 129 }
144 130
145 131
146 132 /// add the menu item and register settings
147 -if (is_admin()) { // admin actions
148 - add_action('admin_menu', 'vdo_menu');
149 - add_action('admin_init', 'register_vdo_settings');
133 +if ( is_admin() ){ // admin actions
134 + add_action( 'admin_menu', 'vdo_menu' );
135 + add_action( 'admin_init', 'register_vdo_settings' );
150 136 } else {
151 - // non-admin enqueues, actions, and filters
137 + // non-admin enqueues, actions, and filters
152 138 }
153 -function vdo_menu()
154 -{
155 - add_options_page('VdoCipher Options', 'VdoCipher', 'manage_options', 'vdocipher', 'vdo_options');
139 +function vdo_menu(){
140 + add_options_page( 'VdoCipher Options', 'VdoCipher', 'manage_options', 'vdocipher', 'vdo_options' );
156 141 }
157 -function vdo_options()
158 -{
159 - if (!get_option('vdo_default_height')) {
160 - update_option('vdo_default_height', '360');
161 - }
162 - if (!get_option('vdo_default_width')) {
163 - update_option('vdo_default_width', '640');
164 - }
165 - $vdo_client_key = get_option('vdo_client_key');
166 - if (!$vdo_client_key && strlen($vdo_client_key) != 64) {
167 - vdo_show_form_client_key();
168 - return "";
169 - }
170 - if (!current_user_can('manage_options')) {
171 - wp_die(__('You do not have sufficient permissions to access this page.'));
172 - }
173 - include('include/options.php');
142 +function vdo_options(){
143 + if (!get_option('vdo_default_height'))
144 + update_option('vdo_default_height', '360');
145 + if (!get_option('vdo_default_width'))
146 + update_option('vdo_default_width', '640');
147 + $vdo_client_key = get_option('vdo_client_key');
148 + if (!$vdo_client_key && strlen($vdo_client_key) != 64) {
149 + vdo_show_form_client_key();
150 + return "";
151 + }
152 + if ( !current_user_can( 'manage_options' ) ) {
153 + wp_die( __( 'You do not have sufficient permissions to access this page.' ) );
154 + }
155 + include('include/options.php');
174 156 }
175 -function register_vdo_settings()
176 -{
177 - // whitelist options
178 - register_setting('vdo_option-group', 'vdo_client_key');
179 - register_setting('vdo_option-group', 'vdo_default_height');
180 - register_setting('vdo_option-group', 'vdo_default_width');
181 - register_setting('vdo_option-group', 'vdo_annotate_code');
157 +function register_vdo_settings() { // whitelist options
158 + register_setting( 'vdo_option-group', 'vdo_client_key' );
159 + register_setting( 'vdo_option-group', 'vdo_default_height' );
160 + register_setting( 'vdo_option-group', 'vdo_default_width' );
161 + register_setting( 'vdo_option-group', 'vdo_annotate_code' );
182 162 }
183 163
184 164 /// adding a section for asking for the client key
185 -function vdo_show_form_client_key()
186 -{
187 - include('include/setting_form.php');
165 +function vdo_show_form_client_key(){
166 + include('include/setting_form.php');
188 167 }
189 168 register_deactivation_hook(__FILE__, 'vdo_deactivate');
190 -function vdo_deactivate()
191 -{
192 - delete_option('vdo_client_key');
193 - delete_option('vdo_default_width');
194 - delete_option('vdo_default_height');
195 - delete_option('vdo_annotate_code');
169 +function vdo_deactivate(){
170 + delete_option( 'vdo_client_key' );
171 + delete_option('vdo_default_width');
172 + delete_option('vdo_default_height');
173 + delete_option('vdo_annotate_code');
196 174 }
197 -function vdo_activate()
198 -{
199 - if (!get_option('vdo_default_height')) {
200 - update_option('vdo_default_height', '400');
201 - }
202 - if (!get_option('vdo_default_width')) {
203 - update_option('vdo_default_width', '640');
204 - }
175 +function vdo_activate() {
176 + if (!get_option('vdo_default_height'))
177 + update_option('vdo_default_height', '400');
178 + if (!get_option('vdo_default_width'))
179 + update_option('vdo_default_width', '640');
205 180 }
206 -register_activation_hook(__FILE__, 'vdo_activate');
207 -function vdo_admin_notice()
208 -{
209 - if ((!get_option('vdo_client_key') || strlen(get_option('vdo_client_key')) != 64)
210 - && basename($_SERVER['PHP_SELF']) == "plugins.php"
211 - ) {
212 - ?>
213 - <div class="error">
214 - <p>
215 - The VdoCipher plugin is not ready.
216 - <a href="options-general.php?page=vdocipher">Click here to configure</a>
217 - </p>
218 - </div>
219 - <?php
220 - }
181 +register_activation_hook( __FILE__, 'vdo_activate' );
182 +function vdo_admin_notice() {
183 + if((!get_option('vdo_client_key') || strlen(get_option('vdo_client_key')) != 64) && basename($_SERVER['PHP_SELF']) == "plugins.php" ){
184 + ?>
185 + <div class="error">
186 + <p>The VdoCipher plugin is not ready. <a href="options-general.php?page=vdocipher">Click here to configure</a>
187 + </p>
188 + </div>
189 + <?php
190 + }
221 191 }
222 -add_action('admin_notices', 'vdo_admin_notice');
192 +add_action( 'admin_notices', 'vdo_admin_notice' );