blogid; // Get all blog ids $blogids = $wpdb->get_col( "SELECT blog_id FROM $wpdb->blogs" ); foreach ($blogids as $blog_id) { switch_to_blog($blog_id); $this->_create_db_structure(); } switch_to_blog($old_blog); return; } } $this->_create_db_structure(); } /* A new blog has been created in a multisite WordPress */ function installing_new_blog($blog_id, $user_id, $domain, $path, $site_id, $meta ) { global $wpdb; if ( is_plugin_active_for_network() ) { $current_blog = $wpdb->blogid; switch_to_blog( $blog_id ); $this->_create_db_structure(); switch_to_blog( $current_blog ); } } /* Create the database structure for save player's data */ function _create_db_structure() { require_once(ABSPATH . 'wp-admin/includes/upgrade.php'); global $wpdb; $charset_collate = $wpdb->get_charset_collate(); $db_queries = array(); $db_queries[] = "CREATE TABLE ".$wpdb->prefix.CPMP_PLAYER." ( id mediumint(9) NOT NULL AUTO_INCREMENT, player_name VARCHAR(250) NOT NULL DEFAULT '', config LONGTEXT NULL, playlist LONGTEXT NULL, UNIQUE KEY id (id) ) $charset_collate;"; dbDelta($db_queries); // Running the queries } function _get_skin_list(&$selected_skin, $type, &$width, &$height){ $skin_dir = CPMP_PLUGIN_DIR.'/skins'; $skins_arr = array(); $skins_list = ''; $skins_list_script = 'var cpmp_skin_list = [];'; $c = 0; if(file_exists($skin_dir)){ $d = dir($skin_dir); while (false !== ($entry = $d->read())) { if($entry != '.' && $entry != '..' && is_dir($skin_dir.'/'.$entry)){ $this_skin = $skin_dir.'/'.$entry.'/'; if(file_exists($this_skin)){ $skin_data = parse_ini_file($this_skin.'config.ini', true); if(isset($skin_data['id'])){ if(empty($selected_skin)){ $selected_skin = $skin_data['id']; } $skins_list .= ' '; } } } } $d->close(); } return $skins_list; } /* Create the settings page */ function _paypal_buttons(){ $p = CPMP_PLUGIN_DIR.'/images/paypal_buttons'; $d = dir($p); $str = ""; while (false !== ($entry = $d->read())) { if($entry != "." && $entry != ".." && is_file("$p/$entry")) $str .= "   "; } $d->close(); return $str; } function admin_page(){ global $wpdb; wp_enqueue_media(); ?>

contact page and leave us a message.', CPMP_LANG); ?>
Administration area: Click to access the administration area demo
Public page: Click to access the Public Page', CPMP_LANG); ?>

