File "Albums.php"
Full Path: /home/laciafrdyl/www/wp-content/plugins/photo-gallery/admin/views/Albums.php
File size: 19.55 KB
MIME-type: text/x-php
Charset: utf-8
<?php
/**
* Class AlbumsView_bwg
*/
class AlbumsView_bwg extends AdminView_bwg {
public function __construct() {
wp_enqueue_script(BWG()->prefix . '_jquery.ui.touch-punch.min');
parent::__construct();
}
/**
* Display page.
*
* @param $params
*/
public function display( $params = array() ) {
wp_enqueue_script(BWG()->prefix . '_jquery.ui.touch-punch.min');
ob_start();
echo $this->body($params);
// Pass the content to form.
$form_attr = array(
'id' => BWG()->prefix . '_albums',
'name' => BWG()->prefix . '_albums',
'class' => BWG()->prefix . '_albums wd-form',
'action' => add_query_arg(array( 'page' => 'albums_' . BWG()->prefix ), 'admin.php'),
);
echo $this->form(ob_get_clean(), $form_attr);
}
/**
* Generate page body.
*
* @param $params
*/
public function body( $params = array() ) {
echo $this->title( array(
'title' => $params['page_title'],
'title_class' => 'wd-header',
'add_new_button' => array(
'href' => add_query_arg(array( 'page' => $params['page'], 'task' => 'edit' ), admin_url('admin.php')),
),
'add_new_button_text' => __('Add new group', 'photo-gallery'),
'how_to_button' => true,
)
);
echo $this->search();
?>
<div class="tablenav top">
<?php
echo $this->bulk_actions($params['actions'], TRUE);
echo $this->pagination($params['page_url'], $params['total'], $params['items_per_page']);
?>
</div>
<table class="images_table adminlist table table-striped wp-list-table widefat fixed pages media bwg-gallery-lists">
<thead class="alternate">
<td id="cb" class="column-cb check-column">
<label class="screen-reader-text" for="cb-select-all-1"><?php esc_html_e('Select all', 'photo-gallery'); ?></label>
<input id="check_all" type="checkbox" onclick="spider_check_all(this)" />
</td>
<?php echo WDWLibrary::ordering('name', $params['orderby'], $params['order'], __('Title', 'photo-gallery'), $params['page_url'], 'column-primary'); ?>
<?php echo WDWLibrary::ordering('author', $params['orderby'], $params['order'], __('Author', 'photo-gallery'), $params['page_url']); ?>
</thead>
<tbody class="bwg-ordering">
<?php
if ( $params['rows'] ) {
$alternate = 'alternate';
foreach ( $params['rows'] as $row ) {
$user = get_userdata($row->author);
$alternate = (!isset($alternate) || $alternate == '') ? 'class="alternate"' : '';
$edit_url = add_query_arg(array(
'page' => $params['page'],
'task' => 'edit',
'current_id' => $row->id,
), admin_url('admin.php'));
$publish_url = add_query_arg(array(
'task' => ($row->published ? 'unpublish' : 'publish'),
'current_id' => $row->id,
), $params['page_url']);
$duplicate_url = add_query_arg(array( 'task' => 'duplicate', 'current_id' => $row->id ), $params['page_url']);
$delete_url = add_query_arg(array( 'task' => 'delete', 'current_id' => $row->id ), $params['page_url']);
$preview_url = WDWLibrary::get_custom_post_permalink( array('slug' => $row->slug, 'post_type' => 'album' ));
$preview_image = BWG()->plugin_url . '/images/no-image.png';
if ( !empty($row->preview_image) ) {
$preview_image = BWG()->upload_url . $row->preview_image;
}
if ( !empty($row->random_preview_image)) {
$preview_image = BWG()->upload_url . $row->random_preview_image;
if ( WDWLibrary::check_external_link($row->random_preview_image) ) {
$preview_image = $row->random_preview_image;
}
}
?>
<tr id="tr_<?php echo esc_attr($row->id); ?>" <?php echo $alternate; ?>>
<th class="check-column">
<input type="checkbox" id="check_<?php echo esc_attr($row->id); ?>" name="check[<?php echo esc_attr($row->id); ?>]" onclick="spider_check_all(this)" />
</th>
<td class="column-primary column-title" data-colname="<?php _e('Title', 'photo-gallery'); ?>">
<strong class="has-media-icon">
<a href="<?php echo $edit_url; ?>">
<span class="media-icon image-icon">
<img class="preview-image" title="<?php echo esc_attr($row->name); ?>" src="<?php echo esc_url( $preview_image ); ?>" width="60" height="60" />
</span>
<?php echo esc_html($row->name); ?>
</a>
<?php if ( !$row->published ) { ?>
— <span class="post-state"><?php _e('Unpublished', 'photo-gallery'); ?></span>
<?php } ?>
</strong>
<div class="row-actions">
<span><a href="<?php echo esc_url( $edit_url ); ?>"><?php esc_html_e('Edit', 'photo-gallery'); ?></a> |</span>
<span><a href="<?php echo esc_url( $publish_url ); ?>"><?php echo ($row->published ? esc_html__('Unpublish', 'photo-gallery') : esc_html__('Publish', 'photo-gallery')); ?></a> |</span>
<span><a href="<?php echo esc_url( $duplicate_url ); ?>"><?php esc_html_e('Duplicate', 'photo-gallery'); ?></a> |</span>
<span class="trash"><a onclick="if (!confirm('<?php echo esc_js(__('Do you want to delete selected item?', 'photo-gallery')); ?>')) {return false;}" href="<?php echo esc_url( $delete_url ); ?>"><?php esc_html_e('Delete', 'photo-gallery'); ?></a> |</span>
<span><a href="<?php echo esc_url( $preview_url ); ?>" target="_blank"><?php esc_html_e('Preview', 'photo-gallery'); ?></a></span>
</div>
<button class="toggle-row" type="button">
<span class="screen-reader-text"><?php esc_html_e('Show more details', 'photo-gallery'); ?></span>
</button>
</td>
<td data-colname="<?php esc_attr_e('Author', 'photo-gallery'); ?>"><?php echo $user ? esc_html($user->display_name) : ''; ?></td>
</tr>
<?php
}
}
else {
echo WDWLibrary::no_items('gallery groups', 3);
}
?>
</tbody>
</table>
<div class="tablenav bottom">
<?php echo $this->pagination($params['page_url'], $params['total'], $params['items_per_page']); ?>
</div>
<input type="hidden" id="ids_exclude" name="ids_exclude" value="" />
<?php
}
/**
* Add/Edit.
*
* @param array $params .
*
* @return string html.
*/
public function edit( $params = array() ) {
wp_enqueue_script('jquery-ui-sortable');
wp_admin_css('thickbox');
wp_enqueue_media();
ob_start();
echo $this->edit_body($params);
// Pass the content to form.
$form_attr = array(
'id' => BWG()->prefix . '_albums',
'name' => BWG()->prefix . '_albums',
'class' => BWG()->prefix . '_albums wd-form',
'action' => $params['form_action'],
'current_id' => $params['id'],
);
echo $this->form(ob_get_clean(), $form_attr);
}
/**
* Generate page edit body.
*
* @param $params
*/
public function edit_body( $params = array() ) {
wp_enqueue_style('thickbox');
wp_enqueue_script('thickbox');
$row = $params['row'];
$enable_wp_editor = isset(BWG()->options->enable_wp_editor) ? BWG()->options->enable_wp_editor : 0;
/* Preview Section - set album_galleries types */
$demo_url_for_free = 'https://demo.10web.io/photo-gallery/';
$get_album_gallery_types = array(
'album_compact_preview' => array(
'title' => __('Compact', 'photo-gallery'),
'preview_url' => add_query_arg('bwg-preview-type', 'album_compact_preview', $params['preview_action']),
),
'album_masonry_preview' => array(
'title' => __('Masonry', 'photo-gallery'),
'preview_url' => add_query_arg('bwg-preview-type', 'album_masonry_preview', $params['preview_action']),
),
'album_extended_preview' => array(
'title' => __('Extended', 'photo-gallery'),
'preview_url' => add_query_arg('bwg-preview-type', 'album_extended_preview', $params['preview_action']),
),
);
?>
<div class="bwg-page-header wd-list-view-header">
<div class="wd-page-title wd-header wd-list-view-header-left">
<div>
<h1 class="wp-heading-inline bwg-heading"><?php esc_html_e('Gallery Group Title', 'photo-gallery'); ?></h1>
<input type="text" id="name" name="name" value="<?php echo !empty($row->name) ? esc_attr($row->name) : ''; ?>">
</div>
<div class="bwg-page-actions">
<?php
if ( !BWG()->is_pro ) {
WDWLibrary::gallery_to_pro_button();
}
?>
<button class="tw-button-primary button-large" onclick="if (spider_check_required('name', 'Title')) {return false;}; spider_set_input_value('task', 'save')">
<?php echo ($params['id']) ? esc_html__('Update', 'photo-gallery') : esc_html__('Publish', 'photo-gallery'); ?>
</button>
<?php /* Preview Section */
if ( $params['id'] && $params['preview_action'] ) { ?>
<div class="tw-button-secondary bwg-preview-button" id="bwg-preview-button" onclick="bwg_preview_section(this);"><?php esc_html_e('Preview', 'photo-gallery'); ?></div>
<div class="bwg-preview-section album">
<p><?php esc_html_e('Preview gallery group in:', 'photo-gallery'); ?></p>
<?php foreach ( $get_album_gallery_types as $key => $value ) { ?>
<div class="bwg-preview-gallery-type" onclick="window.open('<?php echo esc_url($value['preview_url']); ?>')">
<div class="bwg-preview-gallery-type-icon"></div>
<div class="bwg-preview-gallery-type-title">
<?php echo esc_html($value["title"]); ?>
</div>
</div>
<?php } ?>
</div>
<?php } ?>
<?php
if ( $params['shortcode_id'] ) {
require BWG()->plugin_dir . '/framework/howto/howto.php';
}
?>
</div>
</div>
<div class="bwg-clear"></div>
</div>
<div class="wd-table meta-box-sortables">
<div class="wd-table-row wd-table-col-100 wd-table-col-left">
<div class="wd-box-section">
<div class="postbox <?php echo $params['id'] ? 'closed' : ''; ?>">
<button class="button-link handlediv" type="button" aria-expanded="true">
<span class="screen-reader-text"><?php esc_html_e('Toggle panel:', 'photo-gallery'); ?></span>
<span class="toggle-indicator" aria-hidden="true"></span>
</button>
<h2 class="hndle">
<span><?php esc_html_e('Basic', 'photo-gallery'); ?></span>
</h2>
<div class="inside">
<div class="wd-box-content">
<div class="wd-group">
<label class="wd-label" for="preview_image"><?php esc_html_e('Preview image', 'photo-gallery'); ?></label>
<div>
<a href="<?php echo esc_url($params['add_preview_image_action']); ?>"
id="button_preview_image"
class="button wd-preview-image-btn thickbox thickbox-preview <?php echo ($row->preview_image == '') ? 'bwg_not-preview-image' : ''; ?>"
title="<?php esc_attr_e('Add Preview Image', 'photo-gallery'); ?>"
onclick="return false;"
style="<?php echo !empty($row->preview_image) ? 'display:none;' : ''; ?>">
<span class="dashicons dashicons-camera"></span><?php esc_html_e('Add', 'photo-gallery'); ?>
</a>
<img id="img_preview_image"
src="<?php echo $row->preview_image ? esc_url(BWG()->upload_url . $row->preview_image) : ''; ?>"
style="<?php echo empty($row->preview_image) ? 'display:none;' : ''; ?>" />
<span id="delete_preview_image"
class="spider_delete_img dashicons dashicons-no-alt"
onclick="spider_remove_url('button_preview_image', 'preview_image', 'delete_preview_image', 'img_preview_image')"
style="<?php echo empty($row->preview_image) ? 'display:none;' : ''; ?>">
</span>
<input type="hidden" id="preview_image" name="preview_image" value="<?php echo esc_attr($row->preview_image); ?>" />
<p class="description"><?php esc_html_e('Add a preview image, which will be displayed as the cover image of the gallery group when it is published in a parent gallery group.', 'photo-gallery'); ?></p>
</div>
</div>
<div class="wd-group">
<label class="wd-label"><?php esc_html_e('Published', 'photo-gallery'); ?></label>
<input type="radio" class="inputbox" id="published1" name="published" <?php echo(($row->published == 1 || !$params['id']) ? 'checked="checked"' : ''); ?> value="1" />
<label for="published1"><?php esc_html_e('Yes', 'photo-gallery'); ?></label>
<input type="radio" class="inputbox" id="published0" name="published" <?php echo(($row->published) ? '' : 'checked="checked"'); ?> value="0" />
<label for="published0"><?php esc_html_e('No', 'photo-gallery'); ?></label>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="wd-table-row wd-table-col-100 wd-table-col-left">
<div class="wd-box-section">
<div class="postbox closed">
<button class="button-link handlediv" type="button" aria-expanded="true">
<span class="screen-reader-text"><?php esc_html_e('Toggle panel:', 'photo-gallery'); ?></span>
<span class="toggle-indicator" aria-hidden="false"></span>
</button>
<h2 class="hndle">
<span><?php esc_html_e('Advanced', 'photo-gallery'); ?></span>
</h2>
<div class="inside bwg-flex bwg-flex-wrap bwg-align-items-top">
<div class="wd-table-col-50">
<div class="wd-box-section">
<div class="wd-box-content">
<div class="wd-group">
<label class="wd-label"><?php esc_html_e('Author', 'photo-gallery'); ?></label>
<span><?php echo esc_html($row->author); ?></span>
</div>
<div class="wd-group">
<label class="wd-label" for="slug"><?php esc_html_e('Slug', 'photo-gallery'); ?></label>
<input type="text" id="slug" name="slug" value="<?php echo esc_attr(urldecode($row->slug)); ?>">
<input type="hidden" id="old_slug" name="old_slug" value="<?php echo esc_attr(urldecode($row->slug)); ?>">
</div>
<div class="wd-group">
<label class="wd-label" for="description"><?php esc_html_e('Description', 'photo-gallery'); ?> </label>
<?php
if ( user_can_richedit() && $enable_wp_editor ) {
wp_editor(wp_kses_post($row->description), 'description', array(
'teeny' => TRUE,
'textarea_name' => 'description',
'media_buttons' => FALSE,
'textarea_rows' => 5,
));
}
else {
?>
<textarea cols="36" rows="5" id="description" name="description"
class="wd-resize-vertical"><?php echo esc_textarea($row->description); ?></textarea>
<?php
}
?>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
<div class="wd-table">
<div class="wd-table-col wd-table-col-100 meta-box-sortables">
<div class="wd-box-section">
<div class="wd-box-content">
<div class="wd-group">
<h2 class="wd-titles"><?php esc_html_e('Galleries and Gallery Groups', 'photo-gallery'); ?></h2>
<div id="bwg_tabs" class="bwg_tabs hidden">
<?php
foreach ( $params['albums_galleries'] as $item ) {
$item->published = !$item->published ? 'dashicons-hidden' : 'bwg-hidden';
$item->preview_image = 'style="background-image:url(' . esc_url($item->preview_image) . ')"';
echo $this->albumgallery_template($item);
}
$template = new stdClass();
$template->alb_gal_id = '%%alb_gal_id%%';
$template->is_album = '%%is_album%%';
$template->preview_image = '%%preview_image%%';
$template->name = '%%name%%';
$template->published = '%%status%%';
echo $this->albumgallery_template($template, TRUE);
?>
<div class="bwg_subtab">
<div class="new_tab_image">
<a class="new_tab_link thickbox-preview"
onclick="jQuery('#loading_div').show();"
href="<?php echo esc_url($params['add_albums_galleries_action']); ?>">
<p id="add_album_gallery_text"><?php esc_html_e('Add', 'photo-gallery'); ?></p>
</a>
</div>
</div>
</div>
<input type="hidden" id="albums_galleries" name="albumgallery_ids" value="" />
</div>
</div>
</div>
</div>
</div>
<div id="loading_div" class="bwg_show"></div>
<input type="hidden" value="<?php echo esc_attr(!empty($row->modified_date) ? $row->modified_date : time()); ?>" id="modified_date" name="modified_date" />
<?php
}
public function albumgallery_template($albumgallery_row, $template = false) {
$edit_url = esc_url(add_query_arg(array(
'page' => $albumgallery_row->is_album == 0 ? 'galleries_bwg' : 'albums_bwg',
'task' => 'edit',
'current_id' => $albumgallery_row->alb_gal_id,
), admin_url('admin.php')));
ob_start();
if ($template) {
?>
<div id="bwg_template">
<?php
}
?>
<div class="bwg_subtab connectedSortable <?php echo esc_attr('bwg_subtab_' . $albumgallery_row->published); ?>"
data-id="<?php echo esc_attr($albumgallery_row->alb_gal_id); ?>"
data-is-album="<?php echo esc_attr($albumgallery_row->is_album); ?>"
data-status="<?php echo esc_attr($albumgallery_row->published); ?>">
<div <?php echo $albumgallery_row->preview_image; ?> class="tab_image">
<div class="tab_buttons">
<div class="handle_wrap">
<span class="bwg_move dashicons dashicons-move" title="<?php esc_attr_e('Drag to re-order', 'photo-gallery'); ?>"></span>
</div>
<div class="bwg_tab_title_wrap" title="<?php echo esc_attr($albumgallery_row->name); ?>">
<a href="<?php echo $edit_url; ?>" target="_blank">
<label class="bwg_tab_title" title="<?php echo esc_attr($albumgallery_row->name); ?>"><?php echo esc_html($albumgallery_row->name); ?></label>
</a>
</div>
</div>
<div class="overlay">
<div class="hover_buttons">
<span class="bwg_tab_remove dashicons dashicons-trash"
title="<?php esc_attr_e('Remove', 'photo-gallery'); ?>"
onclick="bwg_remove_album_gallery(this)"></span>
<span class="bwg_tab_status dashicons <?php echo esc_attr($albumgallery_row->published); ?>"
title="<?php esc_attr_e('Unpublished', 'photo-gallery'); ?>"></span>
<span class="bwg_clear"></span>
</div>
</div>
</div>
</div>
<?php
if ($template) {
?>
</div>
<?php
}
return ob_get_clean();
}
}