Приветствую Вас Гость | RSS
Мой сайт
[CALENDAR_TITLE]
[CALENDAR]

Главная » » Регистрация » ВходПонедельник
30.06.2025
23:05
Главная » 2013 » Март » 13 » Dle установка допустимых символов буквенного ката
14:37
 

Dle установка допустимых символов буквенного ката

DLE установка Допустимых символов буквенного каталога новостей

8-12-2012, 18:40 Комментарии (0)

DLE установка Допустимых символов буквенного каталога новостей
Представляем на сайте dle9.com установка хак дле добавления Допустимых символов буквенного каталога новостей в скрипт движка DataLife Engine. Данной установкой можно добавить пункт в движок, тем самым установить скрипт автоматического создание «символьного кода» для всех публикаций на сайте, у которых его нет. Также будет возможно принудительное создание, оно перезапишет существующие значения.
Добавление буквенного каталога, главным образом служит для объединения группы новостей в каталоги, например, если установить группе новостей один символьный код «A», то эта группа новостей будет доступна по адресу: http://site ru/catalog/A/ . То есть, после перестроения мы получим «Алфавитный указатель» , предназначенный для автоматического поиска новостей, заголовок которых начинается на определённую букву (символ) или цифру. Из категории Хаки DLE Допустимые символы буквенного каталога публикаций, в результате позволяет осуществлять навигацию очень удобно как для посетителей сайта, так и для администрации.

DLE установка Допустимых символов буквенного каталога новостей
Установка:

1. В файле engine/ajax/rebuild.php найти:
echo $buffer; } else {

заменить на:
echo $buffer; } elseif ($_POST['area'] == "cat_rebuild" ) { $result = $db->query("SELECT id, title, symbol FROM " . PREFIX . "_post LIMIT ".$startfrom.", ".$count_per_step); while($row = $db->get_row($result)) { $catalog_url = $row['symbol']; if ($config['create_catalog'] AND !$catalog_url) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( preg_replace( "/[^{$config['valid_catalog_symbols']}]+/mi", "", ( $row['title'] ) ) ) ) ) ), 0, 1, $config['charset'] ) ); $db->query( "UPDATE " . PREFIX . "_post SET symbol='{$catalog_url}' WHERE id='{$row['id']}'" ); $step++; } clear_cache(); $rebuildcount = $startfrom + $step; $buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}"; echo $buffer; } elseif ($_POST['area'] == "rewrite_catalog" ) { $result = $db->query("SELECT id, title FROM " . PREFIX . "_post LIMIT ".$startfrom.", ".$count_per_step); while($row = $db->get_row($result)) { if ($config['create_catalog']) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( preg_replace( "/[^{$config['valid_catalog_symbols']}]+/mi", "", ( $row['title'] ) ) ) ) ) ), 0, 1, $config['charset'] ) ); $db->query( "UPDATE " . PREFIX . "_post SET symbol='{$catalog_url}' WHERE id='{$row['id']}'" ); $step++; } clear_cache(); $rebuildcount = $startfrom + $step; $buffer = "{\"status\": \"ok\",\"rebuildcount\": {$rebuildcount}}"; echo $buffer; } else {

2. В файле engine/inc/addnews.php найти:
if ($config['create_catalog'] AND !$catalog_url) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( $title ) ) ), ENT_QUOTES, $config['charset'] ), 0, 1, $config['charset'] ) );
заменить на:
if ($config['create_catalog'] AND !$catalog_url) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( preg_replace( "/[^{$config['valid_catalog_symbols']}]+/mi", "", ( $title ) ) ) ) ) ), 0, 1, $config['charset'] ) );

3. В файле engine/inc/editnews.php найти:
if ($config['create_catalog'] AND !$catalog_url) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( $title ) ) ), ENT_QUOTES, $config['charset'] ), 0, 1, $config['charset'] ) );
заменить на:
if ($config['create_catalog'] AND !$catalog_url) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( preg_replace( "/[^{$config['valid_catalog_symbols']}]+/mi", "", ( $title ) ) ) ) ) ), 0, 1, $config['charset'] ) );

