/** * Answer some theme data by type * * @param string $type * @return string * @access protected * @since 5/15/08 */ protected function getThemeDataByType($type) { $query = new SelectQuery(); $query->addTable('segue_site_theme_data'); $query->addColumn('data'); $query->addWhereEqual('fk_theme', $this->id); $query->addWhereRawEqual('fk_type', "(SELECT id FROM segue_site_theme_data_type WHERE data_type = '" . addslashes($type) . "')"); $dbMgr = Services::getService("DatabaseManager"); $result = $dbMgr->query($query, $this->databaseIndex); if (!$result->hasNext()) { throw new OperationFailedException("Required template data, '{$type}' is missing from theme '" . $this->getIdString() . "'."); } $row = $result->next(); $result->free(); return $row['data']; }