width = $_POST['cpmp_width']; if(!empty($_POST['cpmp_height'])) $conf->height = $_POST['cpmp_height']; if(!empty($_POST['cpmp_type'])) $conf->type = $_POST['cpmp_type']; if(!empty($_POST['cpmp_skin'])) $conf->skin = $_POST['cpmp_skin']; if(isset($_POST['cpmp_autoplay'])) $conf->autoplay = 'autoplay'; if(isset($_POST['cpmp_show_playlist'])) $conf->playlist = true; if(isset($_POST['cpmp_loop'])) $conf->loop = 'loop'; $conf->preload = (isset($_POST['cpmp_preload'])) ? 'auto' : 'none'; $playlist = json_decode(stripslashes($_POST['cpmp_media_player_playlist'])); $data = array( 'player_name' => $_POST['cpmp_player_name'], 'config' => serialize($conf), 'playlist' => serialize($playlist) ); $format = array( '%s', '%s', '%s' ); if(empty($_POST['cpmp_player_id'])){ $wpdb->insert( $wpdb->prefix.CPMP_PLAYER, $data, $format ); } else{ $wpdb->update( $wpdb->prefix.CPMP_PLAYER, $data, array('id' => $_POST['cpmp_player_id']), $format, '%d' ); } } if ( ( (empty($_POST['cpmp_player_edition_nonce']) || !wp_verify_nonce($_POST['cpmp_player_edition_nonce'],__FILE__)) && (empty($_POST['cpmp_player_creation_nonce']) || !wp_verify_nonce($_POST['cpmp_player_creation_nonce'],__FILE__)) ) || ( isset($_POST['cpmp_player_edition_nonce']) && isset($_POST['cpmp_action']) && wp_verify_nonce($_POST['cpmp_player_edition_nonce'],__FILE__) && $_POST['cpmp_action'] == 'remove' ) ){ if(isset($_POST['player_id'])){ $wpdb->query( $wpdb->prepare( " DELETE FROM ".$wpdb->prefix.CPMP_PLAYER." WHERE id = %d ", $_POST['player_id'] ) ); } $sql = "SELECT id, player_name FROM ".$wpdb->prefix.CPMP_PLAYER.";"; $players = $wpdb->get_results($sql); if(count($players)){ wp_enqueue_script('cpmp-admin', plugin_dir_url(__FILE__).'js/cpmp_admin.js', array('jquery'), null, true); ?>
'; ?>

'; ?>

Audio and Video Player.', CPMP_LANG); ?>

_paypal_buttons(); ?>

skin = ''; $playlist = array(); $insertion_button_text = __('Create Media Player', CPMP_LANG); $playlist_item_list = ''; if( isset($_POST['cpmp_player_edition_nonce']) && wp_verify_nonce($_POST['cpmp_player_edition_nonce'],__FILE__) && isset($_POST['player_id']) ) { // Edition $player = $wpdb->get_row( $wpdb->prepare('SELECT * FROM '.$wpdb->prefix.CPMP_PLAYER.' WHERE id=%d', $_POST['player_id'])); if ( !empty($player) ) { $player_id = $_POST['player_id']; $config_tmp = unserialize($player->config); if($config_tmp) $config = $config_tmp; $player->playlist = str_replace(';d:', ';i:', $player->playlist); $playlist_tmp = unserialize($player->playlist); if($playlist_tmp) $playlist = $playlist_tmp; foreach( $playlist as $item ) { $playlist_item_list .= '
'.$item->annotation.'
'; } $file_for_sale = $player->file_for_sale; $sale_price = $player->sale_price; $promotional_text = $player->promotional_text; $insertion_button_text = __('Update Media Player', CPMP_LANG); } // Create the playlist data $playlist_json = json_encode($playlist); echo ""; } if ( isset($_POST['cpmp_player_creation_nonce']) && wp_verify_nonce($_POST['cpmp_player_creation_nonce'], __FILE__) ) { $config->type = $_POST['player_type']; } $width_limit = ''; $height_limit = ''; $skin_list = $this->_get_skin_list($config->skin, $config->type, $width_limit, $height_limit); $player_type = (isset($config->type) && $config->type == 'video') ? 'video' : 'song'; ?>
'; if(isset($config->type)) echo ''; ?>
Audio And Video Player plugin page', CPMP_LANG); ?>

: [cpm-player id=""]


" />
" />
" />
autoplay)) ? "checked" : "" ); ?> />
loop)) ? "checked" : "" ); ?> />
preload) && $config->preload != 'none') ? "checked" : "" ); ?> />
playlist)) ? "checked" : "" ); ?> />


Media Library and upload the files.', CPMP_LANG); ?>

Audio and Video Player.', CPMP_LANG); ?>

