echo ' <a href="/admin/groupedit.php?group_id=' . $groupId . '">' . $projectName . '</a><br/>'; echo '<table>'; echo '<tr>'; echo '<th>Services</th>'; echo '<th>Group by</th>'; echo '<th>Start date</th>'; echo '<th>End date</th>'; echo '<th>Options</th>'; echo '</tr>'; echo '<tr>'; $services = array(); foreach ($duMgr->getProjectServices() as $service => $label) { $services[] = array('value' => $service, 'text' => $label); } echo '<td valign="top">'; echo html_build_multiple_select_box_from_array($services, 'services[]', $selectedServices, '6', false, '', false, '', false, '', false) . ' '; echo '</td>'; echo '<td valign="top">'; echo html_build_select_box_from_array($groupByDate, 'group_by', $selectedGroupByDate, 1) . '<br />'; echo '</td>'; echo '<td valign="top">'; list($timestamp, ) = util_date_to_unixtime($startDate); echo html_field_date('start_date', $startDate, false, 10, 10, 'progress_by_project', false) . '<br /><em>' . html_time_ago($timestamp) . '</em><br />'; echo '</td>'; echo '<td valign="top">'; list($timestamp, ) = util_date_to_unixtime($endDate); echo html_field_date('end_date', $endDate, false, 10, 10, 'progress_by_project', false) . '<br /><em>' . html_time_ago($timestamp) . '</em><br />'; echo '</td>'; $sel = ''; if ($relative) { $sel = ' checked="checked"';
function _getAddReviewers() { $html = ''; if ($this->table !== null && !$this->table->isClosed() || $this->table === null) { $atrf = new Docman_ApprovalTableReviewerFactory($this->table, $this->item); $ugroups = $atrf->getUgroupsAllowedForTable($this->item->getGroupId()); $html .= '<div id="docman_approval_table_create_add_reviewers">'; $html .= '<table>'; $html .= '<tr>'; $html .= '<td>' . $GLOBALS['Language']->getText('plugin_docman', 'details_approval_create_reviewers_hand') . '</td>'; $html .= '<td><input type="text" name="user_list" value="" id="user_list" class="text_field"/></td>'; $html .= '</tr>'; $html .= '<tr>'; $html .= '<td>' . $GLOBALS['Language']->getText('plugin_docman', 'details_approval_create_reviewers_ugroup') . '</td>'; $html .= '<td>' . html_build_multiple_select_box_from_array($ugroups, 'ugroup_list[]', array(), 8, true, '', false, '', false, '', false) . '</td>'; $html .= '</tr>'; $html .= '</table>'; $html .= '</div>'; $js = "new UserAutoCompleter('user_list', '" . util_get_dir_image_theme() . "', true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); } else { return $GLOBALS['Language']->getText('plugin_docman', 'details_approval_create_reviewers_oldver'); } return $html; }
foreach ($dar as $row) { $selectedUgroup[] = $row['ugroup_id']; } } else { $selectedUgroup = array($GLOBALS['UGROUP_PROJECT_ADMIN']); } $ugroupList = array(array('value' => $GLOBALS['UGROUP_PROJECT_ADMIN'], 'text' => util_translate_name_ugroup('project_admin'))); $res = ugroup_db_get_existing_ugroups($group_id); while ($row = db_fetch_array($res)) { $ugroupList[] = array('value' => $row['ugroup_id'], 'text' => $row['name']); } echo '<tr><td colspan="2" style="text-align: center;">'; echo '<form method="post" action="permission_request.php">'; echo '<input type="hidden" name="func" value="member_req_notif_group" />'; echo '<input type="hidden" name="group_id" value="' . $group_id . '">'; echo html_build_multiple_select_box_from_array($ugroupList, "ugroups[]", $selectedUgroup, 8, false, '', false, '', false, '', false); echo '<br />'; echo '<input type="submit" name="submit" value="' . $Language->getText('global', 'btn_update') . '" />'; echo '</form>'; echo '</td></tr>'; echo '<tr><td colspan="2"><p>'; echo $Language->getText('project_admin_index', 'member_request_delegation_msg_desc'); echo '</p></td></tr>'; $message = $GLOBALS['Language']->getText('project_admin_index', 'member_request_delegation_msg_to_requester'); $dar = $pm->getMessageToRequesterForAccessProject($group_id); if ($dar && !$dar->isError() && $dar->rowCount() == 1) { $row = $dar->current(); if ($row['msg_to_requester'] != "member_request_delegation_msg_to_requester") { $message = $row['msg_to_requester']; } }
function html_build_multiple_select_box($result, $name, $checked_array, $size = '8', $show_100 = true, $text_100 = '', $show_any = false, $text_any = '', $show_unchanged = false, $text_unchanged = '', $show_value = true, $purify_level = CODENDI_PURIFIER_CONVERT_HTML, $disabled = false) { if (is_array($result)) { $array =& $result; } else { $array = array(); while ($row = db_fetch_array($result)) { $array[] = array('value' => $row[0], 'text' => $row[1]); } } return html_build_multiple_select_box_from_array($array, $name, $checked_array, $size, $show_100, $text_100, $show_any, $text_any, $show_unchanged, $text_unchanged, $show_value, $purify_level, $disabled); }
/** * Display Date Field Notification Settings form * * @param * @return void */ function displayDateFieldNotificationSettings(ArtifactType $at, ArtifactField $field) { //get date field reminder settings from database $tdrArtifactField = new TrackerDateReminder_ArtifactField(); $res = $tdrArtifactField->getDateFieldReminderSettings($field->getID(), $at->getID()); $enabled = db_numrows($res) == 1; $start = db_result($res, 0, 'notification_start'); $frequency = db_result($res, 0, 'frequency'); $recurse = db_result($res, 0, 'recurse'); $notified_people = db_result($res, 0, 'notified_people'); $notified_groups = array(); $notified_users = array(); if (trim($notified_people) != "") { $notif = explode(",", $notified_people); foreach ($notif as $value) { if (preg_match("/^g/", $value)) { array_push($notified_groups, $value); } else { array_push($notified_users, $value); } } } if (count($notified_groups) == 0) { $notified_groups[] = '100'; } if (count($notified_users) == 0) { $notified_users[] = '100'; } $notif_type = db_result($res, 0, 'notification_type'); if ($notif_type == 1) { $after = "selected"; $before = ""; } else { $after = ""; $before = "selected"; } $out = ''; $baseActionUrl = '/tracker/admin/index.php?func=date_field_notification&group_id=' . $at->Group->getID() . '&atid=' . $at->getID() . '&field_id=' . $field->getID(); if ($enabled) { $out .= '<H3>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notif_settings_del_title') . '</H3>'; $out .= '<FORM ACTION="' . $baseActionUrl . '&delete_reminder=true" METHOD="POST">'; $out .= '<P>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notif_settings_del_desc') . '</P>'; $out .= '<INPUT TYPE="SUBMIT" NAME="reminder" VALUE="' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notif_settings_del_button') . '" />'; $out .= '</FORM>'; } $out .= '<FORM ACTION="' . $baseActionUrl . '" METHOD="POST" name="date_field_notification_settings_form"> <INPUT TYPE="HIDDEN" NAME="field_id" VALUE="' . $field->getID() . '"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="' . $at->Group->getID() . '"> <INPUT TYPE="HIDDEN" NAME="atid" VALUE="' . $at->getID() . '">'; $out .= '<h3>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notif_settings_field', array($field->getLabel())) . '</h3>'; $out .= '<fieldset> <TABLE BORDER="0" WIDTH="930px"><TR height="30"><TD>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part1', array($field->getLabel())) . '</TD><TD> <INPUT TYPE="TEXT" NAME="start" SIZE="5" VALUE="' . $start . '"> ' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'days') . '</TD><TD colspan=3"> <SELECT NAME="notif_type"> <OPTION VALUE="0" ' . $before . '>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notify_before') . ' <OPTION VALUE="1" ' . $after . '>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'notify_after') . ' </SELECT> ' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part2') . '</TD></TR><TR><TD valign="top">' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part3') . ' <INPUT TYPE="TEXT" NAME="recurse" SIZE="5" VALUE="' . $recurse . '"> ' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part4') . '</TD><TD valign="top"> '; $artRoleNames = array(array('value' => '1', 'text' => $GLOBALS['Language']->getText('tracker_common_types', 'role_SUBMITTER_short_desc')), array('value' => '2', 'text' => $GLOBALS['Language']->getText('tracker_common_types', 'role_ASSIGNEE_short_desc')), array('value' => '3', 'text' => $GLOBALS['Language']->getText('tracker_common_types', 'role_CC_short_desc')), array('value' => '4', 'text' => $GLOBALS['Language']->getText('tracker_common_types', 'role_COMMENTER_short_desc'))); $out .= html_build_multiple_select_box_from_array($artRoleNames, 'notified_users[]', $notified_users, 4, true, '', false, '', false, '', false); $out .= '</TD><TD valign="top">' . $GLOBALS['Language']->getText('global', 'and') . ' </TD> <TD valign="top">'; $qry = sprintf('SELECT ugroup_id, name FROM ugroup' . ' WHERE (group_id = %d || group_id = 100)' . ' AND ugroup_id <> 1' . ' AND ugroup_id <> 2' . ' AND ugroup_id <> 100', db_ei($at->Group->getID())); $res = db_query($qry); while ($rows = db_fetch_array($res)) { $groupNames[] = array('value' => 'g' . $rows['ugroup_id'], 'text' => util_translate_name_ugroup($rows['name'])); } $out .= html_build_multiple_select_box_from_array($groupNames, 'notified_groups[]', $notified_groups, 8, true, '', false, '', false, '', false); $out .= '</SELECT></TD><TD valign="top">' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part5') . ' <INPUT TYPE="TEXT" NAME="frequency" SIZE="5" VALUE="' . $frequency . '"> ' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'days') . '.</TD></TR></TABLE><INPUT TYPE="SUBMIT" NAME="submit_notif_settings" value="' . $GLOBALS['Language']->getText('global', 'btn_update') . '"></P></FORM></fieldset><P>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part6', array($field->getLabel())) . '<P>' . $GLOBALS['Language']->getText('plugin_tracker_date_reminder', 'reminder_form_part7', array($field->getLabel())) . '</P>' . '<P>'; echo $out; }
$limit = 50; $full = true; $filter_status = $request->get('filter_status'); if (!$filter_status) { $filter_status = array(SystemEvent::STATUS_NEW, SystemEvent::STATUS_RUNNING, SystemEvent::STATUS_DONE, SystemEvent::STATUS_WARNING, SystemEvent::STATUS_ERROR); } $filter_type = $request->get('filter_type'); $filter_type_any = '0'; if (!$filter_type || count($filter_type) === 1 && $filter_type[0] === $filter_type_any) { $filter_type = array(); } $all_status = array(array('label' => SystemEvent::STATUS_NEW, 'checked' => in_array(SystemEvent::STATUS_NEW, $filter_status)), array('label' => SystemEvent::STATUS_RUNNING, 'checked' => in_array(SystemEvent::STATUS_RUNNING, $filter_status)), array('label' => SystemEvent::STATUS_DONE, 'checked' => in_array(SystemEvent::STATUS_DONE, $filter_status)), array('label' => SystemEvent::STATUS_WARNING, 'checked' => in_array(SystemEvent::STATUS_WARNING, $filter_status)), array('label' => SystemEvent::STATUS_ERROR, 'checked' => in_array(SystemEvent::STATUS_ERROR, $filter_status))); $types = $se->getTypesForQueue($selected_queue_name); uksort($types, 'strnatcasecmp'); foreach (array_chunk($types, ceil(count($types) / 3)) as $col) { foreach ($col as $type) { $typesArray[] = array('value' => $type, 'text' => $type); } } $selectbox = html_build_multiple_select_box_from_array($typesArray, "filter_type[]", array_values($filter_type), 10, false, '', true, '', false, '', false); $events = $se->fetchLastEventsStatus($offset, $limit, $full, $filter_status, $filter_type, $token, $selected_queue_name); $system_event_followers = array(); $dar = $sefdao->searchAll(); foreach ($dar as $row) { $types_selected = explode(',', $row['types']); $types = array(array('label' => SystemEvent::STATUS_NEW, 'selected' => in_array(SystemEvent::STATUS_NEW, $types_selected)), array('label' => SystemEvent::STATUS_RUNNING, 'selected' => in_array(SystemEvent::STATUS_RUNNING, $types_selected)), array('label' => SystemEvent::STATUS_DONE, 'selected' => in_array(SystemEvent::STATUS_DONE, $types_selected)), array('label' => SystemEvent::STATUS_WARNING, 'selected' => in_array(SystemEvent::STATUS_WARNING, $types_selected)), array('label' => SystemEvent::STATUS_ERROR, 'selected' => in_array(SystemEvent::STATUS_ERROR, $types_selected))); $system_event_followers[] = array_merge($row, array('edit' => $request->get('edit') == $row['id'], 'email' => $hp->purify($row['emails'], CODENDI_PURIFIER_CONVERT_HTML), 'types-selected' => $types)); } $status_new_followers = array(array('label' => SystemEvent::STATUS_NEW), array('label' => SystemEvent::STATUS_DONE), array('label' => SystemEvent::STATUS_WARNING), array('label' => SystemEvent::STATUS_ERROR)); $renderer->renderToPage('admin-system-events', new SystemEvents_adminPresenter($hp, $queue_links, $token, $all_status, $selectbox, $events, $system_event_followers, $request->get('edit'), $status_new_followers, $selected_queue_name)); $HTML->footer(array());