NAME

Tk::Mirror - Perl extension for a graphic user interface to up- or download local and remote directories

SYNOPSIS

# in the simplest kind and manner

use Tk::Mirror;
use Tk;
my $mw->MainWindow->new();
$mw->Mirror()->grid();
MainLoop();

# in a detailed kind

 use Tk;
 use Tk::Mirror;
 my $mw = MainWindow->new();
 my $mirror = $mw->Mirror(
	-localdir		=> 'D:\\Homepage',
	-remotedir	=> 'www.tiscali.de/name',
	-user		=> 'my_ftp@username.de'
	-ftpserver	=> 'ftp.server.de',
	-pass		=> 'my_password',
 	-debug		=> 1,		# default	= 1
 	-delete		=> 'enable',	# default	= 'disabled'
 	-exclusions	=> ["private.txt", "secret.txt"],
 	-subset		=> [qr/(?i:HOME)(?i:DOC)?/, '.html'],
 	-timeout		=> 60,
 	-connection	=> undef, # or a connection  to a ftp-server 
 	-overwrite	=> 'older', 	# 'none', 'all', 'older', default = 'none'
 	)->grid();
 for(keys(%{$mirror->GetChilds()}))
 	{
	$mirror->Subwidget($_)->configure(
 		-font	=> "{Times New Roman} 14 {bold}",
 		);
 	}
 for(qw/
 	TreeLocalDir
 	TreeRemoteDir
 	/)
 	{
 	$mirror->Subwidget($_)->configure(
 		-background	=> "#FFFFFF",
 		-width		=> 40,
 		-height		=> 20,
 		);
 	}
 for(qw/
 	bEntryUser
 	EntryPass
 	bEntryFtpServer
 	bEntryLocalDir
 	bEntryRemoteDir
 	/)
 	{
 	$mirror->Subwidget($_)->configure(
 		-background	=> "#FFFFFF",
 		);
 	}
 MainLoop();
 

DESCRIPTION

This is a graphic user interface to compare, up- or download local and remote directories.

CONSTRUCTOR and INITIALIZATION

(widget-Mirror-object) MainWindowObject->Mirror (options)

OPTIONS

-ftpserver the hostname of the ftp-server
-user the username for authentification
-pass password for authentification
-localdir local directory selecting information from, default '.'
-remotedir remote location selecting information from, default '/'
-debug set it true for more information about the ftp-process, default 1
-timeout the timeout for the ftp-serverconnection
-delete set this to "enable" to allow the deletion of files, default "disabled"
-connection A Net::FTP-object, you should not use that. default = undef
-exclusions A reference to a list of strings interpreted as regular-expressios ("regex") matching to something in the pathnames, you do not want to list. default = empty list [ ]
-subset A reference to a list of strings interpreted as regular-expressios matching to something in the local or remote pathnames, pathnames NOT matching will be ignored. You can also use a regex object [qr/TXT/i, "name", qr/MY_FILES/i, $regex] default = empty list [ ]
-overwrite Set the behavior for up- and download. 'none', 'all', 'older' default = 'none' The option 'older' will work only correctly, when both the FTP-Server and the computer using the same time-zone.

METHODS

(ref_hash_all_childs) Tk::MirrorObject->GetChilds (void) returns a hash of all childs used in the put-together widget, on which you can call the "configure" function.
KEYS			VALUES
'LabelUser'		=> $label_user,
'bEntryUser'		=> $m->{bentry_user},
'LabelFtpServer'		=> $label_ftpserver,
'bEntryFtpServer'		=> $m->{bentry_ftpserver},
'LabelPass'		=> $label_pass,
'EntryPass'		=> $m->{entry_pass},
'LabelLocalDir'		=> $label_local_dir,
'LabelRemoteDir'		=> $label_remote_dir,
'bEntryLocalDir'		=> $m->{bentry_local_dir},
'bEntryRemoteDir'	=> $m->{bentry_remote_dir},
'TreeLocalDir'		=> $m->{tree_local_dir},
'TreeRemoteDir'		=> $m->{tree_remote_dir},
'LabelOverwrite'		=> $m->{label_overwrite},
'rButtonNone'		=> $m->{rbutton_none},
'rButtonAll'		=> $m->{rbutton_all},
'rButtonOlder'		=> $m->{rbutton_older},
'ButtonUpload'		=> $m->{button_upload},
'ButtonCompare'		=> $m->{button_compare},
'ButtonDownload'		=> $m->{button_download},
(ref_scalar_child) MirrorObject->Subwidget(above shown key) returns a reference of a child widget you can call the configure method

