/** * load the gallery based on either the id or slug, passed in via arguments * * @param $args array Arguments passed in from the shortcode * * @return bool|FooGallery The gallery object we want to render */ function find_album($args) { $id = intval($this->get_arg($args, 'id'), 0); if ($id > 0) { //load album by ID return FooGalleryAlbum::get_by_id($id); } else { //take into account the cases where id is passed in via the 'album' attribute $album = $this->get_arg('album', 0); if (intval($album) > 0) { //we have an id, so load return FooGalleryAlbum::get_by_id(intval($album)); } //we are dealing with a slug return FooGalleryAlbum::get_by_slug($album); } }
function render_album_import_form($albums = false) { if (false === $albums) { $albums = $this->get_albums(); } $has_imports = get_option(self::NEXTGEN_OPTION_IMPORT_PROGRESS_ALBUM); ?> <table class="wp-list-table widefat" cellspacing="0"> <thead> <tr> <th scope="col" class="manage-column"> <span><?php _e('NextGen Album', 'foogallery'); ?> </span> </th> <th scope="col" class="manage-column"> <span><?php _e('Album Name', 'foogallery'); ?> </span> </th> <th scope="col" class="manage-column"> <span><?php _e('NextGen Galleries', 'foogallery'); ?> </span> </th> <th scope="col" class="manage-column"> <span><?php _e('Import Options', 'foogallery'); ?> </span> </th> </tr> </thead> <tbody> <?php $counter = 0; foreach ($albums as $album) { $counter++; $progress = $this->get_import_progress_for_album($album->id); $done = $progress->is_completed(); $edit_link = ''; $galleries = $this->nextgen_unserialize($album->sortorder); $foogallery_album = false; if ($progress->foogallery_album_id > 0) { $foogallery_album = FooGalleryAlbum::get_by_id($progress->foogallery_album_id); if ($foogallery_album) { $edit_link = '<a href="' . admin_url('post.php?post=' . $progress->foogallery_album_id . '&action=edit') . '">' . $foogallery_album->name . '</a>'; } else { $done = false; } } ?> <tr class="<?php echo $counter % 2 === 0 ? 'alternate' : ''; ?> "> <td> <?php echo $album->name; ?> <input type="hidden" class="foogallery-album-id" value="<?php echo $album->id; ?> "> </td> <td> <?php if ($foogallery_album) { echo $edit_link; } else { ?> <input class="foogallery-album-name" value="<?php echo $album->name; ?> "> <?php } ?> </td> <td> <ul class="ul-disc" style="margin: 0 0 0 20px;"> <?php $import_gallery_count = 0; foreach ($galleries as $gallery_id) { if ('a' === substr($gallery_id, 0, 1)) { //we are dealing with an album inside the album $nested_album = $this->get_album(substr($gallery_id, 1)); if ($nested_album) { echo '<li>'; echo __('[Album] ', 'foogallery'); echo ' <span style="text-decoration:line-through">'; echo $nested_album->name; echo '</span>'; echo ' (<span class="nextgen-import-progress-' . FooGallery_NextGen_Import_Progress::PROGRESS_ERROR . '">'; echo __('nested albums not supported', 'foogallery'); echo '</span>)</li>'; } } else { $nextgen_gallery = $this->get_gallery($gallery_id); echo '<li>'; $gallery_progress = $this->get_import_progress($gallery_id); $gallery_completed = $gallery_progress->is_completed(); if ($gallery_completed) { $import_gallery_count++; } echo $gallery_completed ? '' : '<span style="text-decoration:line-through">'; echo $nextgen_gallery->title; echo $gallery_completed ? '' : '</span>'; echo ' (<span class="nextgen-import-progress-' . $gallery_progress->status . '">'; echo $gallery_completed ? __('imported', 'foogallery') : __('not imported', 'foogallery'); echo '</span>)</li>'; } } ?> </ul> </td> <td> <span class="nextgen-import-progress nextgen-import-progress-<?php echo $progress->status; ?> "> <?php echo $progress->message(); ?> </span> <?php echo '<br />'; if (!$progress->is_completed()) { if ($import_gallery_count > 0) { echo '<input type="submit" class="button button-primary start_album_import" value="Import Album">'; echo '<div class="inline" style="width:20px"><span class="spinner"></span></div>'; echo '<br />'; if ($import_gallery_count === count($galleries)) { _e('All galleries will be linked', 'foogallery'); } else { echo sprintf(__('%d/%d galleries will be linked', 'foogallery'), $import_gallery_count, count($galleries)); echo '<br />'; _e('(Only previously imported galleries can be linked)', 'foogallery'); } } else { _e('No galleries imported yet!!', 'foogallery'); } } ?> </td> </tr> <?php } ?> </tbody> </table> <?php wp_nonce_field('foogallery_nextgen_album_reset', 'foogallery_nextgen_album_reset', false); wp_nonce_field('foogallery_nextgen_album_import', 'foogallery_nextgen_album_import', false); if ($has_imports) { ?> <br /> <input type="submit" name="foogallery_nextgen_reset_album" class="button reset_album_import" value="<?php _e('Reset All Album Imports', 'foogallery'); ?> "> <?php } }