2011年2月18日 星期五

在controller利用Zend_Config_Writer_Ini‏修改application.ini

application.ini內容

[production]
languages.locales.zh_TW = "繁體中文"
languages.locales.en = "English"

每當有修改語系時,從DB Call出所有語系,與application.ini比對,若沒有則加入至ini檔。

$row = $db->select()->from('languages')->query()->fetchAll();

$application = new Zend_Application(APPLICATION_ENV, APPLICATION_PATH . '/configs/application.ini');
$options = $application->getOptions();

$config = new Zend_Config_Ini('application/configs/application.ini', null, array('skipExtends' => true, 'allowModifications' => true));

foreach($row as $key => $val){
       if(!array_key_exists($val['code'], $options['languages']['locales'])){
                $config->production->languages->locales->$val['code'] = $val['name'];
                $writer = new Zend_Config_Writer_Ini(array('config'   => $config, 'filename' => APPLICATION_PATH . '/configs/application.ini'));
       }
}
$writer->write();

沒有留言:

張貼留言