1
8 */
9
10 use dokuwiki\ActionRouter;
11 use dokuwiki\Extension\Event;
12
13 /**
14 * Вся обработка действий начинается здесь
15 */
16 function act_dispatch()
17 {
18 // всегда инициализируется при первой отправке (тестовый запрос может отправляться несколько раз в одном запросе)
19 $router = ActionRouter::getInstance(true);
20
21 $headers = ['Content-Type: text/html; charset=utf-8'];
22 Event::createAndTrigger('ACTION_HEADERS_SEND', $headers, 'act_sendheaders');
23
24 // clear internal variables
25 unset($router);
26 unset($headers);
27 // сделать все глобальные переменные доступными для шаблона
28 extract($GLOBALS);
29
30 include(template('main.php'));
31 // вывод для команд теперь обрабатывается в inc / templates.php
32 // в функции tpl_content()
33 }
34
35 /**
36 * Отправка указанных заголовков с помощью header()
37 *
38 * @param array $ headers Заголовки, которые должны быть отправлены
39 */
40 function act_sendheaders($headers)
41 {
42 foreach ($headers as $hdr) header($hdr);
43 }
44
45 /**
46 * Очистите команду действия
47 *
48 * @автор Андреас Гор
49 *
50 * @param массив | строка $ акт
51 * @возвращаемая строка
52 */
53 function act_clean($act)
54 {
55 // проверяем, было ли действие задано как ключ массива
56 if (is_array($act)) {
57 [$act] = array_keys($act);
58 }
59
60 // никаких действий не предпринято
61 if ($act === null) return 'show';
62
63 //удалить все плохие символы
64 $act = strtolower($act);
65 $act = preg_replace('/[^1-9a-z_]+/', '', $act);
66
67 if ($act == 'export_html') $act = 'export_xhtml';
68 if ($act == 'export_htmlbody') $act = 'export_xhtmlbody';
69
70 if ($act === '') $act = 'show';
71 return $act;
72 }
73
«Подробности»
1
8*/
9
10использовать dokuwiki \ ActionRouter ;
11использовать dokuwiki \ Extension \ Event ;
12
13/**
14* Вся обработка действий начинается здесь
15*/
16функция act_dispatch ()
17{
18 // всегда инициализируется при первой отправке (тестовый запрос может отправляться несколько раз в одном запросе)
19 $ router = ActionRouter :: getInstance ( true );
20
21 $ headers = [ 'Тип содержимого: текст / html ; кодировка=utf-8' ];
22 Событие :: createAndTrigger ( 'ACTION_HEADERS_SEND' , $ headers , 'act_sendheaders' );
23
24 // очистить внутренние переменные
25 не установлен ($ router );
26 не установлено ($ headers );
27 // сделать все глобальные переменные доступными для шаблона
28 извлечь ($ GLOBALS );
29
30 включить ( шаблон ( ' main.php ' ));
31 // вывод для команд теперь обрабатывается в inc / templates.php
32 // в функции tpl_content()
33}
34
35/**
36* Отправка указанных заголовков с помощью header()
37*
38* @param array $ headers Заголовки, которые должны быть отправлены
39*/
40функция act_sendheaders ($ headers )
41{
42 foreach ($ headers as $ hdr ) header ($ hdr );
43}
44
45/**
46* Очистите команду действия
47*
48* @автор Андреас Гор
49*
50* @param массив | строка $ акт
51* @возвращаемая строка
52*/
53функция act_clean ($ act )
54{
55 // проверяем, было ли действие задано как ключ массива
56 если ( is_array ($ act )) {
57 [$ act ] = array_keys ($ act );
58 }
59
60 // никаких действий не предпринято
61 если ($ act === null ) вернуть 'show' ;
62
63 //удалить все плохие символы
64 $ act = strtolower ($ act );
65 $ act = preg_replace ( '/[^1-9a-z_]+/' , '' , $ act );
66
67 если ($ act == 'export_html' ) $ act = 'export_xhtml' ;
68 если ($ act == 'export_htmlbody' ) $ act = 'export_xhtmlbody' ;
69
70 если ($ act === '' ) $ act = 'показать' ;
71 возврат $ акт ;
72}
73