function __construct()
 {
     $this->table = null;
     $this->owner = null;
     $this->item = null;
     $this->mail_notification_builder = new MailNotificationBuilder(new MailBuilder(TemplateRendererFactory::build()));
 }
Example #2
0
function html_get_timezone_popup($selected = 0)
{
    $GLOBALS['HTML']->includeFooterJavascriptFile('/scripts/jstimezonedetect/jstz.min.js');
    $GLOBALS['HTML']->includeFooterJavascriptFile('/scripts/tuleap/timezone.js');
    $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/account/');
    return $renderer->renderToString('timezone', new Account_TimezoneSelectorPresenter($selected));
}
 public function __construct(EventManager $event_manager)
 {
     $this->event_manager = $event_manager;
     $this->renderer = TemplateRendererFactory::build()->getRenderer(array(ForgeConfig::get('codendi_dir') . '/src/templates/search'));
     $this->search_types = array(Search_SearchTrackerV3::NAME => new Search_SearchTrackerV3(new ArtifactDao()), Search_SearchProject::NAME => new Search_SearchProject(new ProjectDao()), Search_SearchPeople::NAME => new Search_SearchPeople(UserManager::instance()), Search_SearchForum::NAME => new Search_SearchForum(new ForumDao()), Search_SearchSnippet::NAME => new Search_SearchSnippet(new SnippetDao()), Search_SearchWiki::NAME => new Search_SearchWiki(new WikiDao()));
     $this->plugin_manager = PluginManager::instance();
 }
Example #4
0
 /**
  * @see AgileDashboard_Pane::getContent()
  */
 public function getContent()
 {
     $columns = $this->config->getDashboardColumns();
     $renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../templates');
     return $renderer->renderToString('agiledashboard-pane', $this->getPresenterUsingMappedFields($columns));
     // TODO what if no semantic status and no mapping????
 }
 private function displayBody()
 {
     $items = $this->data_mapper->fetchAll($this->getProjectFromRequest());
     $presenter = new ChooseNewsPresenter($items, $this->request->get('project_id'));
     $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/news/');
     $renderer->renderToPage('choose_news', $presenter);
 }
Example #6
0
function send_new_user_email($to, $login, $password, $confirm_hash, $template, $isAdminPresenter)
{
    //needed by new_user_email.txt
    $base_url = get_server_url();
    $defaultTheme = $GLOBALS['sys_themedefault'];
    $color_logo = "#0000";
    $color_button = "#347DBA";
    if (themeIsFlamingParrot($defaultTheme)) {
        $defaultThemeVariant = $GLOBALS['sys_default_theme_variant'];
        $color_logo = FlamingParrot_Theme::getColorOfCurrentTheme($defaultThemeVariant);
        $color_button = $color_logo;
    }
    $logo_url = $base_url . "/themes/" . $defaultTheme . "/images/organization_logo.png";
    $has_logo = file_exists(dirname(__FILE__) . '/../themes/' . $defaultTheme . '/images/organization_logo.png');
    if ($isAdminPresenter) {
        $subject = $GLOBALS['Language']->getText('account_register', 'welcome_email_title', $GLOBALS['sys_name']);
        include $GLOBALS['Language']->getContent('account/new_account_email');
        $presenter = new MailRegisterByAdminPresenter($has_logo, $logo_url, $title, $section_one, $section_two, $section_after_login, $thanks, $signature, $help, $color_logo, $login, $section_three, $section_after_password, $password);
    } else {
        $subject = $GLOBALS['Language']->getText('include_proj_email', 'account_register', $GLOBALS['sys_name']);
        include $GLOBALS['Language']->getContent('include/new_user_email');
        $redirect_url = $base_url . "/account/verify.php?confirm_hash={$confirm_hash}";
        $presenter = new MailRegisterByUserPresenter($has_logo, $logo_url, $title, $section_one, $section_two, $section_after_login, $thanks, $signature, $help, $color_logo, $login, $redirect_url, $redirect_button, $color_button);
    }
    $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/mail/');
    $mail = initializeMail($subject, $GLOBALS['sys_noreply'], $to, $renderer->renderToString($template, $presenter), $message);
    return $mail->send();
}
 public function __construct(Codendi_Request $request, Tracker_Hierarchy_HierarchicalTracker $tracker, Tracker_Hierarchy_HierarchicalTrackerFactory $factory, Tracker_Hierarchy_Dao $dao)
 {
     $this->request = $request;
     $this->tracker = $tracker;
     $this->factory = $factory;
     $this->dao = $dao;
     $this->renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../../../templates');
 }
 public function index(CSRFSynchronizerToken $csrf, Response $response)
 {
     $title = $GLOBALS['Language']->getText('plugin_tracker_config', 'title');
     $params = array('title' => $title);
     $renderer = TemplateRendererFactory::build()->getRenderer(TRACKER_TEMPLATE_DIR);
     $response->header($params);
     $renderer->renderToPage(self::$TEMPLATE, new TrackerPluginConfigPresenter($csrf, $title, $this->localincfinder->getLocalIncPath(), $this->config));
     $response->footer($params);
 }
 public function site_index(HTTPRequest $request)
 {
     $this->assertSiteAdmin($request);
     $presenter = new MediawikiSiteAdminAllowedProjectsPresenter($this->resource_restrictor->searchAllowedProjects());
     $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/resource_restrictor');
     $GLOBALS['HTML']->header(array('title' => 'Mediawiki', 'selected_top_tab' => 'admin'));
     $renderer->renderToPage($presenter::TEMPLATE, $presenter);
     $GLOBALS['HTML']->footer(array());
 }
