<?php cp_project_links(); ?> </div> <div class="project-breadcrumb"> <h3 class="project-title"><?php cp_project_title(); ?> </h3> </div> <?php $task_status = cp_get_task_status(cp_get_the_task_ID()); ?> <?php $title_class = $task_status; ?> <input type="hidden" id="item-complete-status-change-nonce_<?php echo cp_get_task_id(); ?> " value="<?php echo wp_create_nonce('item-complete-status-change_' . cp_get_task_id()); ?> " /> <h3 id="task-title" class="<?php echo $title_class; ?> "><input id="item-completed" type="checkbox" <?php
/** * Returns the menu formatted to edit. * * @since 1.3 * * @param string $menu_id The ID of the menu to format. * @return string|WP_Error $output The menu formatted to edit or error object on failure. */ function cp_output_project_nested_task_lists_and_tasks_html_for_sort($project_id = 0) { $tasks_without_task_lists = get_posts(array('posts_per_page' => -1, 'post_type' => 'cp-tasks', 'meta_query' => array(array('key' => '_cp-project-id', 'value' => $project_id), array('key' => '_cp-task-list-id', 'value' => 0)))); $task_lists = get_posts(array('posts_per_page' => -1, 'post_type' => array('cp-task-lists'), 'meta_query' => array(array('key' => '_cp-project-id', 'value' => $project_id)))); $tasks_and_task_lists = array_merge($tasks_without_task_lists, $task_lists); uasort($tasks_and_task_lists, 'cp_compare_tasks_and_task_lists'); $tasks_and_task_lists = array_values($tasks_and_task_lists); $result = '<div id="menu-instructions" class="post-body-plain'; $result .= !empty($menu_items) ? ' menu-instructions-inactive">' : '">'; if (empty($tasks_and_task_lists)) { $result .= '<p>' . __('Next, add your first task in this project.') . '</p>'; } $result .= '</div>'; $result .= '<ul class="menu" id="menu-to-edit"> '; $hide_completed_tasks_style = get_user_option('display_completed_tasks') ? 'style="display:none"' : ''; // Output the HTML for each item. // Hacked from Walker_Nav_Menu_Edit::start_el() foreach ($tasks_and_task_lists as $item) { ob_start(); $item_id = $item->ID; $title = $item->post_title; $task_status = cp_get_task_status($item->ID); ?> <li id="menu-item-<?php echo $item_id; ?> " class="menu-item menu-item-depth-0 <?php echo $task_status; ?> <?php if ($task_status == 'complete') { echo $hide_completed_tasks_style; } ?> "> <dl class="menu-item-bar"> <dt class="menu-item-handle"> <?php if ($item->post_type == 'cp-tasks') { ?> <input type="hidden" id="item-complete-status-change-nonce_<?php echo $item_id; ?> " value="<?php echo wp_create_nonce('item-complete-status-change_' . $item_id); ?> " /> <input class="item-completed" type="checkbox" <?php checked('complete', $task_status); ?> /> <?php } ?> <span class="item-title"> <?php if ($item->post_type == 'cp-tasks') { // for now, only display a link for tasks. ?> <a href="<?php echo get_permalink($item_id); ?> "><?php echo esc_html($title); ?> </a> <?php } else { // add a link to task lists if we make a template for them. ?> <?php echo esc_html($title); ?> <?php } ?> </span> <span class="item-controls"> <a href="javascript:void(0);" class="delete-task" data-id="<?php echo $item_id; ?> ">delete</a> <input type="hidden" id="delete_task_nonce_<?php echo $item_id; ?> " value="<?php echo wp_create_nonce('delete-task_' . $item_id); ?> " /> </span> </dt> </dl> <div class="menu-item-settings" id="menu-item-settings-<?php echo $item_id; ?> "> <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $item_id; ?> ]" value="<?php echo $item_id; ?> " /> <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->object_id); ?> " /> <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->object); ?> " /> <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->menu_item_parent); ?> " /> <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->menu_order); ?> " /> <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $item_id; ?> ]" value="<?php echo esc_attr($item->post_type); ?> " /> </div><!-- .menu-item-settings--> <ul class="menu-item-transport"></ul> <?php $task_list_tasks = get_posts(array('posts_per_page' => -1, 'post_type' => 'cp-tasks', 'meta_query' => array(array('key' => '_cp-project-id', 'value' => $project_id), array('key' => '_cp-task-list-id', 'value' => $item_id)), 'orderby' => 'menu_order', 'order' => 'ASC')); if (!empty($task_list_tasks)) { foreach ($task_list_tasks as $task) { $title = $task->post_title; $task_status = cp_get_task_status($task->ID); ?> <li id="menu-item-<?php echo $task->ID; ?> " class="menu-item menu-item-depth-1 <?php echo $task_status; ?> "> <dl class="menu-item-bar"> <dt class="menu-item-handle"> <input type="hidden" id="item-complete-status-change-nonce_<?php echo $task->ID; ?> " value="<?php echo wp_create_nonce('item-complete-status-change_' . $task->ID); ?> " /> <input class="item-completed" type="checkbox" <?php checked('complete', $task_status); ?> > <span class="item-title"><a href="<?php echo get_permalink($task->ID); ?> "><?php echo esc_html($title); ?> </a><span> <span class="item-controls"> <a href="javascript:void(0);" class="delete-task" data-id="<?php echo $task->ID; ?> ">delete</a> <input type="hidden" id="delete_task_nonce_<?php echo $task->ID; ?> " value="<?php echo wp_create_nonce('delete-task_' . $task->ID); ?> " /> </span> </dt> </dl> <div class="menu-item-settings" id="menu-item-settings-<?php echo $task->ID; ?> "> <input class="menu-item-data-db-id" type="hidden" name="menu-item-db-id[<?php echo $task->ID; ?> ]" value="<?php echo $task->ID; ?> " /> <input class="menu-item-data-object-id" type="hidden" name="menu-item-object-id[<?php echo $task->ID; ?> ]" value="<?php echo esc_attr($task->object_id); ?> " /> <input class="menu-item-data-object" type="hidden" name="menu-item-object[<?php echo $task->ID; ?> ]" value="<?php echo esc_attr($task->object); ?> " /> <input class="menu-item-data-parent-id" type="hidden" name="menu-item-parent-id[<?php echo $task->ID; ?> ]" value="<?php echo esc_attr($task->menu_item_parent); ?> " /> <input class="menu-item-data-position" type="hidden" name="menu-item-position[<?php echo $task->ID; ?> ]" value="<?php echo esc_attr($task->menu_order); ?> " /> <input class="menu-item-data-type" type="hidden" name="menu-item-type[<?php echo $task->ID; ?> ]" value="<?php echo esc_attr($task->post_type); ?> " /> </div><!-- .menu-item-settings--> <ul class="menu-item-transport"></ul> <?php } } $result .= ob_get_clean(); } $result .= ' </ul> '; echo $result; }