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;
}
Exemple #2
0
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" /> &nbsp;
						<?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;
            ?>
&amp;TB_iframe=1&amp;width=490&amp;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&amp;TB_iframe=1&amp;width=640&amp;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>&nbsp;</td>
		    	<td align="right"><input class="button-secondary" type="reset" value="&nbsp;<?php 
    _e('Cancel', 'flag');
    ?>
&nbsp;" onclick="tb_remove()"/>
		    		&nbsp; &nbsp; &nbsp;
                    <input class="button-primary " type="submit" name="TB_NewPlaylist" value="<?php 
    _e('OK', 'flag');
    ?>
" />
		    	</td>
			</tr>
		</table>
		</form>
	</div>
	<!-- /#new_playlist -->	
<?php 
}
Exemple #3
0
<?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 .= '
Exemple #4
0
 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']) ? '&nbsp;' : $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 . '&amp;w=1&amp;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;
 }
Exemple #5
0
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&amp;skin="+skin+"&amp;TB_iframe=1&amp;width=600&amp;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>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</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>&nbsp;&nbsp;<a id="skinOptions" class="thickbox" href="<?php 
    echo FLAG_URLPATH . 'admin/skin_options.php?show_options=1&amp;skin=' . sanitize_flagname($playlist['skin']) . '&amp;TB_iframe=1&amp;width=600&amp;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;
            ?>
&amp;TB_iframe=1&amp;width=490&amp;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&amp;TB_iframe=1&amp;width=640&amp;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;
}
Exemple #7
0
/**
 * @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;
            ?>
&amp;TB_iframe=1&amp;width=490&amp;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');
}