/** * 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 .= ' <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); }
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); }