Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать SSDForums
Скачать SSDForums 1.0.1 Скачать SSDForums 1.0.1
Скачать SSDForums 1.0.1 SP1 Скачать SSDForums 1.0.1 SP1
Скачать SSDForums 1.0.1 SP2 Скачать SSDForums 1.0.1 SP2
SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro SSD Forums 1.0.1 SP3 only Slaed 3.5 Pro
SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro SSD Forums 1.0.1 SP4-beta only Slaed 4.1 Pro
Jewelry Сase Team
Скачать Ruby Chat 0.1.1 Скачать Ruby Chat 0.1.1
Меню
Главная
Форум
Магазин цифровых товаров

Новости
Подписка на новости
Темы новостей
Добавить новость

Каталог файлов
Карта файлового архива
Публикации

Опросы
Анкета пользователя
Чат

BestMaker
Викторина
Архив новостей
Карманный оракул
Поиск по сайту с помощью Яндекс
Поиск по сайту с помощью Google
Фото дня
Для души
Погода на 3 дня
IndexCat
IndexTop
Map_Pages
Публикации
HTML_Content
Делаем папки с русскими названиями, или Названия папок кирилицой


С помощью нехитрого хака получаем возможность в модуле HTML_Content называть папки русскими буквами и даже с пробелами!




1. Напишем небольшой вспомогательный модуль для конвертации названия из русских букв в символы URL-кодирования в соответствии с RFC1738.

Создаем папку modeles/blabla в которой создаем файл index.php вот с таким содержанием:
Код
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
<?php
if (!defined('MODULE_FILE')) {
   Header("Location: ../../index.php");
   exit;
}
$module_name = basename(dirname(__FILE__));


   $pagetitle = "$defis Вспомогательный модуль перевода";
    include("header.php");
      OpenTable();

echo "<b><form name=\"post\" enctype=\"multipart/form-data\" action=\"index.php?name=$module_name\" method=\"post\">"
."Сюда пишем название папки (max 50 знаков с учетом пробелов!):"
."<br><input type=\"text\" name=\"title\" maxlength=\"50\" size=\"85\" style=\"width:600px\" value=\"".$_POST['title']."\">"
."<br><input type=\"submit\" value=\"Перевести\">"
."<br><br>Тут получаем код:";
$title = rawurlencode($_POST['title']);
$title = preg_replace("/%/si", "", $title);
echo "<br><textarea id=\"area\" name=\"description\" cols=\"85\" rows=\"15\" style=\"width:600px\">".$title."</textarea>"
."</form>";

      CloseTable();
   include("footer.php");

?>


Активируем модуль blabla в админке с параметром "Только для администраторов" и "Сделать видимым в блоке модулей - НЕТ"

2. Закодировали название. Т.е. полученный код используем что бы назвать папку в инете.

3. Теперь в модуле и блоке HTML_Content надо раскодировать зашиврованное название папки, для чего
а). в модуле применяем декодирование function main()
Код
1
2
3
4
5
6
7
8
9
10
11
12
$menuid = "menu".$menucount;
         $submenu = "sub".$menucount;
         $content .= "<div id=\"cont\">";
//начало вставки
$title_title_out = "";
$title_title_in = $title_title;
while ($title_title_in != ""){
   $title_title_out .= "%".strrev(substr ( strrev($title_title_in), -2));
   $title_title_in = substr ($title_title_in, 2);
}
$title_title = rawurldecode($title_title_out);
//конец вставки


б). в модуле применяем декодирование function page($folder, $contentsite)
Код
1
2
3
4
5
6
7
8
9
10
11
$contentsite_title = str_replace("_", " ", $contentsite_title);
//начало вставки
$title_title_out = "";
$title_title_in = $folder_title;
while ($title_title_in != ""){
   $title_title_out .= "%".strrev(substr ( strrev($title_title_in), -2));
   $title_title_in = substr ($title_title_in, 2);
}
$folder_title = rawurldecode($title_title_out);
//конец вставки
      $pagetitle = "$defis "._HTML_CONTENT." $defis $folder_title $defis $contentsite_title";


в). Декодируем в блоке
Код
1
2
3
4
5
6
7
8
9
10
11
12
$menuid = "menu".$menucount;
      $submenu = "sub".$menucount;
      $content .= "<div id=\"cont\">";
//начало вставки
$title_title_out = "";
$title_title_in = $title_title;
while ($title_title_in != ""){
   $title_title_out .= "%".strrev(substr ( strrev($title_title_in), -2));
   $title_title_in = substr ($title_title_in, 2);
}
$title_title = rawurldecode($title_title_out);
//конец вставки


Всё. Теперь в HTML_Content можем называть папки по-русски. К сожалению только по русски без цифр и латинских букв.

Посмотреть пример


Дата публикации: 20.07.2007
Прочитано: 13016 раз
[ Назад | Начало | Наверх ]
Комментарии

Pishkom
Дата: 11.01.2008 | Комментарий: 7
PishkomОгромное Спасибо! всё работает!
Serg_pnz
Дата: 11.01.2008 | Комментарий: 6
Serg_pnzPishkom, тогда уж так надо
Код
1
2
3
if ($file_title=="Demo_1") {$title_title = "Документация";}
elseif ($file_title=="Demo_2") {$title_title = "Советы";}
elseif ...


А Ю%mo% 3 указывает на то, что существует папка с реальным именем, написанным латиницей, в данном случае Demo 3
Хак в этом месте тупит и патается "перевести" слово Demo 3 на русский язык

_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _
отредактированно 11.01.2008г.

Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Pishkom
Дата: 11.01.2008 | Комментарий: 5
PishkomПопробывал сделать всё как описано выше, в результате опять Ю%mo% 3, незнаю что и делать.

Попробывал ещё способ:
PHP - Код
1
2
3
4
5
6
7
8
9
<?php
// после строки
$title_title = str_replace("_", " ", $file_title);
// вставить
$title_title = str_replace("Demo_1", "Документация", $file_title);
$title_title = str_replace("Demo_2", "Советы", $file_title);
$title_title = str_replace("Demo_3", "Документация", $file_title);
// конец вставки
?>

Тоже не работает, переводит только последнюю строку.
Может кто подскажет ещё вариантики, сам в пхп новичёк, и в чюжих кодах пока сложновато.
DoS
Дата: 30.07.2007 | Комментарий: 4
DoSСсори! Как оказалось, не включил модуль...
DoS
Дата: 30.07.2007 | Комментарий: 3
DoSМбдаа... Стало еще хуже. Папки с русскими именами отображаются, как и раньше, но теперь в имена понатыкано "%" в огромном количестве. А файлы из этих папок по-прежнему не открываются.
Stinki
Дата: 23.07.2007 | Комментарий: 2
StinkiСпасибо очень нужный хак
Serg_pnz
Дата: 20.07.2007 | Комментарий: 1
Serg_pnzЭто уже второй вариант опубликован. Первая была с багами...
Не все кальсоны с оторванными пуговицами - брюки. © Serg_pnz
"...даме водки? Это чистый спирт!" © кот Бегемот
Вы не можете отправить комментарий анонимно, пожалуйста зарегистрируйтесь.
Календарь 3 в 1
- М - Г + Г + М
Ноябрь, 2024
пнвтсрчтптсбвс
123
45678910
11121314151617
18192021222324
252627282930
Купить.
Можно в кредит на 90 дней!
Навигация
»» RSS
Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул


Генерация страницы: 0.055 сек. и 18 запросов к базе данных за 0.026 сек.
Web site engine code is Copyright © 2006 by SLAED CMS. All rights reserved.