Пример #1
0
/**
 * Adds a category that is specifed in the POST array
 * returns the HTML for a new list item to insert at the end
 * of the current category list
 */
function bp_group_documents_add_category()
{
    global $bp;
    $category_name = $_POST['category'];
    $parent_id = BP_Group_Documents_Template::get_parent_category_id();
    if (!term_exists($category_name, 'group-documents-category', $parent_id)) {
        $new_term = wp_insert_term($category_name, 'group-documents-category', array('parent' => $parent_id));
    }
    $output = "<li id='category-{$new_term['term_id']}'><strong>{$category_name}</strong>";
    $term_id = $new_term['term_id'];
    $edit_link = wp_nonce_url('?edit=' . $term_id, 'group-documents-category-edit');
    $delete_link = wp_nonce_url('?delete=' . $term_id, 'group-documents-category-delete');
    $output .= '&nbsp; <a class="group-documents-category-edit" href="' . $edit_link . '">Edit</a>';
    $output .= ' | <a class="group-documents-category-delete" href="' . $delete_link . '">Delete</a>';
    $output .= '</li>';
    die($output);
}
Пример #2
0
function bp_group_documents_group_admin_save()
{
    global $bp;
    do_action('bp_group_documents_group_admin_save');
    $success = false;
    //check if category was updated
    if ($_POST['group_documents_category_edit'] && ctype_digit($_POST['group_documents_category_edit_id']) && term_exists((int) $_POST['group_documents_category_edit_id'], 'group-documents-category')) {
        check_admin_referer('groups-edit-group-documents');
        $success = wp_update_term((int) $_POST['group_documents_category_edit_id'], 'group-documents-category', array('name' => $_POST['group_documents_category_edit']));
    }
    //check if category was deleted
    if (isset($_GET['delete']) && ctype_digit($_GET['delete']) && term_exists((int) $_GET['delete'], 'group-documents-category')) {
        check_admin_referer('group-documents-category-delete');
        $success = wp_delete_term((int) $_GET['delete'], 'group-documents-category');
    }
    //check if new category was added, if so, append to current list
    if ($_POST['bp_group_documents_new_category']) {
        $parent_id = BP_Group_Documents_Template::get_parent_category_id();
        if (!term_exists($_POST['bp_group_documents_new_category'], 'group-documents-category', $parent_id)) {
            $success = wp_insert_term($_POST['bp_group_documents_new_category'], 'group-documents-category', array('parent' => $parent_id));
        }
    }
    //Update whether documents are enabled
    if (isset($_POST['group_documents_documents_disabled']) && ctype_digit($_POST['group_documents_documents_disabled'])) {
        check_admin_referer('groups-edit-group-documents');
        $success = groups_update_groupmeta($bp->groups->current_group->id, 'group_documents_documents_disabled', $_POST['group_documents_documents_disabled']);
    }
    //Update permissions
    $valid_permissions = array('members', 'mods_only');
    if (isset($_POST['group_documents_upload_permission']) && in_array($_POST['group_documents_upload_permission'], $valid_permissions)) {
        check_admin_referer('groups-edit-group-documents');
        $success = $success || groups_update_groupmeta($bp->groups->current_group->id, 'group_documents_upload_permission', $_POST['group_documents_upload_permission']);
    }
    //If something was updated, post a success
    if ($success !== false) {
        bp_core_add_message(__('Settings saved successfully', 'buddypress'));
        bp_core_redirect(bp_get_group_permalink($bp->groups->current_group) . '/admin/' . $bp->group_documents->slug);
    }
}
 /**
  * The routine run after the user clicks Save from your admin tab
  * @version v1.4, 31/10/2013, fix some notices
  * v3,  27/8/2013, fix the messages
  * v2, 21/5/2013, fix the edit and delete category bug, Stergatu Eleni
  * @since 0.5
  */
 function edit_screen_save()
 {
     global $bp;
     do_action('bp_group_documents_group_admin_save');
     $message = false;
     $type = '';
     $parent_id = BP_Group_Documents_Template::get_parent_category_id();
     if (!isset($_POST['save']) && !isset($_POST['addCat']) && !isset($_POST['editCat']) && !isset($_POST['delCat'])) {
         return false;
     }
     check_admin_referer('groups_edit_save_' . $this->slug);
     //check if category was deleted
     if (isset($_POST['group_documents_category_del_id']) && ctype_digit($_POST['group_documents_category_del_id']) && term_exists((int) $_POST['group_documents_category_del_id'], 'group-documents-category')) {
         if (true == wp_delete_term((int) $_POST['group_documents_category_del_id'], 'group-documents-category')) {
             $message = sprintf(__('Group %s category deleted successfully', 'bp-group-documents'), mb_strtolower($this->name));
         }
     } elseif (array_key_exists('group_documents_category_edit', $_POST) && ctype_digit($_POST['group_documents_category_edit_id']) && term_exists((int) $_POST['group_documents_category_edit_id'], 'group-documents-category')) {
         if (term_exists($_POST['group_documents_category_edit'], 'group-documents-category', $parent_id)) {
             $message = sprintf(__('No changes were made. This %s category name is used already', 'bp-group-documents'), mb_strtolower($this->name));
             $type = 'error';
         } else {
             if (true == wp_update_term((int) $_POST['group_documents_category_edit_id'], 'group-documents-category', array('name' => $_POST['group_documents_category_edit']))) {
                 $message = sprintf(__('Group %s category renamed successfully', 'bp-group-documents'), mb_strtolower($this->name));
             }
         }
     } elseif ($_POST['bp_group_documents_new_category']) {
         if (!term_exists($_POST['bp_group_documents_new_category'], 'group-documents-category', $parent_id)) {
             if (true == wp_insert_term($_POST['bp_group_documents_new_category'], 'group-documents-category', array('parent' => $parent_id))) {
                 $message = $_POST['bp_group_documents_new_category'] . ': ' . sprintf(__('New group %s category created', 'bp-group-documents'), mb_strtolower($this->name));
             }
         } else {
             $message = sprintf(__('No changes were made. This %s category name is used already', 'bp-group-documents'), mb_strtolower($this->name));
             $type = 'error';
         }
     } else {
         $valid_permissions = array('members', 'mods_only');
         //check if group upload permision has chanced
         if (isset($_POST['bp_group_documents_upload_permission']) && in_array($_POST['bp_group_documents_upload_permission'], $valid_permissions)) {
             if (true == groups_update_groupmeta($bp->groups->current_group->id, 'bp_group_documents_upload_permission', $_POST['bp_group_documents_upload_permission'])) {
                 $message = __('Upload Permissions changed successfully', 'bp-group-documents');
             }
         }
     }
     /* Post an error/success message to the screen */
     if (!$message) {
         bp_core_add_message(__('No changes were made. Either error or you didn\'t change anything', 'bp-group-documents'), 'error');
     } else {
         bp_core_add_message($message, $type);
     }
     do_action('bp_group_documents_group_admin_after_save');
     bp_core_redirect(bp_get_group_permalink($bp->groups->current_group) . 'admin/' . $this->slug);
 }