Index: trunk/www/sites/www/applications/applicationpage.php
===================================================================
--- trunk/www/sites/www/applications/applicationpage.php (revision 1529939)
+++ trunk/www/sites/www/applications/applicationpage.php (revision 1529940)
@@ -1,259 +1,259 @@
category()) != $_GET['category']) {
$extra = "";
if( isset($_GET['development']) )
{ $extra = "/development/"; }
header("Location: /applications/" . strtolower($app->category()) . "/" . nameToUrl($app->name()) . $extra);
return;
}
$development = isset($_GET['development']);
$page_title=$app->name()." - ".$app->genericName();
if ($development) {
$page_title=$app->name()." - Development Information";
}
$page_title_extra_html = '
';
function printSidebar($app, $backToOverview=false)
{
$content = '';
$content .= '';
if ($app->hasHomepage() || $app->hasKDEApps()) {
$content .= '';
}
if ($app->hasAppstream()) {
$content .= '';
}
$content .= '';
$content .= 'Contact the authors';
//Bug tracker links
if ($app->hasBugTracker()) {
if ($app->isBugTrackerExternal()) {
$content .= '
Report a bug';
} else { //KDE Bugzilla
$componentstring = "";
if ($app->bugzillaComponent()) {
$componentstring = '&component='.$app->bugzillaComponent();
}
$content .= '
Report a bug';
}
} else { //Empty bugtracker, use default link
$content .= '
Report a bug';
}
foreach ($app->ircChannels() as $channel) {
$content .= '
IRC:
'.$channel.' on Freenode';
}
foreach ($app->mailingLists() as $ml) {
//KDE mailing lists
if (substr($ml, -8, 8) == "@kde.org") {
$base = substr($ml, 0, -8);
$content .= '
Mailing List:
' .htmlspecialchars($base).'';
$content .= '
(
subscribe,
list information)';
} else if (substr($ml, -22, 22) == "@lists.sourceforge.net") { //Sourceforge.net
$base = substr($ml, 0, -22);
$content .= '
Mailing List:
'.htmlspecialchars($base).'';
$content .= '
(
subscribe,
archive)';
} else if (substr($ml, 0, 31) == "http://groups.google.com/group/") { //Google Groups (web)
$base = substr($ml, 31, strlen($ml)-31);
$content .= '
Mailing List:
'.htmlspecialchars($base).'';
$content .= '
(
subscribe,
archive)';
} else if (substr($ml, -17, 17) == "@googlegroups.com") { //Google Groups (mail)
$base = substr($ml, 0, -17);
$content .= '
Mailing List:
'.htmlspecialchars($base).'';
$content .= '
(
subscribe,
archive)';
} else { //Default mail
$content .= '
Mailing List:
'.$app->name().'';
}
}
$content .= '
';
if( !$backToOverview )
{
$content .= '';
}
return $content;
}
function printPage($app)
{
print '';
//Print screenshot or dummy "no screenshot available" image
$screenshotUrl = '/images/screenshots/'.nameToUrl($app->name()).'.png';
$screenshotResizedUrl = '/images/screenshots/resized/'.nameToUrl($app->name()).'.png';
if (file_exists($_SERVER["DOCUMENT_ROOT"].$screenshotUrl)) {
print '
'; ///TODO: image size
} else {
print '
'; ///TODO: image size
}
print $app->descriptionHtml();
if ($app->hasFeatures()) {
print "
Features
";
print $app->featureHtml();
}
if ($app->hasVersions() || $app->hasAuthors() || $app->hasLicense()) {
print '
';
print '
';
if ($app->hasAuthors()) {
print '
Developed By
';
print $app->authorHtml();
}
if ($app->hasVersions()) {
///TODO: Versions not yet implemented
}
if ($app->hasLicense()) {
print 'License
';
print $app->licenseHtml();
}
print '';
}
//If JS available, hide the application details (authors) and show a toggle link
?>
';
+ print '
';
print '';
}
function printDevelopmentPage($app)
{
print '';
print '
Source code repository
';
print $app->browseSourcesHtml();
print $app->checkoutSourcesHtml();
//Show bugzilla related links only for applications hosted at bugs.kde.org
if ($app->hasBugTracker() && !$app->isBugTrackerExternal()) {
print '
Search for open bugs
';
$product = $app->bugzillaProduct();
$componentstring = "";
if ($app->bugzillaComponent()) {
$componentstring = '&component='.$app->bugzillaComponent();
}
$majorBugs = 'https://bugs.kde.org/buglist.cgi?short_desc_type=allwordssubstr&product='.$product.$componentstring.'&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=critical&bug_severity=grave&bug_severity=major&bug_severity=crash';
$minorBugs = 'https://bugs.kde.org/buglist.cgi?short_desc_type=allwordssubstr&product='.$product.$componentstring.'&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=normal&bug_severity=minor';
$wishes = 'https://bugs.kde.org/buglist.cgi?short_desc_type=allwordssubstr&product='.$product.$componentstring.'&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&bug_severity=wishlist';
$juniorJobs = 'https://bugs.kde.org/buglist.cgi?keywords=junior-jobs&product='.$product.$componentstring.'&bug_status=UNCONFIRMED&bug_status=NEW&bug_status=ASSIGNED&bug_status=REOPENED&cmdtype=doit';
print '
';
}
if ($app->hasEbn()) {
print '
Code checking
';
print '
Show results of automated code checking on the English Breakfast Network (EBN).
';
print '
';
}
print '
';
}
$sidebar_content = printSidebar( $app, isset($_GET['development']) );
require('../aether/config.php');
$pageConfig = array_merge($pageConfig, [
'title' => $app->name(),
'cssFile' => '/css/applications.css'
]);
require('../aether/header.php');
$site_root = "../";
?>
name() ?>