| version 1.4, 2002/07/01 09:03:45 |
version 1.5, 2002/07/21 23:14:53 |
|
|
| phpWebFileManager |
|
| |
|
| file management PHP script designed for including into large projects |
phpWebFileManagerfile management PHP script designed for including into |
| |
large projectsOndrej 'Nepto' Jombik |
| Ondrej 'Nepto' Jombik |
|
| |
|
| Copyright © 2001, 2002 by Platon software development group |
Copyright © 2001, 2002 by Platon software development group |
| |
_______________________________________________________________________ |
| |
|
| ------------------------------------------------------------------------------- |
Table of Contents |
| |
1. Introduction |
| |
|
| Table of Contents |
1.1. Overview |
| 1. Introduction |
1.2. Features |
| |
1.3. Requirements |
| Overview |
1.4. Supported clients |
| Features |
|
| Requirements |
|
| Supported clients |
|
| |
|
| 2. Usage |
|
| |
|
| Installation |
|
| Configuration |
|
| |
|
| Original variables property |
|
| Other properties |
|
| File upload |
|
| PostNuke compatibility |
|
| |
|
| Running |
|
| Security notes |
|
| |
|
| 3. Other information |
|
| |
|
| License |
|
| Request to users |
|
| Author and homepage |
|
| Version history |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Chapter 1. Introduction |
2. Usage |
| |
|
| |
2.1. Installation |
| |
2.2. Configuration |
| |
|
| |
2.2.1. Original variables property |
| |
2.2.2. Other properties |
| |
2.2.3. File upload |
| |
2.2.4. PostNuke compatibility |
| |
2.2.5. Plugins |
| |
|
| Overview |
2.3. Running |
| |
2.4. Security notes |
| |
|
| phpWebFileManager is file management PHP tool. It is designed for including in |
3. Other information |
| large projects using appropriate PHP mechanisms (in example include() or |
|
| similar function). |
3.1. License |
| |
3.2. Request to users |
| ------------------------------------------------------------------------------- |
3.3. Author and homepage |
| |
3.4. Version history |
| Features |
_________________________________________________________________ |
| |
|
| * secure directory browsing |
Chapter 1. Introduction |
| |
|
| * directory creating, renaming and removing |
|
| |
|
| * file creating, uploading, renaming, deleting and viewing |
|
| |
|
| * huge configuration ability to allow/deny appropriate actions |
|
| |
|
| * PostNuke Rogue add-on compatibility |
|
| |
|
| * multilanguage support |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Requirements |
|
| |
|
| phpWebFileManager requires PHP interpreter without any special modules. It is |
|
| developed with with PHP 4.10.0. Although I haven't tested it, it should work |
|
| also with another versions of PHP, even PHP 3.x.x. Please notice me about |
|
| particular compatibility capabilities. |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Supported clients |
|
| |
|
| Netscape Navigator, Opera, Mozilla, Konqueror, Microsoft Internet Explorer, |
|
| Lynx, Links and all others HTML compliant clients are supported. Nor Javascript |
|
| nor other forms of client side scripting are used. |
|
| |
|
| ------------------------------------------------------------------------------- |
1.1. Overview |
| |
|
| |
phpWebFileManager is file management PHP tool. It is designed for including |
| |
in large projects using appropriate PHP mechanisms (in example include() or |
| |
similar function). |
| |
_________________________________________________________________ |
| |
|
| |
1.2. Features |
| |
|
| |
* secure directory browsing |
| |
* directory creating, renaming and removing |
| |
* file creating, uploading, renaming, deleting and viewing |
| |
* huge configuration ability to allow/deny appropriate actions |
| |
* PostNuke Rogue add-on compatibility |
| |
* multilanguage support |
| |
_________________________________________________________________ |
| |
|
| |
1.3. Requirements |
| |
|
| |
phpWebFileManager requires PHP interpreter without any special modules. It |
| |
is developed with with PHP 4.10.0. Although I haven't tested it, it should |
| |
work also with another versions of PHP, even PHP 3.x.x. Please notice me |
| |
about particular compatibility capabilities. |
| |
_________________________________________________________________ |
| |
|
| |
1.4. Supported clients |
| |
|
| |
Netscape Navigator, Opera, Mozilla, Konqueror, Microsoft Internet Explorer, |
| |
Lynx, Links and all others HTML compliant clients are supported. Nor |
| |
Javascript nor other forms of client side scripting are used. |
| |
_________________________________________________________________ |
| |
|
| Chapter 2. Usage |
Chapter 2. Usage |
| |
|
| Installation |
2.1. Installation |
| |
|
| Unpack archive to some directory, which could be accessed from Web. |
Unpack archive to some directory, which could be accessed from Web. |
| |
|
| Change mode of created phpWebFileManager directory so it can be accessed from |
Change mode of created phpWebFileManager directory so it can be accessed |
| Web. Command |
from Web. Command |
| |
|
| chmod -R u=rwX,g-rwx,o=rX phpWebFileManager/ |
chmod -R u=rwX,g-rwx,o=rX phpWebFileManager/ |
| |
|
| will do the job. Installation is done. |
will do the job. Installation is done. |
| |
_________________________________________________________________ |
| |
|
| ------------------------------------------------------------------------------- |
2.2. Configuration |
| |
|
| Configuration |
Configuration variables are located in config.inc.php file. |
| |
_________________________________________________________________ |
| |
|
| Configuration variables are located in config.inc.php file. |
2.2.1. Original variables property |
| |
|
| |
Determine if you want to use phpWebFileManager as a standalone Web |
| |
application or you want to include it in some bigger project. |
| |
|
| |
* If you want to use it as an standalone application, edit the |
| |
config file and ignore $phpWebFileManager_ORIGINAL_VARIABLES |
| |
variable. |
| |
* If you want to use as a part of some bigger project, edit the |
| |
config file with focusing on |
| |
$phpWebFileManager_ORIGINAL_VARIABLES. phpWebFileManager provides |
| |
itself a lot of actions such as confirm of deletion file and |
| |
others. $phpWebFileManager_ORIGINAL_VARIABLES are variables, which |
| |
will phpWebFileManager keep, so each page reload will be processed |
| |
in right way by others components of your PHP script. |
| |
If $phpWebFileManager_ORIGINAL_VARIABLES is not a constant, you |
| |
can comment it out in config file and always set it in your main |
| |
program to the right value before doing command which will include |
| |
phpWebFileManager.php file. |
| |
_________________________________________________________________ |
| |
|
| |
2.2.2. Other properties |
| |
|
| |
Than edit others variables in config file. More information about every |
| |
specific variable are described in config.inc.php file. |
| |
_________________________________________________________________ |
| |
|
| ------------------------------------------------------------------------------- |
2.2.3. File upload |
| |
|
| Original variables property |
If you want to provide file uploading, you must create world writeable |
| |
directory. Imagine that it is directory upload/, so than run command |
| |
|
| Determine if you want to use phpWebFileManager as a standalone Web application |
chmod o+w upload/ |
| or you want to include it in some bigger project. |
|
| |
|
| * If you want to use it as an standalone application, edit the config file |
to make it world writeable. |
| and ignore $phpWebFileManager_ORIGINAL_VARIABLES variable. |
_________________________________________________________________ |
| |
|
| * If you want to use as a part of some bigger project, edit the config file |
|
| with focusing on $phpWebFileManager_ORIGINAL_VARIABLES. phpWebFileManager |
|
| provides itself a lot of actions such as confirm of deletion file and |
|
| others. $phpWebFileManager_ORIGINAL_VARIABLES are variables, which will |
|
| phpWebFileManager keep, so each page reload will be processed in right way |
|
| by others components of your PHP script. |
|
| |
|
| If $phpWebFileManager_ORIGINAL_VARIABLES is not a constant, you can |
|
| comment it out in config file and always set it in your main program to the |
|
| right value before doing command which will include phpWebFileManager.php |
|
| file. |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Other properties |
2.2.4. PostNuke compatibility |
| |
|
| Than edit others variables in config file. More information about every |
Since version 0.2.2 phpWebFileManager has an ability to act as a PostNuke |
| specific variable are described in config.inc.php file. |
Rogue module (add-on). |
| |
|
| ------------------------------------------------------------------------------- |
Simply copy the directory into modules/ subdirectory of your PostNuke |
| |
installation. Than log into administration and in subsection Modules |
| |
regenerate module list. You can than initialize and activate |
| |
phpWebFileManager module and if you like, make it accessible through some |
| |
block and so on. |
| |
|
| File upload |
You might want also use some of security features of PostNuke. If you choose |
| |
to have phpWebFileManager menu entry visible only for trusted user with |
| |
admin rights, go to the administration subsection Permissions and make |
| |
appropriate changes. |
| |
|
| If you want to provide file uploading, you must create world writeable |
PostNuke specific configuration is overriden in init.inc.php file. Note, |
| directory. Imagine that it is directory upload/, so than run command |
that currently none from allow/deny file management actions features are |
| |
used. This will probably change soon, when someone from the PostNuke |
| |
community help me with setting up particular rights according to internal |
| |
PostNuke user information. |
| |
_________________________________________________________________ |
| |
|
| chmod o+w upload/ |
2.2.5. Plugins |
| |
|
| to make it world writeable. |
Since version 0.3 of phpWebFileManager you can use also plugins attached to |
| |
distribution. |
| |
|
| ------------------------------------------------------------------------------- |
The first one, auth.php, allows you to restrict access to phpWebFileManager |
| |
script using HTTP authentication. Refer to that file for more information. |
| |
You have to edit username and password in that file and set up (just |
| |
uncomment) appropriate require_once call in config.inc.php configuration |
| |
file. |
| |
|
| PostNuke compatibility |
The second one plugin called file.php. It allows you to restrict access to |
| |
View files. More information about usage of this plugin are in that file, |
| |
where you may also need to edit location of apache-mime.types file. |
| |
_________________________________________________________________ |
| |
|
| Since version 0.2.2 phpWebFileManager has an ability to act as a PostNuke |
2.3. Running |
| Rogue module (add-on). |
|
| |
|
| Simply copy the directory into modules/ subdirectory of your PostNuke |
If you have edited config file and wanted phpWebFileManager as a standalone |
| installation. Than log into administration and in subsection Modules regenerate |
application, try to access phpWebFileManager using some web browser. |
| module list. You can than initialize and activate phpWebFileManager module and |
|
| if you like, make it accessible through some block and so on. |
|
| |
|
| You might want also use some of security features of PostNuke. If you choose |
If you want to run it as a part of some other web application, write |
| to have phpWebFileManager menu entry visible only for trusted user with admin |
include() or require() command with path and filename to file |
| rights, go to the administration subsection Permissions and make appropriate |
phpWebFileManager.php on the place, where you want to have file manager. |
| changes. |
_________________________________________________________________ |
| |
|
| PostNuke specific configuration is overriden in init.inc.php file. Note, that |
2.4. Security notes |
| currently none from allow/deny file management actions features are used. This |
|
| will probably change soon, when someone from the PostNuke community help me |
|
| with setting up particular rights according to internal PostNuke user |
|
| information. |
|
| |
|
| ------------------------------------------------------------------------------- |
If you want to secure phpWebFileManager, put security stuff commands or |
| |
include() command to security stuff script at the beginning of config file. |
| |
That file is loaded by init.inc.php at the beggining of script execution. |
| |
_________________________________________________________________ |
| |
|
| Running |
Chapter 3. Other information |
| |
|
| If you have edited config file and wanted phpWebFileManager as a standalone |
3.1. License |
| application, try to access phpWebFileManager using some web browser. |
|
| |
|
| If you want to run it as a part of some other web application, write include() |
Developed by Ondrej Jombík <nepto@pobox.sk>, http://nepto.sk/. |
| or require() command with path and filename to file phpWebFileManager.php on |
|
| the place, where you want to have file manager. |
|
| |
|
| ------------------------------------------------------------------------------- |
Copyright (c) 2001-2002 Platon software development group, |
| |
http://www.platon.sk/ |
| |
|
| Security notes |
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, or (at your option) any later |
| |
version. |
| |
|
| If you want to secure phpWebFileManager, put security stuff commands or |
This program is distributed in the hope that it will be useful, but WITHOUT |
| include() command to security stuff script at the beginning of config file. |
ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or |
| That file is loaded by init.inc.php at the beggining of script execution. |
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., 59 Temple |
| |
Place - Suite 330, Boston, MA 02111-1307, USA. |
| |
_________________________________________________________________ |
| |
|
| Chapter 3. Other information |
3.2. Request to users |
| |
|
| License |
I have an incomplete mastery of the English language, so please help correct |
| |
the text of the documents and messages in this program. Comments, |
| |
suggestions, bug reports and patches are always welcome. Please e-mail them |
| |
to the following <platon@pobox.sk> e-mail address and write |
| |
'phpWebFileManager' keyword in the Subject line. |
| |
|
| Developed by Ondrej Jombík <nepto@pobox.sk>, http://nepto.sk/. |
Likewise, if you don't find in language/ subdirectory a translation into |
| |
your language, you can make one. But firstly ask me, if that translation is |
| |
not already made, because you could not have actual version of |
| |
phpWebFileManager. |
| |
_________________________________________________________________ |
| |
|
| Copyright (c) 2001-2002 Platon software development group, http:// |
3.3. Author and homepage |
| www.platon.sk/ |
|
| |
|
| This program is free software; you can redistribute it and/or modify it under |
Author is Ondrej Jombik <nepto@pobox.sk>, http://nepto.sk/. |
| the terms of the GNU General Public License as published by the Free Software |
|
| Foundation; either version 2, or (at your option) any later version. |
|
| |
|
| This program is distributed in the hope that it will be useful, but WITHOUT |
Feel free to e-mail me any bug reports, suggestions and question about this |
| ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS |
PHP script. |
| 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 |
The latest official release of phpWebFileManager is available from: |
| this program; if not, write to the Free Software Foundation, Inc., 59 Temple |
http://www.platon.sk/projects/phpWebFileManager/ |
| Place - Suite 330, Boston, MA 02111-1307, USA. |
_________________________________________________________________ |
| |
|
| |
3.4. Version history |
| |
|
| |
Current version is 0.3 and it was released in 22nd July 2002. |
| |
|
| |
version 0.3, July 22, 2002 (official release) |
| |
|
| |
* configuration options and configuration file change (from |
| |
$phpWebFileManager_OPTION to $fm_cfg['option']) |
| |
* note, that features forbid contants were removed and substitued by |
| |
features enabled constants; keep this in mind when upgrade on this |
| |
version |
| |
* plugin file.php by Tony J. White <tjw@tjw.org> used for file |
| |
viewing with ability to deny this feature according to used |
| |
configuration was added into phpWebFileManager distribution |
| |
* plugin auth.php containing basic HTTP authentication was also |
| |
added into distribution |
| |
|
| |
version 0.2.3, July 19, 2002 |
| |
|
| |
Changes by Asbjørn Værnes <avaernes@online.no>: |
| |
|
| |
* dirty fix for proper handling filenames with norwegian characters |
| |
* norwegian translation |
| |
|
| |
version 0.2.2, April 21, 2002 |
| |
|
| |
* fixed PostNuke port, init.inc.php file created for initialization |
| |
* new subdirectory lib/ created for phpPlatonLib functions, |
| |
url_utils.lib.php file removed |
| |
* various documentation update, Ken Kizaki's PN-MODULE-HOWTO added |
| |
to distribution |
| |
|
| |
Changes by Rastislav 'Rider' Rihak <rider@lonestar.sk>: |
| |
|
| |
* PostNuke Rogue port |
| |
* new multilanguage support system |
| |
* startup redirection file index.php removed |
| |
|
| |
version 0.2.1, March 25, 2002 |
| |
|
| |
* ability to overide date format in config file |
| |
* support for enable/disable icons displaying |
| |
* all variables were uncommented in config file to prevent its |
| |
initialization from CGI environment |
| |
|
| |
Changes by Ken Kizaki <ken_kizaki@yahoo.co.jp> and Daniel Fernandez |
| |
<funkyferdy@econophone.ch>: |
| |
|
| |
* german translation |
| |
|
| |
Changes by Greg Baker <ggbaker@cs.sfu.ca>: |
| |
|
| |
* file size and last modification date support |
| |
* date format in language translation files |
| |
|
| |
version 0.2, February 21, 2002 (official release) |
| |
|
| |
* several features have been implemented, phpWebFileManager seems to |
| |
be stable now, although according to TODO list, new things will be |
| |
added soon |
| |
|
| |
version 0.1.8, February 16, 2002 |
| |
|
| |
* multilanguage support |
| |
* english and slovak translation added |
| |
* ability to deny symbolic links following |
| |
* add striping slashes from CGI variables to properly handle |
| |
directories with quotation characters |
| |
* quoted value parameters of all input tag |
| |
* HTML validity improvements |
| |
* documentation changes |
| |
|
| |
version 0.1.7, December 18, 2001 |
| |
|
| |
* added parameters into config file to specify background color of |
| |
even and odd rows |
| |
* fm_ prefix for CGI variables to avoid variable name collisions in |
| |
large projects |
| |
|
| |
version 0.1.6, October 24, 2001 |
| |
|
| |
* finally valid handling of all file and directory names (with |
| |
spaces, ampersands, quotes, etc) and also valid HTML references |
| |
(links) creating using appropriate functions urlencode() and |
| |
htmlentities() |
| |
|
| |
version 0.1.5, October 1, 2001 |
| |
|
| |
* added $phpWebFileManager_LINKS_PREFIX parameter to build links for |
| |
View feature; if it is not present HTML links are built in |
| |
standart way |
| |
|
| |
version 0.1.4, September 26, 2001 |
| |
|
| |
* added ability to allow user to turn on/off View/Enter, Rename |
| |
Delete/Remove and Create/Upload functionality with focus on |
| |
security |
| |
|
| |
version 0.1.3, August 23, 2001 |
| |
|
| |
Changes by Paul Grace <paulgrace@telstra.com>: |
| |
|
| |
* directories with spaces handling |
| |
* alphabetical directory sorting |
| |
|
| |
version 0.1.2, July 31, 2001 |
| |
|
| |
* documentation and TODO list update |
| |
|
| ------------------------------------------------------------------------------- |
version 0.1.1, July 27, 2001 |
| |
|
| Request to users |
* change relative redirect to absolute in index.php (RFC2068) |
| |
* fixing file view |
| |
|
| I have an incomplete mastery of the English language, so please help correct |
version 0.1, July 22, 2001 (official release) |
| the text of the documents and messages in this program. Comments, suggestions, |
|
| bug reports and patches are always welcome. Please e-mail them to the following |
|
| <platon@pobox.sk> e-mail address and write 'phpWebFileManager' keyword in the |
|
| Subject line. |
|
| |
|
| Likewise, if you don't find in language/ subdirectory a translation into your |
|
| language, you can make one. But firstly ask me, if that translation is not |
|
| already made, because you could not have actual version of phpWebFileManager. |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Author and homepage |
|
| |
|
| Author is Ondrej Jombik <nepto@pobox.sk>, http://nepto.sk/. |
|
| |
|
| Feel free to e-mail me any bug reports, suggestions and question about this |
|
| PHP script. |
|
| |
|
| The latest official release of phpWebFileManager is available from: http:// |
|
| www.platon.sk/projects/phpWebFileManager/ |
|
| |
|
| ------------------------------------------------------------------------------- |
|
| |
|
| Version history |
|
| |
|
| Current version is 0.2.2 and it was released in 21st April 2002. |
|
| |
|
| version 0.2.2, April 21, 2002 |
|
| |
|
| * fixed PostNuke port, init.inc.php file created for initialization |
|
| |
|
| * new subdirectory lib/ created for phpPlatonLib functions, url_utils.lib.php |
|
| file removed |
|
| |
|
| * various documentation update, Ken Kizaki's PN-MODULE-HOWTO added to |
|
| distribution |
|
| |
|
| Changes by Rastislav 'Rider' Rihak <rider@lonestar.sk>: |
|
| |
|
| * PostNuke Rogue port |
|
| |
|
| * new multilanguage support system |
|
| |
|
| * startup redirection file index.php removed |
|
| |
|
| version 0.2.1, March 25, 2002 |
|
| |
|
| * ability to overide date format in config file |
|
| |
|
| * support for enable/disable icons displaying |
|
| |
|
| * all variables were uncommented in config file to prevent its initialization |
|
| from CGI environment |
|
| |
|
| Changes by Ken Kizaki <ken_kizaki@yahoo.co.jp> and Daniel Fernandez < |
|
| funkyferdy@econophone.ch>: |
|
| |
|
| * german translation |
|
| |
|
| Changes by Greg Baker <ggbaker@cs.sfu.ca>: |
|
| |
|
| * file size and last modification date support |
|
| |
|
| * date format in language translation files |
|
| |
|
| version 0.2, February 21, 2002 (official release) |
|
| |
|
| * several features have been implemented, phpWebFileManager seems to be |
|
| stable now, although according to TODO list, new things will be added soon |
|
| |
|
| version 0.1.8, February 16, 2002 |
|
| |
|
| * multilanguage support |
|
| |
|
| * english and slovak translation added |
|
| |
|
| * ability to deny symbolic links following |
|
| |
|
| * add striping slashes from CGI variables to properly handle directories with |
|
| quotation characters |
|
| |
|
| * quoted value parameters of all input tag |
|
| |
|
| * HTML validity improvements |
|
| |
|
| * documentation changes |
|
| |
|
| version 0.1.7, December 18, 2001 |
|
| |
|
| * added parameters into config file to specify background color of even and |
|
| odd rows |
|
| |
|
| * fm_ prefix for CGI variables to avoid variable name collisions in large |
|
| projects |
|
| |
|
| version 0.1.6, October 24, 2001 |
|
| |
|
| * finally valid handling of all file and directory names (with spaces, |
|
| ampersands, quotes, etc) and also valid HTML references (links) creating |
|
| using appropriate functions urlencode() and htmlentities() |
|
| |
|
| version 0.1.5, October 1, 2001 |
|
| |
|
| * added $phpWebFileManager_LINKS_PREFIX parameter to build links for View |
|
| feature; if it is not present HTML links are built in standart way |
|
| |
|
| version 0.1.4, September 26, 2001 |
|
| |
|
| * added ability to allow user to turn on/off View/Enter, Rename Delete/Remove |
|
| and Create/Upload functionality with focus on security |
|
| |
|
| version 0.1.3, August 23, 2001 |
|
| |
|
| Changes by Paul Grace <paulgrace@telstra.com>: |
|
| |
|
| * directories with spaces handling |
|
| |
|
| * alphabetical directory sorting |
|
| |
|
| version 0.1.2, July 31, 2001 |
|
| |
|
| * documentation and TODO list update |
|
| |
|
| version 0.1.1, July 27, 2001 |
|
| |
|
| * change relative redirect to absolute in index.php (RFC2068) |
|
| |
|
| * fixing file view |
|
| |
|
| version 0.1, July 22, 2001 (official release) |
|
| |
|
| * initial release |
* initial release |
| |
|