Author: Jonathan.Wage
Date: 2010-02-03 00:55:30 +0100 (Wed, 03 Feb 2010)
New Revision: 27461
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalConfigForm.class.php
Log:
[1.4][sfSympalPlugin][1.0] Adding ability to choose what languages you can use
in Sympal from the admin system settings
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
2010-02-02 23:30:45 UTC (rev 27460)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
2010-02-02 23:55:30 UTC (rev 27461)
@@ -105,18 +105,38 @@
{
$form = $event->getSubject();
- $array = sfSympalFormToolkit::getThemeWidgetAndValidator();
-
- $languageForm = new sfFormLanguage(
- sfContext::getInstance()->getUser(),
- array('languages' => sfSympalConfig::getLanguageCodes())
- );
- $widgetSchema = $languageForm->getWidgetSchema();
- $validatorSchema = $languageForm->getValidatorSchema();
+ if (sfSympalConfig::isI18nEnabled())
+ {
+ $cultures = sfCultureInfo::getCultures(sfCultureInfo::NEUTRAL);
+ $languages = array();
+ foreach ($cultures as $key => $value)
+ {
+ $formatted = format_language($value);;
+ if ($formatted)
+ {
+ $languages[$value] = $formatted;
+ }
+ }
+ asort($languages);
+ $widget = new sfWidgetFormChoice(array('multiple' => true, 'choices' =>
$languages));
+ $validator = new sfValidatorChoice(array('multiple' => true, 'choices'
=> array_keys($languages)));
+ $form->addSetting(null, 'language_codes', 'Available Cultures', $widget,
$validator);
- $form->addSetting(null, 'default_culture', 'Default Culture',
$widgetSchema['language'], $validatorSchema['language']);
+ $languageForm = new sfFormLanguage(
+ sfContext::getInstance()->getUser(),
+ array('languages' => sfSympalConfig::getLanguageCodes())
+ );
+ $widgetSchema = $languageForm->getWidgetSchema();
+ $validatorSchema = $languageForm->getValidatorSchema();
+
+ $form->addSetting(null, 'default_culture', 'Default Culture',
$widgetSchema['language'], $validatorSchema['language']);
+ }
+
$form->addSetting(null, 'rows_per_page', 'Rows Per Page');
+
+ $array = sfSympalFormToolkit::getThemeWidgetAndValidator();
$form->addSetting(null, 'default_theme', 'Default Theme',
$array['widget'], $array['validator']);
+
$form->addSetting(null, 'default_rendering_module', 'Default Rendering
Module');
$form->addSetting(null, 'default_rendering_action', 'Default Rendering
Action');
$form->addSetting(null, 'recaptcha_public_key', 'Recaptcha Public Key');
Modified:
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalConfigForm.class.php
===================================================================
---
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalConfigForm.class.php
2010-02-02 23:30:45 UTC (rev 27460)
+++
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/lib/form/sfSympalConfigForm.class.php
2010-02-02 23:55:30 UTC (rev 27461)
@@ -115,6 +115,8 @@
$array = array();
$array['all']['sympal_config'] = array();
+
+ // Add only the values that have changed from the old default values
foreach ($new as $key => $value)
{
if ($value != $old[$key])
@@ -123,10 +125,22 @@
}
}
- return sfToolkit::arrayDeepMerge(
+ // Merge in existing values from the current app.yml file
+ $array = sfToolkit::arrayDeepMerge(
sfYaml::load(sfConfig::get('sf_app_dir').'/config/app.yml'),
$array
);
+
+ // Remove values that don't exist anymore
+ foreach ($array['all']['sympal_config'] as $key => $value)
+ {
+ if (!array_key_exists($key, $new))
+ {
+ unset($array['all']['sympal_config'][$key]);
+ }
+ }
+
+ return $array;
}
public function getGroups()
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.