$AppUI->setMsg('invalidID', UI_MSG_ERROR, true); $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() {
<?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>';
$q->addWhere('c.company_id = ' . $company_id); $sql = $q->prepare(); $q->clear(); $obj = null; if (!db_loadObject($sql, $obj)) { $AppUI->setMsg('Company'); $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('Company Information'); if ($canEdit) { $titleBlock->addCell(); $titleBlock->addButton($AppUI->_('new company'), 'index.php?m=companies&a=addedit'); } $titleBlock->addButton('company list', 'index.php?m=companies'); $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) { ?> function delIt() {
* ("All" is always allowed when basing permission on projects) */ $project = new CProject(); $extra = array('from' => 'files', 'where' => 'project_id = file_project'); $projects = $project->getAllowedRecords($AppUI->user_id, 'project_id,project_name', 'project_name', null, $extra); $projects = arrayMerge(array('0' => $AppUI->_('All', UI_OUTPUT_RAW)), $projects); // get SQL for allowed projects/tasks and folders $task = new CTask(); $allowedProjects = $project->getAllowedSQL($AppUI->user_id, 'file_project'); $allowedTasks = $task->getAllowedSQL($AppUI->user_id, 'file_task'); $cfObj = new CFileFolder(); $allowedFolders = $cfObj->getAllowedSQL($AppUI->user_id, 'file_folder'); //get permissions for folder tab $canAccess_folders = getPermission('file_folders', 'access'); // setup the title block $titleBlock = new CTitleBlock('Files', 'folder5.png', $m, $m . '.' . $a); $titleBlock->addCell($AppUI->_('Filter') . ':'); $titleBlock->addCell(arraySelect($projects, 'project_id', 'onchange="javascript:document.pickProject.submit()" size="1" class="text"', $project_id), '', '<form name="pickProject" action="?m=files" method="post">', '</form>'); /* * override the file module's $canEdit variable passed from the main index.php * in order to check on file folder permissions */ $canAuthor_folders = getPermission('file_folders', 'add'); if ($canAuthor) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new file') . '" />', '', '<form action="?m=files&a=addedit&folder=' . $folder . '" method="post">', '</form>'); } if ($canAuthor_folders) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new folder') . '" />', '', '<form action="?m=files&a=addedit_folder" method="post">', '</form>'); } $titleBlock->show(); $file_types = dPgetSysVal('FileType');
<script language="javascript"> function changeIt() { var f=document.changeMe; f.submit(); } </script> <?php } // get the prefered date format $df = $AppUI->getPref('SHDATEFORMAT'); $reports = $AppUI->readFiles(dPgetConfig('root_dir') . "/modules/projects/reports", "\\.php\$"); // setup the title block if (!$suppressHeaders) { $titleBlock = new CTitleBlock('Project Reports'); $titleBlock->addButton("projects list", 'index.php?m=projects'); $titleBlock->show(); } $report_type_var = dPgetParam($_GET, 'report_type', ''); if (!empty($report_type_var)) { $report_type_var = '&report_type=' . $report_type; } $title_ext = ''; if ($report_type != '') { $rfx = DP_BASE_DIR . "/modules/projects/reports/" . $report_type . '.' . $AppUI->user_locale . '.txt'; if (file_exists($rfx)) { $ds = file($rfx); $title_ext = ' - ' . $ds[0]; } }
$q->clear(); $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
<?php /* $Id: index.php 1835 2011-04-30 21:39:23Z caseydk $ $URL: https://web2project.svn.sourceforge.net/svnroot/web2project/tags/version2.4/modules/system/index.php $ */ if (!defined('W2P_BASE_DIR')) { die('You should not access this file directly.'); } $perms =& $AppUI->acl(); if (!canView('system')) { // let's see if the user has sys access $AppUI->redirect('m=public&a=access_denied'); } $AppUI->savePlace(); $titleBlock = new CTitleBlock('System Administration', '48_my_computer.png', $m, $m . '.' . $a); $titleBlock->show(); ?> <table class="std" width="100%" border="0" cellpadding="0" cellspacing="5"> <tr> <td width="42"> <?php echo w2PshowImage('control-center.png', 42, 42, ''); ?> </td> <td align="left" class="subtitle"> <?php echo $AppUI->_('System Status'); ?> </td> </tr> <tr> <td> </td> <td align="left">
// get current week $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>
$q->clear(); $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'); $titleBlock->addButton('system admin', '?m=system'); $titleBlock->addButton('modules list', '?m=system&a=viewmods'); $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
$q->addWhere('companies.company_id = ' . $company_id); $sql = $q->prepare(); $q->clear(); $obj = null; if (!db_loadObject($sql, $obj)) { $AppUI->setMsg('Company'); $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">
break; case 4: $q->addWhere("project_status <> 7 AND project_company = {$AppUI->user_company}"); break; case 5: $q->addWhere("project_status = 7"); break; default: $q->addWhere("project_status <> 7"); break; } $q->addGroup('forum_id'); $q->addOrder("{$orderby} {$orderdir}"); $forums = $q->loadList(); // setup the title block $titleBlock = new CTitleBlock('Forums', 'support.png', $m, "{$m}.{$a}"); $titleBlock->addCell(arraySelect($filters, 'f', 'size="1" class="text" onChange="document.forum_filter.submit();"', $f, true), '', '<form name="forum_filter" action="?m=forums" method="post">', '</form>'); if ($canAuthor) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new forum') . '">', '', '<form action="index.php" method="get"><input type="hidden" name="m" value="forums" /><input type="hidden" name="a" value="addedit" />', '</form>'); } $titleBlock->show(); ?> <table width="100%" cellspacing="1" cellpadding="2" border="0" class="tbl"> <form name="watcher" action="./index.php?m=forums&f=<?php echo $f; ?> " method="post"> <tr> <th nowrap="nowrap"> </th> <th nowrap="nowrap" width="25"><a href="?m=forums&orderby=watch_user" class="hdr"><?php
<?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';
$q->clear(); $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);
$q->clear(); $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();
// load the record data in case of that this script is used to edit the log qith task_log_id (transmitted via GET) if (!$obj->load($task_log_id, false) && $task_log_id > 0) { // show some error messages using the dPFramework if loadOperation failed // 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' ); }
// check permissions $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') {
$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; } // get the prefered date format $df = $AppUI->getPref('SHDATEFORMAT'); // 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 $titleBlock = new CTitleBlock('View Project', 'applet3-48.png', $m, "{$m}.{$a}"); // patch 2.12.04 text to search entry box if (isset($_POST['searchtext'])) { $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 ($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>');
} else { $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();
<?php /* TICKETSMITH $Id: index.php 6150 2012-01-09 12:21:18Z ajdonnison $ */ if (!defined('DP_BASE_DIR')) { die('You should not access this file directly.'); } if (!$canAccess) { $AppUI->redirect("m=public&a=access_denied"); } // setup the title block $titleBlock = new CTitleBlock('Trouble Ticket Management', 'gconf-app-icon.png', $m, "{$m}.{$a}"); if ($canAuthor) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new ticket') . '">', '', '<form name="ticketform" action="?m=ticketsmith&a=post_ticket" method="post">', '</form>'); } $titleBlock->show(); require DP_BASE_DIR . '/modules/ticketsmith/config.inc.php'; require DP_BASE_DIR . '/modules/ticketsmith/common.inc.php'; $column = $CONFIG["order_by"]; $direction = $CONFIG["message_order"]; $offset = 0; $limit = $CONFIG["view_rows"]; $dbprefix = dPgetConfig('dbprefix', ''); $type = dPgetCleanParam($_GET, 'type', ''); $column = dPgetCleanParam($_GET, 'column', $column); $direction = dPgetCleanParam($_GET, 'direction', $direction); $offset = dPgetCleanParam($_GET, 'offset', $offset); $action = dPgetCleanParam($_REQUEST, 'action', null); if ($type == '') { if ($AppUI->getState("ticket_type")) { $type = $AppUI->getState("ticket_type"); } else {
<?php /* HELPDESK $Id: index.php,v 1.28 2005/04/07 22:20:29 bloaterpaste Exp $ */ // 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
$AppUI->setState('LinkIdxProject', intval($_REQUEST['project_id'])); } $project_id = $AppUI->getState('LinkIdxProject') !== NULL ? $AppUI->getState('LinkIdxProject') : 0; if (dPgetParam($_GET, 'tab', -1) != -1) { $AppUI->setState('LinkIdxTab', intval(dPgetParam($_GET, 'tab'))); } $tab = $AppUI->getState('LinkIdxTab') !== NULL ? $AppUI->getState('LinkIdxTab') : 0; $active = intval(!$AppUI->getState('LinkIdxTab')); require_once $AppUI->getModuleClass('projects'); // get the list of visible companies $extra = array('from' => 'links', 'where' => 'project_id = link_project'); $project = new CProject(); $projects = $project->getAllowedRecords($AppUI->user_id, 'project_id,project_name', 'project_name', null, $extra); $projects = arrayMerge(array('0' => $AppUI->_('All', UI_OUTPUT_JS)), $projects); // setup the title block $titleBlock = new CTitleBlock('Links', 'folder5.png', $m, "{$m}.{$a}"); $titleBlock->addCell($AppUI->_('Search') . ':'); $titleBlock->addCell('<input type="text" class="text" size="10" name="search" onchange="javascript:document.searchfilter.submit();" value=' . "'{$search}'" . 'title="' . $AppUI->_('Search in name and description fields', UI_OUTPUT_JS) . '"/>', '', '<form action="?m=links" method="post" id="searchfilter">', '</form>'); $titleBlock->addCell($AppUI->_('Filter') . ':'); $titleBlock->addCell(arraySelect($projects, 'project_id', 'onchange="javascript:document.pickProject.submit()" size="1" class="text"', $project_id), '', '<form name="pickProject" action="?m=links" method="post">', '</form>'); if ($canEdit) { $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new link') . '" />', '', '<form action="?m=links&a=addedit" method="post">', '</form>'); } $titleBlock->show(); $link_types = dPgetSysVal('LinkType'); if ($tab != -1) { array_unshift($link_types, 'All Links'); } array_map(array($AppUI, '_'), $link_types); $tabBox = new CTabBox('?m=links', DP_BASE_DIR . '/modules/links/', $tab); $i = 0;
if (!empty($tmp_user)) { $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;
die('You should not access this file directly.'); } // 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>
</form>'; // En of contact search form $a2z = '<table cellpadding="2" cellspacing="1" border="0">'; $a2z .= '<tr>'; $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;
if ($orderdesc) { $sql .= " DESC"; } // Pagination $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
$q->addOrder('project_name'); $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();
if (isset($_REQUEST['company_id'])) { $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'; }
<?php /* $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}";
// $AppUI->setMsg( ' $qid =& $q->exec(); Company' ); // What is this for? $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); ?> " );
} // load the event types $types = dPgetSysVal('EventType'); // load the event recurs types $recurs = array('Never', 'Hourly', 'Daily', 'Weekly', 'Bi-Weekly', 'Every Month', 'Quarterly', 'Every 6 months', 'Every Year'); $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">