示例#1
0
function flag_banner_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/banner/' . sanitize_flagname($_GET['playlist']) . '.xml';
        $playlist = get_b_playlist_data(ABSPATH . $playlistPath);
        $exclude = explode(',', $added);
        $exclude = array_filter($exclude, 'intval');
    } else {
        $items_array_default = isset($_COOKIE['bannerboxplaylist_default']) ? preg_replace('/[^\\d,]+/', '', $_COOKIE['bannerboxplaylist_default']) : '';
        $exclude = explode(',', $items_array_default);
        $exclude = array_filter($exclude, 'intval');
    }
    if (isset($_GET['playlist'])) {
        $playlist_cookie = sanitize_flagname($_GET['playlist']);
    } else {
        $playlist_cookie = 'default';
    }
    $filepath = esc_url($filepath);
    ?>
	<script type="text/javascript">
		<!--
		jQuery(document).ready(function(){
			var storedData = getStorage('bannerboxplaylist_');
			<?php 
    if (isset($_POST['items'])) {
        ?>
			storedData.set('<?php 
        echo $playlist_cookie;
        ?>
', '<?php 
        echo preg_replace('/[^\\d,]+/', '', $_POST['items']);
        ?>
');
			<?php 
    }
    ?>
			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').addClass('already-added');
				} 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').removeClass('already-added');
				}
				storedData.set('<?php 
    echo $playlist_cookie;
    ?>
', jQuery('#items_array').val());
			});
			jQuery('.clear_selected').click(function(){
				jQuery('#items_array').val('');
				jQuery('.cb :checkbox').each(function(){
					jQuery(this).prop('checked', false).closest('tr').removeClass('already-added');
				});
				storedData.set('<?php 
    echo $playlist_cookie;
    ?>
', jQuery('#items_array').val());
			});
		});
		function getStorage(key_prefix){
			return {
				set: function(id, data){
					document.cookie = key_prefix + id + '=' + encodeURIComponent(data);
				},
				get: function(id, data){
					var cookies = document.cookie, parsed = {};
					cookies.replace(/([^=]+)=([^;]*);?\s*/g, function(whole, key, value){
						parsed[key] = decodeURIComponent(value);
					});
					return parsed[key_prefix + id];
				}
			};
		}

		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;
						}
						jQuery(form.elements[i]).closest('tr').toggleClass('already-added');
					}
				}
			}
			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('#items_array').val()){
				alert('<?php 
    echo esc_js(__("No items selected", "flag"));
    ?>
');
				return false;
			}
			var 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 + "_banid").val(jQuery('#items_array').val());
			tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false);
		}
		//-->
	</script>
	<div class="flag-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("#bannerfolder").val()
							}, function(file){
								//var path = file.replace("<?php 
            echo WINABSPATH;
            ?>
", "");
								jQuery("#bannerfolder").val(file);
							});

							jQuery("#file_browser").show("slide");
						});
					});
					/* ]]> */
				</script>

				<!-- import folder -->
				<div id="importfolder">
					<h2><?php 
            _e('Import banners 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_addbanner');
            ?>
						<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="bannerfolder" name="bannerfolder" 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 Image Library', 'flag');
    ?>
</h2>

		<?php 
    // look for pagination
    if (!isset($_GET['paged']) || $_GET['paged'] < 1) {
        $_GET['paged'] = 1;
    }
    $_GET['paged'] = intval($_GET['paged']);
    $objects_per_page = 25;
    $start = ($_GET['paged'] - 1) * $objects_per_page;
    $img_total_count = $wpdb->get_var("SELECT COUNT(ID) FROM {$wpdb->posts} WHERE `post_mime_type` LIKE 'image/%' AND `post_type` = 'attachment' AND `post_status` = 'inherit'");
    $bannerlist = get_posts($args = array('numberposts' => $objects_per_page, 'offset' => $start, 'orderby' => 'ID', 'order' => 'DESC', 'post_type' => 'attachment', 'post_mime_type' => array('image')));
    // build pagination
    $page_links = paginate_links(array('base' => add_query_arg('paged', '%#%'), 'format' => '', 'prev_text' => __('&laquo;'), 'next_text' => __('&raquo;'), 'total' => ceil($img_total_count / $objects_per_page), 'current' => intval($_GET['paged']), 'add_args' => array('_wpnonce' => wp_create_nonce('flag_add'))));
    ?>
		<div class="tablenav" style="overflow: hidden; height: auto;">
			<?php 
    if ($added === false) {
        ?>
				<div class="alignleft"><b><?php 
        _e('Selected Media', 'flag');
        ?>
: </b><input style="width:500px;" type="text" readonly="readonly" id="items_array" name="items_array" value="<?php 
        echo $items_array_default;
        ?>
"/>
					<span class="clear_selected button"><?php 
        _e('Clear Selected', 'flag');
        ?>
</span></div>
			<?php 
    }
    ?>
			<div class="tablenav-pages"><?php 
    $page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s&#8211;%s of %s') . '</span>%s', number_format_i18n(($_GET['paged'] - 1) * $objects_per_page + 1), number_format_i18n(min($_GET['paged'] * $objects_per_page, $img_total_count)), number_format_i18n($img_total_count), $page_links);
    echo $page_links_text;
    ?>
