summaryrefslogtreecommitdiffstats
path: root/core
diff options
context:
space:
mode:
Diffstat (limited to 'core')
-rw-r--r--core/ajax/update.php67
-rw-r--r--core/css/styles.css3
-rw-r--r--core/js/js.js6
-rw-r--r--core/l10n/bn_BD.php121
-rw-r--r--core/l10n/es_AR.php8
-rw-r--r--core/l10n/fr.php4
-rw-r--r--core/lostpassword/controller.php2
-rw-r--r--core/templates/installation.php2
-rw-r--r--core/templates/update.php31
9 files changed, 235 insertions, 9 deletions
diff --git a/core/ajax/update.php b/core/ajax/update.php
new file mode 100644
index 00000000000..20ab045c892
--- /dev/null
+++ b/core/ajax/update.php
@@ -0,0 +1,67 @@
+<?php
+set_time_limit(0);
+$RUNTIME_NOAPPS = true;
+require_once '../../lib/base.php';
+
+if (OC::checkUpgrade(false)) {
+ $updateEventSource = new OC_EventSource();
+ $watcher = new UpdateWatcher($updateEventSource);
+ OC_Hook::connect('update', 'success', $watcher, 'success');
+ OC_Hook::connect('update', 'error', $watcher, 'error');
+ OC_Hook::connect('update', 'error', $watcher, 'failure');
+ $watcher->success('Turned on maintenance mode');
+ try {
+ $result = OC_DB::updateDbFromStructure(OC::$SERVERROOT.'/db_structure.xml');
+ $watcher->success('Updated database');
+ } catch (Exception $exception) {
+ $watcher->failure($exception->getMessage());
+ }
+ $minimizerCSS = new OC_Minimizer_CSS();
+ $minimizerCSS->clearCache();
+ $minimizerJS = new OC_Minimizer_JS();
+ $minimizerJS->clearCache();
+ OC_Config::setValue('version', implode('.', OC_Util::getVersion()));
+ OC_App::checkAppsRequirements();
+ // load all apps to also upgrade enabled apps
+ OC_App::loadApps();
+ OC_Config::setValue('maintenance', false);
+ $watcher->success('Turned off maintenance mode');
+ $watcher->done();
+}
+
+class UpdateWatcher {
+ /**
+ * @var \OC_EventSource $eventSource;
+ */
+ private $eventSource;
+
+ public function __construct($eventSource) {
+ $this->eventSource = $eventSource;
+ }
+
+ public function success($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('success', $message);
+ ob_start();
+ }
+
+ public function error($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('error', $message);
+ ob_start();
+ }
+
+ public function failure($message) {
+ OC_Util::obEnd();
+ $this->eventSource->send('failure', $message);
+ $this->eventSource->close();
+ die();
+ }
+
+ public function done() {
+ OC_Util::obEnd();
+ $this->eventSource->send('done', '');
+ $this->eventSource->close();
+ }
+
+} \ No newline at end of file
diff --git a/core/css/styles.css b/core/css/styles.css
index 0c562cb5354..376e3a2f49b 100644
--- a/core/css/styles.css
+++ b/core/css/styles.css
@@ -214,7 +214,8 @@ div.jp-play-bar, div.jp-seek-bar { padding:0; }
.pager { list-style:none; float:right; display:inline; margin:.7em 13em 0 0; }
.pager li { display:inline-block; }
-li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; color:#FF3B3B; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; }
+li.update, li.error { width:640px; margin:4em auto; padding:1em 1em 1em 4em; background:#ffe .8em .8em no-repeat; border:1px solid #ccc; -moz-border-radius:10px; -webkit-border-radius:10px; border-radius:10px; cursor:default; }
+.error { color:#FF3B3B; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default { overflow:hidden; text-overflow:ellipsis; }
.hint { background-image:url('../img/actions/info.png'); background-repeat:no-repeat; color:#777777; padding-left:25px; background-position:0 0.3em;}
.separator { display:inline; border-left:1px solid #d3d3d3; border-right:1px solid #fff; height:10px; width:0px; margin:4px; }
diff --git a/core/js/js.js b/core/js/js.js
index 7d967321d93..610950995db 100644
--- a/core/js/js.js
+++ b/core/js/js.js
@@ -3,14 +3,15 @@
* Add
* define('DEBUG', true);
* To the end of config/config.php to enable debug mode.
+ * The undefined checks fix the broken ie8 console
*/
-if (oc_debug !== true) {
+if (oc_debug !== true || typeof console === "undefined" || typeof console.log === "undefined") {
if (!window.console) {
window.console = {};
}
var methods = ['log', 'debug', 'warn', 'info', 'error', 'assert'];
for (var i = 0; i < methods.length; i++) {
- console[methods[i]] = function () { };
+ console[methods[i]] = function () { };
}
}
@@ -20,7 +21,6 @@ if (oc_debug !== true) {
* @param text the string to translate
* @return string
*/
-
function t(app,text, vars){
if( !( t.cache[app] )){
$.ajax(OC.filePath('core','ajax','translations.php'),{
diff --git a/core/l10n/bn_BD.php b/core/l10n/bn_BD.php
new file mode 100644
index 00000000000..a3350761386
--- /dev/null
+++ b/core/l10n/bn_BD.php
@@ -0,0 +1,121 @@
+<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "%s নামের ব্যবহারকারি আপনার সাথে একটা ফাইল ভাগাভাগি করেছেন",
+"User %s shared a folder with you" => "%s নামের ব্যবহারকারি আপনার সাথে একটা ফোল্ডার ভাগাভাগি করেছেন",
+"Category type not provided." => "ক্যাটেগরির ধরণটি প্রদান করা হয় নি।",
+"No category to add?" => "যোগ করার মত কোন ক্যাটেগরি নেই ?",
+"This category already exists: " => "এই ক্যাটেগরিটি বিদ্যমানঃ",
+"Object type not provided." => "অবজেক্টের ধরণটি প্রদান করা হয় নি।",
+"Error adding %s to favorites." => "প্রিয়তে %s যোগ করতে সমস্যা দেখা দিয়েছে।",
+"No categories selected for deletion." => "মুছে ফেলার জন্য কোন ক্যাটেগরি নির্বাচন করা হয় নি।",
+"Error removing %s from favorites." => "প্রিয় থেকে %s সরিয়ে ফেলতে সমস্যা দেখা দিয়েছে।",
+"Settings" => "নিয়ামকসমূহ",
+"seconds ago" => "সেকেন্ড পূর্বে",
+"1 minute ago" => "1 মিনিট পূর্বে",
+"{minutes} minutes ago" => "{minutes} মিনিট পূর্বে",
+"1 hour ago" => "1 ঘন্টা পূর্বে",
+"{hours} hours ago" => "{hours} ঘন্টা পূর্বে",
+"today" => "আজ",
+"yesterday" => "গতকাল",
+"{days} days ago" => "{days} দিন পূর্বে",
+"last month" => "গতমাস",
+"{months} months ago" => "{months} মাস পূর্বে",
+"months ago" => "মাস পূর্বে",
+"last year" => "গত বছর",
+"years ago" => "বছর পূর্বে",
+"Choose" => "নির্বাচন",
+"Cancel" => "বাতিল",
+"No" => "না",
+"Yes" => "হ্যাঁ",
+"Ok" => "তথাস্তু",
+"The object type is not specified." => "অবজেক্টের ধরণটি সুনির্দিষ্ট নয়।",
+"Error" => "সমস্যা",
+"The app name is not specified." => "অ্যাপের নামটি সুনির্দিষ্ট নয়।",
+"The required file {file} is not installed!" => "আবশ্যিক {file} টি সংস্থাপিত নেই !",
+"Error while sharing" => "ভাগাভাগি করার সময় সমস্যা দেখা দিয়েছে",
+"Error while unsharing" => "ভাগাভাগি বাতিল করার সময় সমস্যা দেখা দিয়েছে",
+"Error while changing permissions" => "অনুমতি পরিবর্তন করার সময় সমস্যা দেখা দিয়েছে",
+"Share with" => "যাদের সাথে ভাগাভাগি করবে",
+"Share with link" => "লিংক সহযোগে ভাগাভাগি",
+"Password protect" => "কূটশব্দদ্বারা সুরক্ষিত",
+"Password" => "কূটশব্দ",
+"Email link to person" => "ব্যক্তির সাথে ই-মেইল যুক্ত কর",
+"Send" => "পাঠাও",
+"Set expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ করুন",
+"Expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ",
+"Share via email:" => "ই-মেইলের মাধ্যমে ভাগাভাগি করঃ",
+"No people found" => "কোন ব্যক্তি খুঁজে পাওয়া গেল না",
+"Resharing is not allowed" => "পূনরায় ভাগাভাগি করার অনুমতি নেই",
+"Unshare" => "ভাগাভাগি বাতিল",
+"can edit" => "সম্পাদনা করতে পারবে",
+"access control" => "অধিগম্যতার নিয়ন্ত্রণ",
+"create" => "তৈরি কর",
+"update" => "পরিবর্ধন কর",
+"delete" => "মুছে ফেল",
+"share" => "ভাগাভাগি কর",
+"Password protected" => "কূটশব্দদ্বারা সুরক্ষিত",
+"Error unsetting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ বাতিল করতে সমস্যা",
+"Error setting expiration date" => "মেয়াদোত্তীর্ণ হওয়ার তারিখ নির্ধারণ করতে সমস্যা",
+"Sending ..." => "পাঠানো হচ্ছে......",
+"Email sent" => "ই-মেইল পাঠানো হয়েছে",
+"ownCloud password reset" => "ownCloud কূটশব্দ পূনঃনির্ধারণ",
+"Use the following link to reset your password: {link}" => "কূটশব্দ পূনঃনির্ধারণ করতে নিম্নোক্ত লিংকে ক্লিক করুন:{link}",
+"You will receive a link to reset your password via Email." => "কূটশব্দ পূনঃনির্ধারণের জন্য একটি লিংক ই-মেইলের মাধ্যমে পাঠানো হয়েছে।",
+"Reset email send." => "পূনঃনির্ধারণ ই-মেইল পাঠানো হয়েছে।",
+"Request failed!" => "অনুরোধ ব্যর্থ !",
+"Username" => "ব্যবহারকারি",
+"Request reset" => "পূনঃনির্ধারণের জন্য অনুরোধ",
+"Your password was reset" => "আপনার কূটশব্দটি পূনঃনির্ধারণ করা হয়েছে",
+"To login page" => "প্রবেশ পাতায়",
+"New password" => "নতুন কূটশব্দ",
+"Reset password" => "কূটশব্দ পূনঃনির্ধারণ",
+"Personal" => "ব্যক্তিগত",
+"Users" => "ব্যবহারকারিবৃন্দ",
+"Apps" => "অ্যাপস",
+"Admin" => "প্রশাসক",
+"Help" => "সহায়িকা",
+"Access forbidden" => "অধিগমনের অনুমতি নেই",
+"Cloud not found" => "ক্লাউড খুঁজে পাওয়া গেল না",
+"Edit categories" => "ক্যাটেগরি সম্পাদনা",
+"Add" => "যোগ কর",
+"Security Warning" => "নিরাপত্তাজনিত সতর্কতা",
+"Create an <strong>admin account</strong>" => "<strong>প্রশাসক একাউন্ট</strong> তৈরি কর",
+"Advanced" => "সুচারু",
+"Data folder" => "ডাটা ফোল্ডার",
+"Configure the database" => "ডাটাবেজ কনফিগার কর",
+"will be used" => "ব্যবহৃত হবে",
+"Database user" => "ডাটাবেজ ব্যবহারকারি",
+"Database password" => "ডাটাবেজ কূটশব্দ",
+"Database name" => "ডাটাবেজের নাম",
+"Database tablespace" => "ডাটাবেজ টেবিলস্পেস",
+"Database host" => "ডাটাবেজ হোস্ট",
+"Finish setup" => "সেট-আপ সুসম্পন্ন কর",
+"Sunday" => "রবিবার",
+"Monday" => "সোমবার",
+"Tuesday" => "মঙ্গলবার",
+"Wednesday" => "বুধবার",
+"Thursday" => "বৃহষ্পতিবার",
+"Friday" => "শুক্রবার",
+"Saturday" => "শনিবার",
+"January" => "জানুয়ারি",
+"February" => "ফেব্রুয়ারি",
+"March" => "মার্চ",
+"April" => "এপ্রিল",
+"May" => "মে",
+"June" => "জুন",
+"July" => "জুলাই",
+"August" => "অগাস্ট",
+"September" => "সেপ্টেম্বর",
+"October" => "অক্টোবর",
+"November" => "নভেম্বর",
+"December" => "ডিসেম্বর",
+"web services under your control" => "ওয়েব সেবাসমূহ এখন আপনার হাতের মুঠোয়",
+"Log out" => "প্রস্থান",
+"Lost your password?" => "আপনার কূটশব্দটি হারিয়েছেন ?",
+"remember" => "মনে রাখ",
+"Log in" => "প্রবেশ",
+"You are logged out." => "আপনি প্রস্থান করেছেন",
+"prev" => "পূর্ববর্তী",
+"next" => "পরবর্তী",
+"Security Warning!" => "নিরাপত্তাবিষয়ক সতর্কবাণী",
+"Verify" => "যাচাই কর"
+);
diff --git a/core/l10n/es_AR.php b/core/l10n/es_AR.php
index 2da7951b064..830281dabbe 100644
--- a/core/l10n/es_AR.php
+++ b/core/l10n/es_AR.php
@@ -1,4 +1,8 @@
<?php $TRANSLATIONS = array(
+"User %s shared a file with you" => "El usurario %s compartió un archivo con vos.",
+"User %s shared a folder with you" => "El usurario %s compartió una carpeta con vos.",
+"User %s shared the file \"%s\" with you. It is available for download here: %s" => "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s",
+"User %s shared the folder \"%s\" with you. It is available for download here: %s" => "El usuario %s compartió el archivo \"%s\" con vos. Está disponible para su descarga aquí: %s",
"Category type not provided." => "Tipo de categoría no provisto. ",
"No category to add?" => "¿Ninguna categoría para añadir?",
"This category already exists: " => "Esta categoría ya existe: ",
@@ -39,6 +43,8 @@
"Share with link" => "Compartir con link",
"Password protect" => "Proteger con contraseña ",
"Password" => "Contraseña",
+"Email link to person" => "Enviar el link por e-mail.",
+"Send" => "Enviar",
"Set expiration date" => "Asignar fecha de vencimiento",
"Expiration date" => "Fecha de vencimiento",
"Share via email:" => "compartido a través de e-mail:",
@@ -55,6 +61,8 @@
"Password protected" => "Protegido por contraseña",
"Error unsetting expiration date" => "Error al remover la fecha de caducidad",
"Error setting expiration date" => "Error al asignar fecha de vencimiento",
+"Sending ..." => "Enviando...",
+"Email sent" => "Email enviado",
"ownCloud password reset" => "Restablecer contraseña de ownCloud",
"Use the following link to reset your password: {link}" => "Usá este enlace para restablecer tu contraseña: {link}",
"You will receive a link to reset your password via Email." => "Vas a recibir un enlace por e-mail para restablecer tu contraseña",
diff --git a/core/l10n/fr.php b/core/l10n/fr.php
index 082bace76ce..6b1449dd4ba 100644
--- a/core/l10n/fr.php
+++ b/core/l10n/fr.php
@@ -59,7 +59,7 @@
"delete" => "supprimer",
"share" => "partager",
"Password protected" => "Protégé par un mot de passe",
-"Error unsetting expiration date" => "Un erreur est survenue pendant la suppression de la date d'expiration",
+"Error unsetting expiration date" => "Une erreur est survenue pendant la suppression de la date d'expiration",
"Error setting expiration date" => "Erreur lors de la spécification de la date d'expiration",
"Sending ..." => "En cours d'envoi ...",
"Email sent" => "Email envoyé",
@@ -83,7 +83,7 @@
"Cloud not found" => "Introuvable",
"Edit categories" => "Modifier les catégories",
"Add" => "Ajouter",
-"Security Warning" => "Avertissement de sécutité",
+"Security Warning" => "Avertissement de sécurité",
"No secure random number generator is available, please enable the PHP OpenSSL extension." => "Aucun générateur de nombre aléatoire sécurisé n'est disponible, veuillez activer l'extension PHP OpenSSL",
"Without a secure random number generator an attacker may be able to predict password reset tokens and take over your account." => "Sans générateur de nombre aléatoire sécurisé, un attaquant peut être en mesure de prédire les jetons de réinitialisation du mot de passe, et ainsi prendre le contrôle de votre compte utilisateur.",
"Your data directory and your files are probably accessible from the internet. The .htaccess file that ownCloud provides is not working. We strongly suggest that you configure your webserver in a way that the data directory is no longer accessible or you move the data directory outside the webserver document root." => "Votre dossier data et vos fichiers sont probablement accessibles depuis internet. Le fichier .htaccess fourni par ownCloud ne fonctionne pas. Nous vous recommandons vivement de configurer votre serveur web de manière à ce que le dossier data ne soit plus accessible ou bien de déplacer le dossier data en dehors du dossier racine des documents du serveur web.",
diff --git a/core/lostpassword/controller.php b/core/lostpassword/controller.php
index e64b16d3b83..3ef8eaf71aa 100644
--- a/core/lostpassword/controller.php
+++ b/core/lostpassword/controller.php
@@ -45,8 +45,6 @@ class OC_Core_LostPassword_Controller {
$l = OC_L10N::get('core');
$from = OCP\Util::getDefaultEmailAddress('lostpassword-noreply');
OC_Mail::send($email, $_POST['user'], $l->t('ownCloud password reset'), $msg, $from, 'ownCloud');
- echo('Mailsent');
-
self::displayLostPasswordPage(false, true);
} else {
self::displayLostPasswordPage(true, false);
diff --git a/core/templates/installation.php b/core/templates/installation.php
index 28fbf29b540..3128c4f2e70 100644
--- a/core/templates/installation.php
+++ b/core/templates/installation.php
@@ -113,7 +113,7 @@
</p>
<p class="infield groupmiddle">
<label for="dbname" class="infield"><?php echo $l->t( 'Database name' ); ?></label>
- <input type="text" name="dbname" id="dbname" value="<?php print OC_Helper::init_var('dbname'); ?>" autocomplete="off" pattern="[0-9a-zA-Z$_]+" />
+ <input type="text" name="dbname" id="dbname" value="<?php print OC_Helper::init_var('dbname'); ?>" autocomplete="off" pattern="[0-9a-zA-Z$_-]+" />
</p>
</div>
<?php endif; ?>
diff --git a/core/templates/update.php b/core/templates/update.php
new file mode 100644
index 00000000000..c9f3144f257
--- /dev/null
+++ b/core/templates/update.php
@@ -0,0 +1,31 @@
+<ul>
+ <li class='update'>
+ <?php echo $l->t('Updating ownCloud to version %s, this may take a while.', array($_['version'])); ?><br /><br />
+ </li>
+</ul>
+<script>
+ $(document).ready(function () {
+ OC.EventSource.requesttoken = oc_requesttoken;
+ var updateEventSource = new OC.EventSource(OC.webroot+'/core/ajax/update.php');
+ updateEventSource.listen('success', function(message) {
+ $('<span>').append(message).append('<br />').appendTo($('.update'));
+ });
+ updateEventSource.listen('error', function(message) {
+ $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update'));
+ });
+ updateEventSource.listen('failure', function(message) {
+ $('<span>').addClass('error').append(message).append('<br />').appendTo($('.update'));
+ $('<span>')
+ .addClass('error bold')
+ .append('<br />')
+ .append(t('core', 'The update was unsuccessful. Please report this issue to the <a href="https://github.com/owncloud/core/issues" target="_blank">ownCloud community</a>.'))
+ .appendTo($('.update'));
+ });
+ updateEventSource.listen('done', function(message) {
+ $('<span>').addClass('bold').append('<br />').append(t('core', 'The update was successful. Redirecting you to ownCloud now.')).appendTo($('.update'));
+ setTimeout(function () {
+ window.location.href = OC.webroot;
+ }, 3000);
+ });
+ });
+</script> \ No newline at end of file