!C99Shell v. 1.0 pre-release build #13!

Software: Apache/2.0.54 (Unix) mod_perl/1.99_09 Perl/v5.8.0 mod_ssl/2.0.54 OpenSSL/0.9.7l DAV/2 FrontPage/5.0.2.2635 PHP/4.4.0 mod_gzip/2.0.26.1a 

uname -a: Linux snow.he.net 4.4.276-v2-mono-1 #1 SMP Wed Jul 21 11:21:17 PDT 2021 i686 

uid=99(nobody) gid=98(nobody) groups=98(nobody) 

Safe-mode: OFF (not secure)

/home/jerryg/public_html/gallery2/install/   drwxr-xr-x
Free 318.35 GB of 458.09 GB (69.5%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     index.php (10.07 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
 * ATTENTION:
 *
 * If you're seeing this in your browser, and are trying to install Gallery,
 * you either do not have PHP installed, or if it is installed, it is not
 * properly enabled. Please visit the following page for assistance:
 *
 *    http://gallery.sourceforge.net/
 *
 * ----------------------------------------------------------------------------
 *
 * $Id: index.php 15711 2007-01-19 18:50:16Z bharat $
 *
 * Gallery - a web based photo album viewer and editor
 * Copyright (C) 2000-2007 Bharat Mediratta
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU 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 General Public License
 * along with this program; if not, write to the Free Software
 * Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA  02110-1301, USA.
 */
/**
 * Gallery Installer
 * @package Install
 */

/* Show all errors. */
@ini_set('display_errors'1);

/*
 * Disable magic_quotes runtime -- it causes problems with legitimate quotes
 * in our SQL, as well as reading/writing the config.php
 */
@ini_set('magic_quotes_runtime'0);

$g2Base dirname(dirname(__FILE__)) . '/';
require_once(
$g2Base 'install/GalleryStub.class');
require_once(
$g2Base 'install/InstallStep.class');
require_once(
$g2Base 'install/StatusTemplate.class');
require_once(
$g2Base 'modules/core/classes/GalleryUtilities.class');
require_once(
$g2Base 'lib/support/GallerySetupUtilities.class');
define('INDEX_PHP'basename(__FILE__));

/*
 * If gettext isn't enabled, subvert the _() text translation function
 * and just pass the string on through in English
 */
if (!function_exists('_')) {
    function 
_($s) {
    return 
$s;
    }
}

/* Our install steps, in order */
$stepOrder = array();
$stepOrder[] = 'Welcome';
$stepOrder[] = 'Authenticate';
$stepOrder[] = 'SystemChecks';
$stepOrder[] = 'Multisite';
$stepOrder[] = 'StorageSetup';
$stepOrder[] = 'DatabaseSetup';
$stepOrder[] = 'AdminUserSetup';
$stepOrder[] = 'CreateConfigFile';
$stepOrder[] = 'InstallCoreModule';
$stepOrder[] = 'InstallOtherModules';
$stepOrder[] = 'Secure';
$stepOrder[] = 'Finished';

foreach (
$stepOrder as $stepName) {
    
$className $stepName 'Step';
    require(
"steps/$className.class");
}

GallerySetupUtilities::startSession();

require_once(
$g2Base 'modules/core/classes/GalleryStatus.class');
require_once(
$g2Base 'modules/core/classes/GalleryTranslator.class');
if (empty(
$_SESSION['language'])) {
    
/* Select language based on preferences sent from browser */
    
$_SESSION['language'] = GalleryTranslator::getLanguageCodeFromRequest();
}
if (
function_exists('dgettext')) {
    
$gallery = new GalleryStub();
    
$translator = new GalleryTranslator();
    
$translator->init($_SESSION['language'], true);
    unset(
$gallery);
    
bindtextdomain('gallery2_install'dirname(__FILE__) . '/locale');
    
textdomain('gallery2_install');
    if (
function_exists('bind_textdomain_codeset')) {
    
bind_textdomain_codeset('gallery2_install''UTF-8');
    }
    
/* Set the appropriate charset in our HTTP header */
    
if (!headers_sent()) {
    
header('Content-Type: text/html; charset=UTF-8');
    }
}

/*
 * If register_globals is on then a global $galleryStub may have already been created.
 * Clear it here and initialize ourselves.
 */
unset($galleryStub);

if (!isset(
$_GET['startOver']) && !empty($_SESSION['install_steps'])) {
    
$steps unserialize($_SESSION['install_steps']);
    if (isset(
$_SESSION['galleryStub'])) {
    
$galleryStub unserialize($_SESSION['galleryStub']);
    }
}

/* If we don't have our steps in our session, initialize them now. */
if (empty($steps) || !is_array($steps)) {
    
$steps = array();
    for (
$i 0$i count($stepOrder); $i++) {
    
$className $stepOrder[$i] . 'Step';
    
$step = new $className();
    if (
$step->isRelevant()) {
        
$step->setIsLastStep(false);
        
$step->setStepNumber($i);
        
$step->setInError(false);
        
$step->setComplete(false);
        
$steps[] = $step;
    }
    }

    
/* Don't do this in the loop, since not all steps are relevant */
    
$steps[count($steps)-1]->setIsLastStep(true);
}

$stepNumber = isset($_GET['step']) ? (int)$_GET['step'] : 0;

/* Make sure all steps up to the current one are ok */
for ($i 0$i $stepNumber$i++) {
    if (!
$steps[$i]->isComplete() && !$steps[$i]->isOptional()) {
    
$stepNumber $i;
    break;
    }
}
$currentStep =& $steps[$stepNumber];

if (!empty(
$_GET['doOver'])) {
    
$currentStep->setComplete(false);
}

/* If the current step is incomplete, the rest of the steps can't be complete either */
if (!$currentStep->isComplete()) {
    for (
$i $stepNumber+1$i count($steps); $i++) {
    
$steps[$i]->setComplete(false);
    
$steps[$i]->setInError(false);
    }
}

if (
$currentStep->processRequest()) {
    
/* Load up template data from the current step */
    
$templateData = array();

    
/* Round percentage to the nearest 5 */
    
$templateData['errors'] = array();
    
$currentStep->loadTemplateData($templateData);

    
/* Render the output */
    
$template = new StatusTemplate();
    
$template->renderHeaderBodyAndFooter($templateData);
}

function 
processAutoCompleteRequest() {
    
$path = !empty($_GET['path']) ? $_GET['path'] : '';
    
/* Undo the damage caused by magic_quotes */
    
if (get_magic_quotes_gpc()) {
    
$path stripslashes($path);
    }

    if (
is_dir($path)) {
    
$match '';
    } else {
    
$match basename($path);
    
$matchLength strlen($match);
    
$path dirname($path);
    if (!
is_dir($path)) {
        return;
    }
    }

    
$dirList = array();
    if (
$dir opendir($path)) {
    if (
$path{strlen($path)-1} != DIRECTORY_SEPARATOR) {
        
$path .= DIRECTORY_SEPARATOR;
    }
    while ((
$file readdir($dir)) !== false) {
        if (
$file == '.' || $file == '..' || ($match && strncmp($file$match$matchLength))) {
        continue;
        }
        
$file $path $file;
        if (
is_dir($file)) {
        
$dirList[] = $file;
        }
    }
    
closedir($dir);
    
sort($dirList);
    }

    
header("Content-Type: text/plain");
    print 
implode("\n"$dirList);
}


/**
 * (Re-) Create the gallery filesystem data structure
 *
 * @param string $dataBase absolute filesystem path of the storage directory
 * @return boolean success whether the structure was created successfully
 */
function populateDataDirectory($dataBase) {
    
/* Use non-restrictive umask to create directories with lax permissions */
    
umask(0);

    if (
$dataBase{strlen($dataBase)-1} != DIRECTORY_SEPARATOR) {
    
$dataBase .= DIRECTORY_SEPARATOR;
    }

    
/* Create the sub directories, if necessary */
    
foreach (array('albums',
           
'cache',
           
'locks',
           
'tmp',
           
'plugins_data',
           
'plugins_data/modules',
           
'plugins_data/themes',
           
'smarty',
           
'smarty/templates_c') as $key) {
    
$dir $dataBase $key;

    if (
file_exists($dir) && !is_dir($dir)) {
        return 
false;
    }

    if (!
file_exists($dir)) {
        if (!@
mkdir($dir0755)) {
        return 
false;
        }
    }

    if (!
is_writeable($dir)) {
        return 
false;
    }
    }

    return 
secureStorageFolder($dataBase);
}

/**
 * Secure the storage folder from attempts to access it directly via the web by adding a
 * .htaccess with a "Deny from all" directive. This won't have any effect on webservers other
 * than Apache 1.2+ though.
 * Since we can't reliably tell whether the storage folder is web-accessible or not,
 * we add this in all cases. It doesn't hurt.
 * @param string $dataBase absolute filesystem path to the storage folder
 * @return boolean true if the .htaccess file has been created successfully
 */
function secureStorageFolder($dataBase) {
    
$htaccessPath $dataBase '.htaccess';
    
$fh = @fopen($htaccessPath'w');
    if (
$fh) {
    
$htaccessContents "DirectoryIndex .htaccess\n" .
                
"SetHandler Gallery_Security_Do_Not_Remove\n" .
                
"Options None\n" .
                
"<IfModule mod_rewrite.c>\n" .
                
"RewriteEngine off\n" .
                
"</IfModule>\n" .
                
"<IfModule mod_access.c>\n" .
                
"Order allow,deny\n" .
                
"Deny from all\n" .
                
"</IfModule>\n";
    
fwrite($fh$htaccessContents);
    
fclose($fh);
    }

    return 
file_exists($htaccessPath);
}

/* Returns something like https://example.com */
function getBaseUrl() {
    
/* Can't use GalleryUrlGenerator::makeUrl since it's an object method */
    
if (!($hostName GalleryUtilities::getServerVar('HTTP_X_FORWARDED_HOST'))) {
    
$hostName GalleryUtilities::getServerVar('HTTP_HOST');
    }
    
$protocol = (GalleryUtilities::getServerVar('HTTPS') == 'on') ? 'https' 'http';

    return 
sprintf('%s://%s'$protocol$hostName);
}

/** Returns the URL to the G2 folder, e.g. http://example.com/gallery2/. */
function getGalleryDirUrl() {
    global 
$g2Base;

    require_once(
$g2Base 'modules/core/classes/GalleryUrlGenerator.class');
    
$urlPath preg_replace('|^(.*/)install/index.php(?:\?.*)?$|s''$1',
                
GalleryUrlGenerator::getCurrentRequestUri());

    return 
getBaseUrl() . $urlPath;
}

/**
 * Mini url generator for the installer
 */
function generateUrl($uri$print=true) {
    if (!
strncmp($uri'index.php'9)) {
    
/* Cookieless browsing: If session.use_trans_sid is on then it will add the session id. */
    
if (!GallerySetupUtilities::areCookiesSupported() && !ini_get('session.use_trans_sid')) {
        
/*
         * Don't use SID since it's a constant and we change (regenerate) the session id
         * in the request
         */
        
$sid session_name() . '=' session_id();
        
$uri .= !strpos($uri'?') ? '?' '&amp;';
        
$uri .= $sid;
    }
    }

    if (
$print) {
    print 
$uri;
    }
    return 
$uri;
}

/*
 * We don't store the steps in the session in raw form because that
 * will break in environments where session.auto_start is on since
 * it will try to instantiate the classes before they've been defined
 */
$_SESSION['install_steps'] = serialize($steps);
if (isset(
$galleryStub)) {
    
$_SESSION['galleryStub'] = serialize($galleryStub);
}
?>

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 1.0 pre-release build #13 powered by Captain Crunch Security Team | http://ccteam.ru | Generation time: 0.0213 ]--