</div>
		</div>
		<form id="bannerlib" class="flagform" method="POST" action="<?php 
    echo $filepath;
    ?>
" accept-charset="utf-8">
			<?php 
    wp_nonce_field('flag_update');
    ?>
			<input type="hidden" name="page" value="banner-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 Banner(s)', '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" readonly="readonly" 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 flag-table" cellspacing="0">
				<thead>
				<tr>
					<th class="cb" width="54" scope="col"><a href="#" onclick="checkAll(document.getElementById('bannerlib'));return false;"><?php 
    _e('Check', 'flag');
    ?>
</a></th>
					<th class="id" width="64" scope="col">
						<div><?php 
    _e('ID', '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 / Link', '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('bannerlib'));return false;"><?php 
    _e('Check', 'flag');
    ?>
</a></th>
					<th class="id" scope="col"><?php 
    _e('ID', 'flag');
    ?>
</th>
					<th class="thumb" scope="col"><?php 
    _e('Thumbnail', 'flag');
    ?>
</th>
					<th class="title_filename" scope="col"><?php 
    _e('Filename / Title / Link', 'flag');
    ?>
</th>
					<th class="description" scope="col"><?php 
    _e('Description', 'flag');
    ?>
</th>
				</tr>
				</tfoot>
				<tbody>
				<?php 
    $uploads = wp_upload_dir();
    $flag_options = get_option('flag_options');
    if ($bannerlist) {
        foreach ($bannerlist as $ban) {
            $list[] = $ban->ID;
        }
        $class = 'alternate';
        foreach ($bannerlist as $ban) {
            $class = empty($class) ? 'alternate' : '';
            $ex = $checked = '';
            if (($added !== false || !empty($items_array_default)) && in_array($ban->ID, $exclude)) {
                $class .= ' already-added';
                $ex = ' title="' . __("Already Added", "flag") . '"';
                $checked = ' checked="checked"';
            }
            $thumb = get_post_meta($ban->ID, 'thumbnail', true);
            $link = get_post_meta($ban->ID, 'link', true);
            if (empty($thumb)) {
                $thumb = wp_get_attachment_thumb_url($ban->ID);
            }
            $url = wp_get_attachment_url($ban->ID);
            ?>
						<tr id="ban-<?php 
            echo $ban->ID;
            ?>
" class="<?php 
            echo $class;
            ?>
"<?php 
            echo $ex;
            ?>
>
							<td class="cb"><input name="doaction[]" type="checkbox"<?php 
            echo $checked;
            ?>
 value="<?php 
            echo $ban->ID;
            ?>
"/></td>
							<td class="id"><p style="margin-bottom: 3px; white-space: nowrap;">ID: <?php 
            echo $ban->ID;
            ?>
</p></td>
							<td class="thumb">
								<a class="thickbox" title="<?php 
            echo basename($url);
            ?>
" href="<?php 
            echo $url;
            ?>
"><img id="thumb-<?php 
            echo $ban->ID;
            ?>
" src="<?php 
            echo $thumb;
            ?>
" width="100" height="100" 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 $ban->ID;
            ?>
][post_title]" cols="20" rows="1" style="width:95%; height: 25px; overflow:hidden;"><?php 
            echo esc_html(stripslashes($ban->post_title));
            ?>
</textarea><br/>
								<?php 
            _e('URL', 'flag');
            ?>
: <input id="banlink-<?php 
            echo $ban->ID;
            ?>
" name="item_a[<?php 
            echo $ban->ID;
            ?>
][link]" style="width:50%;" type="text" value="<?php 
            echo esc_url($link);
            ?>
"/><br/>
							</td>
							<td class="description">
								<textarea name="item_a[<?php 
            echo $ban->ID;
            ?>
][post_content]" style="width:95%; height: 96px; margin-top: 2px; font-size:12px; line-height:115%;" rows="1"><?php 
            echo esc_html(stripslashes($ban->post_content));
            ?>
</textarea>
							</td>
						</tr>
					<?php 
        }
    } else {
        echo '<tr><td colspan="5" align="center"><strong>' . __('No images 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_banid" 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="banner-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 = 'b');
    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="rotator_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 
}
示例#2
0
function flag_b_playlist_edit()
{
    $filepath = admin_url() . 'admin.php?page=' . urlencode($_GET['page']);
    $all_playlists = get_b_playlists();
    $flag_options = get_option('flag_options');
    $playlistPath = $flag_options['galleryPath'] . 'playlists/banner/' . sanitize_flagname($_GET['playlist']) . '.xml';
    $playlist = get_b_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);
	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$/, "");
	if(insFor=='preview') {
		jQuery('#preview-'+actInp).attr('value', source);
		jQuery('#preview_txt-'+actInp).attr('src', source).text(source);
	}
	tb_remove();
}
jQuery(document).ready(function(){
  jQuery('.del_preview').click(function(){
    var id = jQuery(this).attr('data-id');
	jQuery('#preview-'+id).attr('value', '');
    jQuery('#preview_txt-'+id).attr('src', '#none').text('');
    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 Banner 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_name == 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="[grandbanner xml=<?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 = 'b');
    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="rotator_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="64" scope="col"><div><?php 
    _e('ID', '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="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) {
            $ban = get_post($item);
            $thumb = $banthumb = get_post_meta($item, 'thumbnail', true);
            $link = get_post_meta($ban->ID, 'link', true);
            $preview = get_post_meta($ban->ID, 'preview', true);
            if (empty($thumb)) {
                $thumb = wp_get_attachment_thumb_url($ban->ID);
                $banthumb = '';
            }
            $alt = empty($alt) ? ' class="alternate"' : '';
            $alt2 = empty($alt) ? '' : ' alternate';
            $counter++;
            $url = wp_get_attachment_url($ban->ID);
            ?>
		<tr id="ban-<?php 
            echo $ban->ID;
            ?>
"<?php 
            echo $alt;
            ?>
 valign="top">
			<th class="cb" scope="row"><input name="doaction[]" type="checkbox" value="<?php 
            echo $ban->ID;
            ?>
" /></th>
			<td class="id"><p style="white-space: nowrap;">ID: <?php 
            echo $ban->ID;
            ?>
</p></td>
			<td class="thumb">
				<a class="thickbox" title="<?php 
            echo basename($url);
            ?>
" href="<?php 
            echo $url;
            ?>
"><img id="thumb-<?php 
            echo $ban->ID;
            ?>
" src="<?php 
            echo $thumb;
            ?>
" width="100" height="100" 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 $ban->ID;
            ?>
][post_title]" cols="20" rows="1" style="width:95%; height: 25px; overflow:hidden;"><?php 
            echo esc_html(stripslashes($ban->post_title));
            ?>
</textarea><br />
				<?php 
            _e('URL', 'flag');
            ?>
: <input id="banlink-<?php 
            echo $ban->ID;
            ?>
" name="item_a[<?php 
            echo $ban->ID;
            ?>
][link]" style="width:50%;" type="text" value="<?php 
            echo esc_url($link);
            ?>
" /><br />
			</td>
			<td class="description">
				<textarea name="item_a[<?php 
            echo $ban->ID;
            ?>
][post_content]" style="width:95%; height: 96px; margin-top: 2px; font-size:12px; line-height:115%;" rows="1" ><?php 
            echo esc_html(stripslashes($ban->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 
}
示例#3
0
<?php

// Create XML output
header("content-type:text/xml;charset=utf-8");
preg_match('|^(.*?/)(wp-content)/|i', str_replace('\\', '/', __FILE__), $_m);
require_once $_m[1] . 'wp-load.php';
$flag_options = get_option('flag_options');
$file = $_GET['playlist'];
$playlistPath = $_m[1] . $flag_options['galleryPath'] . 'playlists/banner/' . $file . '.xml';
if (file_exists($playlistPath)) {
    require_once FLAG_ABSPATH . 'admin/banner.functions.php';
    $settings = file_get_contents(dirname(__FILE__) . '/settings/settings.xml');
    $properties = '<properties>' . flagGallery::flagGetBetween($settings, '<properties>', '</properties>') . '</properties>
<category';
    $xml = file_get_contents($playlistPath);
    $playlist = get_b_playlist_data($playlistPath);
    if (count($playlist['items'])) {
        $content = '<items>';
        foreach ($playlist['items'] as $id) {
            $ban = get_post($id);
            if ($ban->ID) {
                $track = wp_get_attachment_url($ban->ID);
                $thumbnail = get_post_meta($id, 'thumbnail', true);
                $link = get_post_meta($id, 'link', true);
                $preview = get_post_meta($id, 'preview', true);
                $content .= '
		<item id="' . $ban->ID . '">
	          <track__>' . $track . '</track__>
	          <title><![CDATA[' . $ban->post_title . ']]></title>
	          <link>' . $link . '</link>
	          <preview>' . $preview . '</preview>
示例#4
0
function flag_b_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/banner/' . $filename . '.xml';
    $playlist = get_b_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="50"><p><?php 
    _e('Thumb', '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('Thumb', '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) {
            $ban = get_post($item);
            $thumb = get_post_meta($item, 'thumbnail', true);
            if (empty($thumb)) {
                $thumb = wp_get_attachment_thumb_url($ban->ID);
            }
            $alternate = !isset($alternate) || $alternate == 'alternate' ? '' : 'alternate';
            $counter++;
            $bg = !isset($alternate) || $alternate == 'alternate' ? 'f9f9f9' : 'ffffff';
            $url = wp_get_attachment_url($ban->ID);
            ?>
						<tr id="$ban-<?php 
            echo $ban->ID;
            ?>
" class="<?php 
            echo $alternate;
            ?>
 iedit" valign="top">
							<td scope="row"><input type="hidden" name="item_a[<?php 
            echo $ban->ID;
            ?>
][ID]" value="<?php 
            echo $ban->ID;
            ?>
"/><strong><?php 
            echo $ban->ID;
            ?>
</strong></td>
							<td width="100"><a class="thickbox" title="<?php 
            echo basename($url);
            ?>
" href="<?php 
            echo $url;
            ?>
"><img id="thumb-<?php 
            echo $ban->ID;
            ?>
" src="<?php 
            echo $thumb;
            ?>
" width="80" style="height:auto" alt=""/></a></td>
							<td><?php 
            echo basename($url);
            ?>
</td>
							<td><?php 
            echo esc_html(stripslashes($ban->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 
}
} else {
    echo '0';
}
?>

		});
	}
});
</script>
<div id="<?php 
echo $skinID;
?>
_jq"><div class="grandBannerAlternative">
<?php 
require_once FLAG_ABSPATH . 'admin/banner.functions.php';
$playlist = get_b_playlist_data($galleryID);
if (count($playlist['items'])) {
    $content = '';
    foreach ($playlist['items'] as $id) {
        $ban = get_post($id);
        if ($ban->ID) {
            $url = wp_get_attachment_url($ban->ID);
            $path = get_attached_file($ban->ID);
            $info = pathinfo($path);
            $dir = $info['dirname'];
            $ext = $info['extension'];
            $name = urldecode(basename(str_replace('%2F', '/', urlencode($path)), ".{$ext}"));
            $img_file = "{$dir}/{$name}-{$suffix}.{$ext}";
            if (!file_exists($img_file)) {
                $track = $url;
            } else {
示例#6
0
function flagShowWidgetBanner($xml, $width, $height, $skin)
{
    require_once dirname(__FILE__) . '/class.swfobject.php';
    require_once dirname(dirname(__FILE__)) . '/admin/banner.functions.php';
    $flag_options = get_option('flag_options');
    $galleryPath = trim($flag_options['galleryPath'], '/');
    $xml = sanitize_flagname($xml);
    $playlistPath = $galleryPath . '/playlists/banner/' . $xml . '.xml';
    $playlist_data = get_b_playlist_data(ABSPATH . $playlistPath);
    if (!$skin) {
        $skin = $playlist_data['skin'];
    }
    $skin = sanitize_flagname($skin);
    $items = $playlist_data['items'];
    $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 = '';
    }
    $args = array('xml' => $xml, 'skin' => $skin, 'lkey' => $lkey, 'items' => $items, 'width' => $width, 'height' => $height);
    $out = apply_filters('flagShowWidgetBannerSkin', $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;
}
function flagSave_bPlaylistSkin($file)
{
    $file = sanitize_flagname($file);
    $flag_options = get_option('flag_options');
    $playlistPath = ABSPATH . $flag_options['galleryPath'] . 'playlists/banner/' . $file . '.xml';
    // Save options
    $title = esc_html($_POST['playlist_title']);
    $descr = esc_html($_POST['playlist_descr']);
    $items = get_b_playlist_data($playlistPath);
    $data = $items['items'];
    flagSave_bPlaylist($title, $descr, $data, $file, $skinaction = 'update');
}