Author: ornicar2
Date: 2010-02-09 17:11:02 +0100 (Tue, 09 Feb 2010)
New Revision: 27788

Added:
   plugins/dmTagPlugin/LICENSE
   plugins/dmTagPlugin/README
   plugins/dmTagPlugin/config/
   plugins/dmTagPlugin/config/dm/
   plugins/dmTagPlugin/config/dm/modules.yml
   plugins/dmTagPlugin/config/doctrine/
   plugins/dmTagPlugin/config/doctrine/schema.yml
   plugins/dmTagPlugin/lib/
   plugins/dmTagPlugin/lib/doctrine/
   plugins/dmTagPlugin/lib/doctrine/extension/
   plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/
   plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/DmTaggable.php
   plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/Template/
   plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/Template/DmTaggable.php
   plugins/dmTagPlugin/lib/filter/
   plugins/dmTagPlugin/lib/filter/doctrine/
   plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagFormFilter.class.php
   
plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagTranslationFormFilter.class.php
   plugins/dmTagPlugin/lib/form/
   plugins/dmTagPlugin/lib/form/doctrine/
   plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagForm.class.php
   plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagTranslationForm.class.php
   plugins/dmTagPlugin/lib/model/
   plugins/dmTagPlugin/lib/model/doctrine/
   plugins/dmTagPlugin/lib/model/doctrine/PluginDmTag.class.php
   plugins/dmTagPlugin/lib/model/doctrine/PluginDmTagTable.class.php
   plugins/dmTagPlugin/modules/
   plugins/dmTagPlugin/modules/dmTag/
   plugins/dmTagPlugin/modules/dmTag/actions/
   plugins/dmTagPlugin/modules/dmTag/actions/actions.class.php
   plugins/dmTagPlugin/modules/dmTag/actions/components.class.php
   plugins/dmTagPlugin/modules/dmTag/lib/
   plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagActions.class.php
   plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagComponents.class.php
   plugins/dmTagPlugin/modules/dmTag/templates/
   plugins/dmTagPlugin/modules/dmTag/templates/_list.php
   plugins/dmTagPlugin/modules/dmTag/templates/_popular.php
   plugins/dmTagPlugin/modules/dmTag/templates/_show.php
   plugins/dmTagPlugin/modules/dmTagAdmin/
   plugins/dmTagPlugin/modules/dmTagAdmin/actions/
   plugins/dmTagPlugin/modules/dmTagAdmin/actions/actions.class.php
   plugins/dmTagPlugin/modules/dmTagAdmin/config/
   plugins/dmTagPlugin/modules/dmTagAdmin/config/generator.yml
   plugins/dmTagPlugin/modules/dmTagAdmin/lib/
   plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminExport.class.php
   plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminForm.php
   
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorConfiguration.class.php
   
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorHelper.class.php
   plugins/dmTagPlugin/modules/dmTagAdmin/templates/
Log:
[Diem][dmTagPlugin] initial import

Added: plugins/dmTagPlugin/LICENSE
===================================================================
--- plugins/dmTagPlugin/LICENSE                         (rev 0)
+++ plugins/dmTagPlugin/LICENSE 2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,19 @@
+Copyright (c) 2010 Thibault Duplessis
+
+Permission is hereby granted, free of charge, to any person obtaining a copy
+of this software and associated documentation files (the "Software"), to deal
+in the Software without restriction, including without limitation the rights
+to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+copies of the Software, and to permit persons to whom the Software is furnished
+to do so, subject to the following conditions:
+
+The above copyright notice and this permission notice shall be included in all
+copies or substantial portions of the Software.
+
+THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+THE SOFTWARE.
\ No newline at end of file

