Author: Jonathan.Wage
Date: 2010-02-02 21:23:41 +0100 (Tue, 02 Feb 2010)
New Revision: 27443

Modified:
   plugins/sfSympalPlugin/trunk/config/routing.yml
   
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentSlot.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/lib/helper/SympalContentSlotEditorHelper.php
   
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/modules/sympal_edit_slot/templates/_slot_editor_renderer.php
   plugins/sfSympalPlugin/trunk/lib/user/sfSympalUser.class.php
   plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
   
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
Log:
[1.4][sfSympalPlugin][1.0] Implementing edit culture to separate the culture as 
whole from the culture being edited and adding control to change the current 
edit culture


Modified: plugins/sfSympalPlugin/trunk/config/routing.yml
===================================================================
--- plugins/sfSympalPlugin/trunk/config/routing.yml     2010-02-02 20:20:15 UTC 
(rev 27442)
+++ plugins/sfSympalPlugin/trunk/config/routing.yml     2010-02-02 20:23:41 UTC 
(rev 27443)
@@ -12,6 +12,10 @@
   url:   /change_language/:language
   param: { module: sympal_default, action: change_language, language: en }
 
+sympal_change_edit_language:
+  url:   /change_edit_language/:language
+  param: { module: sympal_default, action: change_edit_language, language: en }
+
 sympal_sitemap:
   url:   /sitemap.xml
   param: { module: sympal_default, action: sitemap, sf_format: xml }

Modified: 
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentSlot.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentSlot.class.php
 2010-02-02 20:20:15 UTC (rev 27442)
+++ 
plugins/sfSympalPlugin/trunk/lib/model/doctrine/PluginsfSympalContentSlot.class.php
 2010-02-02 20:23:41 UTC (rev 27443)
@@ -71,7 +71,7 @@
       {
         $formClass = sfSympalConfig::get('inline_editing', 
'default_column_form');
         $form = new $formClass($content);
-        
$form->useFields(array(sfContext::getInstance()->getUser()->getCulture()));
+        
$form->useFields(array(sfContext::getInstance()->getUser()->getEditCulture()));
       }      
     }
 
