public static function getAlias($title, $type = 'post', $id = '0') { $items = explode(' ', $title); foreach ($items as $index => $item) { if (strpos($item, '*') !== false) { $items[$index] = 'censored'; } } $title = implode($items, ' '); $alias = DiscussHelper::permalinkSlug($title); // Make sure no such alias exists. $i = 1; while (DiscussRouter::_isAliasExists($alias, $type, $id)) { $alias = DiscussHelper::permalinkSlug($title) . '-' . $i; $i++; } return $alias; }
/** * Overrides parent's bind method to add our own logic. * * @param Array $data **/ public function bind($data, $ignore = array()) { parent::bind($data); if (empty($this->created)) { $date = DiscussHelper::getDate(); $this->created = $date->toMySQL(); } jimport('joomla.filesystem.filter.filteroutput'); $i = 1; while ($this->aliasExists() || empty($this->alias)) { $this->alias = empty($this->alias) ? $this->title : $this->alias . '-' . $i; $i++; } $this->alias = DiscussHelper::permalinkSlug($this->alias); }
public function _createDefault($id) { $db = DiscussHelper::getDBO(); $user = JFactory::getUser($id); $date = DiscussHelper::getDate(); if ($user->id) { $obj = new stdClass(); $obj->id = $user->id; $obj->nickname = $user->name; $obj->avatar = 'default.png'; $obj->description = ''; $obj->url = ''; $obj->params = ''; //default to username for blogger alias $obj->alias = DiscussHelper::permalinkSlug($user->username); $isCreated = $db->insertObject('#__discuss_users', $obj); if ($isCreated) { $this->bind($obj); } } }
public function setAlias() { jimport('joomla.filesystem.filter.filteroutput'); $i = 1; $alias = $this->alias ? $this->alias : $this->title; $alias = DiscussHelper::permalinkSlug($alias); $tmp = $alias; while ($this->aliasExists($tmp) || empty($tmp)) { $alias = empty($alias) ? DiscussHelper::permalinkSlug($this->title) : $alias; $tmp = empty($tmp) ? DiscussHelper::permalinkSlug($this->title) : $alias . '-' . $i; $i++; } $this->alias = $tmp; }