1
|
|
|
<?php |
2
|
|
|
/** |
3
|
|
|
* |
4
|
|
|
* @package phpBB Extension - tas2580 Social Media Buttons |
5
|
|
|
* @copyright (c) 2015 tas2580 (https://tas2580.net) |
6
|
|
|
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2 |
7
|
|
|
* |
8
|
|
|
*/ |
9
|
|
|
|
10
|
|
|
namespace tas2580\socialbuttons\acp; |
11
|
|
|
|
12
|
|
|
class socialbuttons_module |
13
|
|
|
{ |
14
|
|
|
public $u_action; |
15
|
|
|
|
16
|
|
|
public function main($id, $mode) |
|
|
|
|
17
|
|
|
{ |
18
|
|
|
global $config, $user, $template, $request; |
|
|
|
|
19
|
|
|
|
20
|
|
|
$user->add_lang_ext('tas2580/socialbuttons', 'common'); |
21
|
|
|
$this->tpl_name = 'acp_socialbuttons_body'; |
|
|
|
|
22
|
|
|
$this->page_title = $user->lang('ACP_SOCIALBUTTONS_TITLE'); |
|
|
|
|
23
|
|
|
|
24
|
|
|
add_form_key('acp_socialbuttons'); |
25
|
|
|
|
26
|
|
|
// Form is submitted |
27
|
|
|
if ($request->is_set_post('submit')) |
28
|
|
|
{ |
29
|
|
|
if (!check_form_key('acp_socialbuttons')) |
30
|
|
|
{ |
31
|
|
|
trigger_error($user->lang('FORM_INVALID') . adm_back_link($this->u_action), E_USER_WARNING); |
32
|
|
|
} |
33
|
|
|
$forums = implode(',', $request->variable('enable_f', array(0))); |
34
|
|
|
$desc_forums = implode(',', $request->variable('enable_og_desc_f', array(0))); |
35
|
|
|
// Set the new settings to config |
36
|
|
|
$config->set('socialbuttons_position', $request->variable('position', 0)); |
37
|
|
|
$config->set('socialbuttons_enable_forums', $forums); |
38
|
|
|
$config->set('socialbuttons_display_on_index', $request->variable('display_on_index', 0)); |
39
|
|
|
$config->set('socialbuttons_enable', $request->variable('enable', 0)); |
40
|
|
|
$config->set('socialbuttons_cachetime', $request->variable('cachetime', 0)); |
41
|
|
|
$config->set('socialbuttons_multiplicator', $request->variable('multiplicator', 1)); |
42
|
|
|
$config->set('socialbuttons_facebook', $request->variable('facebook', 0)); |
43
|
|
|
$config->set('socialbuttons_twitter', $request->variable('twitter', 0)); |
44
|
|
|
$config->set('socialbuttons_google', $request->variable('google', 0)); |
45
|
|
|
$config->set('socialbuttons_linkedin', $request->variable('linkedin', 0)); |
46
|
|
|
$config->set('socialbuttons_style', $request->variable('style', 1)); |
47
|
|
|
$config->set('socialbuttons_showshares', $request->variable('showshares', 0)); |
48
|
|
|
$config->set('socialbuttons_use_seo_urls', $request->variable('use_seo_urls', '')); |
49
|
|
|
$config->set('socialbuttons_enable_og', $request->variable('enable_og', 0)); |
50
|
|
|
$config->set('socialbuttons_enable_og_title', $request->variable('enable_og_title', 0)); |
51
|
|
|
$config->set('socialbuttons_enable_og_desc', $request->variable('enable_og_desc', 0)); |
52
|
|
|
$config->set('socialbuttons_og_image', $request->variable('og_image', '')); |
53
|
|
|
$config->set('socialbuttons_enable_og_desc_forums', $desc_forums); |
54
|
|
|
trigger_error($user->lang('ACP_SAVED') . adm_back_link($this->u_action)); |
55
|
|
|
} |
56
|
|
|
|
57
|
|
|
// Send the curent settings to template |
58
|
|
|
$position = isset($config['socialbuttons_position']) ? $config['socialbuttons_position'] : false; |
59
|
|
|
$multiplicator = isset($config['socialbuttons_multiplicator']) ? $config['socialbuttons_multiplicator'] : true; |
60
|
|
|
$style = isset($config['socialbuttons_style']) ? $config['socialbuttons_style'] : true; |
61
|
|
|
$desc_forums = isset($config['socialbuttons_enable_og_desc_forums']) ? explode(',', $config['socialbuttons_enable_og_desc_forums']) : array(); |
62
|
|
|
$forums = isset($config['socialbuttons_enable_forums']) ? explode(',', $config['socialbuttons_enable_forums']) : array(); |
63
|
|
|
|
64
|
|
|
$template->assign_vars(array( |
65
|
|
|
'U_ACTION' => $this->u_action, |
66
|
|
|
'POSITION_OPTIONS' => $this->position_select($position), |
67
|
|
|
'MULTIPLICATOR_OPTIONS' => $this->multiplicator_select($multiplicator), |
68
|
|
|
'BUTTON_STYLES' => $this->button_style($style), |
69
|
|
|
'S_ENABLE' => isset($config['socialbuttons_enable']) ? $config['socialbuttons_enable'] : false, |
70
|
|
|
'S_DISPLAY_ON_INDEX' => isset($config['socialbuttons_display_on_index']) ? $config['socialbuttons_display_on_index'] : false, |
71
|
|
|
'S_USE_SEO_URLS' => isset($config['socialbuttons_use_seo_urls']) ? $config['socialbuttons_use_seo_urls'] : false, |
72
|
|
|
'S_SHOWSHARES' => isset($config['socialbuttons_showshares']) ? $config['socialbuttons_showshares'] : false, |
73
|
|
|
'CACHETIME' => isset($config['socialbuttons_cachetime']) ? $config['socialbuttons_cachetime'] : false, |
74
|
|
|
'S_FACEBOOK' => isset($config['socialbuttons_facebook']) ? $config['socialbuttons_facebook'] : '', |
75
|
|
|
'S_TWITTER' => isset($config['socialbuttons_twitter']) ? $config['socialbuttons_twitter'] : '', |
76
|
|
|
'S_GOOGLE' => isset($config['socialbuttons_google']) ? $config['socialbuttons_google'] : '', |
77
|
|
|
'S_LINKEDIN' => isset($config['socialbuttons_linkedin']) ? $config['socialbuttons_linkedin'] : '', |
78
|
|
|
'S_ENABLE_OG' => isset($config['socialbuttons_enable_og']) ? $config['socialbuttons_enable_og'] : '', |
79
|
|
|
'S_ENABLE_OG_TITLE' => isset($config['socialbuttons_enable_og_title']) ? $config['socialbuttons_enable_og_title'] : '', |
80
|
|
|
'S_ENABLE_OG_DESC' => isset($config['socialbuttons_enable_og_desc']) ? $config['socialbuttons_enable_og_desc'] : '', |
81
|
|
|
'OG_IMAGE' => isset($config['socialbuttons_og_image']) ? $config['socialbuttons_og_image'] : '', |
82
|
|
|
'FORUM_DESC_SELECT' => make_forum_select($desc_forums, false, false, true), |
83
|
|
|
'FORUM_ENABLE_SELECT' => make_forum_select($forums, false, false, true), |
84
|
|
|
)); |
85
|
|
|
} |
86
|
|
|
|
87
|
|
|
/** |
88
|
|
|
* Generates a list of styles for the buttons |
89
|
|
|
* |
90
|
|
|
* @global object $phpbb_extension_manager |
91
|
|
|
* @param int $selected |
92
|
|
|
* @return string |
93
|
|
|
*/ |
94
|
|
|
private function button_style($selected) |
95
|
|
|
{ |
96
|
|
|
global $phpbb_extension_manager; |
|
|
|
|
97
|
|
|
$path = $phpbb_extension_manager->get_extension_path('tas2580/socialbuttons', true) . 'images/'; |
98
|
|
|
$return = ''; |
99
|
|
|
for ($i = 1; $i <= 10; $i++) |
100
|
|
|
{ |
101
|
|
|
$checked = ($selected == $i) ? ' checked="checked"' : ''; |
102
|
|
|
$return .= '<input type="radio"' . $checked . ' class="radio" id="style" name="style" value="' . $i . '" /> <img align="top" src="' . $path . 'sprite' . $i . '.png" alt="" /><br /><br />'; |
103
|
|
|
} |
104
|
|
|
return $return; |
105
|
|
|
} |
106
|
|
|
|
107
|
|
|
/** |
108
|
|
|
* Generates a option list with positions for the buttons |
109
|
|
|
* |
110
|
|
|
* @global object $user |
111
|
|
|
* @param int $selected |
112
|
|
|
* @return string |
113
|
|
|
*/ |
114
|
|
View Code Duplication |
private function position_select($selected) |
|
|
|
|
115
|
|
|
{ |
116
|
|
|
global $user; |
|
|
|
|
117
|
|
|
$return = '<option' . (($selected == 0) ? ' selected="selected"' : '') . ' value="0">' . $user->lang('ACP_POSITION_ALL') . '</option>'; |
118
|
|
|
$return .= '<option' . (($selected == 1) ? ' selected="selected"' : '') . ' value="1">' . $user->lang('ACP_POSITION_TOP') . '</option>'; |
119
|
|
|
$return .= '<option' . (($selected == 2) ? ' selected="selected"' : '') . ' value="2">' . $user->lang('ACP_POSITION_BOTTOM') . '</option>'; |
120
|
|
|
return $return; |
121
|
|
|
} |
122
|
|
|
|
123
|
|
|
/** |
124
|
|
|
* Generates a option list for the cache tine multiplicator |
125
|
|
|
* |
126
|
|
|
* @global object $user |
127
|
|
|
* @param int $selected |
128
|
|
|
* @return string |
129
|
|
|
*/ |
130
|
|
View Code Duplication |
private function multiplicator_select($selected) |
|
|
|
|
131
|
|
|
{ |
132
|
|
|
global $user; |
|
|
|
|
133
|
|
|
$return = '<option' . (($selected == 1) ? ' selected="selected"' : '') . ' value="1">' . $user->lang('ACP_MULTIPLICATOR_SECONDS') . '</option>'; |
134
|
|
|
$return .= '<option' . (($selected == 60) ? ' selected="selected"' : '') . ' value="60">' . $user->lang('ACP_MULTIPLICATOR_MINUTES') . '</option>'; |
135
|
|
|
$return .= '<option' . (($selected == 3600) ? ' selected="selected"' : '') . ' value="3600">' . $user->lang('ACP_MULTIPLICATOR_HOURS') . '</option>'; |
136
|
|
|
return $return; |
137
|
|
|
} |
138
|
|
|
} |
139
|
|
|
|
This check looks from parameters that have been defined for a function or method, but which are not used in the method body.