PageSourceSearch

https://iuraf.ru/_library/_user_quest_disp/_user_quest_disp.js

js iuraf.ru collected 2026-10-08 14:12:00 UTC 10,916 bytes, 247 lines download raw bytes

1
2/* Блок вопросов, вывод на экран*/
3
4// формируем страницу вопросов
5function _disp_question_page(session_data) {
6
7    // формируем общий массив в порядке вывода вопросов
8    arr_user_quest_page = set_page_questions(session_data.user_quest);
9
10    // формируем заголовок блока вопросов
11    var header = _disp_ques_header(arr_user_quest_page);
12
13    // формируем тело блока вопросов
14    var body = _disp_ques_body(arr_user_quest_page);
15
16    // формируем страницу вопросов
17    var ques_page = '<hr class="hrLine_ques">' + header + body;
18
19    set_param_and_viev_page(ques_page, session_data);
20}
21
22function set_param_and_viev_page(ques_page, session_data) {
23    // установим стили
24    $('head').append('<link href="/_library/_user_quest_disp/_user_quest_disp.css" rel="stylesheet" type="text/css"/>');
25
26    // ставим страницу вопросов
27    $('body').append('<div id = "_disp_quest_block">' + ques_page + '</div>');
28
29    // Блок mw img и mask
30    $('body').append('<div id="_disp_mw_img_div_id"></div>');
31    $('body').append('<div  id="_disp_mw_img_mask_id" class="_disp_mw_img_mask_cls"></div>');
32
33    // установим параметры иконки
34    $('._icon_click_img').css('max-height', session_data.user_icon_height);
35    $('._icon_click_img').css('border', session_data.user_icon_bordur);
36
37    // если пользователь не активирован блокируем кнопки
38    var loc_name = localStorage["iuraf_loc_name"];
39    if ( !loc_name) {
40        var loc_name = sessionStorage["iuraf_loc_name"];
41    }
42    if ( loc_name ) {
43        session_data.activation_name = loc_name;
44        enable_all_button(session_data.activation_name);
45    } else {
46        disable_all_button();
47    }
48}
49
50// формируем тело блока вопросов
51function _disp_ques_body(arr_user_quest_page) {
52    var body = '';
53    var n = 0;
54    for ( i = 0; i < arr_user_quest_page.length; i++ ) {
55        if ( arr_user_quest_page[i]['id_ques'] > 0 ) {
56            var classTable = 'messTable';
57            var button = '<input id="ques_' + arr_user_quest_page[i]['id_ques']
58                    + '" class="_mw_button_cls _but_comment" type="button" value="Ответить"/>';
59            var img_ques = '<img src="/_library/_user_quest_disp/img/ques.gif"> ';
60            var class_back = 'messName_td back_ques';
61            n++;
62        } else {
63            var classTable = 'commTable';
64            var button = '';
65            var img_ques = '<img src="/_library/_user_quest_disp/img/answ.gif"> ';
66            var class_back = 'messName_td back_ansver';
67        }
68
69        if ( arr_user_quest_page[i]['img_name'] )
70            var img_name = arr_user_quest_page[i]['img_name'];
71        else
72            var img_name = '/_library/_validation_lib/img/not_img.gif';
73
74        body += '<table border="0" class="' + classTable + '">\n\
75                    <tr>\n\
76                        <td rowspan="3" class="ques_img_td">'+ img_ques + '</td>\n\
77                        <td class = "' + class_back + '">' + arr_user_quest_page[i]['name'] + '<div class = "messDate">' + arr_user_quest_page[i]['date'] + '</div></td>\n\
78                        <td rowspan="3"  class = "messImg_td"><img class = "_icon_click_img" src = "' + img_name + '"/></td>\n\
79                        <td class = "but_comment_td">' + button + '</td>\n\
80                    </tr>\n\
81                    <tr>\n\
82                        <td rowspan="2" class="messText">' + arr_user_quest_page[i]['text'] + '</td>\n\
83                        <td class = "rating_td"><div class = "rating_text" >' + arr_user_quest_page[i]['rating'] + '</div></td>\n\
84                    </tr>\n\
85                    <tr>\n\
86                        <td class = "reitingBut_td">\n\
87                        <input id = "add_' + i + '-' + arr_user_quest_page[i]['id']
88                        + '"  class = "_mw_button_cls _but_rating" type = "button" value="+" />\n\
89                            <input id = "sub_' + i + '-' + arr_user_quest_page[i]['id']
90                        + '" class = "_mw_button_cls _but_rating" type = "button" value="-"/></td>\n\
91                    </tr>\n\
92                </table>';
93    }
94    return body;
95}
96
97
98// формируем заголовок
99function _disp_ques_header(arr_user_quest_page) {
100
101    var count_ques = get_count_ques(arr_user_quest_page);
102
103    var header = '<table border="0" class="table_headline">\n\
104                    <tr>\n\
105                        <td rowspan="2"><img src="/_library/_user_quest_disp/img/faq.gif"/></td>\n\
106                        <td><div class="ques_text_head">Вопросы к уроку: ' +
107                                session_data.lesson_header + '<br>' + session_data.lesson_title + '</div></td>\n\
108                        <td class="count_ques_td">\n\
109                            <div class="ques_count" >Вопросов: \n\
110                                ' + count_ques + '</div></td></tr>\n\
111                    <tr valign="center">\n\
112                        <td class="ques_text_text"><div id="head_user_activ"></div></td>\n\
113                        <td class="ques_button"><input id="_but_ques_id" class="_mw_button_cls _but_ques" type="button" value="Задать вопрос"/></td>\n\
114                    </tr></table>';
115    return header;
116}
117
118// формируем общий массив в нужном порядке
119function set_page_questions(arr_user_quest_page) {
120
121    var arr_user_ques = set_arr_user_ques(arr_user_quest_page);             // формируем массив вопросов
122    var arr_user_comm = set_arr_user_comm(arr_user_quest_page);             // формируем массив ответов
123
124    var arr_user_quest_page = [ ];
125    var n = 0;
126    for ( var i = 0; i < arr_user_ques.length; i++ ) {
127
128        arr_user_quest_page[n] = arr_user_ques[i];
129        var id_ques = arr_user_quest_page[n]['id_ques'];                        // текущий номер вопроса
130        if ( arr_user_quest_page[n]['img_name'] ) {
131            arr_user_quest_page[n]['img_name'] = session_data.img_user_path + '/' + arr_user_quest_page[n]['img_name'];
132        } else {
133            arr_user_quest_page[n]['img_name'] = null;
134        }
135        n++;
136
137        // добавляем сомментарии к текущему вопросу
138        for ( j = 0; j < arr_user_comm.length; j++ ) {
139            if ( arr_user_comm[j]['id_comm'] === id_ques ) {
140                arr_user_quest_page[n] = arr_user_comm[j];                      // добавим комментарии в общий массив
141
142                // добавим путь к имени img
143                if ( arr_user_quest_page[n]['img_name'] ) {
144                    arr_user_quest_page[n]['img_name'] = session_data.img_user_path + '/' + arr_user_quest_page[n]['img_name'];
145                } else {
146                    arr_user_quest_page[n]['img_name'] = null;
147                }
148                n++;
149            }
150        }
151    }
152    return arr_user_quest_page;
153}
154
155// формируем массив ответов
156function set_arr_user_comm(arr_user_quest_page) {
157    var m = 0;
158    var arr_user_comm = [ ];
159    for ( var i = 0; i < arr_user_quest_page.length; i++ ) {
160        if ( arr_user_quest_page[i]['id_comm'] > 0 ) {
161            arr_user_comm[m] = arr_user_quest_page[i];
162            m++;
163        }
164    }
165    return arr_user_comm;
166}
167
168// формируем массив вопросов
169function set_arr_user_ques(arr_user_quest_page) {
170    var n = 0;
171    var arr_user_ques = [ ];
172
173    // формируем массив вопросов и массив ответов
174    for ( var i = 0; i < arr_user_quest_page.length; i++ ) {
175        if ( arr_user_quest_page[i]['id_ques'] > 0 ) {
176            arr_user_ques[n] = arr_user_quest_page[i];
177            n++;
178        }
179    }
180    return arr_user_ques;
181}
182
183function get_count_ques(arr_user_quest_page) {
184    var count_ques = 0;
185    for ( var i = 0; i < arr_user_quest_page.length; i++ )
186        if ( arr_user_quest_page[i]['id_ques'] > 0 )
187            count_ques++;
188
189    return count_ques;
190}
191
192// выключим все кнопки кроме "Активация"
193function disable_all_button() {
194    // кнопка "задать вопрос"
195    $('#_but_ques_id').css('disabled', true);
196    $('#_but_ques_id').css('opacity', '0.5');
197    $('#_but_ques_id').css('color', 'gray');
198    $('#_but_ques_id').css('cursor', 'not-allowed');
199
200    // кнопки "Ответить"
201    $('._but_comment').css('disabled', true);
202    $('._but_comment').css('opacity', '0.5');
203    $('._but_comment').css('color', 'gray');
204    $('._but_comment').css('cursor', 'not-allowed');
205
206    // кнопки рейтинга "+"/"-"
207    $('._but_rating').css('disabled', true);
208    $('._but_rating').css('opacity', '0.5');
209    $('._but_rating').css('color', 'gray');
210    $('._but_rating').css('cursor', 'not-allowed');
211
212    $('#head_user_activ_text').remove();
213    var txt = '<div id="head_user_activ_text">\n\
214                <div class="class_user_act">Что бы задать вопрос необходимо \n\
215                <b id="user_activation" class="class_user_act_href">активировать</b> свою запись,\n\
216                если Вы не зарегистрированы на сайте, необходимо \n\
217                <b id="user_registration" class="class_user_act_href">зарегистрироваться.</b></div></div>';
218    $('#head_user_activ').append(txt);
219}
220
221// выключим все кнопки кроме "Активация"
222function enable_all_button(activation_name) {
223    // кнопка "задать вопрос"
224    $('#_but_ques_id').css('disabled', false);
225    $('#_but_ques_id').css('opacity', '1');
226    $('#_but_ques_id').css('color', 'black');
227    $('#_but_ques_id').css('cursor', 'pointer');
228
229    // кнопки "Ответить"
230    $('._but_comment').css('disabled', false);
231    $('._but_comment').css('opacity', '1');
232    $('._but_comment').css('color', 'black');
233    $('._but_comment').css('cursor', 'pointer');
234
235    // кнопки рейтинга "+"/"-"
236    $('._but_rating').css('disabled', false);
237    $('._but_rating').css('opacity', '1');
238    $('._but_rating').css('color', 'black');
239    $('._but_rating').css('cursor', 'pointer');
240
241    $('#head_user_activ_text').remove();
242    var txt = '<div id="head_user_activ_text"><table><tr>\n\
243            <td class="_td1">Пользователь: ' + activation_name + '</td>\n\
244            <td class="_td2"><p id="user_de_activation">Деактивировать пользователя</p></td>\n\
245        </tr></table></div>';
246    $('#head_user_activ').append(txt);
247}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.