\n\n"; //begin html table formatting if (($handle = fopen($csvfile, "r")) !== FALSE) { $oldcatname=""; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { //PREVENT ALL MALICIOUS PHP PAYLOADS FROM BEING EXECUTED FROM CSV FILES! $data[0] = htmlspecialchars($data[0]); $data[1] = htmlspecialchars($data[1]); $data[2] = htmlspecialchars($data[2]); $data[3] = htmlspecialchars($data[3]); $data[4] = htmlspecialchars($data[4]); $data[5] = htmlspecialchars($data[5]); $data[6] = htmlspecialchars($data[6]); $data[7] = htmlspecialchars($data[7]); $data[0]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[0]); $data[1]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[1]); $data[2]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[2]); $data[3]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[3]); $data[4]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[4]); $data[5]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[5]); $data[6]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[6]); $data[7]=preg_replace("/[^a-zA-Z0-9:\/.\ -✔️❌]/", "", $data[7]); $row++; $num = count($data); //echo "

" . $data[1] . "

"; //echo "

$num fields in line $row:

\n"; //echo $row; if ( $row == "2") { echo ""; //echo ""; //OPTIONAL: if you want to display the sensitive column }else{ if (str_contains(strtolower($data[3]), strtolower($query)) or str_contains(strtolower($data[2]), strtolower($query)) or str_contains(strtolower($data[1]), strtolower($query))) { $resultcount++; for ($c=0; $c < $num; $c++) { // iterate over each row echo ""; // begin html table row for that Category // if the row is the first one (name url status score) only display (Name Status Score): // display the contents of a csv row if ( $c == "1" ){ //add http if its not already done in the URL if (!preg_match("~^(?:f|ht)tps?://~i", $data[3])) { $urllink = "http://" . $data[3]; }else{ $urllink = $data[3]; } //if ((($sensitive == 1) and ($data[4] == "✔️")) or (($sensitive == 0) and ($data[4] != "✔️")) ){ // ONLY display links if (sensitive equals to 1 and sensitiveCOLUMN equals to V) OR (sensitive equals to 0 and sensitiveCOLUMN is NOT equal to V) if (($data[4] != "✔️") or (($sensitive == 1) and ($data[4] == "✔️"))){ $rowcount++; if ($oldcatname != $data[1]){ //echo ""; // skip a row if new category //echo ""; // skip a row if new category echo "'; // display the category as its the first row with this new category $oldcatname=$data[1]; }else{ echo "'; // category is already displayed so skip it (empty cell in category column) } echo " \n"; // display the score and close the third cell } //if ($c == 2){ //} } } } } echo ""; // end html table row } echo "\n
Category Name Score
Category Name Sensitive Score

" . $data[1] . '

" . '

" ; // begin the table cell echo ' '; // display the link echo $urllink . '"> '; // display the link echo $data[2] . " "; // display the link title and close the a href and first cell, open the second cell ///echo $data[4] . " "; // OPTIONAL: display the sensitive column echo $data[7] . " "; // display the status and close the second cell, open the third cell echo $data[6] . "
"; fclose($handle); } echo "

" . $rowcount . " Result(s) found.

"; } function DisplayCategories($instancename, $path) { $resultcount=0; $row = 1; //echo $instancename; //$csvfilenames = "verified.csv unverified.csv"; $csvfilenames = "verified.csv"; $csvfilenames = explode(' ', $csvfilenames); foreach ($csvfilenames as $csvfilename){ //echo $csvfilename; $csvfile = $path . $csvfilename; //echo $csvfile; //echo "test"; echo "
\n\n"; //begin html table formatting if (($handle = fopen($csvfile, "r")) !== FALSE) { $oldcatname=""; while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) { $num = count($data); $row++; if ( $row == "2") { echo "

| "; }else{ //PREVENT ALL MALICIOUS PHP PAYLOADS FROM BEING EXECUTED FROM CSV FILES! $data[0]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[0]); $data[1]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[1]); $data[2]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[2]); $data[3]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[3]); $data[4]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[4]); $data[5]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[5]); $data[6]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[6]); $data[7]=preg_replace("/[^a-zA-Z0-9:\/.\ ]/", "", $data[7]); if (str_contains(strtolower($data[3]), strtolower($query)) or str_contains(strtolower($data[2]), strtolower($query)) or str_contains(strtolower($data[1]), strtolower($query))) { $resultcount++; for ($c=0; $c < $num; $c++) { // iterate over each row // if the row is the first one (name url status score) only display (Name Status Score): // display the contents of a csv row if ( $c == "1" ){ if ($oldcatname != $data[1]){ echo '' . $data[1] . ' | '; // display the category as its the first row with this new category $oldcatname=$data[1]; } } } } } } echo "

"; fclose($handle); } //echo "

" . $resultcount . " Result(s) found.

"; } } $min_length = 1; $max_length = 32; $instance= $_SERVER['SERVER_NAME']; $participantpath="participants/" . $instance . '/'; $verifiedcsvpath="participants/" . $instance . '/verified.csv'; $unverifiedcsvpath="participants/" . $instance . '/unverified.csv'; DisplayCategories($instance, $participantpath); ?>

Update Frequency: every 3 hours