Subversion Repositories LCARS

Compare Revisions

Last modification

Ignore whitespace Rev 209 → Rev 210

/trunk/i18n/en.po
6,7 → 6,7
msgstr ""
"Project-Id-Version: PE 0.3.9.20\n"
"Report-Msgid-Bugs-To: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"POT-Creation-Date: 2014-04-05 00:40+0200\n"
"POT-Creation-Date: 2014-04-05 00:57+0200\n"
"PO-Revision-Date: 2013-11-26 03:19+0200\n"
"Last-Translator: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"Language-Team: English <webmaster@PointedEars.de>\n"
396,3 → 396,7
#, php-format
msgid "%s of %s episodes"
msgstr ""
 
#: ../media/video/series/application/layouts/index/index.phtml:224
msgid "last time"
msgstr ""
/trunk/i18n/ru.po
6,7 → 6,7
msgstr ""
"Project-Id-Version: PE 0.3.9.19\n"
"Report-Msgid-Bugs-To: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"POT-Creation-Date: 2014-04-05 00:40+0200\n"
"POT-Creation-Date: 2014-04-05 00:57+0200\n"
"PO-Revision-Date: 2013-11-27 05:00+0200\n"
"Last-Translator: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"Language-Team: Russian <webmaster@PointedEars.de>\n"
400,3 → 400,7
#, php-format
msgid "%s of %s episodes"
msgstr ""
 
#: ../media/video/series/application/layouts/index/index.phtml:224
msgid "last time"
msgstr ""
/trunk/i18n/de.po
6,7 → 6,7
msgstr ""
"Project-Id-Version: PE 0.3.9.20\n"
"Report-Msgid-Bugs-To: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"POT-Creation-Date: 2014-04-05 00:40+0200\n"
"POT-Creation-Date: 2014-04-05 00:57+0200\n"
"PO-Revision-Date: 2013-12-01 18:57+0200\n"
"Last-Translator: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"Language-Team: German <webmaster@PointedEars.de>\n"
414,6 → 414,10
msgid "%s of %s episodes"
msgstr "%s von %s Episoden"
 
#: ../media/video/series/application/layouts/index/index.phtml:224
msgid "last time"
msgstr "zuletzt am"
 
#~ msgid ""
#~ "Access to the United Federation of Planets Databanks, an online songbook "
#~ "and software downloads always worth a click. Coming soon: The best "
/trunk/i18n/de.pointedears.pot
6,9 → 6,9
#, fuzzy
msgid ""
msgstr ""
"Project-Id-Version: PE 0.3.9.20\n"
"Project-Id-Version: PE 0.3.9.19\n"
"Report-Msgid-Bugs-To: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"POT-Creation-Date: 2014-04-05 00:40+0200\n"
"POT-Creation-Date: 2014-04-05 00:57+0200\n"
"PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n"
"Last-Translator: FULL NAME <EMAIL@ADDRESS>\n"
"Language-Team: LANGUAGE <LL@li.org>\n"
390,3 → 390,7
#, php-format
msgid "%s of %s episodes"
msgstr ""
 
#: ../media/video/series/application/layouts/index/index.phtml:224
msgid "last time"
msgstr ""
/trunk/i18n/LocaleData/vuh-Latn-Gol-modern/LC_MESSAGES/de.pointedears.mo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/i18n/LocaleData/en/LC_MESSAGES/de.pointedears.mo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/i18n/LocaleData/ru/LC_MESSAGES/de.pointedears.mo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/i18n/LocaleData/de/LC_MESSAGES/de.pointedears.mo
Cannot display: file marked as a binary type.
svn:mime-type = application/octet-stream
/trunk/i18n/vuh-Latn-Gol-modern.po
6,7 → 6,7
msgstr ""
"Project-Id-Version: PE 0.3.9.20\n"
"Report-Msgid-Bugs-To: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"POT-Creation-Date: 2014-04-05 00:40+0200\n"
"POT-Creation-Date: 2014-04-05 00:57+0200\n"
"PO-Revision-Date: 2013-11-27 05:00+0200\n"
"Last-Translator: Thomas 'PointedEars' Lahn <webmaster@PointedEars.de>\n"
"Language-Team: Modern Golic Vulcan <webmaster@PointedEars.de>\n"
403,3 → 403,7
#, php-format
msgid "%s of %s episodes"
msgstr ""
 
#: ../media/video/series/application/layouts/index/index.phtml:224
msgid "last time"
msgstr ""
/trunk/index.ru.php
New file
0,0 → 1,10
<?php
/* Set language to Russian */
$language = 'ru';
$locale = 'ru_RU.UTF-8';
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
 
require_once 'global.php';
require_once 'application/layouts/index/index.phtml';
?>
/trunk/styles/lcars22.css
431,7 → 431,6
background-color: #7d7d7d; /* c9c */
color: #000 !important;
text-decoration: none !important;
text-transform: uppercase;
/* overflow: hidden; */
cursor: pointer !important;
}
440,7 → 439,12
position: absolute;
bottom: 0;
right: 0.5em;
max-width: 3.5em;
overflow: hidden;
cursor: pointer !important;
text-overflow: ellipsis;
text-transform: uppercase;
white-space: nowrap;
}
 
.button.command {
608,6 → 612,8
.multi-display .upper .content .analysis th {
padding: 0 0.4em 0 0.1em;
font-weight: normal;
background-color: #000;
color: #fc0;
text-align: left;
text-transform: uppercase;
white-space: nowrap;
659,9 → 665,13
margin: 0;
height: 1.8em;
border-radius: 0.9em;
text-transform: none;
}
 
.multi-display .commands .button .text
{
text-transform: none !important;
}
 
.multi-display .upper .content .commands .button .text {
right: 1em;
}
/trunk/styles/lcars.css.php
109,7 → 109,7
);
?>
 
