Example #1
0
 /**
  * Avoid duplicates, append numbers to value
  *
  * @param string $value Value
  *
  * @return string
  */
 private function numerize($value)
 {
     $dql = sprintf("SELECT u.slug FROM %s u WHERE u.slug like '%s%%'", $this->entity, $value);
     $query = Locator::get('core.entity.manager')->createQuery($dql);
     $rows = $query->getResult();
     $slug = $value;
     $no = 1;
     do {
         $found = false;
         foreach ($rows as $row) {
             if ($slug == $row['slug']) {
                 $found = true;
                 break;
             }
         }
         if ($found) {
             $slug = $value . '-' . $no;
             $no++;
         }
     } while ($found);
     return $slug;
 }
Example #2
0
 /**
  * @return Manager
  */
 public function getManager()
 {
     return Locator::get('core.entity.manager');
 }