- DI::config()->set('system', 'last_expire_day', $d2);
- }
-
- // Hourly cron calls
- if (DI::config()->get('system', 'last_cron_hourly', 0) + 3600 < time()) {
-
- // Search for new contacts in the directory
- if (DI::config()->get('system', 'synchronize_directory')) {
- Worker::add(PRIORITY_LOW, 'PullDirectory');
- }
-
- // Delete all done workerqueue entries
- DBA::delete('workerqueue', ['`done` AND `executed` < UTC_TIMESTAMP() - INTERVAL 1 HOUR']);
-
- // Optimizing this table only last seconds
- if (DI::config()->get('system', 'optimize_tables')) {
- // We are acquiring the two locks from the worker to avoid locking problems
- if (DI::lock()->acquire(Worker::LOCK_PROCESS, 10)) {
- if (DI::lock()->acquire(Worker::LOCK_WORKER, 10)) {
- DBA::e("OPTIMIZE TABLE `workerqueue`");
- DBA::e("OPTIMIZE TABLE `process`");
- DI::lock()->release(Worker::LOCK_WORKER);
- }
- DI::lock()->release(Worker::LOCK_PROCESS);
- }
- }
-
- // Clear cache entries
- Worker::add(PRIORITY_LOW, 'ClearCache');
-
- DI::config()->set('system', 'last_cron_hourly', time());
- }
-
- // Ensure to have a .htaccess file.
- // this is a precaution for systems that update automatically
- $basepath = $a->getBasePath();
- if (!file_exists($basepath . '/.htaccess') && is_writable($basepath)) {
- copy($basepath . '/.htaccess-dist', $basepath . '/.htaccess');