~maj v3.0.19-->v3.0.21
[ptitvelo/web/www.git] / www / ecrire / inc / utils.php
index b875aa2..923431f 100644 (file)
@@ -642,14 +642,17 @@ function action_cron() {
  * @return bool
  */
 function cron ($taches=array(), $taches_old= array()) {
-       // si pas en mode cron force
-       // ou si base inaccessible, laisser tomber.
-       if (!defined('_DIRECT_CRON_FORCE') OR !spip_connect()) return false;
-       spip_log("cron !",'jq'._LOG_DEBUG);
+       // si pas en mode cron force, laisser tomber.
+       if (!defined('_DIRECT_CRON_FORCE')) return false;
        if (!is_array($taches)) $taches = $taches_old; // compat anciens appels
+       // si taches a inserer en base et base inaccessible, laisser tomber
+       // sinon on ne verifie pas la connexion tout de suite, car si ca se trouve
+       // queue_sleep_time_to_next_job() dira qu'il n'y a rien a faire
+       // et on evite d'ouvrir une connexion pour rien (utilisation de _DIRECT_CRON_FORCE dans mes_options.php)
+       if ($taches AND count($taches) AND !spip_connect())  return false;
+       spip_log("cron !",'jq'._LOG_DEBUG);
        if ($genie = charger_fonction('genie', 'inc', true)) {
-               $genie($taches);
-               return true;
+               return $genie($taches);
        }
        return false;
 }
@@ -742,7 +745,7 @@ function queue_sleep_time_to_next_job($force=null) {
                return null;
        if (!$_SERVER['REQUEST_TIME'])
                $_SERVER['REQUEST_TIME'] = time();
-       return max(0,$queue_next_job_time-$_SERVER['REQUEST_TIME']);
+       return $queue_next_job_time-$_SERVER['REQUEST_TIME'];
 }
 
 
@@ -966,8 +969,11 @@ function find_in_path ($file, $dirname='', $include=false) {
                                        include_once _ROOT_CWD . $a;
                                        $inc[$dirname][$file] = $inc[''][$dirname . $file] = true;
                                }
-                               if (!defined('_SAUVER_CHEMIN'))
-                                       define('_SAUVER_CHEMIN',true);
+                               if (!defined('_SAUVER_CHEMIN')){
+                                       // si le chemin n'a pas encore ete charge, ne pas lever le flag, ne pas cacher
+                                       if (is_null($GLOBALS['path_files'])) return $a;
+                                       define('_SAUVER_CHEMIN', true);
+                               }
                                return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = $a;
                        }
                }
@@ -985,8 +991,11 @@ function find_in_path ($file, $dirname='', $include=false) {
                }
        }
 
-       if (!defined('_SAUVER_CHEMIN'))
-               define('_SAUVER_CHEMIN',true);
+       if (!defined('_SAUVER_CHEMIN')){
+               // si le chemin n'a pas encore ete charge, ne pas lever le flag, ne pas cacher
+               if (is_null($GLOBALS['path_files'])) return false;
+               define('_SAUVER_CHEMIN', true);
+       }
        return $GLOBALS['path_files'][$GLOBALS['path_sig']][$dirname][$file] = $GLOBALS['path_files'][$GLOBALS['path_sig']][''][$dirname . $file] = false;
 }
 
@@ -1870,6 +1879,7 @@ function init_var_mode(){
                                                        if (!defined('_VAR_MODE')) define('_VAR_MODE',$_GET['var_mode']);
                                                        break;
                                        }
+          if (isset($GLOBALS['visiteur_session']['nom']))
                                        spip_log($GLOBALS['visiteur_session']['nom']
                                                . " "._VAR_MODE);
                                }