function gmedia_term_item_thumbnails($term_item, $qty = 7) { global $gmCore, $gmDB, $gmGallery; ?> <div class="term-images"> <?php if ($term_item->count) { $term__in = str_replace('gmedia_', '', $term_item->taxonomy) . '__in'; switch ($term_item->taxonomy) { case 'gmedia_album': $orderby = $gmGallery->options['in_album_orderby']; $order = $gmGallery->options['in_album_order']; break; case 'gmedia_category': $orderby = $gmGallery->options['in_category_orderby']; $order = $gmGallery->options['in_category_order']; break; case 'gmedia_tag': $orderby = $gmGallery->options['in_tag_orderby']; $order = $gmGallery->options['in_tag_order']; break; default: $orderby = 'ID'; $order = 'DESC'; break; } $args = array('no_found_rows' => true, 'per_page' => $qty, $term__in => array($term_item->term_id), 'author' => gm_user_can('show_others_media') ? 0 : get_current_user_id(), 'orderby' => isset($term_item->meta['_orderby'][0]) ? $term_item->meta['_orderby'][0] : $orderby, 'order' => isset($term_item->meta['_order'][0]) ? $term_item->meta['_order'][0] : $order); $gmedias = $gmDB->get_gmedias($args); if (!empty($gmedias)) { foreach ($gmedias as $gmedia_item) { ?> <img style="z-index:<?php echo $qty--; ?> ;" src="<?php echo $gmCore->gm_get_media_image($gmedia_item, 'thumb', false); ?> " alt="<?php echo $gmedia_item->ID; ?> " title="<?php esc_attr_e($gmedia_item->title); ?> "/> <?php } } if (count($gmedias) < $term_item->count) { echo '...'; } } ?> </div> <?php }
/** * Modules functions */ function gmedia_module_action_buttons($module) { global $gmCore, $gmProcessor; $buttons = array(); if ('remote' == $module['place']) { $buttons['install'] = '<a class="btn btn-primary ' . (gm_user_can('module_manage') ? 'module_install' : 'disabled') . '" data-module="' . $module['name'] . '" data-loading-text="' . __('Loading...', 'grand-media') . '" href="' . esc_url($module['download']) . '">' . __('Install Module', 'grand-media') . '</a>'; } else { $buttons['create'] = '<a class="btn btn-success" href="' . $gmCore->get_admin_url(array('page' => 'GrandMedia_Galleries', 'gallery_module' => $module['module_name']), array(), true) . '">' . __('Create Gallery', 'grand-media') . '</a>'; } if (!empty($module['demo']) && $module['demo'] != '#') { $buttons['demo'] = '<a class="btn btn-default" target="_blank" href="' . $module['demo'] . '">' . __('View Demo', 'grand-media') . '</a>'; } if (!empty($module['update']) && 'remote' != $module['place']) { $buttons['update'] = '<a class="btn btn-warning module_install" data-module="' . $module['module_name'] . '" data-loading-text="' . __('Loading...', 'grand-media') . '" href="' . esc_url($module['download']) . '">' . __('Update Module', 'grand-media') . " (v{$module['update']})</a>"; } if ('upload' == $module['place'] && gm_user_can('module_manage')) { $buttons['delete'] = '<a class="btn btn-danger" href="' . wp_nonce_url($gmCore->get_admin_url(array('delete_module' => $module['module_name']), array(), $gmProcessor->url), 'gmedia_module_delete') . '">' . __('Delete Module', 'grand-media') . '</a>'; } if (!empty($module['download'])) { $buttons['download'] = '<a class="btn btn-link" href="' . $module['download'] . '" download="true">' . __('Download module ZIP', 'grand-media') . '</a>'; } return $buttons; }
</span> </button> <?php $rel_selected_show = 'rel-selected-show'; $rel_selected_hide = 'rel-selected-hide'; ?> <ul class="dropdown-menu" role="menu"> <li class="dropdown-header <?php echo $rel_selected_hide; ?> "><span><?php _e("Select items to see more actions", "grand-media"); ?> </span></li> <li class="<?php echo $rel_selected_show . (gm_user_can('terms_delete') ? '' : ' disabled'); ?> "> <a href="<?php echo wp_nonce_url($gmCore->get_admin_url(array('do_gmedia_terms' => 'delete', 'ids' => 'selected'), array('filter')), 'gmedia_delete'); ?> " class="gmedia-delete" data-confirm="<?php _e("You are about to permanently delete the selected items.\n\r'Cancel' to stop, 'OK' to delete.", "grand-media"); ?> "><?php _e('Delete Selected Items', 'grand-media'); ?> </a> </li> <?php do_action('gmedia_galleries_action_list');
<?php if (!empty($alert)) { ?> <script type="text/javascript"> jQuery(function($) { $('#chooseModuleModal').modal('show'); }); </script> <?php } ?> </div> </form> <?php include GMEDIA_ABSPATH . 'admin/pages/galleries/tpl/modal-build-query.php'; if ($term_id) { $customfield_meta_type = 'gmedia_term'; include GMEDIA_ABSPATH . 'admin/tpl/modal-customfield.php'; } ?> <?php if (gm_user_can('edit_others_media')) { ?> <div class="modal fade gmedia-modal" id="gallModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"></div> </div> <?php }
<?php /** * Gmedia Import */ // don't load directly if (!defined('ABSPATH')) { die('-1'); } if (!gm_user_can('upload')) { _e('You do not have permissions to import media', 'grand-media'); return; } global $wpdb; $gmediaURL = plugins_url(GMEDIA_FOLDER); $gm_terms = array(); $import_tab = array(); ?> <form class="row" id="import_form" name="import_form" target="import_window" action="<?php echo admin_url('admin-ajax.php'); ?> " method="POST" accept-charset="utf-8" style="padding:20px 0 10px;"> <div class="col-md-4"> <fieldset id="import_params" class="import-params"> <?php wp_nonce_field('GmediaImport'); ?> <input type="hidden" name="action" value="gmedia_import_handler"/> <input type="hidden" id="import-action" name="import" value=""/> <?php
function gmedia_alert_message() { global $gmProcessor; do_action('before_gmedia_alert_message'); if ($gmProcessor->mode == 'edit' && gm_user_can('show_others_media') && !gm_user_can('edit_others_media')) { ?> <div class="alert alert-warning alert-dismissible" role="alert" style="margin-bottom:0"> <button type="button" class="close" data-dismiss="alert"> <span aria-hidden="true">×</span><span class="sr-only"><?php _e('Close', 'grand-media'); ?> </span></button> <strong><?php _e('Info:', 'grand-media'); ?> </strong> <?php _e('You are not allowed to edit others media', 'grand-media'); ?> </div> <?php } }
<a class="btn btn<?php echo $import ? '-primary active' : '-default'; ?> " href="<?php echo gm_get_admin_url(array('import' => 1), array(), $url); ?> "><?php _e('Import', 'grand-media'); ?> </a> <?php } ?> </div> <?php if ($import && gm_user_can('import')) { ?> <a class="btn btn-default" href="<?php echo admin_url('admin.php?page=GrandMedia_WordpressLibrary'); ?> "><?php _e('Import from WP Media Library', 'grand-media'); ?> </a> <?php } ?> </div> <?php } ?>
/** More data for Gmedia Gallery Item * * @param $item */ function gmedia_gallery_more_data(&$item) { global $gmDB, $gmCore, $user_ID; $item->custom = array(); $item->meta = array('_edited' => '—', '_query' => array(), '_module' => $gmCore->_get('gallery_module', 'phantom')); $item->meta['_settings'] = array($item->meta['_module'] => array()); $item->allow_edit = false; $item->allow_delete = false; if (empty($item->term_id)) { $item->term_id = 0; $item->name = ''; $item->taxonomy = 'gmedia_gallery'; $item->taxterm = 'gallery'; $item->description = ''; $item->global = $user_ID; $item->count = 0; $item->status = 'publish'; $item->post_id = 0; $item->slug = ''; $item->cloud_link = ''; $item->post_link = ''; } else { $item->taxterm = str_replace('gmedia_', '', $item->taxonomy); $meta = $gmDB->get_metadata('gmedia_term', $item->term_id); foreach ($meta as $key => $value) { if ($gmCore->is_protected_meta($key, 'gmedia_term')) { $item->meta[$key] = $value[0]; } else { $item->custom[$key] = $value; } } $post_id = isset($meta['_post_ID'][0]) ? (int) $meta['_post_ID'][0] : 0; $item->post_id = $post_id; if ($post_id) { $post_item = get_post($post_id); if ($post_item) { $item->slug = $post_item->post_name; $item->post_password = $post_item->post_password; $item->comment_count = $post_item->comment_count; $item->comment_status = $post_item->comment_status; } } $item->cloud_link = $gmCore->gmcloudlink($item->term_id, $item->taxterm); if (!empty($item->meta['_post_ID'])) { $item->post_link = get_permalink($item->meta['_post_ID']); } else { $item->post_link = ''; } if (is_user_logged_in()) { $allow_terms_delete = gm_user_can('terms_delete'); if ($item->global) { if ((int) $item->global === get_current_user_id()) { $item->allow_edit = gm_user_can("{$item->taxterm}_manage"); $item->allow_delete = $allow_terms_delete; } else { $item->allow_edit = gm_user_can('edit_others_media'); $item->allow_delete = $item->allow_edit && $allow_terms_delete; } } else { $item->allow_edit = gm_user_can('edit_others_media'); $item->allow_delete = $item->allow_edit && $allow_terms_delete; } } } $_module_name = $gmCore->_get('gallery_module', $item->meta['_module']); $item->module = $gmCore->get_module_path($_module_name); $item->module['name'] = $_module_name; $module_info = array('type' => '—'); if (is_file($item->module['path'] . '/index.php')) { include $item->module['path'] . '/index.php'; $item->module['info'] = $module_info; } else { $item->module['broken'] = true; } if ($item->global) { $item->author_name = get_the_author_meta('display_name', $item->global); } else { $item->author_name = false; } $item = apply_filters('gmedia_gallery_more_data', $item); }
_e('Clear selected items', 'grand-media'); ?> </a></li> <li><a id="gm-stack-in" href="#stack_add"><?php _e('Add selected items to Stack', 'grand-media'); ?> </a></li> <li><a id="gm-stack-out" href="#stack_remove"><?php _e('Remove selected items from Stack', 'grand-media'); ?> </a></li> <?php if ($gmProcessor->mode != 'select_multiple') { ?> <li class="<?php echo gm_user_can('gallery_manage') ? '' : 'disabled'; ?> "> <a href="#libModal" data-modal="quick_gallery" data-action="gmedia_get_modal" data-ckey="<?php echo GmediaProcessor_Library::$cookie_key; ?> " class="gmedia-modal"><?php _e('Quick Gallery from Selected', 'grand-media'); ?> </a> </li> <?php } ?> </ul> </form>
/** * Filter the gmedia terms (private and draft) for frontend and admin panel * * @param $terms * @param $gmedia_id * @param $taxonomy */ function get_the_gmedia_terms($terms, $gmedia_id, $taxonomy) { if ('gmedia_album' === $taxonomy) { if (!is_user_logged_in()) { foreach ($terms as $key => $term) { if ('publish' !== $term->status) { unset($terms[$key]); } } } else { global $user_ID; foreach ($terms as $key => $term) { if ('draft' === $term->status) { if (!is_admin() || $user_ID != $term->global && !gm_user_can('edit_others_media')) { unset($terms[$key]); } } elseif ('private' === $term->status) { if ($user_ID != $term->global && !gm_user_can('show_others_media')) { unset($terms[$key]); } } } } } return $terms; }
function sideLinks() { global $submenu, $gmProcessor, $gmGallery; $content['sideLinks'] = ' <div id="gmedia-navbar"> <div class="row"> <ul class="list-group"><li>'; if (empty($gmGallery->options['license_key'])) { $content['sideLinks'] .= "\n" . '<a class="list-group-item list-group-item-premium" target="_blank" href="http://codeasily.com/product/one-site-license/">' . __('Get Gmedia Premium', 'grand-media') . '</a></li><li>'; } foreach ($submenu['GrandMedia'] as $menuKey => $menuItem) { if ($menuItem[2] == $gmProcessor->page) { $iscur = ' active'; $content['grandTitle'] = $menuItem[3]; } else { $iscur = ''; } $menuData = ''; if ($menuItem[2] == 'GrandMedia_Modules' && gm_user_can('module_manage')) { if ($gmGallery->options['modules_update']) { $menuData = '<span class="badge badge-error pull-right gm-module-count" title="' . __('Module Updates') . '">' . $gmGallery->options['modules_update'] . '</span>'; } } $content['sideLinks'] .= "\n" . '<a class="list-group-item' . $iscur . '" href="' . admin_url('admin.php?page=' . $menuItem[2]) . '">' . $menuItem[0] . $menuData . '</a>'; } $content['sideLinks'] .= ' </li></ul> </div> </div>'; return $content; }
echo '<li' . ($term->allow_delete ? '' : ' class="disabled"') . '><a href="' . wp_nonce_url(gm_get_admin_url(array('do_gmedia_terms' => 'delete', 'ids' => $term->term_id), array('edit_term'), $gmProcessor->url), 'gmedia_delete') . '" data-confirm="' . __("You are about to permanently delete the selected items.\n\r'Cancel' to stop, 'OK' to delete.", "grand-media") . '">' . __('Delete', 'grand-media') . '</a></li>'; ?> </ul> </div> <div class="btn-group" style="margin-left:20px;"> <?php $add_args = array('page' => 'GrandMedia', 'mode' => 'select_multiple', 'gmediablank' => 'library'); $taxterm = $term->taxterm; if ('album' == $taxterm) { $add_args['album__in'] = 0; } elseif ('category' == $taxterm) { $add_args['category__not_in'] = $gmProcessor->edit_term; } echo '<a href="' . $gmCore->get_admin_url($add_args, array(), true) . '" class="btn btn-success preview-modal pull-left" data-target="#previewModal" data-width="1200" data-height="500" data-cls="select_gmedia assign_gmedia_term" data-title="' . __('Add from Library', 'grand-media') . '"><span class="glyphicon glyphicon-plus"></span> ' . __('Add from Library', 'grand-media') . '</a>'; if (gm_user_can('upload') && !$gmProcessor->gmediablank) { $args = array('page' => 'GrandMedia_AddMedia'); if ($gmProcessor->edit_term) { $taxterm = $term->taxterm; $args[$taxterm] = $gmProcessor->edit_term; } ?> <a href="<?php echo gm_get_admin_url($args, array(), true); ?> " class="btn btn-success pull-left"> <span class="glyphicon glyphicon-upload" style="font-size: 130%;line-height: 0;vertical-align: sub;"></span> <?php _e('Upload', 'grand-media'); ?> </a> <?php
" name="limit" placeholder="<?php _e('leave empty for no limit', 'grand-media'); ?> "> <span class="help-block"><?php _e('Limit number of gmedia items', 'grand-media'); ?> </span> </div> </div> </div> </div> <script type="text/javascript"> jQuery(function($) { <?php if (gm_user_can('terms')) { ?> var gmedia_albums = <?php echo json_encode(array_values($gm_album_terms)); ?> ; var gmedia_categories = <?php echo json_encode(array_values($gm_category_terms)); ?> ; var gmedia_tags = <?php echo json_encode(array_values($gm_tag_terms)); ?> ; $('#query_album__').selectize({
?> </option> </select> </div> <?php } ?> </div> <div class="col-lg-6"> <div class="form-group"> <label><?php _e('Author', 'grand-media'); ?> </label> <?php $user_ids = gm_user_can('delete_others_media') ? $gmCore->get_editable_user_ids() : false; if ($user_ids) { if (!in_array($user_ID, $user_ids)) { array_push($user_ids, $user_ID); } wp_dropdown_users(array('include' => $user_ids, 'include_selected' => true, 'name' => 'author', 'selected' => $item->author, 'class' => 'form-control', 'multi' => true)); } else { echo '<input type="hidden" name="author" value="' . $item->author . '"/>'; echo '<div>' . get_the_author_meta('display_name', $item->author) . '</div>'; } ?> </div> <?php if ('image' != $item->type) { ?> <div class="form-group">
<?php /** * Gmedia Term (Album, Category) Edit */ // don't load directly if (!defined('ABSPATH')) { die('-1'); } global $user_ID, $gmDB, $gmCore, $gmGallery, $gmProcessor; $term_id = $gmCore->_get('edit_term'); $gmedia_url = add_query_arg(array('edit_term' => $term_id), $gmProcessor->url); $gmedia_user_options = $gmProcessor->user_options; $gmedia_term_taxonomy = $gmProcessor->taxonomy; $taxterm = $gmProcessor->taxterm; if (!gm_user_can("{$taxterm}_manage")) { die('-1'); } $term_id = (int) $term_id; $term = $gmDB->get_term($term_id); if (empty($term) || is_wp_error($term)) { return; } gmedia_term_item_more_data($term); do_action('gmedia_term_before_panel'); ?> <div class="panel panel-default panel-fixed-header"> <?php include dirname(__FILE__) . '/tpl/term-panel-heading.php';
function gmedia_module_preset_delete() { global $gmCore, $gmDB, $user_ID; $out = array('error' => ''); check_ajax_referer('GmediaGallery'); if (!current_user_can('gmedia_gallery_manage')) { $out['error'] = $gmCore->alert('danger', __("You are not allowed to manage galleries", 'grand-media')); } else { $term_id = intval($gmCore->_post('preset_id', 0)); $term = $gmDB->get_term($term_id); if ($term && !is_wp_error($term)) { if ($term->global != $user_ID && !gm_user_can('delete_others_media') || (int) $term->global === 0 && !current_user_can('manage_options')) { $out['error'] = $gmCore->alert('danger', __("You are not allowed to manage galleries", 'grand-media')); header('Content-Type: application/json; charset=' . get_option('blog_charset'), true); echo json_encode($out); die; } $delete = $gmDB->delete_term($term_id); if (is_wp_error($delete)) { $out['error'] = $delete->get_error_message(); } } } header('Content-Type: application/json; charset=' . get_option('blog_charset'), true); echo json_encode($out); die; }
} ?> </div> <?php include dirname(__FILE__) . '/tpl/panel-footer.php'; wp_original_referer_field(true, 'previous'); wp_nonce_field('GmediaGallery'); ?> </div> <div class="modal fade gmedia-modal" id="libModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"></div> </div> <?php if (gm_user_can('edit_media')) { ?> <div class="modal fade gmedia-modal" id="gmeditModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog modal-lg"> <div class="modal-content"></div> </div> </div> <?php } ?> <div class="modal fade gmedia-modal" id="previewModal" tabindex="-1" role="dialog" aria-hidden="true"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <div class="btn-toolbar pull-right" style="margin-top:-4px;"> <button type="button" class="btn btn-primary"><?php
protected function processor() { global $user_ID, $gmCore, $gmDB; if (!$gmCore->caps['gmedia_library']) { wp_die(__('You are not allowed to be here', 'grand-media')); } include_once GMEDIA_ABSPATH . 'admin/pages/terms/functions.php'; $this->query_args = $this->query_args(); $taxonomy = $this->taxonomy; switch ($taxonomy) { case 'gmedia_album': if (gm_user_can('album_manage')) { add_action('gmedia_before_terms_list', 'gmedia_terms_create_album_tpl'); } else { add_action('gmedia_before_terms_list', 'gmedia_terms_create_alert_tpl'); } break; case 'gmedia_category': if (gm_user_can('category_manage')) { add_action('gmedia_before_terms_list', 'gmedia_terms_create_category_tpl'); } else { add_action('gmedia_before_terms_list', 'gmedia_terms_create_alert_tpl'); } break; case 'gmedia_tag': if (gm_user_can('tag_manage')) { add_action('gmedia_before_terms_list', 'gmedia_terms_create_tag_tpl'); } else { add_action('gmedia_before_terms_list', 'gmedia_terms_create_alert_tpl'); } break; } if (isset($_POST['gmedia_album_save'])) { check_admin_referer('GmediaTerms', 'term_save_wpnonce'); $edit_term = (int) $gmCore->_get('edit_term'); do { if (!$gmCore->caps['gmedia_album_manage']) { $this->error[] = __('You are not allowed to manage albums', 'grand-media'); break; } $term = $gmCore->_post('term'); if ($meta = $gmCore->_post('meta')) { $term = array_merge_recursive(array('meta' => $meta), $term); } $term['name'] = trim($term['name']); if (empty($term['name'])) { $this->error[] = __('Term Name is not specified', 'grand-media'); break; } if ($gmCore->is_digit($term['name'])) { $this->error[] = __("Term Name can't be only digits", 'grand-media'); break; } $taxonomy = 'gmedia_album'; if ($edit_term && !$gmDB->term_exists($edit_term)) { $this->error[] = __('A term with the id provided does not exists', 'grand-media'); $edit_term = false; } if ($term_id = $gmDB->term_exists($term['name'], $taxonomy, $term['global'])) { if ($term_id != $edit_term) { $this->error[] = __('A term with the name provided already exists', 'grand-media'); break; } } if ($edit_term) { $_term = $gmDB->get_term($edit_term); if ((int) $_term->global != (int) $user_ID && !current_user_can('gmedia_edit_others_media')) { $this->error[] = __('You are not allowed to edit others media', 'grand-media'); break; } $term_id = $gmDB->update_term($edit_term, $term); } else { $term_id = $gmDB->insert_term($term['name'], $term['taxonomy'], $term); } if (is_wp_error($term_id)) { $this->error[] = $term_id->get_error_message(); break; } if (isset($term['reset_custom_order'])) { $gmDB->update_term_sortorder($term_id); } $this->msg[] = sprintf(__('Album `%s` successfuly saved', 'grand-media'), $term['name']); } while (0); } elseif (isset($_POST['gmedia_category_save'])) { check_admin_referer('GmediaTerms', 'term_save_wpnonce'); $edit_term = (int) $gmCore->_get('edit_term'); do { if (!$gmCore->caps['gmedia_category_manage']) { $this->error[] = __('You are not allowed to manage categories', 'grand-media'); break; } $term = $gmCore->_post('term'); if ($meta = $gmCore->_post('meta')) { $term = array_merge_recursive(array('meta' => $meta), $term); } $term['name'] = trim($term['name']); if (empty($term['name'])) { $this->error[] = __('Term Name is not specified', 'grand-media'); break; } if ($gmCore->is_digit($term['name'])) { $this->error[] = __("Term Name can't be only digits", 'grand-media'); break; } $taxonomy = 'gmedia_category'; if ($edit_term && !$gmDB->term_exists($edit_term)) { $this->error[] = __('A term with the id provided does not exists', 'grand-media'); $edit_term = false; } if ($term_id = $gmDB->term_exists($term['name'], $taxonomy)) { if ($term_id != $edit_term) { $this->error[] = __('A term with the name provided already exists', 'grand-media'); break; } } if ($edit_term) { if (!current_user_can('gmedia_edit_others_media')) { $this->error[] = __('You are not allowed to edit others media', 'grand-media'); break; } $term_id = $gmDB->update_term($edit_term, $term); } else { $term_id = $gmDB->insert_term($term['name'], $term['taxonomy'], $term); } if (is_wp_error($term_id)) { $this->error[] = $term_id->get_error_message(); break; } $this->msg[] = sprintf(__('Category `%s` successfuly saved', 'grand-media'), $term['name']); } while (0); } elseif (isset($_POST['gmedia_tag_add'])) { if ($gmCore->caps['gmedia_tag_manage']) { check_admin_referer('GmediaTerms', 'term_save_wpnonce'); $term = $gmCore->_post('term'); $terms = array_filter(array_map('trim', explode(',', $term['name']))); $terms_added = 0; $terms_qty = count($terms); foreach ($terms as $term_name) { if ($gmCore->is_digit($term_name)) { $this->error['tag_name_digit'] = __("Term Name can't be only digits", 'grand-media'); continue; } if (!$gmDB->term_exists($term_name, $term['taxonomy'])) { $term_id = $gmDB->insert_term($term_name, $term['taxonomy']); if (is_wp_error($term_id)) { $this->error[] = $term_id->get_error_message(); } else { $this->msg['tag_add'] = sprintf(__('%d of %d tags successfuly added', 'grand-media'), ++$terms_added, $terms_qty); } } else { $this->error['tag_add'] = __('Some of provided tags are already exists', 'grand-media'); } } } else { $this->error[] = __('You are not allowed to manage tags', 'grand-media'); } } $do_gmedia_terms = $gmCore->_get('do_gmedia_terms'); if ('delete' == $do_gmedia_terms) { check_admin_referer('gmedia_delete'); if ($gmCore->caps['gmedia_terms_delete']) { $ids = $gmCore->_get('ids', 'selected'); $selected_items = 'selected' == $ids ? $this->selected_items : wp_parse_id_list($ids); if (!$gmCore->caps['gmedia_delete_others_media']) { $_selected_items = array(); if ('gmedia_album' == $taxonomy) { $_selected_items = $gmDB->get_terms($taxonomy, array('fields' => 'ids', 'global' => $user_ID, 'include' => $selected_items)); } if (count($_selected_items) < count($selected_items)) { $this->error[] = __('You are not allowed to delete others media', 'grand-media'); } $selected_items = $_selected_items; } if ($count = count($selected_items)) { foreach ($selected_items as $item) { $delete = $gmDB->delete_term($item); if (!$delete) { $count--; } elseif (is_wp_error($delete)) { $this->error[] = $delete->get_error_message(); $count--; } } if ($count) { $this->msg[] = sprintf(__('%d item(s) deleted successfuly', 'grand-media'), $count); } setcookie(self::$cookie_key, '', time() - 3600); unset($_COOKIE[self::$cookie_key]); $this->selected_items = array(); } } else { $this->error[] = __('You are not allowed to delete terms', 'grand-media'); } if (!empty($this->msg)) { set_transient('gmedia_action_msg', $this->msg, 30); } if (!empty($this->error)) { set_transient('gmedia_action_error', $this->error, 30); } } if ($do_gmedia_terms) { $location = remove_query_arg(array('do_gmedia_terms', 'ids', '_wpnonce')); $location = add_query_arg('did_gmedia_terms', $do_gmedia_terms, $location); wp_redirect($location); exit; } if ($gmCore->_get('did_gmedia_terms')) { $msg = get_transient('gmedia_action_msg'); if ($msg) { delete_transient('gmedia_action_msg'); $this->msg = $msg; } $error = get_transient('gmedia_action_error'); if ($error) { delete_transient('gmedia_action_error'); $this->error = $error; } } }
"/> </div> <div class="form-group"> <?php $term_type = 'gmedia_tag'; $gm_tag_terms = $gmDB->get_terms($term_type, array('fields' => 'id=>names')); $selected = (int) $gmCore->_get('tag'); $selected = isset($gm_tag_terms[$selected]) ? $gm_tag_terms[$selected] : ''; ?> <label><?php _e('Add Tags', 'grand-media'); ?> </label> <input id="combobox_gmedia_tag" name="terms[gmedia_tag]" data-create="<?php echo gm_user_can('tag_manage') ? 'true' : 'false'; ?> " class="form-control input-sm" value="<?php echo $selected; ?> " placeholder="<?php _e('Add Tags...', 'grand-media'); ?> "/> </div> <script type="text/javascript"> var gmedia_categories = <?php echo json_encode(array_values($gm_category_terms)); ?> ; var gmedia_tags = <?php
function gmedia_term_choose_author_field($selected = false, $_args = array()) { global $gmCore; $user_ID = get_current_user_id(); if (false === $selected) { $selected = $user_ID; } $user_ids = gm_user_can('delete_others_media') ? $gmCore->get_editable_user_ids() : array($user_ID); if ($user_ids && gm_user_can('edit_others_media')) { if (!in_array($user_ID, $user_ids)) { array_push($user_ids, $user_ID); } $args = array('include' => $user_ids, 'include_selected' => true, 'name' => 'term[global]', 'selected' => $selected, 'class' => 'form-control input-sm', 'multi' => true, 'show_option_all' => __('Shared', 'grand-media')); $args = array_merge($args, $_args); wp_dropdown_users($args); } else { echo '<input type="hidden" name="term[global]" value="' . $user_ID . '"/>'; echo '<div>' . get_the_author_meta('display_name', $user_ID) . '</div>'; } }