-
Notifications
You must be signed in to change notification settings - Fork 3
/
ManageKarma.php
66 lines (55 loc) · 1.71 KB
/
ManageKarma.php
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
<?php
/**
* Karma
*
* This is the main file, handles the hooks, the actions, permissions, load needed files, etc.
* @package Karma mod
* @version 1.0 Alpha
* @author John Rayes <live627@gmail.com>
* @copyright Copyright (c) 2014, John Rayes
* @license http://opensource.org/licenses/MIT MIT
*/
if (!defined('SMF'))
die('No direct access...');
/**
* Config array for chaning the karma settings
* Accessed from ?action=admin;area=featuresettings;sa=karma;
*
* @param $return_config
*
* @return array
*/
function ModifyKarmaSettings($return_config = false)
{
global $txt, $scripturl, $context, $modSettings;
if (empty($modSettings['karmaMode']))
$config_vars = array(
array('select', 'karmaMode', explode('|', $txt['karma_options'])),
);
else
$config_vars = array(
// Karma - On or off?
array('select', 'karmaMode', explode('|', $txt['karma_options'])),
'',
// Who can do it.... and who is restricted by time limits?
array('int', 'karmaMinPosts', 6, 'postinput' => strtolower($txt['posts'])),
array('float', 'karmaWaitTime', 6, 'postinput' => $txt['hours']),
array('check', 'karmaTimeRestrictAdmins'),
);
call_integration_hook('integrate_karma_settings', array(&$config_vars));
if ($return_config)
return $config_vars;
// Saving?
if (isset($_GET['save']))
{
checkSession();
call_integration_hook('integrate_save_karma_settings');
saveDBSettings($config_vars);
$_SESSION['adm-save'] = true;
redirectexit('action=admin;area=featuresettings;sa=karma');
}
$context['post_url'] = $scripturl . '?action=admin;area=featuresettings;save;sa=karma';
$context['settings_title'] = $txt['karma'];
loadLanguage('ManageKarma');
prepareDBSettingContext($config_vars);
}