Понедельников НЕТ!
Регистрация или вход Регистрация или вход Избранное на этом сайте | Главная | Анкета | Рекомендовать | Обратная связь | В избранное | Сделать домашней
Скачать 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
Поиск по сайту









Интересное в сети
  • Квартиры посуточно арзамас arzkv.ru.
  • Публикации
    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
    Прочитано: 12672 раз
    [ Назад | Начало | Наверх ]
    Комментарии

    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
    25262728293031
    Купить.
    Можно в кредит на 90 дней!
    Навигация
    »» RSS
    Главная | Форум | Новости | Подписка на новости | Темы новостей | Добавить новость | Каталог файлов | Карта файлового архива | Публикации | Опросы | Анкета пользователя | Чат | BestMaker | Викторина | Архив новостей | Карманный оракул | Поиск по сайту с помощью Яндекс | Поиск по сайту с помощью Google | Фото дня | Для души | Погода на 3 дня | IndexCat | IndexTop | Map_Pages | Весь Оракул

    Rambler's Top100

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