Форум программистов, компьютерный форум, киберфорум
DataLife Engine (DLE)
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.60/5: Рейтинг темы: голосов - 5, средняя оценка - 4.60
 Аватар для the112
9 / 9 / 4
Регистрация: 14.05.2014
Сообщений: 180

Модуль status перестал писать по русски

13.12.2014, 08:15. Показов 1103. Ответов 3
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем привет. Перенес сайт с локального на виртуальный хост и заметил что один из модулей(статус пользователя) перестал работать, если писать его русскими буквами. Когда пишешь по англ. - все работает. Думаю это как то связано с кодировкой.. сайт стоит на 1251, в файлах модуля кодировка не указана...

Вот код модуля:
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
<?php
/*
=====================================================
-----------------------------------------------------
 Copyright (c) Arteom
-----------------------------------------------------
 Файл: status.php
-----------------------------------------------------
 Назначение: AJAX обновление статуса
=====================================================
*/
 
@session_start();
@error_reporting ( E_ALL ^ E_WARNING ^ E_NOTICE );
@ini_set ( 'display_errors', true );
@ini_set ( 'html_errors', false );
@ini_set ( 'error_reporting', E_ALL ^ E_WARNING ^ E_NOTICE );
 
define( 'DATALIFEENGINE', true );
define( 'ROOT_DIR', substr( dirname(  __FILE__ ), 0, -12 ) );
define( 'ENGINE_DIR', ROOT_DIR . '/engine' );
 
include ENGINE_DIR . '/data/config.php';
require_once ENGINE_DIR . '/classes/mysql.php';
require_once ENGINE_DIR . '/data/dbconfig.php';
require_once ENGINE_DIR . '/modules/functions.php';
 
$_POST['text'] = convert_unicode( $_POST['text'], $config['charset']  );
 
if($_POST['text'] == "")$_POST['text']="Статуса нет.";
$_POST['text'] = htmlspecialchars( "$_POST[text]", ENT_QUOTES);
 
if($_POST['text'] != "Статуса нет."){
    $db->super_query( "UPDATE " . USERPREFIX . "_users set u_status='$_POST[text]' where user_id='$_POST[user]'" );
}else{
    $db->super_query( "UPDATE " . USERPREFIX . "_users set u_status='' where user_id='$_POST[user]'" );
}
 
@header( "Content-type: text/html; charset=" . $config['charset'] );
echo $_POST['text'];
?>
Вот инструкци по установке:

HTML5
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
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
1. Выполнить запрос в базу данных:
    ALTER TABLE `dle_users` ADD `u_status` text not null
 
2. Скопировать файлы из папки upload в корень сайта, с учетом папки с вашим шаблоном.
 
3. Открыть файл /engine/modules/profile.php и вставить ПЕРЕД $xfieldsaction = "list"; это:
 
    $status_text = "$row[u_status]";
    if($status_text == "") $status_text ="Статуса нет.";
    
    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]"){
        $user_status .= <<<HTML
            <script>
                <!--
                $.fx.speeds._default = 1000;
                $(function() {
                    $("#status_edit").dialog({
                        autoOpen: false,
                        show: 'fade',
                        width: '400',
                        buttons: {
                            "Отмена" : function() {
                                $(this).dialog("close");
                            },
                            "Обновить" : function() {
                                var message = $("#status_form").val();
                                var userid = "$row[user_id]";
                                ShowLoading('');
                                $.post(dle_root + "engine/ajax/status.php", { text:message, user:userid }, function(data){
                                        $("#place").html(data);
                                        $("#status_form").val('');
                                    HideLoading('');
                                }); 
                                $(this).dialog("close");
                            },
                        },
                    });
                    $( "#st_e_b" ).click(function() {
                        $( "#status_edit" ).dialog( "open" );
                        return false;
                    });
                });
                -->
            </script>
