Example #1
0
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 
}
Example #2
0
/**
 * 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');
Example #4
0
        <?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 
}
Example #5
0
<?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 
Example #6
0
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">&times;</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 
    }
}
Example #7
0
                    <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 
}
?>
Example #8
0
/** 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' => '&#8212;', '_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' => '&#8212;');
    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);
}
Example #9
0
    _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>
Example #10
0
 /**
  * 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;
 }
Example #11
0
    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;
    }
Example #12
0
    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 
Example #13
0
" 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({
Example #14
0
    ?>
</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">
Example #15
0
<?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';
Example #16
0
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;
}
Example #17
0
}
?>
    </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;
         }
     }
 }
Example #19
0
"/>
    </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 
Example #20
-1
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>';
    }
}