<?php cpm_get_email_header(); $task_data = cpm()->task->get_task($task_id); $due_date = cpm_get_date($task_data->due_date); if (!empty($due_date)) { $next_name = sprintf('<em style="font-family: lato; color: #B3B3B3; ">%s</em> <strong style="font-family: lato; color: #7e7e7e;"> <span style="padding-right: 5px;">%s</span>', __('Due Date ', 'cpm'), $due_date); } else { $next_name = ''; } $tpbk = CPM_URL . '/assets/images/tpbk.png'; $author = wp_get_current_user(); // $template_vars = array( // '%SITE%' => wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ), // '%PROJECT_NAME%' => get_post_field( 'post_title', $project_id ), // '%PROJECT_URL%' => '<a style="text-decoration: none;" href="'.cpm_url_project_details( $project_id ).'">'.get_post_field( 'post_title', $project_id ).'</a>', // '%AUTHOR%' => $user->display_name, // '%AUTHOR_EMAIL%' => $user->user_email, // '%TASKLIST_URL%' => '<a style="text-decoration: none;" href="'.cpm_url_single_tasklist($project_id, $list_id).'">'.get_post_field( 'post_title', $list_id ).'</a>', // '%TASK_URL%' => '<a style="text-decoration: none;" href="'.cpm_url_single_task( $project_id, $list_id, $task_id ).'">'.get_post_field( 'post_title', $task_id ).'</a>', // '%TASK%' => $data['post_content'], // '%IP%' => get_ipaddress() // ); // $subject = cpm_get_option( 'new_task_sub' ); // $message = cpm_get_content( cpm_get_option( 'new_task_body' ) ); // // subject // foreach ($template_vars as $key => $value) { // $subject = str_replace( $key, $value, $subject ); // }
<?php $project_users = CPM_Project::getInstance()->get_users($project_id); $users = array(); $task_data = cpm()->task->get_task($task_id); $due_date = cpm_get_date(current_time('mysql')); if (!empty($due_date)) { $next_name = sprintf('<em style="font-family: lato; color: #B3B3B3; ">%s</em> <strong style="font-family: lato; color: #7e7e7e;"> <span style="padding-right: 5px;">%s</span>', __('Date ', 'cpm'), $due_date); } else { $next_name = ''; } if (is_array($project_users) && count($project_users)) { foreach ($project_users as $user_id => $role_array) { if ($role_array['role'] == 'manager') { if ($this->filter_email($user_id)) { // $users[$user_id] = sprintf( '%s (%s)', $role_array['name'], $role_array['email'] ); $users[$user_id] = sprintf('%s', $role_array['email']); } } } } if (!$users) { return; } cpm_get_email_header(); $tpbk = CPM_URL . '/assets/images/tpbk.png'; $completed_user = get_user_by('id', $data->completed_by); // $template_vars = array( // '%SITE%' => wp_specialchars_decode( get_option( 'blogname' ), ENT_QUOTES ),
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'); ?> <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 } ?> <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 } ?> </ul> </h3> <div class="detail"> <?php echo cpm_get_content($milestone->post_content); ?> </p> </div> </div> <div class="cpm-milestone-edit-form"></div> <?php $tasklists = $milestone_obj->get_tasklists($milestone->ID); $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); 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 }
/** * Prints project activities * * @since 0.3.1 * * @param array $activities * @return string */ function cpm_projects_activity_html($activities) { global $_get_shorcode_attr; $list = array(); $html = ''; foreach ($activities as $activity) { cpm_custom_do_shortcode($activity->comment_content); $task_privacy = cpm_check_task_privicy($_get_shorcode_attr, $activity); $tasklist_privacy = cpm_check_tasklist_privicy($_get_shorcode_attr, $activity); $milestone_privacy = cpm_check_milestone_privicy($_get_shorcode_attr, $activity); $message_privacy = cpm_check_message_privicy($_get_shorcode_attr, $activity); $_get_shorcode_attr = ''; if (!$task_privacy || !$tasklist_privacy || !$milestone_privacy || !$message_privacy) { continue; } $date = strtotime(date('F j, Y', strtotime($activity->comment_date))); $list[$date][] = $activity; } foreach ($list as $key => $items) { $html .= sprintf('<li class="cpm-progress-wrap"><div class="cpm-activity-heads"><span>%s</span></div><ul>', date_i18n('F j, Y', $key)); foreach ($items as $activity) { $post = get_post($activity->comment_post_ID); $project_url = cpm_url_project_details($activity->comment_post_ID); $title = '<a class="cpm-progress-label" href="' . $project_url . '">' . $post->post_title . '</a>'; cpm_custom_do_shortcode($activity->comment_content); $task_privacy = cpm_check_task_privicy($_get_shorcode_attr, $activity); $tasklist_privacy = cpm_check_tasklist_privicy($_get_shorcode_attr, $activity); $milestone_privacy = cpm_check_milestone_privicy($_get_shorcode_attr, $activity); $message_privacy = cpm_check_message_privicy($_get_shorcode_attr, $activity); $_get_shorcode_attr = ''; if (!$task_privacy || !$tasklist_privacy || !$milestone_privacy || !$message_privacy) { continue; } $html .= sprintf('<li>%s <span class="date">%s %s</span></li>', $title, do_shortcode($activity->comment_content), cpm_get_date($activity->comment_date, true)); } $html .= '</li></ul>'; } return $html; }
<h3 class="cpm-nav-title"><?php _e('Messages', 'cpm'); ?> </h3> <div class="cpm-single"> <h3 class="cpm-entry-title"><?php echo get_the_title($message_id); ?> </h3> <div class="cpm-entry-meta"> <span class="cpm-date"><?php echo cpm_get_date($message->post_date); ?> </span> <span class="cpm-separator">|</span> <span class="cpm-date"><?php echo cpm_url_user($message->post_author); ?> </span> <span class="cpm-separator">|</span> <span class="cpm-comment-num"><?php echo cpm_get_number($message->comment_count); ?> </span> <span class="cpm-separator">|</span> <span class="cpm-edit-link"> <a href="#" data-msg_id="<?php
/** * Prints project activities * * @since 0.3.1 * * @param array $activities * @return string */ function cpm_activity_html($activities) { $list = array(); $html = ''; foreach ($activities as $activity) { $date = strtotime(date('F j, Y', strtotime($activity->comment_date))); $list[$date][] = $activity; } foreach ($list as $key => $items) { $html .= sprintf('<li><div class="cpm-activity-heads">%s</div><ul>', date_i18n('F j, Y', $key)); foreach ($items as $activity) { $html .= sprintf('<li>%s <span class="date">- %s</span></li>', do_shortcode($activity->comment_content), cpm_get_date($activity->comment_date, true)); } $html .= '</li></ul>'; } return $html; }
* Project dashboard page */ cpm_get_header( __( 'Activity', 'cpm' ), $project_id ); ?> <h3 class="cpm-nav-title"> <?php _e( 'Project Activity', 'wedevs' ); ?> <?php if ( current_user_can( 'delete_others_posts' ) ) { //editor ?> <span class="cpm-right"> <a href="#" class="cpm-icon-delete cpm-project-delete-link" title="<?php esc_attr_e( 'Delete project', 'cpm' ); ?>" <?php cpm_data_attr( array('confirm' => 'Are you sure to delete this project', 'project_id' => $project_id) ) ?>> <span><?php _e( 'Delete', 'cpm' ); ?></span> </a> </span> <?php } ?> </h3> <ul class="cpm-activity dash"> <?php $activities = CPM_Comment::getInstance()->get_comments( $project_id, 'DESC' ); if ( $activities ) { foreach ($activities as $activity) { ?> <li> <?php echo do_shortcode( $activity->comment_content ); ?> <span class="date">- <?php echo cpm_get_date( $activity->comment_date, true ); ?></span> </li> <? } } ?> </ul>
<span class="cpm-comment-count"> <a href="<?php echo cpm_url_single_task($project_id, $task->task_list_id, $task->task_id); ?> "> <?php printf(_n(__('1 Comment', 'cpm'), __('%d Comments', 'cpm'), $task->comment_count, 'cpm'), $task->comment_count); ?> </a> </span> <?php } ?> <?php $completion_time = cpm_get_date(get_post_meta($task->task_id, '_completed_on', true), true); ?> <span class="cpm-completed-by"> <?php printf(__('(Completed by %s on %s)', 'cpm'), $current_user->display_name, $completion_time); ?> </span> </span> </div> </li> <?php }
/** * Prints project activities * * @since 0.3.1 * * @param array $activities * @return string */ function cpm_activity_html($activities) { global $_get_shorcode_attr; $list = array(); $html = ''; foreach ($activities as $activity) { cpm_custom_do_shortcode($activity->comment_content); $task_privacy = cpm_check_task_privicy($_get_shorcode_attr, $activity); $tasklist_privacy = cpm_check_tasklist_privicy($_get_shorcode_attr, $activity); $milestone_privacy = cpm_check_milestone_privicy($_get_shorcode_attr, $activity); $message_privacy = cpm_check_message_privicy($_get_shorcode_attr, $activity); $_get_shorcode_attr = ''; if (!$task_privacy || !$tasklist_privacy || !$milestone_privacy || !$message_privacy) { continue; } $date = strtotime(date('F j, Y', strtotime($activity->comment_date))); $list[$date][] = $activity; } foreach ($list as $key => $items) { $html .= sprintf('<li><div class="cpm-activity-heads">%s</div><ul>', date_i18n('F j, Y', $key)); foreach ($items as $activity) { cpm_custom_do_shortcode($activity->comment_content); $task_privacy = cpm_check_task_privicy($_get_shorcode_attr, $activity); $tasklist_privacy = cpm_check_tasklist_privicy($_get_shorcode_attr, $activity); $milestone_privacy = cpm_check_milestone_privicy($_get_shorcode_attr, $activity); $message_privacy = cpm_check_message_privicy($_get_shorcode_attr, $activity); $_get_shorcode_attr = ''; if (!$task_privacy || !$tasklist_privacy || !$milestone_privacy || !$message_privacy) { continue; } $html .= sprintf('<li>%s <span class="date">- %s</span></li>', do_shortcode($activity->comment_content), cpm_get_date($activity->comment_date, true)); } $html .= '</li></ul>'; } return $html; }