?>
<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')) . ' &raquo;</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>';
    }