本文整理汇总了PHP中tag::is_tag_in_post方法的典型用法代码示例。如果您正苦于以下问题:PHP tag::is_tag_in_post方法的具体用法?PHP tag::is_tag_in_post怎么用?PHP tag::is_tag_in_post使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类tag
的用法示例。
在下文中一共展示了tag::is_tag_in_post方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: update_post
public function update_post($_title, $_date, $_content, $_post_cat_id, $_status, $_tag_list, $_post_id)
{
global $sql, $user;
$values = array('post_date' => $_date, 'post_title' => $_title, 'post_content' => $_content, 'post_cat_id' => $_post_cat_id, 'post_status' => $_status);
$conds = array('post_id' => $_post_id);
$sql->update_table('post', $values, $conds);
//címke updatelés
/*
először nézzük meg h létezik-e már ilyen tag az usernél
ha igen, nézzük meg, hogy benne van-e a tag_post táblában ezzel a post_id-val
ha nincs, tegyük bele, és count++
ha nem
hozzuk létre
adjuk hozzá a tag_post táblához
count++
*/
$_tag_list = explode(",", $_tag_list);
$new_tag_array = array();
//ebben tároljuk az újonnan létrehozott tag-eket, amiket majd hozzá kell adni az adatbázishoz
$old_tag_array = array();
//ebben tároljuk a már létező tag-eket, amiket majd updatelünk az adatbázisban
$valid_ids = array();
//ebben tároljuk a törlendő tag_post_id-k komplementer halmazáz
foreach ($_tag_list as $tag) {
$tag_id = tag::tag_exists($tag, $user->get_user_id());
if (!$tag_id) {
$new_tag = new tag();
$new_tag->set_tag_data($tag, $user->get_user_id());
$new_tag_array[] = $new_tag;
$valid_ids[] = $new_tag->get_tag_id();
} else {
//itt ellenőrizzük, hogy ehhez a posthoz hozzá van-e már rendelve ez a címke
if (!tag::is_tag_in_post($tag_id, $_post_id)) {
$new_tag = new tag();
$new_tag->set_tag_data_by_id($tag_id);
$update_array = array('tag_count' => 'tag_count + 1');
$conds_array = array('tag_id' => $tag_id);
$sql->update_table('tag', $update_array, $conds_array, false);
$sql->add_tag_post($tag_id, $_post_id);
$old_tag_array[] = $tag_id;
}
$valid_ids[] = $tag_id;
//
}
}
if (count($new_tag_array)) {
$sql->add_tag($new_tag_array, $user->get_user_id(), $_post_id);
}
//ez adja hozzá az adatbázishoz, TODO: sql->insert_into
//töröljük azokat, amiket már nem soroltunk fel
//TODO: tag_cont--, ha 0, delete
$delete_query = 'delete from tag_post where tp_post_id = ' . $_post_id . ' and tp_tag_id not in (';
$n = count($valid_ids);
$i = 0;
foreach ($valid_ids as $v_id) {
$delete_query .= $v_id . ($i != $n - 1 ? ', ' : ');');
$i++;
}
$sql->execute_query($delete_query);
//updateljük a tag_count-ot
$sql->execute_query('update tag set tag_count = (select count(tp_id) from tag_post where tp_tag_id = tag_id) where tag_author = ' . $user->get_user_id() . ';');
//amiknek 0 countja, azokat töröljük
$sql->execute_query('delete from tag where tag_count = 0 and tag_author = ' . $user->get_user_id());
//törlés end
//címke updatelés end
}