本文整理汇总了PHP中Sites::getByPName方法的典型用法代码示例。如果您正苦于以下问题:PHP Sites::getByPName方法的具体用法?PHP Sites::getByPName怎么用?PHP Sites::getByPName使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Sites
的用法示例。
在下文中一共展示了Sites::getByPName方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: createSpecialURLfromShortURL
function createSpecialURLfromShortURL($shortURL)
{
$siteMgr = new Sites();
$webRoot = rtrim(ltrim((string) sConfig()->getVar("CONFIG/DIRECTORIES/WEBROOT"), '/'), '/');
$shortURL = urldecode($shortURL);
// Remove webroot prefix, if present
if (strlen($webRoot) && strpos($shortURL, $webRoot) === 0) {
$shortURL = substr($shortURL, strlen($webRoot . '/'));
}
if (strlen($webRoot) && strpos($shortURL, '/' . $webRoot) === 0) {
$shortURL = substr($shortURL, strlen('/' . $webRoot . '/'));
}
$urlArray = explode('/', ltrim(rtrim($shortURL, '/'), '/'));
$fileMgr = sFileMgr();
switch (strtolower($urlArray[0])) {
case 'image':
$specialType = 'IMG';
case 'download':
if (!$specialType) {
$specialType = 'DOWN';
}
// Check for file
$fileID = $fileMgr->getFileIdByPname($urlArray[1]);
if ($fileID) {
$specialURL = '§§LINKTO:' . $specialType . ':' . $fileID . '§§';
if (count($urlArray) > 2) {
array_shift($urlArray);
array_shift($urlArray);
$specialURL .= '/' . implode('/', $urlArray);
}
return $specialURL;
}
break;
default:
// Check for page
$siteInfo = $siteMgr->getByPName($urlArray[0]);
if ($siteInfo) {
$pageMgr = new PageMgr($siteInfo['ID']);
$lastElement = $urlArray[count($urlArray) - 1];
if (substr($lastElement, 0, 1) == ':') {
$lastElement = $urlArray[count($urlArray) - 2];
$suffix = '/' . $urlArray[count($urlArray) - 1];
}
$pName = $lastElement;
$pageID = $pageMgr->getPageIdByPname($pName);
if ($pageID) {
$specialURL = '§§LINKTO:PAGE:' . $siteInfo['ID'] . ':' . $pageID . '§§' . $suffix;
return $specialURL;
}
}
break;
}
return false;
}