403Webshell
Server IP : 208.122.213.31  /  Your IP : 216.73.216.45
Web Server : Apache
System : Linux msd6191.mjhst.com 4.18.0-553.137.1.el8_10.x86_64 #1 SMP Wed Jun 24 11:40:24 UTC 2026 x86_64
User : WHMCS_MIA_382 ( 1001)
PHP Version : 7.4.33
Disable Function : NONE
MySQL : ON  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : ON
Directory :  /home/httpd/html/baberankings.com.bak/members/modules/forums/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /home/httpd/html/baberankings.com.bak/members/modules/forums/forum_search.php
<?

//get access rights for user
        include 'modules/forums/get_rights.php';

// define search array
		$search = array();

//packed query?
        if ($en['packed'] != '')
                $_POST['search'] = unserialize(base64_decode($en['packed']));

//create search query
    //get available forums
        $forums = array();
        if ($_POST['search']['forums'] != 'all') {
        
                list($t,$i) = explode('_',$_POST['search']['forums']);
                if ($t == 'g') {
                        $res = sql_query("SELECT f_id FROM $forumtable WHERE f_group='$i' AND f_visible<='$en[level]'");
                        } else {
                        $res = sql_query("SELECT f_id FROM $forumtable WHERE f_id='$i' AND f_visible<='$en[level]'");
                        }

                }
        else {
                
                $res = sql_query("SELECT f_id FROM $forumtable WHERE f_visible<='$en[level]'");

                }

        
                while ($line = sql_fetch_assoc($res)) $forums[] = $line['f_id'];

    //grant rights to unexisting forum if none available
        if (count($forums) == 0) $forums[] = -1;

        $en['term'] = $term = stripslashes($_POST['search']['q']);

    //result threads array
        $threads = array();

    //search by members?
        $users = array();
        if (trim($_POST['search']['user']) != '') {
                $res = sql_query("SELECT m_id FROM $membtable WHERE m_user='".sql_escape_string(trim($_POST['search']['user']))."'");
                if (sql_num_rows($res)>0) {
					$line = sql_fetch_assoc($res);
					$users[] = $line['m_id'];
				} else {
					$users[] = 0;
				}
        }

    //by member ID
        if ($_POST['search']['userid'] != '') {
                $users = array();
                $users[] = (int)$_POST['search']['userid'];
                }

    //get member posts
        if (count($users) > 0) {
                $res = sql_query("SELECT DISTINCT p_thread FROM $fposttable LEFT JOIN $fthreadtable ON p_thread=t_id WHERE (t_forum = ".implode(' OR t_forum = ',$forums).')'.(count($users) > 0 ? " AND (p_member = ".implode(' OR p_member = ',$users).')' : ''));
                while ($line = sql_fetch_assoc($res))
                        $threads[] = $line['p_thread'];
                }

	// get by date
		if ((int)$_POST['search']['date'] != 0) {
			$search[] = 'p_time'.($_POST['search']['date_direction']=="newer" ? '>' : '<').(time() - ($_POST['search']['date'] * 86400));
        }
	
	// sorting fields
		Switch ($_POST['search']['sort']) {
			case 1:
				$orderby = 't_last_time';
				break;
			case 2:
				$orderby = 't_name';
				break;
			case 3:
				$orderby = 't_posts';
				break;
			case 4:
				$orderby = 't_views';
				break;
			case 5:
				$orderby = 't_member';
				break;
			case 6:
				$orderby = 't_forum';
				break;
			default:
				$orderby = 't_last_time';
				break;
		}
	// sorting direction
		If ($_POST['search']['sort_direction']=="sort_asc") {
			$sortDirection = "ASC";
		} else {
			$sortDirection = "DESC";
		}
    //find all posts
        if ($_POST['search']['posts'] == 'ON') {
        
            //all words
                if ($_POST['search']['where'] == 'all') {
                        $where = " (MATCH (p_text) AGAINST ('".sql_escape_string($term)."')/* OR MATCH (p_title) AGAINST ('".sql_escape_string($term)."') */) ";
                        }
            //phrase
                elseif ($_POST['search']['where'] == 'phr') {
                        $where = " (MATCH (p_text) AGAINST ('\"".sql_escape_string($term)."\"') IN BOOLEAN MODE OR MATCH (p_title) AGAINST ('\"".sql_escape_string($term)."\"') IN BOOLEAN MODE)";
                        }
            //any of the words
                else    {
                        $where = " (MATCH (p_text) AGAINST ('".sql_escape_string($term)."') IN BOOLEAN MODE OR MATCH (p_title) AGAINST ('".sql_escape_string($term)."') IN BOOLEAN MODE)";
                        }

                $res = sql_query("SELECT DISTINCT p_thread FROM $fposttable LEFT JOIN $fthreadtable ON p_thread=t_id WHERE ".$where." AND (t_forum = ".implode(' OR t_forum = ',$forums).')');

                while ($line = sql_fetch_assoc($res))
                        $threads[] = $line['p_thread'];

                }

    //find all threads
        if ($_POST['search']['threads'] == 'ON') {
        
            //all words
                if ($_POST['search']['where'] == 'all') {
                        $where = " (MATCH (t_descr) AGAINST ('".sql_escape_string($term)."') OR MATCH (t_name) AGAINST ('".sql_escape_string($term)."'))";
                        }
            //phrase
                elseif ($_POST['search']['where'] == 'phr') {
                        $where = " (MATCH (t_descr) AGAINST ('\"".sql_escape_string($term)."\"') IN BOOLEAN MODE OR MATCH (t_name) AGAINST ('\"".sql_escape_string($term)."\"') IN BOOLEAN MODE)";
                        }
            //any of the words
                else    {
                        $where = " (MATCH (t_descr) AGAINST ('".sql_escape_string($term)."') IN BOOLEAN MODE OR MATCH (t_name) AGAINST ('".sql_escape_string($term)."') IN BOOLEAN MODE)";
                        }

                $res = sql_query("SELECT DISTINCT t_id FROM $fthreadtable WHERE ".$where." AND (t_forum = ".implode(' OR t_forum = ',$forums).')');

                while ($line = sql_fetch_assoc($res))
                        $threads[] = $line['t_id'];

                }

	//new threads?
        if ($_POST['search']['new'] == 'ON' && is_array($en['forum_read']) && count($en['forum_read']) >0) {		                
        	$unread = array();
        	foreach($en['forum_read'] as $key => $value)
        		$unread[] = $key;
                $res = sql_query("SELECT DISTINCT t_id FROM $fthreadtable WHERE (t_id=".implode(' OR t_id=',$unread).") AND (t_forum = ".implode(' OR t_forum = ',$forums).')');
                while ($line = sql_fetch_assoc($res))
                        $threads[] = $line['t_id'];
        	}
	// display results as?
		if ($_POST['search']['display_as']=='posts') {
			$display_as = "LEFT JOIN $fposttable ON t_id=p_thread";
		} else {
			$display_as = "LEFT JOIN $fposttable ON t_last=p_id";
		}

    //no thread matches?
        if (count($threads) == 0) $threads[] = -1;
		
		$search[] = "(t_id = ".implode(' OR t_id = ',$threads).')';
		
    //make search query
        $q = "SELECT *  FROM $fthreadtable LEFT JOIN $forumtable ON f_id=t_forum LEFT JOIN $fgrouptable ON g_id=f_group ".$display_as." WHERE ".implode(' AND ',$search).' ORDER BY t_sticky DESC, '.$orderby.' '.$sortDirection;

    //process query and create data set
        $res = sql_query($q);

        $en['pages'] = ceil(sql_num_rows($res)/forum_num_threads);
        $en['num_threads'] = sql_num_rows($res);
        if ((int)$en['page'] == 0) $en['page'] = 1;
        $en['from'] = ($en['page']-1) * forum_num_threads + 1;
        $en['to'] = min($en['num_threads'],$en['page'] * forum_num_threads);
        
        $from = min(sql_num_rows($res),($en['page'] - 1) * forum_num_threads);
        if (sql_num_rows($res) > 0)
                sql_data_seek($res,$from);
        $k = 0;
        $searchset = array();
        while (($line = sql_fetch_assoc($res)) && ++$k <= forum_num_threads)
                $searchset[] = $line;

        $en['packed'] = base64_encode(serialize($_POST['search']));

    //search results
        load_template('modules/forums/templates/search_results.tpl');

?>

Youez - 2016 - github.com/yon3zu
LinuXploit