Added: plugins/dmTagPlugin/README
===================================================================
--- plugins/dmTagPlugin/README                          (rev 0)
+++ plugins/dmTagPlugin/README  2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,20 @@
+dmTagPlugin
+=================
+
+The `dmTagPlugin` allows to add tags to your records.
+It packages
+- a Doctrine behaviour, "DmTaggable"
+- two front widgets: "dmTag/list" and "dmTag/show"
+- an admin interface to manage tags
+
+DmTaggable works like [Doctrine 
Taggable](http://www.doctrine-project.org/extension/Taggable/1_2-1_0).
+The main difference is that the DmTag model physically exists.
+It allows to use the DmTagTable at any moment.
+One Diem page is created for each tag.
+
+The plugin is fully extensible. Only works with [Diem 
5.0](http://diem-project.org/) installed.
+
+Documentation
+-------------
+
+See the online documentation : [Diem Tag plugin 
documentation](http://diem-project.org/plugins/dmtagplugin)
\ No newline at end of file

Added: plugins/dmTagPlugin/config/dm/modules.yml
===================================================================
--- plugins/dmTagPlugin/config/dm/modules.yml                           (rev 0)
+++ plugins/dmTagPlugin/config/dm/modules.yml   2010-02-09 16:11:02 UTC (rev 
27788)
@@ -0,0 +1,12 @@
+Content:
+
+  Tag:
+    
+    dmTag:
+      model:            DmTag
+      name:             Tag
+      page:             true
+      components:
+        list:
+        show:
+        popular:
\ No newline at end of file

Added: plugins/dmTagPlugin/config/doctrine/schema.yml
===================================================================
--- plugins/dmTagPlugin/config/doctrine/schema.yml                              
(rev 0)
+++ plugins/dmTagPlugin/config/doctrine/schema.yml      2010-02-09 16:11:02 UTC 
(rev 27788)
@@ -0,0 +1,3 @@
+DmTag:
+  columns:
+    name:       { type: string(255), notnull: true, unique: true }
\ No newline at end of file

Added: plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/DmTaggable.php
===================================================================
--- plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/DmTaggable.php        
                        (rev 0)
+++ plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/DmTaggable.php        
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,46 @@
+<?php
+
+class Doctrine_DmTaggable extends Doctrine_Record_Generator
+{
+  protected $_options = array();
+
+  public function __construct(array $options = array())
+  {
+    $this->_options = $options;
+  }
+
+  public function setTableDefinition()
+  {
+    $this->hasColumn('dm_tag_id', 'integer', null, array('primary' => true));
+    
+    $this->option('symfony', array('form' => false, 'filter' => false));
+  }
+
+  public function generateClass(array $definition = array())
+  {
+    $definition['inheritance']['extends'] = 'myDoctrineRecord';
+
+    return parent::generateClass($definition);
+  }
+
+  public function buildRelation()
+  {
+    $this->_table->bind(array($this->_options['tagClass'], array(
+      'local'    => 'dm_tag_id',
+      'foreign'  => 'id',
+      'onDelete' => 'CASCADE'
+    )), Doctrine_Relation::ONE);
+
+    $this->getOption('table')->bind(array($this->_options['tagClass'] . ' as ' 
. $this->_options['tagAlias'], array(
+      'local'    => 'id',
+      'foreign'  => 'dm_tag_id',
+      'refClass' => $this->_table->getComponentName()
+    )), Doctrine_Relation::MANY);
+
+    parent::buildRelation();
+  }
+
+  public function setUp()
+  {
+  }
+}
\ No newline at end of file

Added: 
plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/Template/DmTaggable.php
===================================================================
--- 
plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/Template/DmTaggable.php   
                            (rev 0)
+++ 
plugins/dmTagPlugin/lib/doctrine/extension/DmTaggable/Template/DmTaggable.php   
    2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,184 @@
+<?php
+
+class Doctrine_Template_DmTaggable extends Doctrine_Template
+{
+  protected $_options = array(
+    'tagClass'      => 'DmTag',
+    'tagAlias'      => 'Tags',
+    'className'     => '%CLASS%DmTag',
+    'generateFiles' => false,
+    'table'         => false,
+    'pluginTable'   => false,
+    'children'      => array(),
+    'cascadeDelete' => true,
+    'appLevelDelete' => false,
+    'cascadeUpdate' => false
+  );
+
+  public function __construct(array $options = array())
+  {
+    $this->_options = Doctrine_Lib::arrayDeepMerge($this->_options, $options);
+
+    $this->_plugin = new Doctrine_DmTaggable($this->_options);
+  }
+
+  public function setUp()
+  {
+    $this->_plugin->initialize($this->_table);
+
+    
dmDb::table($this->_options['tagClass'])->bind(array($this->_table->getComponentName(),
 array(
+      'local'    => 'dm_tag_id',
+      'foreign'  => 'id',
+      'refClass' => $this->_plugin->getTable()->getOption('name')
+    )), Doctrine_Relation::MANY);
+  }
+
+  public function getNbTags()
+  {
+    return $this->getInvoker()->get('Tags')->count();
+  }
+
+  public function hasTags()
+  {
+    return $this->getNbTags() > 0;
+  }
+
+  public function getTagNames()
+  {
+    $tagNames = array();
+    foreach ($this->getInvoker()->get('Tags') as $tag)
+    {
+      $tagNames[] = $tag->get('name');
+    }
+    
+    return $tagNames;
+  }
+
+  public function getTagsString($sep = ', ')
+  {
+    return implode($sep, $this->getTagNames());
+  }
+
+  public function setTags($tags)
+  {
+    $tagIds = $this->getTagIds($tags);
+    $this->getInvoker()->unlink('Tags');
+    $this->getInvoker()->link('Tags', $tagIds);
+
+    return $this->getInvoker();
+  }
+
+  public function addTags($tags)
+  {
+    $this->getInvoker()->link('Tags', $this->getTagIds($tags));
+
+    return $this->getInvoker();
+  }
+
+  public function removeTags($tags)
+  {
+    $this->getInvoker()->unlink('Tags', $this->getTagIds($tags));
+
+    return $this->getInvoker();
+  }
+
+  public function removeAllTags()
+  {
+    $this->getInvoker()->unlink('Tags');
+
+    return $this->getInvoker();
+  }
+
+  public function getRelatedRecords($hydrationMode = Doctrine::HYDRATE_RECORD)
+  {
+    return $this->getRelatedRecordsQuery()
+    ->execute(array(), $hydrationMode);
+  }
+
+  public function hasRelatedRecords($hydrationMode = Doctrine::HYDRATE_RECORD)
+  {
+    return $this->getRelatedRecordsQuery()
+    ->count();
+  }
+
+  public function getRelatedRecordsQuery()
+  {
+    return $this->getInvoker()->getTable()
+    ->createQuery('a')
+    ->leftJoin('a.Tags t')
+    ->whereIn('t.id', $this->getCurrentTagIds())
+    ->andWhere('a.id != ?', $this->getInvoker()->get('id'));
+  }
+
+  public function getCurrentTagIds()
+  {
+    $tagIds = array();
+    foreach ($this->getTags() as $tag)
+    {
+      $tagIds[] = $tag->get('id');
+    }
+    
+    return $tagIds;
+  }
+
+  public function getTagIds($tags)
+  {
+    if (is_string($tags))
+    {
+      $tagNames = array_unique(array_filter(array_map('trim', explode(',', 
$tags))));
+
+      $tagsList = array();
+      if (!empty($tagNames))
+      {
+        $_existingTags = dmDb::table($this->_options['tagClass'])
+        ->createQuery('t')
+        ->whereIn('t.name', $tagNames)
+        ->fetchArray();
+
+        $existingTags = array();
+        foreach ($_existingTags as $tag)
+        {
+          $existingTags[$tag['name']] = true;
+          $tagsList[] = $tag['id'];
+        }
+
+        foreach ($tagNames as $tagName)
+        {
+          if (!isset($existingTags[$tagName]))
+          {
+            $tag = new $this->_options['tagClass']();
+            $tag->set('name', $tagName);
+            $tag->save();
+            $tagsList[] = $tag->get('id');
+          }
+        }
+      }
+
+      return $tagsList;
+    }
+    elseif (is_array($tags))
+    {
+      if (is_numeric(current($tags)))
+      {
+        return $tags;
+      }
+      else
+      {
+        return $this->getTagIds(implode(',', $tags));
+      }
+    }
+    elseif ($tags instanceof Doctrine_Collection)
+    {
+      return $tags->getPrimaryKeys();
+    }
+    else
+    {
+      throw new Doctrine_Exception('Invalid $tags data provided. Must be a 
string of tags, an array of tag ids, or a Doctrine_Collection of tag records.');
+    }
+  }
+
+  public function getDmTagRelClass()
+  {
+    return $this->_plugin->getTable()->getOption('name');
+  }
+}
\ No newline at end of file

Added: plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagFormFilter.class.php
===================================================================
--- plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagFormFilter.class.php     
                        (rev 0)
+++ plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagFormFilter.class.php     
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginDmTag form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage filter
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810 
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginDmTagFormFilter extends BaseDmTagFormFilter
+{
+}

Added: 
plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagTranslationFormFilter.class.php
===================================================================
--- 
plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagTranslationFormFilter.class.php
                          (rev 0)
+++ 
plugins/dmTagPlugin/lib/filter/doctrine/PluginDmTagTranslationFormFilter.class.php
  2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginDmTagTranslation form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage filter
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810 
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginDmTagTranslationFormFilter extends 
BaseDmTagTranslationFormFilter
+{
+}

Added: plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagForm.class.php
===================================================================
--- plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagForm.class.php             
                (rev 0)
+++ plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagForm.class.php     
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginDmTag form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage form
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12 
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginDmTagForm extends BaseDmTagForm
+{
+}

Added: 
plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagTranslationForm.class.php
===================================================================
--- plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagTranslationForm.class.php  
                        (rev 0)
+++ plugins/dmTagPlugin/lib/form/doctrine/PluginDmTagTranslationForm.class.php  
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginDmTagTranslation form.
+ *
+ * @package    ##PROJECT_NAME##
+ * @subpackage form
+ * @author     ##AUTHOR_NAME##
+ * @version    SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12 
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginDmTagTranslationForm extends BaseDmTagTranslationForm
+{
+}

Added: plugins/dmTagPlugin/lib/model/doctrine/PluginDmTag.class.php
===================================================================
--- plugins/dmTagPlugin/lib/model/doctrine/PluginDmTag.class.php                
                (rev 0)
+++ plugins/dmTagPlugin/lib/model/doctrine/PluginDmTag.class.php        
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * PluginDmTag
+ * 
+ * This class has been auto-generated by the Doctrine ORM Framework
+ * 
+ * @package    ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author     ##NAME## <##EMAIL##>
+ * @version    SVN: $Id: Builder.php 7021 2010-01-12 20:39:49Z lsmith $
+ */
+abstract class PluginDmTag extends BaseDmTag
+{
+
+}
\ No newline at end of file

Added: plugins/dmTagPlugin/lib/model/doctrine/PluginDmTagTable.class.php
===================================================================
--- plugins/dmTagPlugin/lib/model/doctrine/PluginDmTagTable.class.php           
                (rev 0)
+++ plugins/dmTagPlugin/lib/model/doctrine/PluginDmTagTable.class.php   
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,75 @@
+<?php
+/**
+ */
+class PluginDmTagTable extends myDoctrineTable
+{
+  protected
+  $taggableModelsLoaded;
+
+  public function loadTaggableModels()
+  {
+    if($this->taggableModelsLoaded)
+    {
+      return;
+    }
+
+    foreach(dmProject::getAllModels() as $model)
+    {
+      if(!class_exists($model, false))
+      {
+        dmDb::table($model);
+      }
+    }
+
+    $this->taggableModelsLoaded = true;
+  }
+
+  public function getPopularTagsQuery($relations = null, $limit = null, 
dmDoctrineQuery $q = null)
+  {
+    $this->loadTaggableModels();
+    
+    if (empty($relations))
+    {
+      $relations = array_keys($this->getRelationHolder()->getAssociations());
+    }
+    $relations = (array) $relations;
+
+    if(empty($relations))
+    {
+      throw new dmException('There is no taggable model');
+    }
+
+    $q = $q ? $q : $this->createQuery('t')->select('t.*');
+
+    $rootAlias = $q->getRootAlias();
+
+    $counts = array();
+    foreach ($relations as $relation)
+    {
+      $countAlias = 'num_' . Doctrine_Inflector::tableize($relation);
+
+      $q->leftJoin($rootAlias.'.' . $relation . ' '.$relation);
+      $q->addSelect('COUNT(DISTINCT ' . $relation . '.id) AS ' . $countAlias);
+      $counts[] = 'COUNT(DISTINCT ' . $relation .'.id)';
+    }
+
+    $q->addSelect('(' . implode(' + ', $counts) . ') as total_num');
+    $q->orderBy('total_num DESC');
+    $q->groupBy($rootAlias.'.id');
+    $q->addHaving('total_num > 0');
+
+    if(null !== $limit)
+    {
+      $q->limit($limit);
+    }
+    
+    return $q;
+  }
+
+  public function getPopularTags($relations = null, $limit = null, 
$hydrationMode = Doctrine::HYDRATE_RECORD)
+  {
+    $q = $this->getPopularTagsQuery($relations, $limit);
+
+    return $q->execute(array(), $hydrationMode);
+  }
+}
\ No newline at end of file

Added: plugins/dmTagPlugin/modules/dmTag/actions/actions.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/actions/actions.class.php                 
        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/actions/actions.class.php 2010-02-09 
16:11:02 UTC (rev 27788)
@@ -0,0 +1,12 @@
+<?php
+
+require_once 
realpath(dirname(__FILE__).'/..').'/lib/BasedmTagActions.class.php';
+
+/**
+ * Dm tag actions
+ */
+class dmTagActions extends BasedmTagActions
+{
+
+
+}


Property changes on: plugins/dmTagPlugin/modules/dmTag/actions/actions.class.php
___________________________________________________________________
Added: svn:executable
   + *

Added: plugins/dmTagPlugin/modules/dmTag/actions/components.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/actions/components.class.php              
                (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/actions/components.class.php      
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+require_once 
realpath(dirname(__FILE__).'/..').'/lib/BasedmTagComponents.class.php';
+
+/**
+ * Dm tag components
+ * 
+ * No redirection nor database manipulation ( insert, update, delete ) here
+ */
+class dmTagComponents extends BasedmTagComponents
+{
+
+}


Property changes on: 
plugins/dmTagPlugin/modules/dmTag/actions/components.class.php
___________________________________________________________________
Added: svn:executable
   + *

Added: plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagActions.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagActions.class.php            
                (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagActions.class.php    
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,5 @@
+<?php
+
+class BasedmTagActions extends myFrontModuleActions
+{
+}
\ No newline at end of file

Added: plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagComponents.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagComponents.class.php         
                (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/lib/BasedmTagComponents.class.php 
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,25 @@
+<?php
+
+class BasedmTagComponents extends myFrontModuleComponents
+{
+
+  public function executeList()
+  {
+    $query = $this->getListQuery();
+
+    $this->dmTagPager = $this->getPager($query);
+  }
+
+  public function executePopular()
+  {
+    $this->dmTags = dmDb::table('DmTag')->getPopularTags(array(), 100);
+  }
+
+  public function executeShow()
+  {
+    $query = $this->getShowQuery();
+
+    $this->dmTag = $this->getRecord($query);
+  }
+
+}
\ No newline at end of file

Added: plugins/dmTagPlugin/modules/dmTag/templates/_list.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/templates/_list.php                       
        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/templates/_list.php       2010-02-09 
16:11:02 UTC (rev 27788)
@@ -0,0 +1,18 @@
+<?php // Vars: $dmTagPager
+
+echo $dmTagPager->renderNavigationTop();
+
+echo _open('ul.elements');
+
+foreach ($dmTagPager as $dmTag)
+{
+  echo _open('li.element');
+
+    echo _link($dmTag);
+
+  echo _close('li');
+}
+
+echo _close('ul');
+
+echo $dmTagPager->renderNavigationBottom();
\ No newline at end of file


Property changes on: plugins/dmTagPlugin/modules/dmTag/templates/_list.php
___________________________________________________________________
Added: svn:executable
   + *

Added: plugins/dmTagPlugin/modules/dmTag/templates/_popular.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/templates/_popular.php                    
        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/templates/_popular.php    2010-02-09 
16:11:02 UTC (rev 27788)
@@ -0,0 +1,14 @@
+<?php // Vars: $dmTagPager
+
+echo _open('ul.elements');
+
+foreach ($dmTags as $dmTag)
+{
+  echo _open('li.element');
+
+    echo _link($dmTag)->text($dmTag->name.' ('.$dmTag->total_num.')');
+
+  echo _close('li');
+}
+
+echo _close('ul');
\ No newline at end of file

Added: plugins/dmTagPlugin/modules/dmTag/templates/_show.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTag/templates/_show.php                       
        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTag/templates/_show.php       2010-02-09 
16:11:02 UTC (rev 27788)
@@ -0,0 +1,3 @@
+<?php // Vars: $dmTag
+
+echo $dmTag;
\ No newline at end of file


Property changes on: plugins/dmTagPlugin/modules/dmTag/templates/_show.php
___________________________________________________________________
Added: svn:executable
   + *

Added: plugins/dmTagPlugin/modules/dmTagAdmin/actions/actions.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTagAdmin/actions/actions.class.php            
                (rev 0)
+++ plugins/dmTagPlugin/modules/dmTagAdmin/actions/actions.class.php    
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,16 @@
+<?php
+
+require_once 
dirname(__FILE__).'/../lib/dmTagAdminGeneratorConfiguration.class.php';
+require_once dirname(__FILE__).'/../lib/dmTagAdminGeneratorHelper.class.php';
+
+/**
+ * dmTagAdmin actions.
+ *
+ * @package    test
+ * @subpackage dmTagAdmin
+ * @author     Your name here
+ * @version    SVN: $Id: actions.class.php 12474 2008-10-31 10:41:27Z fabien $
+ */
+class dmTagAdminActions extends autoDmTagAdminActions
+{
+}

Added: plugins/dmTagPlugin/modules/dmTagAdmin/config/generator.yml
===================================================================
--- plugins/dmTagPlugin/modules/dmTagAdmin/config/generator.yml                 
        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTagAdmin/config/generator.yml 2010-02-09 
16:11:02 UTC (rev 27788)
@@ -0,0 +1,31 @@
+generator:
+  class: dmAdminDoctrineGenerator
+  param:
+    model_class: DmTag
+    theme: dmAdmin
+    non_verbose_templates: true
+    with_show: false
+    route_prefix: dm_tag
+    with_doctrine_route: false
+    config:
+      actions: ~
+      fields: {  }
+      list:
+        display:
+          - '=name'
+        sort:
+          - name
+          - asc
+        table_method: getAdminListQuery
+        table_count_method: ~
+        sortable: false
+      filter:
+        display:
+          - name
+      form:
+        display:
+          NONE: [name]
+        class: DmTagAdminForm
+        fields: {  }
+      edit: ~
+      new: ~

Added: plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminExport.class.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminExport.class.php       
                        (rev 0)
+++ plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminExport.class.php       
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,12 @@
+<?php
+
+/**
+ * dmTagAdmin admin export
+ *
+ * @package    test
+ * @subpackage dmTagAdmin
+ * @author     Your name here
+ */
+class DmTagAdminExport extends myDoctrineTableExport
+{
+}

Added: plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminForm.php
===================================================================
--- plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminForm.php               
                (rev 0)
+++ plugins/dmTagPlugin/modules/dmTagAdmin/lib/DmTagAdminForm.php       
2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * dmTagAdmin admin form
+ *
+ * @package    test
+ * @subpackage dmTagAdmin
+ * @author     Your name here
+ */
+class DmTagAdminForm extends BaseDmTagForm
+{
+  public function configure()
+  {
+    parent::configure();
+  }
+}
\ No newline at end of file

Added: 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorConfiguration.class.php
===================================================================
--- 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorConfiguration.class.php
                               (rev 0)
+++ 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorConfiguration.class.php
       2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * dmTagAdmin module configuration.
+ *
+ * @package    test
+ * @subpackage dmTagAdmin
+ * @author     Your name here
+ * @version    SVN: $Id: configuration.php 12474 2008-10-31 10:41:27Z fabien $
+ */
+class dmTagAdminGeneratorConfiguration extends 
BaseDmTagAdminGeneratorConfiguration
+{
+}

Added: 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorHelper.class.php
===================================================================
--- 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorHelper.class.php  
                            (rev 0)
+++ 
plugins/dmTagPlugin/modules/dmTagAdmin/lib/dmTagAdminGeneratorHelper.class.php  
    2010-02-09 16:11:02 UTC (rev 27788)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * dmTagAdmin module helper.
+ *
+ * @package    test
+ * @subpackage dmTagAdmin
+ * @author     Your name here
+ * @version    SVN: $Id: helper.php 12474 2008-10-31 10:41:27Z fabien $
+ */
+class dmTagAdminGeneratorHelper extends BaseDmTagAdminGeneratorHelper
+{
+}

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