diff --git a/ground/classes/Helper.php b/ground/classes/Helper.php
index 404d866..86d2a8f 100644
--- a/ground/classes/Helper.php
+++ b/ground/classes/Helper.php
@@ -8,9 +8,15 @@ class Helper
return (bool) $var;
}
- public static function replaceLinks($string, $linkTemplate = '/page/point/id/')
+ /**
+ * TYPES: 'clear','html','js'
+ * @param type $string
+ * @param type $replaceType
+ * @return type
+ */
+ public static function replaceLinks($string, $replaceType = 'clear')
{
- preg_match_all("(\[#(\d+)[>\|](.*?)\])", $string, $links);
+ preg_match_all("((\[#(\d+)[>\|](.*?)\])|(\[#(\d+)\]))", $string, $links);
$links = isset($links[0]) ? $links[0] : FALSE;
if ($links) {
foreach ($links as $link) {
@@ -19,13 +25,26 @@ class Helper
$idAndLink = explode($delimiter, $idAndLink);
$linkId = $idAndLink[0];
- $linkName = isset($idAndLink[1]) ? $idAndLink[1] : '';
+ $linkName = isset($idAndLink[1]) ? $idAndLink[1] : '';
if ($linkId) {
$linkPoint = Point::model()->getByPK($linkId);
- if ($linkPoint->id) {
- $linkPoint->name = str_replace('"', 'ʺ', $linkPoint->name);
- $string = str_replace($link, '' . $linkName . '', $string);
+ if ($linkPoint && $linkPoint->id) {
+ $linkTitle = str_replace('"', 'ʺ', $linkPoint->name);
+
+ switch ($replaceType) {
+ case 'html':
+ $linkName = $linkName ? $linkName : '';
+ $string = str_replace($link, '' . $linkName . '', $string);
+ break;
+ case 'js':
+ $linkName = $linkName ? $linkName : '';
+ $string = str_replace($link, '' . $linkName . '', $string);
+ break;
+ default:
+ $string = str_replace($link, $linkName, $string);
+ break;
+ }
}
}
}
diff --git a/ground/controllers/JsonController.php b/ground/controllers/JsonController.php
index 632f120..fbb15ce 100644
--- a/ground/controllers/JsonController.php
+++ b/ground/controllers/JsonController.php
@@ -53,7 +53,7 @@ class JsonController extends Controller
$point = Point::model()->getByPK($id);
$point->descriptionHtml = nl2br($point->description);
- $point->descriptionHtml = Helper::replaceLinks($point->descriptionHtml, '/?point=');
+ $point->descriptionHtml = Helper::replaceLinks($point->descriptionHtml, 'js');
$point->name = htmlspecialchars($point->name);
$point->moderate = $point->moderate ? 'show' : 'hide';
$imgs = $point->photos;
diff --git a/ground/controllers/PageController.php b/ground/controllers/PageController.php
index 7f558c5..928778f 100644
--- a/ground/controllers/PageController.php
+++ b/ground/controllers/PageController.php
@@ -124,7 +124,7 @@ class PageController extends Controller
$point->categoryIcon = $categories[$point->categoryId]['icon'];
$point->categoryName = $categories[$point->categoryId]['name'];
- $point->descriptionHtml = Helper::replaceLinks($point->descriptionHtml);
+ $point->descriptionHtml = Helper::replaceLinks($point->descriptionHtml, 'html');
// preg_match_all("/.*?(([.?!](?:\s|$))|$)/s", $point->descriptionHtml, $items);
preg_match_all("/.*?((([^.?!\s]{3,}?)[.?!](?:\s|$))|$)/s", $point->descriptionHtml, $items);
$point->inFavorites = Favorite::model()->checkIsMy($pointId);
@@ -220,7 +220,7 @@ class PageController extends Controller
$categories = Category::model()->getAll(array('order' => 'ord ASC', 'asArray' => true));
- $point->descriptionHtml = Helper::replaceLinks($point->descriptionHtml);
+ $point->description = Helper::replaceLinks($point->description);
self::renderPartial('vkPoint.php', array(
'point' => $point,