* please see the COPYING and AUTHORS files * that were distributed with this source code. */ require_once __DIR__ . '/../../init.php'; $tpl = new Template_Helper(); $tpl->setTemplate('manage/time_tracking.tpl.html'); Auth::checkAuthentication(); $role_id = Auth::getCurrentRole(); if ($role_id < User::ROLE_MANAGER) { Misc::setMessage(ev_gettext('Sorry, you are not allowed to access this page.'), Misc::MSG_ERROR); $tpl->displayTemplate(); exit; } $prj_id = isset($_POST['prj_id']) ? (int) $_POST['prj_id'] : (int) $_GET['prj_id']; $cat = isset($_POST['cat']) ? (string) $_POST['cat'] : null; $tpl->assign('project', Project::getDetails($prj_id)); if ($cat == 'new') { $title = $_POST['title']; $res = Time_Tracking::insertCategory($prj_id, $title); Misc::mapMessages($res, array(1 => array(ev_gettext('Thank you, the time tracking category was added successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to add the new time tracking category.'), Misc::MSG_INFO), -2 => array(ev_gettext('Please enter the title for this new time tracking category.'), Misc::MSG_ERROR))); } elseif ($cat == 'update') { $title = (string) $_POST['title']; $prj_id = (int) $_POST['prj_id']; $id = (int) $_POST['id']; $res = Time_Tracking::updateCategory($prj_id, $id, $title); Misc::mapMessages($res, array(1 => array(ev_gettext('Thank you, the time tracking category was updated successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to update the time tracking category information.'), Misc::MSG_INFO), -2 => array(ev_gettext('Please enter the title for this time tracking category.'), Misc::MSG_ERROR))); } elseif ($cat == 'delete') { $items = (array) $_POST['items']; Time_Tracking::removeCategory($items); } if ($cat == 'edit') {
include_once APP_INC_PATH . "class.workflow.php"; include_once APP_INC_PATH . "db_access.php"; $tpl = new Template_API(); $tpl->setTemplate("manage/index.tpl.html"); Auth::checkAuthentication(APP_COOKIE); $tpl->assign("type", "projects"); $role_id = Auth::getCurrentRole(); if ($role_id == User::getRoleID('administrator') || $role_id == User::getRoleID('manager')) { if ($role_id == User::getRoleID('administrator')) { $tpl->assign("show_setup_links", true); } if (@$HTTP_POST_VARS["cat"] == "new") { $tpl->assign("result", Project::insert()); } elseif (@$HTTP_POST_VARS["cat"] == "update") { $tpl->assign("result", Project::update()); } elseif (@$HTTP_POST_VARS["cat"] == "delete") { Project::remove(); } $tpl->assign("active_projects", Project::getAssocList(Auth::getUserID(), true)); if (@$HTTP_GET_VARS["cat"] == "edit") { $tpl->assign("info", Project::getDetails($HTTP_GET_VARS["id"])); } $tpl->assign("list", Project::getList()); $tpl->assign("user_options", User::getActiveAssocList(false, NULL, false, false, true)); $tpl->assign("status_options", Status::getAssocList()); $tpl->assign("customer_backends", Customer::getBackendList()); $tpl->assign("workflow_backends", Workflow::getBackendList()); } else { $tpl->assign("show_not_allowed_msg", true); } $tpl->displayTemplate();
include_once APP_INC_PATH . "class.priority.php"; include_once APP_INC_PATH . "class.misc.php"; include_once APP_INC_PATH . "class.project.php"; include_once APP_INC_PATH . "class.setup.php"; include_once APP_INC_PATH . "db_access.php"; $tpl = new Template_API(); $tpl->setTemplate("manage/index.tpl.html"); Auth::checkAuthentication(APP_COOKIE); $tpl->assign("type", "anonymous"); @($prj_id = $HTTP_POST_VARS["prj_id"] ? $HTTP_POST_VARS["prj_id"] : $HTTP_GET_VARS["prj_id"]); $role_id = Auth::getCurrentRole(); if ($role_id == User::getRoleID('administrator') || $role_id == User::getRoleID('manager')) { if ($role_id == User::getRoleID('administrator')) { $tpl->assign("show_setup_links", true); } if (@$HTTP_POST_VARS["cat"] == "update") { $tpl->assign("result", Project::updateAnonymousPost($prj_id)); } // load the form fields $tpl->assign("project", Project::getDetails($prj_id)); $tpl->assign("cats", Category::getAssocList($prj_id)); $tpl->assign("priorities", Priority::getList($prj_id)); $tpl->assign("users", Project::getUserAssocList($prj_id, 'active')); $tpl->assign("options", Project::getAnonymousPostOptions($prj_id)); $tpl->assign("prj_id", $prj_id); $setup = Setup::load(); $tpl->assign("allow_unassigned_issues", @$setup["allow_unassigned_issues"]); } else { $tpl->assign("show_not_allowed_msg", true); } $tpl->displayTemplate();
public function addExtraRecipientsToNotificationList($prj_id, $email, $is_auto_created = false) { if (empty($email['to']) && !empty($email['sup_to'])) { $email['to'] = $email['sup_to']; } if (empty($email['cc']) && !empty($email['sup_cc'])) { $email['cc'] = $email['sup_cc']; } $project_details = Project::getDetails($prj_id); $addresses_not_too_add = explode(',', strtolower($project_details['prj_mail_aliases'])); array_push($addresses_not_too_add, $project_details['prj_outgoing_sender_email']); $addresses = array(); $to_addresses = Mail_Helper::getEmailAddresses(@$email['to']); if (count($to_addresses)) { $addresses = $to_addresses; } $cc_addresses = Mail_Helper::getEmailAddresses(@$email['cc']); if (count($cc_addresses)) { $addresses = array_merge($addresses, $cc_addresses); } $subscribers = Notification::getSubscribedEmails($email['issue_id']); foreach ($addresses as $address) { $address = strtolower($address); if (!in_array($address, $subscribers) && !in_array($address, $addresses_not_too_add)) { Notification::subscribeEmail(Auth::getUserID(), $email['issue_id'], $address, Notification::getDefaultActions($email['issue_id'], $address, 'add_extra_recipients')); if ($is_auto_created) { Notification::notifyAutoCreatedIssue($prj_id, $email['issue_id'], $email['from'], $email['date'], $email['subject'], $address); } } } }
* For the full copyright and license information, * please see the COPYING and AUTHORS files * that were distributed with this source code. */ require_once __DIR__ . '/../../init.php'; $tpl = new Template_Helper(); $tpl->setTemplate('manage/projects.tpl.html'); Auth::checkAuthentication(); $role_id = Auth::getCurrentRole(); if ($role_id < User::ROLE_MANAGER) { Misc::setMessage(ev_gettext('Sorry, you are not allowed to access this page.'), Misc::MSG_ERROR); $tpl->displayTemplate(); exit; } if (@$_POST['cat'] == 'new') { Misc::mapMessages(Project::insert(), array(1 => array(ev_gettext('Thank you, the project was added successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to add the new project.'), Misc::MSG_ERROR), -2 => array(ev_gettext('Please enter the title for this new project.'), Misc::MSG_ERROR))); } elseif (@$_POST['cat'] == 'update') { Misc::mapMessages(Project::update(), array(1 => array(ev_gettext('Thank you, the project was updated successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to update the project information.'), Misc::MSG_ERROR), -2 => array(ev_gettext('Please enter the title for this project.'), Misc::MSG_ERROR))); } elseif (@$_POST['cat'] == 'delete') { Misc::mapMessages(Project::remove(), array(1 => array(ev_gettext('Thank you, the project was deleted successfully.'), Misc::MSG_INFO), -1 => array(ev_gettext('An error occurred while trying to delete the project.'), Misc::MSG_ERROR))); } $tpl->assign('active_projects', Project::getAssocList(Auth::getUserID(), true)); if (@$_GET['cat'] == 'edit') { $tpl->assign('info', Project::getDetails($_GET['id'])); } $tpl->assign('list', Project::getList()); $tpl->assign('user_options', User::getActiveAssocList()); $tpl->assign('status_options', Status::getAssocList()); $tpl->assign('customer_backends', CRM::getBackendList()); $tpl->assign('workflow_backends', Workflow::getBackendList()); $tpl->displayTemplate();