Example #10
0
 public function __construct(Tracker_Report $report, array $criteria, TreeNode $tree_of_artifacts, Tracker_ArtifactFactory $artifact_factory, Tracker_FormElementFactory $factory, User $user, Planning $planning, $planning_redirect_param)
 {
     parent::__construct($report, $criteria, $tree_of_artifacts, $artifact_factory, $factory, $user);
     $this->planning = $planning;
     $this->planning_redirect_parameter = $planning_redirect_param;
     $this->renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../../templates');
     $card_mapper = new TreeNodeMapper(new Planning_ItemCardPresenterCallback($this->planning, new Tracker_CardFields(), 'planning-draggable-toplan'));
     $this->tree_of_card_presenters = $card_mapper->map($this->tree_of_artifacts);
 }
Example #11
0
 public function getAdminIndex(HTTPRequest $request)
 {
     $this->checkAccess($request);
     $presenter = new SVN_Admin_AllowedProjectsPresenter($this->token_manager->getProjectsAuthorizingTokens(), true);
     $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/resource_restrictor');
     $GLOBALS['HTML']->header(array('title' => 'SVN', 'selected_top_tab' => 'admin'));
     $renderer->renderToPage($presenter::TEMPLATE, $presenter);
     $GLOBALS['HTML']->footer(array());
 }
 public function display(Codendi_Request $request)
 {
     $title = $GLOBALS['Language']->getText('plugin_git', 'descriptor_name');
     $renderer = TemplateRendererFactory::build()->getRenderer(dirname(GIT_BASE_DIR) . '/templates');
     $admin_presenter = new Git_AdminGerritPresenter($title, $this->csrf, $this->getListOfGerritServersPresenters());
     $GLOBALS['HTML']->header(array('title' => $title, 'selected_top_tab' => 'admin'));
     $renderer->renderToPage('admin-plugin', $admin_presenter);
     $GLOBALS['HTML']->footer(array());
 }
 public function getAdminIndex(HTTPRequest $request)
 {
     $this->checkAccess($request);
     $presenter = new PHPWikiAdminAllowedProjectsPresenter($this->wiki_migrator->searchProjectsUsingPlugin());
     $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/resource_restrictor');
     $GLOBALS['HTML']->header(array('title' => 'PHPWiki', 'selected_top_tab' => 'admin'));
     $renderer->renderToPage($presenter::TEMPLATE, $presenter);
     $GLOBALS['HTML']->footer(array());
 }
 public function __construct(Git_Mirror_MirrorDataMapper $data_mapper, $etc_templates_path)
 {
     $this->data_mapper = $data_mapper;
     $template_dirs = array();
     if (is_dir($etc_templates_path)) {
         $template_dirs[] = $etc_templates_path . '/' . self::TEMPLATES_PATH;
     }
     $template_dirs[] = GIT_TEMPLATE_DIR . '/' . self::TEMPLATES_PATH;
     $this->template_renderer = TemplateRendererFactory::build()->getRenderer($template_dirs);
 }
