* Copyright (c) 2006, Cake Software Foundation, Inc. * 1785 E. Sahara Avenue, Suite 490-204 * Las Vegas, Nevada 89104 * * Licensed under The MIT License * Redistributions of files must retain the above copyright notice. * * @filesource * @copyright Copyright (c) 2006, Cake Software Foundation, Inc. * @link http://www.cakefoundation.org/projects/info/cakephp CakePHP Project * @package cake * @subpackage cake.cake * @since CakePHP v 0.2.9 * @version $Revision: 1.1 $ * @modifiedby $LastChangedBy: phpnut $ * @lastmodified $Date: 2006-08-26 03:30:20 $ * @license http://www.opensource.org/licenses/mit-license.php The MIT License */ /** * Short description for class. * * Add your application-wide methods in the class below, your controllers * will inherit them. * * @package cake * @subpackage cake.cake */ class AppController extends Controller { var $translation; function AppController() { parent::Controller(); // This connection info is hardcoded to: // 1) The 'default' cake connection // 2) MySQL $cm =& new ConnectionManager(); $db = $cm->getDataSource('default'); $db_user = $db->config['login']; $db_pass = $db->config['password']; $db_host = $db->config['host']; $db_name = $db->config['database']; $dsn = "mysql://$db_user:$db_pass@$db_host/$db_name"; $params = array( 'langs_avail_table' => 'langs', 'lang_id_col' => 'id', 'lang_name_col' => 'name', 'lang_meta_col' => 'meta', 'lang_errmsg_col' => 'error_text', 'string_id_col' => 'translated_column', 'string_page_id_col' => 'pk_column', 'string_text_col' => '%s', //'%s' will be replaced by the lang code 'strings_default_table' => 'translations' /* If we ever split the language into separate tables, we can get rid of 'strings_default_table' and replace with: 'strings_tables' => array( 'en_US' => 'en_US_table', 'fr' => 'fr_table', 'de' => 'de_table' ), */ ); $this->translation =& Translation2::factory('DB', $dsn, $params); if (PEAR::isError($this->translation)) { // What do we wan't to do here? If this is broken, we're going to have // major problems. //die($this->translation->getMessage()); } // LANG is set in bootstrap.php $this->translation->setLang(LANG); // Get all the translations for our page. If we ever get a global set, we // can get that here as well $lang = $this->translation->getPage($this->name); // give lang to view $this->set("lang", $lang); } } ?>