function bp_gtm_get_projects($group_id = false, $filter = false) { if ($filter == 'done' || $filter == 'undone') { $projects = BP_GTM_Projects::get_done($filter, $group_id); } elseif ($filter == 'alpha') { $projects = BP_GTM_Projects::get_alpha($group_id); } elseif ($filter == 'deadline') { $projects = BP_GTM_Projects::get_deadline($group_id); } elseif ($filter == 'group') { $projects = BP_GTM_Projects::get_all($group_id); } return $projects; }
<div id="post-count" class="pag-count"> <?php bp_gtm_project_terms($project['0']->id, 'tag', true); ?> | <?php bp_gtm_project_terms($project['0']->id, 'cat', true); ?> </div> <div class="pagination-links" id="topic-pag"> <p><?php _e('Deadline', 'bp_gtm'); echo ': ' . bp_gtm_get_format_date($project['0']->deadline); ?> | <?php $count_tasks = BP_GTM_Projects::get_count_tasks($project['0']->id, $bp->groups->current_group->id); if ($count_tasks['all'] > 0) { $percent = round($count_tasks['done'] * 100 / $count_tasks['all'], 2) . '%'; echo sprintf(_n('%d task left out of %d: %s done', '%d tasks left out of %d: %s done', $count_tasks['undone'], $count_tasks['all'], $percent, 'bp_gtm'), $count_tasks['undone'], $count_tasks['all'], $percent); } else { _e('There are no tasks yet.', 'bp_gtm'); } ?> </p> </div> </div> <?php if ($bp_gtm_group_settings['discuss'] == 'on' && bp_gtm_check_access('discuss_view')) { ?> <ul id="topic-post-list" class="item-list discussions">
function bp_gtm_done_item() { global $bp, $wpdb; if ($_GET['doneAction'] == 'done') { if ($_GET['doneType'] == 'projects') { $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_projects . " SET `done` = '1' WHERE `id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_tasks . " SET `done` = '1' WHERE `project_id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $project = BP_GTM_Projects::get_project_by_id($_GET['doneID']); $resps = explode(' ', $project['0']->resp_id); foreach ($resps as $resp) { if ($resp != '') { $resp_id = bp_core_get_userid($resp); if ($resp_id != $bp->loggedin_user->id) { bp_core_add_notification($_GET['doneID'], $resp_id, $bp->gtm->slug, 'project_done', $bp->groups->current_group->id); } } } } elseif ($_GET['doneType'] == 'tasks') { $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_tasks . " SET `done` = '1' WHERE `id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_tasks . " SET `done` = '1' WHERE `parent_id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $task = BP_GTM_Tasks::get_task_by_id($_GET['doneID']); $resps = explode(' ', $task['0']->resp_id); foreach ($resps as $resp) { if ($resp != '') { $resp_id = bp_core_get_userid($resp); if ($resp_id != $bp->loggedin_user->id) { bp_core_add_notification($_GET['doneID'], $resp_id, $bp->gtm->slug, 'task_done', $bp->groups->current_group->id); } } } } } elseif ($_GET['doneAction'] == 'undone') { if ($_GET['doneType'] == 'projects') { $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_projects . " SET `done` = '0' WHERE `id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); // $wpdb->query( $wpdb->prepare("UPDATE ".$bp->gtm->table_tasks." SET `done` = '0' WHERE `project_id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $project = BP_GTM_Projects::get_project_by_id($_GET['doneID']); $resps = explode(' ', $project['0']->resp_id); foreach ($resps as $resp) { if ($resp != '') { $resp_id = bp_core_get_userid($resp); if ($resp_id != $bp->loggedin_user->id) { bp_core_add_notification($_GET['doneID'], $resp_id, $bp->gtm->slug, 'project_undone', $bp->groups->current_group->id); } } } } elseif ($_GET['doneType'] == 'tasks') { $wpdb->query($wpdb->prepare("UPDATE " . $bp->gtm->table_tasks . " SET `done` = '0' WHERE `id` = %d AND `group_id` = %d", $_GET['doneID'], $bp->groups->current_group->id)); $task = BP_GTM_Tasks::get_task_by_id($_GET['doneID']); $resps = explode(' ', $task['0']->resp_id); foreach ($resps as $resp) { if ($resp != '') { $resp_id = bp_core_get_userid($resp); if ($resp_id != $bp->loggedin_user->id) { bp_core_add_notification($_GET['doneID'], $resp_id, $bp->gtm->slug, 'task_undone', $bp->groups->current_group->id); } } } } } return true; }
<h4><?php _e('Update Project', 'bp_gtm'); ?> </h4> <?php $project = BP_GTM_Projects::get_project_by_id($bp->action_variables[2]); do_action('bp_before_gtm_project_create'); ?> <label for="project_name"><?php _e('Project name', 'bp_gtm'); ?> <span class="required">*</span></label> <input type="text" name="project_name" id="project_name" value="<?php echo $project[0]->name; ?> " /> <label for="project_desc"><?php _e('Project description', 'bp_gtm'); ?> </label> <?php if (function_exists('wp_editor') && $bp_gtm['mce'] == 'on') { wp_editor($project[0]->desc, 'gtm_desc', array('media_buttons' => false, 'textarea_name' => 'project_desc')); } else { ?> <textarea name="project_desc" id="gtm_desc"><?php echo $project[0]->desc; ?> </textarea>
function bp_gtm_get_done_undone_links($project_id, $project_group_id, $gtm_link) { $count = BP_GTM_Projects::get_count_tasks($project_id, $project_group_id); echo '<a href="' . $gtm_link . 'tasks?project=' . $project_id . '" title="' . __('Pending tasks', 'bp_gtm') . '">' . $count['undone'] . '</a> / <a href="' . $gtm_link . 'tasks?project=' . $project_id . '&filter=done" title="' . __('Completed tasks', 'bp_gtm') . '">' . $count['done'] . '</a>'; }