Author: ornicar2
Date: 2010-01-25 02:15:35 +0100 (Mon, 25 Jan 2010)
New Revision: 27151

Modified:
   
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPage.class.php
   
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPageTable.class.php
   
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmWidgetTable.class.php
Log:
[Diem]
- added PluginDmWidgetTable->createInZone method
- 404 page comes with a default H1 widget

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPage.class.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPage.class.php 
    2010-01-25 01:00:03 UTC (rev 27150)
+++ 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPage.class.php 
    2010-01-25 01:15:35 UTC (rev 27151)
@@ -204,9 +204,9 @@
 
     parent::save($conn);
   
-    if ($ed = $this->getEventDispatcher())
+    if ($dispatcher = $this->getEventDispatcher())
     {
-      $ed->notify(new sfEvent($this, 'dm.page.post_save'));
+      $dispatcher->notify(new sfEvent($this, 'dm.page.post_save'));
     }
   }
   

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPageTable.class.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPageTable.class.php
        2010-01-25 01:00:03 UTC (rev 27150)
+++ 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmPageTable.class.php
        2010-01-25 01:15:35 UTC (rev 27151)
@@ -37,13 +37,21 @@
     // check error404 page
     if (!$this->createQuery('p')->where('p.module = ? AND p.action = ?', 
array('main', 'error404'))->exists())
     {
-      $this->create(array(
+      $page404 = $this->create(array(
         'module' => 'main',
         'action' => 'error404',
         'name' => dm::getI18n()->__('Page not found'),
         'title' => dm::getI18n()->__('Page not found'),
         'slug' => 'error404'
-      ))->getNode()->insertAsLastChildOf($root);
+      ));
+
+      $page404->getNode()->insertAsLastChildOf($root);
+
+      dmDb::table('DmWidget')->createInZone(
+        $page404->PageView->Area->Zones[0],
+        'dmWidgetContent/title',
+        array('text' => 'Page not found', 'tag' => 'h1')
+      )->save();
     }
 
     // check login page

Modified: 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmWidgetTable.class.php
===================================================================
--- 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmWidgetTable.class.php
      2010-01-25 01:00:03 UTC (rev 27150)
+++ 
plugins/diemPlugin/trunk/dmCorePlugin/lib/model/doctrine/PluginDmWidgetTable.class.php
      2010-01-25 01:15:35 UTC (rev 27151)
@@ -4,6 +4,21 @@
 class PluginDmWidgetTable extends myDoctrineTable
 {
 
+  public function createInZone(DmZone $zone, $moduleAction, $values)
+  {
+    list($module, $action) = explode('/', $moduleAction);
+
+    $widget = $this->create(array(
+      'dm_zone_id' => $zone->id,
+      'module' => $module,
+      'action' => $action
+    ));
+
+    $widget->setValues($values);
+
+    return $widget;
+  }
+
   public function findOneByIdWithI18n($id, $culture = null)
   {
     return $this->createQuery('w')

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