aboutsummaryrefslogtreecommitdiff
path: root/app
diff options
context:
space:
mode:
authorGravatar Alexis Degrugillier <github@ainw.org> 2014-01-03 00:03:28 -0500
committerGravatar Alexis Degrugillier <github@ainw.org> 2014-01-03 00:03:28 -0500
commitf0c2bb74ebbae1bd336d79a22c5ccf4080620bb4 (patch)
treeafc52950d50d5d4567437e42240b3998b51c4f6e /app
parent7db271e95ebab52c31c78f51270de71af1d750d2 (diff)
parent1d3ff88ae6cbb072f0d2a76308a42f2baf6cb84d (diff)
Merge branch 'dev' into shortcuts
Diffstat (limited to 'app')
-rwxr-xr-xapp/Controllers/configureController.php4
-rwxr-xr-xapp/Controllers/indexController.php2
-rw-r--r--app/FreshRSS.php2
-rwxr-xr-xapp/actualize_script.php21
-rw-r--r--app/i18n/install.en.php5
-rw-r--r--app/i18n/install.fr.php11
-rw-r--r--app/layout/layout.phtml4
-rw-r--r--app/views/helpers/view/normal_view.phtml2
-rw-r--r--app/views/javascript/actualize.phtml32
9 files changed, 59 insertions, 24 deletions
diff --git a/app/Controllers/configureController.php b/app/Controllers/configureController.php
index 0e4801a2d..0a403fc2d 100755
--- a/app/Controllers/configureController.php
+++ b/app/Controllers/configureController.php
@@ -100,12 +100,14 @@ class FreshRSS_configure_Controller extends Minz_ActionController {
$httpAuth = $user . ':' . $pass;
}
+ $cat = intval(Minz_Request::param('category', 0));
+
$values = array (
'name' => Minz_Request::param ('name', ''),
'description' => sanitizeHTML(Minz_Request::param('description', '', true)),
'website' => Minz_Request::param('website', ''),
'url' => Minz_Request::param('url', ''),
- 'category' => intval(Minz_Request::param ('category', 0)),
+ 'category' => $cat,
'pathEntries' => Minz_Request::param ('path_entries', ''),
'priority' => intval(Minz_Request::param ('priority', 0)),
'httpAuth' => $httpAuth,
diff --git a/app/Controllers/indexController.php b/app/Controllers/indexController.php
index 5b51b3e28..690ca57be 100755
--- a/app/Controllers/indexController.php
+++ b/app/Controllers/indexController.php
@@ -133,7 +133,7 @@ class FreshRSS_index_Controller extends Minz_ActionController {
// Si on a récupéré aucun article "non lus"
// on essaye de récupérer tous les articles
- if ($state === 'not_read' && empty($entries)) { //TODO: Remove in v0.8
+ if ($state === 'not_read' && empty($entries)) {
Minz_Log::record ('Conflicting information about nbNotRead!', Minz_Log::DEBUG);
$this->view->state = 'all';
$entries = $this->entryDAO->listWhere($getType, $getId, 'all', $order, $nb, $first, $filter, $date_min, $keepHistoryDefault);
diff --git a/app/FreshRSS.php b/app/FreshRSS.php
index 4ebb6d631..f9857a4cb 100644
--- a/app/FreshRSS.php
+++ b/app/FreshRSS.php
@@ -6,7 +6,7 @@ class FreshRSS extends Minz_FrontController {
}
$this->accessControl(Minz_Session::param('currentUser', ''));
$this->loadParamsView();
- $this->loadStylesAndScripts();
+ $this->loadStylesAndScripts(); //TODO: Do not load that when not needed, e.g. some Ajax requests
$this->loadNotifications();
}
diff --git a/app/actualize_script.php b/app/actualize_script.php
index e0f995afe..9ac80a852 100755
--- a/app/actualize_script.php
+++ b/app/actualize_script.php
@@ -1,7 +1,20 @@
<?php
require(dirname(__FILE__) . '/../constants.php');
-//TODO: check if already running
+//<Mutex>
+$lock = DATA_PATH . '/actualize.lock.txt';
+if (file_exists($lock) && ((time() - @filemtime($lock)) > 3600)) {
+ @unlink($lock);
+}
+if (($handle = @fopen($lock, 'x')) === false) {
+ syslog(LOG_NOTICE, 'FreshRSS actualize already running?');
+ fwrite(STDERR, 'FreshRSS actualize already running?' . "\n");
+ return;
+}
+register_shutdown_function('unlink', $lock);
+//Could use http://php.net/function.pcntl-signal.php to catch interruptions
+@fclose($handle);
+//</Mutex>
require(LIB_PATH . '/lib_rss.php'); //Includes class autoloader
@@ -10,8 +23,12 @@ ob_implicit_flush(false);
ob_start();
echo 'Results: ', "\n"; //Buffered
+Minz_Configuration::init();
+
$users = listUsers();
-shuffle($users);
+shuffle($users); //Process users in random order
+array_unshift($users, Minz_Configuration::defaultUser()); //But always start with admin
+$users = array_unique($users);
foreach ($users as $myUser) {
syslog(LOG_INFO, 'FreshRSS actualize ' . $myUser);
diff --git a/app/i18n/install.en.php b/app/i18n/install.en.php
index 8df48989f..4d8006977 100644
--- a/app/i18n/install.en.php
+++ b/app/i18n/install.en.php
@@ -5,6 +5,7 @@ return array (
'installation_step' => 'Installation - step %d',
'steps' => 'Steps',
'checks' => 'Checks',
+ 'general_configuration' => 'General configuration',
'bdd_configuration' => 'Database configuration',
'bdd_type' => 'Type of database',
'version_update' => 'Update',
@@ -31,6 +32,10 @@ return array (
'pdomysql_is_nok' => 'You lack PDO or its driver for MySQL (php5-mysql package)',
'dom_is_ok' => 'You have the required library to browse the DOM',
'dom_is_nok' => 'You lack a required library to browse the DOM (php-xml package)',
+ 'pcre_is_ok' => 'You have the required library for regular expressions (PCRE)',
+ 'pcre_is_nok' => 'You lack a required library for regular expressions (php-pcre)',
+ 'ctype_is_ok' => 'You have the required library for character type checking (ctype)',
+ 'ctype_is_nok' => 'You lack a required library for character type checking (php-ctype)',
'cache_is_ok' => 'Permissions on cache directory are good',
'log_is_ok' => 'Permissions on logs directory are good',
'favicons_is_ok' => 'Permissions on favicons directory are good',
diff --git a/app/i18n/install.fr.php b/app/i18n/install.fr.php
index a1ae8fcb5..e9dba7c23 100644
--- a/app/i18n/install.fr.php
+++ b/app/i18n/install.fr.php
@@ -5,6 +5,7 @@ return array (
'installation_step' => 'Installation - étape %d',
'steps' => 'Étapes',
'checks' => 'Vérifications',
+ 'general_configuration' => 'Configuration générale',
'bdd_configuration' => 'Base de données',
'bdd_type' => 'Type de base de données',
'version_update' => 'Mise à jour',
@@ -26,11 +27,15 @@ return array (
'minz_is_ok' => 'Vous disposez du framework Minz',
'minz_is_nok' => 'Vous ne disposez pas de la librairie Minz. Vous devriez exécuter le script <em>build.sh</em> ou bien <a href="https://github.com/marienfressinaud/MINZ">la télécharger sur Github</a> et installer dans le répertoire <em>%s</em> le contenu de son répertoire <em>/lib</em>.',
'curl_is_ok' => 'Vous disposez de cURL dans sa version %s',
- 'curl_is_nok' => 'Vous ne disposez pas de cURL (librairie php5-curl)',
- 'pdomysql_is_ok' => 'Vous disposez de PDO et de son driver pour MySQL (librairie php5-mysql)',
+ 'curl_is_nok' => 'Vous ne disposez pas de cURL (paquet php5-curl)',
+ 'pdomysql_is_ok' => 'Vous disposez de PDO et de son driver pour MySQL (paquet php5-mysql)',
'pdomysql_is_nok' => 'Vous ne disposez pas de PDO ou de son driver pour MySQL',
'dom_is_ok' => 'Vous disposez du nécessaire pour parcourir le DOM',
- 'dom_is_nok' => 'Vous ne disposez pas du nécessaire pour parcourir le DOM (librairie php-xml)',
+ 'dom_is_nok' => 'Il manque une librairie pour parcourir le DOM (paquet php-xml)',
+ 'pcre_is_ok' => 'Vous disposez du nécessaire pour les expressions régulières (PCRE)',
+ 'pcre_is_nok' => 'Il manque une librairie pour les expressions régulières (php-pcre)',
+ 'ctype_is_ok' => 'Vous disposez du nécessaire pour la vérification des types de caractères (ctype)',
+ 'ctype_is_nok' => 'Il manque une librairie pour la vérification des types de caractères (php-ctype)',
'cache_is_ok' => 'Les droits sur le répertoire de cache sont bons',
'log_is_ok' => 'Les droits sur le répertoire des logs sont bons',
'favicons_is_ok' => 'Les droits sur le répertoire des favicons sont bons',
diff --git a/app/layout/layout.phtml b/app/layout/layout.phtml
index ae75c9bdb..e67d8a791 100644
--- a/app/layout/layout.phtml
+++ b/app/layout/layout.phtml
@@ -16,7 +16,8 @@
?>
<link id="prefetch" rel="next prefetch" href="<?php echo Minz_Url::display (array ('c' => Minz_Request::controllerName (), 'a' => Minz_Request::actionName (), 'params' => $params)); ?>" />
<?php } ?>
- <link rel="icon" href="<?php echo Minz_Url::display ('/favicon.ico'); ?>" />
+ <link rel="shortcut icon" type="image/x-icon" sizes="16x16 64x64" href="<?php echo Minz_Url::display('/favicon.ico'); ?>" />
+ <link rel="icon msapplication-TileImage apple-touch-icon" type="image/png" sizes="256x256" href="<?php echo Minz_Url::display('/themes/icons/favicon-256.png'); ?>" />
<?php if (isset ($this->rss_url)) { ?>
<link rel="alternate" type="application/rss+xml" title="<?php echo $this->rss_title; ?>" href="<?php echo Minz_Url::display ($this->rss_url); ?>" />
<?php } ?>
@@ -24,6 +25,7 @@
<link rel="prefetch" href="<?php echo FreshRSS_Themes::icon('non-starred', true); ?>">
<link rel="prefetch" href="<?php echo FreshRSS_Themes::icon('read', true); ?>">
<link rel="prefetch" href="<?php echo FreshRSS_Themes::icon('unread', true); ?>">
+ <meta name="msapplication-TileColor" content="#FFF" />
<meta name="robots" content="noindex,nofollow" />
</head>
<body>
diff --git a/app/views/helpers/view/normal_view.phtml b/app/views/helpers/view/normal_view.phtml
index 1b4388796..ce036e281 100644
--- a/app/views/helpers/view/normal_view.phtml
+++ b/app/views/helpers/view/normal_view.phtml
@@ -25,7 +25,7 @@ if (!empty($this->entries)) {
$bottomline_favorite = $this->conf->bottomline_favorite;
$bottomline_sharing = $this->conf->bottomline_sharing && (
$shaarli || $poche || $diaspora || $twitter ||
- $google_plus || $facebook || $email);
+ $google_plus || $facebook || $email || $print);
$bottomline_tags = $this->conf->bottomline_tags;
$bottomline_date = $this->conf->bottomline_date;
$bottomline_link = $this->conf->bottomline_link;
diff --git a/app/views/javascript/actualize.phtml b/app/views/javascript/actualize.phtml
index 69689133c..1f6072c29 100644
--- a/app/views/javascript/actualize.phtml
+++ b/app/views/javascript/actualize.phtml
@@ -1,37 +1,41 @@
-var feeds = new Array ();
+"use strict";
+var feeds = [];
<?php foreach ($this->feeds as $feed) { ?>
-feeds.push ("<?php echo Minz_Url::display (array ('c' => 'feed', 'a' => 'actualize', 'params' => array ('id' => $feed->id (), 'ajax' => '1')), 'php'); ?>");
+feeds.push("<?php echo Minz_Url::display (array ('c' => 'feed', 'a' => 'actualize', 'params' => array ('id' => $feed->id (), 'ajax' => '1')), 'php'); ?>");
<?php } ?>
-function initProgressBar (init) {
+function initProgressBar(init) {
if (init) {
- $("body").after ("\<div id=\"actualizeProgress\" class=\"actualizeProgress\">\
+ $("body").after("\<div id=\"actualizeProgress\" class=\"actualizeProgress\">\
<?php echo Minz_Translate::t ('refresh'); ?> <span class=\"progress\">0 / " + feeds.length + "</span><br />\
<progress id=\"actualizeProgressBar\" value=\"0\" max=\"" + feeds.length + "\"></progress>\
</div>");
} else {
- window.location.reload ();
+ window.location.reload();
}
}
-function updateProgressBar (i) {
+function updateProgressBar(i) {
$("#actualizeProgressBar").val(i);
- $("#actualizeProgress .progress").html (i + " / " + feeds.length);
+ $("#actualizeProgress .progress").html(i + " / " + feeds.length);
}
-function updateFeeds () {
- initProgressBar (true);
+function updateFeeds() {
+ if (feeds.length === 0) {
+ return;
+ }
+ initProgressBar(true);
var i = 0;
for (var f in feeds) {
- $.ajax ({
+ $.ajax({
type: 'POST',
url: feeds[f],
- }).done (function (data) {
+ }).done(function (data) {
i++;
- updateProgressBar (i);
+ updateProgressBar(i);
- if (i == feeds.length) {
- initProgressBar (false);
+ if (i === feeds.length) {
+ initProgressBar(false);
}
});
}