Автоматическое добавление тегов из заголовка новости
автор: them | 2010-02-28 10:31:37
Установка:
Открываем engine/modules/addnews.php
Находим и удаляем:
if( ! $config[%27allow_add_tags%27] ) $_POST[%27tags%27] = \"\";
elseif( preg_match( \"/[||%27||\"|!|?|$|@|/|\\|&~*+]/\", $_POST[%27tags%27] ) ) $_POST[%27tags%27] = \"\";
else $_POST[%27tags%27] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST[%27tags%27] ) ) ), ENT_QUOTES ) );
elseif( preg_match( \"/[||%27||\"|!|?|$|@|/|\\|&~*+]/\", $_POST[%27tags%27] ) ) $_POST[%27tags%27] = \"\";
else $_POST[%27tags%27] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST[%27tags%27] ) ) ), ENT_QUOTES ) );
Находим :
if( $found ) {
$db->query( \"UPDATE \" . PREFIX . \"_post set title=%27$title%27, short_story=%27$short_story%27, full_story=%27$full_story%27, xfields=%27$filecontents%27, category=%27$category_list%27, alt_name=%27$alt_name%27, allow_comm=%27$allow_comm%27, approve=%27$approve%27, allow_main=%27$allow_main%27, allow_rate=%27$allow_rating%27, fixed=%27$news_fixed%27, allow_br=%27$allow_br%27, flag=%271%27, tags=%27\" . $_POST[%27tags%27] . \"%27 WHERE id=%27$id%27\" );
// Облако тегов
if( $_POST[%27tags%27] != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
}
} else {
$db->query( \"UPDATE \" . PREFIX . \"_post set title=%27$title%27, short_story=%27$short_story%27, full_story=%27$full_story%27, xfields=%27$filecontents%27, category=%27$category_list%27, alt_name=%27$alt_name%27, allow_comm=%27$allow_comm%27, approve=%27$approve%27, allow_main=%27$allow_main%27, allow_rate=%27$allow_rating%27, fixed=%27$news_fixed%27, allow_br=%27$allow_br%27, flag=%271%27, tags=%27\" . $_POST[%27tags%27] . \"%27 WHERE id=%27$id%27\" );
// Облако тегов
if( $_POST[%27tags%27] != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
}
} else {
Заменяем на:
//Авто Теги
if( ! $config[%27allow_add_tags%27] ) $tags = \"\";
else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
$tag = implode ( \",\", $tags );
//Авто Теги
if( $found ) {
$db->query( \"UPDATE \" . PREFIX . \"_post set title=%27$title%27, short_story=%27$short_story%27, full_story=%27$full_story%27, xfields=%27$filecontents%27, category=%27$category_list%27, alt_name=%27$alt_name%27, allow_comm=%27$allow_comm%27, approve=%27$approve%27, allow_main=%27$allow_main%27, allow_rate=%27$allow_rating%27, fixed=%27$news_fixed%27, allow_br=%27$allow_br%27, flag=%271%27, tags=%27$tag%27 WHERE id=%27$id%27\" );
// Облако тегов
if( $tag != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
} else {
if( ! $config[%27allow_add_tags%27] ) $tags = \"\";
else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
$tag = implode ( \",\", $tags );
//Авто Теги
if( $found ) {
$db->query( \"UPDATE \" . PREFIX . \"_post set title=%27$title%27, short_story=%27$short_story%27, full_story=%27$full_story%27, xfields=%27$filecontents%27, category=%27$category_list%27, alt_name=%27$alt_name%27, allow_comm=%27$allow_comm%27, approve=%27$approve%27, allow_main=%27$allow_main%27, allow_rate=%27$allow_rating%27, fixed=%27$news_fixed%27, allow_br=%27$allow_br%27, flag=%271%27, tags=%27$tag%27 WHERE id=%27$id%27\" );
// Облако тегов
if( $tag != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
} else {
Находим :
$db->query( \"INSERT INTO \" . PREFIX . \"_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values (%27$thistime%27, %27$member_id[name]%27, %27$short_story%27, %27$full_story%27, %27$filecontents%27, %27$title%27, %27%27, %27$category_list%27, %27$alt_name%27, %27$allow_comm%27, %27$approve%27, %27$allow_main%27, %27$news_fixed%27, %27$allow_rating%27, %27$allow_br%27, %271%27, %27\" . $_POST[%27tags%27] . \"%27)\" );
Заменяем на:
$db->query( \"INSERT INTO \" . PREFIX . \"_post (date, autor, short_story, full_story, xfields, title, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, flag, tags) values (%27$thistime%27, %27$member_id[name]%27, %27$short_story%27, %27$full_story%27, %27$filecontents%27, %27$title%27, %27%27, %27$category_list%27, %27$alt_name%27, %27$allow_comm%27, %27$approve%27, %27$allow_main%27, %27$news_fixed%27, %27$allow_rating%27, %27$allow_br%27, %271%27, %27$tag%27)\" );
Находим:
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
Заменяем на:
if( $tag != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
Открываем engine/inc/addnews.php
Находим и удаляем :
if( preg_match( \"/[||%27||\"|!|?|$|@|/|\\|&~*+]/\", $_POST[%27tags%27] ) ) $_POST[%27tags%27] = \"\";
else $_POST[%27tags%27] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST[%27tags%27] ) ) ), ENT_QUOTES ) );
else $_POST[%27tags%27] = $db->safesql( htmlspecialchars( strip_tags( stripslashes( trim( $_POST[%27tags%27] ) ) ), ENT_QUOTES ) );
Находим:
$db->query( \"INSERT INTO \" . PREFIX . \"_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values (%27$thistime%27, %27{$member_id[%27name%27]}%27, %27$short_story%27, %27$full_story%27, %27$filecontents%27, %27$title%27, %27{$metatags[%27description%27]}%27, %27{$metatags[%27keywords%27]}%27, %27$category_list%27, %27$alt_name%27, %27$allow_comm%27, %27$approve%27, %27$allow_main%27, %27$news_fixed%27, %27$allow_rating%27, %27$allow_br%27, %27$add_vote%27, %27$group_regel%27, %27$catalog_url%27, %271%27, %27{$_POST[%27tags%27]}%27, %27{$metatags[%27title%27]}%27)\" );
Заменяем на:
//Авто Теги
if( ! $config[%27allow_add_tags%27] ) $tags = \"\";
else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
$tag = implode ( \",\", $tags );
//Авто Теги
$db->query( \"INSERT INTO \" . PREFIX . \"_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values (%27$thistime%27, %27{$member_id[%27name%27]}%27, %27$short_story%27, %27$full_story%27, %27$filecontents%27, %27$title%27, %27{$metatags[%27description%27]}%27, %27{$metatags[%27keywords%27]}%27, %27$category_list%27, %27$alt_name%27, %27$allow_comm%27, %27$approve%27, %27$allow_main%27, %27$news_fixed%27, %27$allow_rating%27, %27$allow_br%27, %27$add_vote%27, %27$group_regel%27, %27$catalog_url%27, %271%27, %27$tag%27, %27{$metatags[%27title%27]}%27)\" );
Находим (556 строка):
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
if( ! $config[%27allow_add_tags%27] ) $tags = \"\";
else $tags = str_word_count ( strip_tags( stripslashes( $title ) ), 1 );
$tag = implode ( \",\", $tags );
//Авто Теги
$db->query( \"INSERT INTO \" . PREFIX . \"_post (date, autor, short_story, full_story, xfields, title, descr, keywords, category, alt_name, allow_comm, approve, allow_main, fixed, allow_rate, allow_br, votes, access, symbol, flag, tags, metatitle) values (%27$thistime%27, %27{$member_id[%27name%27]}%27, %27$short_story%27, %27$full_story%27, %27$filecontents%27, %27$title%27, %27{$metatags[%27description%27]}%27, %27{$metatags[%27keywords%27]}%27, %27$category_list%27, %27$alt_name%27, %27$allow_comm%27, %27$approve%27, %27$allow_main%27, %27$news_fixed%27, %27$allow_rating%27, %27$allow_br%27, %27$add_vote%27, %27$group_regel%27, %27$catalog_url%27, %271%27, %27$tag%27, %27{$metatags[%27title%27]}%27)\" );
Находим (556 строка):
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
Находим:
if( $_POST[%27tags%27] != \"\" and $approve ) {
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
$tags = array ();
$_POST[%27tags%27] = explode( \",\", $_POST[%27tags%27] );
foreach ( $_POST[%27tags%27] as $value ) {
$tags[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tags = implode( \", \", $tags );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tags );
}
Заменяем на:
if( $tag != $row[%27tags%27] or $approve ) {
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
$db->query( \"DELETE FROM \" . PREFIX . \"_tags WHERE news_id = %27{$row[%27id%27]}%27\" );
if( $tag != \"\" and $approve ) {
$tag = \"\";
foreach ( $tags as $value ) {
$tag[] = \"(%27\" . $row[%27id%27] . \"%27, %27\" . trim( $value ) . \"%27)\";
}
$tag = implode( \", \", $tag );
$db->query( \"INSERT INTO \" . PREFIX . \"_tags (news_id, tag) VALUES \" . $tag );
}
}
Порадовал? Не Жалеем Плюс В Репу.