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
74
<?php
/*
	Question2Answer by Gideon Greenspan and contributors
	http://www.question2answer.org/
	File: qa-plugin/mouseover-layer/qa-mouseover-admin-form.php
	Description: Generic module class for mouseover layer plugin to provide admin form and default option
	This program is free software; you can redistribute it and/or
	modify it under the terms of the GNU General Public License
	as published by the Free Software Foundation; either version 2
	of the License, or (at your option) any later version.
	This program is distributed in the hope that it will be useful,
	but WITHOUT ANY WARRANTY; without even the implied warranty of
	MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
	GNU General Public License for more details.
	More about this license: http://www.question2answer.org/license.php
*/
class qa_mouseover_admin_form
{
	public function option_default($option)
	{
		if ($option === 'mouseover_content_max_len')
			return 480;
	}
	public function admin_form(&$qa_content)
	{
		$saved = qa_clicked('mouseover_save_button');
		if ($saved) {
			qa_opt('mouseover_content_on', (int) qa_post_text('mouseover_content_on_field'));
			qa_opt('mouseover_content_max_len', (int) qa_post_text('mouseover_content_max_len_field'));
		}
		qa_set_display_rules($qa_content, array(
			'mouseover_content_max_len_display' => 'mouseover_content_on_field',
		));
		return array(
			'ok' => $saved ? 'Mouseover settings saved' : null,
			'fields' => array(
				array(
					'label' => 'Show content preview on mouseover in question lists',
					'type' => 'checkbox',
					'value' => qa_opt('mouseover_content_on'),
					'tags' => 'name="mouseover_content_on_field" id="mouseover_content_on_field"',
				),
				array(
					'id' => 'mouseover_content_max_len_display',
					'label' => 'Maximum length of preview:',
					'suffix' => 'characters',
					'type' => 'number',
					'value' => (int) qa_opt('mouseover_content_max_len'),
					'tags' => 'name="mouseover_content_max_len_field"',
				),
			),
			'buttons' => array(
				array(
					'label' => 'Save Changes',
					'tags' => 'name="mouseover_save_button"',
				),
			),
		);
	}
}