@@ -92,7 +92,7 @@
       if ($contentTypeTranslationTable->hasField($this->name))
       {
         $form = new $contentTypeFormClassName($content->getRecord()); 
-        $i18nForm = $form->getEmbeddedForm($language = 
sfContext::getInstance()->getUser()->getCulture()); 
+        $i18nForm = $form->getEmbeddedForm($language = 
sfContext::getInstance()->getUser()->getEditCulture()); 
         $i18nForm->useFields(array($this->name)); 
         unset($form[$language]); 
         $form->embedForm($language, $i18nForm); 

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
      2010-02-02 20:20:15 UTC (rev 27442)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalAdminPlugin/config/sfSympalAdminPluginConfiguration.class.php
      2010-02-02 20:23:41 UTC (rev 27443)
@@ -171,5 +171,16 @@
         ->addChild(image_tag('/sf/sf_admin/images/add.png').' '.__('Add to 
Menu'), '@sympal_content_menu_item?id='.$content->getId())
         ->setCredentials('ManageMenus');
     }
+
+    if (sfSympalConfig::isI18nEnabled())
+    {
+      foreach (sfSympalConfig::getLanguageCodes() as $code)
+      {
+        if (sfContext::getInstance()->getUser()->getEditCulture() != $code)
+        {
+          
$contentEditor->addChild(image_tag('/sfSympalPlugin/images/flags/'.strtolower($code).'.png').'
 Change to '.format_language($code), 
'@sympal_change_edit_language?language='.$code, 'title=Switch to 
'.format_language($code));
+        }
+      }
+    }
   }
 }
\ No newline at end of file

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/lib/helper/SympalContentSlotEditorHelper.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/lib/helper/SympalContentSlotEditorHelper.php
  2010-02-02 20:20:15 UTC (rev 27442)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/lib/helper/SympalContentSlotEditorHelper.php
  2010-02-02 20:23:41 UTC (rev 27443)
@@ -34,14 +34,6 @@
     isButton(false)
   ;
 
-  if (sfSympalConfig::isI18nEnabled())
-  {
-    $menu->
-      addChild(get_partial('sympal_default/change_language_form'))->
-      isButton(false)
-    ;
-  }
-
   if ($content->getEditableSlotsExistOnPage())
   {
     $menu->addChild('Links', '@sympal_editor_links')->

Modified: 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/modules/sympal_edit_slot/templates/_slot_editor_renderer.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/modules/sympal_edit_slot/templates/_slot_editor_renderer.php
  2010-02-02 20:20:15 UTC (rev 27442)
+++ 
plugins/sfSympalPlugin/trunk/lib/plugins/sfSympalEditorPlugin/modules/sympal_edit_slot/templates/_slot_editor_renderer.php
  2010-02-02 20:23:41 UTC (rev 27443)
@@ -1,12 +1,12 @@
 <?php if ($contentSlot->getIsColumn()): ?>
   <?php if (sfSympalConfig::isI18nEnabled('sfSympalContentSlot') && 
!isset($form[$contentSlot->getName()])): ?>
-    <?php echo $form[$sf_user->getCulture()][$contentSlot->getName()] ?>
+    <?php echo $form[$sf_user->getEditCulture()][$contentSlot->getName()] ?>
   <?php else: ?>
     <?php echo $form[$contentSlot->getName()] ?>
   <?php endif; ?>
 <?php else: ?>
   <?php if (sfSympalConfig::isI18nEnabled('sfSympalContentSlot')): ?>
-    <?php echo $form[$sf_user->getCulture()]['value'] ?>
+    <?php echo $form[$sf_user->getEditCulture()]['value'] ?>
   <?php else: ?>
     <?php echo $form['value'] ?>
   <?php endif; ?>

Modified: plugins/sfSympalPlugin/trunk/lib/user/sfSympalUser.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/user/sfSympalUser.class.php        
2010-02-02 20:20:15 UTC (rev 27442)
+++ plugins/sfSympalPlugin/trunk/lib/user/sfSympalUser.class.php        
2010-02-02 20:23:41 UTC (rev 27443)
@@ -6,6 +6,21 @@
     $_forwarded  = false,
     $_isEditMode = null;
 
+  public function getEditCulture()
+  {
+    if ($editCulture = $this->getAttribute('sympal_edit_culture'))
+    {
+      return $editCulture;
+    } else {
+      return $this->getCulture();
+    }
+  }
+
+  public function setEditCulture($culture)
+  {
+    $this->setAttribute('sympal_edit_culture', $culture);
+  }
+
   public function doIsEditModeCheck()
   {
     $content = sfSympalContext::getInstance()->getCurrentContent();

Modified: plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php
===================================================================
--- plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php 
2010-02-02 20:20:15 UTC (rev 27442)
+++ plugins/sfSympalPlugin/trunk/lib/util/sfSympalFormToolkit.class.php 
2010-02-02 20:23:41 UTC (rev 27443)
@@ -7,7 +7,7 @@
     if (sfSympalConfig::isI18nEnabled($name))
     {
       $context = sfContext::getInstance();
-      $culture = $context->getUser()->getCulture();
+      $culture = $context->getUser()->getEditCulture();
       $form->embedI18n(array(strtolower($culture)));
       $widgetSchema = $form->getWidgetSchema();
       $context->getConfiguration()->loadHelpers(array('Helper'));

Modified: 
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
===================================================================
--- 
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
 2010-02-02 20:20:15 UTC (rev 27442)
+++ 
plugins/sfSympalPlugin/trunk/modules/sympal_default/lib/Basesympal_defaultActions.class.php
 2010-02-02 20:23:41 UTC (rev 27443)
@@ -28,6 +28,12 @@
     return $this->redirect(str_replace('/'.$oldCulture.'/', 
'/'.$newCulture.'/', 
$this->getRequest()->getReferer($this->getUser()->getReferer('@homepage'))));
   }
 
+  public function executeChange_edit_language(sfWebRequest $request)
+  {
+    $this->getUser()->setEditCulture($request->getParameter('language'));
+    return $this->redirect(str_replace('/'.$oldCulture.'/', 
'/'.$newCulture.'/', 
$this->getRequest()->getReferer($this->getUser()->getReferer('@homepage'))));
+  }
+
   public function executeAsk_confirmation(sfWebRequest $request)
   {
     if ($this->isAjax())

-- 
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.

Reply via email to