/** * getInstance * * @return Instance */ public static function &getInstance() { if (!self::$_instance) { self::$_instance = new AutotweetPostHelper(); } return self::$_instance; }
/** * Checks for new events in the database (no triggers). * * @return void */ private function _onAfterRender() { $app = JFactory::getApplication(); if ($app->isAdmin()) { return; } $option = $app->input->get('option'); $task = $app->input->get('task'); if ($option == 'com_autotweet' && $task == 'route') { return; } $this->cron_enabled = EParameter::getComponentParam(CAUTOTWEETNG, 'cron_enabled', false); if ($this->cron_enabled) { return; } $automators = F0FModel::getTmpInstance('Automators', 'AutoTweetModel'); if (!$automators->lastRunCheck('automator', $this->interval)) { return; } $logger = AutotweetLogger::getInstance(); // Bot/crawler detection $http_user_agent = isset($_SERVER['HTTP_USER_AGENT']) ? $_SERVER['HTTP_USER_AGENT'] : null; $remote_addr = isset($_SERVER['REMOTE_ADDR']) ? $_SERVER['REMOTE_ADDR'] : null; if (0 < $this->detect_bots && ($this->detectCrawlerByAgent($http_user_agent) || $this->detectCrawlerByIP($remote_addr))) { $logger->log(JLog::WARNING, 'AutoTweet NG Automator-Plugin - crawler detected. IP: ' . $remote_addr . ', Agent: ' . $http_user_agent); return; } $logger->log(JLog::INFO, 'AutoTweet NG Automator-Plugin - executed - IP: ' . $remote_addr . ', Agent: ' . $http_user_agent); define('AUTOTWEET_AUTOMATOR_RUNNING', true); $helper = AutotweetPostHelper::getInstance(); $helper->postQueuedMessages($this->max_posts); $feeds_enabled = EParameter::getComponentParam(CAUTOTWEETNG, 'feeds_enabled', false); if ($feeds_enabled) { $helper = FeedLoaderHelper::getInstance(); $helper->importFeeds(); } }