function getContent() { $html = ''; $html .= '<script type="text/javascript">'; $html .= "\n function plugin_docman_approval_toggle(what, save) {\n if (\$(what).visible()) {\n \$(what+'_icon').src = '" . util_get_dir_image_theme() . "pointer_right.png';\n \$(what).hide();\n if (save) {\n new Ajax.Request('/plugins/docman/?action='+what+'&hide=1');\n }\n } else {\n \$(what+'_icon').src = '" . util_get_dir_image_theme() . "pointer_down.png';\n \$(what).show();\n if (save) {\n new Ajax.Request('/plugins/docman/?action='+what+'&hide=0');\n }\n }\n }\n </script>"; $html .= $this->_getReviews(true); $html .= $this->_getReviews(false); return $html; }
private function notifiedPeople() { $html = ''; $html .= '<label for="add_mail">' . $GLOBALS['Language']->getText('plugin_git', 'add_mail_title') . '</label>'; $html .= '<textarea id="add_mail" name="add_mail" class="text"></textarea>'; $html .= '<p class="help-block">' . $GLOBALS['Language']->getText('plugin_git', 'add_mail_msg') . '</p>'; $js = "new UserAutoCompleter('add_mail', '" . util_get_dir_image_theme() . "', true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); return $html; }
function html_image($src, $args, $display = 1) { global $img_size; $return = '<IMG src="' . util_get_dir_image_theme() . $src . '"'; $purifier = Codendi_HTMLPurifier::instance(); reset($args); while (list($k, $v) = each($args)) { $return .= ' ' . $purifier->purify($k) . '="' . $purifier->purify($v) . '"'; } // ## insert a border tag if there isn't one if (!isset($args['border']) || !$args['border']) { $return .= " border=0"; } // ## if no height AND no width tag, insert em both if ((!isset($args['height']) || !$args['height']) && (!isset($args['width']) || !$args['width'])) { /* Check to see if we've already fetched the image data */ if ($img_size) { if ((!isset($img_size[$src]) || !$img_size[$src]) && is_file($GLOBALS['sys_urlroot'] . util_get_dir_image_theme() . $src)) { $img_size[$src] = @getimagesize($GLOBALS['sys_urlroot'] . util_get_dir_image_theme() . $src); } } else { if (is_file($GLOBALS['sys_urlroot'] . util_get_dir_image_theme() . $src)) { $img_size[$src] = @getimagesize($GLOBALS['sys_urlroot'] . util_get_dir_image_theme() . $src); } } $return .= ' width="' . $img_size[$src][0] . '" height="' . $img_size[$src][1] . '"'; } // ## insert alt tag if there isn't one if (!isset($args['alt']) || !$args['alt']) { $return .= ' alt="' . $purifier->purify($src) . '"'; } $return .= '>'; if ($display) { print $return; } else { return $return; } }
/** * Display form elements to bind project members and an LDAP group * * @param array $params * * @return void */ function project_admin_add_user_form(array $params) { if ($this->isLDAPGroupsUsageEnabled()) { $projectMembersManager = new LDAP_ProjectGroupManager($this->getLdap()); $ldapGroup = $projectMembersManager->getLdapGroupByGroupId($params['groupId']); if ($ldapGroup) { $groupName = $ldapGroup->getCommonName(); } else { $groupName = ''; } $html = '<hr />' . PHP_EOL; $html .= '<form method="post" class="link-with-ldap" action="' . $this->getPluginPath() . '/admin.php?group_id=' . $params['groupId'] . '">' . PHP_EOL; $html .= '<div class="control-group"> <label class="control-label" for="add_user">' . $GLOBALS['Language']->getText('plugin_ldap', 'project_admin_add_ugroup') . '</label> <div class="controls"> <input type="text" value="' . $groupName . '" name="ldap_group" id="project_admin_add_ldap_group" size="60" /> </div> </div>'; $html .= '<label class="checkbox" for="preserve_members"><input type="checkbox" id="preserve_members" name="preserve_members" checked="checked" />' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_option') . ' (' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_info') . ')</label>' . PHP_EOL; $html .= '<br />' . PHP_EOL; $html .= '<input type="submit" name="delete" value="' . $GLOBALS['Language']->getText('global', 'btn_delete') . '" />' . PHP_EOL; $html .= '<input type="submit" name="check" value="' . $GLOBALS['Language']->getText('global', 'btn_update') . '" />' . PHP_EOL; $html .= '</form>' . PHP_EOL; $GLOBALS['Response']->includeFooterJavascriptFile($this->getPluginPath() . '/scripts/autocomplete.js'); $js = "new LdapGroupAutoCompleter('project_admin_add_ldap_group',\n '" . $this->getPluginPath() . "',\n '" . util_get_dir_image_theme() . "',\n 'project_admin_add_ldap_group',\n false);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); echo $html; } }
function _adminPage_UpdateLinkType($group_id, $link_type_id) { global $HTML, $Language; if (isset($link_type_id)) { $db_res = db_query("SELECT link_type_id, group_id, name,\n reverse_name, description, uri_plus\n FROM plugin_projectlinks_link_type\n WHERE ((group_id = " . db_ei($group_id) . ")\n AND (link_type_id = " . db_ei($link_type_id) . "));"); if (db_numrows($db_res) != 1) { exit_error("invalid data", "2.2"); // unexpected - no i18l } $row = db_fetch_array($db_res); $def = array('name' => htmlentities($row['name']), 'reverse_name' => htmlentities($row['reverse_name']), 'description' => htmlentities($row['description']), 'uri_plus' => htmlentities($row['uri_plus'])); } else { $def = array('name' => "", 'reverse_name' => "", 'description' => "", 'uri_plus' => '/projects/$projname/'); } $HTML->box1_top($Language->getText('plugin_plinks', 'project_links') . " " . $this->_icon('main') . " " . $Language->getText('plugin_plinks', 'link_type_update')); print mkAH("[" . $Language->getText('global', 'btn_cancel') . "]", $this->_adminURI() . "?group_id={$group_id}"); print "<hr>\n"; print "<table><tr><td>\n"; $HTML->box1_top(""); form_Start(""); form_HiddenParams(array("func" => 'pl_type_update', "group_id" => $group_id)); if (isset($link_type_id)) { form_HiddenParams(array("link_type_id" => $link_type_id)); } form_GenTextBox("name", htmlentities($Language->getText('plugin_plinks', 'dbfn_name')), $def['name'], 20); form_Validation("name", FORM_VAL_IS_NOT_ZERO_LENGTH); form_NewRow(); form_GenTextBox("reverse_name", htmlentities($Language->getText('plugin_plinks', 'dbfn_reverse_name')), $def['reverse_name'], 20); form_NewRow(); form_GenTextArea("description", htmlentities($Language->getText('plugin_plinks', 'dbfn_description')), $def['description']); /** **1 commented out for now - until we can decide how to deal with project links functionality form_NewRow(); form_GenTextBox("uri_plus", htmlentities($Language->getText('plugin_plinks', 'dbfn_uri_plus')), $def['uri_plus'], 85); form_Validation("uri_plus", FORM_VAL_IS_NOT_ZERO_LENGTH); **/ foreach (array("uri_plus", "name", "reverse_name", "description") as $ref) { $formRefs[$ref] = form_JS_ElementRef($ref) . ".value"; } form_End(); $HTML->box1_bottom(); print "</td><td>\n"; $HTML->box1_top($Language->getText('plugin_plinks', 'set_to_defaults')); print "<div style='padding: 5px; border: solid thin;\n vertical-align: middle;'>"; print $Language->getText('plugin_plinks', 'replace_form_details') . ":<p>"; form_genJSButton($Language->getText('plugin_plinks', 'def_sp_name'), "if (confirm('" . $Language->getText('plugin_plinks', 'replace_form_details') . "?')){" . $formRefs["name"] . "='" . $Language->getText('plugin_plinks', 'def_sp_name') . "';" . $formRefs["reverse_name"] . "='" . $Language->getText('plugin_plinks', 'def_sp_rname') . "';" . $formRefs["description"] . "='" . $Language->getText('plugin_plinks', 'def_sp_desc') . "';" . "}"); print "<p>"; form_genJSButton($Language->getText('plugin_plinks', 'def_rp_name'), "if (confirm('" . $Language->getText('plugin_plinks', 'replace_form_details') . "?')){" . $formRefs["name"] . "='" . $Language->getText('plugin_plinks', 'def_rp_name') . "';" . $formRefs["reverse_name"] . "='" . $Language->getText('plugin_plinks', 'def_rp_rname') . "';" . $formRefs["description"] . "='" . $Language->getText('plugin_plinks', 'def_rp_desc') . "';" . "}"); print "</div><p>"; /** **1 commented out for now - until we can decide how to deal with project links functionality print "<div style='padding: 5px; border: solid thin; vertical-align: middle;'>"; form_genJSButton($Language->getText('plugin_plinks', 'def_link_summary'), $formRefs["uri_plus"]."='/projects/\$projname/';"); print "<p>"; form_genJSButton($Language->getText('plugin_plinks', 'def_link_doc'), $formRefs["uri_plus"]."='/plugins/docman/?group_id=\$group_id';" ); print "</div>"; **/ $HTML->box1_bottom(); print "</td></tr></table>\n"; if (isset($link_type_id)) { // Display list of linked projects $HTML->box1_top('Projects linked'); print $this->_admin_links_table($link_type_id); // Admin can add new link print '<form name="plugin_projectlinks_add_link" method="post" action="?func=pl_link_update">'; print '<input type="hidden" name="link_type_id" value="' . $link_type_id . '" />'; print '<input type="hidden" name="group_id" value="' . $group_id . '" />'; print '<input type="hidden" name="disp" value="edit_link_type" />'; print '<p><label for="plugin_projectlinks_link_project">' . $GLOBALS['Language']->getText('plugin_plinks', 'add_project') . '</label>'; print '<input type="text" name="target_group" value="' . $GLOBALS['Language']->getText('plugin_plinks', 'add_project_autocompleter') . '" size="60" id="plugin_projectlinks_link_project" /></p>'; print '<input type="submit" value="' . $GLOBALS['Language']->getText('global', 'btn_create') . '" />'; print '</form>'; $HTML->box1_bottom(); $HTML->includeFooterJavascriptSnippet("new ProjectAutoCompleter('plugin_projectlinks_link_project', '" . util_get_dir_image_theme() . "', false);"); } $HTML->box1_bottom(); }
$parent = $project_manager->getParentProject($group_id); if ($parent) { $parent_name = $parent->getUnixName(); if ($current_user->isMember($parent->getId(), 'A')) { $url = '?group_id=' . $parent->getID(); } else { $url = '/projects/' . $parent->getUnixName(); } echo '<a href="' . $url . '"> ' . $parent_name . ' </a> <br/> <label><input type="checkbox" name="remove_parent_project"/>' . $GLOBALS['Language']->getText('project_admin_editgroupinfo', 'remove_parent_project') . '</label>'; } else { echo '<input type="text" name="parent_project" size ="50" id="parent_project" /><br/>'; } echo '</p>'; $js = "new ProjectAutoCompleter('parent_project', '" . util_get_dir_image_theme() . "', false, {'allowNull' : true});"; $GLOBALS['HTML']->includeFooterJavascriptSnippet($js); echo "<u>" . $GLOBALS['Language']->getText('project_admin_editgroupinfo', 'sub_projects') . "</u><br>"; $children = $project_manager->getChildProjects($group_id); foreach ($children as $child) { if ($current_user->isMember($child->getId(), 'A')) { $url = '?group_id=' . $child->getID(); } else { $url = '/projects/' . $child->getUnixName(); } echo '<a href="' . $url . '">' . $child->getPublicName() . '</a> '; } echo ' <P><br><INPUT type="submit" name="Update" value="' . $Language->getText('global', 'btn_update') . '"></P> </FORM> ';
private function project_admin_bullet_user_content($user_id, $action, $url = null) { if ($action == 'add') { $icon = '/ic/add.png'; } else { $icon = '/ic/cross.png'; } if (!$url) { $url = $_SERVER['REQUEST_URI'] . '&' . http_build_query(array('action' => 'edit_ugroup_members', 'user[' . $user_id . ']' => $action)); } $html = '<a href="' . $url . '">'; $html .= '<img alt="' . $action . '" src="' . util_get_dir_image_theme() . $icon . '" />'; $html .= '</a>'; return $html; }
/** * Nicely html-formatted output of this group's audit trail * * @param Integer $group_id Id of the project * @param Integer $offset Offset used for pagination * @param Integer $limit Number of events by page * @param String $event Events category used to filter results * @param String $subEventsBox Event used to filter results * @param String $value Value used to filter results * @param Integer $startDate Start date used to filter results * @param Integer $endDate End date used to filter results * @param String $by User name used to filter results * * @return void */ function show_grouphistory($group_id, $offset, $limit, $event = null, $subEventsBox = null, $value = null, $startDate = null, $endDate = null, $by = null) { /* show the group_history rows that are relevant to this group_id */ global $Language; $dao = new ProjectHistoryDao(CodendiDataAccess::instance()); $history_filter = build_grouphistory_filter($event, $subEventsBox, $value, $startDate, $endDate, $by); $history_rows = $dao->groupGetHistory($offset, $limit, $group_id, $history_filter); if (isset($subEventsBox)) { $subEventsString = implode(",", array_keys($subEventsBox)); $forwardSubEvents = '&event=' . $event . '&subEventsBox=' . $subEventsString; } else { $forwardSubEvents = '&event=' . $event; } $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/project/'); //Event select Box $events = array('any' => $GLOBALS["Language"]->getText('global', 'any'), 'event_permission' => $GLOBALS["Language"]->getText("project_admin_utils", "event_permission"), 'event_project' => $GLOBALS["Language"]->getText("project_admin_utils", "event_project"), 'event_user' => $GLOBALS["Language"]->getText("project_admin_utils", "event_user"), 'event_ug' => $GLOBALS["Language"]->getText("project_admin_utils", "event_ug"), 'event_others' => $GLOBALS["Language"]->getText("project_admin_utils", "event_others")); $select = new HTML_Element_Selectbox('', 'events_box', ''); $select->setId('events_box'); $select->addMultipleOptions($events, $event); $title_arr = array(); $title_arr[] = $Language->getText('project_admin_utils', 'event'); $title_arr[] = $Language->getText('project_admin_utils', 'val'); $title_arr[] = $Language->getText('project_admin_utils', 'date'); $title_arr[] = $Language->getText('global', 'by'); $index = 1; $presenter = new ProjectHistoryPresenter($group_id, $select->renderValue(), $value, $startDate, $endDate, $by, $history_rows, $title_arr, $index, $offset, $limit, $forwardSubEvents); echo $renderer->renderToString('project_history', $presenter); $translatedEvents = convert_project_history_events(get_history_entries(), false); if (isset($subEventsString)) { $selectedSubEvents = explode(",", $subEventsString); foreach ($selectedSubEvents as $element) { $subEventsBox[] = $element; } } $translatedSelectedEvents = convert_project_history_events($subEventsBox, true); $js = "options = new Array();\n options['defaultValueActsAsHint'] = false;\n new UserAutoCompleter('by', '" . util_get_dir_image_theme() . "', true, options);\n new ProjectHistory(" . $translatedEvents . ", " . $translatedSelectedEvents . ");"; $GLOBALS['HTML']->includeFooterJavascriptFile('/scripts/codendi/ProjectHistory.js'); $GLOBALS['Response']->includeFooterJavascriptSnippet($js); }
/** * MAIL FORM */ protected function _addMailForm() { ?> <h3><?php echo $this->getText('add_mail_title'); ?> </h3> <form id="add_mail_form" action="/plugins/git/" method="POST"> <input type="hidden" id="action" name="action" value="add_mail" /> <input type="hidden" id="group_id" name="group_id" value="<?php echo $this->groupId; ?> " /> <input type="hidden" id="repo_id" name="repo_id" value="<?php echo $this->repoId; ?> " /> <table> <tr> <td class="plugin_git_first_col" ><label for="add_mail_label"><?php echo $this->getText('add_mail'); ?> <a href="#" onclick="$('help_addMail').toggle();"> [?]</a></label></td> <td><textarea id="add_mail" name="add_mail" class="plugin_git_add_mail"></textarea></td> </tr> <tr> <td colspan="2"><input type="submit" id="add_mail_submit" name="add_mail_submit" value="<?php echo $this->getText('add_mail_submit'); ?> "></td> </tr> </table> </form> <?php $this->help('addMail', array('display' => 'none')); $js = "new UserAutoCompleter('add_mail', '" . util_get_dir_image_theme() . "', true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); }
protected function fetchCharts($matching_ids, User $current_user, $in_dashboard = false, $readonly = null, $store_in_session = true) { $html = ''; $hp = Codendi_HTMLPurifier::instance(); if (!$readonly) { $html .= '<form name="show_rep_graphic" action="" method="POST"> <input type="hidden" name="func" VALUE="renderer" /> <input type="hidden" name="renderer" VALUE="' . $this->id . '" />'; $html .= '<p><strong>' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'add_chart') . '</strong> '; $url = '?' . http_build_query(array('report' => $this->report->id, 'renderer' => $this->id, 'func' => 'renderer')); $url_add = $url . '&renderer_plugin_graphontrackersv5[add_chart]='; foreach ($this->getChartFactory()->getChartFactories() as $factory) { $html .= '<a href="' . $url_add . $factory['chart_type'] . '" style="border:1px solid #ccc; margin:10px; padding:5px 10px; vertical-align:middle">'; $html .= '<img style="vertical-align:middle; " src="' . $factory['icon'] . '" /> '; $html .= '<span style="margin-left:4px;">' . $factory['title'] . '</span>'; $html .= '</a>'; } $html .= '</p><hr size="1" color="#f0f0f0">'; } foreach ($this->getChartFactory()->getCharts($this) as $chart) { $html .= '<div style="float:left; padding:10px; text-align:right;">'; if (!$in_dashboard) { $add_to_dashboard_params = array('action' => 'widget', 'chart' => array('title' => $chart->getTitle(), 'chart_id' => $chart->getId())); //Add to my dashboard if ($chart->getId() > 0) { $html .= '<a title="' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'add_chart_dashboard') . '" href="/widgets/updatelayout.php?' . http_build_query(array_merge(array('owner' => 'u' . UserManager::instance()->getCurrentUser()->getId(), 'name' => array('my_plugin_graphontrackersv5_chart' => array('add' => 1))), $add_to_dashboard_params)) . '">' . $GLOBALS['HTML']->getImage('ic/layout_user.png') . '</a> '; //Add to project dashboard if ($this->report->getTracker()->getProject()->userIsAdmin($current_user)) { $html .= '<a title="' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'add_chart_project_dashboard') . '" href="/widgets/updatelayout.php?' . http_build_query(array_merge(array('owner' => 'g' . $this->report->getTracker()->getProject()->getGroupId(), 'name' => array('project_plugin_graphontrackersv5_chart' => array('add' => 1))), $add_to_dashboard_params)) . '">' . $GLOBALS['HTML']->getImage('ic/layout_project.png') . '</a> '; } } if (!$readonly && $this->report->userCanUpdate($current_user)) { //Edit chart $html .= '<a title="' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'tooltip_edit') . '" href="' . $url . '&renderer_plugin_graphontrackersv5[edit_chart]=' . $chart->getId() . '"> <img src="' . util_get_dir_image_theme() . 'ic/edit.png" alt="edit" /> </a>'; //Delete chart $html .= '<input title="' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'tooltip_del') . '" type="image" src="' . util_get_dir_image_theme() . 'ic/cross.png" onclick="return confirm(' . $GLOBALS['Language']->getText('plugin_graphontrackersv5_include_report', 'confirm_del') . ');" name="renderer_plugin_graphontrackersv5[delete_chart][' . $chart->getId() . ']" />'; } } //Display chart $html .= $chart->fetch($store_in_session); $html .= '</div>'; } $html .= '<div style="clear:both;"></div>'; if (!$readonly) { $html .= '</form>'; } return $html; }
public function addUserAutocompleteOn($element_id, $multiple = false) { $jsbool = $multiple ? "true" : "false"; $js = "new UserAutoCompleter('" . $element_id . "', '" . util_get_dir_image_theme() . "', " . $jsbool . ");"; $this->includeFooterJavascriptSnippet($js); }
public function getContent() { $content = ''; // Import very long user group may takes very long time. ini_set('max_execution_time', 0); $ugroupName = util_translate_name_ugroup($this->row['name']); $ldapGroup = $this->ldap_user_group_manager->getLdapGroupByGroupId($this->ugroup->getId()); $clean_ugroupName = $this->purifier->purify($ugroupName); $clean_ldapGroupName = $this->purifyLDAPGroupName($ldapGroup); $btn_update = $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_btn_update'); $btn_unlink = $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_btn_unlink'); $content .= '<h2>' . $GLOBALS['Language']->getText('project_admin_editugroup', 'ug_admin', $clean_ugroupName) . '</h2>'; if ($ldapGroup !== null) { $content .= '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_ugroup_linked', array($clean_ugroupName, $clean_ldapGroupName)) . '</p>'; } $content .= '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_you_can') . '</p>'; $content .= '<ul>'; if ($ldapGroup !== null) { $content .= '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_resync') . '</li>'; $content .= '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_remove') . '</li>'; } $content .= '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_link') . '</li>'; $content .= '</ul>'; $content .= '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro') . '</p>'; $content .= '<ul>'; $content .= '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro_del', $GLOBALS['sys_name']) . '</li>'; $content .= '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro_add', $GLOBALS['sys_name']) . '</li>'; $content .= '</ul>'; $content .= '<form name="plugin_ldap_edit_ugroup" method="post" action="">'; $content .= '<input type="hidden" name="ugroup_id" value="' . $this->ugroup->getId() . '" />'; $content .= '<input type="hidden" name="action" value="edit_directory" />'; $content .= '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_bind_with_group') . ' <input type="text" name="bind_with_group" id="group_add" value="' . $clean_ldapGroupName . '" size="60" /></p>'; $preservingChecked = ''; if ($this->ldap_user_group_manager->isMembersPreserving($this->ugroup->getId()) || $this->bindOption === LDAP_GroupManager::PRESERVE_MEMBERS_OPTION) { $preservingChecked = 'checked'; } $content .= '<p>'; $content .= '<label class="checkbox" for="preserve_members"><input type="checkbox" id="preserve_members" name="preserve_members" ' . $preservingChecked . '/>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_option') . ' (' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_info') . ')</label></p>'; $synchroChecked = ''; if ($this->ldap_user_group_manager->isSynchronizedUgroup($this->ugroup->getId()) || $this->synchro === LDAP_GroupManager::AUTO_SYNCHRONIZATION) { $synchroChecked = 'checked'; } $content .= '<p>'; $content .= '<label class="checkbox" for="synchronize"><input type="checkbox" id="synchronize" name="synchronize" ' . $synchroChecked . '/>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchronize_option') . ' (' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchronize_info') . ')</label></p>'; $content .= '<input type="submit" name="submit" value="' . $btn_update . '" />'; if ($ldapGroup !== null) { $content .= ' '; $content .= '<input type="submit" name="submit" value="' . $btn_unlink . '" />'; } $GLOBALS['Response']->includeFooterJavascriptFile($this->pluginPath . '/scripts/autocomplete.js'); $js = "new LdapGroupAutoCompleter('group_add',\n '" . $this->pluginPath . "',\n '" . util_get_dir_image_theme() . "',\n 'group_add',\n false);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); $content .= '</form>'; return $content; }
*/ echo ' <FORM ACTION="?" METHOD="POST" class="add-user"> <INPUT TYPE="hidden" NAME="func" VALUE="adduser"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="' . $group_id . '"> <div class="control-group"> <label class="control-label" for="add_user">' . $Language->getText('project_admin_index', 'login_name') . '</label> <div class="input-append"> <INPUT TYPE="TEXT" NAME="form_unix_name" VALUE="" id="add_user"> <INPUT TYPE="SUBMIT" NAME="SUBMIT" VALUE="' . $Language->getText('project_admin_index', 'add_user') . '" class="btn"> </div> </div> '; // JS code for autocompletion on "add_user" field defined on top. $js = "new UserAutoCompleter('add_user',\n '" . util_get_dir_image_theme() . "',\n false);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); echo ' </FORM> '; $em->processEvent('project_admin_add_user_form', array('groupId' => $group_id)); echo ' <HR NoShade SIZE="1"> <div align="center"> <A href="/project/admin/userimport.php?group_id=' . $group_id . '">' . $Language->getText('project_admin_index', 'import_user') . '</A> </div> <HR NoShade SIZE="1"> <div align="center"> <A href="/project/admin/userperms.php?group_id=' . $group_id . '">' . $Language->getText('project_admin_index', 'edit_member_perm') . '</A> </div> </TD></TR>';
/** * Add a user to the list of peoples that are monitoring a given item. * * @param Integer $itemId Id of the document * * @return String */ function addListeningUser($itemId) { $content = '<tr><td colspan="2"><hr width="100%" size="1" NoShade></td></tr>'; $content .= '<tr><form name="add_monitoring" method="POST" action="">'; $content .= '<input type="hidden" name="action" value="add_monitoring">'; $content .= '<input type="hidden" name="item_id" value="' . $itemId . '">'; $content .= '<table>'; $content .= '<tr><td><b>' . $GLOBALS['Language']->getText('plugin_docman', 'notifications_add_user_title') . '</b></td></tr>'; $content .= '<tr><td><textarea name="listeners_to_add" value="" id="listeners_to_add" rows="2" cols="50"></textarea></td></tr>'; //checkbox to enable cascade monitoring $content .= '<tr><td>'; $content .= '<label class="checkbox" for="plugin_docman_monitor_add_user_cascade">'; $content .= '<input type="checkbox" name="monitor_cascade" value="1" id="plugin_docman_monitor_add_user_cascade" />' . $GLOBALS['Language']->getText('plugin_docman', 'notifications_add_user_cascade'); $content .= '</label></td></tr></table>'; //autocompletion on "add_user" field. $autocomplete = "new UserAutoCompleter('listeners_to_add','" . util_get_dir_image_theme() . "',true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($autocomplete); $content .= '<input type="submit" name="submit" value="' . $GLOBALS['Language']->getText('plugin_docman', 'notifications_add_user') . '"></td></form></tr>'; return $content; }
echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro') . '</p>'; echo '<ul>'; echo '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro_del', $GLOBALS['sys_name']) . '</li>'; echo '<li>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchro_add', $GLOBALS['sys_name']) . '</li>'; echo '</ul>'; echo '<form name="plugin_ldap_edit_ugroup" method="post" action="">'; echo '<input type="hidden" name="ugroup_id" value="' . $ugroupId . '" />'; echo '<input type="hidden" name="func" value="' . $func . '" />'; echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_bind_with_group') . ' <input type="text" name="bind_with_group" id="group_add" value="' . $clean_ldapGroupName . '" size="60" /></p>'; $preservingChecked = ''; if ($ldapUserGroupManager->isMembersPreserving($ugroupId)) { $preservingChecked = 'checked'; } echo '<p><input type="checkbox" id="preserve_members" name="preserve_members" ' . $preservingChecked . '/>'; echo '<label for="preserve_members">' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_option') . ' (' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_preserve_members_info') . ')</label></p>'; $synchroChecked = ''; if ($ldapUserGroupManager->isSynchronizedUgroup($ugroupId)) { $synchroChecked = 'checked'; } echo '<p><input type="checkbox" id="synchronize" name="synchronize" ' . $synchroChecked . '/>'; echo '<label for="synchronize">' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchronize_option') . ' (' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_synchronize_info') . ')</label></p>'; echo '<input type="submit" name="submit" value="' . $btn_update . '" />'; if ($ldapGroup !== null) { echo ' '; echo '<input type="submit" name="submit" value="' . $btn_unlink . '" />'; } $GLOBALS['Response']->includeFooterJavascriptFile($pluginPath . '/scripts/autocomplete.js'); $js = "new LdapGroupAutoCompleter('group_add',\n '" . $pluginPath . "',\n '" . util_get_dir_image_theme() . "',\n 'group_add',\n false);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); echo '</form>'; project_admin_footer(array());
function _getImportForm() { $GLOBALS['HTML']->includeFooterJavascriptSnippet("new ProjectAutoCompleter('import_search_report_from_group', '" . util_get_dir_image_theme() . "', false);"); $html = ''; $html .= '<form name="docman_report_import" method="post" action="?">'; $html .= '<input type="hidden" name="group_id" value="' . $this->groupId . '">'; $html .= '<input type="hidden" name="action" value="report_import">'; $html .= '<table border="0">'; // Select project $html .= '<tr>'; $html .= '<td valign="top">' . $GLOBALS['Language']->getText('plugin_docman', 'report_settings_import_sel_prj') . '</td>'; // Group id selector $html .= '<td>'; $html .= '<input type="text" id="import_search_report_from_group" name="import_search_report_from_group" size="60" value="'; $html .= $GLOBALS['Language']->getText('plugin_docman', 'report_settings_import_sel_prj_hint'); $html .= '" />'; $html .= '</td>'; $html .= '</tr>'; // Select report $html .= '<tr>'; $html .= '<td valign="top">' . $GLOBALS['Language']->getText('plugin_docman', 'report_settings_import_sel_rpt') . '(' . $GLOBALS['Language']->getText('plugin_docman', 'report_settings_import_sel_rpt_id') . ')' . '</td>'; $html .= '<td>'; $html .= '<input type="text" name="import_report_id" value="" />'; $html .= '</td>'; $html .= '</tr>'; $html .= '</table>'; // Submit $html .= '<input type="submit" name="submit" value="' . $GLOBALS['Language']->getText('global', 'btn_create') . '">'; $html .= '</form>'; return $html; }
/** * Display form to fill a request * * @param Array $params params of the hook * * @return Void */ function displayForm($params = null) { $um = UserManager::instance(); $user = $um->getCurrentUser(); $ignoreLabs = $this->getController()->getPlugin()->getProperty('ignore_labs'); if ($user->isLoggedIn() && ($ignoreLabs || $user->useLabFeatures())) { $type = RequestHelp::TYPE_SUPPORT; $severity = RequestHelp::SEVERITY_MINOR; $summary = ''; $description = $GLOBALS['Language']->getText('plugin_requesthelp', 'requesthelp_default_description'); $cc = ''; if (is_array($params)) { $valid = new Valid_UInt(); if (isset($params['type']) && $valid->validate($params['type'])) { $type = $params['type']; } if (isset($params['severity']) && $valid->validate($params['severity'])) { $severity = $params['severity']; } $valid = new Valid_String(); if (isset($params['summary']) && $valid->validate($params['summary'])) { $summary = $params['summary']; } $valid = new Valid_Text(); if (isset($params['description']) && $valid->validate($params['description'])) { $description = $params['description']; } $valid = new Valid_String(); if (isset($params['cc']) && $valid->validate($params['cc'])) { $cc = $params['cc']; } } $p = PluginManager::instance()->getPluginByName('requesthelp'); echo '<fieldset class="requesthelp_fieldset"> <legend><b>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'requesthelp_explain_label') . '</b></legend> <form name="request" class="requesthelp_cssform" action="' . $p->getPluginPath() . '/" method="post" enctype="multipart/form-data"> <table> <tr>'; echo '<td><b><a class="tooltip" href="#" title="' . $GLOBALS['Language']->getText('plugin_requesthelp', 'tooltip_type') . '">Type:</a></b> <span class="highlight"><big>*</big></b></span></td><td><select name="type"><option value="' . RequestHelp::TYPE_SUPPORT . '" '; if ($type == RequestHelp::TYPE_SUPPORT) { echo 'selected'; } echo '>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'Support_request') . '</option> <option value="' . RequestHelp::TYPE_ENHANCEMENT . '" '; if ($type == RequestHelp::TYPE_ENHANCEMENT) { echo 'selected'; } echo '>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'Enhancement_request') . '</option> </select>'; echo '</td><td align="right"><b><a class="tooltip" href="#" title="' . $GLOBALS['Language']->getText('plugin_requesthelp', 'tooltip_severity') . '">' . $GLOBALS['Language']->getText('plugin_requesthelp', 'severity') . ':</a></b> <span class="highlight"><big>*</big></b></span> <select name="severity"> <option value="' . RequestHelp::SEVERITY_MINOR . '" '; if ($severity == RequestHelp::SEVERITY_MINOR) { echo 'selected'; } echo '>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'Minor') . '</option> <option value="' . RequestHelp::SEVERITY_SERIOUS . '" '; if ($severity == RequestHelp::SEVERITY_SERIOUS) { echo 'selected'; } echo '>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'Serious') . '</option> <option value="' . RequestHelp::SEVERITY_CRITICAL . '" '; if ($severity == RequestHelp::SEVERITY_CRITICAL) { echo 'selected'; } echo '>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'Critical') . '</option> </select> </td> </tr>'; echo '<tr><td><b><a class="tooltip" href="#" title="' . $GLOBALS['Language']->getText('plugin_requesthelp', 'tooltip_summary') . '">' . $GLOBALS['Language']->getText('plugin_requesthelp', 'summary') . ':</a></b> <span class="highlight"><big>*</big></span></td> <td colspan="3"><input type="text" name="request_summary" value="' . $summary . '" /></td></tr>'; echo '<tr><td><b><a class="tooltip" href="#" title="' . $GLOBALS['Language']->getText('plugin_requesthelp', 'tooltip_description') . '"><span class="requesthelp_totop">Description:</span></a></b> <span class="highlight"><span class="requesthelp_totop"><big>*</big></b></span></span></td><td colspan="3"><textarea id="request_description" name="request_description">' . $description . '</textarea></td></tr> <tr><td></td><td colspan="3"><i><b><u>Note</u>: </b>' . $GLOBALS['Language']->getText('plugin_requesthelp', 'requesthelp_cc_note') . '</i></td></tr> <tr><td><label>CC :</label></td><td colspan="3"><input id="requesthelp_cc" type="text" name="cc" value="' . $cc . '" /></td></tr> <tr><td><input name="action" type="hidden" value="submit_ticket" /></td><td><input name="submit" type="submit" value="Submit" /></td></tr> </table> </form> </fieldset>'; $js = "\$('request_description').defaultValueActsAsHint();\n options = new Array();\n options['defaultValueActsAsHint'] = false;\n new UserAutoCompleter('requesthelp_cc', '" . util_get_dir_image_theme() . "', true, options);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); } }
$request =& HTTPRequest::instance(); $nb_max = 50; $hp = Codendi_HTMLPurifier::instance(); $s = db_escape_string(strtolower($request->get('search_for'))); if ($request->get('users') || $request->get('mailinglists')) { if ($request->get('users')) { $sqls[] = "SELECT realname, user_name AS name, email, 0 AS is_list\n FROM user\n WHERE user.status IN ('A', 'R') \n AND (\n LOWER(user.user_name) LIKE '%{$s}%' \n OR\n LOWER(user.realname) LIKE '%{$s}%' \n OR\n LOWER(user.email) LIKE '%{$s}%' \n )"; } if ($request->get('mailinglists')) { $sqls[] = "SELECT 'Mailing List' AS realname, list_name AS name, list_name AS email, 1 AS is_list\n FROM mail_group_list\n WHERE status = 1\n AND is_public = 1\n AND (\n LOWER(list_name) LIKE '%{$s}%'\n )"; } $sql = implode(' UNION ', $sqls) . "\n ORDER BY name\n LIMIT " . ($nb_max + 1); $res = db_query($sql); echo db_error(); echo '<ul>'; $i = 0; while (($data = db_fetch_array($res)) && $i++ < $nb_max) { $ml_informal = $data['is_list'] ? 'informal' : ''; $us_informal = $data['is_list'] ? '' : 'informal'; $email = $data['is_list'] ? $data['email'] . '@' . $GLOBALS['sys_lists_host'] : $data['email']; if (!$data['is_list']) { echo '<li><span style="font-weight:bold" class="' . $ml_informal . '">' . $data['name'] . '</span><span class="informal"> (' . $hp->purify($data['realname'], CODENDI_PURIFIER_CONVERT_HTML) . ')</span><div class="' . $us_informal . '">' . $email . '</div></li>'; } else { echo '<li><div style="font-style:italic;font-weight:bold; background:url(' . util_get_dir_image_theme() . 'ic/group.png) left top no-repeat; padding-left:18px" class="' . $us_informal . '">' . $email . '</div></li>'; } } echo '</ul>'; if ($i >= 25) { echo '<div><span class="informal" style="font-style:italic;">There are more than ' . $nb_max . ' results. Please refine your request</span></div>'; } }
protected function _showProjectAdmins() { $html = ''; $hp = Codendi_HTMLPurifier::instance(); $request = HTTPRequest::instance(); $vFunc = new Valid_WhiteList('plugin_admindelegation_func', array('show_admins')); $vFunc->required(); if ($request->valid($vFunc)) { $func = $request->get('plugin_admindelegation_func'); } else { $func = ''; } $vGroup = new Valid_String('plugin_admindelegation_group'); $vGroup->required(); if ($request->valid($vGroup)) { $pm = ProjectManager::instance(); $project = $pm->getProjectFromAutocompleter($request->get('plugin_admindelegation_group')); if ($project && $project->isActive()) { $groupValue = $project->getPublicName() . ' (' . $project->getUnixName() . ')'; } else { $groupValue = ''; } } else { $project = false; $groupValue = ''; } $html .= '<form method="post" action="?">'; $html .= '<label>' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_admins_label') . '</label>'; $html .= '<input type="hidden" name="plugin_admindelegation_func" value="show_admins" />'; $html .= '<input type="text" name="plugin_admindelegation_group" value="' . $groupValue . '" size ="40" id="plugin_admindelegation_group" />'; $html .= ' '; $html .= '<input type="submit" value="' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_btn_search') . '"/>'; $html .= '</form>'; $js = "new ProjectAutoCompleter('plugin_admindelegation_group', '" . util_get_dir_image_theme() . "', false);"; $GLOBALS['HTML']->includeFooterJavascriptSnippet($js); if ($func == 'show_admins' && $project && $project->isActive()) { $allAdmins = array(); $users = $this->getProjectAdmins($project->getId()); if (count($users) > 0) { $uh = UserHelper::instance(); $html .= '<table width="100%">'; $html .= '<theader>'; $html .= '<tr>'; $html .= '<th>' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_admins_name') . '</th>'; $html .= '<th>' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_admins_email') . '</th>'; $html .= '</tr>'; $html .= '</theader>'; $html .= '<tbody>'; $i = 1; foreach ($users as $u) { $mailto = $u->getRealname() . ' <' . $u->getEmail() . '>'; $allAdmins[] = $mailto; $html .= '<tr class="' . util_get_alt_row_color($i++) . '">'; $html .= '<td>' . $hp->purify($uh->getDisplayNameFromUser($u)) . '</td>'; $html .= '<td><a href="mailto:' . $mailto . '">' . $u->getEmail() . '</a></td>'; $html .= '</tr>'; } $html .= '</tbody>'; $html .= '</table>'; // Mail to all admins $html .= '<div style="text-align:center" class="' . util_get_alt_row_color($i++) . '">'; $html .= '<a href="mailto:' . implode(',', $allAdmins) . '?Subject=' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_admins_mass_mail_subject', array($GLOBALS['sys_name'], $project->getPublicName())) . '">' . $GLOBALS['Language']->getText('plugin_admindelegation', 'widget_admins_mass_mail') . '</a>'; $html .= '</div>'; } } return $html; }
function commit_criteria_list_to_text($criteria_list, $url) { if ($criteria_list) { $arr = explode(',', $criteria_list); while (list(, $crit) = each($arr)) { $morder .= $morder ? "," . $crit : $crit; $attr = str_replace('>', '', $crit); $attr = str_replace('<', '', $attr); $arr_text[] = '<a href="' . $url . '&morder=' . $morder . '#results">' . commit_field_get_label($attr) . '</a><img src="' . util_get_dir_image_theme() . (substr($crit, -1) == '<' ? 'dn' : 'up') . '_arrow.png" border="0">'; } } return join(' > ', $arr_text); }
<P> <B>' . $Language->getText('include_user_home', 'subject') . ':</B><BR> <INPUT TYPE="TEXT" NAME="subject" VALUE="" STYLE="width: 99%;"> </P> <P> <B>' . $Language->getText('include_user_home', 'message') . ':</B><BR> <div id="body_label"></div> <TEXTAREA ID="body" NAME="body" ROWS="15" WRAP="HARD" STYLE="width: 99%;"></TEXTAREA> </P> <CENTER> <INPUT TYPE="SUBMIT" NAME="send_mail" VALUE="' . $Language->getText('include_user_home', 'send_message') . '"> </CENTER> </FORM>'; $HTML->box1_bottom(); } else { echo '<H3>' . $Language->getText('include_user_home', 'send_message_if_logged') . '</H3>'; } ?> </TD></TR> </TABLE> <?php $js = "new UserAutoCompleter('cc','" . util_get_dir_image_theme() . "', true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); $rte = "\nvar useLanguage = '" . substr(UserManager::instance()->getCurrentUser()->getLocale(), 0, 2) . "';\ndocument.observe('dom:loaded', function() {\n new Codendi_RTE_Send_HTML_MAIL('body');\n });"; $GLOBALS['HTML']->includeFooterJavascriptSnippet($rte); $HTML->footer(array());
/** * Display detail report form * * @return void */ function showReportForm($report_graphic_id) { $hp =& Codendi_HTMLPurifier::instance(); $group = $GLOBALS['ath']->getGroup(); $group_id = $group->getID(); $atid = $GLOBALS['ath']->getID(); $gr = new GraphOnTrackers_Report($report_graphic_id); echo '<H2>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tracker') . ' \'<A href="/tracker/admin/?group_id=' . $group_id . '&atid=' . $atid . '">' . $hp->purify($GLOBALS['ath']->getName()) . '</A>\' - ' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'modify_report') . ' \'' . $hp->purify($gr->name) . '\' '; echo help_button('tracker-v3.html#tracker-graphical-report-setting') . '</H2>'; echo '<p><a href="/tracker/admin/?func=reportgraphic&group_id=' . (int) $group_id . '&atid=' . (int) $atid . '">« ' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'return_reports') . '</a></p>'; echo '<form name="show_rep_graphic" action="/tracker/admin/" method="post" class="form-inline"> <input type="hidden" name="func" value="reportgraphic"> <input type="hidden" name="update_report_graphic" value="y"> <input type="hidden" name="atid" value="' . $hp->purify($atid) . '"> <input type="hidden" name="group_id" value="' . $hp->purify($group_id) . '"> <input type="hidden" name="report_graphic_id" value="' . $hp->purify($gr->getId()) . '"> <input type="hidden" name="post_changes_graphic" value="y"> <label>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'name') . ': </label> <input type="text" name="rep_name" value="' . $hp->purify($gr->getName()) . '" maxlength="20" class="input-small"> <label>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'desc') . ':</label> <input type="text" name="rep_desc" value="' . $hp->purify($gr->getDescription()) . '" class="input-xlarge" /> <label>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'scope') . ': </label>'; if ($GLOBALS['ath']->userIsAdmin()) { echo '<select name="rep_scope"> <option value="i"' . ($gr->getScope() == 'I' ? 'selected="selected"' : '') . '>' . $GLOBALS['Language']->getText('global', 'Personal') . '</option> <option value="p"' . ($gr->getScope() == 'P' ? 'selected="selected"' : '') . '>' . $GLOBALS['Language']->getText('global', 'Project') . '</option> </select>'; } else { echo $gr->getScope() == 'P' ? $GLOBALS['Language']->getText('global', 'Project') : $GLOBALS['Language']->getText('global', 'Personal'); } echo '<input type="submit" name="update_report" value="' . $GLOBALS['Language']->getText('global', 'btn_submit') . '" class="btn"/>'; echo '<hr /><p><strong>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'add_chart') . '</strong> '; $url = '/tracker/admin/?func=reportgraphic&group_id=' . (int) $group_id . '&atid=' . (int) $atid . '&report_graphic_id=' . (int) $gr->getId(); $url_add = $url . '&add_chart='; foreach ($gr->getChartFactories() as $factory) { $js = 'location.href=\'' . $url_add . $factory['chart_type'] . '\''; $on_click = 'onClick="' . $js . ';"'; echo '<button type="button" class="btn graphontrackers_add_btn" ' . $on_click . ' style="background-image: url(\'' . $factory['icon'] . '\');">' . $factory['title'] . '</button> '; } echo '</p>'; foreach ($gr->getCharts() as $chart) { echo '<div style="float:left; padding:10px; text-align:right;">'; echo '<a title="' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tooltip_edit') . '" href="' . $url . '&edit_chart=' . $chart->getId() . '"><img src="' . util_get_dir_image_theme() . 'ic/edit.png" alt="edit" /></a>'; echo '<input title="' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tooltip_del') . '" type="image" src="' . util_get_dir_image_theme() . 'ic/cross.png" onclick="return confirm(' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'confirm_del') . ');" name="delete_chart[' . $chart->getId() . ']" />'; $chart->display(); echo '</div>'; } echo '<div style="clear:both;"></div> </form>'; }
' . $Language->getText('admin_massmail', 'to_proj_admin') . ' (' . $count_admin . ' users)<BR><SPAN name="' . $count_sfadmin . '"><INPUT type="radio" name="destination" value="sfadmin"></SPAN> ' . $Language->getText('admin_massmail', 'to_site_admin') . ' (' . $count_sfadmin . ' users)<BR><SPAN name="' . $count_all . '"><INPUT type="radio" name="destination" value="all"></SPAN> ' . $Language->getText('admin_massmail', 'to_all') . ' (' . $count_all . ' users) </TD></TR> <TR><TD> <P>' . $Language->getText('admin_massmail', 'subject') . ' <BR><INPUT type="text" id="mail_subject" name="mail_subject" value="' . $GLOBALS['sys_name'] . ': "size="40"> <P>' . $Language->getText('admin_massmail', 'text') . ' <PRE> <div id="mail_message_label"></div> <TEXTAREA id="mail_message" name="mail_message" cols="75" rows="40" wrap="physical"> ' . stripcslashes($Language->getText('admin_massmail', 'footer', array($GLOBALS['sys_default_domain'], $GLOBALS['sys_email_admin']))) . ' </TEXTAREA> </PRE> </TD></TR><TR><TD> <P><NOSCRIPT><INPUT type="radio" name="destination" value="preview" CHECKED></NOSCRIPT> ' . $Language->getText('admin_massmail', 'to_preview') . ' <INPUT type="text" id="preview_destination" name="preview_destination" size="50" > <SPAN ID="preview_button"></SPAN> <DIV id="preview_result"></DIV> </P> <P><INPUT type="submit" name="Submit" value="' . $Language->getText('global', 'btn_submit') . '"> </TD></TR></TABLE> </FORM> '; $js = "new UserAutoCompleter('preview_destination',\n '" . util_get_dir_image_theme() . "',\n true);"; $GLOBALS['HTML']->includeFooterJavascriptSnippet($js); $rte = "\nvar useLanguage = '" . substr(UserManager::instance()->getCurrentUser()->getLocale(), 0, 2) . "';\ndocument.observe('dom:loaded', function() {\n new Codendi_RTE_Send_HTML_MAIL('mail_message');\n\n // Building input for the submission of preview adresses \n var button = Builder.node('input', {'id' : 'preview_submit',\n 'name' : 'Submit',\n 'type' : 'button',\n 'value' : 'Preview'});\n \$('preview_button').appendChild(button);\n\n //launching initialize function on MassMail instance will observe Events on the input built above\n new MassMail();\n });"; $GLOBALS['HTML']->includeFooterJavascriptSnippet($rte); $HTML->footer(array());
/** * Import metadata from a given project */ function getImportForm($groupId) { $GLOBALS['HTML']->includeFooterJavascriptSnippet("new ProjectAutoCompleter('plugin_docman_metadata_import_group', '" . util_get_dir_image_theme() . "', false);"); $content = ''; $content .= '<h3>' . $GLOBALS['Language']->getText('plugin_docman', 'admin_metadata_import_title') . '</h3>' . "\n"; $content .= '<p>' . $GLOBALS['Language']->getText('plugin_docman', 'admin_metadata_import_desc') . '</p>' . "\n"; $content .= '<form name="admin_import_metadata" method="post" action="?group_id=' . $groupId . '&action=admin_import_metadata_check">'; $content .= '<input id="plugin_docman_metadata_import_group" name="plugin_docman_metadata_import_group" type="text" size="60" value="'; $content .= $GLOBALS['Language']->getText('plugin_docman', 'admin_metadata_import_hint'); $content .= '" /><br />'; $content .= '<input name="submit" type="submit" value="' . $GLOBALS['Language']->getText('plugin_docman', 'admin_metadata_import_submit') . '" />'; $content .= '</form>'; return $content; }
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; }
$btn_update = $Language->getText('plugin_ldap', 'ugroup_edit_btn_update'); $vSubmit = new Valid_WhiteList('submit', array($btn_update)); $vSubmit->required(); if ($request->isPost() && $request->valid($vSubmit)) { if ($request->get('submit') == $btn_update) { $vUserAdd = new Valid_String('user_add'); $vUserAdd->required(); if ($request->valid($vUserAdd)) { $ldapUserGroupManager->addListOfUsersToGroup($request->get('user_add')); } } } // // Display // $ugroupRow = ugroup_db_get_ugroup($ugroupId); $ugroupName = util_translate_name_ugroup($row['name']); $clean_ugroupName = $hp->purify($ugroupName); project_admin_header(array('title' => $Language->getText('project_admin_editugroup', 'edit_ug'), 'group' => $group_id)); echo '<h2>' . $Language->getText('project_admin_editugroup', 'ug_admin', $clean_ugroupName) . '</h2>'; echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_add_users_help') . '</p>'; echo '<form name="plugin_ldap_edit_ugroup" method="post" action="">'; echo '<input type="hidden" name="ugroup_id" value="' . $ugroupId . '" />'; echo '<input type="hidden" name="func" value="add_user" />'; echo '<p>' . $GLOBALS['Language']->getText('plugin_ldap', 'ugroup_edit_group_add_users') . ' <textarea name="user_add" id="user_add" rows="2" cols="60" wrap="soft"/></textarea></p>'; echo '<input type="submit" name="submit" value="' . $btn_update . '" />'; // JS code for autocompletion on "add_user" field defined on top. $js = "new UserAutoCompleter('user_add',\r\n '" . util_get_dir_image_theme() . "',\r\n true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($js); echo '</form>'; project_admin_footer(array());
/** * Display detail report form * * @return void */ function showReportForm($report_graphic_id) { $hp =& Codendi_HTMLPurifier::instance(); $group = $GLOBALS['ath']->getGroup(); $group_id = $group->getID(); $atid = $GLOBALS['ath']->getID(); $gr = new GraphOnTrackers_Report($report_graphic_id); echo '<H2>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tracker') . ' \'<A href="/tracker/admin/?group_id=' . $group_id . '&atid=' . $atid . '">' . $hp->purify($GLOBALS['ath']->getName()) . '</A>\' - ' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'modify_report') . ' \'' . $hp->purify($gr->name) . '\' '; echo help_button('TrackerAdministration.html#GraphTrackerReportSetting') . '</H2>'; echo '<p><a href="/tracker/admin/?func=reportgraphic&group_id=' . (int) $group_id . '&atid=' . (int) $atid . '">« ' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'return_reports') . '</a></p>'; echo '<FORM NAME="show_rep_graphic" ACTION="/tracker/admin/" METHOD="POST"> <INPUT TYPE="HIDDEN" NAME="func" VALUE="reportgraphic"> <INPUT TYPE="HIDDEN" NAME="update_report_graphic" VALUE="y"> <INPUT TYPE="HIDDEN" NAME="atid" VALUE="' . $hp->purify($atid) . '"> <INPUT TYPE="HIDDEN" NAME="group_id" VALUE="' . $hp->purify($group_id) . '"> <INPUT TYPE="HIDDEN" NAME="report_graphic_id" VALUE="' . $hp->purify($gr->getId()) . '"> <INPUT TYPE="HIDDEN" NAME="post_changes_graphic" VALUE="y"> <table><tr valign="top"><td> <B>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'name') . ': </B> </td><td> <INPUT TYPE="TEXT" NAME="rep_name" VALUE="' . $hp->purify($gr->getName()) . '" SIZE="20" MAXLENGTH="20"> <B>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'scope') . ': </B>'; if ($GLOBALS['ath']->userIsAdmin()) { echo '<SELECT NAME="rep_scope"> <OPTION VALUE="I"' . ($gr->getScope() == 'I' ? 'SELECTED' : '') . '>' . $GLOBALS['Language']->getText('global', 'Personal') . '</OPTION> <OPTION VALUE="P"' . ($gr->getScope() == 'P' ? 'SELECTED' : '') . '>' . $GLOBALS['Language']->getText('global', 'Project') . '</OPTION> </SELECT>'; } else { echo $gr->getScope() == 'P' ? $GLOBALS['Language']->getText('global', 'Project') : $GLOBALS['Language']->getText('global', 'Personal'); } echo '</td><td rowspan="2" valign="middle"><input type="submit" name="update_report" value="' . $GLOBALS['Language']->getText('global', 'btn_submit') . '" /></td></tr> <tr valign="top"><td><B>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'desc') . ':</B></td><td> <INPUT TYPE="TEXT" NAME="rep_desc" VALUE="' . $hp->purify($gr->getDescription()) . '" class="textfield_medium" /> </td></tr></table>'; echo '<hr /><p><strong>' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'add_chart') . '</strong> '; $url = '/tracker/admin/?func=reportgraphic&group_id=' . (int) $group_id . '&atid=' . (int) $atid . '&report_graphic_id=' . (int) $gr->getId(); $url_add = $url . '&add_chart='; foreach ($gr->getChartFactories() as $factory) { echo '<a href="' . $url_add . $factory['chart_type'] . '" style="border:1px solid #ccc; margin:10px; padding:5px 10px; vertical-align:middle">'; echo '<img style="vertical-align:middle; " src="' . $factory['icon'] . '" /> '; echo '<label style="margin-left:4px;">' . $factory['title'] . '</label>'; echo '</a>'; } echo '</p>'; foreach ($gr->getCharts() as $chart) { echo '<div style="float:left; padding:10px; text-align:right;">'; echo '<a title="' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tooltip_edit') . '" href="' . $url . '&edit_chart=' . $chart->getId() . '"><img src="' . util_get_dir_image_theme() . 'ic/edit.png" alt="edit" /></a>'; echo '<input title="' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'tooltip_del') . '" type="image" src="' . util_get_dir_image_theme() . 'ic/cross.png" onclick="return confirm(' . $GLOBALS['Language']->getText('plugin_graphontrackers_include_report', 'confirm_del') . ');" name="delete_chart[' . $chart->getId() . ']" />'; $chart->display(); echo '</div>'; } echo '<div style="clear:both;"></div>'; '</FORM>'; }
function util_get_image_theme($fn, $the_theme = false, $absolute = false) { $path = util_get_dir_image_theme($the_theme); if ($absolute) { if (strpos($path, '/custom') !== false) { // Custom images are in /etc/codendi/themes $path = preg_replace('/\\/custom/', '', $path); $path = $GLOBALS['sys_custom_themeroot'] . $path; } else { $path = $GLOBALS['sys_urlroot'] . $path; } } return $path . $fn; }
require_once 'include/ArtifactRulesManagerHtml.class.php'; // Check if this tracker is valid (not deleted) if (!$ath->isValid()) { exit_error($Language->getText('global', 'error'), $Language->getText('tracker_add', 'invalid')); } // Create factories $art_field_fact = new ArtifactFieldFactory($ath); // Printer version ? if (!$request->exist('pv')) { $pv = false; $ro = false; } else { $pv = $request->get('pv'); if ($pv) { $ro = true; } } $GLOBALS['HTML']->includeFooterJavascriptFile('/scripts/tiny_mce/tiny_mce.js'); $GLOBALS['HTML']->addFeed($group->getPublicName() . ' ' . $ath->getName() . ' #' . $ah->getId() . ' - ' . html_entity_decode($ah->getValue('summary'), ENT_QUOTES) . ' - ' . $Language->getText('tracker_include_artifact', 'follow_ups'), '/tracker/?func=rss&aid=' . $ah->getId() . '&atid=' . $ath->getID() . '&group_id=' . $group->getGroupId()); $params = array('title' => $group->getPublicName() . ' ' . $ath->getName() . ' #' . $ah->getID() . ' - \'' . $ah->getSummary() . '\'', 'pagename' => 'tracker', 'atid' => $ath->getID(), 'sectionvals' => array($group->getPublicName()), 'pv' => $pv, 'help' => 'ArtifactUpdate.html'); $ath->header($params); // artifact object (and field values) initialized in script above (index.php) $ah->display($ro, $pv, user_getid()); echo '<script type="text/javascript">' . "\n"; $armh = new ArtifactRulesManagerHtml($ath); $armh->displayRulesAsJavascript(); echo "Event.observe(window, 'load', function() {\n if (\$('tracker_details')) {\n new com.xerox.codendi.FieldEditor('tracker_details', {\n edit: '" . addslashes($Language->getText('tracker_fieldeditor', 'edit')) . "',\n preview: '" . addslashes($Language->getText('tracker_fieldeditor', 'preview')) . "',\n warning: '" . addslashes($Language->getText('tracker_fieldeditor', 'warning')) . "',\n group_id:" . (int) $ath->getGroupId() . "\n });\n }\n \n new Codendi_RTE_Light_Tracker_FollowUp('tracker_artifact_comment');\n});"; echo "new UserAutoCompleter('tracker_cc',\n '" . util_get_dir_image_theme() . "',\n true);\n"; echo "</script>"; // Display footer page $ath->footer($params);
/** * Display the form to add a user to the monitoring people by the admin * * @param Integer $fileModuleId Id of the package * * @return String */ public function getAddMonitoringForm($fileModuleId) { $editContent = '<form id="filemodule_monitor_form_add" method="post" >'; $editContent .= '<input type="hidden" name="action" value="add_monitoring">'; $editContent .= '<input type="hidden" name="package_id" value="' . $fileModuleId . '">'; $editContent .= '<h3>' . $GLOBALS['Language']->getText('file_filemodule_monitor', 'add_users') . '</h3>'; $editContent .= '<br /><textarea name="listeners_to_add" value="" id="listeners_to_add" rows="2" cols="50"></textarea>'; $autocomplete = "new UserAutoCompleter('listeners_to_add', '" . util_get_dir_image_theme() . "', true);"; $GLOBALS['Response']->includeFooterJavascriptSnippet($autocomplete); $editContent .= '<br /><input id="filemodule_monitor_submit" type="submit" value="' . $GLOBALS['Language']->getText('global', 'add') . '" />'; $editContent .= '</form>'; return $editContent; }