Пример #1
0
 function delete_task()
 {
     check_ajax_referer('cpm_nonce');
     $task_id = (int) $_POST['task_id'];
     $list_id = (int) $_POST['list_id'];
     $project_id = (int) $_POST['project_id'];
     $task_obj = CPM_Task::getInstance();
     do_action('cpm_delete_task_prev', $task_id, $list_id, $project_id, $task_obj);
     $task_obj->delete_task($task_id, true);
     $complete = $task_obj->get_completeness($list_id, $project_id);
     do_action('cpm_delete_task_after', $task_id, $list_id, $project_id, $task_obj);
     echo json_encode(array('success' => true, 'list_url' => cpm_url_single_tasklist($project_id, $list_id), 'progress' => cpm_task_completeness($complete['total'], $complete['completed'])));
     exit;
 }
Пример #2
0
/**
 * Generates markup for a single milestone
 *
 * @since 0.1
 * @param object $milestone
 * @param int $project_id
 */
function cpm_show_milestone($milestone, $project_id)
{
    $milestone_obj = CPM_Milestone::getInstance();
    $task_obj = CPM_Task::getInstance();
    $due = strtotime($milestone->due_date);
    $is_left = cpm_is_left(time(), $due);
    $milestone_completed = (int) $milestone->completed;
    if ($milestone_completed) {
        $class = 'complete';
    } else {
        $class = $is_left == true ? 'left' : 'late';
    }
    $string = $is_left == true ? __('left', 'cpm') : __('late', 'cpm');
    $milestone_private = $milestone->private == 'yes' ? 'cpm-lock' : 'cpm-unlock';
    ?>
    <div class="cpm-milestone <?php 
    echo $class;
    ?>
">

        <div class="milestone-detail">
            <h3>
                <?php 
    echo $milestone->post_title;
    ?>
                <?php 
    if (!$milestone_completed) {
        ?>
                    <span class="time-left">(<?php 
        printf('%s %s - %s', human_time_diff(time(), $due), $string, cpm_get_date($milestone->due_date));
        ?>
)</span>
                <?php 
    }
    ?>
                <?php 
    if (cpm_user_can_delete_edit($project_id, $milestone)) {
        ?>
                        <ul class="cpm-links cpm-right">
                            <li>
                                <a class="cpm-icon-edit" <?php 
        cpm_data_attr(array('id' => $milestone->ID, 'project_id' => $project_id));
        ?>
 href="#" title="<?php 
        esc_attr_e('Edit milestone', 'cpm');
        ?>
"><span><?php 
        _e('Edit', 'cpm');
        ?>
</span></a>
                            </li>
                            <li>
                                <a class="cpm-icon-delete cpm-milestone-delete" <?php 
        cpm_data_attr(array('project' => $project_id, 'id' => $milestone->ID, 'confirm' => __('Are you sure?', 'cpm')));
        ?>
 title="<?php 
        esc_attr_e('Delete milestone', 'cpm');
        ?>
" href="#"><span><?php 
        _e('Delete', 'cpm');
        ?>
</span></a>
                            </li>

                            <?php 
        if ($milestone->completed == '0') {
            ?>
                                <li><a class="cpm-icon-tick grey cpm-milestone-complete" data-project="<?php 
            echo $project_id;
            ?>
" data-id="<?php 
            echo esc_attr($milestone->ID);
            ?>
" title="<?php 
            esc_attr_e('Mark as complete', 'cpm');
            ?>
" href="#"><span><?php 
            _e('Mark as complete', 'cpm');
            ?>
</span></a></li>
                            <?php 
        } else {
            ?>
                                <li><a class="cpm-icon-tick green cpm-milestone-open" data-project="<?php 
            echo $project_id;
            ?>
" data-id="<?php 
            echo esc_attr($milestone->ID);
            ?>
" title="<?php 
            esc_attr_e('Mark un-complete', 'cpm');
            ?>
" href="#"><span><?php 
            _e('Reopen', 'cpm');
            ?>
</span></a></li>
                            <?php 
        }
        ?>
                            <li>
                                <span class="<?php 
        echo $milestone_private;
        ?>
"></span>
                            </li>
                        </ul>
                <?php 
    }
    ?>
            </h3>

            <div class="detail">
                <?php 
    echo cpm_get_content($milestone->post_content);
    ?>
</p>
            </div>
        </div>

        <div class="cpm-milestone-edit-form"></div>

        <?php 
    if (cpm_user_can_access($project_id, 'tdolist_view_private')) {
        $tasklists = $milestone_obj->get_tasklists($milestone->ID, true);
    } else {
        $tasklists = $milestone_obj->get_tasklists($milestone->ID);
    }
    if (cpm_user_can_access($project_id, 'msg_view_private')) {
        $messages = $milestone_obj->get_messages($milestone->ID, true);
    } else {
        $messages = $milestone_obj->get_messages($milestone->ID);
    }
    if ($tasklists) {
        ?>
            <h3><?php 
        _e('To-do List', 'cpm');
        ?>
</h3>

            <ul class="dash">
                <?php 
        foreach ($tasklists as $tasklist) {
            ?>
                    <li>
                        <a href="<?php 
            echo cpm_url_single_tasklist($project_id, $tasklist->ID);
            ?>
"><?php 
            echo stripslashes($tasklist->post_title);
            ?>
</a>
                        <div class="cpm-right">
                            <?php 
            $complete = $task_obj->get_completeness($tasklist->ID, $project_id);
            echo cpm_task_completeness($complete['total'], $complete['completed']);
            ?>
                        </div>
                        <div class="cpm-clear"></div>
                    </li>
                <?php 
        }
        ?>
            </ul>

        <?php 
    }
    ?>

        <?php 
    if ($messages) {
        ?>
            <h3><?php 
        _e('Messages', 'cpm');
        ?>
</h3>

            <ul class="dash">
                <?php 
        foreach ($messages as $message) {
            ?>
                    <li>
                        <a href="<?php 
            echo cpm_url_single_message($project_id, $message->ID);
            ?>
"><?php 
            echo stripslashes($message->post_title);
            ?>
</a>
                        (<?php 
            echo cpm_get_date($message->post_date, true);
            ?>
 | <?php 
            echo get_the_author_meta('display_name', $message->post_author);
            ?>
)
                    </li>
                <?php 
        }
        ?>
            </ul>

        <?php 
    }
    ?>

        <?php 
    if ($milestone_completed) {
        ?>
            <span class="cpm-milestone-completed">
                <?php 
        _e('Completed on:', 'cpm');
        ?>
 <?php 
        echo cpm_get_date($milestone->completed_on, true);
        ?>
            </span>
        <?php 
    }
    ?>
    </div>
    <?php 
}
Пример #3
0
                <div class="cpm-project-meta">
                    <?php 
    echo cpm_project_summary($project->info);
    ?>
                </div>
                <footer class="cpm-project-people">
                    <?php 
    foreach ($project->users as $user) {
        echo get_avatar($user['id'], 48, '', $user['name']);
    }
    ?>
                </footer>
            </a>
            <?php 
    $progress = $project_obj->get_progress_by_tasks($project->ID);
    echo cpm_task_completeness($progress['total'], $progress['completed']);
    ?>
        </article>

    <?php 
}
?>