USD
Cancel
'; ?>
'.esc_attr(__('New Audio Player', CPMP_LANG)).' '.esc_attr(__('New Video Player', CPMP_LANG)).' '.esc_attr(__('Insert Player From Gallery', CPMP_LANG)).' '; }// End insert_player_button // Load the player button scripts and initialize the insertion dialog function set_load_media_player_window(){ global $wpdb; wp_enqueue_style('wp-jquery-ui-dialog'); wp_enqueue_script('jquery-ui-core'); wp_enqueue_script('jquery-ui-dialog'); wp_enqueue_script( 'cpmp-admin', CPMP_PLUGIN_URL.'/js/cpmp_admin.js', array('jquery', 'jquery-ui-core', 'jquery-ui-dialog'), null, true ); // Load players $sql = "SELECT id, player_name FROM ".$wpdb->prefix.CPMP_PLAYER.";"; $players = $wpdb->get_results($sql); $options = ''; $label = ''; if(count($players)){ foreach ($players as $player){ $options .= ''; } $tag = ''; $label = __('Select the player to insert:', CPMP_LANG); }else{ $tag = __('You must to define a media player before use it on page/post.', CPMP_LANG); } // Skins $skins = ''; wp_localize_script('cpmp-admin', 'cpmp_insert_media_player', array( 'title' => __('Insert media player on your post/page', CPMP_LANG), 'label' => $label, 'new_label' => __('Create or Edit a Player', CPMP_LANG), 'tag' => $tag, 'skins' => $skins )); }// End set_load_media_player_window /** * To generate the players previews. */ public function preview() { $user = wp_get_current_user(); $allowed_roles = array('editor', 'administrator', 'author'); if(array_intersect($allowed_roles, $user->roles )) { if(!empty($_REQUEST['cpmp-avp-preview'])) { // Sanitizing variable $preview = stripcslashes($_REQUEST['cpmp-avp-preview']); $preview = strip_tags($preview); // Remove every shortcode that is not in the plugin remove_all_shortcodes(); add_shortcode('codepeople-html5-media-player', array(&$this, 'replace_shortcode')); add_shortcode('cpm-player', array(&$this, 'replace_shortcode')); add_shortcode('codepeople-html5-playlist-item', array(&$this, 'replace_shortcode_playlist_item')); add_shortcode('cpm-item', array(&$this, 'replace_shortcode_playlist_item')); if( has_shortcode($preview, 'codepeople-html5-media-player') || has_shortcode($preview, 'cpm-player') || has_shortcode($preview, 'codepeople-html5-playlist-item') || has_shortcode($preview, 'cpm-item') ) { // Deregister all scripts and styles for loading only the plugin styles. global $wp_styles, $wp_scripts; if(!empty($wp_scripts)) $wp_scripts->reset(); wp_enqueue_script('jquery'); $if_empty = __('Select at least a media file or player (if appropriate)', CPMP_LANG); $output = do_shortcode($preview); if(preg_match('/^\s*$/', $output)) { $output = '
'.$if_empty.'
'; } if(!empty($wp_styles)) $wp_styles->do_items(); if(!empty($wp_scripts)) $wp_scripts->do_items(); print '
'.$output.'
'; print''; exit; } } } } // End preview function replace_shortcode_playlist_item($atts, $content = '') { $atts = shortcode_atts( array( 'file' => '', 'name' => '', 'poster' => '', 'link' => '', 'subtitle' => '', 'lang' => '' ), $atts ); extract($atts); if(!empty($file)) { if(!empty($content)) $name = $content; $obj = new stdClass; $obj->files = array($file); $obj->poster = $poster; $obj->annotation = $name; $obj->link = $link; $obj->subtitles = array(); if(!empty($subtitle)) { $subtitle_obj = new stdClass; $subtitle_obj->link = $subtitle; $subtitle_obj->language = $lang; $obj->subtitles[] = $subtitle_obj; } $this->current_player_playlist[] = $obj; } return ''; } function replace_shortcode($atts, $content="") { global $wpdb; $supported_ext = array( 'audio' => array('mp3', 'oga', 'ogg'), 'video' => array('wmv', 'flv', 'ogg', 'ogv', 'webm', 'm4v', 'mp4', 'youtube') ); extract($atts); $this->current_player_playlist = array(); $content = do_shortcode($content); // Variables $player_id = 'codepeople_media_player'.time().mt_rand(1,999999); $mp_atts = array(); // Media Player attributes $pl_items = array(); // Playlist items $srcs = array(); // Sources of first item $mp_subtitles = array(); // Subtitles list of first item $styles = ''; $paypal_button = ''; if(isset($id)) { $sql = $wpdb->prepare('SELECT * FROM '.$wpdb->prefix.CPMP_PLAYER.' WHERE id=%d',$id); $player = $wpdb->get_row($sql); if($player != null) { $config_obj = (isset($player->config)) ? unserialize($player->config) : new stdClass; // Set attributes if(empty($config_obj->type)) $config_obj->type = 'audio'; if(!isset($type)) $type = trim($config_obj->type); if(!isset($width) && isset($config_obj->width)) $width = trim($config_obj->width); if(!isset($height) && isset($config_obj->height)) $height = trim($config_obj->height); if(!isset($skin) && isset($config_obj->skin)) $skin = trim($config_obj->skin); if(!isset($loop) && isset($config_obj->loop)) $loop = trim($config_obj->loop); if(!isset($autoplay) && isset($config_obj->autoplay)) $autoplay = trim($config_obj->autoplay); if(!isset($preload) && isset($config_obj->preload)) $preload = trim($config_obj->preload); if(!isset($playlist) && isset($config_obj->playlist)) $playlist = trim($config_obj->playlist); if(empty($this->current_player_playlist)) $this->current_player_playlist = (isset($player->playlist)) ? unserialize($player->playlist) : array(); } } if(empty($type)) $type = 'audio'; if(!empty($this->current_player_playlist)) { $first_item = true; foreach($this->current_player_playlist as $item) { $item_srcs = array(); $item_subtitles = array(); foreach($item->files as $file) { $file = $this->transform_url($file); $ext = $this->get_extension($file); $item_src_obj = new stdClass; $item_src_obj->src = $file; $item_src_obj->type = $type.'/'.$ext; $item_srcs[] = $item_src_obj; if($first_item) { if(!empty($item->poster)) $mp_atts[] = 'poster="'.esc_url($item->poster).'"'; $srcs[] = ''; } } foreach( $item->subtitles as $subtitle) { $location = $this->transform_url($subtitle->link); $language = $subtitle->language; if($first_item) { $mp_subtitles[] = ''; } $item_subtitle_obj = new stdClass; $item_subtitle_obj->kind = 'subtitles'; $item_subtitle_obj->src = $location; $item_subtitle_obj->srclang = $language; $item_subtitles[] = $item_subtitle_obj; } $pl_item_obj = new stdClass; if(!empty($item->poster)) $pl_item_obj->poster = $this->transform_url($item->poster); $pl_item_obj->source = $item_srcs; $pl_item_obj->track = $item_subtitles; $pl_items[] = '
  • '.(!empty($item->link) ? '+' : '  ').'  '.(!empty($item->annotation) ? $item->annotation : '').'
  • '; $first_item = false; } } else { return ''; } if(empty($skin)) $skin = 'classic-skin'; $skin = trim($skin); $base_path = dirname(__FILE__).'/'; $base_url = plugin_dir_url(__FILE__); wp_enqueue_style('wp-mediaelement'); wp_enqueue_style('codepeople_media_player', $base_url.'css/cpmp.css'); $css_path = $base_path.'skins/'.$skin.'/'.$skin.'.css'; $css_url = $base_url.'skins/'.$skin.'/'.$skin.'.css'; $js_path = $base_path.'skins/'.$skin.'/'.$skin.'.js'; $js_url = $base_url.'skins/'.$skin.'/'.$skin.'.js'; if(file_exists($css_path)) wp_enqueue_style('codepeople_media_player_style_'.$skin,$css_url); if(file_exists($js_path)) wp_enqueue_script('codepeople_media_player_script_'.$skin, $js_url, array('jquery'), null, true); wp_enqueue_script('wp-mediaelement'); wp_enqueue_script('codepeople_media_player_script', $base_url.'js/codepeople-plugins.js', array('jquery', 'wp-mediaelement'), null, true); if(!empty($width)) { if( is_numeric( $width ) ) $width .= 'px'; $width = esc_attr($width); $styles .= 'style="width:'.$width.'"'; $mp_atts[] = 'width="'.$width.'"'; } if(!empty($height)) $mp_atts[] = 'height="'.esc_attr($config_obj->height).'"'; $mp_atts[] = 'class="codepeople-media '.(!empty($skin) ? esc_attr($skin) : '' ).'"'; if(!empty($loop) && $loop != 'false') $mp_atts[] = 'loop="loop"'; if(!empty($autoplay) && $autoplay != 'false') $mp_atts[] = 'autoplay="autoplay"'; if(isset($preload)) $mp_atts[] = 'preload="'.esc_attr($preload).'"'; else $mp_atts[] = 'preload="none"'; return '
    <'.$type.' id="'.esc_attr($player_id).'" '.implode(' ', $mp_atts).' '.$styles.'>'.implode('',$srcs).implode('', $mp_subtitles).''.((count($pl_items) > 0) ? '' : '').'
    '; } // End replace_shortcode public static function troubleshoot($option) { if(!is_admin()) { // Solves a conflict caused by the "Speed Booster Pack" plugin if(is_array($option) && isset($option['jquery_to_footer'])) unset($option['jquery_to_footer']); } return $option; } }