Example #15
0
 public function service_public_areas($params)
 {
     if ($params['project']->usesService($this->getServiceShortname())) {
         $service = $params['project']->getService($this->getServiceShortname());
         $wiki = new PHPWiki($params['project']->getID());
         $presenter = new WidgetPublicAreaPresenter($service->getUrl(), $GLOBALS['HTML']->getImagePath('ic/wiki.png'), $this->text, $wiki->getProjectPageCount());
         $renderer = TemplateRendererFactory::build()->getRenderer(PHPWIKI_TEMPLATE_DIR);
         $params['areas'][] = $renderer->renderToString('widget_public_area', $presenter);
     }
 }
Example #16
0
function send_approval_new_user_email($to, $login)
{
    //needed by new_user_email.txt
    $base_url = get_server_url();
    $presenter = new MailPresenterFactory();
    $renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/mail/');
    $mail = new TuleapRegisterMail($presenter, $renderer, "mail-admin-approval");
    $mail = $mail->getMail($login, '', '', $base_url, $GLOBALS['sys_noreply'], $to, "admin-approval");
    return $mail->send();
}
Example #17
0
 public function index()
 {
     $title = $GLOBALS['Language']->getText('admin_main', 'configure_access_controls');
     $params = array('title' => $title);
     $renderer = TemplateRendererFactory::build()->getRenderer($this->getTemplateDir());
     $this->response->includeFooterJavascriptFile('/scripts/tuleap/admin-access-mode.js');
     $this->response->header($params);
     $renderer->renderToPage(self::TEMPLATE, new ForgeAccess_AdminPresenter($this->csrf, $title, $this->localincfinder->getLocalIncPath(), ForgeConfig::get(ForgeAccess::CONFIG), count($this->user_dao->searchByStatus(PFUser::STATUS_RESTRICTED)), ForgeConfig::get(User_ForgeUGroup::CONFIG_AUTHENTICATED_LABEL), ForgeConfig::get(User_ForgeUGroup::CONFIG_REGISTERED_LABEL), ForgeConfig::get(ForgeAccess::PROJECT_ADMIN_CAN_CHOOSE_VISIBILITY), ForgeConfig::get(ForgeAccess::REVERSE_PROXY_REGEXP)));
     $this->response->footer($params);
 }
 /**
  * @param Renderer The renderer wich contains the chart
  * @param int The id of the chart
  * @param int The rank of the chart
  * @param string The title of the chart
  * @param string The description of the chart
  * @param int The width of the chart
  * @param int The height of the chart
  */
 public function __construct($renderer, $id, $rank, $title, $description, $width, $height)
 {
     $this->renderer = $renderer;
     $this->id = $id;
     $this->rank = $rank;
     $this->title = $title;
     $this->description = $description;
     $this->width = $width;
     $this->height = $height;
     $this->mustache_renderer = TemplateRendererFactory::build()->getRenderer(GRAPH_ON_TRACKER_V5_TEMPLATE_DIR);
 }