</div>

<?php 
cpm_pagination($total_projects, $limit, $pagenum);
?>

<div id="cpm-project-dialog" title="<?php 
_e('Start a new project', 'cpm');
Пример #4
0
    /**
     * List all projects
     *
     * @since 1.0
     */
    function list_projects()
    {
        $project_obj = CPM_Project::getInstance();
        $projects = $project_obj->get_projects();
        $status_class = isset($_GET['status']) ? $_GET['status'] : 'active';
        if (function_exists('cpm_project_count')) {
            $count = cpm_project_count();
        }
        ?>

        <div class="icon32" id="icon-themes"><br></div>
        <h2><?php 
        _e('Project Manager', 'cpm');
        ?>
</h2>

        <?php 
        if (function_exists('cpm_project_filters')) {
            cpm_project_filters();
        }
        ?>

        <div class="cpm-projects">

            <?php 
        if (function_exists('cpm_project_filters')) {
            ?>
                <ul class="list-inline order-statuses-filter">
                    <li<?php 
            echo $status_class == 'all' ? ' class="active"' : '';
            ?>
>
                        <a href="<?php 
            echo cpm_url_all();
            ?>
"><?php 
            _e('All', 'cpm');
            ?>
</a>
                    </li>
                    <li<?php 
            echo $status_class == 'active' ? ' class="active"' : '';
            ?>
>
                        <a class="cpm-active" href="<?php 
            echo cpm_url_active();
            ?>
"><?php 
            printf(__('Active (%d)', 'cpm'), $count['active']);
            ?>
</a>
                    </li>
                    <li<?php 
            echo $status_class == 'archive' ? ' class="active"' : '';
            ?>
>
                        <a class="cpm-archive-head" href="<?php 
            echo cpm_url_archive();
            ?>
"><?php 
            printf(__('Completed (%d)', 'cpm'), $count['archive']);
            ?>
</a>
                    </li>
                </ul>
            <?php 
        }
        ?>

            <?php 
        if (cpm_manage_capability('project_create_role')) {
            ?>
                <nav class="cpm-new-project">
                    <a href="#" id="cpm-create-project"><span><?php 
            _e('New Project', 'cpm');
            ?>
</span></a>
                </nav>
            <?php 
        }
        ?>

            <?php 
        foreach ($projects as $project) {
            if (!$project_obj->has_permission($project)) {
                continue;
            }
            ?>
                <article class="cpm-project">
                    <?php 
            if (cpm_is_project_archived($project->ID)) {
                ?>
                        <div class="cpm-completed-wrap"><div class="ribbon-green"><?php 
                _e('Completed', 'cpm');
                ?>
</div></div>
                    <?php 
            }
            ?>

                    <a href="<?php 
            echo cpm_url_project_details($project->ID);
            ?>
">
                        <h5><?php 
            echo get_the_title($project->ID);
            ?>
</h5>

                        <div class="cpm-project-detail"><?php 
            echo cpm_excerpt($project->post_content, 55);
            ?>
</div>
                        <div class="cpm-project-meta">
                            <?php 
            echo cpm_project_summary($project->info);
            ?>
                        </div>

                        <footer class="cpm-project-people">
                            <div class="cpm-scroll">
                            <?php 
            if (count($project->users)) {
                foreach ($project->users as $id => $user_meta) {
                    echo get_avatar($id, 48, '', $user_meta['name']);
                }
            }
            ?>
                            </div>
                        </footer>
                    </a>

                    <?php 
            $progress = $project_obj->get_progress_by_tasks($project->ID);
            echo cpm_task_completeness($progress['total'], $progress['completed']);
            if (cpm_user_can_access($project->ID)) {
                cpm_project_actions($project->ID);
            }
            ?>


                </article>

            <?php 
        }
        ?>

        </div>

        <div id="cpm-project-dialog" title="<?php 
        _e('Start a new project', 'cpm');
        ?>
" style="display: none;">
            <?php 
        if ($project_obj->has_admin_rights()) {
            ?>
                <?php 
            cpm_project_form();
            ?>
            <?php 
        }
        ?>
        </div>

        <div id="cpm-create-user-wrap">
            <?php 
        if ($project_obj->has_admin_rights()) {
            ?>
                <?php 
            cpm_user_create_form();
            ?>
            <?php 
        }
        ?>
        </div>


        <script type="text/javascript">
            jQuery(function($) {
                $( "#cpm-project-dialog, #cpm-create-user-wrap" ).dialog({
                    autoOpen: false,
                    modal: true,
                    dialogClass: 'cpm-ui-dialog',
                    width: 485,
                    height: 425,
                    position:['middle', 100]
                });
            });

            jQuery(function($) {
                $( "#cpm-create-user-wrap" ).dialog({
                    autoOpen: false,
                    modal: true,
                    dialogClass: 'cpm-ui-dialog',
                    width: 400,
                    height: 353,
                    position:['middle', 100]
                });
            });
        </script>
        <?php 
    }