4. В файле engine/inc/options.php найти:
showRow( $lang['opt_sys_acat'], $lang['opt_sys_acatd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[create_catalog]", "{$config['create_catalog']}" ) );

заменить на:
showRow( $lang['opt_sys_acat'], $lang['opt_sys_acatd'], makeDropDown( array ("1" => $lang['opt_sys_yes'], "0" => $lang['opt_sys_no'] ), "save_con[create_catalog]", "{$config['create_catalog']}" ) ); showRow( "Допустимые символы буквенного каталога публикаций", "Скрипт добавит только разрешённую букву из заголовка вашей новости, например, в данном случае: <font color=\"darkgreen\"><b>a-zа-я0-9</b></font> - будет добавлен первый символ латиницы, кириллицы или цифра. <font color=\"red\">«</font>Кавычки<font color=\"red\">»</font>, <font color=\"red\">(</font>скобки<font color=\"red\">)</font> и <font color=\"red\">[</font>другие неразрешённые символы<font color=\"red\">]</font> будут отфильтрованы!", "<input class=\"edit bk\" type=text style=\"text-align: center;\" name=\"save_con[valid_catalog_symbols]\" value=\"{$config['valid_catalog_symbols']}\" size=40>" );

5. В файле engine/inc/rebuild.php найти:
HTML; $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_static WHERE allow_br !='2'" );

заменить на:
HTML; if ($config['create_catalog']) { $submit = ("<input type=\"submit\" id=\"cat_button\" class=\"btn btn-primary\" value=\"{$lang['rebuild_start']}\" style=\"width:190px;\" /><input type=\"hidden\" id=\"cat_rebuild_ok\" name=\"cat_rebuild_ok\" value=\"0\" />"); } else { $submit = ("<a class=\"btn btn-primary\" style=\"color:#FFFFFF;font-size:11px;line-height:15px;\" title=\"Настройки параметров скрипта\" target=\"_blank\" href=\"$PHP_SELF?mod=options&action=syscon\">Настройки параметров скрипта</a> Включите <b>автоматическое формирование буквенного каталога публикаций</b> на вкладке вывода новостей"); } echo <<<HTML <form action="" method="post"> <div style="padding-top:5px;padding-bottom:2px;"> <table width="100%"> <tr> <td width="4"><img src="engine/skins/images/tl_lo.gif" width="4" height="4" border="0" /></td> <td style="background-image: url(/engine/skins/images/tl_oo.gif)"><img src="engine/skins/images/tl_oo.gif" width="1" height="4" border="0" /></td> <td width="6"><img src="engine/skins/images/tl_ro.gif" width="6" height="4" border="0" /></td> </tr> <tr> <td style="background-image: url(/engine/skins/images/tl_lb.gif)"><img src="engine/skins/images/tl_lb.gif" width="4" height="1" border="0" /></td> <td style="padding:5px;" bgcolor="#FFFFFF"> <table width="100%"> <tr> <td bgcolor="#EFEFEF" height="29" style="padding-left:10px;"><div class="navigation">Автоматическое создание буквенного каталога</div></td> </tr> </table> <div class="unterline"></div> <table width="100%"> <tr> <td style="padding:2px;" colspan="2">Данная утилита выполнит автоматическое создание <b>символьного кода</b> для всех новостей на сайте, у которых его нет. Возможно принудительное создание, оно перезапишет существующие значения. Создание буквенного каталога предназначено для объединения группы новостей в каталоги, к примеру, если задать группе новостей один символьный код <b>A</b>, то эта группа новостей будет доступна по адресу: <a title="{$config['http_home_url']}catalog/A/" target="_blank" href="{$config['http_home_url']}catalog/A/" class="copyright"><b>{$config['http_home_url']}catalog/A/</b></a>. То есть, после перестроения мы получим <b>«Алфавитный указатель»</b>, предназначенный для автоматического поиска новостей, заголовок которых начинается на определённую букву (символ) или цифру. Такой способ навигации очень удобен как для посетителей сайта, так и для администрации. <br />Допустимые символы буквенного каталога публикаций вводятся <a title="Настройка допустимых символов буквенного каталога" target="_blank" href="$PHP_SELF?mod=options&action=syscon" class="copyright">в настройках параметров скрипта</a>, во вкладке настройки вывода новостей, текущее значение: <font color="darkgreen"><b>{$config['valid_catalog_symbols']}</b></font>. <br />Перезаписать существующие значения <b>символьного кода</b> <select id="rewrite_catalog" name="rewrite_catalog"><option value="no">Нет</option><option value="yes">Да</option></select> <br /><br /><font color="red"><b>Внимание:</b> Перед началом не забудьте создать резервную копию базы данных, т.к. данное действие в случае некорректной или не совсем ожидаемой работы, невозможно будет отменить.</font></td> </tr> <tr> <td colspan="2"><div class="hr_line"></div></td> </tr> <tr> <td style="padding:2px;height:50px;"><div id="cat_progressbar"></div>{$lang['stat_allnews']}&nbsp;{$row['count']},&nbsp;{$lang['rebuild_count']}&nbsp;<font color="red"><span id="cat_newscount">0</span></font>&nbsp;<span id="cat_progress"></span></td> </tr> <tr><td style="background-image: url(/engine/skins/images/mline.gif)" height=1 colspan=2></td></tr> <tr> <td style="padding:2px;" colspan="2">&nbsp;</td> </tr> <tr> <td style="padding:2px;">{$submit}</td> </tr> </table> </td> <td style="background-image: url(/engine/skins/images/tl_rb.gif)"><img src="engine/skins/images/tl_rb.gif" width="6" height="1" border="0" /></td> </tr> <tr> <td><img src="engine/skins/images/tl_lu.gif" width="4" height="6" border="0" /></td> <td style="background-image: url(/engine/skins/images/tl_ub.gif)"><img src="engine/skins/images/tl_ub.gif" width="1" height="6" border="0" /></td> <td><img src="engine/skins/images/tl_ru.gif" width="6" height="6" border="0" /></td> </tr> </table> </div></form> <script language="javascript" type="text/javascript"> var total = {$row['count']}; $(function() { $( "#cat_progressbar" ).progressbar({ value: 0 }); $('#cat_button').click(function() { $("#cat_progress").ajaxError(function(event, request, settings){ $(this).html('{$lang['nl1_error']}'); $('#cat_button').attr("disabled", false); }); $('#cat_progress').html('{$lang['rebuild_status']}'); $('#cat_button').attr("disabled", "disabled"); $('#cat_button').val("{$lang['rebuild_forw']}"); cat_senden( $('#cat_rebuild_ok').val() ); return false; }); }); function cat_senden( startfrom ){ var cat=top.document.getElementById('rewrite_catalog').value; if (cat=='no') { $.post("engine/ajax/rebuild.php?user_hash={$dle_login_hash}", { startfrom: startfrom, area: 'cat_rebuild' }, function(data){ if (data) { if (data.status == "ok") { $('#cat_newscount').html(data.rebuildcount); $('#cat_rebuild_ok').val(data.rebuildcount); var proc = Math.round( (100 * data.rebuildcount) / total ); if ( proc > 100 ) proc = 100; $('#cat_progressbar').progressbar( "option", "value", proc ); if (data.rebuildcount >= total) { $('#cat_progress').html('{$lang['rebuild_status_ok']}'); } else { setTimeout("cat_senden(" + data.rebuildcount + ")", 5000 ); } } } }, "json"); return false; } if (cat=='yes') { $.post("engine/ajax/rebuild.php?user_hash={$dle_login_hash}", { startfrom: startfrom, area: 'rewrite_catalog' }, function(data){ if (data) { if (data.status == "ok") { $('#cat_newscount').html(data.rebuildcount); $('#cat_rebuild_ok').val(data.rebuildcount); var proc = Math.round( (100 * data.rebuildcount) / total ); if ( proc > 100 ) proc = 100; $('#cat_progressbar').progressbar( "option", "value", proc ); if (data.rebuildcount >= total) { $('#cat_progress').html('{$lang['rebuild_status_ok']}'); } else { setTimeout("cat_senden(" + data.rebuildcount + ")", 5000 ); } } } }, "json"); return false; } } </script> HTML; $row = $db->super_query( "SELECT COUNT(*) as count FROM " . PREFIX . "_static WHERE allow_br !='2'" );

6. В файле engine/modules/addnews.php найти:
if ($config['create_catalog']) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( $title ) ) ), ENT_QUOTES, $config['charset'] ), 0, 1, $config['charset'] ) ); else $catalog_url = "";

