public function cron() { $this->load->model('tool/nitro'); $this->model_tool_nitro->loadCore(); if (!$this->model_tool_nitro->from_cron_url()) { return; } if (!getNitroPersistence('CRON.Remote.Delete')) { return; } $tasks = array(); $now = time(); if (getNitroPersistence('CRON.Remote.Delete')) { $period = getNitroPersistence('PageCache.ExpireTime'); $period = !empty($period) ? $period : NITRO_PAGECACHE_TIME; $tasks[] = '- Delete files older than ' . date('Y-m-d H:i:s', $now - $period); cleanNitroCacheFolders('index.html', $period); } if (getNitroPersistence('CRON.Remote.SendEmail')) { $subject = 'NitroPack Remote CRON job'; $message = 'Time of execution: ' . date('Y-m-d H:i:s', $now) . PHP_EOL . PHP_EOL; $message .= 'Executed tasks: ' . PHP_EOL . implode(PHP_EOL, $tasks) . PHP_EOL . PHP_EOL; sendNitroMail(getOpenCartSetting('config_email'), $subject, $message); } }
if (!empty($data)) { $urls = json_decode($data); $total = count($urls); $currency = strtoupper(getOpenCartSetting('config_currency')); $language = getOpenCartSetting('config_language'); foreach ($urls as $target) { $ch = curl_init($target); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HEADER, false); curl_setopt($ch, CURLOPT_USERAGENT, 'Nitro-Precache'); curl_setopt($ch, CURLOPT_FOLLOWLOCATION, true); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false); $headers = array('Nitro-Precache: 1', 'Cache-Control: no-cache', 'Pragma: no-cache', 'Connection: keep-alive'); $cookie = 'currency=' . $currency . '; language=' . $language . ';'; curl_setopt($ch, CURLOPT_HTTPHEADER, $headers); curl_setopt($ch, CURLOPT_COOKIE, $cookie); curl_exec($ch); curl_close($ch); } $precache_progress .= ' Precached ' . $total . ' pages'; } else { $precache_progress .= ' Pre-cache data not found. URL: ' . $url . PHP_EOL; } $tasks[] = $precache_progress; } if (getNitroPersistence('CRON.Local.SendEmail')) { $subject = 'NitroPack Local CRON job'; $message = 'Time of execution: ' . date('Y-m-d H:i:s', $now) . PHP_EOL . PHP_EOL; $message .= 'Executed tasks: ' . PHP_EOL . implode(PHP_EOL, $tasks) . PHP_EOL . PHP_EOL; sendNitroMail(getOpenCartSetting('config_email'), $subject, $message); }