API-ISPManager
view release on metacpan or search on metacpan
lib/API/ISPManager/file.pm view on Meta::CPAN
my $params = shift;
my $result = API::ISPManager::query_abstract(
params => $params,
func => 'file.extract',
allowed_fields => [ qw( host path allow_http elid plid ) ],
);
$API::ISPManager::last_answer = $result;
if ($result && $result->{ok}) {
return 1;
} else {
return '';
}
}
# Edit file or directory
sub edit {
my $params = shift;
my $result = API::ISPManager::query_abstract(
params => { %$params, sok => 'yes' },
func => 'file.attr',
allowed_fields => [ qw( host path allow_http elid plid sok name uid gid recursive mode pur puw pux pgr pgx por pox) ],
);
$API::ISPManager::last_answer = $result;
if ($result && $result->{ok}) {
return 1;
} else {
return '';
}
}
# Upload file
sub upload {
my $params = shift;
my $allowed_fields = [ qw( host path allow_http plid ) ];
my $func_name = 'file.upload';
my $auth_id = API::ISPManager::get_auth_id( %$params );
if ($auth_id) {
my $params_raw = API::ISPManager::filter_hash( $params, $allowed_fields );
my $ua = LWP::UserAgent->new;
$ua->agent("Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)");
my $url = 'https://server8.hosting.reg.ru/mancgi/upload';
my $query_string = API::ISPManager::mk_full_query_string( {
( auth => $auth_id ),
func => $func_name,
%$params_raw,
} );
my $response = $ua->post(
'https://' . $params->{host} . '/mancgi/upload',
Content_Type => 'form-data',
Content => [
filename => [$params->{file}],
sok => 'ok',
auth => $auth_id,
plid => $params->{plid},
]
);
if ($response->is_success) {
return 1;
}
else {
return '';
}
}
else {
return '';
}
}
1;
( run in 1.054 second using v1.01-cache-2.11-cpan-8450f2e95f3 )