Source Code of: index.php
Date Last Modified: May 23, 2012 - 01:56:33 AM
Size: 9 KB  |  295 lines  |  9,469 characters
<?php
############################################################################
#    Copyright (C) 2004 by Matthew R Warden                                #
#    mwarden@gmail.com                                                     #
#    Created with KDevelop
#                                                                          #
#    This program is free software; you can redistribute it and#or modify  #
#    it under the terms of the GNU Library General Public License as       #
#    published by the Free Software Foundation; either version 2 of the    #
#    License, or (at your option) any later version.                       #
#                                                                          #
#    This program is distributed in the hope that it will be useful,       #
#    but WITHOUT ANY WARRANTY; without even the implied warranty of        #
#    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the         #
#    GNU General Public License for more details.                          #
#                                                                          #
#    You should have received a copy of the GNU Library General Public     #
#    License along with this program; if not, write to the                 #
#    Free Software Foundation, Inc.,                                       #
#    59 Temple Place - Suite 330, Boston, MA  02111-1307, USA.             #
############################################################################

error_reporting(E_ALL);

function 
getfiledesc($filename)
{
    
    
$desc '';
    
    switch (
$filename)
    {
        case 
'imgtest.php':
            
$desc 'Returns an image with a random string in it. '
                    
'Outputs PNG.';
            break;
        case 
'gdinfo.php':
            
$desc "Spits out a variable dump of information about the GD library compiled into PHP on this server.";
            break;
        case 
'index.php':
            
$desc 'This file. Displays a list of files in a directory, sorted by file extension. '
            
.'Also prints out associated descriptions and last modified dates.';
            break;
        case 
'distortimgtest_arcs.php':
            
$desc 'Returns an image distorted with a series of arcs. '
                    
.'This is in a series of attempts to generate an image that a human can read but a computer cannot. '
                    
.'Outputs PNG.';
            break;
        case 
'distortimgtest_dashes.php':
            
$desc 'Returns an image distorted with a series of dashes. '
                    
.'This is in a series of attempts to generate an image that a human can read but a computer cannot. '
                    
.'Outputs PNG.';
            break;
        case 
'distortimgtest_specs.php':
            
$desc 'Returns an image distorted with a series of specs. '
                    
.'This is in a series of attempts to generate an image that a human can read but a computer cannot. '
                    
.'Outputs PNG.';
            break;
        case 
'collapsible_elements.htm':
            
$desc 'Collaspible and expandable DIV elements, with JavaScript and CSS that is completely separate from the markup.';
            break;
        case 
'addtotals.htm':
            
$desc 'Solution to a problem posted on <a href="http://lists.evolt.org">evolt.org\'s thelist</a> discussion list.';
            break;
        case 
'viewsource.php':
            
$desc 'Displays the source code of a file.';
            break;
        case 
'ajax.htm':
            
$desc 'Testing of AJAX, a method of using asynchronous Javascript to communicate with the server without a refresh of the page. This is the client portion. See ajaxSearchForUsername.php for the server portion.';
            break;
        case 
'ajaxSearchForUsername.php':
            
$desc 'Testing of AJAX, a method of using asynchronous Javascript to communicate with the server without a refresh of the page. This is the server portion. See ajax.htm for the client portion.';
            break;
        case 
'jpgraph_cdinterest.php':
            
$desc 'Produces a graph using PHP\'s GD library (wrapped by the JpGraph library) to map interest gained on certificates of deposit.';
            break;
        case 
'mysql_matched_rows.php':
            
$desc 'This is a function, so only the source code is relevant. This function returns the number of rows matched by the where clause of '
                        
.'an update query. This is useful because mysql_affected_rows() returns zero if rows were matched but no values were updated. '
                        
.'An example of when this would happen is if someone views an &quot;edit&quot; form for a database record and simply hits '
                        
.'the submit button without making any changes.';
            break;
        case 
'jsforeachtest.htm':
            
$desc 'A demonstration of how the for-in construct in JavaScript does not work like many people expect. This was in response to a post '
                        
.'on evolt.org\'s discussion list, thelist, that suggested its use to iterate over an array of div elements. As you can see '
                        
.'when you open the page, an alert box shows that there are many keys in the for-in that are unexpected and would cause errors.';
            break;
        case 
'winonload.js':
            
$desc 'An easy way to add multiple functions to the window.onload event handler.';
            break;
        default:
            
            break;
    }
    
    return 
$desc";
    
// end function


function getfiletypedesc($extension)
{

    
$desc '';
    
    switch (
$extension)
    {
        case 
'php':
            
$desc 'PHP';
            break;
        case 
'htm': case 'html':
            
$desc '(X)HTML, CSS, and Javascript';
            break;
        case 
'asp':
            
$desc 'ASP';
            break;
        case 
'js':
            
$desc 'Javascript';        
            break;
        case 
'ttf': case 'other':
            
$desc 'Other File Formats and Supporting Files';        
            break;
        case 
'sh':
            
$desc 'Bash/Shell Scripts';
            break;
        default:
        
            break;
    } 
// end switch
    
    
return $desc;

// end function

?>


<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
        "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html>
<head>
<script src="http://www.google-analytics.com/urchin.js" type="text/javascript">
</script>
<script type="text/javascript">
_uacct = "UA-73851-1";
urchinTracker();
</script>
<meta http-equiv="content-type" content="text/html; charset=utf-8" />
<title>Matt Warden's Sandbox : Maybe I'll Share</title>
<style type="text/css">
    
    body 
    {
        background-color: #fc9;
    margin: 0;
    padding: 15px;
    }

    h1, h2, h3
    {
        font-family: Verdana, Arial, sans-serif;
        color: #666;
    }
    
    h1
    {
    margin: 0;
    padding-bottom: 5px;
        font-size: 1.3em;
    }

    h2
    {
    margin: 0 0 45px 25px;
    padding: 0;
    font-family: courier, sans-serif;
        font-size: 1.2em;
    }

    h3
    {
        font-size: 1.1em;
        margin 0;
        padding: 5px 0 0;
    }

    i
    {
        color: #966;
    }
    
    ul.filelist
    {
        list-style-type: none;
        list-style-position: outside;
        margin: 0;
        padding: 0 0 30px;
    }
    
    li.fileitem
    {
        margin: 0 0 0 15px;
        padding: 6px 0;
        color: #600;
    }
    
    li.fileitem, li.fileitem a
    {
        font-family: Verdana, Arial, sans-serif;
        font-size: 0.9em;
    }

    #validation  img {
        border: 0;
    }
    
</style>
</head>
<body id="wardensandbox">

<h1>Matt Warden's Sandbox</h1>
<h2>&#8226;&nbsp;maybe i'll share</h2>

<?php

/* begin: replaced by scandir() in php5 */
if ($handle opendir('.'))
{
    while (
false !== ($file readdir($handle)))
    {
        if (
$file != "." && $file != ".." && $file != 'viewsource.php')
        {
            
$files[] = $file;
        }
    } 
// end while
    
closedir($handle);
// end if

//asort($files);
/* end: replaced by scandir() in php5 */

// scandir is only available in php5, but it will take care of above code
// if php5 is being used.
// $files = scandir('.');

$sortedfiles = Array();
foreach (
$files as $afile)
{
    
// if there is an extension
    
$extpos strrpos($afile'.');
    
    if (!
$extpos)
        
$ext 'other';
    else
        
$ext substr($afile$extpos+1);
    
// end if
    
    
if (!isset($sortedfiles[$ext])) $sortedfiles[$ext] = Array();
    
    
$sortedfiles[$ext][] = $afile;
    
// end foreach


// loop through the filetypes. im using arraykeys() because i need a textual representation of the 
// filetype to pass to getfiletypedesc()
foreach (array_keys($sortedfiles) as $filetype)
{
    
$filecount count($sortedfiles[$filetype]);
    echo 
'<h3>'getfiletypedesc($filetype) . ' ('$filecount .' file'. (($filecount!=1)?'s':'') .')</h3>';
    echo 
'<ul class="filelist" id="'$filetype .'list">';
    
    
// loop through the files of this filetype
    
foreach ($sortedfiles[$filetype] as $afile)
    {
        echo 
'<li class="fileitem"><a href="'$afile .'" title="View file '$afile .'">'$afile .'</a>&nbsp;'
            
.'(<a href="viewsource.php?linemode=0&amp;f='urlencode($afile) .'">source</a>)'
            
getfiledesc($afile) ." <i>Last Modified: "date("F d Y H:i:s."filemtime($afile)) ."</i></li>\n";
    } 
// end foreach
    
    
echo '</ul>';

// end foreach

?>

<p id="validation">
      <a href="http://validator.w3.org/check?uri=referer"><img
          src="http://www.w3.org/Icons/valid-xhtml10"
          alt="Valid XHTML 1.0!" height="31" width="88" /></a>
</p>



</body>
</html>

A Derivative Work of: PHP Source Code Utility - Version 1.0.0 Copyright © 0php.com 2002.