コード例 #1
0
 /**
  * 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;
 }