Example #1
0
/**
* log table changes
*/
function logTableChange($tableName,$fieldName,$fieldID,$fieldValueOld,$fieldValueNew) {
	global $datetime,$trailSessionUser;
	if($fieldValueOld!=$fieldValueNew) {
		mysqlquery("insert into vl_logs_tables 
						(tableName,fieldName,fieldID,fieldValueOld,fieldValueNew,url,created,createdby) 
						values 
						('$tableName','$fieldName','$fieldID','$fieldValueOld','$fieldValueNew','".getThisURL()."','$datetime','$trailSessionUser')");
	}
}
Example #2
0
function indexdirThisDir($general_path, $general_url, $commonImageFormats)
{
    global $listingHTML;
    $listingHTML = " ";
    global $dontListFiles;
    global $dontListDirs;
    global $butOnly;
    global $TDperRow;
    global $fileAndDir;
    global $dir;
    global $dir3;
    global $pathDir;
    $pathDir = urlToPath($dir, $general_path, $general_url);
    global $orderBy;
    global $order;
    global $thisFileName;
    global $TDperRowDefault;
    global $TDperRowMax;
    $numHiddenDirs = 0;
    $numHiddenFiles = 0;
    $dirsArr = array();
    $filesArr = array();
    // opening directory
    // in case, opening default directory (that is where this file is placed)
    if ($dir == "") {
        $validDir = @opendir(".");
        if ($validDir !== false) {
            $this_dir_handle = opendir('.');
        } else {
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"4\"><b><i>Url or Path address not valid(!)</i></b></font></center><br><br> \n";
            $listingHTML .= "<center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">[<a href=\"javascript:history.go(-1)\"> go back </a>]</font></center><br><br>";
            return $listingHTML;
        }
    } else {
        //		$general_url3 = str_replace("%20"," ", $general_url);
        $general_url3 = urldecode($general_url);
        $pathDir = str_replace($general_url, $general_path, $pathDir);
        $pathDir = str_replace($general_url3, $general_path, $pathDir);
        $pathDir = str_replace("/'", "'", $pathDir);
        //		$pathDir = str_replace(" /'"," '",$pathDir);
        //		$pathDir = str_replace("&","%26",$pathDir);
        //		$pathDir = str_replace("'","%27",$pathDir);
        //		$pathDir = str_replace("+","%2B",$pathDir);
        //		$pathDir2 = urlencode($pathDir);
        $validDir = @opendir($pathDir . "/.");
        if ($validDir !== false) {
            $this_dir_handle = opendir($pathDir . "/.");
            # get a handle on the current directory
        } else {
            //			echo $pathDir;
            $listingHTML .= "<div align=center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"4\"><br><br><b><i>Url or Path address not valid(!)</i></b></font><br><br></div>";
            $listingHTML .= "<div align=center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">" . $dir . "</font><br><br></div>";
            $listingHTML .= "<div align=center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">[<a href=\"javascript:history.go(-1)\"> go back </a>]</font><br><br></div>";
            return $listingHTML;
        }
        // avoiding hacks for going up reading dirs
        $avoidHack1 = strpos($pathDir, "../");
        $avoidHack2 = strpos($pathDir, "/..");
        $avoidHack3 = strpos($pathDir, "..%2F");
        $avoidHack4 = strpos($pathDir, "%2F..");
        $avoidHack5 = strpos($dir, "../");
        $avoidHack6 = strpos($dir, "/..");
        $avoidHack7 = strpos($dir, "..%2F");
        $avoidHack8 = strpos($dir, "%2F..");
        if ($avoidHack1 > -1 || $avoidHack2 > -1 || $avoidHack3 > -1 || $avoidHack4 > -1 || $avoidHack5 > -1 || $avoidHack6 > -1 || $avoidHack7 > -1 || $avoidHack8 > -1) {
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"4\"><b><i>Url or Path address not valid(!)</i></b></font></center><br><br> \n";
            $listingHTML .= "<center><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">[<a href=\"javascript:history.go(-1)\"> go back </a>]</font></center><br><br>";
            return $listingHTML;
        }
    }
    // doing parsing (dirs and files)
    while (false !== ($fileORdir = readdir($this_dir_handle))) {
        if ($fileORdir != "." && $fileORdir != "..") {
            $notIsFile = false;
            if ($dir != "") {
                $pathWithFileORdir = $pathDir . "/" . $fileORdir . "/.";
                $notIsFile = @opendir($pathWithFileORdir);
            }
            if (is_dir($fileORdir) == false && $notIsFile == false) {
                $thisFileNoShow = 0;
                for ($i = 0; $i < count($dontListFiles); $i++) {
                    if ($fileORdir == $dontListFiles[$i]) {
                        $thisFileNoShow = 1;
                        $numHiddenFiles++;
                        break;
                    }
                }
                if ($thisFileNoShow == 0) {
                    $fileNameAndextensionArr = explode(".", $fileORdir);
                    array_push($filesArr, $fileNameAndextensionArr);
                }
            } else {
                $thisDirNoShow = 0;
                for ($i = 0; $i < count($dontListDirs); $i++) {
                    if ($fileORdir == $dontListDirs[$i]) {
                        $thisDirNoShow = 1;
                        $numHiddenDirs++;
                        break;
                    }
                }
                if ($thisDirNoShow == 0) {
                    array_push($dirsArr, $fileORdir);
                }
            }
        }
    }
    // close working directory
    closedir($this_dir_handle);
    // sorting dirs
    // ordering directories
    //	sort($dirsArr,SORT_REGULAR);
    $dev = 0;
    $dirsArrDep = array();
    // by default, ordering directories by name
    sort($dirsArr, SORT_REGULAR);
    if ($orderBy == "") {
        $orderBy = "name";
    }
    if ($order == "") {
        $order = "0";
    }
    for ($i = 0; $i < count($dirsArr); $i++) {
        if ($dev == 0 && $i == count($dirsArr)) {
        } else {
            for ($a = 0; $a < count($dirsArr) - 1; $a++) {
                $b = $a + 1;
                switch ($orderBy) {
                    // ordering directories by name
                    case "name":
                        // if ( $order == "0" )	{ sort($dirsArr,SORT_REGULAR); }
                        if ($order == "1" && $dirsArr[$a] < $dirsArr[$b]) {
                            $dirsArrDep[$a] = $dirsArr[$a];
                            $dirsArr[$a] = $dirsArr[$b];
                            $dirsArr[$b] = $dirsArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering directories by estension
                    // ordering directories by estension
                    case "type":
                        // extracting estension of this dir
                        $aDot_position = strrpos($dirsArr[$a], ".");
                        $aThisDirNameLength = strlen($dirsArr[$a]);
                        $aDirExtension = "";
                        if ($aDot_position != "") {
                            $aDirExtension = substr($dirsArr[$a], ++$aDot_position, $aThisDirNameLength);
                        }
                        // extracting estension of following dir
                        $bDot_position = strrpos($dirsArr[$b], ".");
                        $bThisDirNameLength = strlen($dirsArr[$b]);
                        $bDirExtension = "";
                        if ($bDot_position != "") {
                            $bDirExtension = substr($dirsArr[$b], ++$bDot_position, $bThisDirNameLength);
                        }
                        // in case, swapping two dirs
                        if ($order == "0" && $aDirExtension > $bDirExtension || $order == "1" && $aDirExtension < $bDirExtension) {
                            $dirsArrDep[$a] = $dirsArr[$a];
                            $dirsArr[$a] = $dirsArr[$b];
                            $dirsArr[$b] = $dirsArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering directories by date
                    // ordering directories by date
                    case "date":
                        $aLastModStats = @stat($dirsArr[$a]);
                        $aLastMod = date("YmdHi", $aLastModStats[9]);
                        $bLastModStats = @stat($dirsArr[$b]);
                        $bLastMod = date("YmdHi", $bLastModStats[9]);
                        // in case, swapping two dirs
                        if ($order == "0" && $aLastMod > $bLastMod || $order == "1" && $aLastMod < $bLastMod) {
                            $dirsArrDep[$a] = $dirsArr[$a];
                            $dirsArr[$a] = $dirsArr[$b];
                            $dirsArr[$b] = $dirsArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering directories by size
                    // ordering directories by size
                    case "size":
                        $aDirStats = @stat($dirsArr[$a]);
                        $aDirSizeInKb = round($aDirStats[7] / 1024, 2);
                        // size in kilobytes
                        $bDirStats = @stat($dirsArr[$b]);
                        $bDirSizeInKb = round($bDirStats[7] / 1024, 2);
                        // size in kilobytes
                        // in case, swapping two dirs
                        if ($order == "0" && $aDirSizeInKb > $bDirSizeInKb || $order == "1" && $aDirSizeInKb < $bDirSizeInKb) {
                            $dirsArrDep[$a] = $dirsArr[$a];
                            $dirsArr[$a] = $dirsArr[$b];
                            $dirsArr[$b] = $dirsArrDep[$a];
                            $dev = 1;
                        }
                        break;
                    default:
                }
            }
        }
    }
    // sorting files
    //	sort($filesArr,SORT_REGULAR);
    $dev = 0;
    $filesArrDep = array();
    for ($i = 0; $i < count($filesArr); $i++) {
        $filesArr[$i] = join(".", $filesArr[$i]);
    }
    // by default, ordering files by name
    sort($filesArr, SORT_REGULAR);
    if ($orderBy == "") {
        $orderBy = "name";
    }
    if ($order == "") {
        $order = "0";
    }
    for ($i = 0; $i < count($filesArr); $i++) {
        if ($dev == 0 && $i == count($filesArr)) {
        } else {
            for ($a = 0; $a < count($filesArr) - 1; $a++) {
                $b = $a + 1;
                switch ($orderBy) {
                    // ordering files by name
                    case "name":
                        //	if ( $order == "0" ) { sort($filesArr,SORT_REGULAR);	}
                        if ($order == "1" && $filesArr[$a] < $filesArr[$b]) {
                            $filesArrDep[$a] = $filesArr[$a];
                            $filesArr[$a] = $filesArr[$b];
                            $filesArr[$b] = $filesArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering files by filetype
                    // ordering files by filetype
                    case "type":
                        // extracting extension of this files
                        $aDot_position = strrpos($filesArr[$a], ".");
                        $aThisFileNameLength = strlen($filesArr[$a]);
                        $aFileExtension = "";
                        if ($aDot_position != "") {
                            $aFileExtension = substr($filesArr[$a], ++$aDot_position, $aThisFileNameLength);
                        }
                        // extracting extension of following file
                        $bDot_position = strrpos($filesArr[$b], ".");
                        $bThisFileNameLength = strlen($filesArr[$b]);
                        $bFileExtension = "";
                        if ($bDot_position != "") {
                            $bFileExtension = substr($filesArr[$b], ++$bDot_position, $bThisFileNameLength);
                        }
                        // in case, swapping two files
                        if ($order == "0" && $aFileExtension > $bFileExtension || $order == "1" && $aFileExtension < $bFileExtension) {
                            $filesArrDep[$a] = $filesArr[$a];
                            $filesArr[$a] = $filesArr[$b];
                            $filesArr[$b] = $filesArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering files by date
                    // ordering files by date
                    case "date":
                        $aLastModStats = @stat($pathDir . "/" . $filesArr[$a]);
                        $aLastMod = $aLastModStats[9];
                        $bLastModStats = @stat($pathDir . "/" . $filesArr[$b]);
                        $bLastMod = $bLastModStats[9];
                        // in case, swapping two files
                        if ($order == "0" && $aLastMod > $bLastMod || $order == "1" && $aLastMod < $bLastMod) {
                            $filesArrDep[$a] = $filesArr[$a];
                            $filesArr[$a] = $filesArr[$b];
                            $filesArr[$b] = $filesArrDep[$a];
                            $dev = 1;
                        }
                        break;
                        // ordering files by size
                    // ordering files by size
                    case "size":
                        $aFileStats = @stat($pathDir . "/" . $filesArr[$a]);
                        $aFileSizeInKb = $aFileStats[7];
                        // size in kilobytes
                        $bFileStats = @stat($pathDir . "/" . $filesArr[$b]);
                        $bFileSizeInKb = $bFileStats[7];
                        // size in kilobytes
                        // in case, swapping two files
                        if ($order == "0" && $aFileSizeInKb > $bFileSizeInKb || $order == "1" && $aFileSizeInKb < $bFileSizeInKb) {
                            $filesArrDep[$a] = $filesArr[$a];
                            $filesArr[$a] = $filesArr[$b];
                            $filesArr[$b] = $filesArrDep[$a];
                            $dev = 1;
                        }
                        break;
                    default:
                }
            }
        }
    }
    if ($dir == "") {
        $baseUrl = getThisURL($general_path, $general_url);
        // finding url corresponding to working dir by default
    } else {
        $baseUrl = $dir;
        // finding url corresponding to desired dir
    }
    // title of final page
    $listingHTML .= "<div align=left>";
    switch ($butOnly) {
        case "*noimg":
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\"><b><font size=\"3\">Index of <br>files (excluding popular image formats)</font></b><br></font></CENTER>";
            break;
        case "*img":
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\"><b><font size=\"3\">Index of<br>images having popular formats</font></b></font></CENTER>";
            break;
        case "":
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\"><b><font size=\"3\">Index of<br>all files</font></b></font></CENTER>";
            break;
        default:
            $listingHTML .= "<br><br><CENTER>&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\"><b><font size=\"3\">Index of<br>files with [" . $butOnly . "] extension</font></b></font></CENTER>";
    }
    $listingHTML .= "</div>\n";
    // initializing counts of table cells
    $TD_count = 0;
    $TotTD_count = 0;
    // in case, correcting chosen number of table cells
    if ($TDperRow == "") {
        $TDperRow = $TDperRowDefault;
    }
    if ($TDperRow > $TDperRowMax) {
        $TDperRow = $TDperRowMax;
    }
    if ($TDperRow < 1) {
        $TDperRow = $TDperRowDefault;
    }
    // finding corresponding url
    $baseDir = getThisURL($general_path, $general_url);
    $listingHTML .= " <tr> \n  <td colspan=" . $TDperRow . "><div align=left>";
    // in case, correction of wrong slashes
    $baseUrl = slashCorrection($baseUrl);
    // starting html code of form tag
    $listingHTML .= "<FORM METHOD=\"get\" ACTION=\"" . $thisFileName . "\">";
    $listingHTML .= "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\">";
    // in case, correcting spaces in url/path
    //	$baseUrl3 = str_replace("%20"," ",$baseUrl);
    $baseUrl3 = urldecode($baseUrl);
    // displaying visible url/path address into corresponding input cell
    // in case, adding protocol "file://"
    global $urlPathDisplayed;
    $urlPathDisplayed = "";
    $checkFileProtocol1 = strpos($dir3, "/");
    $checkFileProtocol2 = strpos($dir3, "%2F");
    $checkFileProtocol3 = strpos($dir3, ":");
    $checkFileProtocol4 = strpos($dir3, "%3A");
    if ($checkFileProtocol1 == 1 || $checkFileProtocol2 == 1 || $checkFileProtocol1 == 2 || $checkFileProtocol2 == 2) {
        $urlPathDisplayed = "file://" . $dir3;
    } else {
        $urlPathDisplayed = $baseUrl3;
    }
    $urlPathDisplayed = slashCorrection($urlPathDisplayed);
    global $baseUrl4;
    $baseUrl4 = str_replace(" ", "%20", $baseUrl);
    $baseUrl4 = str_replace("/'", "'", $baseUrl4);
    $baseUrl4 = str_replace("&", "%26", $baseUrl4);
    $baseUrl4 = str_replace("'", "%27", $baseUrl4);
    $baseUrl4 = str_replace("+", "%20", $baseUrl4);
    //	$baseUrl4 = urlencode($baseUrl);
    //	$baseUrl4 = $baseUrl;
    //	$baseUrl4 = str_replace(" ","+",$baseUrl);
    //	echo $baseUrl4;
    // writing html code for working url/path address
    $listingHTML .= "<br> \nurl: <a target=_blank href=" . $baseUrl4 . ">" . $baseUrl3 . "</a><br>\n";
    // in case, deleting last slash of path address
    $thisPath2Length = strlen($pathDir);
    $lastSlash2Position = strrpos($pathDir, "/");
    $pathDir2 = $pathDir;
    if ($thisPath2Length == ++$lastSlash2Position) {
        $pathDir2 = substr($pathDir, 0, --$lastSlash2Position);
    }
    $pathDir2 = slashCorrection($pathDir2);
    //	$pathDir3 = str_replace("%20"," ",$pathDir2);
    $pathDir3 = urldecode($pathDir2);
    //	$listingHTML .= "path: <a target=_blank href=\"file://".$pathDir3."\">".$pathDir3."</a><br>\n";
    $listingHTML .= "path: " . $pathDir3 . "<br>\n";
    // writing general infos
    // distinguishing 4 possible cases (look for all files, just common images, other files, a certain filetype)
    // starting first block of repeated html code
    $listingHTML2 = "|&nbsp;&nbsp;show <select name=\"fileAndDir\" size=\"1\"> \n";
    $listingHTML2 .= " <option value=\"0\" ";
    if ($fileAndDir == "0" || $fileAndDir == "") {
        $listingHTML2 .= " selected ";
    }
    $listingHTML2 .= " >files &amp; dirs. </option> \n";
    $listingHTML2 .= " <option value=\"1\" ";
    if ($fileAndDir == "1") {
        $listingHTML2 .= " selected ";
    }
    $listingHTML2 .= " >only files</option> \n";
    $listingHTML2 .= " <option value=\"2\" ";
    if ($fileAndDir == "2") {
        $listingHTML2 .= " selected ";
    }
    $listingHTML2 .= " >only dirs</option> \n";
    $listingHTML2 .= "</select> \n";
    // starting second block of repeated html code
    $listingHTML3 = "<br>order by <select name=\"orderBy\">\n ";
    $listingHTML3 .= "<option value=\"name\" ";
    if ($orderBy == "name") {
        $listingHTML3 .= "  selected ";
    }
    $listingHTML3 .= ">names</option>\n";
    $listingHTML3 .= "<option value=\"type\" ";
    if ($orderBy == "type") {
        $listingHTML3 .= "  selected ";
    }
    $listingHTML3 .= ">types</option>\n";
    $listingHTML3 .= "<option value=\"date\" ";
    if ($orderBy == "date") {
        $listingHTML3 .= "  selected ";
    }
    $listingHTML3 .= ">date</option>\n";
    $listingHTML3 .= "<option value=\"size\" ";
    if ($orderBy == "size") {
        $listingHTML3 .= "  selected ";
    }
    $listingHTML3 .= ">size</option>\n</select>";
    $listingHTML3 .= "&nbsp&nbsp;&nbsp|&nbsp&nbsp;ascending";
    $listingHTML3 .= "<input type=\"radio\" name=\"order\" value=\"0\" ";
    if ($order == "0") {
        $listingHTML3 .= "  checked ";
    }
    $listingHTML3 .= "/><img src=" . $thisFileName . "?image=1004 border=0 alt=\"ascending order\"  width=16 height=16>&nbsp;&nbsp;";
    $listingHTML3 .= "descending<input type=\"radio\" name=\"order\" value=\"1\" ";
    if ($order == "1") {
        $listingHTML3 .= "  checked ";
    }
    $listingHTML3 .= "/><img src=" . $thisFileName . "?image=1005 border=0 alt=\"descending order\"  width=16 height=16><br>";
    // starting third block of html code (link seeds)
    //	$general_url2 = str_replace("%20"," ",$general_url);
    $general_url2 = urldecode($general_url);
    $listingHTML4 = "";
    $listingHTML4 .= "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">breadcrumbs: <a href=" . $thisFileName . "?dir=" . $general_url . "&butOnly=" . $butOnly . "&TDperRow=" . $TDperRow . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">" . $general_url2 . "</a>";
    $dirSeed = str_replace($general_url . "/", "", $dir);
    $dirSeed = str_replace($general_url3 . "/", "", $dir);
    $dirSeed = str_replace($general_url, "", $dirSeed);
    $dirSeed = str_replace($general_url3, "", $dirSeed);
    $dirSeed = str_replace("/'", "'", $dirSeed);
    //  $dirSeed = str_replace(" /'"," '",$dirSeed);
    //	$dirSeed2 = str_replace(" ","%20",$dirSeed);
    $dirSeed2 = urlencode($dirSeed);
    $dirSeed3 = "";
    $dirSeedDep = "";
    $devSeed = 0;
    if ($dirSeed2 != "") {
        while ($devSeed == 0) {
            while (substr($dirSeed2, 0, 1) == "/") {
                $dirSeed2 = substr($dirSeed2, 1);
            }
            if ($dirSeed2 != "") {
                $dirSeedNextSlash = strpos($dirSeed2, "/");
                $dirSeedNextSlashJump = 1;
                if ($dirSeedNextSlash == false) {
                    $dirSeedNextSlash = strpos($dirSeed2, "%2F");
                    $dirSeedNextSlashJump = 3;
                }
                if ($dirSeedNextSlash != false) {
                    $dirSeed3 = substr($dirSeed2, 0, $dirSeedNextSlash);
                    //					$dirSeed2 = substr($dirSeed2, $dirSeedNextSlash + 1);
                    $dirSeed2 = substr($dirSeed2, $dirSeedNextSlash + $dirSeedNextSlashJump);
                } else {
                    $dirSeed3 = $dirSeed2;
                    $dirSeed2 = "";
                    $devSeed = 1;
                }
                $dirSeedDep = $dirSeedDep . "/" . $dirSeed3;
                while (substr($dirSeedDep, 0, 1) == "/") {
                    $dirSeedDep = substr($dirSeedDep, 1);
                }
                //				$dirSeed4 = str_replace("%20"," ",$dirSeed3);
                $dirSeed4 = urldecode($dirSeed3);
                //				$dirSeed3 = str_replace(" ","%20",$dirSeed3);
                $dirSeed3 = urlencode($dirSeed3);
                $listingHTML4 .= " / <a href=" . $thisFileName . "?dir=" . $general_url . "/" . $dirSeedDep . "&butOnly=" . $butOnly . "&TDperRow=" . $TDperRow . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">" . $dirSeed4 . "</a>";
            } else {
                $devSeed = 1;
            }
        }
    }
    $listingHTML4 .= "</font><br>";
    // starting fourth block of html code (possible number of columns)
    $listingHTML5 = "<select name=\"TDperRow\">\n<option value=\"" . $TDperRow . "\"  selected>" . $TDperRow . "</option>\n<option value=\"" . $TDperRow . "\" >--</option>\n";
    for ($cols = 1; $cols < $TDperRowMax + 1; $cols++) {
        $listingHTML5 .= "<option value=\"" . $cols . "\">" . $cols . "</option>\n";
    }
    $listingHTML5 .= "</select>";
    // insert appropriate html code
    if ($butOnly == "") {
        $listingHTML .= "<br>\n";
        $listingHTML .= "url/path&nbsp;<INPUT TYPE=\"text\" SIZE=\"55\" NAME=\"dir\" VALUE=\"" . $urlPathDisplayed . "\"><br>\n";
        $listingHTML .= $listingHTML3;
        // chosen kind of sorting
        $listingHTML .= "extension <INPUT TYPE=\"text\" SIZE=\"6\" NAME=\"butOnly\" VALUE=\"" . $butOnly . "\">&nbsp;&nbsp;<font size=\"3\">|</font>&nbsp;&nbsp;columns " . $listingHTML5 . "\n&nbsp;" . $listingHTML2 . "&nbsp;&nbsp;<INPUT TYPE=\"submit\" VALUE=\" ok \" NAME=\"ricerca\"><br>\n";
        $listingHTML .= "<br>show:  <U>all</U> | <a href=" . $thisFileName . "?butOnly=*img&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">popular image formats</a> | <a href=" . $thisFileName . "?butOnly=*noimg&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">others</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"#\" onClick=\"javascript:helpPopUpIt();\"><img src=" . $thisFileName . "?image=1006 border=0 alt=\"help\"  width=16 height=16>&nbsp;<i>help</i></A>&nbsp;&nbsp;</font>\n";
    } else {
        switch ($butOnly) {
            case "*noimg":
                $listingHTML .= "<br>\n";
                $listingHTML .= "url/path&nbsp;<INPUT TYPE=\"text\" SIZE=\"55\" NAME=\"dir\" VALUE=\"" . $urlPathDisplayed . "\"><br>\n";
                $listingHTML .= $listingHTML3;
                // chosen kind of sorting
                $listingHTML .= "extension <INPUT TYPE=\"text\" SIZE=\"6\" NAME=\"butOnly\" VALUE=\"" . $butOnly . "\">&nbsp;&nbsp;<font size=\"3\">|</font>&nbsp;&nbsp;columns " . $listingHTML5 . "\n&nbsp;" . $listingHTML2 . "&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"submit\" VALUE=\" ok \" NAME=\"ricerca\"><br>\n";
                $listingHTML .= "<br>show: <a href=" . $thisFileName . "?dir=" . $baseUrl4 . "&TDperRow=" . $TDperRow . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">all</a> | <a href=" . $thisFileName . "?butOnly=*img&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">popular image formats</a> | <u>others</u>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"#\" onClick=\"javascript:helpPopUpIt();\"><img src=" . $thisFileName . "?image=1006 border=0 alt=\"help\"  width=16 height=16>&nbsp;<i>help</i></A>&nbsp;&nbsp;</font>\n";
                break;
            case "*img":
                $listingHTML .= "<br>\n";
                $listingHTML .= "url/path&nbsp;<INPUT TYPE=\"text\" SIZE=\"55\" NAME=\"dir\" VALUE=\"" . $urlPathDisplayed . "\"><br>\n";
                $listingHTML .= $listingHTML3;
                // chosen kind of sorting
                $listingHTML .= "extension <INPUT TYPE=\"text\" SIZE=\"6\" NAME=\"butOnly\" VALUE=\"" . $butOnly . "\">&nbsp;&nbsp;<font size=\"3\">|</font>&nbsp;&nbsp;columns " . $listingHTML5 . "\n&nbsp;" . $listingHTML2 . "&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"submit\" VALUE=\" ok \" NAME=\"ricerca\"><br>\n";
                $listingHTML .= "<br>show: <a href=" . $thisFileName . "?dir=" . $baseUrl4 . "&TDperRow=" . $TDperRow . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">all</a> | <u>popular image formats</u> | <a href=" . $thisFileName . "?butOnly=*noimg&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">others</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"#\" onClick=\"javascript:helpPopUpIt();\"><img src=" . $thisFileName . "?image=1006 border=0 alt=\"help\"  width=16 height=16>&nbsp;<i>help</i></A>&nbsp;&nbsp;</font>\n";
                break;
            default:
                $listingHTML .= "<br>\n";
                $listingHTML .= "url/path&nbsp;<INPUT TYPE=\"text\" SIZE=\"55\" NAME=\"dir\" VALUE=\"" . $urlPathDisplayed . "\"><br>\n";
                $listingHTML .= $listingHTML3;
                // chosen kind of sorting
                $listingHTML .= "<u>extension</u> <INPUT TYPE=\"text\" SIZE=\"6\" NAME=\"butOnly\" VALUE=\"" . $butOnly . "\">&nbsp;&nbsp;<font size=\"3\">|</font>&nbsp;&nbsp;columns " . $listingHTML5 . "\n&nbsp;" . $listingHTML2 . "&nbsp;&nbsp;&nbsp;<INPUT TYPE=\"submit\" VALUE=\" ok \" NAME=\"ricerca\"><br>\n";
                $listingHTML .= "<br>show: <a href=" . $thisFileName . "?dir=" . $baseUrl4 . "&TDperRow=" . $TDperRow . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">all</a> | <a href=" . $thisFileName . "?butOnly=*img&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">popular image formats</a> | <a href=" . $thisFileName . "?butOnly=*noimg&TDperRow=" . $TDperRow . "&dir=" . $baseUrl4 . "&fileAndDir=" . $fileAndDir . "&orderBy=" . $orderBy . "&order=" . $order . ">others</a>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<A HREF=\"#\" onClick=\"javascript:helpPopUpIt();\"><img src=" . $thisFileName . "?image=1006 border=0 alt=\"help\"  width=16 height=16>&nbsp;<i>help</i></A>&nbsp;&nbsp;</font>\n";
        }
    }
    // link to page bottom
    $listingHTML .= "&nbsp;&nbsp;&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"#EndOfPage\"><img src=" . $thisFileName . "?image=1002 border=0 alt=\"go to page bottom\"  width=16 height=16>&nbsp;go to page bottom&nbsp;</a>\n";
    // closing html code of form tag
    $listingHTML .= "</font></FORM>";
    $listingHTML .= $listingHTML4;
    // add link seeds
    $listingHTML .= "</div></td> \n</tr>\n";
    // starting dirs list
    if ($fileAndDir != "0" && $fileAndDir != "1" && $fileAndDir != "2") {
        $fileAndDir = "0";
    }
    if ($fileAndDir == "0" || $fileAndDir == "2" || $fileAndDir == "") {
        $TDwidthPerc = 100 / $TDperRow;
        $thisPathLength = strlen($baseUrl);
        $lastSlashPosition = strrpos($baseUrl, "/");
        $baseUrl2 = $baseUrl;
        if ($thisPathLength == ++$lastSlashPosition) {
            $baseUrl2 = substr($baseUrl, 0, --$lastSlashPosition);
            $lastSlashPosition = strrpos($baseUrl2, "/");
        }
        $thisDirLength = $thisPathLength - $lastSlashPosition;
        // finding url of upper dir
        $upperUrl = substr($baseUrl2, 0, $lastSlashPosition);
        $listingHTML .= " \n<tr>\n  <td valign=top colspan=" . $TDperRow . "><div align=left>";
        $totDir = count($dirsArr);
        if (count($dirsArr) > 0) {
            $listingHTML .= "<table width=100% border=0 cellspacing=4 cellPadding=0>\n";
        }
        $listingHTML .= " <font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"> &#149; <b>subdirectories</b>:</font>";
        $listingHTML .= "<div align=\"right\">&nbsp;&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"" . $thisFileName . "?butOnly=" . $butOnly . "&fileAndDir=" . $fileAndDir . "&TDperRow=" . $TDperRow . "&orderBy=" . $orderBy . "&order=" . $order . "&dir=" . $upperUrl . "\" class =\"dirs\"><img src=" . $thisFileName . "?image=1001 border=0 alt=\"apri cartella superiore\"  width=16 height=16>&nbsp;<font size=\"1\">go one level up</font></a></font></div>\n";
        if (count($dirsArr) > 0) {
            $listingHTML .= "\n   <tr>\n    <td width=" . $TDwidthPerc . "% valign=top align=left bgcolor=#F9F9F9>";
        }
        $j = count($dirsArr) / $TDperRow;
        $j2 = intval($j, 10);
        if ($j == $j2) {
            $j = $j2 - 1;
        } else {
            $j = $j2;
        }
        $z = 0;
        for ($i = 0; $i < count($dirsArr); $i++) {
            if ($z > $j) {
                $listingHTML .= "</td> \n   <td  bgcolor=#F9F9F9 width=" . $TDwidthPerc . "% valign=top align=left>";
                $z = 1;
            } else {
                $z++;
            }
            //			$dirLinkName	 = str_replace(" ","%20",$dirsArr[$i]);
            $dirLinkName = urlencode($dirsArr[$i]);
            $dirLinkName = str_replace("&", "%26", $dirLinkName);
            $dirLinkName = str_replace("'", "%27", $dirLinkName);
            $dirLinkName = str_replace("+", "%20", $dirLinkName);
            $dirLinkName = str_replace(" ", "%20", $dirLinkName);
            $baseUrl5 = str_replace("&", "%26", $baseUrl);
            $baseUrl5 = str_replace("'", "%27", $baseUrl5);
            $baseUrl5 = str_replace("+", "%20", $baseUrl5);
            $baseUrl5 = str_replace(" ", "%20", $baseUrl5);
            // writing html code for dirs listing
            $listingHTML .= "&nbsp;&nbsp;&nbsp;<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"" . $thisFileName . "?butOnly=" . $butOnly . "&fileAndDir=" . $fileAndDir . "&TDperRow=" . $TDperRow . "&orderBy=" . $orderBy . "&order=" . $order . "&dir=" . $baseUrl5 . "/" . $dirLinkName . "/\" class =\"dirs\"><img src=" . $thisFileName . "?image=1000 border=0 width=32 height=32 alt=\"" . $dirsArr[$i] . "\">&nbsp;<b>" . $dirsArr[$i] . "</b></a></font> <br> \n ";
            if ($i == count($dirsArr) && $j < $z) {
                $listingHTML .= "</td> \n";
            }
        }
        if (count($dirsArr) > 0) {
            $listingHTML .= " </td>\n   </tr>\n  </table>";
            $listingHTML .= "</td>\n</tr>\n";
        }
        $listingHTML .= " \n <tr> \n  <td colspan=" . $TDperRow . "><div align=left><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">";
        $listingHTML .= "&nbsp;&nbsp;&nbsp;&nbsp;total subdirectories: &nbsp;<b>" . $totDir . "</b>";
        $listingHTML .= "<br>&nbsp;</font></div></td></tr>";
    }
    // starting files list
    if ($fileAndDir == "0" || $fileAndDir == "1" || $fileAndDir == "") {
        $listingHTML .= " <tr>\n  <td valign=top colspan=" . $TDperRow . "><div align=left>";
        $listingHTML .= "<font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"2\"> &#149; <b>files</b>:<font>";
        $listingHTML .= " </div></td></tr>";
        for ($i = 0; $i < count($filesArr); $i++) {
            if ($dir == "") {
                $baseUrl = getThisURL($general_path, $general_url);
                $urlAndFile = $filesArr[$i];
            } else {
                $urlAndFile = $pathDir . "/" . $filesArr[$i];
            }
            // reading files info
            $fileStats = @stat($urlAndFile);
            $fileSizeInKb = round($fileStats[7] / 1024, 2);
            // size in kilobytes
            $fileLastMod = date("H : i  M dS Y", $fileStats[9]);
            $fileTimeLastMod = date("H:i", $fileStats[9]);
            // time of last modification
            $fileDateLastMod = date("d-M-Y", $fileStats[9]);
            // date of last modification
            $filePixels = @getimagesize($urlAndFile);
            // image dimensions (hight and width)
            //      $filePixels[0] = hight
            //      $filePixels[1] = width
            //      $filePixels[3] = hight + width (extended form for html code)
            // extracting estension of this file
            $dot_position = strrpos($filesArr[$i], ".");
            $thisFileNameLength = strlen($filesArr[$i]);
            $fileExtension = "";
            if ($dot_position != "") {
                $fileExtension = substr($filesArr[$i], ++$dot_position, $thisFileNameLength);
            }
            // managing hidden files (the ones starting with a dot)
            $hiddenFileYesNo = 0;
            if ($dot_position == 0) {
                $hiddenFileYesNo = 1;
                $fileExtension = substr($filesArr[$i], ++$dot_position, $thisFileNameLength);
            }
            if ($dot_position == "") {
                $hiddenFileYesNo = 0;
                $fileExtension = "";
            }
            if ($butOnly == "") {
                // html code of first row of final table
                if ($TD_count == 0) {
                    $listingHTML .= "<tr> \n";
                }
            }
            $fileDate = str_replace("-", " ", $fileDateLastMod);
            // in case, correcting spaces into file name
            //			$fileName = str_replace(" ","%20",$filesArr[$i]);
            $fileName = urlencode($filesArr[$i]);
            //			$fileName = str_replace("+","%20",$fileName);
            $fileName = str_replace("&", "%26", $fileName);
            $fileName = str_replace("'", "%27", $fileName);
            $fileName = str_replace("+", "%20", $fileName);
            $fileName = str_replace(" ", "%20", $fileName);
            $fileText = "(" . $fileExtension . " file)";
            // deleting unnecessary slashes
            $baseUrl = str_replace("http://", "http:/@", $baseUrl);
            $baseUrl = str_replace("https://", "https:/@", $baseUrl);
            $baseUrl = str_replace("file://", "file:/@", $baseUrl);
            $baseUrl = str_replace("http%3A%2F%2F", "http%3A%2F@", $baseUrl);
            $baseUrl = str_replace("https%3A%2F%2F", "https%3A%2F@", $baseUrl);
            $baseUrl = str_replace("file%3A%2F%2F", "file%3A%2F@", $baseUrl);
            $dev = 0;
            while ($dev = 0) {
                if (strpos($baseUrl, "//") != false) {
                    $baseUrl = str_replace("//", "/", $baseUrl);
                    $baseUrl = str_replace("%2F%2F", "%2F", $baseUrl);
                } else {
                    $dev = 1;
                }
            }
            $baseUrl = str_replace("http:/@", "http://", $baseUrl);
            $baseUrl = str_replace("https:/@", "https://", $baseUrl);
            $baseUrl = str_replace("file:/@", "file://", $baseUrl);
            $baseUrl = str_replace("http%3A%2F@", "http%3A%2F%2F", $baseUrl);
            $baseUrl = str_replace("https%3A%2F@", "https%3A%2F%2F", $baseUrl);
            $baseUrl = str_replace("file%3A%2F@", "file%3A%2F%2F", $baseUrl);
            // finding table cell width  in percentage
            $TDwidthPerc = 100 / $TDperRow;
            if ($butOnly == "") {
                $fileExtension2 = strtolower($fileExtension);
                $HtmlCodeOfCells = "";
                $filePixels_a = $filePixels[0];
                $filePixels_b = $filePixels[1];
                $filesArr_i = $filesArr[$i];
                // in case, listing all files
                $listingHTML .= createHtmlCodeOfCells($HtmlCodeOfCells, $fileExtension2, $butOnly, $TDwidthPerc, $baseUrl4, $fileName, $filePixels_a, $filePixels_b, $filesArr_i, $fileSizeInKb, $fileDate, $fileTimeLastMod, $fileExtension, $hiddenFileYesNo, $thisFileName);
            } else {
                $extractFileYesNo = "0";
                // making extension search not-sensitive
                $fileExtension2 = strtolower($fileExtension);
                $devComImgFrmts = 0;
                for ($k = 0; $k < count($commonImageFormats); $k++) {
                    if ($fileExtension2 == $commonImageFormats[$k]) {
                        $devComImgFrmts = 1;
                    }
                }
                // managing images popular filetypes
                switch ($butOnly) {
                    case "*noimg":
                        if ($devComImgFrmts == 0) {
                            $extractFileYesNo = "1";
                        }
                        break;
                    case "*img":
                        if ($devComImgFrmts == 1) {
                            $extractFileYesNo = "1";
                        }
                        break;
                    default:
                        if ($fileExtension2 == strtolower($butOnly) || strtolower($butOnly) == "." . $fileExtension2) {
                            $extractFileYesNo = "1";
                        }
                }
                if ($extractFileYesNo == "1") {
                    // starting html code for first row of table cell
                    if ($TD_count == 0) {
                        $listingHTML .= "<tr> \n";
                    }
                    $fileExtension2 = strtolower($fileExtension);
                    $HtmlCodeOfCells = "";
                    $filePixels_a = $filePixels[0];
                    $filePixels_b = $filePixels[1];
                    $filesArr_i = $filesArr[$i];
                    // writing html code for listing desired files
                    $listingHTML .= createHtmlCodeOfCells($HtmlCodeOfCells, $fileExtension2, $butOnly, $TDwidthPerc, $baseUrl4, $fileName, $filePixels_a, $filePixels_b, $filesArr_i, $fileSizeInKb, $fileDate, $fileTimeLastMod, $fileExtension, $hiddenFileYesNo, $thisFileName);
                } else {
                    $TotTD_count--;
                    $TD_count--;
                }
            }
            // counting total td tag per table rows
            $TD_count++;
            // closing table rows
            if ($TD_count == $TDperRow) {
                $listingHTML .= "</tr> \n";
                $TD_count = 0;
            }
            $TotTD_count++;
        }
        // in case, completing last row with empty cells
        $TDclose = $TDperRow - $TotTD_count % $TDperRow;
        if ($TotTD_count % $TDperRow != 0) {
            // processing remaining cells
            for ($j = 0; $j < $TDclose; $j++) {
                $listingHTML .= "  <td height=130 width=" . $TDwidthPerc . "%  align=\"center\" vAlign=\"middle\" bgcolor=\"#FFFFFF\">&nbsp;</td> \n";
                $TDclose2 = $TDclose - 1;
                // close last row
                if ($j == $TDclose2) {
                    $listingHTML .= "</tr> \n";
                }
            }
        }
        // in case of no files (empty list)
        $endArray = count($filesArr) - 1;
        if (($i = $endArray) && $TotTD_count == 0) {
            $tableWidth = $TDperRow * 110;
            // display a specific message according to desired kind of search
            switch ($butOnly) {
                case "*noimg":
                    $listingHTML .= " \n <tr> \n<td colspan=" . $TDperRow . " width=100%  height=130  align=center valign=middle bgcolor=\"#FFFFFF\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>no files (not having popular image types) found</font></td> \n";
                    break;
                case "*img":
                    $listingHTML .= " \n <tr> \n<td colspan=" . $TDperRow . " width=100%  height=130  align=center valign=middle bgcolor=\"#FFFFFF\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>no files (having popular image types) found</font></td> \n";
                    break;
                case "":
                    $listingHTML .= " \n <tr> \n<td colspan=" . $TDperRow . " width=100%  height=130  align=center valign=middle bgcolor=\"#FFFFFF\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>no files found</font></td> \n";
                    break;
                default:
                    $listingHTML .= " \n <tr> \n<td colspan=" . $TDperRow . " width=100%  height=130  align=center valign=middle bgcolor=\"#FFFFFF\"><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=1>no files having extension [" . $butOnly . "] found</font></td> \n";
            }
        }
        $listingHTML .= " \n<tr> \n  <td colspan=" . $TDperRow . "><div align=left><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">";
        if ($butOnly == "") {
            $listingHTML .= "&nbsp;&nbsp;&nbsp;total files: &nbsp;<b>" . $TotTD_count . "</b>";
        } else {
            switch ($butOnly) {
                case "*noimg":
                    $listingHTML .= "&nbsp;&nbsp;&nbsp;total files not having popular image types: &nbsp;<b>" . $TotTD_count . "</b>";
                    break;
                case "*img":
                    $listingHTML .= "&nbsp;&nbsp;&nbsp;total files having popular image types: &nbsp;<b>" . $TotTD_count . "</b>";
                    break;
                default:
                    $listingHTML .= "&nbsp;&nbsp;&nbsp;total files [" . $butOnly . "]: &nbsp;<b>" . $TotTD_count . "</b>";
            }
        }
        $listingHTML .= " </font></div></td> \n</tr> \n";
    }
    // displayng final total
    if ($fileAndDir == "0" || $fileAndDir == "") {
        $totFileAndDir = $TotTD_count + $totDir;
        $TDperRow2 = $TDperRow - 1;
        if ($TDperRow == 1) {
            $listingHTML .= " \n<tr> \n   <td><div align=left><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">";
            $listingHTML .= "<br>total&nbsp;files&nbsp;and&nbsp;subdirectories:&nbsp;&nbsp;<b>" . $totFileAndDir . "</b>";
            $listingHTML .= "</font></div><div align=right><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"#TopOfPage\"><img src=" . $thisFileName . "?image=1003 border=0 alt=\"go to page top\"  width=16 height=16>&nbsp;go to page top</a>";
            $listingHTML .= " </font></div></td> \n</tr> \n";
        } else {
            $listingHTML .= " \n<tr> \n   <td  colspan=" . $TDperRow2 . "><div align=left><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\">";
            $listingHTML .= "<br>total&nbsp;files&nbsp;and&nbsp;subdirectories:&nbsp;&nbsp;<b>" . $totFileAndDir . "</b>";
            $listingHTML .= "</font></div></td> \n   <td width=280><div align=right><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"#TopOfPage\"><img src=" . $thisFileName . "?image=1003 border=0 alt=\"go to page top\"  width=16 height=16>&nbsp;go to page top</a></a>";
            $listingHTML .= " </font></div></td> \n</tr> \n";
        }
    }
    // alternative link to page top
    if ($fileAndDir == "1" || $fileAndDir == "2") {
        $listingHTML .= " \n<tr> \n   <td  colspan=" . $TDperRow . "><div align=right><font face=\"Verdana, Arial, Helvetica, sans-serif\" size=\"1\"><a href=\"#TopOfPage\"><img src=" . $thisFileName . "?image=1003 border=0 alt=\"go to page top\"  width=16 height=16>&nbsp;go to page top</a></a>";
        $listingHTML .= " </font></div></td> \n</tr> \n";
    }
    // write final html code
    return $listingHTML;
}
Example #3
0
<?
//register a globals variable for security
$GLOBALS['vlDC']=true;
include "conf.php";
//log url
logURL(getThisURL(),getPostVariables());

//load variables
$option=getValidatedVariable("option");
$successsws=getValidatedVariable("successsws");
$searchQuery=getValidatedVariable("searchQuery");
$searchFilter=getValidatedVariable("searchFilter");
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Viral Load</title>
<link href="/bootstrap/bootstrap.min.css" rel="stylesheet" type="text/css">

<link href="/css/vl.css" rel="stylesheet" type="text/css">
<link href="/css/vl2.css" rel="stylesheet" type="text/css">
<link href="/css/jsdialog.css" rel="stylesheet" media="screen" type="text/css">
<link href="/css/dhtmlxcombo.css" rel="stylesheet" type="text/css">
<link href="/css/datepicker.jquery.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="/css/jquery-ui.css">

<link   href="/css/select2.min.css" rel="stylesheet" />


<? $vlDC->printJavascript(); ?>
/**
* function to query a table using the standard $query=mysqlquery("select statement")
* @param: $q
* @param: $field - which field should we return
*/
function queryTableInfo($q,$field) {
	global $trailSessionUser,$p,$a;
	$query=0;
	$query=mysqlquery("$q");
	if(!mysqlerror()) {
		if(mysqlnumrows($query)) {
			$q=array();
			$return=array();
			while($q=mysqlfetcharray($query)) {
				$return[]=$q["$field"];
			}
			return $return;
		}
	} else {
		//log this error
		$errorName=0;
		$errorName="Database Error!";
		$errorDescription=0;
		$errorDescription="<strong>Database error:</strong> ".mysqlerror();
		$errorDescription.="<br><strong>URL:</strong> ".getThisURL();
		$errorDescription.="<br><strong>Page:</strong> $p";
		$errorDescription.="<br><strong>Action:</strong> $a";
		logError($errorName,$errorDescription,"",getUserID($trailSessionUser));
	}
}