заменить на:
if ($config['create_catalog']) $catalog_url = $db->safesql( dle_substr( htmlspecialchars( strip_tags( stripslashes( trim( preg_replace( "/[^{$config['valid_catalog_symbols']}]+/mi", "", ( $title ) ) ) ) ) ), 0, 1, $config['charset'] ) ); else $catalog_url = "";

Так же при помощи этого "исправления" можно добавить символьный код к уже давно добавленным новостям. При перестроении добавленный вами ранее код останется не тронутым, однако, имеется возможность принудительно его перезаписать.

Допустимые символы буквенного каталога публикаций

Вам нужно будет указать допустимые символы в настройках вывода новостей админпанели. Рекомендуемый формат регулярного выражения: a-zа-я0-9
будет брать первый символ кириллицы, латиницы или цифру из заголовка, возможно, вы также сможете указать и национальные символы. (не проверялось). Всё. fellow

Автор: iwanowi4 [18-11-2012]

Предлагаем ознакомится с хаками дле скачать
Просмотров: 2933 | Добавил: mudded | Рейтинг: 0.0/0
Всего комментариев: 0
Меню сайта
Статистика

Онлайн всего: 4
Гостей: 4
Пользователей: 0
Форма входа
Поиск
Календарь
«  Март 2013  »
Пн Вт Ср Чт Пт Сб Вс
    123
45678910
11121314151617
18192021222324
25262728293031
Архив записей
Друзья сайта
  • Официальный блог
  • Сообщество uCoz
  • FAQ по системе
  • Инструкции для uCoz
  • Copyright MyCorp © 2025 Создать бесплатный сайт с uCoz