This is an old revision of the document!


phpPathFinder

phpPathFinder phpPathFinder is a multiuser php filemanager, with configurable autorization level in one text file (no db required).

Demo

You can view an online demo here: online demo

Download

last stable version: 0.1.0, 09 Jan 2010

You can get phpPathFinder from http://sourceforge.net/projects/phppathfinder

Install

Download and extract the latest release archive.
Edit config.php and .pfaccess for your requirements (see Configuration below).
FTP to your site.

PHP 5.3.1 or later required

Configuration

config.php

There are 5 configurable global variables in the config.php file:

PFACCESS

Relative path and file name of the .pfaccess auth file.
e.g.:

$PFACCESS = ".pfaccess";
TITLE

Title of the html page, also displayed in the top of the html document.
e.g.:

$TITLE = "UTillyty $APPNAME";
DESCRIPTION

Page description (below the login form, left to the list).
Can be any html.
e.g.:

$DESCRIPTION = 
"
$APPNAME <br/> v$APPVERSION <br/> demo version 
";
SIDENOTE

sidenote (right side)

$SIDENOTE = 
"
put any html inside
"

the $APPNAME and $APPVERSION are predefined global vars in the phpPathFinder.php file

.pfaccess

There are 8 configurable permission parameters:

  • root: the absolute or relative (to phpPathFinder.php) path of the top folder the user can work on (mandatory);
  • whitelist: a dot ('.') separated list of file extension the user can work on (default = ); * blacklist: a dot ('.') separated list of file extension the user is forbidden to work on (default = );
  • browse: 0 or 1. if 1 the user can browse files/folders (default = 0)
  • download: 0 or 1. if 1 the user can download (default = 0)
  • edit: 0 or 1. if 1 the user can copy/move/rename files/folders (default = 0);
  • remove: 0 or 1. if 1 the user can delete files/folders (default = 0);
  • upload: 0 or 1. if 1 the user can upload files (default = 0);

Each permission is independent from the others

The .pfaccess file contains user/group authorization information divided in 4 sections:

@default

This section contains one line with the default user permissions parameters either for anonymous user, or if a parameter is not explicitly declared neither in the group nor in the user record of a logged user.

@groups

This section contains group permissions parameters for logged users.

@users

Each line on this section contains the user's user name and group name. Optionally authorization parameter in the group section can be overridden here.

@passwords

Each line contain a record with username and MD5 encryped password.

When a user log in to phpPathFinder, the system first check the username and password, than set each the permission parameters with this precedence:

  • the user record in the @users section
  • the group record (where group.name = user.gruopname) in the @groups section
  • the @default record

If no login is provided the @default section parameters are used.

'@anonymous' is a RESERVED key value for the @default user username, group, and password and will be set automatically by the system. You cannot use this values for users records.

If you don't want anonymous user not even browse list, remove the browse permission from the @default section (or set it to 0).

.htaccess

Licence

Copyright (C) 2010 Attilio Pavone <tilly@utillyty.eu>

phpPathFinder 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 3 of the License, or
(at your option) any later version.

phpPathFinder 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 can find a copy of the GNU General Public License in the file
LICENSE, or can see <http://www.gnu.org/licenses/>.

This program use the following open source software:

Develope

Revision history

version 0.1.0 (alpha), 09 Jan 2010

This is the first alpha version.


Navigation
Personal Tools