/** * Pre-execute function * * @param framework\Request $request * @param string $action */ public function preExecute(framework\Request $request, $action) { if (!$request->hasParameter('section')) { return; } // forward 403 if you're not allowed here if ($request->isAjaxCall() == false) { $this->forward403unless(framework\Context::getUser()->canAccessConfigurationPage($request['section'])); } $this->access_level = $this->getAccessLevel($request['section'], 'core'); if (!$request->isAjaxCall()) { $this->getResponse()->setPage('config'); framework\Context::loadLibrary('ui'); $this->getResponse()->addBreadcrumb(framework\Context::getI18n()->__('Configure %thebuggenie_name', array('%thebuggenie_name' => framework\Settings::getSiteHeaderName())), framework\Context::getRouting()->generate('configure'), $this->getResponse()->getPredefinedBreadcrumbLinks('configure')); } }
fonts/open_sans_bold_italic.woff') format('woff'), url('<?php echo $webroot; ?> fonts/open_sans_bold_italic.ttf') format('truetype'); } </style> <link rel="shortcut icon" href="<?php if (\thebuggenie\core\framework\Settings::isUsingCustomFavicon()) { echo \thebuggenie\core\framework\Settings::getFaviconURL(); } else { echo image_url('favicon.png'); } ?> "> <link title="<?php echo \thebuggenie\core\framework\Context::isProjectContext() ? __('%project_name search', array('%project_name' => \thebuggenie\core\framework\Context::getCurrentProject()->getName())) : __('%site_name search', array('%site_name' => \thebuggenie\core\framework\Settings::getSiteHeaderName())); ?> " href="<?php echo \thebuggenie\core\framework\Context::isProjectContext() ? make_url('project_opensearch', array('project_key' => \thebuggenie\core\framework\Context::getCurrentProject()->getKey())) : make_url('opensearch'); ?> " type="application/opensearchdescription+xml" rel="search"> <?php foreach ($tbg_response->getFeeds() as $feed_url => $feed_title) { ?> <link rel="alternate" type="application/rss+xml" title="<?php echo str_replace('"', '\'', $feed_title); ?> " href="<?php echo $feed_url; ?> ">
protected function _parse_insert_template($matches) { switch ($matches[1]) { case 'CURRENTMONTH': return date('m'); case 'CURRENTMONTHNAMEGEN': case 'CURRENTMONTHNAME': return date('F'); case 'CURRENTDAY': return date('d'); case 'CURRENTDAYNAME': return date('l'); case 'CURRENTYEAR': return date('Y'); case 'CURRENTTIME': return date('H:i'); case 'NUMBEROFARTICLES': return 0; case 'PAGENAME': return framework\Context::getResponse()->getPage(); case 'NAMESPACE': return 'None'; case 'TOC': return isset($this->options['included']) ? '' : '{{TOC}}'; case 'SITENAME': case 'SITETAGLINE': return \thebuggenie\core\framework\Settings::getSiteHeaderName(); default: $details = explode('|', $matches[1]); $template_name = array_shift($details); if (substr($template_name, 0, 1) == ':') { $template_name = substr($template_name, 1); } $template_name = Article::doesArticleExist($template_name) ? $template_name : 'Template:' . $template_name; $template_article = Articles::getTable()->getArticleByName($template_name); $parameters = array(); if (count($details)) { foreach ($details as $parameter) { $param = explode('=', $parameter); if (count($param) == 2) { $parameters[$param[0]] = $param[1]; } else { $parameters[] = $parameter; } } } if ($template_article instanceof Article) { return tbg_parse_text($template_article->getContent(), false, null, array('included' => true, 'parameters' => $parameters)); } else { return $matches[0]; } } }
<url><?php echo \thebuggenie\core\framework\Context::getUrlHost() . \thebuggenie\core\framework\Context::getWebroot() . 'header.png'; ?> </url> <?php } else { ?> <url><?php echo image_url('logo_24.png', false, null, false); ?> </url> <?php } ?> <title><?php echo \thebuggenie\core\framework\Settings::getSiteHeaderName() . ' ~ ' . $searchtitle; ?> </title> <link><?php echo make_url('home', array(), false); ?> </link> </image> <?php if ($issues != false) { foreach ($issues as $issue) { ?> <item> <title><?php echo $issue->getFormattedIssueNo(true) . ' - ' . strip_tags($issue->getTitle());
<footer> <?php echo image_tag('footer_logo.png'); ?> <?php echo link_tag(make_url('about'), 'The Bug Genie') . ' ' . \thebuggenie\core\framework\Settings::getVersion(); ?> <?php if ($tbg_user->canAccessConfigurationPage()) { ?> | <b><?php echo link_tag(make_url('configure'), __('Configure %thebuggenie_name', array('%thebuggenie_name' => \thebuggenie\core\framework\Settings::getSiteHeaderName()))); ?> </b> <?php } ?> | <a href="http://www.thebuggenie.com/support">Support</a> | <a href="http://www.thebuggenie.com/feedback">Feedback</a> <?php if (\thebuggenie\core\framework\Context::isDebugMode() && \thebuggenie\core\framework\Logging::isEnabled()) { ?> <script> function tbg_debug_show_menu_tab(tab, clicked) { $('debug-bar').childElements().each(function (unclicked) { unclicked.removeClassName('selected'); }); clicked.addClassName('selected'); $('debug-frames-container').childElements().each(function (container) { (container.id == tab) ? container.addClassName('selected') : container.removeClassName('selected'); });
public static function populateBreadcrumbs() { $childbreadcrumbs = array(); if (self::$_selected_project instanceof Project) { $t = self::$_selected_project; $hierarchy_breadcrumbs = array(); $projects_processed = array(); while ($t instanceof Project) { if (array_key_exists($t->getKey(), $projects_processed)) { // We have a cyclic dependency! Oh no! // If this happens, throw an exception throw new \Exception(self::geti18n()->__('A loop has been found in the project heirarchy. Go to project configuration, and alter the subproject setting for this project so that this project is not a subproject of one which is a subproject of this one.')); } $projects_processed[$t->getKey()] = $t; $itemsubmenulinks = self::getResponse()->getPredefinedBreadcrumbLinks('project_summary', $t); if ($t->hasChildren()) { $itemsubmenulinks[] = array('separator' => true); foreach ($t->getChildren() as $child) { if (!$child->hasAccess()) { continue; } $itemsubmenulinks[] = array('url' => self::getRouting()->generate('project_dashboard', array('project_key' => $child->getKey())), 'title' => $child->getName()); } } $hierarchy_breadcrumbs[] = array($t, $itemsubmenulinks); if ($t->hasParent()) { $parent = $t->getParent(); $t = $t->getParent(); } else { $t = null; } } if (self::$_selected_project->hasClient()) { self::setCurrentClient(self::$_selected_project->getClient()); } if (mb_strtolower(Settings::getSiteHeaderName()) != mb_strtolower(self::$_selected_project->getName()) || self::isClientContext()) { self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home'), self::getResponse()->getPredefinedBreadcrumbLinks('main_links', self::$_selected_project)); if (self::isClientContext()) { self::getResponse()->addBreadcrumb(self::getCurrentClient()->getName(), self::getRouting()->generate('client_dashboard', array('client_id' => self::getCurrentClient()->getID())), self::getResponse()->getPredefinedBreadcrumbLinks('client_list')); } } // Add root breadcrumb first, so reverse order $hierarchy_breadcrumbs = array_reverse($hierarchy_breadcrumbs); foreach ($hierarchy_breadcrumbs as $breadcrumb) { $class = null; if ($breadcrumb[0]->getKey() == self::getCurrentProject()->getKey()) { $class = 'selected_project'; } self::getResponse()->addBreadcrumb($breadcrumb[0]->getName(), self::getRouting()->generate('project_dashboard', array('project_key' => $breadcrumb[0]->getKey())), $breadcrumb[1], $class); } } else { self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home'), self::getResponse()->getPredefinedBreadcrumbLinks('main_links')); } }
<?php \thebuggenie\core\framework\Event::createNew('core', 'header_before_logo')->trigger(); ?> <span class="mobile_menuanchor" onclick="$('body').toggleClassName('mobile_leftmenu_visible');"> </span> <?php $link = \thebuggenie\core\framework\Settings::getHeaderLink() == '' ? \thebuggenie\core\framework\Context::getWebroot() : \thebuggenie\core\framework\Settings::getHeaderLink(); ?> <a class="logo" href="<?php print $link; ?> "><?php echo image_tag(\thebuggenie\core\framework\Settings::getHeaderIconUrl(), array('style' => 'max-height: 24px;'), \thebuggenie\core\framework\Settings::isUsingCustomHeaderIcon()); ?> </a> <div class="logo_name"><?php echo \thebuggenie\core\framework\Settings::getSiteHeaderName(); ?> </div> </div> <?php if (!\thebuggenie\core\framework\Settings::isMaintenanceModeEnabled()) { ?> <div id="topmenu-container"> <?php if (\thebuggenie\core\framework\Event::createNew('core', 'header_mainmenu_decider')->trigger()->getReturnValue() !== false) { ?> <?php require THEBUGGENIE_CORE_PATH . 'templates/headermainmenu.inc.php'; ?> <?php }
<table style="clear: both; width: 700px; margin-top: 5px;" class="padded_table" cellpadding=0 cellspacing=0> <tr> <td style="width: 200px;"><label for="b2_name"><?php echo __('The Bug Genie custom name'); ?> </label></td> <td style="width: auto;"> <input type="text" name="<?php echo \thebuggenie\core\framework\Settings::SETTING_TBG_NAME; ?> " id="b2_name" value="<?php echo str_replace('"', '"', \thebuggenie\core\framework\Settings::getSiteHeaderName()); ?> " style="width: 90%;"<?php if ($access_level != \thebuggenie\core\framework\Settings::ACCESS_FULL) { ?> disabled<?php } ?> > <?php echo config_explanation(__('This is the name appearing in the headers and several other places, usually displaying "The Bug Genie"')); ?> </td> </tr> <tr> <td> <label><?php echo __('Custom header and favicons');
<?php $tbg_response->setTitle(__('About %sitename', array('%sitename' => \thebuggenie\core\framework\Settings::getSiteHeaderName()))); $tbg_response->addBreadcrumb(__('About %sitename', array('%sitename' => \thebuggenie\core\framework\Settings::getSiteHeaderName())), make_url('about'), tbg_get_breadcrumblinks('main_links')); ?> <div class="rounded_box borderless mediumgrey" style="margin: 10px auto 0 auto; width: 500px; padding: 5px 5px 15px 5px; font-size: 13px; text-align: center;"> <div style="text-align: left; padding: 10px;"> <h1 style="font-size: 25px; margin-bottom: 0px; padding-bottom: 3px;"> The Bug Genie <span style="font-size: 14px; font-weight: normal; color: #888;"> <?php echo __('Version %thebuggenie_version', array('%thebuggenie_version' => \thebuggenie\core\framework\Settings::getVersion(true))); ?> </span> </h1> <h3 style="margin-top: 0; padding-top: 0;">Beautiful issue tracking and project management</h3> <?php echo __('The Bug Genie is an issue tracking system with a strong focus on being friendly – both for regular users and power users'); ?> .<br> <br> <?php echo __('The Bug Genie follows an open development model, and is released under an open source software license called the MPL (Mozilla Public License). This license gives you the freedom to pick up the sourcecode for The Bug Genie and work with it any way you need.'); ?> <br> <br> <?php echo __('Extend, develop and change The Bug Genie in any way you want, and do whatever you want with the new piece of software (The only thing you cannot do is call your software The Bug Genie). Please do send us your modifications for inclusion in The Bug Genie.'); ?> <br> <br>
public function runStatus(framework\Request $request) { $status_info = array('api_version' => $this->getApiVersion(), 'version' => framework\Settings::getVersion(), 'version_long' => framework\Settings::getVersion(true, true), 'site_name' => framework\Settings::getSiteHeaderName(), 'host' => framework\Settings::getURLhost(), 'urls' => array('site' => framework\Settings::getHeaderLink() == '' ? framework\Context::getWebroot() : framework\Settings::getHeaderLink(), 'logo' => framework\Settings::getHeaderIconURL(), 'icon' => framework\Settings::getFaviconURL()), 'online' => !(bool) framework\Settings::isMaintenanceModeEnabled()); if (framework\Settings::hasMaintenanceMessage()) { $status_info['maintenance_msg'] = framework\Settings::getMaintenanceMessage(); } $this->status_info = $status_info; }
<url><?php echo \thebuggenie\core\framework\Context::getUrlHost() . \thebuggenie\core\framework\Context::getWebroot() . 'header.png'; ?> </url> <?php } else { ?> <url><?php echo image_url('logo_24.png', false, null, false); ?> </url> <?php } ?> <title><?php echo \thebuggenie\core\framework\Settings::getSiteHeaderName() . ' ~ ' . __('%project_name project timeline', array('%project_name' => \thebuggenie\core\framework\Context::getCurrentProject()->getName())); ?> </title> <link><?php echo make_url('project_timeline', array('project_key' => \thebuggenie\core\framework\Context::getCurrentProject()->getKey()), false); ?> </link> </image> <?php foreach ($recent_activities as $timestamp => $activities) { foreach ($activities as $activity) { if (array_key_exists('target_type', $activity) && $activity['target_type'] == 1 && ($issue = \thebuggenie\core\entities\Issue::getB2DBTable()->selectById($activity['target'])) && $issue instanceof \thebuggenie\core\entities\Issue) { if ($issue->isDeleted()) { continue; } ?>
public static function populateBreadcrumbs() { $childbreadcrumbs = array(); if (self::$_selected_project instanceof Project) { $t = self::$_selected_project; $hierarchy_breadcrumbs = array(); $projects_processed = array(); while ($t instanceof Project) { if (array_key_exists($t->getKey(), $projects_processed)) { // We have a cyclic dependency! Oh no! // If this happens, throw an exception throw new \Exception(self::geti18n()->__('A loop has been found in the project heirarchy. Go to project configuration, and alter the subproject setting for this project so that this project is not a subproject of one which is a subproject of this one.')); } else { $all_projects = array_merge(Project::getAllRootProjects(true), Project::getAllRootProjects(false)); // If this is a root project, display a list of other root projects, then t is null if (!$t->hasParent() && count($all_projects) > 1) { $itemsubmenulinks = array(); foreach ($all_projects as $child) { if (!$child->hasAccess()) { continue; } $itemsubmenulinks[] = array('url' => self::getRouting()->generate('project_dashboard', array('project_key' => $child->getKey())), 'title' => $child->getName()); } $hierarchy_breadcrumbs[] = array($t, $itemsubmenulinks); $projects_processed[$t->getKey()] = $t; $t = null; continue; } elseif (!$t->hasParent()) { $hierarchy_breadcrumbs[] = array($t, null); $projects_processed[$t->getKey()] = $t; $t = null; continue; } else { // What we want to do here is to build a list of the children of the parent unless we are the only one $parent = $t->getParent(); $children = $parent->getChildren(); $itemsubmenulinks = null; if ($parent->hasChildren() && count($children) > 1) { $itemsubmenulinks = array(); foreach ($children as $child) { if (!$child->hasAccess()) { continue; } $itemsubmenulinks[] = array('url' => self::getRouting()->generate('project_dashboard', array('project_key' => $child->getKey())), 'title' => $child->getName()); } } $hierarchy_breadcrumbs[] = array($t, $itemsubmenulinks); $projects_processed[$t->getKey()] = $t; $t = $parent; continue; } } } $clientsubmenulinks = null; if (self::$_selected_project->hasClient()) { $clientsubmenulinks = array(); foreach (Client::getAll() as $client) { if ($client->hasAccess()) { $clientsubmenulinks[] = array('url' => self::getRouting()->generate('client_dashboard', array('client_id' => $client->getID())), 'title' => $client->getName()); } } self::setCurrentClient(self::$_selected_project->getClient()); } if (mb_strtolower(Settings::getSiteHeaderName()) != mb_strtolower(self::$_selected_project->getName()) || self::isClientContext()) { self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home')); if (self::isClientContext()) { self::getResponse()->addBreadcrumb(self::getCurrentClient()->getName(), self::getRouting()->generate('client_dashboard', array('client_id' => self::getCurrentClient()->getID())), $clientsubmenulinks); } } // Add root breadcrumb first, so reverse order $hierarchy_breadcrumbs = array_reverse($hierarchy_breadcrumbs); foreach ($hierarchy_breadcrumbs as $breadcrumb) { $class = null; if ($breadcrumb[0]->getKey() == self::getCurrentProject()->getKey()) { $class = 'selected_project'; } self::getResponse()->addBreadcrumb($breadcrumb[0]->getName(), self::getRouting()->generate('project_dashboard', array('project_key' => $breadcrumb[0]->getKey())), $breadcrumb[1], $class); } } else { self::getResponse()->addBreadcrumb(Settings::getSiteHeaderName(), self::getRouting()->generate('home')); } }