1
0
Fork 0

Code Standard + renaming deleteAllTags + move its call and add type param

This commit is contained in:
Jonny Tischbein 2018-10-23 19:29:59 +02:00
parent 26ed71cc14
commit e022bac339
5 changed files with 25 additions and 31 deletions

View file

@ -1418,9 +1418,8 @@ function photos_content(App $a)
$arr = explode(',', $link_item['tag']); $arr = explode(',', $link_item['tag']);
// parse tags and add links // parse tags and add links
$tag_arr = []; $tag_arr = [];
foreach ($arr as $t) { foreach ($arr as $tag) {
array_push($tag_arr, ['name' => BBCode::convert($t), array_push($tag_arr, ['name' => BBCode::convert($tag), 'removeurl' => '/tagrm/'.$link_item['id'] . '/' . bin2hex($tag)]);
'removeurl' => '/tagrm/'.$link_item['id'] . '/' . bin2hex($t)]);
} }
$tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr]; $tags = ['title' => L10n::t('Tags: '), 'tags' => $tag_arr];
if ($cmd === 'edit') { if ($cmd === 'edit') {

View file

@ -9,6 +9,7 @@ use Friendica\Core\L10n;
use Friendica\Core\System; use Friendica\Core\System;
use Friendica\Database\DBA; use Friendica\Database\DBA;
use Friendica\Model\Item; use Friendica\Model\Item;
use Friendica\Model\Term;
function tagrm_post(App $a) function tagrm_post(App $a)
{ {
@ -21,10 +22,8 @@ function tagrm_post(App $a)
} }
$tags = []; $tags = [];
if (defaults($_POST, 'tag', '')){ foreach (defaults($_POST, 'tag', []) as $tag) {
foreach ($_POST['tag'] as $t){ array_push($tags, hex2bin(notags(trim($tag))));
array_push($tags, hex2bin(notags(trim($t))));
}
} }
$item_id = defaults($_POST,'item', 0); $item_id = defaults($_POST,'item', 0);
@ -52,23 +51,24 @@ function update_tags($item_id, $tags){
$a->internalRedirect($_SESSION['photo_return']); $a->internalRedirect($_SESSION['photo_return']);
} }
$arr = explode(',', $item['tag']); $old_tags = explode(',', $item['tag']);
foreach ($tags as $t) { foreach ($tags as $new_tag) {
foreach ($arr as $i => $x) { foreach ($old_tags as $count => $old_tag) {
if (strcmp($x, $t) == 0) { if (strcmp($old_tag, $new_tag) == 0) {
unset($arr[$i]); unset($old_tags[$count]);
break; break;
} }
} }
} }
$tag_str = implode(',',$arr); $tag_str = implode(',',$old_tags);
if(empty($tag_str)){ if(!empty($tag_str)) {
$tag_str = '';
}
Item::update(['tag' => $tag_str], ['id' => $item_id]); Item::update(['tag' => $tag_str], ['id' => $item_id]);
}
else {
Term::deleteByItemId($item_id);
}
info(L10n::t('Tag(s) removed') . EOL ); info(L10n::t('Tag(s) removed') . EOL );
} }

View file

@ -896,16 +896,11 @@ class Item extends BaseObject
} }
if (!is_null($tags)) { if (!is_null($tags)) {
if ($tags) {
Term::insertFromTagFieldByItemId($item['id'], $tags); Term::insertFromTagFieldByItemId($item['id'], $tags);
if (!empty($item['tag'])) { if (!empty($item['tag'])) {
DBA::update('item', ['tag' => ''], ['id' => $item['id']]); DBA::update('item', ['tag' => ''], ['id' => $item['id']]);
} }
} }
else {
Term::deleteAllTags($item['id']);
}
}
if (!empty($files)) { if (!empty($files)) {
Term::insertFromFileFieldByItemId($item['id'], $files); Term::insertFromFileFieldByItemId($item['id'], $files);

View file

@ -76,7 +76,7 @@ class Term
$message['tag'] = $tags; $message['tag'] = $tags;
// Clean up all tags // Clean up all tags
DBA::delete('term', ['otype' => TERM_OBJ_POST, 'oid' => $itemid, 'type' => [TERM_HASHTAG, TERM_MENTION]]); self::deleteByItemId($itemid);
if ($message['deleted']) { if ($message['deleted']) {
return; return;
@ -294,16 +294,16 @@ class Term
/** /**
* Delete all tags from an item * Delete all tags from an item
* @param int itemid - choose from which item the tags will be removed * @param int itemid - choose from which item the tags will be removed
* @param array type - items type. default is [TERM_HASHTAG, TERM_MENTION]
*/ */
public static function deleteAllTags($itemid) public static function deleteByItemId($itemid, $type = [TERM_HASHTAG, TERM_MENTION])
{ {
$message = Item::selectFirst(['id'], ['id' => $itemid]); if (empty($itemid)) {
if (!DBA::isResult($message)) {
return; return;
} }
// Clean up all tags // Clean up all tags
DBA::delete('term', ['otype' => TERM_OBJ_POST, 'oid' => $itemid, 'type' => [TERM_HASHTAG, TERM_MENTION]]); DBA::delete('term', ['otype' => TERM_OBJ_POST, 'oid' => $itemid, 'type' => $type]);
} }
} }

View file

@ -55,7 +55,7 @@
{{foreach $tags.tags as $t}} {{foreach $tags.tags as $t}}
<span class="category label btn-success sm"> <span class="category label btn-success sm">
<span class="p-category">{{$t.name}}</span> <span class="p-category">{{$t.name}}</span>
{{if $t.removeurl}} (<a href="{{$t.removeurl}}">x</a>) {{/if}} {{if $t.removeurl}} <a href="{{$t.removeurl}}">(X)</a> {{/if}}
</span> </span>
{{/foreach}} {{/foreach}}
</div> </div>