You should NOT use the following methods directly!!!

(1|undef) Tk::MirrorObject->CompareDirectories (void) Compares the localdirectory with the remotedirectory and draws the directory trees.
(1|undef) Tk::MirrorObject->Download (void) Download the remote directory to local hard disk, and draws the directory trees again.
(1|undef) Tk::MirrorObject->Upload (void) Upload the local directory from hard disk to the remote FTP-location, and draws the directory trees again.
(1|undef) Tk::MirrorObject->SetParams (void) Hands over the parameter, entered in the graphic user interface, to the Net::Download- and Net::Upload-Object.
(1) Tk::MirrorObject->StoreParams (void) Stores the values, entered in the graphic user intervace.
(1) Tk::MirrorObject->UpdateAccess (attribute, browseentry, value) Called by the BrowseEntry-Widget to update other widgets.
(1) Tk::MirrorObject->InsertLocalTree (void) Insert the local directory-tree after a call to the Compare() method.
(1) Tk::MirrorObject->InsertRemoteTree (void) Insert the remote directory-tree after a call to the Compare() method.
(1) Tk::MirrorObject->InsertStoredValues (void) Insert the stored parameters in the BrowseEntry-Widgets.
(1) Tk::MirrorObject->InsertPaths (tree-widget, ref_array_paths) Takes a tree-widget and a array-reference of pathnames to insert them in the directory tree.
(1) Tk::MirrorObject->DeletePaths (tree-widget, ref_array_paths) Takes a tree-widget and a array-reference of pathnames to delete them from the directory tree.
(1) Tk::MirrorObject->InsertProperties (tree-widget, ref_array_paths, property) Takes a tree-widget, a array-reference of pathnames and a string. The string will be added to all pathnames.
(1) Tk::MirrorObject->DeleteProperties (tree-widget, ref_array_pahts) Takes a tree-widget and a array-reference of pathnames. All strings, added to the pathnames, will be deleted.
(1) Tk::MirrorObject->InsertRemoteModifiedTimes (ref_array_remote_files) Takes a array-reference of remote files. The last- and current modified-times from the remote files, will be added.
(1) Tk::MirrorObject->InsertLocalModifiedTimes (ref_array_local_files) Takes a array-reference of local files. The last- and current modified-times from the local files, will be added.

EXPORT

None by default.

SEE ALSO

Tk
Net::MirrorDir
Net::UploadMirror
Net::DownloadMirror
http://freenet-homepage.de/torstenknorr/index.html

BUGS

Maybe you'll find some. Let me know.

REPORTING BUGS

When reporting bugs/problems please include as much information as possible.

AUTHOR

Torsten Knorr, <create-soft@tiscali.de>

COPYRIGHT AND LICENSE

Copyright (C) 2006 - 2008 by Torsten Knorr

This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.9.2 or, at your option, any later version of Perl 5 you may have available.

8 POD Errors

The following errors were encountered while parsing the POD:

Around line 871:

'=item' outside of any '=over'

Around line 873:

You forgot a '=back' before '=head2'

Around line 875:

'=item' outside of any '=over'

Around line 920:

You forgot a '=back' before '=head2'

Around line 922:

'=item' outside of any '=over'

Around line 951:

You forgot a '=back' before '=head2'

Around line 953:

'=item' outside of any '=over'

Around line 1008:

You forgot a '=back' before '=head2'