public static function realImgSrc($imgSrc, $type = "main", $size = "normal", $title = '') { if ($imgSrc) { $path = "/uploads/images_thumbs/" . UploadedFile::fileNameToPath($imgSrc); } else { $imgSrc = "DefaultMainPhoto.jpg"; $path = "/templates/arfooo/images/"; } switch ($size) { case "small": $imgSrc = "s" . $imgSrc; break; case "medium": $imgSrc = "m" . $imgSrc; break; case "nano": $imgSrc = "n" . $imgSrc; break; } if ($title) { $path .= NameTool::strToAscii($title) . '-'; } $imgSrc = $path . $imgSrc; return AppRouter::getResourceUrl($imgSrc); }
function createUrlNames() { $withParents = Config::get('advancedUrlRewritingParentsEnabled'); set_time_limit(600); $categories = $this->category->findAll(null, "categoryId, parentCategoryId, name, urlName"); $tree = new NavigationTree(); foreach ($categories as $category) { $tree->addNode($category['categoryId'], $category['parentCategoryId'], array("name" => $category['name'], "urlName" => $category['urlName'])); } $connections = $tree->getAllConnections(); $urlNames = array(""); foreach ($connections as $connection) { $urlName = NameTool::strToAscii($connection['value']['name']); if ($withParents) { $urlName = ltrim($urlNames[$connection['depth'] - 1] . "\\" . $urlName, "\\"); $urlNames[$connection['depth']] = $urlName; } $urlName = $this->category->getFreeUrlName($urlName, $connection['categoryId']); if ($connection['value']['urlName'] && $connection['value']['urlName'] != $urlName && !$this->rewrite->findByPk($connection['value']['urlName'])) { $rewrite = new RewriteRecord(); $rewrite->originalUrl = $connection['value']['urlName']; $rewrite->rewrittedUrl = $urlName; $rewrite->save(); } $this->category->updateByPk(array("urlName" => $urlName), $connection['categoryId']); } }
function getFreeUrlName($baseUrlName, $excludeCategoryId = false) { $baseUrlName = NameTool::strToAscii($baseUrlName, "_\\"); $lp = 0; do { $lp++; $urlName = $baseUrlName; $urlName .= $lp > 1 ? $lp : ""; if (in_array($urlName, array('admin', 'moderation', 'webmaster'))) { $exists = true; } else { $c = new Criteria(); $c->add("urlName", $urlName); if ($excludeCategoryId) { $c->add("categoryId", $excludeCategoryId, "!="); } $exists = $this->category->getCount($c); } } while ($exists); return $urlName; }
/** * Display sites which contain tag */ function tagAction($tagId, $tag, $page = 1) { $searchTag = $this->searchTag->findByPk($tagId); if (empty($searchTag) || NameTool::strToAscii($searchTag->tag) != $tag || $searchTag->banned) { return $this->return404(); } //set adPage for ads Display::set("adPage", "tag" . $tagId); $searchedSites = array(); //get sites which containt searched phrase $searchedSites = $this->siteSearcher->searchValidated(array("phrase" => $searchTag->tag), $page); //prepare data for pagination $totalPages = ceil($this->siteSearcher->getFoundRowsCount() / Config::get("sitesPerPageInSearch")); //set founded sites and paginations data $this->set("searchTag", $searchTag); $this->set("searchedSites", $searchedSites); $this->set("pageNavigation", array("baseLink" => "/site/tag/{$tagId}/" . NameTool::strToAscii($tag) . "/", "totalPages" => $totalPages, "currentPage" => $page, "title" => $tag)); }
public static function getObjectUrl($object, $type, $absolute = false) { switch ($type) { case "tag": $urlParts = array("/site/tag/%d/%s/%d", $object['tagId'], NameTool::strToAscii($object['tag']), isset($object['page']) ? $object['page'] : 1); break; case "keyword": $urlParts = array("/site/keyword/%d/%s/%d", $object['keywordId'], NameTool::strToAscii($object['keyword']), isset($object['page']) ? $object['page'] : 1); break; case "category": $urlParts = array("/site/category/%d/%s/%d", $object['categoryId'], Config::get("advancedUrlRewritingEnabled") ? $object['urlName'] : NameTool::strToAscii($object['name']), isset($object['page']) ? $object['page'] : 1); break; case "keyword": $urlParts = array("/site/keyword/%d/%s/%d", $object['keywordId'], $object['keyword'], isset($object['page']) ? $object['page'] : 1); break; case "siteDetails": $titleUrl = NameTool::strToAscii($object['siteTitle']); if (Config::get("advancedUrlRewritingEnabled")) { $categoryUrl = ""; $categoryParents = $object['categoryParents']; foreach ($categoryParents as $categoryParent) { if ($categoryUrl) { $categoryUrl .= "\\"; } $categoryUrl .= NameTool::strToAscii($categoryParent['name']); } $urlParts = array("/site/details/%d/%s/%s", $object['siteId'], $categoryUrl, $titleUrl); } else { $urlParts = array("/site/details/%d/%s", $object['siteId'], $titleUrl); } break; } $url = AppRouter::getRewrittedUrl($urlParts); if ($absolute) { $url = Config::get("siteDomainUrl") . $url; } return $url; }