コード例 #1
0
ファイル: addedit.php プロジェクト: eureka2/web2project
    $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() {
コード例 #2
0
<?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&amp;a=custom_field_addedit&amp;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&amp;a=custom_field_addedit&amp;module=' . $module['mod_name'] . '&amp;field_id=' . $f['field_id'] . '"><img src="./images/icons/stock_edit-16.png" align="center" width="16" height="16" border="0" alt="" />Edit</a>';
コード例 #3
0
ファイル: view.php プロジェクト: n2i/xvnkb
$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() {
コード例 #4
0
ファイル: index.php プロジェクト: srinivasulurao/jonel
 * ("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&amp;a=addedit&amp;folder=' . $folder . '" method="post">', '</form>');
}
if ($canAuthor_folders) {
    $titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new folder') . '" />', '', '<form action="?m=files&amp;a=addedit_folder" method="post">', '</form>');
}
$titleBlock->show();
$file_types = dPgetSysVal('FileType');
コード例 #5
0
ファイル: reports.php プロジェクト: n2i/xvnkb
<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];
    }
}
コード例 #6
0
ファイル: configure.php プロジェクト: juliogallardo1326/proc
    $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 
コード例 #7
0
ファイル: index.php プロジェクト: viniciusbudines/sisnuss
<?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>&nbsp;</td>
    <td align="left">
コード例 #8
0
ファイル: day_view.php プロジェクト: eureka2/web2project
// 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>
コード例 #9
0
ファイル: configure.php プロジェクト: n2i/xvnkb
    $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 
コード例 #10
0
$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">
コード例 #11
0
ファイル: index.php プロジェクト: klr2003/sourceread
        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">&nbsp;</th>
	<th nowrap="nowrap" width="25"><a href="?m=forums&orderby=watch_user" class="hdr"><?php 
コード例 #12
0
ファイル: tasksperuser.php プロジェクト: magsilva/dotproject
<?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';
コード例 #13
0
ファイル: addedit.php プロジェクト: kilivan/dotproject
    $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);
コード例 #14
0
ファイル: index.php プロジェクト: slawekmikula/dotproject
     $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();
コード例 #15
0
// 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' );
}
コード例 #16
0
// 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') {
コード例 #17
0
ファイル: view.php プロジェクト: magsilva/dotproject
    $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('&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;' . $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>');
コード例 #18
0
ファイル: index.php プロジェクト: joly/web2project
 } 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();
コード例 #19
0
ファイル: index.php プロジェクト: srinivasulurao/jonel
<?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&amp;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 {
コード例 #20
0
ファイル: index.php プロジェクト: srinivasulurao/jonel
<?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
コード例 #21
0
ファイル: index.php プロジェクト: hoodoogurus/dotprojecteap
    $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&amp;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;
コード例 #22
0
ファイル: view.php プロジェクト: 222elm/dotprojectFrame
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&amp;a=addedit&amp;contact_id=' . $contact_id, 'edit');
}
$titleBlock->addCell('<input type="submit" class="button" value="' . $AppUI->_('new project') . '" />', '', '<form action="?m=projects&amp;a=addedit&amp;company_id=' . $row->contact_company . '&amp;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;
コード例 #23
0
ファイル: addedit.php プロジェクト: hoodoogurus/dotprojecteap
    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&amp;a=view&amp;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>
コード例 #24
0
ファイル: index.php プロジェクト: viniciusbudines/sisnuss
		 </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;
コード例 #25
0
ファイル: list.php プロジェクト: slawekmikula/dotproject
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 
コード例 #26
0
$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" />&nbsp;' . $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();
コード例 #27
0
ファイル: index.php プロジェクト: viniciusbudines/sisnuss
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';
}
コード例 #28
0
ファイル: view.php プロジェクト: hightechcompany/dotproject
<?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}";
コード例 #29
0
ファイル: addedit.php プロジェクト: kaz190/dotproject
    // $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);
?>
" );
コード例 #30
0
ファイル: view.php プロジェクト: slawekmikula/dotproject
}
// 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&amp;a=addedit" method="post">' . '<input type="submit" class="button" value="' . $AppUI->_('new event') . '" /></form>', '', '', '');
}
$titleBlock->addCrumb('?m=calendar&amp;date=' . $start_date->format(FMT_TIMESTAMP_DATE), 'month view');
$titleBlock->addCrumb('?m=calendar&amp;a=day_view&amp;date=' . $start_date->format(FMT_TIMESTAMP_DATE) . '&amp;tab=0', 'day view');
if ($canEdit) {
    $titleBlock->addCrumb('?m=calendar&amp;a=addedit&amp;event_id=' . $event_id, 'edit this event');
    if ($canDelete) {
        $titleBlock->addCrumbDelete('delete event', $canDelete, $msg);
    }
}
$titleBlock->show();
?>
<script language="javascript">