SleePy Public Git Projects
Repositories
Main Site
GitHub Profile
smfmod_a2ebg
Code
Commits
Branches
Tags
Search
Tree:
3dd9af1
Branches
Tags
master
v2.0
smfmod_a2ebg
add_to_existing_ban_group-20x.xml
Importing a2ebg
Jeremy D
commited
3dd9af1
at 2011-09-28 12:15:38
add_to_existing_ban_group-20x.xml
Blame
History
Raw
<?xml version="1.0"?> <!DOCTYPE modification SYSTEM "http://www.simplemachines.org/xml/modification"> <!-- This package was generated by SleePys Modification Maker at http://sleepycode.com --> <modification xmlns="http://www.simplemachines.org/xml/modification" xmlns:smf="http://www.simplemachines.org/"> <id>SleePy:Add_to_existing_ban_group</id> <version>1.0.3</version> <file name="$languagedir/Modifications.english.php" error="skip"> <operation> <search position="end" /> <add><![CDATA[ $txt['aebg_add_existing'] = 'Add to existing ban group'; $txt['aebg_new_ban_group'] = 'Create New Ban Group'; $txt['aebg_ban_group'] = 'Allow quick ban?'; $txt['aebg_ban_group_desc'] = 'Quick bans are done via ban link from profiles'; $txt['aebg_auto_select'] = 'Easy Ban Auto select ban options'; ]]></add> </operation> </file> <file name="$sourcedir/ManageSettings.php"> <operation> <search position="before"><![CDATA[ $config_vars = array( // Mod authors, add any settings UNDER this line. Include a comma at the end of the line and don't remove this statement!! ]]></search> <add><![CDATA[ array( 'select', 'aebg_auto_select', array('main_ip_check' => $txt['ban_on_ip'], 'hostname_check' => $txt['ban_on_hostname'], 'email_check' => $txt['ban_on_email'], 'user_check' => $txt['ban_on_username']), 'multiple' => true, ), ]]></add> </operation> </file> <file name="$sourcedir/ManageBans.php"> <operation> <search position="before"><![CDATA[ $_POST['cannot_login'] = !empty($_POST['full_ban']) || empty($_POST['cannot_login']) ? '0' : '1'; ]]></search> <add><![CDATA[ $_POST['easy_ban_group'] = empty($_POST['easy_ban_group']) ? '0' : '1'; ]]></add> </operation> <operation> <search position="before"><![CDATA[ // Borrowing a few language strings from profile. loadLanguage('Profile'); } ]]></search> <add>< ); while ($row = $smcFunc['db_fetch_assoc']($request)) $context['ban_group_suggestions'][$row['id_ban_group']] = $row['name']; $smcFunc['db_free_result']($request); ]]></add> </operation> <operation> <search position="replace"><, array( $_POST['ban_name'], time(), $_POST['expiration'], $_POST['full_ban'], $_POST['cannot_register'], $_POST['cannot_post'], $_POST['cannot_login'], $_POST['reason'], $_POST['notes'], ), array('id_ban_group') ); $_REQUEST['bg'] = $smcFunc['db_insert_id']('{db_prefix}ban_groups', 'id_ban_group');]]></search> <add><![CDATA[ // No No, we're not adding yet another group. if (!empty($_REQUEST['ban_group'])) { // Make sure the ban group exists. $request = $smcFunc['db_query']('', ' SELECT id_ban_group FROM {db_prefix}ban_groups WHERE id_ban_group = {int:ban_group}', array( 'ban_group' => $_REQUEST['ban_group'], ) ); if ($smcFunc['db_num_rows']($request) != 1) unset($_REQUEST['ban_group']); else $_REQUEST['bg'] = $_REQUEST['ban_group']; $smcFunc['db_free_result']($request); } // Yes yes, we're ready to add now. if (empty($_REQUEST['bg'])) { $smcFunc['db_insert']('', '{db_prefix}ban_groups', array( 'name' => 'string-20', 'ban_time' => 'int', 'expire_time' => 'raw', 'cannot_access' => 'int', 'cannot_register' => 'int', 'cannot_post' => 'int', 'cannot_login' => 'int', 'reason' => 'string-255', 'notes' => 'string-65534', 'easy_bg' => 'int', ), array( $_POST['ban_name'], time(), $_POST['expiration'], $_POST['full_ban'], $_POST['cannot_register'], $_POST['cannot_post'], $_POST['cannot_login'], $_POST['reason'], $_POST['notes'], $_POST['easy_ban_group'], ), array('id_ban_group') ); $_REQUEST['bg'] = $smcFunc['db_insert_id']('{db_prefix}ban_groups', 'id_ban_group'); }]]></add> </operation> <operation> <search position="replace"><![CDATA[ cannot_login = {int:cannot_login} WHERE id_ban_group = {int:id_ban_group}', array( 'expiration' => $_POST['expiration'], ]]></search> <add><![CDATA[ cannot_login = {int:cannot_login}, easy_bg = {int:easy_bg} WHERE id_ban_group = {int:id_ban_group}', array( 'easy_bg' => $_POST['easy_ban_group'], 'expiration' => $_POST['expiration'], ]]></add> </operation> <operation> <search position="replace"><![CDATA[ IFNULL(mem.id_member, 0) AS id_member, mem.member_name, mem.real_name FROM {db_prefix}ban_groups AS bg LEFT JOIN {db_prefix}ban_items AS bi ON (bi.id_ban_group = bg.id_ban_group) LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = bi.id_member) WHERE bg.id_ban_group = {int:current_ban}', array( 'current_ban' => $_REQUEST['bg'], ]]></search> <add><![CDATA[ IFNULL(mem.id_member, 0) AS id_member, mem.member_name, mem.real_name, easy_bg FROM {db_prefix}ban_groups AS bg LEFT JOIN {db_prefix}ban_items AS bi ON (bi.id_ban_group = bg.id_ban_group) LEFT JOIN {db_prefix}members AS mem ON (mem.id_member = bi.id_member) WHERE bg.id_ban_group = {int:current_ban}', array( 'current_ban' => $_REQUEST['bg'], ]]></add> </operation> <operation> <search position="replace"><![CDATA[ 'reason' => $row['reason'], 'notes' => $row['notes'], 'cannot' => array( ]]></search> <add><![CDATA[ 'reason' => $row['reason'], 'notes' => $row['notes'], 'easy_bg' => $row['easy_bg'], 'cannot' => array( ]]></add> </operation> </file> <file name="$themedir/ManageBans.template.php"> <operation> <search position="replace"><![CDATA[ <form action="', $scripturl, '?action=admin;area=ban;sa=edit" method="post" accept-charset="', $context['character_set'], '" onsubmit="if (this.ban_name.value == \'\') {alert(\'', $txt['ban_name_empty'], '\'); return false;} if (this.partial_ban.checked && !(this.cannot_post.checked || this.cannot_register.checked || this.cannot_login.checked)) {alert(\'', $txt['ban_restriction_empty'], '\'); return false;}"> <dl class="settings"> ]]></search> <add><![CDATA[ <form action="', $scripturl, '?action=admin;area=ban;sa=edit" method="post" accept-charset="', $context['character_set'], '" onsubmit="if (this.ban_name.value == \'\') {alert(\'', $txt['ban_name_empty'], '\'); return false;} if (this.partial_ban.checked && !(this.cannot_post.checked || this.cannot_register.checked || this.cannot_login.checked)) {alert(\'', $txt['ban_restriction_empty'], '\'); return false;}">'; // Only allow selecting a ban group if it is new. if ($context['ban']['is_new'] && !empty($context['ban_group_suggestions'])) { echo ' <fieldset> <legend>', $txt['aebg_add_existing'], '</legend> <select name="ban_group" onchange="disableOtherFields();" id="ban_group"> <option value="-1" selected="selected">', $txt['aebg_new_ban_group'], '</option>'; foreach ($context['ban_group_suggestions'] as $id_ban_group => $ban_name) echo ' <option value="', $id_ban_group, '" onselect="disableOtherFields();">', $ban_name, '</option>'; echo ' </select> </fieldset>'; } echo ' <dl id="ban_info" class="settings"> ]]></add> </operation> <operation> <search position="before"><![CDATA[ <dt> <strong>', $txt['ban_reason'], ':</strong><br /> <span class="smalltext">', $txt['ban_reason_desc'], '</span> </dt> <dd> <textarea name="reason" cols="44" rows="3">', $context['ban']['reason'], '</textarea> </dd> ]]></search> <add><![CDATA[ <dt> <strong>', $txt['aebg_ban_group'], ':</strong><br /> <span class="smalltext">', $txt['aebg_ban_group_desc'], '</span> </dt> <dd> <input type="checkbox" name="easy_ban_group" value="1" class="input_check"', !empty($context['ban']['easy_bg']) ? ' checked="checked"' : '', ' /> </dd> ]]></add> </operation> <operation> <search position="replace"><![CDATA[ <fieldset class="ban_settings floatright"> <legend> ', $txt['ban_restriction'], ' ]]></search> <add><![CDATA[ <fieldset id="ban_restrict" class="ban_settings floatright"> <legend> ', $txt['ban_restriction'], ' ]]></add> </operation> <operation> <search position="replace"><![CDATA[ <fieldset class="ban_settings floatleft"> <legend> ', $txt['ban_expiration'], ' ]]></search> <add><![CDATA[ <fieldset id="ban_expire" class="ban_settings floatleft"> <legend> ', $txt['ban_expiration'], ' ]]></add> </operation> <operation> <search position="after"><![CDATA[ var fUpdateStatus = function () { document.getElementById("expire_date").disabled = !document.getElementById("expires_one_day").checked; ]]></search> <add><![CDATA['; // Only allow selecting a ban group if it is new. if ($context['ban']['is_new'] && !empty($context['ban_group_suggestions'])) { echo ' function disableOtherFields() { var display_value = document.getElementById("ban_group").value == "-1" ? "" : "none"; document.getElementById("ban_info").style.display = display_value; document.getElementById("ban_expire").style.display = display_value; document.getElementById("ban_restrict").style.display = display_value;'; // Do we want to auto select some options? if (!empty($modSettings['aebg_auto_select'])) { // Incase it isn't an array. $autoSelects = is_array($modSettings['aebg_auto_select']) ? $modSettings['aebg_auto_select'] : unserialize($modSettings['aebg_auto_select']); foreach ($autoSelects as $elID) echo ' document.getElementById("', $elID, '").checked = "checked";'; } echo ' }'; } echo ' ]]></add> </operation> </file> </modification>