function flagShowSkin_video_default($args) { extract($args); $flag_options = get_option('flag_options'); $skinID = 'id_' . mt_rand(); // look up for the path $playlistpath = ABSPATH . $flag_options['galleryPath'] . 'playlists/video/' . $playlist . '.xml'; $data = file_get_contents($playlistpath); $flashBackcolor = flagGetBetween($data, '<property1>0x', '</property1>'); if (empty($width)) { $width = flagGetBetween($data, '<width><![CDATA[', ']]></width>'); } if (empty($height)) { $height = flagGetBetween($data, '<height><![CDATA[', ']]></height>'); } if (empty($wmode)) { $wmode = flagGetBetween($data, '<property0><![CDATA[', ']]></property0>'); } if (empty($flashBackcolor)) { $flashBackcolor = $flag_options['flashBackcolor']; } require_once FLAG_ABSPATH . 'admin/video.functions.php'; $playlist_data = get_v_playlist_data($playlistpath); $alternative = ''; if (count($playlist_data['items'])) { foreach ($playlist_data['items'] as $id) { $videoObject = get_post($id); $url = wp_get_attachment_url($videoObject->ID); $thumb = get_post_meta($videoObject->ID, 'thumbnail', true); $aimg = $thumb ? '<img src="' . $thumb . '" style="float:left;margin-right:10px;width:150px;height:auto;" alt="" />' : ''; $atitle = $videoObject->post_title ? '<strong>' . $videoObject->post_title . '</strong>' : ''; $acontent = $videoObject->post_content ? '<div style="padding:4px 0;">' . $videoObject->post_content . '</div>' : ''; $alternative .= '<div id="video_' . $videoObject->ID . '" style="overflow:hidden;padding:7px 0;">' . $aimg . $atitle . $acontent . '<div style="font-size:80%;">This browser does not support flv files! You can <a href="' . $url . '">download the video</a> instead.</div></div>'; } } // init the flash output $swfobject = new flag_swfobject($flag_options['skinsDirURL'] . $skin . '/gallery.swf', $skinID, $width, $height, '10.1.52', plugins_url('/' . FLAGFOLDER . '/') . 'skins/expressInstall.swf'); global $swfCounter; $swfobject->add_params('wmode', $wmode); $swfobject->add_params('allowfullscreen', 'true'); $swfobject->add_params('allowScriptAccess', 'always'); $swfobject->add_params('saling', 'lt'); $swfobject->add_params('scale', 'noScale'); $swfobject->add_params('menu', 'false'); $swfobject->add_params('bgcolor', '#' . $flashBackcolor); $swfobject->add_attributes('id', $skinID); $swfobject->add_attributes('name', $skinID); // adding the flash parameter $swfobject->add_flashvars('path', $flag_options['skinsDirURL'] . $skin . '/'); $swfobject->add_flashvars('skinID', $skinID); $swfobject->add_flashvars('playlist', $playlist); // create the output $out = '<div class="grandvideo">' . $swfobject->output($alternative) . '</div>'; // add now the script code $out .= '<script type="text/javascript" defer="defer">'; $out .= $swfobject->javascript(); $out .= '</script>'; $out = apply_filters('flag_show_flash_v_content', $out); return $out; }
function flag_video_wp_media_lib($added = false) { global $wpdb; // same as $_SERVER['REQUEST_URI'], but should work under IIS 6.0 $filepath = admin_url() . 'admin.php?page=' . urlencode($_GET['page']); if ($added !== false) { $added = preg_replace('/[^\\d,]+/', '', $added); $filepath .= '&playlist=' . sanitize_flagname($_GET['playlist']) . '&mode=save'; $flag_options = get_option('flag_options'); $playlistPath = $flag_options['galleryPath'] . 'playlists/video/' . sanitize_flagname($_GET['playlist']) . '.xml'; $playlist = get_v_playlist_data(ABSPATH . $playlistPath); $exclude = explode(',', $added); $exclude = array_filter($exclude, 'intval'); } $filepath = esc_url($filepath); ?> <script type="text/javascript"> <!-- jQuery(document).ready(function(){ jQuery('.cb :checkbox').click(function() { var cur, arr, del; if(jQuery(this).is(':checked')){ cur = jQuery(this).val(); arr = jQuery('#items_array').val(); if(arr) { del = ','; } else { del = ''; } jQuery('#items_array').val(arr+del+cur); jQuery(this).closest('tr').css('background-color','#DDFFBB').next().css('background-color','#DDFFBB'); } else { cur = jQuery(this).val(); arr = jQuery('#items_array').val().split(','); arr = jQuery.grep(arr, function(a){ return a != cur; }).join(','); jQuery('#items_array').val(arr); jQuery(this).closest('tr').removeAttr('style').next().removeAttr('style'); } }); jQuery('.del_thumb').click(function(){ var id = jQuery(this).attr('data-id'); jQuery('#flvthumb-'+id).attr('value', ''); jQuery('#thumb-'+id).attr('src', '<?php echo site_url() . "/wp-includes/images/crystal/video.png"; ?> '); return false; }) }); function checkAll(form) { for (i = 0, n = form.elements.length; i < n; i++) { if(form.elements[i].type == "checkbox") { if(form.elements[i].name == "doaction[]") { if(form.elements[i].checked == true) form.elements[i].checked = false; else form.elements[i].checked = true; } } } var arr = jQuery('.cb input:checked').map(function(){return jQuery(this).val();}).get().join(','); jQuery('#items_array').val(arr); } // this function check for a the number of selected images, sumbmit false when no one selected function checkSelected() { if(!jQuery('.cb input:checked')) { alert('<?php echo esc_js(__('No items selected', 'flag')); ?> '); return false; } actionId = jQuery('#bulkaction').val(); switch (actionId) { case "new_playlist": showDialog('new_playlist', 160); return false; break; } } function showDialog( windowId, height ) { jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val()); jQuery("#" + windowId + "_flvid").val(jQuery('#items_array').val()); tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false); } var current_image = ''; function send_to_editor(html) { var source = html.match(/src=\".*\" alt/); source = source[0].replace(/^src=\"/, "").replace(/" alt$/, ""); jQuery('#flvthumb-'+actInp).attr('value', source); jQuery('#thumb-'+actInp).attr('src', source); tb_remove(); } //--> </script> <div class="wrap"> <?php if ($added === false) { ?> <?php if (current_user_can('FlAG Import folder')) { $defaultpath = basename(WP_CONTENT_DIR) . '/'; ?> <link rel="stylesheet" type="text/css" href="<?php echo FLAG_URLPATH; ?> admin/js/jqueryFileTree/jqueryFileTree.css" /> <script type="text/javascript" src="<?php echo FLAG_URLPATH; ?> admin/js/jqueryFileTree/jqueryFileTree.js"></script> <script type="text/javascript"> /* <![CDATA[ */ jQuery(function() { jQuery("span.browsefiles").show().click(function(){ jQuery("#file_browser").fileTree({ script: "admin-ajax.php?action=flag_file_browser&nonce=<?php echo wp_create_nonce('flag-ajax'); ?> ", root: jQuery("#videofolder").val() }, function(file) { //var path = file.replace("<?php echo WINABSPATH; ?> ", ""); jQuery("#videofolder").val(file); }); jQuery("#file_browser").show("slide"); }); }); /* ]]> */ </script> <!-- import folder --> <div id="importfolder"> <h2><?php _e('Import video from folder', 'flag'); ?> </h2> <form name="importfolder" id="importfolder_form" method="POST" action="<?php echo $filepath; ?> " accept-charset="utf-8" > <?php wp_nonce_field('flag_addvideo'); ?> <table class="form-table"> <tr valign="top"> <th scope="row"><?php _e('Import from Server path:', 'flag'); ?> </th> <td><input type="text" size="35" id="videofolder" name="videofolder" value="<?php echo $defaultpath; ?> " /><span class="browsefiles button" style="display:none"><?php _e('Browse...', "flag"); ?> </span> <div id="file_browser"></div><br /> <p><label><input type="checkbox" name="delete_files" value="delete" /> <?php _e('delete files after import in WordPress Media Library', 'flag'); ?> </label></p> </td> </tr> </table> <div class="submit"><input class="button-primary" type="submit" name="importfolder" value="<?php _e('Import folder', 'flag'); ?> "/></div> </form> </div> <?php } ?> <?php } ?> <h2><?php _e('WordPress Video Library', 'flag'); ?> </h2> <form id="videolib" class="flagform" method="POST" action="<?php echo $filepath; ?> " accept-charset="utf-8"> <?php wp_nonce_field('flag_update'); ?> <input type="hidden" name="page" value="video-box" /> <div class="tablenav"> <div class="actions"> <?php if ($added === false) { ?> <input name="updateMedia" class="button-primary" style="float: right;" type="submit" value="<?php _e('Update Media', 'flag'); ?> " /> <?php if (function_exists('json_encode')) { ?> <select name="bulkaction" id="bulkaction"> <option value="no_action" ><?php _e("No action", 'flag'); ?> </option> <option value="new_playlist" ><?php _e("Create new playlist", 'flag'); ?> </option> </select> <input name="showThickbox" class="button-secondary" type="submit" value="<?php _e('Apply', 'flag'); ?> " onclick="if ( !checkSelected() ) return false;" /> <?php } ?> <a href="<?php echo admin_url('media-new.php'); ?> " class="button"><?php _e('Upload Video', 'flag'); ?> </a> <input type="hidden" id="items_array" name="items_array" value="" /> <?php } else { ?> <input type="hidden" name="mode" value="save" /> <input style="width: 80%;" type="text" id="items_array" name="items_array" value="<?php echo $added; ?> " /> <input type="hidden" name="playlist_title" value="<?php echo esc_html($playlist['title']); ?> " /> <input type="hidden" name="skinname" value="<?php echo sanitize_flagname($playlist['skin']); ?> " /> <input type="hidden" name="skinaction" value="<?php echo sanitize_flagname($playlist['skin']); ?> " /> <textarea style="display: none;" name="playlist_descr" cols="40" rows="1"><?php echo esc_html($playlist['description']); ?> </textarea> <input name="addToPlaylist" class="button-secondary" type="submit" value="<?php _e('Update Playlist', 'flag'); ?> " /> <?php } ?> </div> </div> <table class="widefat" cellspacing="0"> <thead> <tr> <th class="cb" width="54" scope="col"><a href="#" onclick="checkAll(document.getElementById('videolib'));return false;"><?php _e('Check', 'flag'); ?> </a></th> <th class="id" width="134" scope="col"><div><?php _e('ID', 'flag'); ?> </div></th> <th class="size" width="75" scope="col"><div><?php _e('Size', 'flag'); ?> </div></th> <th class="thumb" width="110" scope="col"><div><?php _e('Thumbnail', 'flag'); ?> </div></th> <th class="title_filename" scope="col"><div><?php _e('Filename / Title', 'flag'); ?> </div></th> <th class="description" scope="col"><div><?php _e('Description', 'flag'); ?> </div></th> </tr> </thead> <tfoot> <tr> <th class="cb" scope="col"><a href="#" onclick="checkAll(document.getElementById('videolib'));return false;"><?php _e('Check', 'flag'); ?> </a></th> <th class="id" scope="col"><?php _e('ID', 'flag'); ?> </th> <th class="size" scope="col"><?php _e('Size', 'flag'); ?> </th> <th class="thumb" scope="col"><?php _e('Thumbnail', 'flag'); ?> </th> <th class="title_filename" scope="col"><?php _e('Filename / Title', 'flag'); ?> </th> <th class="description" scope="col"><?php _e('Description', 'flag'); ?> </th> </tr> </tfoot> <tbody> <?php $videolist = get_posts($args = array('numberposts' => -1, 'orderby' => 'ID', 'order' => 'DESC', 'post_type' => 'attachment', 'post_mime_type' => array('video/x-flv'))); $uploads = wp_upload_dir(); $flag_options = get_option('flag_options'); if ($videolist) { //echo '<pre>';print_r($videolist); echo '</pre>'; foreach ($videolist as $flv) { $list[] = $flv->ID; } $class = ' class="alternate"'; foreach ($videolist as $flv) { $class = empty($class) ? ' class="alternate"' : ''; $class2 = empty($class) ? '' : ' alternate'; $ex = $checked = ''; if ($added !== false && in_array($flv->ID, $exclude)) { $ex = ' style="background-color:#DDFFBB;" title="' . __("Already Added", "flag") . '"'; $checked = ' checked="checked"'; } $bg = !isset($class) || $class == 'class="alternate"' ? 'f9f9f9' : 'ffffff'; $thumb = $flvthumb = get_post_meta($flv->ID, 'thumbnail', true); if (empty($thumb)) { $thumb = site_url() . '/wp-includes/images/crystal/video.png'; $flvthumb = ''; } $url = wp_get_attachment_url($flv->ID); ?> <tr id="flv-<?php echo $flv->ID; ?> "<?php echo $class . $ex; ?> > <th class="cb" scope="row" height="24" style="padding-bottom: 0; border-bottom: none;"><input name="doaction[]" type="checkbox"<?php echo $checked; ?> value="<?php echo $flv->ID; ?> " /></th> <td class="id" style="padding-bottom: 0; border-bottom: none;"><p style="margin-bottom: 3px; white-space: nowrap;">ID: <?php echo $flv->ID; ?> </p></td> <td class="size" style="padding-bottom: 0; border-bottom: none;"><?php $path = $uploads['basedir'] . str_replace($uploads['baseurl'], '', $url); $size = filesize($path); if ($size) { echo round($size / 1024 / 1024, 2) . ' Mb'; } else { _e("Can't read file size. Perhaps file is broken.", 'flag'); } ?> </td> <td class="thumb" rowspan="2"> <a class="thickbox" title="<?php echo basename($url); ?> " href="<?php echo FLAG_URLPATH; ?> admin/flv_preview.php?vid=<?php echo $flv->ID; ?> &TB_iframe=1&width=490&height=293"><img id="thumb-<?php echo $flv->ID; ?> " src="<?php echo esc_url($thumb); ?> " width="100" height="100" alt="" /></a> </td> <td class="title_filename" rowspan="2"> <strong><a href="<?php echo $url; ?> "><?php echo basename($url); ?> </a></strong><br /> <textarea title="Title" name="item_a[<?php echo $flv->ID; ?> ][post_title]" cols="20" rows="1" style="width:95%; height: 25px; overflow:hidden;"><?php echo esc_html(stripslashes($flv->post_title)); ?> </textarea><br /> <p><?php _e('Thumb URL:', 'flag'); ?> <input id="flvthumb-<?php echo $flv->ID; ?> " name="item_a[<?php echo $flv->ID; ?> ][post_thumb]" type="text" value="<?php echo esc_url($flvthumb); ?> " /> <a class="thickbox" onclick="actInp=<?php echo $flv->ID; ?> " href="media-upload.php?type=image&TB_iframe=1&width=640&height=400" title="<?php _e('Add an Image', 'flag'); ?> "><?php _e('assist', 'flag'); ?> </a></p> </td> <td class="description" rowspan="2"> <textarea name="item_a[<?php echo $flv->ID; ?> ][post_content]" style="width:95%; height: 96px; margin-top: 2px; font-size:12px; line-height:115%;" rows="1" ><?php echo esc_html(stripslashes($flv->post_content)); ?> </textarea> </td> </tr> <tr class="flv-<?php echo $flv->ID . $class2; ?> "<?php echo $ex; ?> > <td valign="top" class="player" colspan="3"><p style="padding: 7px 3px;">Shortcode:<br /><input type="text" style="width: 240px; font-size: 9px;" class="shortcode1" readonly="readonly" onfocus="this.select()" value="[grandflv id=<?php echo $flv->ID; ?> w=<?php echo $flag_options['vmWidth']; ?> h=<?php echo $flag_options['vmHeight']; ?> autoplay=<?php echo $flag_options['vmAutoplay']; ?> ]" /></p></td> </tr> <?php } } else { echo '<tr><td colspan="6" align="center"><strong>' . __('No video in WordPress Media Library.', 'flag') . '</strong></td></tr>'; } ?> </tbody> </table> </form> </div> <!-- #new_playlist --> <div id="new_playlist" style="display: none;" > <form id="form_new_playlist" method="POST" action="<?php echo $filepath; ?> " accept-charset="utf-8"> <?php wp_nonce_field('flag_update'); ?> <input type="hidden" id="new_playlist_flvid" name="items_array" value="" /> <input type="hidden" id="new_playlist_bulkaction" name="TB_bulkaction" value="" /> <input type="hidden" name="mode" value="save" /> <input type="hidden" name="page" value="video-box" /> <table width="100%" border="0" cellspacing="3" cellpadding="3" > <tr valign="top"> <th align="left" style="padding-top: 5px;"><?php _e('Playlist Title', 'flag'); ?> </th> <td><input type="text" class="alignleft" name="playlist_title" value="" /> <div class="alignright"><strong><?php _e("Choose skin", 'flag'); ?> :</strong> <select id="skinname" name="skinname" style="width: 200px; height: 24px; font-size: 11px;"> <?php require_once dirname(__FILE__) . '/get_skin.php'; $all_skins = get_skins($skin_folder = '', $type = 'v'); if (count($all_skins)) { foreach ((array) $all_skins as $skin_file => $skin_data) { echo '<option value="' . dirname($skin_file) . '">' . $skin_data['Name'] . '</option>' . "\n"; } } else { echo '<option value="video_default">' . __("No Skins", "flag") . '</option>'; } ?> </select> </div> </td> </tr> <tr valign="top"> <th align="left" style="padding-top: 5px;"><?php _e('Playlist Description', 'flag'); ?> </th> <td><textarea style="width:100%;" rows="3" cols="60" name="playlist_descr"></textarea></td> </tr> <tr> <td> </td> <td align="right"><input class="button-secondary" type="reset" value=" <?php _e('Cancel', 'flag'); ?> " onclick="tb_remove()"/> <input class="button-primary " type="submit" name="TB_NewPlaylist" value="<?php _e('OK', 'flag'); ?> " /> </td> </tr> </table> </form> </div> <!-- /#new_playlist --> <?php }
<?php // Create XML output preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m); require_once $_m[1] . 'wp-load.php'; $flag_options = get_option('flag_options'); if (!isset($_GET['playlist'])) { die; } $file = basename($_GET['playlist']); $playlistPath = $_m[1] . $flag_options['galleryPath'] . 'playlists/video/' . $file . '.xml'; if (file_exists($playlistPath)) { require_once FLAG_ABSPATH . 'admin/video.functions.php'; $playlist = get_v_playlist_data($playlistPath); if (count($playlist['items'])) { $content = '<items>'; foreach ($playlist['items'] as $id) { $flv = get_post($id); $url = wp_get_attachment_url($flv->ID); if ($flv->post_mime_type == 'video/x-flv') { $thumb = get_post_meta($id, 'thumbnail', true); $content .= ' <item id="' . $flv->ID . '"> <track>' . $url . '</track> <title><![CDATA[' . $flv->post_title . ']]></title> <description><![CDATA[' . $flv->post_content . ']]></description> <thumbnail>' . $thumb . '</thumbnail> </item>'; } } $content .= '
function widget($args, $instance) { global $wpdb, $flagdb; extract($args); require_once dirname(dirname(__FILE__)) . '/admin/video.functions.php'; $flag_options = get_option('flag_options'); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); echo $before_widget . $before_title . $title . $after_title; $playlistPath = $flag_options['galleryPath'] . 'playlists/video/' . $instance['vxml'] . '.xml'; if (file_exists($playlistPath)) { $playlist = get_v_playlist_data(ABSPATH . $playlistPath); $items_a = $playlist['items']; echo "\n" . '<div class="flag-widget">' . "\n"; if (count($items_a)) { foreach ($items_a as $item) { $flv = get_post($item); if ($flv->ID) { $thumb = $flvthumb = get_post_meta($item, 'thumbnail', true); if (empty($thumb)) { $thumb = site_url() . '/wp-includes/images/crystal/video.png'; $flvthumb = ''; } $url = wp_get_attachment_url($flv->ID); // get the effect code $thumbcode = 'class="flag_fancyvid"'; // enable i18n support for alttext and description $alttext = strip_tags(htmlspecialchars(stripslashes($flv->post_title))); $description = strip_tags(htmlspecialchars(stripslashes($flv->post_content))); //TODO:For mixed portrait/landscape it's better to use only the height setting, if widht is 0 or vice versa $out = '<a href="' . plugins_url() . '/flash-album-gallery/facebook.php?mv=' . $flv->ID . '&w=1&h=' . $instance['fheight'] . '" title="' . $alttext . '" ' . $thumbcode . '>'; $out .= '<img src="' . $thumb . '" width="' . $instance['width'] . '" height="' . $instance['height'] . '" title="' . $alttext . '" alt="' . $description . '" />'; echo $out . '</a>' . "\n"; } } } } else { echo '<p>' . __('Error! No playlist.', 'flag') . '</p>'; } echo '</div>' . "\n"; echo '<style type="text/css">.flag_fancyvid img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>' . "\n"; echo '<script type="text/javascript">var fvVar = "' . plugins_url('/', dirname(__FILE__)) . '"; var fvW = ' . $instance['fwidth'] . ', fvH = ' . $instance['fheight'] . '; waitJQv(fvVar,fvW,fvH);</script>' . "\n"; echo $after_widget; }
function flag_v_playlist_edit() { global $wpdb; $filepath = admin_url() . 'admin.php?page=' . urlencode($_GET['page']); $all_playlists = get_v_playlists(); $flag_options = get_option('flag_options'); $playlistPath = $flag_options['galleryPath'] . 'playlists/video/' . sanitize_flagname($_GET['playlist']) . '.xml'; $playlist = get_v_playlist_data(ABSPATH . $playlistPath); $items_a = $playlist['items']; $items = implode(',', $playlist['items']); ?> <script type="text/javascript"> //<![CDATA[ function checkAll(form) { jQuery(form).find(':checkbox').each(function(){this.checked = !this.checked}); return false; } function getNumChecked(form) { var num = 0; for (i = 0, n = form.elements.length; i < n; i++) { if(form.elements[i].type == "checkbox") { if(form.elements[i].name == "doaction[]") if(form.elements[i].checked == true) num++; } } return num; } // this function check for a the number of selected images, sumbmit false when no one selected function checkSelected() { var numchecked = getNumChecked(document.getElementById('updatePlaylist')); if(numchecked < 1) { alert('<?php echo esc_js(__("No items selected", "flag")); ?> '); return false; } actionId = jQuery('#bulkaction').val(); switch (actionId) { case "delete_items": return confirm('<?php echo sprintf(esc_js(__("You are about to delete %s item(s) \n \n 'Cancel' to stop, 'OK' to proceed.", 'flag')), "' + numchecked + '"); ?> '); break; } return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s item(s) \n \n 'Cancel' to stop, 'OK' to proceed.", 'flag')), "' + numchecked + '"); ?> '); } function showDialog( windowId, height ) { var form = document.getElementById('updatePlaylist'); var elementlist = ""; for (i = 0, n = form.elements.length; i < n; i++) { if(form.elements[i].type == "checkbox") { if(form.elements[i].name == "doaction[]") if(form.elements[i].checked == true) if (elementlist == "") elementlist = form.elements[i].value; else elementlist += "," + form.elements[i].value; } } jQuery("#" + windowId + "_bulkaction").val(jQuery("#bulkaction").val()); jQuery("#" + windowId + "_playlist").val(elementlist); // console.log (jQuery("#TB_playlist").val()); tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false); } var current_image = ''; function send_to_editor(html) { var source = html.match(/src=\".*\" alt/); source = source[0].replace(/^src=\"/, "").replace(/" alt$/, ""); //var id = html.match(/wp-image-(\d+(\.\d)*)/ig); //id = id[0].match(/\d+/); jQuery('#flvthumb-'+actInp).attr('value', source); jQuery('#thumb-'+actInp).attr('src', source); tb_remove(); } jQuery(document).ready(function(){ jQuery('.del_thumb').click(function(){ var id = jQuery(this).attr('data-id'); jQuery('#flvthumb-'+id).attr('value', ''); jQuery('#thumb-'+id).attr('src', '<?php echo site_url() . "/wp-includes/images/crystal/video.png"; ?> '); return false; }); jQuery('#skinname').change(function(){ var skin = jQuery(this).val(); jQuery('#skinOptions').attr("href","<?php echo FLAG_URLPATH; ?> admin/skin_options.php?show_options=1&skin="+skin+"&TB_iframe=1&width=600&height=560"); }); }); //]]> </script> <div class="flag-wrap"> <h2><?php _e('Playlist', 'flag'); ?> : <?php echo esc_html($playlist['title']); ?> </h2> <div style="float: right; margin: -20px 3px 0 0;"> <span><a href="<?php echo $filepath; ?> "><?php _e('Back to Video Box', 'flag'); ?> </a> </span> <select name="select_playlist" onchange="window.location.href=this.options[this.selectedIndex].value"> <option selected="selected"><?php _e('Choose another playlist', 'flag'); ?> </option> <?php foreach ((array) $all_playlists as $playlist_file => $playlist_data) { $playlist_name = basename($playlist_file, '.xml'); if ($playlist_file == sanitize_flagname($_GET['playlist'])) { continue; } ?> <option value="<?php echo esc_url($filepath . "&playlist=" . $playlist_name . "&mode=edit"); ?> "><?php echo esc_html($playlist_data['title']); ?> </option> <?php } ?> </select> </div> <form id="updatePlaylist" class="flagform" method="POST" action="<?php echo esc_url($filepath . "&playlist=" . sanitize_flagname($_GET['playlist']) . "&mode=edit"); ?> " accept-charset="utf-8"> <?php wp_nonce_field('flag_update'); ?> <input type="hidden" name="page" value="manage-playlist" /> <div id="poststuff" class="metabox-holder"> <div id="post-body"><div id="post-body-content"><div id="normal-sortables" style="position: relative;"> <div id="flagalleryset" class="postbox" > <h3 class="hndle"><span><?php _e('Playlist settings', 'flag'); ?> </span></h3> <div class="inside"> <table cellspacing="8" cellpadding="0" border="0"> <tr> <th align="left" valign="middle" scope="row"><?php _e('Shortcode', 'flag'); ?> :</th> <td align="left" valign="middle"><input type="text" readonly="readonly" size="50" onfocus="this.select()" value="[grandvideo playlist=<?php echo sanitize_flagname($_GET['playlist']); ?> ]" /></td> <td rowspan="3" align="left" valign="top"><div><strong style="display: inline-block; width: 100px;"><?php _e("Playlist Skin", 'flag'); ?> :</strong> <input id="skinaction" type="hidden" name="skinaction" value="<?php echo sanitize_flagname($playlist['skin']); ?> " /> <select id="skinname" name="skinname" style="width: 200px; height: 24px; font-size: 11px;"> <?php require_once dirname(__FILE__) . '/get_skin.php'; $all_skins = get_skins($skin_folder = '', $type = 'v'); if (count($all_skins)) { foreach ((array) $all_skins as $skin_file => $skin_data) { $cur = $playlist['skin'] == dirname($skin_file) ? ' selected="selected"' : ''; echo '<option' . $cur . ' value="' . dirname($skin_file) . '">' . $skin_data['Name'] . '</option>' . "\n"; } } else { echo '<option value="video_default">' . __("No Skins", "flag") . '</option>'; } ?> </select> <a id="skinOptions" class="thickbox" href="<?php echo FLAG_URLPATH . 'admin/skin_options.php?show_options=1&skin=' . sanitize_flagname($playlist['skin']) . '&TB_iframe=1&width=600&height=560'; ?> "><?php _e('Change Skin Options', 'flag'); ?> </a> </div> <p style="margin:10px 0 0 100px;"><input type="submit" id="updatePlaylistSkin" name="updatePlaylistSkin" class="button-primary action" value="<?php _e('Update skin options for this playlist', 'flag'); ?> " /></p> </td> </tr> <tr> <th align="left" valign="middle" scope="row"><?php _e('Title', 'flag'); ?> :</th> <td align="left" valign="middle"><input type="text" size="50" name="playlist_title" value="<?php echo esc_html($playlist['title']); ?> " /></td> </tr> <tr> <th align="left" valign="top" scope="row"><?php _e('Description', 'flag'); ?> :</th> <td align="left" valign="top"><textarea name="playlist_descr" cols="60" rows="2" style="width: 95%" ><?php echo esc_html($playlist['description']); ?> </textarea></td> </tr> <!--<tr> <th align="left" valign="top" scope="row"><?php _e('Path', 'flag'); ?> :</th> <td align="left" colspan="2" valign="top"><?php echo $playlistPath; ?> </td> </tr>--> </table> <div class="clear"></div> </div> </div> </div></div></div> </div> <!-- poststuff --> <div class="tablenav flag-tablenav"> <select id="bulkaction" name="bulkaction" class="alignleft"> <option value="no_action" ><?php _e("No action", 'flag'); ?> </option> <option value="delete_items" ><?php _e("Delete items", 'flag'); ?> </option> </select> <input class="button-secondary alignleft" style="margin-right:10px;" type="submit" name="updatePlaylist" value="<?php _e("OK", 'flag'); ?> " onclick="if ( !checkSelected() ) return false;" /> <a href="<?php echo wp_nonce_url($filepath . "&playlist=" . sanitize_flagname($_GET['playlist']) . "&mode=sort", 'flag_sort'); ?> " class="button-secondary alignleft" style="margin:1px 10px 0 0;"><?php _e("Sort Playlist", 'flag'); ?> </a> <a href="#" onClick="jQuery('#form_listitems').submit();return false;" class="button-secondary alignleft" style="margin:1px 10px 0 0;"><?php _e("Add/Remove Items from Playlist", 'flag'); ?> </a> <input type="submit" name="updatePlaylist" class="button-primary action alignright" value="<?php _e("Update Playlist", 'flag'); ?> " /> </div> <table id="flag-listvideo" class="widefat fixed flag-table" cellspacing="0" > <thead> <tr> <th class="cb" width="54" scope="col"><a href="#" onclick="checkAll(document.getElementById('updatePlaylist'));return false;"><?php _e('Check', 'flag'); ?> </a></th> <th class="id" width="134" scope="col"><div><?php _e('ID', 'flag'); ?> </div></th> <th class="size" width="75" scope="col"><div><?php _e('Size', 'flag'); ?> </div></th> <th class="thumb" width="110" scope="col"><div><?php _e('Thumbnail', 'flag'); ?> </div></th> <th class="title_filename" scope="col"><div><?php _e('Filename / Title', 'flag'); ?> </div></th> <th class="description" scope="col"><div><?php _e('Description', 'flag'); ?> </div></th> </tr> </thead> <tfoot> <tr> <th class="cb" scope="col"><a href="#" onclick="checkAll(document.getElementById('updatePlaylist'));return false;"><?php _e('Check', 'flag'); ?> </a></th> <th class="id" scope="col"><?php _e('ID', 'flag'); ?> </th> <th class="size" scope="col"><?php _e('Size', 'flag'); ?> </th> <th class="thumb" scope="col"><?php _e('Thumbnail', 'flag'); ?> </th> <th class="title_filename" scope="col"><?php _e('Filename / Title', 'flag'); ?> </th> <th class="description" scope="col"><?php _e('Description', 'flag'); ?> </th> </tr> </tfoot> <tbody> <?php $counter = 0; if (count($items_a)) { $alt = ' class="alternate"'; $uploads = wp_upload_dir(); foreach ($items_a as $item) { $flv = get_post($item); $thumb = $flvthumb = get_post_meta($item, 'thumbnail', true); if (empty($thumb)) { $thumb = site_url() . '/wp-includes/images/crystal/video.png'; $flvthumb = ''; } $alt = empty($alt) ? ' class="alternate"' : ''; $alt2 = empty($alt) ? '' : ' alternate'; $counter++; $url = wp_get_attachment_url($flv->ID); ?> <tr id="flv-<?php echo $flv->ID; ?> "<?php echo $alt; ?> valign="top"> <th class="cb" scope="row"><input name="doaction[]" type="checkbox" value="<?php echo $flv->ID; ?> " /></th> <td class="id"><p style="white-space: nowrap;">ID: <?php echo $flv->ID; ?> </p></td> <td class="size"><?php $path = $uploads['basedir'] . str_replace($uploads['baseurl'], '', $url); $size = filesize($path); echo round($size / 1024 / 1024, 2) . ' Mb'; ?> </td> <td class="thumb"> <a class="thickbox" title="<?php echo basename($url); ?> " href="<?php echo FLAG_URLPATH; ?> admin/flv_preview.php?vid=<?php echo $flv->ID; ?> &TB_iframe=1&width=490&height=293"><img id="thumb-<?php echo $flv->ID; ?> " src="<?php echo esc_url($thumb); ?> " style="width:auto; height:auto; max-width:100px; max-height:100px;" alt="" /></a> </td> <td class="title_filename"> <strong><a href="<?php echo $url; ?> "><?php echo basename($url); ?> </a></strong><br /> <textarea title="Title" name="item_a[<?php echo $flv->ID; ?> ][post_title]" cols="20" rows="1" style="width:95%; height: 25px; overflow:hidden;"><?php echo esc_html(stripslashes($flv->post_title)); ?> </textarea><br /> <p><?php _e('Thumb URL:', 'flag'); ?> <input id="flvthumb-<?php echo $flv->ID; ?> " name="item_a[<?php echo $flv->ID; ?> ][post_thumb]" type="text" value="<?php echo esc_url($flvthumb); ?> " /> <a class="thickbox" onclick="actInp=<?php echo $flv->ID; ?> " href="media-upload.php?type=image&TB_iframe=1&width=640&height=400" title="<?php _e('Add an Image', 'flag'); ?> "><?php _e('assist', 'flag'); ?> </a></p> </td> <td class="description"> <textarea name="item_a[<?php echo $flv->ID; ?> ][post_content]" style="width:95%; height: 96px; margin-top: 2px; font-size:12px; line-height:115%;" rows="1" ><?php echo esc_html(stripslashes($flv->post_content)); ?> </textarea> </td> </tr> <?php } } // In the case you have no capaptibility to see the search result if ($counter == 0) { echo '<tr><td colspan="5" align="center"><strong>' . __('No entries found', 'flag') . '</strong></td></tr>'; } ?> </tbody> </table> <p class="submit" style="text-align: right;"><input type="submit" class="button-primary action" name="updatePlaylist" value="<?php _e("Update Playlist", 'flag'); ?> " /></p> </form> <form id="form_listitems" name="form_listitems" method="POST" action="<?php echo esc_url($filepath . "&playlist=" . sanitize_flagname($_GET['playlist']) . "&mode=add"); ?> "> <?php wp_nonce_field('flag_add'); ?> <input type="hidden" name="items" value="<?php echo $items; ?> " /> </form> <br class="clear"/> </div><!-- /#wrap --> <?php }
function flagShowVPlayer($playlist, $width, $height, $wmode = '') { require_once dirname(__FILE__) . '/class.swfobject.php'; require_once dirname(dirname(__FILE__)) . '/admin/video.functions.php'; $flag_options = get_option('flag_options'); $galleryPath = trim($flag_options['galleryPath'], '/'); $playlist = sanitize_flagname($playlist); $playlistPath = $galleryPath . '/playlists/video/' . $playlist . '.xml'; $playlist_data = get_v_playlist_data(ABSPATH . $playlistPath); $skin = sanitize_flagname($playlist_data['skin']); $skinpath = str_replace("\\", "/", WP_PLUGIN_DIR) . '/flagallery-skins/' . $skin; include_once $skinpath . '/' . $skin . '.php'; if (isset($flag_options['license_key'])) { $lkey = $flag_options['license_key']; } else { $lkey = ''; } $isCrawler = isset($_SERVER['HTTP_USER_AGENT']) ? flagGetUserNow($_SERVER['HTTP_USER_AGENT']) : false; $args = array('playlist' => $playlist, 'skin' => $skin, 'width' => $width, 'height' => $height, 'wmode' => $wmode, 'lkey' => $lkey, 'crawler' => $isCrawler); $out = apply_filters('flagShowVideoSkin', $args); // Replace doubled spaces with single ones (ignored in HTML any way) // Remove single and multiline comments, tabs and newline chars //$out = preg_replace('@(\s){2,}@', '\1', $out); //$out = preg_replace( // '@(/\*([^*]|[\r\n]|(\*+([^*/]|[\r\n])))*\*+/)|((?<!:)//.*)|[\t\r\n]@i', // '', // $out //); return $out; }
/** * @author Sergey Pasyuk * @copyright 2009 */ function flag_v_playlist_order($playlist = 'deprecated') { global $wpdb; //this is the url without any presort variable $base_url = admin_url() . 'admin.php?page=' . urlencode($_GET['page']); $flag_options = get_option('flag_options'); $filename = sanitize_flagname($_GET['playlist']); $playlistPath = $flag_options['galleryPath'] . 'playlists/video/' . $filename . '.xml'; $playlist = get_v_playlist_data(ABSPATH . $playlistPath); $items_a = $playlist['items']; $items = implode(',', $playlist['items']); ?> <script type="text/javascript" src="<?php echo FLAG_URLPATH; ?> admin/js/jquery.tablednd_0_5.js"></script> <script type="text/javascript" src="<?php echo FLAG_URLPATH; ?> admin/js/jquery.tablesorter.js"></script> <div class="flag-wrap"> <h2><?php _e('Sort Gallery', 'flag'); ?> </h2> <div class="alignright tablenav" style="margin-bottom: -36px;"> <a href="<?php echo esc_url($base_url . "&playlist=" . $filename . '&mode=edit'); ?> " class="button-secondary action"><?php _e('Back to playlist', 'flag'); ?> </a> </div> <form id="sortPlaylist" method="POST" action="<?php echo esc_url($base_url . "&playlist=" . $filename . '&mode=edit'); ?> " accept-charset="utf-8"> <div class="alignleft tablenav"> <?php wp_nonce_field('flag_update'); ?> <input class="button-primary action" type="submit" name="updatePlaylist" value="<?php _e('Update Sort Order', 'flag'); ?> " /> </div> <br clear="all" /> <input type="hidden" name="playlist_title" value="<?php echo esc_html($playlist['title']); ?> " /> <input type="hidden" name="skinname" value="<?php echo sanitize_flagname($playlist['skin']); ?> " /> <input type="hidden" name="skinaction" value="<?php echo sanitize_flagname($playlist['skin']); ?> " /> <textarea style="display: none;" name="playlist_descr" cols="40" rows="1"><?php echo esc_html($playlist['description']); ?> </textarea> <script type="text/javascript"> /*<![CDATA[*/ jQuery(document).ready(function($) { // Initialise the table jQuery("#listitems").tableDnD({ onDragClass: "myDragClass", onDrop: function() { jQuery("#listitems tr:even").addClass('alternate'); jQuery("#listitems tr:odd").removeClass('alternate'); } }); $("#flag-listitems").tablesorter({ // pass the headers argument and assing a object headers: { // assign the secound column (we start counting zero) 1: { // disable it by setting the property sorter to false sorter: false } } }); $("#flag-listitems").bind("sortEnd",function() { jQuery("#listitems tr:even").addClass('alternate'); jQuery("#listitems tr:odd").removeClass('alternate'); }); }); /*]]>*/ </script> <table id="flag-listitems" class="widefat fixed flag-table" cellspacing="0" > <thead> <tr> <th class="header" width="54"><p style="margin-right:-10px;"><?php _e('ID', 'flag'); ?> </p></th> <th width="260"><p><?php _e('Play', 'flag'); ?> </p></th> <th class="header"><p><?php _e('Filename', 'flag'); ?> </p></th> <th class="header"><p><?php _e('Title', 'flag'); ?> </p></th> </tr> </thead> <tfoot> <tr> <th><p><?php _e('ID', 'flag'); ?> </p></th> <th><p><?php _e('Play', 'flag'); ?> </p></th> <th><p><?php _e('Filename', 'flag'); ?> </p></th> <th><p><?php _e('Title', 'flag'); ?> </p></th> </tr> </tfoot> <tbody id="listitems"> <?php if (count($items_a)) { $counter = 0; foreach ($items_a as $item) { $flv = get_post($item); $thumb = get_post_meta($item, 'thumbnail', true); if (empty($thumb)) { $thumb = site_url() . '/wp-includes/images/crystal/video.png'; } $alternate = !isset($alternate) || $alternate == 'alternate' ? '' : 'alternate'; $counter++; $bg = !isset($alternate) || $alternate == 'alternate' ? 'f9f9f9' : 'ffffff'; $url = wp_get_attachment_url($flv->ID); ?> <tr id="$flv-<?php echo $flv->ID; ?> " class="<?php echo $alternate; ?> iedit" valign="top"> <td scope="row"><input type="hidden" name="item_a[<?php echo $flv->ID; ?> ][ID]" value="<?php echo $flv->ID; ?> " /><strong><?php echo $flv->ID; ?> </strong></td> <td width="50"><a class="thickbox" title="<?php echo basename($url); ?> " href="<?php echo FLAG_URLPATH; ?> admin/flv_preview.php?vid=<?php echo $flv->ID; ?> &TB_iframe=1&width=490&height=293"><img id="thumb-<?php echo $flv->ID; ?> " src="<?php echo esc_url($thumb); ?> " width="20" height="20" alt="" /></a></td> <td><?php echo basename($url); ?> </td> <td><?php echo esc_html(stripslashes($flv->post_title)); ?> </td> </tr> <?php } } else { echo '<tr><td colspan="4" align="center"><strong>' . __('No entries found', 'flag') . '</strong></td></tr>'; } ?> </tbody> </table> <p class="actions"><input type="submit" class="button-primary action" name="updatePlaylist" value="<?php _e('Update Sort Order', 'flag'); ?> " /></p> </form> <br class="clear"/> </div><!-- /#wrap --> <?php }
function flagSave_vPlaylistSkin($file) { $file = sanitize_flagname($file); $flag_options = get_option('flag_options'); $playlistPath = ABSPATH . $flag_options['galleryPath'] . 'playlists/video/' . $file . '.xml'; // Save options $title = esc_html($_POST['playlist_title']); $descr = esc_html($_POST['playlist_descr']); $items = get_v_playlist_data($playlistPath); $data = $items['items']; flagSave_vPlaylist($title, $descr, $data, $file, $skinaction = 'update'); }