<?php
// clairvoyance_game.php
// RJM Programming - May, 2026
// Helping out clairvoyance_game.html for two players


$zener_cards=['/circle_yellow.jpg#circle_yellow','/cross_red.jpg#cross_red','/waves_blue.jpg#waves_blue','/square_black.jpg#square_black','/star_green.jpg#star_green'];


function server_remote_addr() {
    $rma = $_SERVER['REMOTE_ADDR'];
    $ua = strtolower($_SERVER['HTTP_USER_AGENT']);
    // you can add different browsers with the same way ..
    if(preg_match('/(chromium)[ \/]([\w.]+)/', $ua))
            $rma = '000000'.$rma;
    elseif(preg_match('/(chrome)[ \/]([\w.]+)/', $ua))
            $rma = '00000'.$rma;
    elseif(preg_match('/(safari)[ \/]([\w.]+)/', $ua))
            $rma = '0000'.$rma;
    elseif(preg_match('/(opera)[ \/]([\w.]+)/', $ua))
            $rma = '000'.$rma;
    elseif(preg_match('/(msie)[ \/]([\w.]+)/', $ua))
            $rma = '00'.$rma;
    elseif(preg_match('/(mozilla)[ \/]([\w.]+)/', $ua))
            $rma = '0'.$rma;
    return str_replace(":", "_", $rma);
}
 
  $iam='';
  $otheris='';
  $curlist='';
  $waslist='';
  foreach (glob($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'cgplayers_*.txt') as $fnames) {
    if ($curlist == '') {
      $curlist=file_get_contents($fnames);
    } else {
      $curlist.=',' . file_get_contents($fnames);
    }
  }
  $waslist=$curlist;

  if (isset($_GET['to']) && isset($_GET['js']) && isset($_GET['pck'])) {
    if (isset($_GET['from'])) { file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'x9pck.x9pck', str_replace(' + pck;', ' + ' . $_GET['pck'] . ';',str_replace('   ',' + ',str_replace('+',' ',urldecode($_GET['js'])))));   }
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . str_replace('+',' ',urldecode($_GET['to'])) . '.txt', str_replace(' + pck;', ' + ' . $_GET['pck'] . ';',str_replace('   ',' + ',str_replace('+',' ',urldecode($_GET['js'])))));
  } else if (isset($_GET['to']) && isset($_GET['js'])) {
    if (isset($_GET['from'])) { file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'x99nonpck.x99nonpck', str_replace(' + pck;', ' + pck;',str_replace('   ',' + ',str_replace('+',' ',urldecode($_GET['js']))))); }
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . str_replace('+',' ',urldecode($_GET['to'])) . '.txt', str_replace(' + pck;', ' + ' . $_GET['pck'] . ';',str_replace('   ',' + ',str_replace('+',' ',urldecode($_GET['js'])))));
  } else if (isset($_GET['introduction'])) {
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . '.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . 'x.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . 'x.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . 'x.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . 'x.txt');
    }
    if (!file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . server_remote_addr() . '.txt')) {
      file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . server_remote_addr() . '.txt', server_remote_addr());
      if ($curlist == '') {
        $curlist=server_remote_addr();
      } else {
        $curlist.=',' . server_remote_addr();
      }
    }
    echo "<html><body onload=\" parent.document.getElementById('iam').value='" . server_remote_addr() . "'; parent.document.getElementById('morethanone').value='" . $curlist . "'; setTimeout(function(){ parent.ifcontentious(); }, 500); \"></body></html>";
  } else if (isset($_GET['introclone'])) {
    if (!file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . server_remote_addr() . 'X.txt')) {
      file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . server_remote_addr() . 'X.txt', server_remote_addr() . ' ');
      if ($curlist == '') {
        $curlist=server_remote_addr() . ' ';
      } else {
        $curlist.=',' . server_remote_addr() . ' ';
      }
    }
    echo "<html><body onload=\" parent.document.getElementById('iam').value='" . server_remote_addr() . " '; parent.document.getElementById('morethanone').value='" . $curlist . "'; parent.inform('" . server_remote_addr() . " '); \"></body></html>";
  } else if (isset($_GET['sleep']) || isset($_GET['sleepx'])) {
    sleep(5);
    $srasuff='';
    if (isset($_GET['sleepx'])) { $srasuff='x';  }
    $jsextra='';
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . $srasuff . '.txt')) {
      $jsextra.=file_get_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . $srasuff . '.txt');
      //unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . $srasuff . '.txt')) {
      $jsextra.=file_get_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . $srasuff . '.txt');
      //unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt');
    }
    echo "<html><body onload=\" " . $jsextra . " parent.document.getElementById('ifsleep').src=parent.document.getElementById('ifsleep').getAttribute('data-src').split('=')[0] + '=' + Math.floor(Math.random() * 19987675); \"></body></html>";
  } else if (isset($_GET['statustoggle'])) {
    echo "<html><body onload=\" parent.toggle(); \"></body></html>";
  } else if (isset($_GET['playwith'])) {
    $srasuff='';
    $emorsms=false;
    if (isset($_GET['iam'])) {
    //file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx1.x1','');
    if (strlen($_GET['playwith']) > 0 && strlen($_GET['iam']) > 0) {
    //file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx2.x2','');
      if (strpos(urldecode($_GET['iam']), '@') !== false) {
    //file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx3.x3','');
       $emorsms=true;
      } else if ( str_replace('0','',str_replace('1','',str_replace('2','',str_replace('3','',str_replace('4','',str_replace('5','',str_replace('6','',str_replace('7','',str_replace('8','',str_replace('9','',urldecode($_GET['iam'])))))))))))  == '') {
    //file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx4.x4','');
       $emorsms=true;
      }
    }
    }
    if ($emorsms) {
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx5.x5','');
    if (str_replace('+',' ',urldecode($_GET['playwith'])) == server_remote_addr()) {
    $srasuff='x';
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . str_replace('+',' ',urldecode($_GET['playwith'])) . '.txt', " if (parent.document.URL.indexOf('playwith=') == -1) { parent.document.getElementById('iam').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('otheris').value='" . server_remote_addr() . $srasuff . "'; holdon=false; parent.document.getElementById('tdstatus').innerHTML='Select a Zener Card You Are Asking Your Player Partner to Guess ...'; } ");
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx5.x5', " if (parent.document.URL.indexOf('playwith=') == -1) { parent.document.getElementById('iam').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('otheris').value='" . server_remote_addr() . $srasuff . "'; holdon=false; parent.document.getElementById('tdstatus').innerHTML='Select a Zener Card You Are Asking Your Player Partner to Guess ...'; } ");
    } else {
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . str_replace('+',' ',urldecode($_GET['playwith'])) . '.txt', " if (parent.document.URL.indexOf('playwith=') == -1) { parent.document.getElementById('iam').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('otheris').value='" . server_remote_addr() . "'; holdon=false; } ");
    file_put_contents($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'xx5.xx5', " if (parent.document.URL.indexOf('playwith=') == -1) { parent.document.getElementById('iam').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('otheris').value='" . server_remote_addr() . "'; holdon=false; } ");
    }
    if ($srasuff == '') {
    echo "<html><body onload=\" parent.document.getElementById('otheris').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('iam').value='" . server_remote_addr() . $srasuff . "'; \"></body></html>";
    } else {
    echo "<html><body onload=\" parent.document.getElementById('ifsleep').setAttribute('data-src',parent.document.getElementById('ifsleep').getAttribute('data-src').replace('sleep=','sleepx='));  parent.document.getElementById('ifsleep').src=parent.document.getElementById('ifsleep').getAttribute('data-src').replace('sleep=','sleepx='); parent.document.getElementById('otheris').value='" . str_replace('+',' ',urldecode($_GET['playwith'])) . "'; parent.document.getElementById('iam').value='" . server_remote_addr() . $srasuff . "';   parent.document.getElementById('tdstatus').innerHTML='Select a Zener Card You Are Asking Your Player Partner to Guess ...';  \"></body></html>";
    }
    } else {
    echo "<html><body onload=\" parent.document.getElementById('tdstatus').innerHTML='Awaiting Other Player Choosing a Zener Card to Guess ...'; \"></body></html>";
    }
  } else if (isset($_GET['affects'])) {
    echo "<html><body onload=\" parent.bye(); \"></body></html>";
  } else if (isset($_GET['placeiam'])) {
    echo "<html><body onload=\" parent.document.getElementById('iam').value='" . server_remote_addr() . "'; \"></body></html>";
  } else if (isset($_GET['iamnot'])) {
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . str_replace(' ','x',str_replace(' ','X',str_replace('+',' ',urldecode($_GET['iamnot'])))) . '.txt')) {
       unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cgplayers_' . str_replace(' ','x',str_replace(' ','X',str_replace('+',' ',urldecode($_GET['iamnot'])))) . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . '.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . '.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . 'x.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg_players_' . server_remote_addr() . 'x.txt');
    }
    if (file_exists($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . 'x.txt')) {
      unlink($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'tmp' . DIRECTORY_SEPARATOR . 'cg__players_' . server_remote_addr() . 'x.txt');
    }
    $curlist='';
    $waslist='';
    foreach (glob($_SERVER['DOCUMENT_ROOT'] . DIRECTORY_SEPARATOR . 'cgplayers_*.txt') as $fnames) {
    if ($curlist == '') {
      $curlist=file_get_contents($fnames);
    } else {
      $curlist.=',' . file_get_contents($fnames);
    }
    }
  } else if (('' . $_SERVER['QUERY_STRING']) == '') {
     header('Location: ./clairvoyance_game.html');
     
  }
  
  exit;
?>