/**
  * Set hash when record created
  *
  * @param Doctrine_Event $event
  * @return void
  */
 public function postSave(Doctrine_Event $event)
 {
     $object = $event->getInvoker();
     $_object = Doctrine_Core::getTable('sfCategory')->find($object->getId());
     $level = $_object->getLevel();
     if ($_object->getNode()->hasParent()) {
         if ($level > 0) {
             for ($i = 1; $i < $level; $i++) {
                 $_object = $_object->getNode()->getParent();
             }
         }
     }
     $tree = Doctrine_Core::getTable('sfCategory')->getTree();
     $tree = $tree->fetchBranch($_object->getId(), array(), Doctrine_Core::HYDRATE_ARRAY_HIERARCHY);
     $_tree = $this->setHierarchicalSlug($tree);
     return parent::postSave($event);
 }
Exemplo n.º 2
0
 /**
  * Set hash when record created
  *
  * @param Doctrine_Event $event
  * @return void
  */
 public function postSave(Doctrine_Event $event)
 {
     $object = $event->getInvoker();
     if (!$object->slug) {
         $i = 0;
         $prefix = '';
         $_slug = '';
         foreach ($this->_options['fields'] as $val) {
             if ($i > 0) {
                 $prefix = '-';
             }
             $_slug .= $prefix . trim($object->{$val});
             $i++;
         }
         $slug = strtolower($this->translitIt($_slug));
         if (isset($this->_options['time'])) {
             $slug .= '-' . time();
         }
         $object->slug = $slug;
         $object->save();
     }
     return parent::postSave($event);
 }
Exemplo n.º 3
0
 /**
  * Set hash when record created
  *
  * @param Doctrine_Event $event
  * @return void
  */
 public function postDelete(Doctrine_Event $event)
 {
     parent::postDelete($event);
     $object = $event->getInvoker();
     $_formats = sfConfig::get('imagecache_formats');
     $columns = $this->_table->getColumns();
     foreach ($columns as $column_name => $def) {
         if ($extra = $def['extra']) {
             if ($extra['type'] == 'image') {
                 $value = $object->get($column_name);
                 if (!empty($value)) {
                     $_format = $_formats[$extra['imageCacheFormat']];
                     $file = sfConfig::get('sf_upload_dir') . '/' . trim($extra['path']) . '/' . $value;
                     unlink($file);
                     foreach ($_formats as $format => $options) {
                         $cached_file = sfConfig::get('sf_upload_dir') . '/cache/' . trim($format) . '/' . $extra['path'] . '/' . $value;
                         unlink($cached_file);
                     }
                 }
                 unset($value);
             }
         }
     }
 }