*[lang^="x-vulcan-latin"] {
*[lang^="vuh-Latn"] {
font-family: cursive;
}
 
/trunk/index.de.php
4,7 → 4,7
$locale = 'de_DE.UTF-8';
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
 
require_once 'global.php';
require_once 'index.phtml';
require_once 'application/layouts/index/index.phtml';
?>
/trunk/global.php
23,12 → 23,48
/* Cached resource expires in HTTP/1.0 caches 24h after last retrieval */
header('Expires: ' . gmdate('D, d M Y H:i:s', time() + 86400) . ' GMT');
 
// $vulcan = 'x-vulcan-latin';
$vulcan = 'vuh-Latn-Gol-modern';
$languages = array(
'en' => 'English',
'de' => 'Deutsch',
// 'ru' => 'По-русски',
'ru' => 'по-русски',
// 'x-klingon-latin' => array(
// 'key' => 'tlh',
// 'name' => 'tlhIngan Hol'
// ),
$vulcan => array(
'key' => 'vu',
'name' => '<abbr title="Gen-lis">G-l</abbr> Vuhlkansu'
)
);
 
 
/**
* Returns the short language key.
*
* Needed for safely mapping extra-terrestrial languages.
*/
function language_key_short ($key)
{
global $languages;
preg_match('/^[^-]{2,3}/', $key, $matches);
$language = $languages[$key];
return isset($language['key']) ? $language['key'] : $matches[0];
}
 
/**
* Returns the language name.
*
* Needed for safely mapping extra-terrestrial languages.
*/
function language_name ($key)
{
global $languages;
$language = $languages[$key];
return isset($language['name']) ? $language['name'] : $language;
}
 
require_once 'Zend/Loader/StandardAutoloader.php';
$loader = new Zend\Loader\StandardAutoloader(array('autoregister_zf' => true));
$loader->register();
48,26 → 84,31
* @param string $s
* @return string
*/
function tr ($s)
function tr ($s, $lang = null)
{
global $translator;
global $textDomain;
global $language;
 
if ($lang === null)
{
$lang = $language;
}
 
/* DEBUG */
// echo "return \$translator->translate(\"$s\", \"$textDomain\", \"$language\");<br>\n";
 
return $translator->translate($s, $textDomain, $language);
return $translator->translate($s, $textDomain, $lang);
}
 
$menu = array(
'scripts' => array('path' => 'scripts/', 'text' => 'Scripting'),
'scripts' => array('path' => 'scripts/', 'text' => tr('Scripting')),
'es-matrix' => array(
'path' => 'es-matrix',
'text' => 'ES Matrix',
'title' => 'ECMAScript Support Matrix: ' . tr("A comparison of features of ECMAScript implementations")
),
'devel' => array('path' => 'websvn/', 'text' => tr('Software projects')),
'devel' => array('path' => 'wsvn/', 'text' => tr('Software projects')),
'series' => array('path' => "media/video/series/", 'text' => 'Seri-o-meter'),
'ufpdb' => array(
'path' => "ufpdb/index.$language",
/trunk/index.vu.php
New file
0,0 → 1,10
<?php
/* Set language to Modern Golic Vulcan */
$language = 'vuh-Latn-Gol-modern';
$locale = 'en_EN.UTF-8';
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
 
require_once 'global.php';
require_once 'application/layouts/index/index.phtml';
?>
/trunk/index.php
105,15 → 105,32
font-size: 136%;
}
 
#languages .key {
min-width: 0.65em;
.instruction {
line-height: 1.2;
}
 
.group {
width: 9.92em;
}
 
#languages .button {
width: 8.25em;
}
 
#languages .button .key {
min-width: 0.675em;
}
 
#languages .button .text {
max-width: 4.55em;
}
-->
</style>
<?php /*
<script type="text/javascript" src="scripts/builder?src=object,dom,dom/css,dom/css/color,dom/ani,dom/window"></script>
*/ ?>
<script type="text/javascript" src="scripts/builder?src=object,dom/window"></script>
<script type="text/javascript" src="scripts/builder?src=object,dom,dom/xpath,dom/window,dom/xpath,regexp"></script>
<script type="text/javascript" src="application/scripts/vulcan-media-script.js"></script>
<script type="text/javascript">
<?php /*
/* Hardcore Frame Buster
194,8 → 211,58
});
animation.play();
}
*/ ?>
*/
?>
var translatables;
 
function lcars_translate (language)
{
if (!translatables)
{
translatables = jsx.dom.xpath.evaluate(
'.//li[(@lang and (../../*[@id and (@id != "languages")]))'
+ ' or (p and p[@lang])]',
document.body);
}
 
if (!translatables)
{
return;
}
 
var language_prefix = language.match(/^[^-]+/);
 
for (var i = translatables.length; i--;)
{
var translatable = translatables[i];
translatable.style.display =
(translatable.lang.indexOf(language_prefix) == 0
|| translatable.firstChild.lang == language
|| translatable.firstChild.lang.indexOf("vuh") == 0
|| (translatable.firstChild.lang == "en" && language.indexOf("vuh") == 0))
? ""
: "none";
}
}
 
function lcars_translate_reset ()
{
lcars_translate('en');
}
 
var LANG_VULCAN = "<?php echo $vulcan; ?>";
 
function body_load (body)
{
if (typeof body.ontouchstart != 'undefined')
{
body.ontouchstart = function () {};
}
 
lcars_translate_reset();
mediaScript();
}
 
