public function display($cachable = false, $urlparams = false) { header('Content-type: text/html; charset=ISO-8859-1'); $params = JComponentHelper::getParams('com_jak2filter'); $indexing = (int) $params->get('indexing_cron', 1); $interval = (int) $params->get('indexing_interval', 900); $interval = $interval * 60; $cronkey = $params->get('indexing_cron_key', 'indexing'); if (!$indexing) { return; } $db = JFactory::getDbo(); $query = "SELECT updatetime FROM #__jak2filter WHERE `name` = 'cron'"; $db->setQuery($query); $updatetime = $db->loadResult(); $updatetime = !$updatetime ? 0 : strtotime($updatetime); $key = JRequest::getVar('jakey'); $run = $updatetime + $interval < time() || $key == $cronkey; if ($run) { $now = date('Y-m-d H:i:s'); $query = "\n\t\t\t\t\tINSERT INTO #__jak2filter\n\t\t\t\t\tSET \n\t\t\t\t\t\t`name` = 'cron',\n\t\t\t\t\t\t`updatetime` = " . $db->quote($now) . ",\n\t\t\t\t\t\t`value` = 1\n\t\t\t\t\tON DUPLICATE KEY UPDATE\n\t\t\t\t\t\t`updatetime` = " . $db->quote($now) . ",\n\t\t\t\t\t\t`value` = 1\n\t\t\t\t\t"; $db->setQuery($query); $db->query(); // $helper = new JAK2FilterHelper(); $helper->indexingData('cron'); } else { $msg = JText::sprintf('The cron job will be run on %s', date('Y-m-d H:i:s', $updatetime + $interval)); jexit($msg); } }
function checkUpdate() { jimport('joomla.filesystem.file'); $dbPath = JPATH_ADMINISTRATOR . '/components/com_jak2filter/installer/sql/'; /** * Example code for upgrade to version x.x.x */ $versions = array("1.0.2", "1.0.7", "1.0.9", "1.1.5"); $runIndexing = false; foreach ($versions as $version) { $check = dirname(__FILE__) . "/updated_{$version}.log"; if (!JFile::exists($check)) { if ($version == "1.1.5") { $runIndexing = true; } //processing code here $file = $dbPath . 'upgrade_v' . $version . '.sql'; $this->parseSQLFile($file); //end of update code $flag = 'Updated at ' . date('Y-m-d H:i:s'); JFile::write($check, $flag); } } if ($runIndexing) { $helper = new JAK2FilterHelper(); $message = $helper->indexingData('upgrade'); //JError::raiseNotice(100, $message); } }