Jump to content

  •  

  • Tutorial info Visit support topic

    • Added on: May 24 2009 05:25 PM
    • Views: 1184
     


    * * * * *
    0 Ratings

    Remove Spammer Flag - Profile Card

    Adds ability to unflag a spammer from the board side (no need to visit ACP).

    Posted by emoney on May 24 2009 05:25 PM
    Affected files: (be sure to backup first!)
    • admin/applications/forums/modules_public/moderate/moderate.php
    • public/js/ipb.js

    File Edits:

    Open: admin/applications/forums/modules_public/moderate/moderate.php

    Find:

    			case 'setAsSpammer':
    				$this->_setAsSpammer();
    			break;

    Below:

    			case 'unsetAsSpammer':
    				$this->_unsetAsSpammer();
    			break;


    Find:

    			$this->registry->output->redirectScreen( $this->lang->words['flag_spam_done'], $this->settings['base_url'] . "showuser=" . $member['member_id'], $member['members_seo_name'] );
    		}
    		
    	}

    Add Below:

    	/**
    	 * (e$30) UnFlag a user account as a spammer
    	 */
    	private function _unsetAsSpammer()
    	{
    		/* INIT */
    		$member_id = intval( $this->request['member_id'] );
    		$toSave	   = array( 'core' => array( 'bw_is_spammer' => 0 ) );
    		
    		/* Load member */
    		$member = IPSMember::load( $member_id );
    		
    		if ( ! $member['member_id'] || ! $member['bw_is_spammer'] )
    		{
    			$this->_showError( 'moderate_no_permission', 10311900 );
    		}
    		
    		/* Check permissions */
    		$this->_genericPermissionCheck('bw_flag_spammers');
    		
    		/* Remove that rude Spammer flag.. */
    		$toSave['core']['bw_is_spammer']	  = 0;
    		
    		/* What do to.. */
    		if ( $this->settings['spm_option'] )
    		{
    			switch( $this->settings['spm_option'] )
    			{
    				case 'disable':
    					$toSave['core']['restrict_post']	  = 0;
    					$toSave['core']['members_disable_pm'] = 0;
    				break;
    				case 'unapprove':
    					$toSave['core']['restrict_post']	  = 0;
    					$toSave['core']['members_disable_pm'] = 0;
    					/* Unapprove posts and topics */
    					$this->modLibrary->toggleApproveMemberContent( $member_id, TRUE, 'all', intval( $this->settings['spm_post_days'] ) * 24 );
    				break;
    				
    			}
    		}
    		
    		/* Unflag them as a spammer */
    		IPSMember::save( $member_id, $toSave );
    		
    		/* Add mod log */
    		$this->_addModeratorLog( $this->lang->words['unflag_spam_done'] . ': ' . $member['member_id'] . ' - ' . $member['email'] );
    		
    		/* Redirect */
    		if( $this->topic['tid'] )
    		{
    			$this->registry->output->redirectScreen( $this->lang->words['unflag_spam_done'], $this->settings['base_url'] . "showtopic=" . $this->topic['tid'] . "&st=" . intval($this->request['st']), $this->topic['title_seo'] );
    		}
    		else
    		{
    			$this->registry->output->redirectScreen( $this->lang->words['unflag_spam_done'], $this->settings['base_url'] . "showuser=" . $member['member_id'], $member['members_seo_name'] );
    		}
    	
    	}

    Find:

    			if ( !$this->request['f'] AND $this->request['do'] != 'setAsSpammer' )

    Replace with:

    			if ( !$this->request['f'] AND $this->request['do'] != 'setAsSpammer' AND $this->request['do'] != 'unsetAsSpammer' )
    save

    Open: public/js/ipb.js

    Find:

    			alert( ipb.lang['is_spammer'] );
    			return false;

    Replace with:

    			if( confirm( ipb.lang['unflag_spammer'] ) )
    			{
    				var tid	= 0;
    				var fid	= 0;
    				var sid	= 0;
    				
    				if( typeof(ipb.topic) != 'undefined' )
    				{
    					tid = ipb.topic.topic_id;
    					fid = ipb.topic.forum_id;
    					sid = ipb.topic.start_id;
    				}
    
    				window.location = ipb.vars['base_url'] + 'app=forums&module=moderate&section=moderate&do=unsetAsSpammer&member_id=' + memberId + '&t=' + tid + '&f=' + fid + '&st=' + sid + '&auth_key=' + ipb.vars['secure_hash'];
    				return false;
    			}
    			else
    			{
    				return false;
    			}
    save


    Skin Edits:

    Look & Feel->Manage Skin Sets & Templates->(Your Skin)->Profiles->showCard

    Find:

    					<li><a href='#' title='{$this->lang->words['spm_on']}' onclick="return ipb.global.toggleFlagSpammer({$member['member_id']}, false)">{parse replacement="spammer_on"}</a></li>

    Replace with:
    					<li><a title='{$this->lang->words['spm_on']}' href='{$this->settings['base_url']}&amp;app=forums&amp;module=moderate&amp;section=moderate&amp;do=unsetAsSpammer&amp;member_id={$member['member_id']}&amp;auth_key={$this->member->form_hash}' onclick="return ipb.global.toggleFlagSpammer({$member['member_id']}, false)">{parse replacement="spammer_on"}</a></li>

    Import Language:

    Look & Feel->Manage Language, Upload language pack from your computer, import the following XML:

    Attached File  Language__Remove_Spammer_Flag.xml   1.08K   29 downloads

    Powered by Tutorials 1.4.1 © 2012, by Michael McCune