MSV FM

dot.antimicrobial@66.96.161.157: ~ $
Path : /hermes/sb_web/web/web/web/b2432/glovault.njhealey.com/
File Upload :
Current < : /hermes/sb_web/web/web/web/b2432/glovault.njhealey.com/browse.php

<?php
define ( 'NO_AUTH_CHECK', 1 );
define ( 'BROWSE_PHP', 1 );
require_once ( 'includes/commons.inc.php' );
require_once ( 'includes/index.class.php' );

if ( $UPL['SETTINGS']['browsing'] == 'reg' && $UPL['USER']['logged_in'] == false )
{
	$tpl_message->set ( 'message', $lang_misc['login_required'] );
	$tpl_uploader->setr ( 'content', $tpl_message );
	exit ( $tpl_uploader->display ( ) );
}

function has_public_folders ( $path )
{
    $user_contents = get_contents ( $path );
    $folders =& $user_contents['dirs'];
    $folders_count = count ( $folders );

    for ( $i = 0; $i < $folders_count; $i++ )
    {
	if ( is_file ( $path . '/' . $folders[$i]['path'] . '/.public' ) )
	{
	    return true;
	}
    }
    return false;
}

if ( $action == 'browse' )
{
	$tpl_browse = new Template ( TPL_DIR . 'tpl_user.php' );
	$tpl_browse->set ( 'action', $action );

	$userid = gpc ( 'userid', 'G', 0 );
	$folder = path_decode ( gpc ( 'folder', 'G', '' ) );
	$user 	= new User;

	if ( $user->open ( $userid ) )
	{
		$userinfo = $user->all ( );

		// User directory and URL
		$user_root = $UPL['SETTINGS']['userfiles_dir'] . $userid . '/';
		$user_url  = $UPL['SETTINGS']['userfiles_url'] . $userid . '/';

                // get all folders
		$user_contents = get_contents ( $user_root );
		$user_folders =& $user_contents['dirs'];
		$user_folders_count = count ( $user_folders );
		$public_folders = array ( );

		for ( $i = 0; $i < $user_folders_count; $i++ )
		{
			if ( is_file ( $user_root . $user_folders[$i]['path'] . '/.public' ) )
			{
				$public_folders [] = $user_folders[$i];
			}
		}

		$public_folders_count = count ( $public_folders );

		if ( $public_folders_count )
		{
			for ( $i = 0; $i < $public_folders_count; $i++ )
			{
				$public_folders[$i]['description'] = is_file ( $user_root . $public_folders[$i]['path'] . '/' . '.description' ) ? implode ( '', file ( $user_root . $public_folders[$i]['path'] . '/' . '.description' ) ) : '';
				$public_folders[$i]['description'] = htmlentities ( $public_folders[$i]['description'] );
				$public_folders[$i]['size'] = get_size ( $public_folders[$i]['size'], 'B', 0 );
				$public_folders[$i]['browse_url'] = 'browse.php?action=browse&amp;userid=' . $userid . '&amp;folder=' . path_encode ( $public_folders[$i]['path'] );
			}

			// load folder
			if ( $folder == '' )
			{
				#$folder = $public_folders[0]['path'];
				#header ( 'Location: browse.php?action=browse&userid=' . $userid . '&folder=' . path_encode ( $folder ) );
				#exit;
			}

			if ( !is_dir ( $user_root . $folder ) || !is_file ( $user_root . $folder . '/.public' ) )
			{
				/*
				print 'hi';
				$tpl_message->set ( 'message', $lang_browse['bad_folder'] );
				$tpl_message->set ( 'back_url', 'browse.php' );
				$tpl_uploader->setr ( 'content', $tpl_message );
				exit ( $tpl_uploader->display ( ) );
				*/
				$tpl_browse->set ( 'current_folder_name', '' );
				$tpl_browse->set ( 'current_folder_description', '' );
				$tpl_browse->set ( 'user_files', array ( ) );
				$tpl_browse->setr ( 'user', $userinfo );
				$tpl_browse->setr ( 'public_folders', $public_folders );
				$tpl_uploader->setr ( 'content', $tpl_browse );
				$tpl_uploader->display ( );
				exit;
			}

			$user_files = $user_contents['files'][$folder];
			$user_files_count = count ( $user_files );

			for ( $i = 0; $i < $user_files_count; $i++ )
			{
				$ref =& $user_files[$i];
				$ref['ext']		= get_extension ( $ref['name'] );
				if ( !isset ( $ref['date'] ) )
				{
					$ref['date']		= filemtime ( $user_root . $folder . '/' . $ref['name'] );
				}
				//$ref['rename_url'] 	= 'myfiles.php?action=rename&amp;file=' . rawurlencode ( ( $folder == '' ? '' : $folder . '/' ) . $ref['name'] );
				//$ref['resize_url'] 	= 'myfiles.php?action=resize&amp;file=' . rawurlencode ( ( $folder == '' ? '' : $folder . '/' ) . $ref['name'] );
				//$ref['download_url'] 	= 'file.php?action=download&amp;userid=' . $UPL['USER']['id'] . '&amp;file=' . rawurlencode ( ( $folder == '' ? '' : $folder . '/' ) . $ref['name'] );;
				$ref['file_url']   	= $user_url . clean_url ( $folder . '/' . rawurlencode ( $ref['name'] ) );
				//$ref['is_new']     	= ( time ( ) - $ref['date'] ) < 5;
				//$ref['is_resizeable'] 	= is_image ( $user_root . $folder . '/' . $ref['name'], true );
				//$ref['type']       	= get_extension ( $ref['name'] );
				$ref['date_raw']   	= $ref['date'];
				$ref['date']       	= date ( $UPL['CONFIGS']['TIME_FORMAT'], $ref['date'] );
				$ref['size_raw']   	= $ref['size'];
				$ref['size']       	= get_size ( $ref['size'], 'B', 0 );
				$ref['form_name']  	= rawurlencode ( $ref['name'] );
				$ref['full_name']  	= htmlentities ( $ref['name'] );
			}

			$tpl_browse->set ( 'current_folder_name', basename ( $folder ) );
			$tpl_browse->set ( 'current_folder_description', is_file ( $user_root . $folder . '/.description' ) ? htmlentities ( implode ( '', file ( $user_root . $folder . '/.description' ) ) ) : '' );
			$tpl_browse->setr ( 'user_files', $user_files );
			$tpl_browse->setr ( 'user', $userinfo );
			$tpl_browse->setr ( 'public_folders', $public_folders );
			$tpl_uploader->setr ( 'content', $tpl_browse );
			$tpl_uploader->display ( );
		}
		else
		{
			$tpl_message->set ( 'message', parse ( $lang_browse['no_public_folders'], '{user}', $userinfo['name'] ) );
			$tpl_message->set ( 'back_url', 'browse.php' );
			$tpl_uploader->setr ( 'content', $tpl_message );
			exit ( $tpl_uploader->display ( ) );
		}
	}
	else
	{
		$tpl_message->set ( 'message', $lang_misc['user_not_found'] );
		$tpl_uploader->setr ( 'content', $tpl_message );
		exit ( $tpl_uploader->display ( ) );
	}
}
elseif ( $action == 'info' )
{
	$tpl_userinfo = new Template ( TPL_DIR . 'tpl_user.php' );
	$tpl_userinfo->set ( 'action', $action );

	$userid = gpc ( 'userid', 'G', 0 );
	$user = new User;

	if ( $user->open ( $userid ) )
	{
		$userinfo = $user->all ( );

		// format user info
		$userinfo['reg_date_ago'] = number_format ( ( time() - $userinfo['reg_date'] ) / 86400, 1 );
		$userinfo['reg_date'] = date ( $UPL['CONFIGS']['TIME_FORMAT'], $userinfo['reg_date'] );
		$userinfo['last_login_ago'] = number_format ( ( time() - $userinfo['xtr_last_login_time'] ) / 86400, 1 );
		$userinfo['last_login'] = date ( $UPL['CONFIGS']['TIME_FORMAT'], $userinfo['xtr_last_login_time'] );
		$userinfo['browse_url'] = 'browse.php?action=browse&amp;userid=' . $userid;
		$userinfo['message_url'] = 'usercp.php?action=sendpm&userid=' . $userid;
		$tpl_userinfo->setr ( 'user', $userinfo );
		$tpl_uploader->setr ( 'content', $tpl_userinfo );
		$tpl_uploader->display ( );
	}
	else
	{
		$tpl_message->set ( 'message', $lang_misc['user_invalid'] );
		$tpl_uploader->setr ( 'content', $tpl_message );
		exit ( $tpl_uploader->display ( ) );
	}
}
else
{
	// get inputs
	$current_page = abs ( intval ( gpc ( 'page', 'G', 1 ) ) );
	$public_only = gpc ( 'public', 'G', 0 );

	// startup
	$tpl_browse_users = new Template ( TPL_DIR .  'tpl_browse.php' );
	$names_index = new Index;
	$names_index->open ( NAMES_INDEX );
	$all_users = $names_index->all ( );
	$all_users_count = count ( $all_users );
	$user_list = array ( );
	$user = new User;

	// sorting function
	function uksort_function ( $left, $right )
	{
		return strtolower ( $left ) > strtolower ( $right );
	}
	// sort
	uksort ( $all_users, 'uksort_function' );

	// filter public only
	if ( $public_only )
	{
		$temp = array ();
		while ( list ( $uname, $uid ) = each ( $all_users ) )
		{
			if ( has_public_folders ( $UPL['SETTINGS']['userfiles_dir'] . '/' . $uid ) )
			{
				$temp [$uname] = $uid;
			}
		}
		$all_users = $temp;
	}

	// divide into pages
	$page_links = array ( );
	if ( count ( $all_users ) )
	{
	    $pages = array_chunk ( $all_users, $UPL['CONFIGS']['USERLIST_PERPAGE'], true );
	    if ( $current_page > count ( $pages ) ) $current_page = count ( $pages );
	    if ( $current_page < 1 ) $current_page = 1;
	    $all_users = isset ( $pages[$current_page-1] ) ? $pages[$current_page-1] : $pages[0];
	    for ( $i = 0; $i < count ( $pages ); $i++ )
	    {
		$page_links [] = array ( 'url' => 'browse.php?page=' . ( $i + 1 ) . ( $public_only ? '&amp;public=1' : '' ), 'number' => ( $i + 1 ) );
	    }
	    if ( $current_page != count ( $pages ) )
	    {
		$page_links [] = array ( 'url' => 'browse.php?page=' . ( $current_page + 1 ) . ( $public_only ? '&amp;public=1' : '' ), 'number' => 'NEXT' );
	    }
	    if ( $current_page != 1 )
	    {
		array_unshift ( $page_links, array ( 'url' => 'browse.php?page=' . ( $current_page - 1 ) . ( $public_only ? '&amp;public=1' : '' ), 'number' => 'PREV' ) );
	    }
	}

	// format list
	while ( list ( $uname, $uid ) = each ( $all_users ) )
	{
		if ( $user->open ( $uid ) )
		{
			$has_public = $public_only ? true : has_public_folders ( $UPL['SETTINGS']['userfiles_dir'] . '/' . $uid );

			$user_list [] = array
			(
				'name'          => htmlentities ( $uname ),
				'browse_url'    => 'browse.php?action=browse&amp;userid=' . $uid,
				'info_url'      => 'browse.php?action=info&amp;userid=' . $uid,
				'message_url'   => 'usercp.php?action=sendpm&userid=' . $uid,
				'reg_date'      => date ( $UPL['CONFIGS']['TIME_FORMAT3'], $user->get ( 'reg_date' ) ),
				'email'		=> $user->get ( 'prf_public_email' ) ? $user->get ( 'email' ) : $lang_misc['email_hidden'],
				'has_public'	=> $has_public,
			);
		}
	}

	$tpl_browse_users->set ( 'public_only', $public_only );
	$tpl_browse_users->set ( 'pages', $page_links );
	$tpl_browse_users->set ( 'current_page', $current_page );
	$tpl_browse_users->set ( 'total_users', $all_users_count );

	$tpl_browse_users->setr ( 'users', $user_list );
	$tpl_uploader->setr ( 'content', $tpl_browse_users );
	$tpl_uploader->display ( );
}
?>