1: <?php
2:
3: /**
4: * inline message modules
5: * @package modules
6: * @subpackage inline_message
7: */
8:
9: if (!defined('DEBUG_MODE')) { die(); }
10:
11: /**
12: * @subpackage inline_message/handler
13: */
14: class Hm_Handler_get_inline_message_setting extends Hm_Handler_Module {
15: public function process() {
16: $this->out('inline_message_setting', $this->user_config->get('inline_message_setting', DEFAULT_INLINE_MESSAGE));
17: $this->out('inline_message_style', $this->user_config->get('inline_message_style_setting', DEFAULT_INLINE_MESSAGE_STYLE));
18: }
19: }
20:
21: /**
22: * @subpackage inline_message/handler
23: */
24: class Hm_Handler_process_inline_message_style extends Hm_Handler_Module {
25: public function process() {
26: function inline_message_style_callback($val) {
27: if (in_array($val, array('right', 'inline'), true)) {
28: return $val;
29: }
30: return DEFAULT_INLINE_MESSAGE_STYLE;
31: }
32: process_site_setting('inline_message_style', $this, 'inline_message_style_callback', DEFAULT_INLINE_MESSAGE_STYLE, true);
33: }
34: }
35:
36: /**
37: * @subpackage inline_message/handler
38: */
39: class Hm_Handler_process_inline_message_setting extends Hm_Handler_Module {
40: public function process() {
41: function inline_message_callback($val) { return $val; }
42: process_site_setting('inline_message', $this, 'inline_message_callback', DEFAULT_INLINE_MESSAGE, true);
43: }
44: }
45:
46:
47: /**
48: * @subpackage inline_message/output
49: */
50: class Hm_Output_inline_message_flag extends Hm_Output_Module {
51: protected function output() {
52: return '<script type="text/javascript" id="inline-msg-state">var inline_msg_style = function() { return "'.
53: $this->get('inline_message_style', DEFAULT_INLINE_MESSAGE_STYLE).'";}; var inline_msg = function() { return '.
54: ($this->get('inline_message_setting', DEFAULT_INLINE_MESSAGE) && !$this->get('is_mobile', false) ? 'true' : 'false').
55: ';};</script>';
56: }
57: }
58:
59: /**
60: * @subpackage inline_message/output
61: */
62: class Hm_Output_inline_message_setting extends Hm_Output_Module {
63: protected function output() {
64: $inline = DEFAULT_INLINE_MESSAGE;
65: $settings = $this->get('user_settings', array());
66: if (array_key_exists('inline_message', $settings)) {
67: $inline = $settings['inline_message'];
68: }
69: $res = '<tr class="general_setting"><td><label class="form-check-label" for="inline_message">'.$this->trans('Show messages inline').'</label></td><td><input value="1" type="checkbox" class="form-check-input" name="inline_message" id="inline_message" data-default-value="'.(DEFAULT_INLINE_MESSAGE ? 'true' : 'false') . '"';
70: $reset = '';
71: if ($inline) {
72: $res .= ' checked="checked"';
73: }
74: if($inline !== DEFAULT_INLINE_MESSAGE) {
75: $reset = '<span class="tooltip_restore" restore_aria_label="Restore default value"><i class="bi bi-arrow-counterclockwise fs-6 cursor-pointer refresh_list reset_default_value_checkbox"></i></span>';
76: }
77: $res .= '>'.$reset.'</td></tr>';
78: return $res;
79: }
80: }
81:
82: /**
83: * @subpackage inline_message/output
84: */
85: class Hm_Output_inline_message_style extends Hm_Output_Module {
86: protected function output() {
87: $settings = $this->get('user_settings', array());
88: $selected = '';
89: $reset = '';
90: if (array_key_exists('inline_message_style', $settings)) {
91: $selected = $settings['inline_message_style'];
92: }
93: $res = '<tr class="general_setting"><td>'.$this->trans('Inline Message Style').'</td><td><select class="form-select form-select-sm w-auto" name="inline_message_style" data-default-value="'.DEFAULT_INLINE_MESSAGE_STYLE.'">';
94: $res .= '<option ';
95: if ($selected == 'right') {
96: $res .= 'selected="selected" ';
97: }
98: $res .= 'value="right">'.$this->trans('Right').'</option><option ';
99: if ($selected == 'inline') {
100: $res .= 'selected="selected" ';
101: }
102: if($selected !== DEFAULT_INLINE_MESSAGE_STYLE) {
103: $reset = '<span class="tooltip_restore" restore_aria_label="Restore default value"><i class="bi bi-arrow-counterclockwise refresh_list reset_default_value_select"></i></span>';
104: }
105: $res .= 'value="inline">'.$this->trans('Inline').'</option></select>'.$reset.'</td></tr>';
106: return $res;
107: }
108: }
109: