/** * Get config options for this token * * Order of reading is track/round, survey, survey code * * @param \Gems_Tracker_Token $token */ public function getConfig($token) { try { $trackId = $token->getTrackId(); $roundId = $token->getRoundId(); $db = \Zend_Db_Table::getDefaultAdapter(); $select = $db->select()->from('gems__chart_config')->where('gcc_tid = ?', $trackId)->where('gcc_rid = ?', $roundId); if ($result = $select->query()->fetch()) { $config = \Zend_Json::decode($result['gcc_config']); return $config; } $surveyId = $token->getSurveyId(); $select = $db->select()->from('gems__chart_config')->where('gcc_sid = ?', $surveyId); if ($result = $select->query()->fetch()) { $config = \Zend_Json::decode($result['gcc_config']); return $config; } $surveyCode = $token->getSurvey()->getCode(); $select = $db->select()->from('gems__chart_config')->where('gcc_code = ?', $surveyCode); $config = $select->query()->fetch(); if ($config !== false) { $config = \Zend_Json::decode($config['gcc_config']); } return $config; } catch (\Exception $exc) { // Just ignore... } // If all fails, we might be missing the config table return false; }