Example #19
0
 public function index()
 {
     $title = $GLOBALS['Language']->getText('admin_main', 'configure_homepage');
     $params = array('title' => $title);
     $renderer = TemplateRendererFactory::build()->getRenderer($this->getTemplateDir());
     $headlines = $this->getHeadlines();
     $this->response->includeFooterJavascriptFile('/scripts/tuleap/admin-homepage.js');
     $this->response->header($params);
     $renderer->renderToPage(self::TEMPLATE, new Admin_Homepage_Presenter($this->csrf, $title, $this->dao->isStandardHomepageUsed(), $headlines));
     $this->response->footer($params);
 }
 function _installedPlugins()
 {
     usort($this->_plugins, create_function('$a, $b', 'return strcasecmp($a["name"] , $b["name"]);'));
     $i = 0;
     $plugins = array();
     foreach ($this->_plugins as $plugin) {
         $plugins[] = array('color' => util_get_alt_row_color($i), 'available' => $plugin['available'] ? '' : 'pluginsadministration_unavailable', 'name' => $plugin['name'], 'version' => $plugin['version'], 'description' => $plugin['description'], 'flags' => $this->getPluginAvailableFlags($plugin), 'scope' => $GLOBALS['Language']->getText('plugin_pluginsadministration', 'scope_' . $plugin['scope']), 'plugin_id' => $plugin['plugin_id'], 'dont_touch' => $plugin['dont_touch'], 'dont_restrict' => $plugin['dont_restrict']);
         $i++;
     }
     $presenter = new PluginsAdministration_Presenter_InstalledPluginsPresenter($this->_getHelp('manage'), $plugins);
     return $this->renderer->renderToString('installed-plugins', $presenter);
 }
 public function __construct(Codendi_Request $request)
 {
     $this->request = $request;
     $this->renderer = TemplateRendererFactory::build()->getRenderer($this->getTemplatesDir());
     $permissions_dao = new User_ForgeUserGroupPermissionsDao();
     $this->user_group_permissions_factory = new User_ForgeUserGroupPermissionsFactory($permissions_dao);
     $this->user_group_permissions_manager = new User_ForgeUserGroupPermissionsManager($permissions_dao);
     $user_group_dao = new UserGroupDao();
     $this->user_group_factory = new User_ForgeUserGroupFactory($user_group_dao);
     $this->user_group_manager = new User_ForgeUserGroupManager($user_group_dao);
     $user_group_users_dao = new User_ForgeUserGroupUsersDao();
     $this->user_group_users_factory = new User_ForgeUserGroupUsersFactory($user_group_users_dao);
     $this->user_group_users_manager = new User_ForgeUserGroupUsersManager($user_group_users_dao);
 }
 public function process(TrackerManager $engine, Codendi_Request $request, PFUser $current_user)
 {
     $workflow_factory = WorkflowFactory::instance();
     if ($request->get('func') == Workflow::FUNC_ADMIN_RULES) {
         $token = new CSRFSynchronizerToken(TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_RULES)));
         $rule_date_factory = new Tracker_Rule_Date_Factory(new Tracker_Rule_Date_Dao(), Tracker_FormElementFactory::instance());
         $action = new Tracker_Workflow_Action_Rules_EditRules($this->tracker, $rule_date_factory, $token);
     } elseif ($request->get('func') == Workflow::FUNC_ADMIN_CROSS_TRACKER_TRIGGERS) {
         $token = new CSRFSynchronizerToken(TRACKER_BASE_URL . '/?' . http_build_query(array('tracker' => (int) $this->tracker->id, 'func' => Workflow::FUNC_ADMIN_CROSS_TRACKER_TRIGGERS)));
         $renderer = TemplateRendererFactory::build()->getRenderer(TRACKER_BASE_DIR . '/../templates');
         $action = new Tracker_Workflow_Action_Triggers_EditTriggers($this->tracker, $token, $renderer, $workflow_factory->getTriggerRulesManager());
     } else {
         if ($request->get('func') == Workflow::FUNC_ADMIN_GET_TRIGGERS_RULES_BUILDER_DATA) {
             $action = new Tracker_Workflow_Action_Triggers_GetTriggersRulesBuilderData($this->tracker, Tracker_FormElementFactory::instance());
         } else {
             if ($request->get('func') == Workflow::FUNC_ADMIN_ADD_TRIGGER) {
                 $action = new Tracker_Workflow_Action_Triggers_AddTrigger($this->tracker, Tracker_FormElementFactory::instance(), $workflow_factory->getTriggerRulesManager());
             } else {
                 if ($request->get('func') == Workflow::FUNC_ADMIN_DELETE_TRIGGER) {
                     $action = new Tracker_Workflow_Action_Triggers_DeleteTrigger($this->tracker, $workflow_factory->getTriggerRulesManager());
                 } else {
                     if ($request->get('create')) {
                         $action = new Tracker_Workflow_Action_Transitions_Create($this->tracker, $workflow_factory);
                     } else {
                         if ($request->get('edit_transition')) {
                             $action = new Tracker_Workflow_Action_Transitions_EditTransition($this->tracker, TransitionFactory::instance(), new Transition_PostActionFactory());
                         } else {
                             if ($request->get('delete')) {
                                 $action = new Tracker_Workflow_Action_Transitions_Delete($this->tracker, $workflow_factory);
                             } else {
                                 if ($request->get('transitions')) {
                                     $action = new Tracker_Workflow_Action_Transitions_CreateMatrix($this->tracker, $workflow_factory, Tracker_FormElementFactory::instance());
                                 } else {
                                     if ($request->get('workflow_details')) {
                                         $action = new Tracker_Workflow_Action_Transitions_Details($this->tracker, TransitionFactory::instance());
                                     } else {
                                         $action = new Tracker_Workflow_Action_Transitions_DefineWorkflow($this->tracker, WorkflowFactory::instance(), Tracker_FormElementFactory::instance());
                                     }
                                 }
                             }
                         }
                     }
                 }
             }
         }
     }
     $action->process($engine, $request, $current_user);
 }
 function getContent()
 {
     $request =& HTTPRequest::instance();
     $group_id = $request->get('group_id');
     $pm = ProjectManager::instance();
     $project = $pm->getProject($group_id);
     $token = new CSRFSynchronizerToken('');
     $presenter = new MassmailFormPresenter($token, $GLOBALS['Language']->getText('contact_admins', 'title', array($project->getPublicName())), '/include/massmail_to_project_admins.php');
     $template_factory = TemplateRendererFactory::build();
     $renderer = $template_factory->getRenderer($presenter->getTemplateDir());
     echo '<a
         href="#massmail-project-members"
         data-project-id="' . $group_id . '"
         class="massmail-project-member-link project_home_contact_admins"
         data-toggle="modal">
             <i class="icon-envelope-alt"></i> ' . $GLOBALS['Language']->getText('include_project_home', 'contact_admins') . '</a>';
     echo $renderer->renderToString('massmail', $presenter);
 }
 public function process(Codendi_Request $request)
 {
     switch ($request->get('action')) {
         case 'provide_datas':
             header('Content-type : text/csv');
             echo file_get_contents($this->getCacheFolder() . 'data.csv');
             break;
         case 'beacon':
             $this->processBoomerangDatas($request);
             break;
         default:
             require_once 'common/templating/TemplateRendererFactory.class.php';
             $header_params = array('title' => 'Boomerang');
             site_header($header_params);
             $renderer = TemplateRendererFactory::build()->getRenderer(BOOMERANG_BASE_DIR . '/../templates');
             $presenter = new PerfDataPresenter();
             $renderer->renderToPage('perf-data', $presenter);
             site_footer(null);
             break;
     }
 }
 /**
  * Send a notification
  *
  * @param array  $recipients the list of recipients
  * @param array  $headers    the additional headers
  * @param string $from       the mail of the sender
  * @param string $subject    the subject of the message
  * @param string $htmlBody   the html content of the message
  * @param string $txtBody    the text content of the message
  * @param string $message_id the id of the message
  *
  * @return void
  */
 protected function sendNotification($recipients, $headers, $from, $subject, $htmlBody, $txtBody, $message_id)
 {
     $hp = Codendi_HTMLPurifier::instance();
     $breadcrumbs = array();
     $tracker = $this->getTracker();
     $project = $tracker->getProject();
     $artifactId = $this->getArtifact()->getID();
     $project_unix_name = $project->getUnixName(true);
     $tracker_name = $tracker->getItemName();
     $mail_enhancer = new MailEnhancer();
     if ($message_id) {
         $mail_enhancer->setMessageId($message_id);
     }
     $breadcrumbs[] = '<a href="' . get_server_url() . '/projects/' . $project_unix_name . '" />' . $project->getPublicName() . '</a>';
     $breadcrumbs[] = '<a href="' . get_server_url() . '/plugins/tracker/?tracker=' . (int) $tracker->getId() . '" />' . $hp->purify($this->getTracker()->getName()) . '</a>';
     $breadcrumbs[] = '<a href="' . get_server_url() . '/plugins/tracker/?aid=' . (int) $artifactId . '" />' . $hp->purify($this->getTracker()->getName() . ' #' . $artifactId) . '</a>';
     $mail_enhancer->addPropertiesToLookAndFeel('breadcrumbs', $breadcrumbs);
     $mail_enhancer->addPropertiesToLookAndFeel('unsubscribe_link', $this->getUnsubscribeLink());
     $mail_enhancer->addPropertiesToLookAndFeel('title', $hp->purify($subject));
     $mail_enhancer->addHeader("X-Codendi-Project", $project->getUnixName());
     $mail_enhancer->addHeader("X-Codendi-Tracker", $tracker_name);
     $mail_enhancer->addHeader("X-Codendi-Artifact-ID", $this->artifact->getId());
     $mail_enhancer->addHeader('From', $from);
     foreach ($headers as $header) {
         $mail_enhancer->addHeader($header['name'], $header['value']);
     }
     if ($htmlBody) {
         $htmlBody .= $this->getHTMLBodyFilter($project_unix_name, $tracker_name);
     }
     $txtBody .= $this->getTextBodyFilter($project_unix_name, $tracker_name);
     $mail_notification_builder = new MailNotificationBuilder(new MailBuilder(TemplateRendererFactory::build()));
     $mail_notification_builder->buildAndSendEmail($project, $recipients, $subject, $htmlBody, $txtBody, get_server_url() . $this->getUri(), trackerPlugin::TRUNCATED_SERVICE_NAME, $mail_enhancer);
 }