HTML;
    }
    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]" or $row['u_status'] != ""){
        $user_status .= "<span id=\"place\">$status_text</span>";
    }
 
    if($member_id['user_id'] == "1" or $member_id['user_id'] == "$row[user_id]"){
        $user_status .= <<<HTML
            <a href="#" id="st_e_b"><img src="{THEME}/dleimages/status_edit.png" title="Изменить статус" align="top" /></a>
            <div id="status_edit" title="Изменение статуса">Введите текст вашего стауса:<br /><br /><input type="text" name="status_e" id="status_form" /></div>
HTML;
    }
    
    $tpl->set( '{user_status}', $user_status);
 
4. В шаблон profile.tpl вставить {user_status} там, где будет выводиться статус.
 
5. В самый конец вашего css файла вставить:
 
    #status_form{border:solid 1px #2c76ad;height:23px;width:365px;padding:0 5px;border-radius:3px;box-shadow:inset 0 0 3px grey;-webkit-transition: all 0.5s ;-moz-transition: all 0.5s ;-ms-transition: all 0.5s ;-o-transition: all 0.5s ;transition: all 0.5s ;}
    #status_form:focus{box-shadow:inset 0 0 6px grey;}
 
6. Открыть файл /engine/ajax/profile.php и вставить перед $tpl->compile( 'content' ); это:
 
    $tpl->set( '{user_status}', $row['u_status'] );
 
7. В шаблон profile_popup.tpl вставить {user_status} там, где будет выводиться статус.
 
Установка готова!
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
13.12.2014, 08:15
Ответы с готовыми решениями:

Писать по русски на компютере
С помощю какой программы можно писать по русски на компе.

Писать программы Java по-русски
Здравствуйте!!! Вопрос принципиального характера. Как известно, Java не накладывает ограничений на язык(алфавит) написания программ,...

Как заставить JComboBox писать по-русски?
Прошу помочь. Хотелось бы в календаре видеть список месяцев на русском: final String months = new String ; int j; ...

3
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
17.12.2014, 06:51
the112, кодировку PHP проверьте. в php.ini настройка должна выглядеть так:
Code
1
default_charset = "WINDOWS-1251"
если стоит UTF-8, то замените на WINDOWS-1251
0
 Аватар для the112
9 / 9 / 4
Регистрация: 14.05.2014
Сообщений: 180
17.12.2014, 09:24  [ТС]
А где можно найти php.ini? cPanel
0
(ノಠ益ಠ)ノ彡┻━┻
 Аватар для N3stY
152 / 152 / 78
Регистрация: 05.06.2014
Сообщений: 710
Записей в блоге: 2
18.12.2014, 05:49
the112, в cPanel не знаю, не работал с ней. Тут что-то есть, не вникал в суть. создайте файл test.php(к примеру) и вставьте в него
PHP
1
2
<?php
phpinfo();
Посмотрите какая там кодировка стоит.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
18.12.2014, 05:49
Помогаю со студенческими работами здесь

Как с php my admin писать в поле по-русски?
Есть таблица, а в ней поля: site типа int, type типа int, url типа text, title типа text и body типа text. Я в поле title пишу по-русски,...

Как писать по-русски в Visual C++ (win32 console application)
Подскажите, пожалуйста, как сделать, чтобы вместо каракуль были русские символы в VC++ (win32 console application)?

Можно ли как определить как писать формулы в яцейки из VBA по русски или английски?
в общем проблема в том можно ли как определить как писать формулы в яцейки из VBA по русски или английски, или как сожно сделать...

DVD-rom перестал писать на CD болванках
Года два назад мой DVD-rom на компе перестал записывать на CD болванках. DVD пишет нормально, а CD нет. Ни копирование дисков, ни запись...

Как определить, когда юзер перестал писать в поле
Подскажите код.Суть такова... Есть текстовое поле, пишем текст в нем... Нужно определить когда юзер перестал писать в поле. К примеру...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
4
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при создании или изменении элементов справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной записи электронной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru