コード例 #1
0
ファイル: view.php プロジェクト: n2i/xvnkb
    $efforts += $obj->task_duration * $u['perc_assignment'] / 100;
}
$isMyProject = $AppUI->user_id == $obj->project_owner;
$isMyTask = $isMyProject || $AppUI->user_id == $obj->task_owner;
if (!$isMyTask) {
    foreach ($users as $u) {
        if ($u['user_id'] == $AppUI->user_id) {
            $canAddSubTask = true;
            break;
        }
    }
}
$durnTypes = dPgetSysVal('TaskDurationType');
// setup the title block
$titleBlock = new CTitleBlock('View Task');
$titleBlock->addButton($AppUI->_('tasks list'), 'index.php?m=tasks&project_id=' . $obj->task_project);
if ($canEdit) {
    if ($isMyTask || $canAddSubTask) {
        $titleBlock->addButton($AppUI->_('add sub task'), 'index.php?m=tasks&a=simpleaddedit&task_project=' . $obj->task_project . '&task_parent=' . $task_id);
    }
}
$titleBlock->addCell();
$titleBlock->show();
$task_types = dPgetSysVal('TaskType');
?>

<script language="JavaScript">
<?php 
if ($canReadProject) {
    ?>
function viewProject() {
コード例 #2
0
ファイル: addedit.php プロジェクト: n2i/xvnkb
}
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->setMsg('Access denied', UI_MSG_ERROR);
        $AppUI->redirect();
    }
}
// setup the title block
$ttl = $contact_id > 0 ? "Edit Contact" : "Add Contact";
$titleBlock = new CTitleBlock($ttl);
$titleBlock->addButton('Contacts list', '?m=contacts');
if ($canDelete && $contact_id) {
    $titleBlock->addButton('delete contact', 'js:delIt()');
}
$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">
<?php 
コード例 #3
0
ファイル: reports.php プロジェクト: n2i/xvnkb
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];
    }
}
if (!$suppressHeaders) {
コード例 #4
0
ファイル: index.php プロジェクト: n2i/xvnkb
projects_list_data();
$nolist = array(P_HOLDING, P_COMPLETED, P_ARCHIVED, P_ALL);
if ($AppUI->user_type > 5) {
    // only Manager & upper level can create Template project
    $nolist[] = P_TEMPLATE;
}
// Setup the title block
$titleBlock = new CTitleBlock('Projects');
$titleBlock->addCell($AppUI->_('Owner') . ':');
$titleBlock->addCell($bufferUser, '', '<form action="?m=projects" method="post" name="pickUser">', '</form>');
$titleBlock->addCell($AppUI->_('Company') . '/' . $AppUI->_('Division') . ':');
$titleBlock->addCell($buffer, '', '<form action="?m=projects" method="post" name="pickCompany">', '</form>');
$titleBlock->addCell();
if ($canAuthor) {
    $label = in_array($psfilter, $nolist) ? $pstatus[$psf = P_ACTIVE] : $pstatus[$psf = $psfilter];
    $titleBlock->addButton($AppUI->_('new ' . $label . ' project'), 'index.php?m=projects&a=addedit&project_status=' . $psf);
}
$titleBlock->show();
$counter = array_fill(0, count($pstatus), 0);
if (is_array($projects)) {
    foreach ($projects as $p) {
        ++$counter[$p['project_status']];
    }
}
$showlist = array(P_PROPOSED, P_PLANNING, P_ACTIVE, P_COMPLETED);
$other_list = '';
$others = 0;
$statistic = '';
foreach ($pstatus as $pkt => $type) {
    $action = 'changeFilter(' . $pkt . ')';
    if (in_array($pkt, $showlist)) {
コード例 #5
0
ファイル: vcardimport.php プロジェクト: n2i/xvnkb
            if ($msg = $obj->store()) {
                $AppUI->setMsg($msg, UI_MSG_ERROR);
            }
        }
        // one or more vCard imports were successful
        $AppUI->setMsg('vCard(s) imported', UI_MSG_OK, true);
        $AppUI->redirect();
    } else {
        // redirect in case of file upload trouble
        $AppUI->setMsg("vCardFileUploadError", UI_MSG_ERROR);
        $AppUI->redirect();
    }
} elseif (isset($_GET['dialog']) && $_GET['dialog'] == '0') {
    //file upload formular
    $titleBlock = new CTitleBlock('Import vCard');
    $titleBlock->addButton('Contacts list', '?m=contacts');
    $titleBlock->show();
    ?>

<table width="100%" border="0" cellpadding="3" cellspacing="3" class="std">

	<form name="vcfFrm" action="?m=contacts&a=vcardimport&suppressHeaders=true" enctype="multipart/form-data" method="post">
		<input type="hidden" name="max_file_size" value="109605000" />
	<tr>
		<td align="right" nowrap="nowrap"><?php 
    echo $AppUI->_('Fetch vCard(s) File');
    ?>
:</td>
		<td align="left"><input type="File" class="button" name="vcf" style="width:280px" accept="text/x-vcard"></td>
	</tr>
	<tr>
コード例 #6
0
ファイル: followup.php プロジェクト: n2i/xvnkb
<?php

/* TICKETSMITH $Id: followup.php,v 1.17 2004/11/18 14:41:57 gregorerhardt Exp $ */
if (!$canRead) {
    $AppUI->setMsg('Access denied', UI_MSG_ERROR);
    $AppUI->redirect();
}
$ticket = dPgetParam($_GET, 'ticket', '');
$ticket_type = dPgetParam($_GET, 'ticket_type', '');
// setup the title block
$titleBlock = new CTitleBlock('Trouble Ticket Management');
$titleBlock->addButton("tickets list", "index.php?m=ticketsmith");
$titleBlock->addButton("view this ticket", "?m=ticketsmith&a=view&ticket={$ticket}");
$titleBlock->addCell();
$titleBlock->show();
require "modules/ticketsmith/config.inc.php";
require "modules/ticketsmith/common.inc.php";
require_once $AppUI->getSystemClass('libmail');
/* set title */
$title = "Post Followup";
/* setup fields */
$fields = array("headings" => array("Subject", "Cc", "<br />"), "columns" => array("subject", "cc", "body"), "types" => array("subject", "cc", "followup"));
/* prepare ticket parent */
if (!$ticket_parent) {
    $ticket_parent = $ticket;
}
//echo '<pre>';print_r($_POST);echo '</pre>';die;
$recipient = dPgetParam($_POST, 'recipient', '');
$subject = dPgetParam($_POST, 'subject', '');
$cc = dPgetParam($_POST, 'cc', '');
$followup = dPgetParam($_POST, 'followup', '');
コード例 #7
0
ファイル: billingcode.php プロジェクト: n2i/xvnkb
$q->addQuery('billingcode_id, billingcode_name, billingcode_value, billingcode_desc, billingcode_status');
$q->addOrder('billingcode_name ASC');
//$q->addWhere('bc.billingcode_status = 0');
$q->addWhere('company_id = ' . $company_id);
$billingcodes = $q->loadList();
$q->clear();
$q = new DBQuery();
$q->addTable('companies', 'c');
$q->addQuery('company_id, company_name');
$q->addOrder('company_name ASC');
$company_list = $q->loadHashList();
$company_list[0] = $AppUI->_('...');
$q->clear();
$company_name = $company_list[$company_id];
$titleBlock = new CTitleBlock('Edit Billing Codes');
$titleBlock->addButton('Main page', '?m=system');
$titleBlock->show();
?>
<script type="text/javascript" language="javascript">

function doEditCode(id) {
	var r = $('idCode'+id);
	var f = document.CodeEditFrom;
	if (r) {
		f.billingcode_name.value = r.cells[1].innerHTML;
		f.billingcode_value.value = r.cells[2].innerHTML;
		f.billingcode_desc.value = r.cells[3].innerHTML;
	}
	else {
		f.billingcode_name.value = '';
		f.billingcode_value.value = '';
コード例 #8
0
ファイル: comment.php プロジェクト: n2i/xvnkb
<?php

/* TICKETSMITH $Id: comment.php,v 1.18 2004/11/18 14:41:57 gregorerhardt Exp $ */
if (!$canEdit) {
    $AppUI->setMsg('Access denied', UI_MSG_ERROR);
    $AppUI->redirect();
}
$ticket = dPgetParam($_GET, 'ticket', '');
$ticket_type = dPgetParam($_GET, 'ticket_type', '');
// setup the title block
$titleBlock = new CTitleBlock('Post Comment');
$titleBlock->addButton('tickets list', 'index.php?m=ticketsmith');
$titleBlock->addCell();
$titleBlock->show();
require 'modules/ticketsmith/config.inc.php';
require 'modules/ticketsmith/common.inc.php';
/* set title */
$title = 'Post Comment';
/* prepare ticket parent */
if (!$ticket_parent) {
    $ticket_parent = $ticket;
}
$author_name = dPgetParam($_POST, 'author_name', '');
$author_email = dPgetParam($_POST, 'author_email', '');
$comment = dPgetParam($_POST, 'comment', '');
$body = dPgetParam($_POST, 'body', '');
if (@$comment) {
    /* prepare fields */
    list($author_name, $author_email) = query2array("SELECT CONCAT_WS(' ',contact_first_name,contact_last_name) as name, contact_email as email FROM users u LEFT JOIN contacts ON u.user_contact = contact_id WHERE user_id = '{$AppUI->user_id}'");
    $subject = db_escape(query2result("SELECT subject FROM tickets WHERE ticket = '{$ticket_parent}'"));
    $comment = db_escape($comment);
コード例 #9
0
ファイル: attach.php プロジェクト: n2i/xvnkb
<?php

if (!$canEdit) {
    $AppUI->setMsg('Access denied', UI_MSG_ERROR);
    $AppUI->redirect();
}
$ticket = dPgetParam($_GET, 'ticket', '');
$titleBlock = new CTitleBlock('Link Ticket');
$titleBlock->addButton('Tickets list', '?m=ticketsmith');
$titleBlock->show();
require "./modules/ticketsmith/config.inc.php";
require "./modules/ticketsmith/common.inc.php";
$app_root = dPgetConfig('base_url');
/* setup table & database field stuff */
$fields = array("headings" => array("Link", "Author", "Subject", "Date", "Followup", "Status", "Priority", "Owner"), "columns" => array("ticket", "author", "subject", "timestamp", "activity", "type", "priority", "assignment"), "types" => array("doattach", "email", "normal", "open_date", "activity_date", "normal", "priority_view", "user"), "aligns" => array("center", "left", "left", "left", "left", "center", "center", "center"));
/* set up defaults for viewing */
$type = @$type ? $type : "Open";
$column = @$column ? $column : "priority";
$direction = @$direction ? $direction : "DESC";
$offset = @$offset ? $offset : 0;
$limit = @$limit ? $limit : $CONFIG["view_rows"];
/* count tickets */
$query = "SELECT COUNT(*) FROM tickets WHERE parent = '0' and ticket != {$ticket}";
if ($type != 'All') {
    $query .= " AND type = '{$type}'";
}
$ticket_count = query2result($query);
/* paging controls */
if ($offset + $limit < $ticket_count) {
    $page_string = $offset + 1 . " to " . ($offset + $limit) . " of {$ticket_count}";
} else {
コード例 #10
0
ファイル: addedit.php プロジェクト: n2i/xvnkb
$q->addQuery('project_id, project_name');
$q->addWhere('project_status <> 7');
$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();
$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);
$titleBlock->addButton('forums list', '?m=forums');
if ($canDelete) {
    $titleBlock->addButton($AppUI->_('delete forum'), 'js:delIt()');
}
$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) {
コード例 #11
0
ファイル: addeditpref.php プロジェクト: n2i/xvnkb
    $AppUI->setMsg('Access denied', UI_MSG_ERROR);
    $AppUI->redirect();
}
// load the preferences
$sql = "\nSELECT pref_name, pref_value\nFROM user_preferences\nWHERE pref_user = {$user_id}\n";
$prefs = db_loadHashList($sql);
// get the user name
if ($user_id) {
    $user = dPgetUsernameFromID($user_id);
} else {
    $user = "******";
}
$titleBlock = new CTitleBlock('Edit User Preferences', 'preferences.png');
$perms =& $AppUI->acl();
if ($perms->checkModule('system', 'edit')) {
    $titleBlock->addButton("system admin", 'index.php?m=system');
    $titleBlock->addButton("system configuration", 'index.php?m=system&a=systemconfig');
}
$titleBlock->show();
?>
<script language="javascript">
function submitIt(){
	var form = document.changeuser;
	// Collate the checked states of the task log stuff
	var defs = document.getElementById('task_log_email_defaults');
	var mask = 0;
	if (form.tl_assign.checked)
		mask += 1;
	if (form.tl_task.checked)
		mask += 2;
	if (form.tl_proj.checked)
コード例 #12
0
ファイル: index.php プロジェクト: n2i/xvnkb
    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');
$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>');
$canAdd = $perms->checkModule($m, 'add');
if ($canAdd) {
    $titleBlock->addButton($AppUI->_('new forum'), 'js:doEditForum(0)');
    //'?m=forums&a=addedit');
}
$titleBlock->show();
if ($canAdd) {
    ?>
<script>
function doSaveForum() {
	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) {
コード例 #13
0
ファイル: viewer.php プロジェクト: n2i/xvnkb
	project_name, project_color_identifier');
$q->addJoin('contacts', 'con', 'contact_id = user_contact');
$q->addWhere("user_id = forum_owner");
$q->addWhere("forum_id = {$forum_id}");
$q->addWhere("forum_project = project_id");
$q->exec(ADODB_FETCH_ASSOC);
$forum = $q->fetchRow();
$forum_name = $forum['forum_name'];
echo db_error();
$q->clear();
$start_date = intval($forum['forum_create_date']) ? new CDate($forum['forum_create_date']) : null;
// setup the title block
$titleBlock = new CTitleBlock('Forum');
$titleBlock->addCell(arraySelect($filters, 'f', 'size="1" class="text" onchange="document.filterFrm.submit();"', $f, true), '', '<form action="?m=forums&a=viewer&forum_id=' . $forum_id . '" method="post" name="filterFrm">', '</form>');
$titleBlock->addCell();
$titleBlock->addButton($AppUI->_('Forum list'), '?m=forums');
$titleBlock->show();
?>
<table width="100%" cellspacing="0" cellpadding="4" border="0" class="infopanel">
<tr>
	<th colspan="2">
		<img src="images/discuss_grp.gif">&nbsp;<?php 
echo @$forum['forum_name'];
?>
&nbsp;
		<?php 
echo $start_date ? '(Since: ' . $start_date->format($df) . ')' : '';
?>
	</th>
</tr>
<tr>
コード例 #14
0
ファイル: viewgantt.php プロジェクト: n2i/xvnkb
$df = $AppUI->getPref('SHDATEFORMAT');
if ($display_option == 'custom') {
    // custom dates
    $start_date = intval($sdate) ? new CDate($sdate) : new CDate();
    $end_date = intval($edate) ? new CDate($edate) : new CDate();
} else {
    // month
    $start_date = new CDate();
    $start_date->day = 1;
    $end_date = new CDate($start_date);
    $end_date->addMonths($scroll_date);
}
// setup the title block
if (!@$min_view) {
    $titleBlock = new CTitleBlock('Gantt Chart');
    $titleBlock->addButton("view this project", 'index.php?m=projects&a=view&project_id=' . $project_id);
    $titleBlock->addButton("tasks list", 'index.php?m=tasks');
    $titleBlock->addCell();
    $titleBlock->show();
}
?>
<script language="javascript">
function scrollPrev() {
	f = document.editFrm;
<?php 
$new_start = php4_clone($start_date);
$new_start->day = 1;
$new_end = php4_clone($end_date);
$new_start->addMonths(-$scroll_date);
$new_end->addMonths(-$scroll_date);
echo "f.sdate.value='" . $new_start->format(FMT_TIMESTAMP_DATE) . "';";
コード例 #15
0
ファイル: viewgantt.php プロジェクト: n2i/xvnkb
$df = $AppUI->getPref('SHDATEFORMAT');
if ($display_option == 'custom') {
    // custom dates
    $start_date = intval($sdate) ? new CDate($sdate) : new CDate();
    $end_date = intval($edate) ? new CDate($edate) : new CDate();
} else {
    // month
    $start_date = new CDate();
    $start_date->day = 1;
    $end_date = new CDate($start_date);
    $end_date->addMonths($scroll_date);
}
// setup the title block
if (!@$min_view) {
    $titleBlock = new CTitleBlock('Gantt Chart');
    $titleBlock->addButton('projects list', '?m=projects');
    $titleBlock->show();
}
?>

<script language="javascript">

function scrollPrev() {
	f = document.editFrm;
<?php 
$new_start = $start_date;
$new_start->day = 1;
$new_end = $end_date;
$new_start->addMonths(-$scroll_date);
$new_end->addMonths(-$scroll_date);
echo "f.sdate.value='" . $new_start->format(FMT_TIMESTAMP_DATE) . "';";
コード例 #16
0
ファイル: view.php プロジェクト: n2i/xvnkb
$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 && !$perms->checkModule("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');
if ($canEdit) {
    $titleBlock->addButton($AppUI->_('new event'), 'index.php?m=calendar&amp;a=addedit');
    $titleBlock->addCell();
}
$titleBlock->addButton('month view', 'index.php?m=calendar&date=' . $start_date->format(FMT_TIMESTAMP_DATE));
$titleBlock->addCell();
$titleBlock->addButton('day view', 'index.php?m=calendar&a=day_view&date=' . $start_date->format(FMT_TIMESTAMP_DATE));
$titleBlock->addCell();
$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) {
    ?>
コード例 #17
0
ファイル: search.php プロジェクト: n2i/xvnkb
<?php

/* $Id: search.php,v 1.11 2004/03/10 02:03:57 gregorerhardt Exp $ */
if (!$canRead) {
    $AppUI->setMsg('Access denied', UI_MSG_ERROR);
    $AppUI->redirect();
}
$titleBlock = new CTitleBlock('Trouble Ticket Management');
$titleBlock->addButton($AppUI->_('ticket list'), 'index.php?m=ticketsmith');
$titleBlock->addCell();
$titleBlock->show();
require "modules/ticketsmith/config.inc.php";
require "modules/ticketsmith/common.inc.php";
if (empty($search_pattern)) {
    $search_pattern = "";
}
if (empty($search_field)) {
    $search_field = "";
}
if (empty($search_depth)) {
    $search_depth = "";
}
if (empty($sort_column)) {
    $sort_column = "";
}
/* set title */
$title = 'Search Tickets';
/* start form */
echo '<form name="ticketform" action="index.php?m=ticketsmith&a=search" method="post">';
/* start table */
echo '<table class="infopanel" width="100%" cellspacing="0" cellpadding="3" border="0">';
コード例 #18
0
ファイル: addedituser.php プロジェクト: n2i/xvnkb
    $titleBlock->show();
} else {
    if ($user_id == 0) {
        $user['contact_id'] = 0;
    }
    // pull companies
    $q = new DBQuery();
    $q->addTable('companies');
    $q->addQuery('company_id, company_name');
    $q->addOrder('company_name');
    $companies = arrayMerge(array(0 => ''), $q->loadHashList());
    // setup the title block
    $ttl = $user_id > 0 ? 'Edit User' : 'Add User';
    $titleBlock = new CTitleBlock($ttl);
    if ($perms->checkModule('admin', 'view') && $perms->checkModule('users', 'view')) {
        $titleBlock->addButton('users list', '?m=admin');
    }
    $titleBlock->addCell();
    $titleBlock->show();
    ?>
<script language="javascript">
function submitIt(){
	var form = document.editFrm;
	if (form.user_username.value.length < <?php 
    echo dPgetConfig('username_min_len');
    ?>
 &&
		form.user_username.value != '<?php 
    echo dPgetConfig('admin_username');
    ?>
') {
コード例 #19
0
ファイル: day_view.php プロジェクト: n2i/xvnkb
$dd = $this_day->getDay();
$mm = $this_day->getMonth();
$yy = $this_day->getYear();
// get current week
$this_week = Date_calc::beginOfWeek($dd, $mm, $yy, FMT_TIMESTAMP_DATE, LOCALE_FIRST_DAY);
// prepare time period for 'events'
$first_time = php4_clone($this_day);
$first_time->setTime(0, 0, 0);
$first_time->subtractSeconds(1);
$last_time = php4_clone($this_day);
$last_time->setTime(23, 59, 59);
$prev_day = new CDate(Date_calc::prevDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE));
$next_day = new CDate(Date_calc::nextDay($dd, $mm, $yy, FMT_TIMESTAMP_DATE));
// setup the title block
$titleBlock = new CTitleBlock('Day View');
$titleBlock->addButton('month view', 'index.php?m=calendar&date=' . $this_day->format(FMT_TIMESTAMP_DATE));
$titleBlock->addButton('week view', 'index.php?m=calendar&a=week_view&date=' . $this_week);
$titleBlock->addButton('new event', 'index.php?m=calendar&a=addedit&date=' . $this_day->format(FMT_TIMESTAMP_DATE));
$titleBlock->addCell();
$titleBlock->show();
?>
<script language="javascript">
function clickDay( idate, fdate ) {
        window.location = './index.php?m=calendar&a=day_view&date='+idate;
}
</script>

<table width="100%" cellspacing="0" cellpadding="4" border="0">
<tr>
	<td valign="top">
		<table border="0" cellspacing="1" cellpadding="2" width="100%" class="minical">
コード例 #20
0
ファイル: addedit.php プロジェクト: n2i/xvnkb
        $depts['0'] = array(0, '- ' . $AppUI->_('Select Unit') . ' -', -1);
    }
    // collect all the users for the department owner list
    $q = new DBQuery();
    $q->addTable('users', 'u');
    $q->addTable('contacts', 'con');
    $q->addQuery('user_id');
    $q->addQuery('CONCAT_WS(" ",contact_first_name, contact_last_name)');
    $q->addOrder('contact_first_name');
    $q->addWhere('u.user_contact = con.contact_id');
    $q->addOrder('contact_last_name, contact_first_name');
    $owners = arrayMerge(array('0' => ''), $q->loadHashList());
    // setup the title block
    $ttl = $dept_id > 0 ? 'Edit Department' : 'Create Department';
    $titleBlock = new CTitleBlock($ttl);
    $titleBlock->addButton('companies list', '?m=companies');
    $titleBlock->show();
    ?>
<script language="javascript">
function testURL( x ) {
	var test = "document.editFrm.dept_url.value";
	test = eval(test);
	if (test.length > 6) {
		newwin = window.open( "http://" + test, 'newwin', '' );
	}
}

function submitIt() {
	var form = document.editFrm;
	if (form.dept_name.value.length < 2) {
		alert( '<?php 
コード例 #21
0
ファイル: index.php プロジェクト: n2i/xvnkb
<?php

$AppUI->savePlace();
// pull all the key types
$sql = 'SELECT syskey_id,syskey_name FROM syskeys ORDER BY syskey_name';
$keys = arrayMerge(array(0 => '- Select Type -'), db_loadHashList($sql));
$sql = 'SELECT * FROM syskeys, sysvals WHERE sysval_key_id = syskey_id ORDER BY sysval_title';
$values = db_loadList($sql);
$sysval_id = isset($_GET['sysval_id']) ? $_GET['sysval_id'] : 0;
$titleBlock = new CTitleBlock('System Lookup Values', 'preferences.png');
$titleBlock->addButton('System Admin', '?m=system');
$titleBlock->show();
if ($canEdit) {
    ?>
<script language="javascript">
function delIt(id) {
	if (confirm( 'Are you sure you want to delete this?' )) {
		f = document.sysValFrm;
		f.del.value = 1;
		f.sysval_id.value = id;
		f.submit();
	}
}

function doEditValue(id)
{
	var r = $('idValue_'+id);
	var t = parseInt(r.cells[1].getAttribute('data'), 10);
	var s = $('idSysValType');
	for (i = 0; i < s.options.length; i++)
		if (s.options[i].value == t) {
コード例 #22
0
ファイル: simpleaddedit.php プロジェクト: n2i/xvnkb
        $parents[$sub_task['task_parent']][] = $sub_task['task_id'];
        $all_tasks[$sub_task['task_id']] = $sub_task;
        build_date_list($projTasksWithEndDates, $sub_task);
    }
}
// let's iterate root tasks
foreach ($root_tasks as $root_task) {
    build_date_list($projTasksWithEndDates, $root_task);
    if ($root_task['task_id'] != $task_id) {
        constructTaskTree($root_task);
    }
}
// setup the title block
$ttl = $task_id > 0 ? 'Edit Task' : 'Add Task';
$titleBlock = new CTitleBlock($ttl);
$titleBlock->addButton('tasks list', 'index.php?m=tasks');
$titleBlock->addCell();
$titleBlock->show();
//Dynamic tasks are by default now off because of dangerous behavior if incorrectly used
if (is_null($obj->task_dynamic)) {
    $obj->task_dynamic = 0;
}
$can_edit_time_information = $obj->canUserEditTimeInformation();
if (intval($obj->task_start_date)) {
    $start_date = new CDate($obj->task_start_date);
} else {
    if ($task_id != 0) {
        $start_date = null;
    } else {
        $start_date = new CDate();
    }
コード例 #23
0
ファイル: todo.php プロジェクト: n2i/xvnkb
$tasks = db_loadList($sql);
/* we have to calculate the end_date via start_date+duration for
** end='0000-00-00 00:00:00'
*/
for ($j = 0; $j < count($tasks); $j++) {
    if ($tasks[$j]['task_end_date'] == '0000-00-00 00:00:00') {
        $tasks[$j]['task_end_date'] = calcEndByStartAndDuration($tasks[$j]);
    }
}
global $priorities;
$priorities = array('1' => 'high', '0' => 'normal', '-1' => 'low');
global $durnTypes;
$durnTypes = dPgetSysVal('TaskDurationType');
if (!@$min_view) {
    $titleBlock = new CTitleBlock('My Tasks To Do');
    $titleBlock->addButton("tasks list", 'index.php?m=tasks');
    $titleBlock->addCell();
    $titleBlock->show();
}
// If we are called from anywhere but directly, we would end up with
// double rows of tabs that would not work correctly, and since we
// are called from the day view of calendar, we need to prevent this
if ($m == 'tasks' && $a == 'todo') {
    ?>

<table cellspacing="0" cellpadding="2" border="0" width="100%">
<tr>
	<td width="80%" valign="top">
	<?php 
    // Tabbed information boxes
    $tabBox = new CTabBox('?m=tasks&a=todo', $tab);
コード例 #24
0
ファイル: addedit.php プロジェクト: n2i/xvnkb
// Now that we have loaded the possible replacement event,  remove the stored
// details, NOTE: This could cause using a back button to make things break,
// but that is the least of our problems.
if ($is_clash) {
    unset($_SESSION['add_event_post']);
    unset($_SESSION['add_event_attendees']);
    unset($_SESSION['add_event_mail']);
    unset($_SESSION['add_event_clash']);
    unset($_SESSION['event_is_clash']);
}
if ($_GET['event_project']) {
    $obj->event_project = $_GET['event_project'];
}
// setup the title block
$titleBlock = new CTitleBlock($event_id ? 'Edit Event' : 'Add Event');
$titleBlock->addButton('month view', 'index.php?m=calendar');
$titleBlock->addCell();
$titleBlock->show();
// format dates
$df = $AppUI->getPref('SHDATEFORMAT');
// pull projects
require_once $AppUI->getModuleClass('projects');
$q =& new DBQuery();
$q->addTable('projects', 'p');
$q->addQuery('p.project_id, p.project_name');
$prj =& new CProject();
$allowedProjects = $prj->getAllowedSQL($AppUI->user_id);
if (count($allowedProjects)) {
    $prj->setAllowedSQL($AppUI->user_id, $q);
}
$q->addOrder('project_name');
コード例 #25
0
ファイル: viewrole.php プロジェクト: n2i/xvnkb
<?php

$AppUI->savePlace();
$perms =& $AppUI->acl();
$role_id = $_GET['role_id'];
$role = $perms->getRole($role_id);
if (isset($_GET['tab'])) {
    $AppUI->setState('RoleVwTab', $_GET['tab']);
}
$tab = $AppUI->getState('RoleVwTab') !== NULL ? $AppUI->getState('RoleVwTab') : 0;
if (!is_array($role)) {
    $titleBlock = new CTitleBlock('Invalid Role', 'roles-settings.png');
    $titleBlock->addButton('role list', '?m=system&u=roles');
    $titleBlcok->show();
} else {
    $titleBlock = new CTitleBlock('View Role', 'roles-settings.png');
    $titleBlock->addButton('role list', '?m=system&u=roles');
    $titleBlock->show();
    $tabBox = new CTabBox("?m=system&u=roles&a=viewrole&role_id={$role_id}", $tab);
    $tabBox->add('vw_role_perms', 'Permissions');
    $tabBox->setInfo('<table border="0" cellpadding="4" cellspacing="0" width="100%" class="internal">' . '<tr>' . '<td align="right" nowrap><b>' . $AppUI->_('Role ID') . ':</b></td>' . '<td width="100%">' . $role['value'] . '</td>' . '<td rowspan="2"><input type="button" value="' . $AppUI->_('Add permission') . '" onclick="doAddPermission()"></td>' . '</tr>' . '<tr>' . '<td align="right"><b>' . $AppUI->_('Description') . ':</b></td>' . '<td width="100%">' . $AppUI->_($role['name']) . '</td>' . '</tr>' . '</table>');
    $tabBox->show();
}
// End of check for valid role
コード例 #26
0
ファイル: index.php プロジェクト: n2i/xvnkb
$q->clear();
//display the select list
$buffer = '<select name="department" onChange="document.pickCompany.submit()" class="text">';
$buffer .= '<option value="company_0" style="font-weight:bold;">' . $AppUI->_('All') . '</option>' . "\n";
$company = '';
foreach ($rows as $row) {
    if ($row['dept_parent'] == 0) {
        if ($company != $row['company_id']) {
            $buffer .= '<option disabled="disabled" value="' . $company_prefix . $row['company_id'] . '" style="font-weight:bold;">' . $row['company_name'] . '</option>' . "\n";
            $company = $row['company_id'];
        }
        if ($row['dept_parent'] != null) {
            showchilddept($row);
            findchilddept($rows, $row['dept_id']);
        }
    }
}
$buffer .= '</select>';
// setup the title block
$titleBlock = new CTitleBlock('Departments');
$titleBlock->addCell($AppUI->_('Department') . ':');
$titleBlock->addCell($buffer, '', '<form action="?m=departments" method="post" name="pickCompany">', '</form>');
$titleBlock->addCell();
if ($canEdit) {
    $titleBlock->addCell();
    $titleBlock->addButton($AppUI->_('new department'), 'index.php?m=departments&a=addedit&company_id=' . $company . '&dept_parent=' . $department);
}
$titleBlock->addButton('company list', '?m=companies');
$titleBlock->show();
$min_view = true;
include $dPconfig['root_dir'] . '/modules/departments/view.php';
コード例 #27
0
ファイル: configure.php プロジェクト: n2i/xvnkb
    $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 
echo $watchAll ? 'checked' : '';
コード例 #28
0
ファイル: tasksperuser.php プロジェクト: n2i/xvnkb
<?php

/* TASKS $Id: tasksperuser.php,v 1.5 2005/03/23 21:51:42 gregorerhardt Exp $ */
$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');
$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->addCell();
$titleBlock->addButton("tasks list", 'index.php?m=tasks');
$titleBlock->addButton("my todo", 'index.php?m=tasks&a=todo&user_id=' . $user_id);
$titleBlock->addCell();
$titleBlock->show();
// include the re-usable sub view
$min_view = false;
include "{$dPconfig['root_dir']}/modules/tasks/tasksperuser_sub.php";
コード例 #29
0
ファイル: view.php プロジェクト: n2i/xvnkb
$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() {
	if (confirm( "<?php 
    echo $AppUI->_('doDelete') . ' ' . $AppUI->_('company') . ' [' . $obj->company_name . '] ?';
    ?>
コード例 #30
0
ファイル: index.php プロジェクト: n2i/xvnkb
$q->addQuery('CONCAT(contact_first_name, " ", contact_last_name) AS contact_name, contact_phone');
$q->addTable('contacts', 'a');
$q->leftJoin('companies', 'b', 'a.contact_company = b.company_id');
$q->addWhere("(contact_first_name LIKE '{$where}%' {$additional_filter})");
$q->addWhere('(contact_private = 0 OR (contact_private = 1 AND contact_owner = ' . $AppUI->user_id . ')' . '  OR contact_owner IS NULL OR contact_owner = 0)');
if (count($allowedCompanies)) {
    $comp_where = implode(' AND ', $allowedCompanies);
    $q->addWhere('( (' . $comp_where . ') OR contact_company = 0 )');
}
$contacts = $q->loadHashList('contact_id');
// Let's remove the first '%' that we previously added to ContIdxWhere
$default_search_string = dPformSafe(substr($where, 1, strlen($where)), true);
// setup the title block
$titleBlock = new CTitleBlock('Contacts');
if ($canEdit) {
    $titleBlock->addButton($AppUI->_('CSV Download'), 'index.php?m=contacts&a=csvexport&suppressHeaders=1');
    $titleBlock->addButton($AppUI->_('Import vCard'), 'index.php?m=contacts&a=vcardimport&dialog=0');
}
$titleBlock->show();
?>
<table width="100%" border="0" cellpadding="0" cellspacing="0">
<tr>
	<td class="<?php 
echo $tab == 0 ? 'tabon' : 'taboff';
?>
" style="padding-left: 10px; padding-right: 10px"
		onclick="go('?m=contacts&where=0&tab=0')">All</td>
<?php 
for ($t = 65; $t < 91; $t++) {
    $c = chr($t);
    ?>