Example #26
0
 private function getPaneContent($template)
 {
     $event_manager = EventManager::instance();
     $columns = $this->config->getDashboardColumns();
     $renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../templates');
     $html = $renderer->renderToString($template, $this->getPresenterUsingMappedFields($columns));
     // TODO what if no semantic status and no mapping????
     $event_manager->processEvent(CARDWALL_EVENT_DISPLAYED, array('html' => &$html));
     return $html;
 }
 /**
  * @return MustacheRenderer
  */
 private function getMustacheRenderer()
 {
     return TemplateRendererFactory::build()->getRenderer(dirname(TRACKER_BASE_DIR) . '/templates');
 }
Example #28
0
    } else {
        $GLOBALS['Response']->addFeedback('info', $Language->getText('project_admin_editgroupinfo', 'upd_success'));
    }
}
$project_manager->clearProjectFromCache($currentproject->getID());
$currentproject = $project_manager->getProject($currentproject->getID());
// update info for page
$res_grp = db_query("SELECT * FROM groups WHERE group_id='" . db_ei($group_id) . "'");
if (db_numrows($res_grp) < 1) {
    exit_no_group();
}
$row_grp = db_fetch_array($res_grp);
$descfieldsvalue = $currentproject->getProjectsDescFieldsValue();
project_admin_header(array('title' => $Language->getText('project_admin_editgroupinfo', 'editing_g_info'), 'group' => $group_id, 'help' => 'project-admin.html#project-public-information'));
echo '<FORM action="?group_id=' . $group_id . '" method="post" id="project_info_form">';
$renderer = TemplateRendererFactory::build()->getRenderer(ForgeConfig::get('codendi_dir') . '/src/templates/project/');
if ($user_can_choose_visibility) {
    $presenter = new ProjectVisibilityPresenter($Language, ForgeConfig::areRestrictedUsersAllowed(), $currentproject->getAccess());
    echo $renderer->renderToString('project_visibility', $presenter);
}
if ($user_can_choose_truncated_emails) {
    $truncated_mails_impacted_services = array();
    $file_service = $currentproject->getService(Service::FILE);
    if ($file_service) {
        $truncated_mails_impacted_services[] = $file_service->getInternationalizedName();
    }
    $svn_service = $currentproject->getService(Service::SVN);
    if ($svn_service) {
        $truncated_mails_impacted_services[] = $svn_service->getInternationalizedName();
    }
    $presenter = new ProjectTruncatedEmailsPresenter($currentproject, $truncated_mails_impacted_services);
 public function displayStandardHomepage($display_homepage_news)
 {
     $dao = new Admin_Homepage_Dao();
     $current_user = UserManager::instance()->getCurrentUser();
     $project_dao = new UserDao();
     $nb_users = $project_dao->countActiveAndRestrictedUsers();
     $project_dao = new ProjectDao();
     $nb_projects = $project_dao->countActiveProjects();
     $most_secure_url = '';
     if (ForgeConfig::get('sys_https_host')) {
         $most_secure_url = 'https://' . ForgeConfig::get('sys_https_host');
     }
     $login_presenter_builder = new User_LoginPresenterBuilder();
     $login_presenter = $login_presenter_builder->buildForHomepage();
     $headline = $dao->getHeadlineByLanguage($current_user->getLocale());
     $news_bytes_dao = new NewsBytesDao();
     $news = false;
     if ($display_homepage_news && $news_bytes_dao->isThereNewsToDisplayInHomepage()) {
         $news = news_show_latest($GLOBALS['sys_news_group'], 2, true, false, true, 0);
     }
     $awesomeness = file_get_contents($GLOBALS['Language']->getContent('homepage/awesomeness', null, null, '.html'));
     $templates_dir = ForgeConfig::get('codendi_dir') . '/src/templates/homepage/';
     $renderer = TemplateRendererFactory::build()->getRenderer($templates_dir);
     $presenter = new FlamingParrot_HomepagePresenter($headline, $nb_projects, $nb_users, $most_secure_url, $login_presenter, $display_homepage_news, $news, $current_user, $awesomeness);
     $renderer->renderToPage('homepage', $presenter);
 }
 protected function render($navigator, $results)
 {
     $presenter = new TestsPluginRunnerPresenter($this->request, $navigator, $results);
     $template = 'testsPluginRunner' . strtoupper($this->request->getDisplay());
     $renderer = TemplateRendererFactory::build()->getRenderer(dirname(__FILE__) . '/../templates');
     $renderer->renderToPage($template, $presenter);
     $this->renderDone = true;
 }