function navigateTo (link)
{
<?php /*
209,7 → 276,7
}
</script>
</head>
<body class="fade-in empty" onload="if (typeof this.ontouchstart != 'undefined') this.ontouchstart = function () {}">
<body class="fade-in empty" onload="body_load(this)">
<div id="LCARS">
<div id="bow">
<div id="bow-top">
238,26 → 305,35
onmouseout="return resetStatus()"></div>
 
<ul id="greeting">
<li style="white-space: nowrap"><p style="text-align: center" lang="x-vulcan-latin">Dif-tor heh smusma</p></li>
<li style="white-space: nowrap"><p style="text-align: center" lang="en">Live long and prosper</p></li>
<li style="white-space: nowrap"><p style="text-align: center" lang="de">Leben Sie lang und erfolgreich</p></li>
<li style="white-space: nowrap"><p style="text-align: center" lang="<?php echo $vulcan; ?>">Dif-tor heh smusma</p></li>
<?php foreach ($languages as $key => $name): ?>
<?php if ($key != $vulcan): ?>
<li style="white-space: nowrap"><p style="text-align: center" lang="<?php echo $key; ?>"><?php echo tr('Live long and prosper', $key); ?></p></li>
<?php endif; ?>
<?php endforeach; ?>
</ul>
 
<ul style="text-align: center">
<li class="instruction" lang="en">Please select your language</li>
<li class="instruction" lang="de">Bitte w&auml;hlen Sie Ihre Sprache</li>
<?php foreach ($languages as $key => $name): ?>
<li class="instruction" lang="<?php echo $key; ?>"><span class="text"><?php echo tr('Please select your language', $key); ?></span></li>
<?php endforeach; ?>
</ul>
 
<div class="group">
<div class="separator">&nbsp;</div>
<ul id="languages">
<li><a href="index.en" class="button right" lang="en"
hreflang="en" accesskey="e"
><span class="key">en</span> <span class="text">English</span></a></li>
<li><a href="index.de" class="button right" lang="de"
hreflang="de" accesskey="d"
<ul id="languages" onmouseout="lcars_translate_reset()">
<?php foreach ($languages as $key => $name): ?>
<li><a href="index.<?php echo language_key_short($key); ?>"
class="button right" lang="<?php echo $key; ?>"
hreflang="<?php echo $key; ?>"
accesskey="<?php echo strtolower($key[0]); ?>"
onfocus="lcars_translate('<?php echo $key; ?>')"
onmouseover="lcars_translate('<?php echo $key; ?>')"
onclick="return navigateTo(this)"
><span class="key">de</span> <span class="text">Deutsch</span></a></li>
onblur="lcars_translate_reset()"
><span class="key"><?php echo language_key_short($key); ?></span>
<span class="text"><?php echo language_name($key); ?></span></a></li>
<?php endforeach; ?>
</ul>
<div style="clear: both"><!-- --></div>
</div>
264,7 → 340,7
 
<?php
$app = 'Language';
require_once 'footer.phtml';
require_once 'application/layouts/index/footer.phtml';
?>
</div>
</body>
/trunk/index.en.php
4,7 → 4,7
$locale = 'en_US.UTF-8';
putenv("LC_ALL=$locale");
setlocale(LC_ALL, $locale);
 
require_once 'global.php';
require_once 'index.phtml';
require_once 'application/layouts/index/index.phtml';
?>
/trunk/application/scripts/vulcan-media-script.js
New file
0,0 → 1,151
var vulcan_texts = null;
 
var media_map = {
S: "?",
T: "Y",
P: "]",
K: "ß",
R: "²",
L: "ζ",
A: "Ŧ",
D: "S",
O: "Ŋ",
E: "σ",
V: "³",
U: "¶",
H: "ξ",
G: "^",
Ch: ")",
I: "ƒ",
N: "(",
Z: "ε",
M: "δ",
Y: "ς",
F: "[",
W: "¬",
B: "Ξ",
SH: "§",
TH: "λ",
KH: "Φ",
ZH: "ω",
TS: "θ",
DZH: "C",
J: "C",
KS: "φ",
X: "φ",
LL: "μ",
M: "&",
NG: "ρ",
NN: "þ",
SS: "β",
TCH: "M",
", ": " - ",
":": " – ",
" – ": " – ",
" — ": " – ",
"…": "—",
"~": "=",
"!": "..",
"!!!": "...",
"(": "|",
")": "|",
"[": "||",
"]": "||",
"&": "•",
"°": "¯"
};
 
//jsx.object.flip = function (obj) {
// var flipped = jsx.object.inheritFrom(obj);
// var keys = jsx.object.getKeys(obj);
//
// for (var i = 0, len = keys.length; i < len; ++i)
// {
// var key = keys[i];
// var value = obj[key];
// if (typeof value != "function")
// {
// flipped[value] = key;
// }
// }
//
// return flipped;
//};
 
var media_caption;
 
function mediaScript (button)
{
vulcan_texts = jsx.dom.xpath.evaluate(
'.//*[@lang = "' + LANG_VULCAN + '"]//*[(not(@lang) or (@lang = "' + LANG_VULCAN + '")) and (@class = "text")]',
document.body);
 
if (!vulcan_texts)
{
return;
}
 
var previous_parent = null;
 
for (var i = 0, len = vulcan_texts.length; i < len; ++i)
{
var text = vulcan_texts[i];
 
text.style.textTransform = "none";
if (!text.hasAttribute("data-html"))
{
text.setAttribute("data-html", text.innerHTML);
 
if (!text.title)
{
text.title = text.textContent;
}
}
 
var text_nodes = jsx.dom.xpath.evaluate(
'.//text()[parent::*[not(@lang) or (@lang = "' + LANG_VULCAN + '")]]',
text);
 
for (var j = 0, len2 = text_nodes.length; j < len2; ++j)
{
var text_node = text_nodes[j];
 
if (text_node.parentNode.lang != LANG_VULCAN)
{
text_node.nodeValue = text_node.nodeValue.replace(
/Tch|Ch|Sh|Th|Kh|Zh|Ts|Dzh|Ks|Ll|Ng|Nn|Ss| [–—] |, |!!!|[!STPKRLADOEVUHGINZMYFWBJX:()[\]&°…~]/gi,
function (s) {
return jsx.object.getProperty(media_map, s.toUpperCase(), s);
});
}
}
 
text.parentNode.lang = "vuh-Media-Gol-modern";
}
 
if (button)
{
media_caption = button.firstChild.textContent;
button.firstChild.textContent = "Latin-Zukitan";
button.onclick = function () {
latinScript(this);
};
}
}
 
function latinScript (button)
{
for (var i = 0, len = vulcan_texts.length; i < len; ++i)
{
var text = vulcan_texts[i];
 
text.style.textTransform = "";
text.innerHTML = text.getAttribute('data-html');
text.parentNode.lang = "vuh-Latn-Gol-modern";
}
 
button.firstChild.textContent = media_caption;
button.onclick = function () {
mediaScript(this);
};
}
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: trunk/application/scripts/ua.js
===================================================================
--- trunk/application/scripts/ua.js (revision 0)
+++ trunk/application/scripts/ua.js (revision 210)
@@ -0,0 +1,36 @@
+(function () {
+ var ua = navigator.userAgent;
+ document.write('<span id="ua" title="' + ua + '">' + ua + '<\/span>');
+
+ var oUA;
+ var tUA = _runAsync(function () {
+ if (typeof oUA == "undefined")
+ {
+ oUA = document.getElementById("ua");
+ }
+
+ if (oUA)
+ {
+ var ua = navigator.userAgent;
+
+ if (oUA.innerHTML != ua)
+ {
+ oUA.innerHTML = ua;
+ }
+
+ /* Converts CREs */
+ var oUAhtml = oUA.innerHTML
+ if (oUA.title != oUAhtml)
+ {
+ oUA.title = oUAhtml;
+ }
+ }
+
+ tUA = this.run();
+ }, 1000);
+
+ _addEventListener(document, "unload", function () {
+ tUA.unset();
+ tUA = null;
+ });
+}());
\ No newline at end of file
/trunk/application/scripts/ua.js
Property changes:
Added: svn:mime-type
## -0,0 +1 ##
+text/plain
\ No newline at end of property
Index: trunk/application/layouts/index/index.phtml
===================================================================
--- trunk/application/layouts/index/index.phtml (revision 0)
+++ trunk/application/layouts/index/index.phtml (revision 210)
@@ -0,0 +1,174 @@
+<!DOCTYPE html>
+<html lang="<?php echo $language; ?>">
+ <head>
+ <title>Home — PointedEars’ Website</title>
+
+ <link rel="SHORTCUT ICON" href="favicon.ico">
+
+ <!-- Browsers: Character Encoding -->
+ <meta charset="UTF-8">
+ <meta http-equiv="content-type" content="text/html; charset=UTF-8">
+
+ <!-- Robots: Index, Subordinated Files, Description, Author,
+ Keywords, Document Date -->
+ <meta name="robots" content="index">
+ <meta name="robots" content="follow">
+<?php /*
+ <meta name="description"
+ content="PointedEars' Website: <?php
+ $description = tr("Access to the United Federation of Planets Databanks, an online songbook and software downloads always worth a click. Coming soon: The best internet links categorized and much more via a bilingual (English/German) LCARS terminal styled user interface that can be also used to surf the web anonymously! Bookmark NOW!");
+ echo $description;
+ ?>">
+*/ ?>
+ <meta name="author" content="Thomas ‘PointedEars’ Lahn">
+
+ <?php /* No localization of keywords at the time */ ?>
+ <meta name="keywords"
+ content="<?php /* Appz, */ ?>Download, Links, LCARS, Star Trek, TNG, The Next Generation, DS9, Deep Space 9, Deep Space Nine, VOY, Voyager, UFP, Federation, United Federation of Planets, Database, Databank, <?php /* Song, Songbook, Surf, anonymously, */?>Raumschiff Enterprise, DNG, Die n&auml;chste Generation, VFP, F&ouml;deration, Vereinte F&ouml;deration der Planeten, Datenbasis, Datenbank<?php /*, Lied, Liedtext, surfen, anonym */ ?>">
+<?php /*
+ <meta name="keywords" http-equiv="Keywords" lang="de" content="">
+ <meta name="keywords" http-equiv="Keywords" lang="en-us" content="">
+ <meta name="keywords" http-equiv="Keywords" lang="en" content="">
+*/ ?>
+ <meta name="revisit-after" content="3 days">
+
+ <!-- Robots: Dublin Core Metadata (http://purl.org/metadata/dublin_core) -->
+ <meta name="dcterms.title" content="PointedEars’ Website">
+ <meta name="dcterms.creator" content="Thomas ‘PointedEars’ Lahn">
+ <meta name="dcterms.subject" content="Private Web site">
+<?php /*
+ <meta name="dcterms.description"
+ content="PointedEars' Website: <?php echo $description; ?>">
+*/ ?>
+ <meta name="dcterms.publisher" content="PointedEars">
+ <meta name="dcterms.date" content="2002-05-23T10:56:00+02:00">
+ <meta name="dcterms.created" content="2002-05-23">
+ <meta name="dcterms.modified" content="<?php echo gmdate('Y-m-dTH:i:sO', $modi); ?>">
+<?php /*
+ <meta name="dcterms.type" content="">
+ <meta name="dcterms.format" content="">
+*/ ?>
+ <meta name="dcterms.identifier" content="http://pointedears.de/index.<?php echo $language; ?>">
+ <meta name="dcterms.language" content="<?php echo $language; ?>">
+ <meta name="dcterms.rightsHolder"
+ content="Copyright © 2002&#8211;<?php echo gmdate('Y', $modi); ?> Thomas&nbsp;Lahn.">
+ <meta name="dcterms.rights"
+ content="<?php echo tr("All rights reserved."); ?> <?php echo tr("The author is not responsible for the availability and the content of websites referred by this site, and not responsible for the availability and the content of websites referred by those sites. Whereever outsourced material is used, copyright or trademark infringement is not intended. Third parties who claim copyrights or trademarks used herein are asked to send an informal email to webmaster@PointedEars.de for immediate removal or modification of the respective material on the website instead of reminding the author of usage of this material. Thank you."); ?>">
+
+<?php /*
+ <!-- <link rel="stylesheet" type="text/css" href="styles/lcars.css"> -->
+ <!-- <link rel="stylesheet" type="text/css" href="styles/lcars21.css"> -->
+ <!-- No optimization here: Resource Builder does not handle URI parameters -->
+*/ ?>
+ <link rel="stylesheet" type="text/css" href="styles/lcars-basic">
+<?php
+ $isLocal = ($_SERVER['HTTP_HOST'] === 'localhost');
+ $printable = (isset($_GET['printable']) && $_GET['printable'] === '1');
+ if (!$printable)
+ {
+?>
+ <link rel="stylesheet" type="text/css" href="styles/lcars22<?php
+ if (isset($_GET['ani']) && $_GET['ani'] !== '')
+ {
+ echo '?ani=' . $_GET['ani'];
+ }
+ ?>">
+<?php
+ }
+?>
+ <!--[if lt IE 7]>
+ <link rel="stylesheet" type="text/css" href="styles/lcars22-ie6.css">
+ <![endif]-->
+ <style type="text/css">
+ <!--
+ p {
+ max-width: 100%;
+ }
+ -->
+ </style>
+
+ <script type="text/javascript" src="scripts/builder?src=object,dom,dom/css,dom/storage,dom/events,dom/geolocation,dom/timeout,dom/widgets,dom/window,dom/xpath,http,regexp,lcars,../application/scripts/vulcan-media-script<?php
+ if ($isLocal)
+ {
+ ?>&amp;verbose=1&amp;debug=1<?php
+ }
+ ?>"></script>
+ <script type="text/javascript">
+<?php
+ /*
+ var ms1Day = 60*60*24*1000; // ms for 1 days = 60sec*60min*24hours*1000ms
+ var msLeaveDays = ms1Day*6;
+ var ms30Days=ms1Day*30;
+ var delta;
+ var newTime=new Date();
+ var msTime=newTime.getTime();
+ var msExpire=msTime+ms30Days;
+ var expireTime=new Date(msExpire);
+
+ cookieVal=
+ "savedTime=" + newTime.toGMTString()
+ + "; expires=" + expireTime.toGMTString()
+ + "; domain=anybody"
+ + "; path=/";
+ document.cookie= cookieVal;
+ */
+?>
+ var TEXT_NOT_AVAILABLE = "<?php echo tr('N/A'); ?>";
+
+ function body_load ()
+ {
+ if (typeof this.ontouchstart != 'undefined')
+ {
+ this.ontouchstart = function () {};
+ }
+
+ if (fullscreen.isSupportedBy(document.documentElement))
+ {
+ var fullscreenLI = jsx.dom.getElementById("cmd3");
+ fullscreenLI.firstChild.style.cursor = "";
+ }
+
+ jsx.dom.geolocation.setTexts({
+ TEXT_LATITUDE: "<?php echo tr('Latitude'); ?>",
+ TEXT_NORTH_ABBR: "<?php echo tr('N'); ?>",
+ TEXT_SOUTH_ABBR: "<?php echo tr('S'); ?>",
+ TEXT_LONGITUDE: "<?php echo tr('Longitude'); ?>",
+ TEXT_WEST_ABBR: "<?php echo tr('W'); ?>",
+ TEXT_EAST_ABBR: "<?php echo tr('E'); ?>",
+ TEXT_LAT_LNG_ACCURACY: "<?php echo tr('Lat/Lng Accuracy'); ?>",
+ TEXT_ALTITUDE: "<?php echo tr('Altitude'); ?>",
+ TEXT_ALT_ACCURACY: "<?php echo tr('Alt. Accuracy'); ?>",
+ TEXT_SPEED: "<?php echo tr('Speed'); ?>",
+ TEXT_HEADING: "<?php echo tr('Heading'); ?>",
+ TEXT_NOT_AVAILABLE: TEXT_NOT_AVAILABLE
+ });
+
+ lcars.content = new lcars.Content(null, null, {
+ texts: {
+ TEXT_CURRENT_COORDS: "<?php echo tr('Your current coordinates on Terra'); ?>"
+ }
+ });
+
+ lcars.multiDisplay = new lcars.MultiDisplay(null, null, {
+ texts: {
+ TEXT_NOT_AVAILABLE: TEXT_NOT_AVAILABLE,
+ TEXT_CURRENT_COORDS: "<?php echo tr('Your current coordinates on Terra'); ?>",
+ TEXT_ACCURACY: "<?php echo tr('accuracy'); ?>"
+ },
+ content: lcars.content
+ });
+
+ var cmd4 = document.getElementById("cmd4");
+ if (cmd4 && cmd4.lastChild && typeof cmd4.lastChild.onclick == "function")
+ {
+ jsx.dom.timeout.runAsync(function () { cmd4.lastChild.onclick(); }, 1000);
+ }
+ }
+ </script>
+ <?php /* <bgsound src="media/interface/sound/beginop.wav" loop="infinite"> */ ?>
+ </head>
+ <body class="fade-in" onload="body_load()">
+ <?php require_once 'content.phtml'; ?>
+ <?php require_once 'multi-display.phtml'; ?>
+ </body>
+</html>
Index: trunk/application/layouts/index/content.phtml
===================================================================
--- trunk/application/layouts/index/content.phtml (revision 0)
+++ trunk/application/layouts/index/content.phtml (revision 210)
@@ -0,0 +1,67 @@
+ <div id="content">
+ <h1 style="text-align: center" lang="<?php echo $language; ?>"><img
+ src="media/video/img/vulcan_hand-black-bg.png"
+ width="120"
+ height="168"
+ alt="<?php echo tr("Vulcan greeting"); ?>"
+ title="<?php echo tr("Vulcan greeting"); ?>"
+ style="border: none; cursor: default"
+ onmouseover="return setStatus(this.title)"
+ onmouseout="return resetStatus()"><br>
+ <span class="text"><?php echo tr("Welcome to PointedEars' Website"); ?></span></h1>
+<?php
+ if (!$printable)
+ {
+?>
+ <p class="instruction" style="font-size: 100%; text-align: center" lang="<?php echo $language; ?>"><span class="text"><?php
+ echo sprintf(
+ tr("This site uses recent <a href='https://developer.mozilla.org/en-US/docs/'"
+ . " title='Learn more: Mozilla Developer Network'>Web technologies</a>."
+ . " You can use the <a href='index.%s?printable=1'>%s</a>"
+ . " if it is not displayed properly with your software."),
+ $language,
+ tr('Printable version'));
+ ?></span></p>
+<?php
+ }
+
+ /*
+ <p>
+ | <a href="leisure/" target="_top"
+ >Freizeit-Datenbank</a>
+ | <a href="mozilla/" target="_top">Mozilla</a>
+ | <a href="poetry/" target="_top">Poesie</a>
+ */
+
+ /*
+ | [<abbr title="nur in englischer Sprache verf&uuml;gbar"
+ >en</abbr>]
+ | <a href="selfhtml.de/" target="_top">SELFHTML.DE</a>
+ */
+ /*
+ | <a href="lyrics/" target="_top">Songbook</a>
+ | </p>
+ */
+ /*
+ <p><a href="about/worm.de.html" target="_top"
+ >Seltsame E-Mails bekommen?</a></p>
+ */
+/*
+ <noscript>
+ <a
+ href="http://pointedears.de/"
+ title="PointedEars' Website"
+ >Diese Website zu Ihren Lesezeichen hinzuf&uuml;gen</a>
+ </noscript>
+
+ <!-- Klicken Sie hier, falls Sie nach 5 Sekunden nicht automatisch
+ weitergeleitet werden. -->
+*/
+?>
+<?php
+ $app = "Welcome/$language";
+ require_once 'footer.phtml';
+ /* embed src="media/interface/speech/de/warten.wav" width="0" height="0"
+ hidden="true" autostart="true" dir="ltr" lang="de" */
+?>
+ </div>
\ No newline at end of file
Index: trunk/application/layouts/index/multi-display.phtml
===================================================================
--- trunk/application/layouts/index/multi-display.phtml (revision 0)
+++ trunk/application/layouts/index/multi-display.phtml (revision 210)
@@ -0,0 +1,551 @@
+ <div id="LCARS">
+<?php /*
+ <div id="button-grid" style="position: absolute; opacity: 0.3">
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+
+ <a class="button" style="display: block; clear: left; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ <a class="button" style="display: block; float: left"><span class="text">Button 1</span></a>
+ </div>
+*/ ?>
+ <div id="bow">
+ <div id="bow-top">
+ <div class="separator-left">&nbsp;</div>
+ <div class="text"><span>PointedEars’ Website</span></div>
+ </div>
+ <div id="bow-top-left">
+ <div class="concave">&nbsp;</div>
+ <div style="position: absolute; top: 3.2em; left: 0; background-color: black">
+ <div class="bow" style="margin-top: 0.2em; width: 8em; height: 1em">&nbsp;</div>
+ </div>
+ </div>
+ <div id="bottom">
+ <div id="bow-bottom">
+ <div class="concave">&nbsp;</div>
+ <div class="spacer">&nbsp;</div>
+ </div>
+ </div>
+
+ <div class="menu-container">
+ <nav class="menu">
+ <ul>
+ <?php foreach ($languages as $key => $name): ?>
+ <li><a href="index.<?php echo language_key_short($key); ?>?ani=0"
+ lang="<?php echo $key; ?>" hreflang="<?php echo $key; ?>"
+ class="button<?php if ($language === $key) { ?> selected<?php } ?>"
+ tabindex="2"><span class="text"><?php echo language_name($key); ?></span></a></li>
+ <?php endforeach; ?>
+ </ul>
+ <div class="bow" style="margin-bottom: 0.4em; height: 0.4em">&nbsp;</div>
+ <ul style="margin-bottom: 1.2em">
+ <li><a href="<?php echo $menu['scripts']['path']; ?>" target="_top" class="button"
+ lang="<?php echo $language; ?>"
+ ><span class="text"><?php echo $menu['scripts']['text']; ?></span></a></li>
+ <li><a href="<?php echo $menu['es-matrix']['path']; ?>" target="_top" class="button"
+ title="<?php echo $menu['es-matrix']['title']; ?>"
+ ><span class="text"><?php echo $menu['es-matrix']['text']; ?></span></a></li>
+ <li><a href="<?php echo $menu['devel']['path']; ?>" target="_top" class="button"
+ lang="<?php echo $language; ?>"
+ ><span class="text"><?php echo $menu['devel']['text']; ?></span></a></li>
+ </ul>
+ <ul style="margin-bottom: 0.2em">
+ <li><a href="psf/" target="_top"
+ class="button ancillary"
+ ><abbr title="<?php echo tr("PointedEars' Standard Frases"); ?>"
+ class="text">psf</abbr></a></li>
+ <li><a href="<?php echo $menu['series']['path']; ?>" target="_top" class="button ancillary"
+ title="<?php echo tr('List of recommended TV shows and episodes, with logos in CSS'); ?>"
+ ><span class="text"><?php echo $menu['series']['text']; ?></span></a></li>
+ <li><a href="<?php echo $menu['ufpdb']['path']; ?>" target="_top" class="button database"
+ ><abbr title="<?php echo $menu['ufpdb']['title']; ?>"
+ class="text"><?php echo $menu['ufpdb']['text']; ?></abbr></a></li>
+ </ul>
+ <div style="position: relative; margin-bottom: 1.2em">
+ <div class="bow" style="height: 0.8em">&nbsp;</div>
+ </div>
+ <ul>
+ <li><a href="http://climateapps2.oerc.ox.ac.uk/cpdnboinc/show_user.php?userid=648544"
+ target="_top" class="button secondary"
+ title="<?php echo tr("The world’s largest climate forecasting experiment for the 21st century"); ?>"
+ ><span class="text">climateprediction.net</span></a></li>
+ <li><a href="http://fah-web2.stanford.edu/cgi-bin/main.py?qtype=userpage&username=Thomas_Lahn"
+ target="_top" class="button secondary"
+ title="<?php echo tr("Distributed computing to understand protein folding, protein aggregation, and related diseases"); ?>"
+ ><span class="text">Folding at home</span></a></li>
+ <li><a href="http://lhcathomeclassic.cern.ch/sixtrack/show_user.php?userid=221181"
+ target="_top" class="button secondary"
+ title="<?php echo tr("Particle physics research with the Large Hadron Collider at CERN"); ?>"
+ ><span class="text">LHC at home</span></a></li>
+ <li><a href="http://setiathome.berkeley.edu/show_user.php?userid=378921"
+ target="_top" class="button secondary"
+ title="<?php echo tr("The Search for Extra-Terrestrial Intelligence at HOME"); ?>"
+ ><span class="text">SETI at home</span></a></li>
+ <li><a href="http://stackoverflow.com/users/855543/pointedears"
+ target="_top" class="button secondary"
+ title="<?php echo tr("Me on Stack Overflow"); ?>"
+ ><span class="text">Stack Overflow</span></a></li>
+ <li><a href="https://twitter.com/PointedEars2"
+ target="_top" class="button secondary"
+ title="<?php echo tr("Me on Twitter"); ?>"
+ ><span class="text">Twitter</span></a></li>
+ <li><a href="<?php echo tr("http://en.wikipedia.org/wiki/Special:Contributions/PointedEars"); ?>"
+ target="_top" class="button secondary"
+ title="<?php echo tr("My contributions to Wikipedia"); ?>"
+ ><span class="text"><?php echo tr('Wikipedia'); ?></span></a></li>
+ </ul>
+<?php /*
+ <script type="text/javascript">
+ var sURL = location.href;
+ var sFavAnchorTitle =
+ "Klicken Sie hier, um PointedEars' Website Ihren Favoriten"
+ + " hinzuzufügen";
+ var sOtherAnchorTitle =
+ "Klicken Sie hier mit der rechten Maustaste, um PointedEars' Website"
+ + " Ihren Lesezeichen hinzuzufügen";
+ var sFavoriteTitle = "PointedEars' Website";
+
+ if (jsx.object.isHostMethod(jsx.global.window, "external", "AddFavorite"))
+ {
+ document.write(
+ '<div style="position: relative; margin-top: 1em; border-bottom: 0.2em solid transparent">'
+ + ' <div class="bow" style="width: 8em; height: 1em">&nbsp;<\/div>'
+ + ' <div class="bow" style="position: absolute; top: 0; left: 8.2em; width: 2em; height: 1em">&nbsp;<\/div>'
+ + '</div>'
+ + '<a href="javascript:window.external.AddFavorite('
+ + ' sURL, sFavoriteTitle);" title="' + sFavAnchorTitle + '"'
+ + ' class="button"'
+ + ' onclick="window.external.AddFavorite('
+ + ' sURL, sFavoriteTitle); return false"'
+ + ' onmouseover="return setStatus(sFavAnchorTitle)"'
+ + ' onmouseout="return resetStatus()"'
+ + '><span class="text">Favorit<\/span><\/a>');
+ }
+ </script>
+*/ ?>
+ </nav>
+ </div>
+ </div>
+ <div id="connectors">
+ <div class="bow top left">&nbsp;</div>
+ <div class="bow top right">&nbsp;</div>
+
+ <div class="bow mid left">&nbsp;</div>
+ <div class="bow mid right">&nbsp;</div>
+ </div>
+ <div class="multi-display">
+ <div class="upper">
+ <div class="content">
+ <div class="title" id="title" lang="<?php echo $language; ?>"><span class="text"><?php echo tr('Home'); ?></span></div>
+ <div class="analysis" id="analysis">
+ <table>
+ <tr>
+ <th lang="<?php echo $language; ?>"><span class="text"><?php echo tr('Display'); ?>:</span></th>
+ <td lang="<?php echo $language; ?>"><script type="text/javascript">
+ var _addEventListener = jsx.dom.addEventListener;
+ var _runAsync = jsx.dom.timeout.runAsync;
+ var ID_SCREEN_DIM = 'screenDim';
+ var ID_AVAIL_DIM = 'availDim';
+ var ID_INNER_DIM = 'innerDim';
+
+ var dim = (function () {
+ var screenInfo = jsx.dom.window.screenInfo;
+
+ return {
+ getScreenText: function () {
+ var screenDim = screenInfo.getDim();
+ return screenDim.width + "×" + screenDim.height;
+ },
+
+ getAvailText: function () {
+ var availDim = screenInfo.getAvailDim();
+ return <?php echo sprintf(tr('%s + "x" + %s + " available"'), 'availDim.width', 'availDim.height'); ?>;
+ },
+
+ getInnerText: function () {
+ var innerDim = screenInfo.getInnerDim();
+ return ", " + <?php echo sprintf(tr('%s + "x" + %s + " used"'), 'innerDim.width', 'innerDim.height'); ?>;
+ },
+
+ getColorDepthText: function () {
+ var colorDepth = screenInfo.getColorDepth();
+ return colorDepth
+ ? '2<sup>' + colorDepth + "<\/sup> <?php echo tr('colors'); ?>"
+ : "";
+ }
+ };
+ }());
+
+ (function () {
+ var screenDimText = dim.getScreenText();
+ var availDimText = dim.getAvailText();
+ var innerDimText = dim.getInnerText();
+ var colorDepthText = dim.getColorDepthText();
+ var displayInfo = (screenDimText || availDimText || innerDimText || colorDepthText)
+ ? (screenDimText ? <?php echo sprintf("'" . tr('%s pixels') . "'", "<span id=\"' + ID_SCREEN_DIM + '\">' + screenDimText + '<\/span>' + '"); ?> : "")
+ + (availDimText ? ' (<span id="' + ID_AVAIL_DIM + '">' + availDimText + "<\/span>" : "")
+ + (innerDimText ? '<span id="' + ID_INNER_DIM + '">' + innerDimText + "<\/span>)" : "")
+ + (colorDepthText ? ' ×&nbsp;<span id="colorDepth">' + colorDepthText + "<\/span>" : "")
+ : TEXT_NOT_AVAILABLE;
+
+ /* FIXME: Convert HTML to text, update whole title text */
+ document.write('<span class="text">' + displayInfo + '<\/span>');
+
+ var oColorDepth;
+ var tColor = _runAsync(function () {
+ if (typeof oColorDepth == "undefined")
+ {
+ oColorDepth = document.getElementById("colorDepth");
+ }
+
+ if (oColorDepth)
+ {
+ var colorDepthText = dim.getColorDepthText();
+ <?php /* FIXME: Also update title attribute value */ ?>
+ if (oColorDepth.innerHTML != colorDepthText)
+ {
+ oColorDepth.innerHTML = colorDepthText;
+ }
+ }
+
+ tColor = this.run();
+ }, 1000);
+
+ _addEventListener(document, "unload", function () {
+ tColor.unset();
+ tColor = null;
+ });
+ }());
+ </script><noscript><?php echo tr('N/A'); ?></noscript></td>
+ </tr>
+ <tr>
+ <th><?php echo tr('User Agent'); ?>:</th>
+ <td><script type="text/javascript" src="application/scripts/ua.js"></script><noscript><?php
+ echo tr('N/A'); ?></noscript></td>
+ </tr>
+ <tr>
+ <th><?php echo tr('Features'); ?>:</th>
+ <td><script type="text/javascript">
+ var fullscreen = jsx.dom.window.fullscreen;
+
+ (function () {
+ function getFeatures ()
+ {
+ var features = [];
+ if (typeof document.cookie != "undefined")
+ {
+ var cookiesText = "<?php echo tr('Cookies'); ?>"
+ if (navigator.cookieEnabled)
+ {
+ if (document.cookie)
+ {
+ var cookies = document.cookie;
+ cookies = cookies.split(/\s*;\s*/);
+ features.push('<a href="#" title="'
+ + cookies.join("&#13;&#10;")
+ + '"'
+ + ' onclick="window.alert(\'<?php echo tr('Cookies for'); ?> ' + document.domain + '\\n\\n' + cookies.join("\\n") + '\'); return false">' + cookiesText + '<\/a>');
+ }
+ else
+ {
+ features.push('<span class="unavailable"'
+ + ' title="<?php echo tr('Cookies supported, but no data for this site'); ?>"'
+ + '>' + cookiesText + '<\/span>');
+ }
+ }
+ else
+ {
+ features.push('<span class="offline"'
+ + ' title="<?php echo tr('Cookies supported, but disabled'); ?>"'
+ + '>' + cookiesText + '<\/span>');
+ }
+ }
+
+ if (fullscreen.isSupportedBy(document.documentElement))
+ {
+ features.push("<span lang='<?php echo $language; ?>'><span class='text'><?php echo tr('Fullscreen'); ?><\/span><\/span>");
+ }
+
+ if (navigator.webkitGetGamepads && navigator.webkitGetGamepads().length)
+ {
+ features.push("<?php echo tr('Gamepad'); ?>");
+ }
+
+ if (jsx.dom.geolocation.isAvailable())
+ {
+ features.push('<a href="#" title="<?php echo tr('Get location'); ?>"'
+ + ' onclick="return lcars.multiDisplay.geolocate(\'<?php echo tr('Geolocation'); ?>\', \'<?php echo $language; ?>\')"'
+ + '><?php echo tr('Geolocation'); ?><\/a>');
+ }
+
+ if (typeof navigator.javaEnabled != "undefined" && navigator.javaEnabled())
+ {
+ features.push("Java");
+ }
+
+ var storage = jsx.dom.storage;
+ if (storage.localStorage.isSupported()) features.push("Local Storage");
+
+ if (navigator.plugins)
+ {
+ if (navigator.plugins.length > 0)
+ {
+ features.push('<span title="'
+ + navigator.plugins.length
+ + ' <?php echo tr('plugins installed'); ?>">Plugins<\/span>');
+ }
+ else
+ {
+ features.push('<span class="unavailable"'
+ + ' title="<?php echo tr('Plugins supported, but none detected'); ?>"'
+ + '>Plugins<\/span>');
+ }
+ }
+
+ if (storage.sessionStorage.isSupported())
+ {
+ features.push("Session Storage");
+ }
+
+ if (typeof window.ontouchstart != "undefined") features.push("Touch");
+ return features.join(" &#8226; ");
+ }
+
+ function stripTags (s)
+ {
+ return s.replace(/<[^>]+>/g, "");
+ }
+
+ var sFeatures = getFeatures();
+ document.write('<span id="features" title="' + stripTags(sFeatures) + '">' + sFeatures + '<\/span>');
+
+ var oFeatures;
+ var oFeaturesHtml;
+ var tFeatures = _runAsync(function () {
+ if (typeof oFeatures == "undefined")
+ {
+ oFeatures = document.getElementById("features");
+ }
+
+ if (oFeatures)
+ {
+ var sNewFeatures = getFeatures();
+
+ if (!oFeaturesHtml)
+ {
+ oFeaturesHtml = document.createElement("span");
+ }
+
+ if (oFeaturesHtml)
+ {
+ oFeaturesHtml.innerHTML = sNewFeatures;
+ sNewFeatures = oFeaturesHtml.innerHTML;
+ }
+
+ if (oFeatures.innerHTML != sNewFeatures)
+ {
+ oFeatures.innerHTML = sNewFeatures;
+ }
+
+ /* Converts CREs */
+ var newTitle = stripTags(oFeatures.innerHTML)
+ if (oFeatures.title != newTitle)
+ {
+ oFeatures.title = newTitle;
+ }
+ }
+
+ tFeatures = this.run();
+ }, 1000);
+ }());
+
+ _addEventListener(document, "unload", function () {
+ tFeatures.unset();
+ tFeatures = null;
+ });
+
+ var windowText = "<?php echo tr("Window"); ?>";
+ </script><noscript><?php echo tr('N/A'); ?></noscript></td>
+ </tr>
+ </table>
+ </div>
+ <ul class="commands">
+ <li id="cmd1"><a href="index.php"
+ title="Language selection"
+ tabindex="1"
+ class="button left right"
+ onmouseover="return setStatus(this.title + ': ' + this.href)"
+ onmouseout="return resetStatus()"
+ onfocus="return this.onmouseover()"
+ onblur="return this.onmouseout()"
+ ><abbr class="text" title="Language selection">Language</abbr></a></li>
+ <li id="cmd2"><a href="index.<?php echo $language; ?>?printable=1"
+ title="<?php echo tr('Printable version'); ?>"
+ tabindex="1"
+ class="button left right"
+ onmouseover="return setStatus(this.title + ': ' + this.href)"
+ onmouseout="return resetStatus()"
+ onfocus="return this.onmouseover()"
+ onblur="return this.onmouseout()"
+ lang="<?php echo $language; ?>"
+ ><span class="text"><?php echo tr("Printable"); ?></span></a></li>
+ <li id="cmd3"><div class="button left right"
+ style="cursor: not-allowed !important"
+ onclick="fullscreen.requestOn(document.documentElement, this)"
+ onkeyup="if (event.keyCode == 13) { this.onclick(); }"
+ lang="<?php echo $language; ?>"
+ ><span class="text"><script type="text/javascript">
+ var cmd3;
+ if (fullscreen.isSupportedBy(document.documentElement))
+ {
+ _addEventListener(window, "load", function () {
+ if (typeof cmd3 == "undefined")
+ {
+ cmd3 = jsx.dom.getElementById("cmd3");
+ }
+
+ if (cmd3)
+ {
+ cmd3.firstChild.tabIndex = "1";
+ }
+ });
+
+ var fullscreenText = "<?php echo tr("Fullscreen"); ?>";
+ document.write(fullscreenText);
+ }
+
+ var oScreenDim;
+ var oAvailDim;
+ var oInnerDim;
+ var _gEBI = jsx.dom.getElementById;
+ var previousIsFullscreen;
+ var oldHandler;
+
+ _addEventListener(window, "resize", function () {
+ <?php /* FIXME: Also update title attribute value */ ?>
+ if (typeof oScreenDim == "undefined") oScreenDim = _gEBI(ID_SCREEN_DIM);
+ if (oScreenDim) oScreenDim.innerHTML = dim.getScreenText();
+
+ if (typeof oAvailDim == "undefined") oAvailDim = _gEBI(ID_AVAIL_DIM);
+ if (oAvailDim) oAvailDim.innerHTML = dim.getAvailText();
+
+ if (typeof oInnerDim == "undefined") oInnerDim = _gEBI(ID_INNER_DIM);
+ if (oInnerDim) oInnerDim.innerHTML = dim.getInnerText();
+
+ if (fullscreen.isSupportedBy(document.documentElement))
+ {
+ var nowIsFullscreen = fullscreen.isFullscreen();
+ if (nowIsFullscreen != previousIsFullscreen)
+ {
+ if (typeof cmd3 == "undefined")
+ {
+ cmd3 = document.getElementById("cmd3");
+ }
+
+ var target = cmd3.firstChild;
+ var textTarget = target.firstChild;
+ if (nowIsFullscreen)
+ {
+ oldHandler = target.onclick;
+ target.onclick = function () {
+ fullscreen.cancel();
+ };
+ textTarget.textContent = "<?php echo tr("Window"); ?>";
+ }
+ else
+ {
+ target.onclick = oldHandler;
+ textTarget.textContent = fullscreenText;
+ }
+
+ previousIsFullscreen = nowIsFullscreen;
+ }
+ }
+ });
+ </script></span></div></li>
+ <li id="cmd4"><script type="text/javascript">
+ var LANG_VULCAN = "<?php echo $vulcan; ?>";
+ </script><script type="text/javascript" src="application/scripts/vulcan-media-script.js"></script><div
+ class="button left right"<?php
+ if ($language == $vulcan)
+ {
+ ?> tabindex="1" onclick="mediaScript(this)"<?php
+ }
+ else
+ {
+ ?> style="cursor: not-allowed !important"<?php
+ }
+ ?>><span class="text"><?php
+ echo $language == $vulcan ? 'Hitra-Zukitan' : '&nbsp;';
+ ?></span></div></li>
+ </ul>
+ </div>
+ <div class="elbo-button">
+ <span class="text" title="<?php echo tr("Date of last modification"); ?>"
+ ><?php echo gmdate('Ym.d', $modi); ?></span>
+ </div>
+ <div class="elbo" lang="<?php echo $language; ?>">
+ <span class="text"><abbr title="<?php echo tr('Library Computer Access and Retrieval System'); ?>"><?php echo tr('LCARS'); ?></abbr> PE-22A</span>
+ <div class="concave">&nbsp;</div>
+ </div>
+ <div class="border">
+ <div class="left">&nbsp;</div>
+ <div class="right">&nbsp;</div>
+ </div>
+ </div>
+ <div class="lower">
+ <div class="elbo">
+ <div class="concave">&nbsp;</div>
+ </div>
+ <div class="bg">&nbsp;</div>
+ <div class="border-container">
+ <div class="border">
+ <div class="left">&nbsp;</div>
+ <div class="right">&nbsp;</div>
+ </div>
+ </div>
+ </div>
+ </div>
+ </div>
Index: trunk/application/layouts/index/footer.phtml
===================================================================
--- trunk/application/layouts/index/footer.phtml (revision 0)
+++ trunk/application/layouts/index/footer.phtml (revision 210)
@@ -0,0 +1,39 @@
+ <script type="text/javascript">
+ function mailStatus ()
+ {
+ return setStatus("<?php echo tr("Send your feedback to PointedEars"); ?>");
+ }
+ </script>
+ <hr style="height: 0; border-width: 1px 0 0 0; width: 100%">
+ <p style="text-align: center" lang="<?php echo $language; ?>"><span class="text"><?php echo sprintf(
+ tr("Original LCARS design by"
+ . " <a href='%s' title='%s'>Michael&nbsp;Okuda</a>."
+ . " Website design based on an <a href='%s'"
+ . " title='LCARS Standards Development Board'"
+ . ">implementation in Flash by Chris&nbsp;Rossi</a>,"
+ . " and research by <a href='%s'"
+ . " title='Creating a Coherent LCARS Interface'>Bracer&nbsp;Jack</a>"
+ . " and <a href='%s'"
+ . " title='LCARS 47 Development Blog&nbsp;-- LCARS&nbsp;101: A Designer's Handbook'"
+ . ">Eleanor&nbsp;C.&nbsp;Davenport</a>.")
+ . ($app == 'Language' || $language === $vulcan
+ ? "<br>"
+ . tr("Translation into Modern Golic Vulcan supported by the"
+ . " <a href='http://wayback.archive.org/web/20130927210751/http://www.stogeek.com/wiki/Category:Vulcan_Language_Institute'>Vulcan Language Institute</a>,"
+ . " Shi'Kahr, a'Shav, T'Khasi.")
+ : ''),
+ 'https://twitter.com/MikeOkuda',
+ tr('Michael Okuda on Twitter'),
+ 'http://www.lcarsdeveloper.com/',
+ 'http://www.bracercom.com/tutorial/content/CoherentLCARSInterface/LCARSCoherentInterface.html',
+ 'http://www.lcars47.com/p/lcars-101.html');
+ ?></span><br>
+ Copyright &copy;&nbsp;2002&#8211;<?php echo gmdate('Y', $modi); ?> <a
+ href="mailto:js@PointedEars.de?subject=Feedback/LCARS/<?php echo $app;
+ ?>&amp;body=<?php
+ echo rawurlencode(sprintf('[%s]', tr("Your feedback")));
+ ?>"
+ title="<?php echo tr("Send your feedback to PointedEars"); ?>"
+ onmouseover="return mailStatus()"
+ onmouseout="return resetStatus()"
+ >Thomas ‘PointedEars’ Lahn</a>. <span class="text"><?php echo tr("All rights reserved."); ?></span></p>