forked from science-ation/science-ation
121 lines
4.0 KiB
PHP
121 lines
4.0 KiB
PHP
<?
|
|
|
|
/*
|
|
* This file is part of the 'Science Fair In A Box' project
|
|
* SFIAB Website: http://www.sfiab.ca
|
|
*
|
|
* Copyright (C) 2006 Sci-Tech Ontario Inc <info@scitechontario.org>
|
|
* Copyright (C) 2006 James Grant <james@lightbox.org>
|
|
*
|
|
* This program is free software; you can redistribute it and/or
|
|
* modify it under the terms of the GNU General Public
|
|
* License as published by the Free Software Foundation, version 2.
|
|
*
|
|
* This program is distributed in the hope that it will be useful,
|
|
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
|
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
|
|
* General Public License for more details.
|
|
*
|
|
* You should have received a copy of the GNU General Public License
|
|
* along with this program; see the file COPYING. If not, write to
|
|
* the Free Software Foundation, Inc., 59 Temple Place - Suite 330,
|
|
* Boston, MA 02111-1307, USA.
|
|
*/
|
|
?>
|
|
<?
|
|
require ('../common.inc.php');
|
|
require_once ('../user.inc.php');
|
|
user_auth_required('committee', 'config');
|
|
send_header('Language Packs',
|
|
array('Committee Main' => 'committee_main.php',
|
|
'SFIAB Configuration' => 'config/index.php'),
|
|
'language_pack_installer');
|
|
|
|
echo i18n("Checking for language packs will access a remote server, if you wish to continue click the 'Check for available language packs' link below");
|
|
echo '<br />';
|
|
echo '<br />';
|
|
echo '<a href="languagepacks.php?action=check">' . i18n('Check for available language packs') . '</a><br />';
|
|
|
|
function loadLanguagePacks()
|
|
{
|
|
$ret = array();
|
|
// // FIXME Replace!
|
|
// if($packs=file("http://www.sfiab.ca/languages/langpacklist.txt"))
|
|
if (false) {
|
|
$num = count($packs);
|
|
// format of each line is:
|
|
// lang:filename:lastupdate
|
|
if (count($packs)) {
|
|
foreach ($packs AS $p) {
|
|
list($langpack, $filename, $lastupdate) = explode("\t", trim($p));
|
|
$ret[$langpack] = array('lang' => $langpack, 'filename' => $filename, 'lastupdate' => $lastupdate);
|
|
}
|
|
}
|
|
} else {
|
|
echo error(i18n('There was an error connecting to the language pack server'));
|
|
}
|
|
return $ret;
|
|
}
|
|
|
|
if (get_value_from_array($_GET, 'action') == 'check') {
|
|
$packs = loadLanguagePacks();
|
|
|
|
$num = count($packs);
|
|
echo '<hr />';
|
|
echo i18n('Found %1 available language pack(s)', array($num));
|
|
// format of each line is:
|
|
// lang:filename:lastupdate
|
|
if (count($packs)) {
|
|
echo '<table class="summarytable">';
|
|
echo '<tr>';
|
|
echo '<th>' . i18n('Language') . '</th>';
|
|
echo '<th>' . i18n('Filename') . '</th>';
|
|
echo '<th>' . i18n('Last Update') . '</th>';
|
|
echo '<th>' . i18n('Install') . '</th>';
|
|
echo '</tr>';
|
|
foreach ($packs AS $p) {
|
|
echo "<tr><td align=\"center\">{$p['lang']}</td><td>{$p['filename']}</td><td>{$p['lastupdate']}</td>";
|
|
echo '<td align="center">';
|
|
echo "<a href=\"languagepacks.php?action=install&install={$p['lang']}\">" . i18n('Install') . '</a>';
|
|
echo '</td>';
|
|
echo '</tr>';
|
|
}
|
|
echo '</table>';
|
|
}
|
|
}
|
|
|
|
if (get_value_from_array($_GET, 'action') == 'install' && get_value_from_array($_GET, 'install')) {
|
|
$packs = loadLanguagePacks();
|
|
$loaded = 0;
|
|
if ($packs[$_GET['install']]) {
|
|
$lines = file("http://www.sfiab.ca/languages/?");
|
|
$totallines = count($lines);
|
|
$numtranslations = round($totallines / 2);
|
|
echo i18n('There are %1 translations in this language pack... processing...', array($numtranslations));
|
|
if (count($lines)) {
|
|
foreach ($lines AS $line) {
|
|
$line = trim($line);
|
|
|
|
if (substr($line, 0, 6) == 'UPDATE' || substr($line, 0, 6) == 'INSERT') {
|
|
$stmt = $pdo->prepare($line);
|
|
$stmt->execute([$packs[$_GET['install']]['filename']]);
|
|
$a = $pdo->rowwCount();
|
|
$loaded += $a;
|
|
} else
|
|
echo notice('Ignoring invalid language pack line: %1', array($l));
|
|
}
|
|
if ($loaded == 0)
|
|
echo notice(i18n('You already have all of the translations in this language pack'));
|
|
else
|
|
echo happy(i18n('Successfully loaded %1 new translations', array($loaded)));
|
|
} else {
|
|
echo error(i18n('Error downloading language pack'));
|
|
}
|
|
} else {
|
|
echo error(i18n('Invalid language pack to install'));
|
|
}
|
|
}
|
|
|
|
send_footer();
|
|
?>
|