?> <div class="post-planner-meta-side-control"> <?php do_action('post_planner_before_todolist_metabox'); ?> <input type="hidden" name="post-planner-id" id="post-planner-checklist-id" value="<?php echo absint($post->ID); ?> " /> <ul id="post-planner-todolist"> <?php $user = CTDL_Lib::get_user_id($current_user, $userdata); $planner_id = $post->ID; $todo_items = PostPlanner_Lib::get_todos($planner_id, $user); $show_completed = PostPlanner_Loader::$settings['ctdl_completed']; if ($todo_items->have_posts()) { while ($todo_items->have_posts()) { $todo_items->the_post(); $pp_todo_id = get_the_ID(); ?> <li class="post-planner-todolist-item" id="todo-<?php echo esc_attr($pp_todo_id); ?> "> <input type="checkbox" id="<?php echo esc_attr($pp_todo_id); ?>
/** * Loop through to-do items * * @param int $completed * @param int $cat_id * @param int $limit */ protected function loop_through_todos($completed = 0, $cat_id = 0, $limit = 5000) { global $current_user, $userdata; $user = CTDL_Lib::get_user_id($current_user, $userdata); // if categories are enabled and sort order is set to cat id and we're not getting todos for a specific category if (CTDL_Loader::$settings['categories'] == 1 && CTDL_Loader::$settings['sort_order'] == 'cat_id' && $cat_id == 0) { $categories = CTDL_Categories::get_categories(); $items = 0; $visible = 0; $headings = 0; $posts_to_exclude = array(); $visibility = get_option('CTDL_categories'); foreach ($categories as $category) { $visible = $visibility["category_{$category->term_id}"]; $todo_items = CTDL_Lib::get_todos($user, 5000, $completed, $category->term_id); if ($todo_items->have_posts()) { if ($headings == 0) { $headings = $this->show_table_headings($completed); } array_splice($posts_to_exclude, count($posts_to_exclude), 0, $this->show_todo_list_items($todo_items, $completed, $visible)); $items = 1; } } $todo_items = CTDL_Lib::get_todos($user, 5000, $completed, 0, $posts_to_exclude); if ($todo_items->have_posts()) { if ($headings == 0) { $this->show_table_headings($completed); } $this->show_todo_list_items($todo_items, $completed); $items = 1; } if ($items == 0) { if ($completed == 0) { $this->list .= '<tr><td>' . apply_filters('ctdl_no_items', esc_html__('No items to do.', 'cleverness-to-do-list')) . '</td></tr>'; } else { $this->list .= '<tr><td>' . apply_filters('ctdl_no_completed_items', esc_html__('No completed items.', 'cleverness-to-do-list')) . '</td></tr>'; } } } else { $todo_items = CTDL_Lib::get_todos($user, 5000, $completed, $cat_id); if ($todo_items->have_posts()) { $this->show_table_headings($completed); $this->show_todo_list_items($todo_items, $completed); } else { if ($completed == 0) { $this->list .= '<tr><td>' . apply_filters('ctdl_no_items', esc_html__('No items to do.', 'cleverness-to-do-list')) . '</td></tr>'; } else { $this->list .= '<tr><td>' . apply_filters('ctdl_no_completed_items', esc_html__('No completed items.', 'cleverness-to-do-list')) . '</td></tr>'; } } } }
/** * Displays a To-Do List * @static * @param $planner_id * @since 1.1 */ public static function display_todolist($planner_id) { global $current_user, $userdata; echo '<div class="post-planner-box">'; do_action('post_planner_before_todolist'); echo '<ul id="post-planner-todolist">'; $user = CTDL_Lib::get_user_id($current_user, $userdata); $todo_items = PostPlanner_Lib::get_todos($planner_id, $user); $show_completed = PostPlanner_Loader::$settings['ctdl_completed']; if ($todo_items->have_posts()) { while ($todo_items->have_posts()) { $todo_items->the_post(); $id = get_the_ID(); ?> <li class="post-planner-todolist-item" id="todo-<?php echo esc_attr($id); ?> "> <input type="checkbox" id="<?php echo esc_attr($id); ?> " name="<?php echo esc_attr($id); ?> " <?php if ($show_completed == 1) { echo 'class="show-completed"'; } ?> value="1" /> <div><?php echo apply_filters('the_content', get_the_content()); do_action('post_planner_todo_meta', $id); ?> </div> </li> <?php } } else { echo apply_filters('post_planner_no_todo_items', esc_html__('There are no items to do.', 'post-planner')); } wp_reset_query(); echo '</ul>'; $permission = CTDL_Lib::check_permission('todo', 'add'); if ($permission == true) { echo '<p><a class="button-secondary floatright" href="' . admin_url('/admin.php?page=cleverness-to-do-list&planner=' . absint($planner_id)) . '#addtodo">' . apply_filters('post_planner_add_todo', esc_html__('Add New To-Do Item', 'post-planner')) . ' »</a></p>'; echo '<div class="clear"></div>'; } if ($show_completed == 1) { ?> <ul id="post-planner-todolist-completed"> <?php $todo_items = PostPlanner_Lib::get_todos($planner_id, $user, -1, 1); if ($todo_items->have_posts()) { while ($todo_items->have_posts()) { $todo_items->the_post(); $pp_todo_id = get_the_ID(); ?> <li class="post-planner-todolist-item" id="todo-<?php echo esc_attr($pp_todo_id); ?> "> <input type="checkbox" id="<?php echo esc_attr($pp_todo_id); ?> " name="<?php echo esc_attr($pp_todo_id); ?> " <?php if ($show_completed == 1) { echo 'class="show-completed"'; } ?> value="0" checked="checked" /> <div><?php echo apply_filters('the_content', get_the_content()); do_action('post_planner_todo_completed_meta', $pp_todo_id); ?> </div> </li> <?php } } else { echo apply_filters('post_planner_no_completed_todo_items', esc_html__('There are no completed items.', 'post-planner')); } wp_reset_query(); ?> </ul> <?php } do_action('post_planner_after_todolist'); echo '</div>'; }