public function editorWidget($aFormValues) { $aContent = array(); $aContent['status'] = 'failed'; $aContent['message'] = ''; $aContent['isFormValid'] = false; $aFeedParameters = $aFormValues['textParam']; $oForm = new \JsonData\Admin\Form\FeedWidget(\JsonData\Admin\Form\FeedWidget::CONTEXT_SELECT_FEED, array(), array('feed_parameters' => $aFeedParameters)); if ($oForm->isValid($aFormValues)) { $aContent['isFormValid'] = true; ksort($aFeedParameters); $aInsertData = array(); $aInsertData['json_data_id'] = $aFormValues['hiddenFeedId']; $aInsertData['parameters'] = serialize($aFeedParameters); $aInsertData['last_update_time'] = date('Y-m-d H:i:s'); $aInsertData['last_display_time'] = date('Y-m-d H:i:s'); $oDaoJsonData = new \JsonData\Common\Model\Dao\JsonData(); $mStatus = $oDaoJsonData->insertJsonDataQueue($aInsertData); if (is_int($mStatus)) { $aFeed = $oDaoJsonData->fetchFeed($aInsertData['json_data_id']); $oFeed = new JsonDataFeed(); $oFeed->updateQueue($aInsertData['json_data_id'], $mStatus); $aContent['queue_id'] = $mStatus; $aContent['slug'] = $aFeed['feed_slug']; $aContent['status'] = 'success'; $aContent['message'] = 'Data successfully saved to database'; } else { $aContent['message'] = 'Failed to save data'; } } return $aContent; }
public function doCronjob() { if (isset($_GET['update_jsondata']) && $_GET['update_jsondata'] == 1) { $oFeed = new JDfeedModel(); $oFeed->cronUpdate(); $oFeed->cronRemove(); } }
public static function doActivation() { add_option(\JsonData\Config::OPTION_NAME_CRON_SETTINGS, 'true'); $oFeed = new Common\Model\Feed(); $oFeed->scheduleCron(); $oDaoRegister = new Common\Model\Dao\JsonData(); $oDaoRegister->createTable(); get_role("administrator")->add_cap(\JsonData\Config::CAPABILITY_GENERAL_NAME); get_role("editor")->add_cap(\JsonData\Config::CAPABILITY_RESTRICTED_NAME); }
public function display($aAttributes) { $oDaoJsonData = new JsonDataDao(); $sFeedSlug = $aAttributes['slug']; unset($aAttributes['slug']); $aFeed = $oDaoJsonData->fetchFeedBySlug($sFeedSlug); $iFeedId = $aFeed['id']; $aDefaultParameters = unserialize($aFeed['feed_parameters']); ksort($aAttributes); ksort($aDefaultParameters); $aNewKeys = array_diff($aAttributes, $aDefaultParameters); $aAllParams = array_merge($aDefaultParameters, $aNewKeys); ksort($aAllParams); $aAttributes = array_combine(array_keys($aAllParams), $aAttributes); ksort($aAttributes); $sSerializedParameters = serialize($aAttributes); $aFeedDetail = $oDaoJsonData->fetchSingleFeedQueueByParams($iFeedId, $sSerializedParameters); if (!$aFeedDetail) { $aInsertData = array(); $aInsertData['json_data_id'] = $iFeedId; $aInsertData['parameters'] = $sSerializedParameters; $aInsertData['last_update_time'] = date('Y-m-d H:i:s'); $aInsertData['last_display_time'] = date('Y-m-d H:i:s'); $mStatus = $oDaoJsonData->insertJsonDataQueue($aInsertData); if (is_int($mStatus)) { $oFeed = new JsonDataFeed(); $oFeed->updateQueue($iFeedId, $mStatus); $aFeedDetail = $oDaoJsonData->fetchSingleFeedQueueByParams($iFeedId, $sSerializedParameters); } } if ($aFeedDetail) { $iFeedId = $aFeedDetail['json_data_id']; $iFeedQueueId = $aFeedDetail['id']; $oDaoJsonData->updateDisplayTime($iFeedQueueId); $this->enqueueFrontEndCss($iFeedId, $sFeedSlug); $sData = file_get_contents(JsonData_Cache_Dir . DIRECTORY_SEPARATOR . $sFeedSlug . DIRECTORY_SEPARATOR . 'data-' . $iFeedQueueId . '.json'); $aData = json_decode($sData, true); require JsonData_Cache_Dir . $sFeedSlug . DIRECTORY_SEPARATOR . 'template.phtml'; } }
public function manage() { $oForm = new JDAdminForm\Settings(JDAdminForm\Settings::CONTEXT_CREATE); if (empty($_POST)) { $bServerCron = get_option(JDConfig::OPTION_NAME_CRON_SETTINGS); $sEmail = get_option(JDConfig::OPTION_NAME_DEBUG_EMAIL); $aPopulateData = array('radioServerCron' => $bServerCron, 'textEmail' => $sEmail); $oForm->populate($aPopulateData); } else { if ($oForm->isValid($_POST)) { $aFormValues = $oForm->getValues(); $sCron = $aFormValues['radioServerCron']; $sEmail = $aFormValues['textEmail']; update_option(JDConfig::OPTION_NAME_CRON_SETTINGS, $sCron); update_option(JDConfig::OPTION_NAME_DEBUG_EMAIL, $sEmail); $oFeed = new JDFeed(); $oFeed->scheduleCron(); } } $aContent = array('form' => $oForm); return $aContent; }
public function remove() { $aContent = array(); $aContent['redirect'] = JDConfig::getHomeRedirectUrl(); if (!isset($_GET['id'])) { } $iId = $_GET['id']; $oDaoJsonData = new JsonDataDao(); $aDetail = $oDaoJsonData->fetchFeed($iId); if (!empty($aDetail)) { $bStatus = $oDaoJsonData->deleteFeed($iId); if (is_int($bStatus)) { $aFeedQueues = $oDaoJsonData->fetchFeedQueue($iId); //get all feedques with same id $aToBeDeleteId = array(); foreach ($aFeedQueues as $aFeedRaw) { $aToBeDeleteId[] = $aFeedRaw['id']; } array_map(array(&$oDaoJsonData, 'deleteFeedQueue'), $aToBeDeleteId); //delete all feed associate with id $oFeed = new JsonDataFeed(); $oFeed->removeFeedDir($aDetail['feed_slug']); //remove files and directory } } // var_dump($bStatus); // var_dump(JDConfig::getHomeRedirectUrl()); // die(); if ($bStatus != false) { $aContent['redirect'] = JDConfig::getHomeRedirectUrl(); } return $aContent; }