/** * new_lecture_screen( $vars ) * * Hooks into screen_handler * Adds a UI to add new lectures. * * @param Array $vars a set of variables received for this screen template * @return Array $vars a set of variable passed to this screen template */ function new_lecture_screen($vars) { global $bp; $nonce_name = 'new_lecture'; if (!$this->has_lecture_caps($bp->loggedin_user->id) && !is_super_admin()) { $vars['die'] = __('BuddyPress Courseware Error while forbidden user tried to add a new lecture.', 'bpsp'); return $vars; } // Save new lecture $course = reset(BPSP_Courses::has_courses($bp->groups->current_group->id)); if (isset($_POST['lecture']) && $_POST['lecture']['object'] == 'group' && isset($_POST['_wpnonce'])) { $new_lecture = $_POST['lecture']; $is_nonce = wp_verify_nonce($_POST['_wpnonce'], $nonce_name); if (true != $is_nonce) { $vars['error'] = __('Nonce Error while adding a lecture.', 'bpsp'); } else { if (isset($new_lecture['title']) && isset($new_lecture['content']) && isset($new_lecture['group_id'])) { $new_lecture['title'] = strip_tags($new_lecture['title']); $new_lecture_id = wp_insert_post(array('post_author' => $bp->loggedin_user->id, 'post_title' => $new_lecture['title'], 'post_content' => $new_lecture['content'], 'post_parent' => isset($new_lecture['parent']) ? intval($new_lecture['parent']) : 0, 'menu_order' => isset($new_lecture['order']) ? intval($new_lecture['order']) : 0, 'post_status' => 'publish', 'post_type' => 'lecture')); if ($new_lecture_id) { wp_set_post_terms($new_lecture_id, $new_lecture['group_id'], 'group_id'); wp_set_post_terms($new_lecture_id, $course->ID, 'course_id'); self::$current_lecture = $this->is_lecture($new_lecture_id); $vars['message'] = __('New lecture was added.', 'bpsp'); do_action('courseware_lecture_added', self::$current_lecture); do_action('courseware_lecture_activity', self::$current_lecture, 'add'); return $this->single_lecture_screen($vars); } else { $vars['error'] = __('New lecture could not be added.', 'bpsp'); } } else { $vars['error'] = __('Please fill in all the fields.', 'bpsp'); } } } $vars['posted_data'] = isset($_POST['lecture']) ? $_POST['lecture'] : false; $vars['course'] = $course; $vars['lectures'] = $this->has_lectures($bp->groups->current_group->id); $vars['name'] = 'new_lecture'; $vars['group_id'] = $bp->groups->current_group->id; $vars['user_id'] = $bp->loggedin_user->id; $vars['nonce'] = wp_nonce_field($nonce_name, '_wpnonce', true, false); $vars['trail'] = array($vars['course']->post_title => $vars['course']->permalink, __('New Lecture') => ''); return $vars; }