本文整理汇总了PHP中DiscussRouter::_isAliasExists方法的典型用法代码示例。如果您正苦于以下问题:PHP DiscussRouter::_isAliasExists方法的具体用法?PHP DiscussRouter::_isAliasExists怎么用?PHP DiscussRouter::_isAliasExists使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类DiscussRouter
的用法示例。
在下文中一共展示了DiscussRouter::_isAliasExists方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: getAlias
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;
}
示例2: getPostAlias
public static function getPostAlias($id, $external = false)
{
static $loaded = array();
if (!isset($loaded[$id])) {
$config = DiscussHelper::getConfig();
$db = DiscussHelper::getDBO();
$data = DiscussHelper::getTable('Posts');
$data->load($id);
// Empty alias needs to be regenerated.
if (empty($data->alias)) {
$data->alias = JFilterOutput::stringURLSafe($data->title);
$i = 1;
while (DiscussRouter::_isAliasExists($data->alias, 'post', $id)) {
$data->alias = JFilterOutput::stringURLSafe($data->title) . '-' . $i;
$i++;
}
$query = 'UPDATE #__discuss_posts SET alias=' . $db->Quote($data->alias) . ' ' . 'WHERE ' . $db->nameQuote('id') . '=' . $db->Quote($id);
$db->setQuery($query);
$db->Query();
}
$loaded[$id] = $data->alias;
}
if ($external) {
$uri = JURI::getInstance();
return $uri->toString(array('scheme', 'host', 'port')) . '/' . $loaded[$id];
}
return $loaded[$id];
}