Хак позволяет автоматически создавать ключевые слова для облака тегов из Title и краткого содержания статьи.
Установка:
1. Открыть файл engineincincludefunctions.inc.php и в самый конец, перед:
?>
Добавить:
function tagsInTitleShort( $x ) {
$quotesT = array ("x22", "x60", "t", "n", "r", ",", ".", "/", "¬", "#", ";", ":", "@", "~", "{", "}", "[", "]", "{", "}", "=", "-", "+", ")", "(", "*", "^", "%", "$", "", "?", "!", '"');
$vTiSh = trim( str_replace( $quotesT, " ", $x ) );
$tTExpA = array_unique ( explode( " ", $vTiSh ) );
shuffle($tTExpA);
$iT = "";
while (list(, $tTExpAx) = each($tTExpA)) {
if ( preg_match( "/[a-zA-Zа-яА-Я0-9]{4}/", $tTExpAx ) ) $iT .= " " . $tTExpAx;
}
$tTExpB = explode( " ", trim( $iT ) );
$mT = count( $tTExpB );
if ( $mT > 10 ) $mT = 10;
$mTD = $mT - 1;
$resultTag = "";
for ( $i = 0; $i < $mT; $i++ ) {
if ( $mTD != $i ) $resultTag .= $tTExpB[$i] . ",";
else $resultTag .= $tTExpB[$i];
}
return $resultTag;
}
где if ( $mT > 10 ) $mT =10; это число максимум тегов.
2. Открыть файл engineincaddnews.php и найти:
if( @preg_match( "/[|||"|!|?|$|@|/||&~*+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
Добавить выше:
// D0Gmatist
$_POST['tags'] = tagsInTitleShort( $title . " " . $short_story);
// D0Gmatist
3. Открыть файл engineinceditnews.php и найти:
if( @preg_match( "/[|||"|!|?|$|@|/||&~*+]/", $_POST['tags'] ) ) $_POST['tags'] = "";
Добавить выше:
// D0Gmatist
$_POST['tags'] = tagsInTitleShort( $title . " " . $short_story);
// D0Gmatist
Готово!
Версия DLE: 10.х
Автор: D0Gmatist