$userDeleteProtect = true; } if (!$row->load($contact_id) && $contact_id > 0) { $AppUI->setMsg('Contact'); $AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); } else { if ($row->contact_private && $row->contact_owner != $AppUI->user_id && $row->contact_owner && $contact_id != 0) { // check only owner can edit $AppUI->redirect('m=public&a=access_denied'); } } // setup the title block $ttl = $contact_id > 0 ? "Edit Contact" : "Add Contact"; $titleBlock = new CTitleBlock($ttl, 'monkeychat-48.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=contacts", "contacts list"); if ($canDelete && $contact_id) { $titleBlock->addCrumbDelete('delete contact', $canDelete, $msg); } $titleBlock->show(); $company_detail = $row->getCompanyDetails(); $dept_detail = $row->getDepartmentDetails(); if ($contact_id == 0 && $company_id > 0) { $company_detail['company_id'] = $company_id; $company_detail['company_name'] = $company_name; echo $company_name; } ?> <script language="javascript" type="text/javascript"> <?php
$items_per_page = $HELPDESK_CONFIG['items_per_page']; // Figure out number of total results, but do not retrieve $total_results = db_num_rows(db_exec($sql)); // Figure out the offset $offset = $page * $items_per_page; // Limit the results to enable pagination $sql .= " LIMIT {$offset},{$items_per_page}"; // Get the actual, paginated results $rows = db_loadList($sql); // Setup the title block if (!$_REQUEST['project_id'] && !$_REQUEST['company_id']) { $titleBlock = new CTitleBlock('Help Desk', 'helpdesk.png', $m, 'ID_HELP_HELPDESK_IDX'); if (hditemCreate()) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new item') . '" />', '', '<form action="?m=helpdesk&a=addedit" method="post">', '</form>'); } $titleBlock->addCrumb("?m=helpdesk", "home"); $titleBlock->addCrumb("?m=helpdesk&a=list", "list"); $titleBlock->addCrumb("?m=helpdesk&a=reports", "reports"); $titleBlock->show(); } ?> <script language="javascript"> function changeList() { document.filterFrm.submit(); } </script> <?php if (!$_REQUEST['project_id'] && !$_REQUEST['company_id']) { ?> <table border="0" cellpadding="2" cellspacing="1" class="std" width="100%"> <form name="filterFrm" action="?index.php" method="get">
$AppUI->setState('CalIdxCompany', intval(w2PgetParam($_REQUEST, 'company_id', 0))); } $company_id = $AppUI->getState('CalIdxCompany', 0); // Using simplified set/get semantics. Doesn't need as much code in the module. $event_filter = $AppUI->checkPrefState('CalIdxFilter', w2PgetParam($_REQUEST, 'event_filter', 'my'), 'EVENTFILTER', 'my'); // get the passed timestamp (today if none) $ctoday = new w2p_Utilities_Date(); $today = $ctoday->format(FMT_TIMESTAMP_DATE); $date = w2PgetParam($_GET, 'date', $today); // get the list of visible companies $company = new CCompany(); $companies = $company->getAllowedRecords($AppUI->user_id, 'company_id,company_name', 'company_name'); $companies = arrayMerge(array('0' => $AppUI->_('All')), $companies); // setup the title block $titleBlock = new CTitleBlock('Monthly Calendar', 'myevo-appointments.png', $m, $m . '.' . $a); $titleBlock->addCrumb('?m=calendar&a=year_view&date=' . $date, 'year view'); $titleBlock->addCrumb('?m=calendar&date=' . $date, 'month view'); $titleBlock->addCrumb('?m=calendar&a=week_view&date=' . $date, 'week view'); $titleBlock->addCrumb('?m=calendar&a=day_view&date=' . $date, 'day view'); $titleBlock->addCell($AppUI->_('Company') . ':'); $titleBlock->addCell(arraySelect($companies, 'company_id', 'onChange="document.pickCompany.submit()" class="text"', $company_id), '', '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post" name="pickCompany" accept-charset="utf-8">', '</form>'); $titleBlock->addCell($AppUI->_('Event Filter') . ':'); $titleBlock->addCell(arraySelect($event_filter_list, 'event_filter', 'onChange="document.pickFilter.submit()" class="text"', $event_filter, true), '', '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post" name="pickFilter" accept-charset="utf-8">', '</form>'); $titleBlock->show(); ?> <script language="javascript" type="text/javascript"> function clickDay( uts, fdate ) { window.location = './index.php?m=calendar&a=day_view&date='+uts+'&tab=0'; } function clickWeek( uts, fdate ) {
// check permissions for this module $canReadModule = !getDenyRead($m); if (!$canReadModule) { $AppUI->redirect("m=public&a=access_denied"); } $AppUI->savePlace(); if (isset($_GET['tab'])) { $AppUI->setState('HelpDeskIdxTab', $_GET['tab']); } $tab = $AppUI->getState('HelpDeskIdxTab') !== NULL ? $AppUI->getState('HelpDeskIdxTab') : 0; // Setup the title block $titleBlock = new CTitleBlock('Help Desk', 'helpdesk.png', $m, 'ID_HELP_HELPDESK_IDX'); if ($canEdit) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new item') . '" />', '', '<form action="?m=helpdesk&a=addedit" method="post">', '</form>'); } $titleBlock->addCrumb("?m=helpdesk", 'home'); $titleBlock->addCrumb("?m=helpdesk&a=list", 'list'); $titleBlock->addCrumb("?m=helpdesk&a=reports", 'reports'); $titleBlock->show(); $item_perms = getItemPerms(); $sql = "SELECT COUNT(item_id)\n FROM helpdesk_items\n WHERE {$item_perms}"; $numtotal = db_loadResult($sql); /* * Unassigned = 0 * Open = 1 * Closed = 2 * On hold = 3 * Delete = 4 * Testing = 5 */ $sql = "SELECT COUNT(DISTINCT(item_id))\n FROM \n \thelpdesk_items\n WHERE \n \titem_assigned_to=" . $AppUI->user_id . "\n \tAND (item_status != 2)";
$AppUI->redirect('m=forums&a=configure'); } // SQL-Query to check if the message should be delivered to all users (forced) (checkbox) $q->addTable('forum_watch'); $q->addQuery('*'); $q->addWhere('watch_user = 0'); $q->addWhere('watch_forum = 0'); $q->addWhere('watch_topic = 0'); $resAll = $q->exec(); if (db_num_rows($resAll) >= 1) { $watchAll = true; } $q->clear(); // setup the title block $titleBlock = new CTitleBlock('Configure Forums Module', 'support.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=system", "system admin"); $titleBlock->addCrumb("?m=system&a=viewmods", "modules list"); $titleBlock->show(); ?> <script language="javascript"> function submitFrm( frmName ) { eval('document.'+frmName+'.submit();'); } </script> <form name="frmForceWatch" method="post" action="?m=forums&a=configure"> <input type="hidden" name="forcesubmit" value="true" /> <input type="checkbox" name="forcewatch" value="dod" <?php echo $watchAll ? 'checked' : '';
$a2z .= '<td width="100%" align="right">' . $AppUI->_('Show') . ': </td>'; $a2z .= '<td><a href="./index.php?m=contacts&where=0">' . $AppUI->_('All') . '</a></td>'; // Pull First Letters $letters = CContact::getFirstLetters($AppUI->user_id); for ($c = 65; $c < 91; $c++) { $cu = chr($c); $cell = !(mb_strpos($letters, $cu) === false) ? '<a href="?m=contacts&search_string=' . $cu . '">' . $cu . '</a>' : '<font color="#999999">' . $cu . '</font>'; $a2z .= '<td class="button">' . $cell . '</td>'; } $a2z .= '</tr><tr><td colspan="28">' . $form . '</td></tr></table>'; // setup the title block $titleBlock = new CTitleBlock('Contacts', 'monkeychat-48.png', $m, $m . '.' . $a); $titleBlock->addCell($a2z); if ($canEdit) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new contact') . '">', '', '<form action="?m=contacts&a=addedit" method="post" accept-charset="utf-8">', '</form>'); $titleBlock->addCrumb('?m=contacts&a=csvexport&suppressHeaders=1', 'CSV Download'); $titleBlock->addCrumb('?m=contacts&a=vcardimport&dialog=0', 'Import vCard'); } $titleBlock->show(); // TODO: Check to see that the Edit function is separated. ?> <script language="javascript" type="text/javascript"> // Callback function for the generic selector function goProject( key, val ) { var f = document.modProjects; if (val != '') { f.project_id.value = key; f.submit(); } } </script>
/* $Id$ */ if (!defined('DP_BASE_DIR')) { die('You should not access this file directly.'); } if (!$canRead) { $AppUI->redirect("m=public&a=access_denied"); } $ticket = dPgetParam($_GET, 'ticket', ''); $ticket_type = dPgetParam($_GET, 'ticket_type', ''); $type_toggle = dPgetParam($_POST, 'type_toggle', ''); $priority_toggle = dPgetParam($_POST, 'priority_toggle', ''); $assignment_toggle = dPgetParam($_POST, 'assignment_toggle', ''); // setup the title block $titleBlock = new CTitleBlock('View Ticket', 'gconf-app-icon.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=ticketsmith", "tickets list"); $titleBlock->addCrumb("?m=ticketsmith&type=My", "my tickets"); $titleBlock->show(); require DP_BASE_DIR . '/modules/ticketsmith/config.inc.php'; require DP_BASE_DIR . '/modules/ticketsmith/common.inc.php'; /* initialize fields */ if ($ticket_type == "Staff Followup" || $ticket_type == "Client Followup") { $title = $AppUI->_($ticket_type) . " " . $AppUI->_('to Ticket') . " #{$ticket_parent}"; $fields = array("headings" => array("From", "To", "Subject", "Date", "Cc", "<br />"), "columns" => array("author", "recipient", "subject", "timestamp", "cc", "body"), "types" => array("email", "original_author", "normal", "elapsed_date", "email", "body")); } else { if ($ticket_type == "Staff Comment") { $title = $AppUI->_($ticket_type) . " " . $AppUI->_('to Ticket') . " #{$ticket_parent}"; $fields = array("headings" => array("From", "Date", "<br />"), "columns" => array("author", "timestamp", "body"), "types" => array("email", "elapsed_date", "body")); } else { $title = $AppUI->_('Ticket') . " #{$ticket}"; $fields = array('headings' => array('From', 'Subject', 'Date', 'Cc', 'Status', 'Priority', 'Owner', 'Company', 'Project', '<br />'), 'columns' => array('author', 'subject', 'timestamp', 'cc', 'type', 'priority', 'assignment', 'ticket_company', 'ticket_project', 'body'), 'types' => array('email', 'normal', 'elapsed_date', 'email', 'status', 'priority_select', 'assignment', 'ticket_company', 'ticket_project', 'body'));
$companies[$row->project_company] = db_loadResult($sql); } // get critical tasks (criteria: task_end_date) $criticalTasks = $project_id > 0 ? $row->getCriticalTasks() : NULL; // get ProjectPriority from sysvals $projectPriority = dPgetSysVal('ProjectPriority'); // format dates $df = $AppUI->getPref('SHDATEFORMAT'); $start_date = new CDate($row->project_start_date); $end_date = intval($row->project_end_date) ? new CDate($row->project_end_date) : null; $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null; $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : ''; // setup the title block $ttl = $project_id > 0 ? "Edit Project" : "New Project"; $titleBlock = new CTitleBlock($ttl, 'applet3-48.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=projects", "projects list"); if ($project_id != 0) { $titleBlock->addCrumb("?m=projects&a=view&project_id={$project_id}", "view this project"); //GT $titleBlock->addCrumb("?m=projects&a=edit_tasks&project_id={$project_id}", "organize tasks"); } $titleBlock->show(); //Build display list for departments $company_id = $row->project_company; $selected_departments = array(); if ($project_id) { $q =& new DBQuery(); $q->addTable('project_departments'); $q->addQuery('department_id'); $q->addWhere('project_id = ' . $project_id); $selected_departments = $q->loadColumn();
<?php /* TASKS $Id: tasksperuser.php,v 1.5.6.2 2007/03/06 00:34:45 merlinyoda Exp $ */ if (!defined('DP_BASE_DIR')) { die('You should not access this file directly.'); } $AppUI->savePlace(); if (isset($_POST['company_id'])) { $AppUI->setState('CompanyIdxFilter', $_POST['company_id']); } $company_id = $AppUI->getState('CompanyIdxFilter') ? $AppUI->getState('CompanyIdxFilter') : 'all'; $log_all_projects = true; // show tasks for all projects $df = $AppUI->getPref('SHDATEFORMAT'); // get the prefered date format // get CCompany() to filter tasks by company require_once $AppUI->getModuleClass('companies'); $comp = new CCompany(); $companies = $comp->getAllowedRecords($AppUI->user_id, 'company_id,company_name', 'company_name'); $compFilter = arrayMerge(array('all' => $AppUI->_('All Companies')), $companies); // setup the title block $titleBlock = new CTitleBlock('Tasks per User', 'applet-48.png', $m, "{$m}.{$a}"); $titleBlock->addCell($AppUI->_('Company') . ':'); $titleBlock->addCell(arraySelect($compFilter, 'company_id', 'size="1" class="text" onChange="document.companyFilter.submit();"', $company_id, false), '', '<form action="?m=tasks&a=tasksperuser" method="post" name="companyFilter">', '</form>'); $titleBlock->addCrumb("?m=tasks", "tasks list"); $titleBlock->addCrumb("?m=tasks&a=todo&user_id={$user_id}", "my todo"); $titleBlock->show(); // include the re-usable sub view $min_view = false; include DP_BASE_DIR . '/modules/tasks/tasksperuser_sub.php';
$AppUI->redirect(); } elseif (0 == $link_id && ($project_id || $task_id)) { // We are creating a link, so if we have them lets figure out the project // and task id $link->link_project = $project_id; $link->link_task = $task_id; if ($task_id) { $link_task = new CTask(); $link_task->load($task_id); $link->task_name = $link_task->task_name; } } // setup the title block $ttl = $link_id ? 'Edit Link' : 'Add Link'; $titleBlock = new CTitleBlock($AppUI->_($ttl), 'folder5.png', $m, $m . '.' . $a); $titleBlock->addCrumb('?m=' . $m, 'links list'); $canDelete = $perms->checkModuleItem($m, 'delete', $link_id); if ($canDelete && $link_id) { $titleBlock->addCrumbDelete('delete link', $canDelete, $msg); } $titleBlock->show(); $prj = new CProject(); $projects = $prj->getAllowedProjects($AppUI->user_id, false); foreach ($projects as $project_id => $project_info) { $projects[$project_id] = $project_info['project_name']; } $projects = arrayMerge(array('0' => $AppUI->_('All', UI_OUTPUT_JS)), $projects); ?> <script language="javascript" type="text/javascript"> function submitIt() { var f = document.uploadFrm;
$total_project_hours = db_loadResult($total_project_days_sql) * $dPconfig['daily_working_hours'] + db_loadResult($total_project_hours_sql); //due to the round above, we don't want to print decimals unless they really exist //$total_project_hours = rtrim($total_project_hours, "0"); } else { //no tasks in project so "fake" project data $worked_hours = $total_hours = $total_project_hours = 0.0; } // create Date objects from the datetime fields $start_date = intval($obj->project_start_date) ? new CDate($obj->project_start_date) : null; $end_date = intval($obj->project_end_date) ? new CDate($obj->project_end_date) : null; $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null; $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : ''; // setup the title block $ttl = "ProjectDesigner"; $titleBlock = new CTitleBlock($ttl, 'projectdesigner.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=projects", "projects list"); $titleBlock->addCrumb("?m={$m}", "select another project"); $titleBlock->addCrumb("?m=projects&a=view&project_id={$project_id}", "normal view project"); if ($canAddProject) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '">', '', '<form action="?m=projects&a=addedit" method="post">', '</form>'); } if ($canAddTask) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post">', '</form>'); } if ($canEditProject) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&event_project=' . $project_id . '" method="post">', '</form>'); $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '">', '', '<form action="?m=files&a=addedit&project_id=' . $project_id . '" method="post">', '</form>');
$assigned = $obj->getAssigned(); if ($obj->event_owner != $AppUI->user_id && !getPermission('admin', 'view')) { $canEdit = false; } $df = $AppUI->getPref('SHDATEFORMAT'); $tf = $AppUI->getPref('TIMEFORMAT'); $start_date = $obj->event_start_date ? new CDate($obj->event_start_date) : null; $end_date = $obj->event_end_date ? new CDate($obj->event_end_date) : null; $event_project = db_LoadResult('SELECT project_name FROM projects where project_id=' . $obj->event_project); // setup the title block $titleBlock = new CTitleBlock('View Event', 'myevo-appointments.png', $m, "{$m}.{$a}"); if ($canAuthor) { $titleBlock->addCell(); $titleBlock->addCell('<form action="?m=calendar&a=addedit" method="post">' . '<input type="submit" class="button" value="' . $AppUI->_('new event') . '" /></form>', '', '', ''); } $titleBlock->addCrumb('?m=calendar&date=' . $start_date->format(FMT_TIMESTAMP_DATE), 'month view'); $titleBlock->addCrumb('?m=calendar&a=day_view&date=' . $start_date->format(FMT_TIMESTAMP_DATE) . '&tab=0', 'day view'); if ($canEdit) { $titleBlock->addCrumb('?m=calendar&a=addedit&event_id=' . $event_id, 'edit this event'); if ($canDelete) { $titleBlock->addCrumbDelete('delete event', $canDelete, $msg); } } $titleBlock->show(); ?> <script language="javascript"> <?php // security improvement: // some javascript functions may not appear on client side in case of user not having write permissions // else users would be able to arbitrarily run 'bad' functions if ($canDelete) {
} if (count($allowedTasks)) { $q->addWhere($allowedTasks); } if (count($allowedProjects)) { $q->addWhere($allowedProjects); } $q->addGroup('t.task_id'); $q->addOrder($sort . ', t.task_priority DESC'); //echo ('<pre>' . $q->prepare(); . '</pre>'); $tasks = $q->loadList(); $priorities = array('1' => 'high', '0' => 'normal', '-1' => 'low'); $durnTypes = dPgetSysVal('TaskDurationType'); if (!@$min_view) { $titleBlock = new CTitleBlock('Organize Tasks', 'applet-48.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb('?m=tasks', 'tasks list'); if ($project_id) { $titleBlock->addCrumb('?m=projects&a=view&project_id=' . $project_id, 'view project'); } $titleBlock->show(); } function showchildren($id, $level = 1) { global $tasks; $t = $tasks; //otherwise, $tasks is accessed from a static context and doesn't work. foreach ($t as $task) { //echo $id . '==> ' . $task['task_parent'] . '==' . $id . '<br>'; if ($task['task_parent'] == $id && $task['task_parent'] != $task['task_id']) { showtask_edit($task, $level); showchildren($task['task_id'], $level + 1);
} $cBuffer .= '</select>'; $titleBlock->addCell('<form action="?m=tasks" method="post" name="companyFilter">' . "\n" . $cBuffer . "\n" . '</form>' . "\n"); $titleBlock->addCell(); if ($canEdit && $project_id) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post">', '</form>'); } $titleBlock->show(); if (dPgetParam($_GET, 'inactive', '') == 'toggle') { $AppUI->setState('inactive', $AppUI->getState('inactive') == -1 ? 0 : -1); } $in = $AppUI->getState('inactive') == -1 ? '' : 'in'; // use a new title block (a new row) to prevent from oversized sites $titleBlock = new CTitleBlock('', 'shim.gif'); $titleBlock->showhelp = false; $titleBlock->addCell(' ' . $AppUI->_('Task Filter') . ':'); $titleBlock->addCell(arraySelect($filters, 'f', 'size=1 class=text onChange="document.taskFilter.submit();"', $f, true), '', '<form action="?m=tasks" method="post" name="taskFilter">', '</form>'); $titleBlock->addCell(); $titleBlock->addCrumb('?m=tasks&a=todo&user_id=' . $user_id, 'my todo'); if (dPgetParam($_GET, 'pinned') == 1) { $titleBlock->addCrumb('?m=tasks', 'all tasks'); } else { $titleBlock->addCrumb('?m=tasks&pinned=1', 'my pinned tasks'); } $titleBlock->addCrumb('?m=tasks&inactive=toggle', 'show ' . $in . 'active tasks'); $titleBlock->addCrumb('?m=tasks&a=tasksperuser', 'tasks per user'); $titleBlock->addCrumb('?m=projects&a=reports', 'reports'); $titleBlock->show(); // include the re-usable sub view $min_view = false; include DP_BASE_DIR . '/modules/tasks/tasks.php';
// check permissions for this module $canReadModule = !getDenyRead($m); if (!$canReadModule) { $AppUI->redirect("m=public&a=access_denied"); } $AppUI->savePlace(); if (isset($_GET['tab'])) { $AppUI->setState('HelpDeskIdxTab', $_GET['tab']); } $tab = $AppUI->getState('HelpDeskIdxTab') !== NULL ? $AppUI->getState('HelpDeskIdxTab') : 0; // Setup the title block $titleBlock = new CTitleBlock('Help Desk', 'helpdesk.png', $m, 'ID_HELP_HELPDESK_IDX'); if ($canEdit) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('New Item') . '" />', '', '<form action="?m=helpdesk&a=addedit" method="post">', '</form>'); } $titleBlock->addCrumb("?m=helpdesk", 'Home'); $titleBlock->addCrumb("?m=helpdesk&a=list", 'List'); $titleBlock->show(); $item_perms = getItemPerms(); $sql = "SELECT COUNT(item_id)\n FROM helpdesk_items\n WHERE {$item_perms}"; $numtotal = db_loadResult($sql); /* * Unassigned = 0 * Open = 1 * Closed = 2 * On hold = 3 * Delete = 4 * Testing = 5 */ $sql = "SELECT COUNT(DISTINCT(item_id))\n FROM \n \thelpdesk_items\n WHERE \n \titem_assigned_to=" . $AppUI->user_id . "\n \tAND (item_status != 2)"; $nummine = db_loadResult($sql);
$AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); } else { $AppUI->savePlace(); } // load the list of project statii and company types $pstatus = dPgetSysVal('ProjectStatus'); $types = dPgetSysVal('CompanyType'); // setup the title block $titleBlock = new CTitleBlock('View Company', 'handshake.png', $m, "{$m}.{$a}"); if ($canEdit) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new company') . '" />', '', '<form action="?m=companies&a=addedit" method="post">', '</form>'); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '" />', '', '<form action="?m=projects&a=addedit&company_id=' . $company_id . '" method="post">', '</form>'); } $titleBlock->addCrumb("?m=companies", "company list"); if ($canEdit) { $titleBlock->addCrumb("?m=companies&a=addedit&company_id={$company_id}", "edit this company"); $titleBlock->addCrumbDelete('delete company', $canDelete, $msg); } $titleBlock->show(); ?> <table border="0" cellpadding="4" cellspacing="0" width="100%" class="std"> <?php if ($canDelete) { ?> <form name="frmDelete" action="./index.php?m=companies" method="post"> <input type="hidden" name="dosql" value="do_company_aed" />
$canDelete = false; } $canEdit = getPermission($m, 'edit', $contact_id); if (!$row->load($contact_id) && $contact_id > 0) { $AppUI->setMsg('Contact'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect(); } else { if ($row->contact_private && $row->contact_owner != $AppUI->user_id && $row->contact_owner && $contact_id != 0) { $AppUI->redirect('m=public&a=access_denied'); } } // setup the title block $ttl = 'View Contact'; $titleBlock = new CTitleBlock($ttl, 'monkeychat-48.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb('?m=contacts', 'contacts list'); if ($canEdit && $contact_id) { $titleBlock->addCrumb('?m=contacts&a=addedit&contact_id=' . $contact_id, 'edit'); } $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '" />', '', '<form action="?m=projects&a=addedit&company_id=' . $row->contact_company . '&contact_id=' . $contact_id . '" method="post">', '</form>'); if ($canDelete && $contact_id) { $titleBlock->addCrumbDelete('delete contact', $canDelete, $msg); } $titleBlock->show(); ?> <form name="changecontact" action="?m=contacts" method="post"> <input type="hidden" name="dosql" value="do_contact_aed" /> <input type="hidden" name="del" value="0" /> <input type="hidden" name="contact_id" value="<?php echo $contact_id; ?>
$this_week = Date_calc::beginOfWeek($dd, $mm, $yy, FMT_TIMESTAMP_DATE, LOCALE_FIRST_DAY); // prepare time period for 'events' $first_time = clone $this_day; $first_time->setTime(0, 0, 0); $last_time = clone $this_day; $last_time->setTime(23, 59, 59); $prev_day = new w2p_Utilities_Date(Date_calc::prevDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE)); $next_day = new w2p_Utilities_Date(Date_calc::nextDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE)); // get the list of visible companies $company = new CCompany(); global $companies; $companies = $company->getAllowedRecords($AppUI->user_id, 'company_id,company_name', 'company_name'); $companies = arrayMerge(array('0' => $AppUI->_('All')), $companies); // setup the title block $titleBlock = new CTitleBlock('Day View', 'myevo-appointments.png', $m, $m . '.' . $a); $titleBlock->addCrumb('?m=calendar&a=year_view&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'year view'); $titleBlock->addCrumb('?m=calendar&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'month view'); $titleBlock->addCrumb('?m=calendar&a=week_view&date=' . $this_week, 'week view'); $titleBlock->addCrumb('?m=calendar&a=day_view&date=' . $this_day->format(FMT_TIMESTAMP_DATE), 'day view'); $titleBlock->addCell($AppUI->_('Company') . ':'); $titleBlock->addCell(arraySelect($companies, 'company_id', 'onChange="document.pickCompany.submit()" class="text"', $company_id), '', '<form action="' . $_SERVER['REQUEST_URI'] . '" method="post" name="pickCompany" accept-charset="utf-8">', '</form>'); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&date=' . $this_day->format(FMT_TIMESTAMP_DATE) . '" method="post" accept-charset="utf-8">', '</form>'); $titleBlock->show(); ?> <script language="javascript"> function clickDay( idate, fdate ) { window.location = './index.php?m=calendar&a=day_view&date='+idate+'&tab=0'; } </script> <table class="std" width="100%" cellspacing="0" cellpadding="4">
$projObj->setAllowedSQL($AppUI->user_id, $q); if (isset($company_id)) { $q->addWhere("project_company = {$company_id}"); } $projects = array('0' => '') + $q->loadHashList(); echo db_error(); if (!in_array($forum_project, array_keys($projects))) { $forum_project = 0; } $perms =& $AppUI->acl(); $permittedUsers =& $perms->getPermittedUsers(); $users = array('0' => '') + $permittedUsers; // setup the title block $ttl = $forum_id > 0 ? "Edit Forum" : "Add Forum"; $titleBlock = new CTitleBlock($ttl, 'support.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=forums", "forums list"); if ($canDelete) { $titleBlock->addCrumbRight('<a href="javascript:delIt()"><img align="absmiddle" src="' . dPfindImage('stock_delete-16.png', $m) . '" width="16" height="16" alt="" border="0" /> ' . $AppUI->_('delete forum') . '</a>'); } $titleBlock->show(); ?> <script language="javascript"> function submitIt() { var form = document.changeforum; if (form.forum_name.value.search(/^\s*$/) >= 0) { alert("<?php echo $AppUI->_('forumName', UI_OUTPUT_JS); ?> "); form.forum_name.focus(); } else if (form.forum_project.selectedIndex < 1) {
if (!$canRead) { $AppUI->redirect('m=public&a=access_denied'); } $hidden_modules = array('public', 'install'); $q = new DBQuery(); $q->addQuery('*'); $q->addTable('modules'); foreach ($hidden_modules as $no_show) { $q->addWhere('mod_directory != \'' . $no_show . '\''); } $q->addOrder('mod_ui_order'); $modules = db_loadList($q->prepare()); // get the modules actually installed on the file system $modFiles = $AppUI->readDirs('modules'); $titleBlock = new CTitleBlock('Modules', 'power-management.png', $m, $m . "." . $a); $titleBlock->addCrumb('?m=system', 'System Admin'); $titleBlock->show(); ?> <table border="0" cellpadding="2" cellspacing="1" width="98%" class="tbl"> <tr> <th colspan="2"><?php echo $AppUI->_('Module'); ?> </th> <th><?php echo $AppUI->_('Status'); ?> </th> <th><?php echo $AppUI->_('Type');
// these error messages are nicely integrated with the frontend of dP // use detailed error messages as often as possible $AppUI->setMsg('Timesheet'); $AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); // go back to the calling location } // check if this record has dependancies to prevent deletion $msg = ''; // setup the title block // Fill the title block either with 'Edit' or with 'New' depending on if task_log_id has been transmitted via GET or is empty $ttl = $task_log_id > 0 ? "Edit Log" : "New Log"; $titleBlock = new CTitleBlock($ttl, 'timesheet.png', $m, "{$m}.{$a}"); // also have a breadcrumb here // breadcrumbs facilitate the navigation within dP as they did for haensel and gretel in the identically named fairytale $titleBlock->addCrumb("?m=timesheet", "timesheet home"); $titleBlock->show(); ?> <script language="JavaScript"> var calendarField = ''; function popCalendar( field ){ calendarField = field; idate = eval( 'document.editFrm.task_' + field + '.value' ); // idate = eval( 'document.editFrm.' + field + '2.value' ); window.open( 'index.php?m=public&a=calendar&dialog=1&callback=setCalendar&date=' + idate, 'calwin', 'width=250, height=220, scrollbars=no' ); } /** * @param string Input date in the format YYYYMMDD * @param string Formatted date
$perms =& $AppUI->acl(); if (!canEdit('system')) { $AppUI->redirect('m=public&a=access_denied'); } $reset = (int) w2PgetParam($_GET, 'reset', 0); if ($reset == 1) { $obj =& $AppUI->acl(); $obj->recalcPermissions(); } $w2Pcfg = new CConfig(); // retrieve the system configuration data $rs = $w2Pcfg->loadAll('config_group'); $tab = $AppUI->processIntState('ConfigIdxTab', $_GET, 'tab', 0); $active = intval(!$AppUI->getState('ConfigIdxTab')); $titleBlock = new CTitleBlock('System Configuration', 'control-center.png', $m); $titleBlock->addCrumb('?m=system', 'system admin'); $titleBlock->addCrumb('?m=system&a=addeditpref', 'default user preferences'); $titleBlock->show(); // prepare the automated form fields based on db system configuration data $output = null; $last_group = ''; foreach ($rs as $c) { $tooltip = $AppUI->_($c['config_name'] . '_tooltip'); // extraparse the checkboxes and the select lists $extra = ''; $value = ''; switch ($c['config_type']) { case 'select': // Build the select list. if ($c['config_name'] == 'system_timezone') { $timezones = w2PgetSysVal('Timezones');
} $search_text = $AppUI->getState('searchtext') ? $AppUI->getState('searchtext') : ''; $titleBlock->addCell(' ' . $AppUI->_('Search') . ':'); $titleBlock->addCell('<input type="text" class="text" SIZE="10" name="searchtext" onChange="document.searchfilter.submit();" value=' . "'{$search_text}'" . 'title="' . $AppUI->_('Search in name and description fields') . '"/> <!--<input type="submit" class="button" value=">" title="' . $AppUI->_('Search in name and description fields') . '"/>-->', '', '<form action="?m=projects&a=view&project_id=' . $project_id . '" method="post" id="searchfilter">', '</form>'); if ($canEditT) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post">', '</form>'); } if ($canEdit) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&event_project=' . $project_id . '" method="post">', '</form>'); $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '">', '', '<form action="?m=files&a=addedit&project_id=' . $project_id . '" method="post">', '</form>'); } $titleBlock->addCrumb("?m=projects", "projects list"); if ($canEdit) { $titleBlock->addCrumb("?m=projects&a=addedit&project_id={$project_id}", "edit this project"); if ($canDelete) { $titleBlock->addCrumbDelete('delete project', $canDelete, $msg); } $titleBlock->addCrumb("?m=tasks&a=organize&project_id={$project_id}", "organize tasks"); } $titleBlock->addCrumb("?m=projects&a=reports&project_id={$project_id}", "reports"); $titleBlock->show(); ?> <script language="javascript"> <?php // security improvement: // some javascript functions may not appear on client side in case of user not having write permissions // else users would be able to arbitrarily run 'bad' functions
$AppUI->setState('searchtext', $_POST['searchtext']); } $search_text = $AppUI->getState('searchtext') ? $AppUI->getState('searchtext') : ''; $titleBlock->addCell($AppUI->_('Search') . ':'); $titleBlock->addCell('<input type="text" class="text" SIZE="10" name="searchtext"' . ' onChange="document.searchfilter.submit();" value="' . $search_text . '"' . 'title="' . $AppUI->_('Search in name and description fields') . '"/><!--<input type="submit" class="button" value=">" title="' . $AppUI->_('Search in name and description fields') . '"/>-->', '', '<form action="?m=projects&a=view&project_id=' . $project_id . '" method="post" id="searchfilter">', '</form>'); if ($canAddTask) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post">', '</form>'); } if ($canEdit) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&event_project=' . $project_id . '" method="post">', '</form>'); $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '">', '', '<form action="?m=files&a=addedit&project_id=' . $project_id . '" method="post">', '</form>'); } $titleBlock->addCrumb('?m=projects', 'projects list'); if ($canEdit) { $titleBlock->addCrumb('?m=projects&a=addedit&project_id=' . $project_id, 'edit this project'); if ($canDelete) { $titleBlock->addCrumbDelete('delete project', $canDelete, $msg); } $titleBlock->addCrumb('?m=tasks&a=organize&project_id=' . $project_id, 'organize tasks'); } $titleBlock->addCrumb('?m=projects&a=reports&project_id=' . $project_id, 'reports'); $titleBlock->show(); ?> <script language="javascript"> <?php //security improvement: //some javascript functions may not appear on client side in case of user not having write permissions //else users would be able to arbitrarily run 'bad' functions
} // Copyright 2004 Adam Donnison <*****@*****.**> $resource_id = intval(dPgetParam($_GET, 'resource_id', null)); $canDelete = getPermission('resources', 'delete', $resource_id); $canView = getPermission('resources', 'view', $resource_id); if (!$resource_id && !getPermission('resources', 'add') || !$canView || !$canEdit) { $AppUI->redirect('m=public&a=access_denied'); } $obj = new CResource(); if ($resource_id && !$obj->load($resource_id)) { $AppUI->setMsg('Resource'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect(); } $titleBlock = new CTitleBlock($resource_id ? 'Edit Resource' : 'Add Resource', 'helpdesk.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb('?m=resources', 'resource list'); if ($resource_id) { $titleBlock->addCrumb("?m=resources&a=view&resource_id={$resource_id}", 'view this resource'); } $titleBlock->show(); $typelist = $obj->typeSelect(); ?> <form name="editfrm" action="?m=resources" method="post"> <input type="hidden" name="dosql" value="do_resource_aed" /> <input type="hidden" name="resource_id" value="<?php echo dPformSafe($resource_id); ?> " /> <table cellspacing="1" cellpadding="1" border="0" width="100%" class="std"> <tr> <td align='center' >
$AppUI->savePlace(); } $worked_hours = $obj->project_worked_hours; $total_hours = $obj->getTotalHours(); $total_project_hours = $obj->getTotalProjectHours(); // create Date objects from the datetime fields $start_date = intval($obj->project_start_date) ? new CDate($obj->project_start_date) : null; $end_date = intval($obj->project_end_date) ? new CDate($obj->project_end_date) : null; $actual_end_date = intval($criticalTasks[0]['task_end_date']) ? new CDate($criticalTasks[0]['task_end_date']) : null; $today = new CDate(); $style = $actual_end_date > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : ''; $style = $obj->project_percent_complete < 99.98999999999999 && $today > $end_date && !empty($end_date) ? 'style="color:red; font-weight:bold"' : $style; // setup the title block $ttl = 'ProjectDesigner'; $titleBlock = new CTitleBlock($ttl, 'projectdesigner.png', $m, $m . '.' . $a); $titleBlock->addCrumb('?m=projects', 'projects list'); $titleBlock->addCrumb('?m=' . $m, 'select another project'); $titleBlock->addCrumb('?m=projects&a=view&bypass=1&project_id=' . $project_id, 'normal view project'); if ($canAddProject) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '">', '', '<form action="?m=projects&a=addedit" method="post" accept-charset="utf-8">', '</form>'); } if ($canAddTask) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new task') . '">', '', '<form action="?m=tasks&a=addedit&task_project=' . $project_id . '" method="post" accept-charset="utf-8">', '</form>'); } if ($canEditProject) { $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new event') . '">', '', '<form action="?m=calendar&a=addedit&event_project=' . $project_id . '" method="post" accept-charset="utf-8">', '</form>'); $titleBlock->addCell(); $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '">', '', '<form action="?m=files&a=addedit&project_id=' . $project_id . '" method="post" accept-charset="utf-8">', '</form>');
<?php if (!defined('DP_BASE_DIR')) { die('You should not access this file directly.'); } $AppUI->savePlace(); require_once $AppUI->getSystemClass('CustomFields'); $titleBlock = new CTitleBlock('Custom field editor', 'customfields.png', 'admin', 'admin.custom_field_editor'); $titleBlock->addCrumb('?m=system', 'system admin'); $edit_field_id = dpGetParam($_POST, 'field_id', NULL); $titleBlock->show(); $sql = 'SELECT * FROM modules' . ' ORDER BY mod_ui_order'; $q = new DBQuery(); $q->addTable('modules'); $q->addWhere('mod_name IN (\'Companies\', \'Projects\', \'Tasks\', \'Calendar\')'); $modules = $q->loadList(); echo '<table cellpadding="2" summary="module list">'; foreach ($modules as $module) { echo '<tr><td colspan="4">'; echo '<h3>' . $AppUI->_($module['mod_name']) . '</h3>'; echo '</td></tr>'; echo '<tr><td colspan="4">'; echo '<a href="?m=system&a=custom_field_addedit&module=' . $module['mod_name'] . '"><img src="./images/icons/stock_new.png" align="center" width="16" height="16" border="0" alt="" />' . $AppUI->_('Add a new Custom Field to this Module') . '</a><br /><br />'; echo '</td></tr>'; $q->clear(); $q->addTable('custom_fields_struct'); $q->addWhere('field_module = \'' . mb_strtolower($module['mod_name']) . "'"); $custom_fields = $q->loadList(); foreach ($custom_fields as $f) { echo '<tr><td class="hilite">'; echo '<a href="?m=system&a=custom_field_addedit&module=' . $module['mod_name'] . '&field_id=' . $f['field_id'] . '"><img src="./images/icons/stock_edit-16.png" align="center" width="16" height="16" border="0" alt="" />Edit</a>';
$AppUI->setMsg('Contact'); $AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); } else { if ($row->contact_private && $row->contact_owner != $AppUI->user_id && $row->contact_owner && $contact_id != 0) { // check only owner can edit $AppUI->redirect("m=public&a=access_denied"); } } // Get the contact details for company and department $company_detail = $row->getCompanyDetails(); $dept_detail = $row->getDepartmentDetails(); // setup the title block $ttl = "View Contact"; $titleBlock = new CTitleBlock($ttl, 'monkeychat-48.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=contacts", "contacts list"); if ($canEdit && $contact_id) { $titleBlock->addCrumb("?m=contacts&a=addedit&contact_id={$contact_id}", 'edit'); } $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '" />', '', '<form action="?m=projects&a=addedit&company_id=' . $row->contact_company . '&contact_id=' . $contact_id . '" method="post">', '</form>'); if ($canDelete && $contact_id) { $titleBlock->addCrumbDelete('delete contact', $canDelete, $msg); } $titleBlock->show(); ?> <form name="changecontact" action="?m=contacts" method="post"> <input type="hidden" name="dosql" value="do_contact_aed" /> <input type="hidden" name="del" value="0" /> <input type="hidden" name="contact_id" value="<?php echo $contact_id; ?>
$AppUI->setMsg("invalidID", UI_MSG_ERROR, true); $AppUI->redirect(); } // collect all the users for the company owner list $q = new DBQuery(); $q->addTable('users', 'u'); $q->addTable('contacts', 'con'); $q->addQuery('user_id'); $q->addQuery('CONCAT_WS(", ",contact_last_name,contact_first_name)'); $q->addOrder('contact_last_name'); $q->addWhere('u.user_contact = con.contact_id'); $owners = $q->loadHashList(); // setup the title block $ttl = $company_id > 0 ? "Edit Company" : "Add Company"; $titleBlock = new CTitleBlock($ttl, 'handshake.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb("?m=companies", "companies list"); if ($company_id != 0) { $titleBlock->addCrumb("?m=companies&a=view&company_id={$company_id}", "view this company"); } $titleBlock->show(); ?> <script language="javascript"> function submitIt() { var form = document.changeclient; if (form.company_name.value.length < 3) { alert( "<?php echo $AppUI->_('companyValidName', UI_OUTPUT_JS); ?> " ); form.company_name.focus();
$AppUI->redirect('m=public&a=access_denied'); } $canAdmin = $perms->checkModule('system', 'edit'); $file_parent = intval(w2PgetParam($_GET, 'file_parent', 0)); // check if this record has dependencies to prevent deletion $msg = ''; $obj = new CFile(); // load the record data if ($file_id > 0 && !$obj->load($file_id)) { $AppUI->setMsg('File'); $AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $AppUI->redirect(); } // setup the title block $titleBlock = new CTitleBlock('Checkout', 'folder5.png', $m, "{$m}.{$a}"); $titleBlock->addCrumb('?m=files', 'files list'); $titleBlock->show(); if ($obj->file_project) { $file_project = $obj->file_project; } if ($obj->file_task) { $file_task = $obj->file_task; $task_name = $obj->getTaskName(); } elseif ($file_task) { $q = new DBQuery(); $q->addTable('tasks'); $q->addQuery('task_name'); $q->addWhere('task_id=' . (int) $file_task); $task_name = $q->loadResult(); $q->clear(); } else {