Code Standard + renaming deleteAllTags + move its call and add type param
This commit is contained in:
parent
26ed71cc14
commit
e022bac339
|
@ -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') {
|
||||||
|
|
|
@ -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]);
|
||||||
|
}
|
||||||
|
else {
|
||||||
|
Term::deleteByItemId($item_id);
|
||||||
}
|
}
|
||||||
|
|
||||||
Item::update(['tag' => $tag_str], ['id' => $item_id]);
|
|
||||||
|
|
||||||
info(L10n::t('Tag(s) removed') . EOL );
|
info(L10n::t('Tag(s) removed') . EOL );
|
||||||
}
|
}
|
||||||
|
|
|
@ -896,14 +896,9 @@ 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']);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -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]);
|
||||||
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -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>
|
||||||
|
|
Loading…
Reference in a new issue