diff options
author | Simon L'nu <simon.lnu@gmail.com> | 2012-05-03 14:18:40 -0400 |
---|---|---|
committer | Simon L'nu <simon.lnu@gmail.com> | 2012-05-03 14:18:40 -0400 |
commit | 4c8a82456e9f4085984573a8a226ebe3d734aa6c (patch) | |
tree | 2f1d6384b3f68c360861715e12dcf59a48145411 | |
parent | 0446766f0407b45c78031ad9e5029cc9218b025e (diff) | |
parent | d72db2e1aa68833cbebc1c24ab4e1c6c9c966679 (diff) | |
download | volse-hubzilla-4c8a82456e9f4085984573a8a226ebe3d734aa6c.tar.gz volse-hubzilla-4c8a82456e9f4085984573a8a226ebe3d734aa6c.tar.bz2 volse-hubzilla-4c8a82456e9f4085984573a8a226ebe3d734aa6c.zip |
Merge branch 'master', remote-tracking branch 'remotes/upstream/master'
* remotes/upstream/master:
diabook-theme: small fix
Avoid tagging both '@Robert Johnson' and also '@Robert', when '@Robert Johnson' was already matched, and '@Robert' might be somebody different entirely.
* master:
-rw-r--r-- | mod/item.php | 38 | ||||
-rwxr-xr-x | view/theme/diabook/communityhome.tpl | 4 | ||||
-rwxr-xr-x | view/theme/diabook/theme.php | 2 |
3 files changed, 37 insertions, 7 deletions
diff --git a/mod/item.php b/mod/item.php index 1436f7ffc..639379fe0 100644 --- a/mod/item.php +++ b/mod/item.php @@ -444,9 +444,28 @@ function item_post(&$a) { $tags[] = '@' . $parent_contact['nick']; } + $tagged = array(); + + if(count($tags)) { foreach($tags as $tag) { - handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag); + + // If we already tagged 'Robert Johnson', don't try and tag 'Robert'. + // Robert Johnson should be first in the $tags array + + $fullnametagged = false; + for($x = 0; $x < count($tagged); $x ++) { + if(stristr($tagged[$x],$tag . ' ')) { + $fullnametagged = true; + break; + } + } + if($fullnametagged) + continue; + + $success = handle_tag($a, $body, $inform, $str_tags, (local_user()) ? local_user() : $profile_uid , $tag); + if($success) + $tagged[] = $tag; } } @@ -861,21 +880,27 @@ function item_content(&$a) { * @param unknown_type $str_tags string to add the tag to * @param unknown_type $profile_uid * @param unknown_type $tag the tag to replace + * + * @return boolean true if replaced, false if not replaced */ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { + + $replaced = false; + //is it a hash tag? if(strpos($tag,'#') === 0) { //if the tag is replaced... if(strpos($tag,'[url=')) //...do nothing - return; + return $replaced; //base tag has the tags name only $basetag = str_replace('_',' ',substr($tag,1)); //create text for link $newtag = '#[url=' . $a->get_baseurl() . '/search?tag=' . rawurlencode($basetag) . ']' . $basetag . '[/url]'; //replace tag by the link $body = str_replace($tag, $newtag, $body); - + $replaced = true; + //is the link already in str_tags? if(! stristr($str_tags,$newtag)) { //append or set str_tags @@ -883,13 +908,13 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { $str_tags .= ','; $str_tags .= $newtag; } - return; + return $replaced; } //is it a person tag? if(strpos($tag,'@') === 0) { //is it already replaced? if(strpos($tag,'[url=')) - return; + return $replaced; $stat = false; //get the person's name $name = substr($tag,1); @@ -965,6 +990,7 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { } //if there is an url for this persons profile if(isset($profile)) { + $replaced = true; //create profile link $profile = str_replace(',','%2c',$profile); $newtag = '@[url=' . $profile . ']' . $newname . '[/url]'; @@ -989,4 +1015,6 @@ function handle_tag($a, &$body, &$inform, &$str_tags, $profile_uid, $tag) { } } } + + return $replaced; } diff --git a/view/theme/diabook/communityhome.tpl b/view/theme/diabook/communityhome.tpl index 87b825d98..0386d63d3 100755 --- a/view/theme/diabook/communityhome.tpl +++ b/view/theme/diabook/communityhome.tpl @@ -1,9 +1,9 @@ -<div id="pos_null"> +<div id="pos_null" style="margin-bottom:-30px;"> </div> <div id="sortable_boxes"> -<div id="close_pages"> +<div id="close_pages" style="margin-top:30px;"> {{ if $page }} <div>$page</div> {{ endif }} diff --git a/view/theme/diabook/theme.php b/view/theme/diabook/theme.php index eaf17bea1..f8fdeb8b1 100755 --- a/view/theme/diabook/theme.php +++ b/view/theme/diabook/theme.php @@ -117,8 +117,10 @@ if ($color=="dark") $color_path = "/diabook-dark/"; $a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $imageresizeJS); //load jquery.ui.js + if($ccCookie != "9") { $jqueryuiJS = $a->get_baseurl($ssl_state)."/view/theme/diabook/js/jquery-ui-1.8.20.custom.min.js"; $a->page['htmlhead'] .= sprintf('<script language="JavaScript" src="%s" ></script>', $jqueryuiJS); + } //load jquery.twitter.search.js if($_COOKIE['close_twitter'] != "1") { |