/** * Insert new to-do item into the database * @static * @return mixed */ public static function insert_todo() { global $current_user; if ($_POST['cleverness_todo_description'] == '') { return; } $permission = CTDL_Lib::check_permission('todo', 'add'); if ($permission === true) { if (!wp_verify_nonce($_REQUEST['todoadd'], 'todoadd')) { die(esc_html__('Security check failed', 'cleverness-to-do-list')); } $send_email = apply_filters('ctdl_send_email', CTDL_Loader::$settings['email_assigned']); $my_post = array('post_type' => 'todo', 'post_title' => substr($_POST['cleverness_todo_description'], 0, 100), 'post_content' => $_POST['cleverness_todo_description'], 'post_status' => 'publish', 'post_author' => $current_user->ID, 'comment_status' => 'closed', 'ping_status' => 'closed'); $post_id = wp_insert_post($my_post); if (isset($_POST['cat'])) { wp_set_post_terms($post_id, absint($_POST['cat']), 'todocategories', false); } add_post_meta($post_id, '_status', 0, true); $priority = isset($_POST['cleverness_todo_priority']) ? absint($_POST['cleverness_todo_priority']) : 1; add_post_meta($post_id, '_priority', $priority, true); $assign_permission = CTDL_Lib::check_permission('todo', 'assign'); // if user can assign to-do items if ($assign_permission == true) { $assign = isset($_POST['cleverness_todo_assign']) ? $_POST['cleverness_todo_assign'] : -1; if (is_array($assign)) { foreach ($assign as $value) { add_post_meta($post_id, '_assign', $value); } } else { add_post_meta($post_id, '_assign', $assign); } if ($send_email == '1' && CTDL_Loader::$settings['assign'] == '0') { $deadline = isset($_POST['cleverness_todo_deadline']) ? $_POST['cleverness_todo_deadline'] : 0; $cat = isset($_POST['cat']) ? $_POST['cat'] : 0; $planner = isset($_POST['cleverness_todo_planner']) ? $_POST['cleverness_todo_planner'] : 0; CTDL_Lib::email_user($assign, $deadline, $cat, $planner); } } else { // if user can't assign items, but settings are set to assign items and show only assigned items, then assign it to that user if (CTDL_Loader::$settings['list_view'] != 0 && CTDL_Loader::$settings['assign'] == 0 && CTDL_Loader::$settings['show_only_assigned'] == 0) { add_post_meta($post_id, '_assign', $current_user->ID); } } $deadline = isset($_POST['cleverness_todo_deadline']) && $_POST['cleverness_todo_deadline'] != '' ? strtotime($_POST['cleverness_todo_deadline']) : ''; add_post_meta($post_id, '_deadline', $deadline, true); $progress = isset($_POST['cleverness_todo_progress']) ? $_POST['cleverness_todo_progress'] : 0; add_post_meta($post_id, '_progress', $progress, true); if (isset($_POST['cleverness_todo_planner'])) { add_post_meta($post_id, '_planner', absint($_POST['cleverness_todo_planner'])); } } return; }