function widget($args, $instance) { global $wpdb, $flagdb; extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); $album = $instance['album']; $qty = intval($instance['qty']) < 1 ? 1 : intval($instance['qty']); $gallerylist = $flagdb->get_album($album); $ids = explode(',', $gallerylist); foreach ($ids as $id) { $galID = (int) $id; $status = $wpdb->get_var("SELECT status FROM {$wpdb->flaggallery} WHERE gid={$galID}"); if (intval($status)) { continue; } if ($instance['type'] == 'random') { $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by rand() LIMIT 0,{$qty}"); } else { $flag_options = get_option('flag_options'); $order_dir = $flag_options['galSortDir'] == 'DESC' ? 'DESC' : 'ASC'; if (in_array($flag_options['galSort'], array('sortorder', 'pid', 'filename', 'alttext', 'imagedate', 'hitcounter', 'total_votes', 'rand()'))) { $order_by = 'tt.' . $flag_options['galSort']; } else { $order_by = 'tt.sortorder'; } $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by {$order_by} {$order_dir} LIMIT 0,{$qty}"); } } echo $before_widget . $before_title . $title . $after_title; echo "\n" . '<div class="flag-widget">' . "\n"; if (is_array($imageList)) { $isMobile = (bool) preg_match('#\\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet' . '|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\\-_]' . '|mobile|up\\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b#i', $_SERVER['HTTP_USER_AGENT']); if (!$isMobile) { $thumbcode = 'class="flag_fancybox"'; } else { $thumbcode = 'class="flag_newbox"'; } foreach ($imageList as $gallery_) { foreach ($gallery_ as $_image) { // get the URL constructor $image = new flagImage($_image); // enable i18n support for alttext and description $alttext = strip_tags(htmlspecialchars(stripslashes(flagGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext')))); $description = strip_tags(htmlspecialchars(stripslashes(flagGallery::i18n($image->description, 'pic_' . $image->pid . '_description')))); //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?i=' . $image->galleryid . '&f=' . $instance['skin'] . '&h=' . $instance['fheight'] . '" title="' . $image->title . '" ' . $thumbcode . '>'; $out .= '<img src="' . $image->thumbURL . '" width="' . $instance['width'] . '" height="' . $instance['height'] . '" title="' . $alttext . '" alt="' . $description . '" />'; echo $out . '</a>' . "\n"; } } } echo '</div>' . "\n"; echo '<style type="text/css">.flag_fancybox img, .flag_newbox img { border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 1px; }</style>' . "\n"; echo '<script type="text/javascript">var fbVar = "' . plugins_url('/', dirname(__FILE__)) . '"; var fbW = ' . $instance['fwidth'] . ', fbH = ' . $instance['fheight'] . '; waitJQ(fbVar,fbW,fbH);</script>' . "\n"; echo $after_widget; }
function flag_manage_gallery_main() { global $flag, $flagdb, $wp_query; //Build the pagination for more than 25 galleries if (!isset($_GET['paged']) || $_GET['paged'] < 1) { $_GET['paged'] = 1; } $sort_gall_by = isset($_GET['galsort']) ? $_GET['galsort'] : $flag->options['albSort']; $sort_gall_dir = isset($_GET['sortdir']) ? $_GET['sortdir'] : $flag->options['albSortDir']; $ascdesc = $sort_gall_dir == 'DESC' ? 'ASC' : 'DESC'; $_GET['paged'] = intval($_GET['paged']); $perpage = intval($flag->options['albPerPage']) ? intval($flag->options['albPerPage']) : 50; $start = ($_GET['paged'] - 1) * $perpage; $gallerylist = $flagdb->find_all_galleries($sort_gall_by, $sort_gall_dir, $counter = true, $perpage, $start, $exclude = false, $draft = true); $page_links = paginate_links(array('base' => add_query_arg('paged', '%#%'), 'format' => '', 'prev_text' => __('«'), 'next_text' => __('»'), 'total' => $flagdb->paged['max_objects_per_page'], 'current' => $_GET['paged'])); ?> <script type="text/javascript"> <!-- 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; } } } } 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('editgalleries')); if(numchecked < 1) { alert('<?php echo esc_js(__('No images selected', 'flag')); ?> '); return false; } actionId = jQuery('#bulkaction').val(); switch (actionId) { case "resize_images": showDialog('resize_images', 120); return false; break; case "new_thumbnail": showDialog('new_thumbnail', 160); return false; break; } return confirm('<?php echo sprintf(esc_js(__("You are about to start the bulk edit for %s galleries \n \n 'Cancel' to stop, 'OK' to proceed.", 'flag')), "' + numchecked + '"); ?> '); } function showDialog( windowId, height ) { var form = document.getElementById('editgalleries'); 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 + "_imagelist").val(elementlist); // console.log (jQuery("#TB_imagelist").val()); tb_show("", "#TB_inline?width=640&height=" + height + "&inlineId=" + windowId + "&modal=true", false); } //--> </script> <div class="flag-wrap" style="margin-top:40px;"> <h2><?php _e('Gallery Overview', 'flag'); ?> </h2> <form class="search-form" action="" method="get"> <p class="search-box"> <label class="hidden" for="media-search-input"><?php _e('Search Images', 'flag'); ?> :</label> <input type="hidden" id="page-name" name="page" value="flag-manage-gallery" /> <input type="text" id="media-search-input" name="s" value="<?php the_search_query(); ?> " /> <input type="submit" value="<?php _e('Search Images', 'flag'); ?> " class="button" /> </p> </form> <form id="editgalleries" class="flagform" method="POST" action="<?php echo $flag->manage_page->base_page . '&paged=' . $_GET['paged']; ?> " accept-charset="utf-8"> <?php wp_nonce_field('flag_bulkgallery'); ?> <input type="hidden" name="page" value="manage-galleries" /> <div class="tablenav"> <div class="alignleft actions"> <?php if (function_exists('json_encode')) { ?> <select name="bulkaction" id="bulkaction"> <option value="no_action" ><?php _e("No action", 'flag'); ?> </option> <option value="webview_images" ><?php _e("Create images optimized for web", 'flag'); ?> </option> <option value="new_thumbnail" ><?php _e("Create new thumbnails", 'flag'); ?> </option> <option value="resize_images" ><?php _e("Resize images", 'flag'); ?> </option> <option value="import_meta" ><?php _e("Import metadata", 'flag'); ?> </option> <option value="copy_meta" ><?php _e("Metadata to description", 'flag'); ?> </option> <?php do_action('flag_manage_galleries_bulkaction'); ?> </select> <input name="showThickbox" class="button-secondary" type="submit" value="<?php _e('Apply', 'flag'); ?> " onclick="if ( !checkSelected() ) return false;" /> <?php } ?> </div> <?php if ($page_links) { ?> <div class="tablenav-pages"><?php $page_links_text = sprintf('<span class="displaying-num">' . __('Displaying %s–%s of %s') . '</span>%s', number_format_i18n(($_GET['paged'] - 1) * $perpage + 1), number_format_i18n(min($_GET['paged'] * $perpage, $flagdb->paged['total_objects'])), number_format_i18n($flagdb->paged['total_objects']), $page_links); echo $page_links_text; ?> </div> <br class="clear" /> <?php } ?> </div> <table class="widefat flag-table" cellspacing="0"> <thead> <tr> <th scope="col" class="cb column-cb" > <input type="checkbox" onclick="checkAll(document.getElementById('editgalleries'));" name="checkall"/> </th> <th scope="col"><a href="<?php echo $flag->manage_page->base_page . "&galsort=gid&sortdir={$ascdesc}&paged=" . $_GET['paged']; ?> "><?php _e('ID'); ?> </a></th> <th scope="col"><a href="<?php echo $flag->manage_page->base_page . "&galsort=title&sortdir={$ascdesc}&paged=" . $_GET['paged']; ?> "><?php _e('Title', 'flag'); ?> </a></th> <th scope="col"><?php _e('Description', 'flag'); ?> </th> <th scope="col"><?php _e('Author', 'flag'); ?> </th> <th scope="col"><?php _e('Quantity', 'flag'); ?> </th> <th scope="col"><?php _e('Action', 'flag'); ?> </th> </tr> </thead> <tbody> <?php if ($gallerylist) { foreach ($gallerylist as $gallery) { $class = !isset($class) || $class == 'alt ' ? '' : 'alt '; $gid = $gallery->gid; $name = empty($gallery->title) ? $gallery->name : $gallery->title; $author_user = get_userdata((int) $gallery->author); ?> <tr id="gallery-<?php echo $gid; ?> " class="<?php echo $class; echo $gallery->status ? 'flag_draft' : 'flag_public'; ?> " > <th scope="row" class="cb column-cb"> <?php if (flagAdmin::can_manage_this_gallery($gallery->author)) { ?> <input name="doaction[]" type="checkbox" value="<?php echo $gid; ?> " /> <?php } ?> </th> <td scope="row"><?php echo $gid; ?> </td> <td style="width:30%"> <?php if (flagAdmin::can_manage_this_gallery($gallery->author)) { ?> <a href="<?php echo wp_nonce_url($flag->manage_page->base_page . "&mode=edit&gid=" . $gid, 'flag_editgallery'); ?> " class='edit' title="<?php _e('Edit'); ?> " > <?php echo esc_html(flagGallery::i18n($name)); ?> </a> <?php } else { ?> <?php echo esc_html(flagGallery::i18n($gallery->title)); ?> <?php } if ($gallery->status) { echo ' <b>- ' . __('Draft', 'flag') . '</b>'; } ?> </td> <td style="width:30%"><?php echo esc_html(flagGallery::i18n($gallery->galdesc)); ?> </td> <td><?php echo $author_user->display_name; ?> </td> <td><?php echo $gallery->counter; ?> </td> <td style="white-space:nowrap;"> <?php if (flagAdmin::can_manage_this_gallery($gallery->author)) { ?> <a href="<?php echo wp_nonce_url($flag->manage_page->base_page . "&mode=delete&gid=" . $gid, 'flag_editgallery'); ?> " class="delete" onclick="javascript:check=confirm( '<?php _e("Delete this gallery ?", 'flag'); ?> ');if(check==false) return false;"><?php _e('Delete', 'flag'); ?> </a> <?php if ($gallery->status) { ?> | <a href="<?php echo wp_nonce_url($flag->manage_page->base_page . "&mode=publish&gid=" . $gid, 'flag_editgallery'); ?> " class="status" onclick="javascript:check=confirm( '<?php _e("Publish this gallery?", 'flag'); ?> ');if(check==false) return false;"><?php _e('Publish', 'flag'); ?> </a> <?php } else { ?> | <a href="<?php echo wp_nonce_url($flag->manage_page->base_page . "&mode=draft&gid=" . $gid, 'flag_editgallery'); ?> " class="status" onclick="javascript:check=confirm( '<?php _e("Make this gallery draft?", 'flag'); ?> ');if(check==false) return false;"><?php _e('Draft', 'flag'); ?> </a> <?php } ?> <?php } ?> </td> </tr> <?php } } else { echo '<tr><td colspan="7" align="center"><strong>' . __('No entries found', 'flag') . '</strong></td></tr>'; } ?> </tbody> </table> </form> </div> <?php if (current_user_can('FlAG Manage others gallery')) { ?> <script type="text/javascript"> /*<![CDATA[*/ jQuery(document).ready(function(){ jQuery(".album_categoties").sortable({ opacity: 0.6, cursor: 'move', connectWith: ".album_categoties", update: function() {}}).disableSelection(); jQuery( "#draggable .acat" ).draggable({ connectToSortable: ".album_categoties", helper: "clone", revert: "invalid" }).disableSelection(); jQuery( ".album_categoties" ).droppable({ accept: ".acat", hoverClass: "active", drop: function( event, ui ) { jQuery( this ).find(jQuery(ui.draggable)).addClass( "highlight_new" ).attr("id", "g_"+jQuery(ui.draggable).attr('rel')).removeAttr('style'); jQuery( this ).find( "p" ).hide(); } }); jQuery( ".album_categoties .drop" ).live('click',function(){ var acat_parent = jQuery(this).parent().parent(); jQuery(this).parent().remove(); if(!acat_parent.find('.acat').length){ acat_parent.find('p').show(); } }); jQuery('.flag-ajax-post').click(function(e){ var form = jQuery(this).attr('data-form'); var edata = jQuery(this).dataset(); edata.form = jQuery('#'+form).serialize()+'&'+jQuery(this).parents('.album').find('.album_categoties').sortable("serialize"); jQuery.post( ajaxurl, edata, function( response ) { jQuery(e.target).parent().find('.alb_msg').show().html(response).fadeOut(1200); if(jQuery(e.target).hasClass('del')) { jQuery(e.target).parent().parent().parent().remove(); } if(response == 'Success'){ jQuery(e.target).parents('div.album:first').find('.acat').removeClass('highlight_new'); jQuery(e.target).parents('span.album_actions').find('.alb_msg').show().text('OK').fadeOut(1200); } } ); return false; }); }); /*]]>*/ </script> <div class="flag-wrap"> <h2><?php _e('Albums', 'flag'); ?> </h2> <form method="post" style="width: 658px; float: left;" action="<?php echo admin_url('admin.php?page=flag-manage-gallery'); ?> "><?php wp_nonce_field('flag_album'); ?> <p><input type="text" id="album_name" name="album_name" value="" /> <input type="submit" value="<?php _e('Create New Album', 'flag'); ?> " class="button-primary" /></p></form> <h2><?php _e('Categories', 'flag'); ?> </h2> <div class="clear"></div> <div class="floatholder"> <div class="albums_table"> <?php $albumlist = $flagdb->find_all_albums(); $nonce = wp_create_nonce('wpMediaLib'); if ($albumlist) { foreach ($albumlist as $album) { ?> <div class="album"> <div class="album_name"><span class="albID"><?php echo $album->id; ?> .</span> <form method="post" id="albName_<?php echo $album->id; ?> " name="albName_<?php echo $album->id; ?> "><input type="text" name="album_name" value="<?php echo esc_html($album->name); ?> " /><input type="hidden" name="album_id" value="<?php echo $album->id; ?> " /></form> <span class="album_actions"><span class="alb_msg"></span> <span class="button del flag-ajax-post" data-action="flag_delete_album" data-_ajax_nonce="<?php echo $nonce; ?> " data-post="<?php echo $album->id; ?> "><?php _e('Delete', 'flag'); ?> </span> <span class="album_save flag-ajax-post button-primary" data-action="flag_save_album" data-_ajax_nonce="<?php echo $nonce; ?> " data-form="albName_<?php echo $album->id; ?> "><strong><?php _e('Save', 'flag'); ?> </strong></span></span></div> <div class="album_categoties"> <?php $galids = explode(',', $album->categories); if ($album->categories) { foreach ($galids as $galid) { $acat = $flagdb->find_gallery($galid); ?> <div class="acat" id="g_<?php echo $acat->gid; ?> "><?php echo esc_html($acat->title); ?> <span class="drop">x</span></div> <?php } } else { echo '<p style="text-align:center; padding: 7px 0; margin: 0;">' . __('Drag&Drop Categories Here', 'flag') . '</p>'; } ?> </div> </div> <?php } } else { echo '<p style="text-align:center; padding: 20px 0; margin: 0;">' . __('No Albums', 'flag') . '</p>'; } ?> </div> <div class="all_galleries" id="draggable"> <?php if ($gallerylist) { foreach ($gallerylist as $gallery) { $gid = $gallery->gid; $name = empty($gallery->title) ? $gallery->name : esc_html($gallery->title); $author_user = get_userdata((int) $gallery->author); if (flagAdmin::can_manage_this_gallery($gallery->author)) { ?> <div class="acat" rel="<?php echo $gid; ?> "><?php echo $name; ?> <span class="drop">x</span></div> <?php } } } ?> </div> </div> </div> <?php } ?> <!-- #resize_images --> <div id="resize_images" style="display: none;" > <form id="form_resize_images" method="POST" accept-charset="utf-8"> <?php wp_nonce_field('flag_thickbox_form'); ?> <input type="hidden" id="resize_images_imagelist" name="TB_imagelist" value="" /> <input type="hidden" id="resize_images_bulkaction" name="TB_bulkaction" value="" /> <input type="hidden" name="page" value="manage-galleries" /> <table width="100%" border="0" cellspacing="3" cellpadding="3" > <tr valign="top"> <td> <strong><?php _e('Resize Images to', 'flag'); ?> :</strong> </td> <td> <input type="text" size="5" name="imgWidth" value="<?php echo $flag->options['imgWidth']; ?> " /> x <input type="text" size="5" name="imgHeight" value="<?php echo $flag->options['imgHeight']; ?> " /> <br /><small><?php _e('Width x height (in pixel). FlAGallery will keep ratio size', 'flag'); ?> </small> </td> </tr> <tr align="right"> <td colspan="2" class="submit"> <input class="button-primary" type="submit" name="TB_ResizeImages" value="<?php _e('OK', 'flag'); ?> " /> <input class="button-secondary" type="reset" value=" <?php _e('Cancel', 'flag'); ?> " onclick="tb_remove()"/> </td> </tr> </table> </form> </div> <!-- /#resize_images --> <!-- #new_thumbnail --> <div id="new_thumbnail" style="display: none;" > <form id="form_new_thumbnail" method="POST" accept-charset="utf-8"> <?php wp_nonce_field('flag_thickbox_form'); ?> <input type="hidden" id="new_thumbnail_imagelist" name="TB_imagelist" value="" /> <input type="hidden" id="new_thumbnail_bulkaction" name="TB_bulkaction" value="" /> <input type="hidden" name="page" value="manage-galleries" /> <table width="100%" border="0" cellspacing="3" cellpadding="3" > <tr valign="top"> <th align="left"><?php _e('Width x height (in pixel)', 'flag'); ?> </th> <td><input type="text" size="5" maxlength="5" name="thumbWidth" value="<?php echo $flag->options['thumbWidth']; ?> " /> x <input type="text" size="5" maxlength="5" name="thumbHeight" value="<?php echo $flag->options['thumbHeight']; ?> " /> <br /><small><?php _e('These values are maximum values ', 'flag'); ?> </small></td> </tr> <tr valign="top"> <th align="left"><?php _e('Set fix dimension', 'flag'); ?> </th> <td><input type="checkbox" name="thumbFix" value="1" <?php checked('1', $flag->options['thumbFix']); ?> /> <br /><small><?php _e('Ignore the aspect ratio, no portrait thumbnails', 'flag'); ?> </small></td> </tr> <tr align="right"> <td colspan="2" class="submit"> <input class="button-primary" type="submit" name="TB_NewThumbnail" value="<?php _e('OK', 'flag'); ?> " /> <input class="button-secondary" type="reset" value=" <?php _e('Cancel', 'flag'); ?> " onclick="tb_remove()"/> </td> </tr> </table> </form> </div> <!-- /#new_thumbnail --> <?php }
function widget($args, $instance) { global $wpdb, $flagdb; extract($args); $title = apply_filters('widget_title', empty($instance['title']) ? ' ' : $instance['title'], $instance, $this->id_base); $album = $instance['album']; $qty = !isset($instance['qty']) || intval($instance['qty']) < 1 ? 1 : intval($instance['qty']); $gallerylist = $flagdb->get_album($album); $ids = explode(',', $gallerylist); $imageList = array(); foreach ($ids as $id) { $galID = (int) $id; $status = $wpdb->get_var("SELECT status FROM {$wpdb->flaggallery} WHERE gid={$galID}"); if (intval($status)) { continue; } if ($instance['type'] == 'random') { $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by rand() LIMIT 0,{$qty}"); } else { $flag_options = get_option('flag_options'); $order_dir = $flag_options['galSortDir'] == 'DESC' ? 'DESC' : 'ASC'; if (in_array($flag_options['galSort'], array('sortorder', 'pid', 'filename', 'alttext', 'imagedate', 'hitcounter', 'total_votes', 'rand()'))) { $order_by = 'tt.' . $flag_options['galSort']; } else { $order_by = 'tt.sortorder'; } $imageList[$galID] = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE tt.exclude != 1 AND t.gid = {$galID} ORDER by {$order_by} {$order_dir} LIMIT 0,{$qty}"); } } echo $before_widget . $before_title . $title . $after_title; echo "\n" . '<div class="flag-widget">' . "\n"; if (!empty($imageList)) { $isMobile = (bool) preg_match('#\\b(ip(hone|od|ad)|android|opera m(ob|in)i|windows (phone|ce)|blackberry|tablet' . '|s(ymbian|eries60|amsung)|p(laybook|alm|rofile/midp|laystation portable)|nokia|fennec|htc[\\-_]' . '|mobile|up\\.browser|[1-4][0-9]{2}x[1-4][0-9]{2})\\b#i', $_SERVER['HTTP_USER_AGENT']); if (!$isMobile) { $thumbcode = 'class="flag_fancybox"'; } else { $thumbcode = 'class="flag_newbox"'; } $wrapper_r = $instance['width'] / $instance['height']; foreach ($imageList as $gallery_) { foreach ($gallery_ as $_image) { // get the URL constructor $image = new flagImage($_image); // enable i18n support for alttext and description $alttext = strip_tags(htmlspecialchars(stripslashes(flagGallery::i18n($image->alttext, 'pic_' . $image->pid . '_alttext')))); $description = strip_tags(htmlspecialchars(stripslashes(flagGallery::i18n($image->description, 'pic_' . $image->pid . '_description')))); $thumburl = $image->thumbURL; $thumbinfo = @getimagesize($image->thumbPath); if ($thumbinfo[0] - $instance['width'] < -20) { $thumburl = $image->webimageURL; $thumbpath = $image->webimagePath; if (!file_exists($image->webimagePath)) { $thumburl = $image->imageURL; $thumbpath = $image->imagePath; } $thumbinfo = @getimagesize($thumbpath); } $thumb_r = $thumbinfo[0] / $thumbinfo[1]; if ($wrapper_r < $thumb_r) { $orientation = 'flag_thumb_landscape'; $style = 'width:auto;height:100%;margin:0 0 0 -' . floor(($instance['height'] * $thumb_r - $instance['width']) / $instance['width'] * 50) . '%;'; } else { $orientation = 'flag_thumb_portrait'; $style = 'width:100%;height:auto;margin:-' . floor(($instance['width'] / $thumb_r - $instance['height']) / $instance['height'] * 25) . '% 0 0 0;'; } $out = '<a href="' . plugins_url() . '/flash-album-gallery/flagframe.php?i=' . $image->galleryid . '&f=' . $instance['skin'] . '&h=' . $instance['fheight'] . '" title="' . $image->title . '" ' . $thumbcode . ' style="overflow:hidden;display:inline-block;text-align:center;width:' . $instance['width'] . 'px;height:' . $instance['height'] . 'px;">'; $out .= '<img src="' . $thumburl . '" style="' . $style . '" class="' . $orientation . '" title="' . $alttext . '" alt="' . $description . '" />'; echo $out . '</a>' . "\n"; } } } echo '</div>' . "\n"; echo '<style type="text/css">.flag_fancybox, .flag_newbox {box-sizing:border-box; border: 1px solid #A9A9A9; margin: 0 2px 2px 0; padding: 0; } .flag_fancybox img, .flag_newbox img {max-width:none;max-height:none;} </style>' . "\n"; echo '<script type="text/javascript" defer="defer">jQuery(function(){ var fbVar = "' . plugins_url('/', dirname(__FILE__)) . '"; var fbW = ' . $instance['fwidth'] . ', fbH = ' . $instance['fheight'] . '; waitJQ(fbVar,fbW,fbH); });</script>' . "\n"; echo $after_widget; }
/** * Get the XML <item> node corresponding to one single image * * @param object $image * @param string $indent * @return string */ function get_image_mrss_node($image, $indent = "\t\t") { $flag_options = get_option('flag_options'); $title = html_entity_decode(stripslashes($image->alttext)); $desc = html_entity_decode(stripslashes($image->description)); $thumbwidth = $flag_options['thumbWidth']; $thumbheight = $flag_options['thumbFix'] ? $flag_options['thumbHeight'] : $thumbwidth; $out = $indent . "<item>\n"; $out .= $indent . "\t<title><![CDATA[" . flagGallery::i18n($title) . "]]></title>\n"; $out .= $indent . "\t<description><![CDATA[" . flagGallery::i18n($desc) . "]]></description>\n"; $out .= $indent . "\t<media:content url='" . $image->imageURL . "' medium='image' />\n"; $out .= $indent . "\t<media:title><![CDATA[" . flagGallery::i18n($title) . "]]></media:title>\n"; $out .= $indent . "\t<media:description><![CDATA[" . flagGallery::i18n($desc) . "]]></media:description>\n"; $out .= $indent . "\t<media:thumbnail url='" . $image->thumbURL . "' width='" . $thumbwidth . "' height='" . $thumbheight . "' />\n"; $out .= $indent . "\t<media:copyright><![CDATA[Copyright (c) " . get_option("blogname") . " (" . get_option("siteurl") . ")]]></media:copyright>\n"; $out .= $indent . "</item>\n"; return $out; }
if (intval($status)) { continue; } if ($galleryID == 0) { $thepictures = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE 1=1 {$exclude_clause} ORDER BY tt.{$flag_options['galSort']} {$flag_options['galSortDir']} "); } else { $thepictures = $wpdb->get_results("SELECT t.*, tt.* FROM {$wpdb->flaggallery} AS t INNER JOIN {$wpdb->flagpictures} AS tt ON t.gid = tt.galleryid WHERE t.gid = '{$galleryID}' {$exclude_clause} ORDER BY tt.{$flag_options['galSort']} {$flag_options['galSortDir']} "); } if (is_array($thepictures) && count($thepictures)) { echo "\t<category id='" . $galleryID . "'>\n"; echo "\t\t<properties>\n"; echo "\t\t\t<title>" . esc_html(flagGallery::i18n(stripslashes($thepictures[0]->title))) . "</title>\n"; echo "\t\t</properties>\n"; echo "\t\t<items>\n"; if (is_array($thepictures)) { foreach ($thepictures as $picture) { echo "\t\t\t<item id='" . $picture->pid . "'>\n"; echo "\t\t\t\t<thumbnail>" . $siteurl . "/" . $picture->path . "/thumbs/thumbs_" . $picture->filename . "</thumbnail>\n"; echo "\t\t\t\t<title><![CDATA[" . esc_html(flagGallery::i18n(stripslashes($picture->alttext))) . "]]></title>\n"; echo "\t\t\t\t<description><![CDATA[" . html_entity_decode(esc_html(flagGallery::i18n(stripslashes($picture->description)))) . "]]></description>\n"; //echo " <link>".$picture->link."</link>\n"; echo "\t\t\t\t<photo>" . $siteurl . "/" . $picture->path . "/" . $picture->filename . "</photo>\n"; echo "\t\t\t\t<date>" . $picture->imagedate . "</date>\n"; echo "\t\t\t</item>\n"; } } echo "\t\t</items>\n"; echo "\t</category>\n"; } } echo "</gallery>\n";