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;
 }
Example #3
0
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;
    }
}
Example #4
0
 /**
  * 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();
 }
Example #6
0
$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>
';
Example #7
0
 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;
 }
Example #8
0
/**
 * 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);
}
Example #9
0
    /**
     * 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 . '&amp;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 . '&amp;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;
 }
Example #11
0
 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 .= '&nbsp;&nbsp;';
         $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;
 }
Example #13
0
*/
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;
 }
Example #15
0
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 '&nbsp;&nbsp;';
    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;
 }
Example #17
0
 /**
  * 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>&nbsp;<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>&nbsp;<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>&nbsp;<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>&nbsp;<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);
     }
 }
Example #18
0
$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 .= '&nbsp;';
     $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() . ' &lt;' . $u->getEmail() . '&gt;';
                 $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;
 }
Example #20
0
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);
}
Example #21
0
	<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&amp;group_id=' . (int) $group_id . '&amp;atid=' . (int) $atid . '">&laquo; ' . $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&amp;group_id=' . (int) $group_id . '&amp;atid=' . (int) $atid . '&amp;report_graphic_id=' . (int) $gr->getId();
        $url_add = $url . '&amp;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 . '&amp;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>';
    }
Example #23
0
' . $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;
 }
Example #26
0
$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&amp;group_id=' . (int) $group_id . '&amp;atid=' . (int) $atid . '">&laquo; ' . $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">
           &nbsp;&nbsp;&nbsp;&nbsp;
           <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&amp;group_id=' . (int) $group_id . '&amp;atid=' . (int) $atid . '&amp;report_graphic_id=' . (int) $gr->getId();
     $url_add = $url . '&amp;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 . '&amp;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>';
 }
Example #28
0
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;
}
Example #29
0
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;
 }