define ( 'FRIENDICA_PLATFORM', 'Friendica');
define ( 'FRIENDICA_CODENAME', 'Asparagus');
-define ( 'FRIENDICA_VERSION', '3.5.3-rc' );
+define ( 'FRIENDICA_VERSION', '3.6-dev' );
define ( 'DFRN_PROTOCOL_VERSION', '2.23' );
define ( 'DB_UPDATE_VERSION', 1234 );
return (!empty($_SERVER['HTTP_X_REQUESTED_WITH']) && strtolower($_SERVER['HTTP_X_REQUESTED_WITH']) == 'xmlhttprequest');
}
-function check_db() {
+/**
+ * @brief Function to check if request was an AJAX (xmlhttprequest) request.
+ *
+ * @param $via_worker boolean Is the check run via the poller?
+ */
+function check_db($via_worker) {
$build = get_config('system', 'build');
if (!x($build)) {
$build = DB_UPDATE_VERSION;
}
if ($build != DB_UPDATE_VERSION) {
- proc_run(PRIORITY_CRITICAL, 'include/dbupdate.php');
+ // When we cannot execute the database update via the worker, we will do it directly
+ if (!proc_run(PRIORITY_CRITICAL, 'include/dbupdate.php') && $via_worker) {
+ update_db(get_app());
+ }
}
}
*
* @hooks 'proc_run'
* array $arr
+ *
+ * @return boolean "false" if proc_run couldn't be executed
*/
function proc_run($cmd) {
$args = array();
if (!count($proc_args)) {
- return;
+ return false;
}
// Preserve the first parameter
call_hooks("proc_run", $arr);
if (!$arr['run_cmd'] || ! count($args)) {
- return;
+ return true;
}
$priority = PRIORITY_MEDIUM;
// Quit if there was a database error - a precaution for the update process to 3.5.3
if (dba::errorNo() != 0) {
- return;
+ return false;
}
if (!$found) {
// Should we quit and wait for the poller to be called as a cronjob?
if ($dont_fork) {
- return;
+ return true;
}
// If there is a lock then we don't have to check for too much worker
if (!Lock::set('poller_worker', 0)) {
- return;
+ return true;
}
// If there are already enough workers running, don't fork another one
Lock::remove('poller_worker');
if ($quit) {
- return;
+ return true;
}
// Now call the poller to execute the jobs that we just added to the queue
$args = array("include/poller.php", "no_cron");
$a->proc_run($args);
+
+ return true;
}
function current_theme() {