API-CPanel
view release on metacpan or search on metacpan
lib/API/CPanel/Mysql.pm view on Meta::CPAN
package API::CPanel::Mysql;
use strict;
use warnings;
use API::CPanel;
use Data::Dumper;
our $VERSION = 0.07;
# Äîáàâëÿåò ïîëüçîâàòåëÿ â áàçó mysql
# IN:
# - do_as_user - cPanel ïîëüçîâàòåëü äëÿ êîòîðîãî ñîçäàåòñÿ mysql-ïîëüçîâàòåëü
# - username - Èìÿ mysql-ïîëüçîâàòåëÿ äëÿ ñîçäàíèÿ
# (ôàêòè÷åñêè áóäåò ñîçäàí mysql-ïîëüçîâàòåëü ñ èìåíåì: <do_as_user>_<username>).
# - password - Ïàðîëü äëÿ mysql-ïîëüçîâàòåëÿ.
sub adduser {
my $params = shift;
# Ìîäóëü Mysql cPanel'à ñ êîòîðûì ðàáîòàåì îòíîñèòñÿ ê ïåðâîé âåðñèè api
$params->{'cpanel_xmlapi_apiversion'} = 1;
# Äîáàâëÿåì íîâîãî ïîëüçîâàòåëÿ â áàçó îò èìåíè ïîëüçîâàòåëÿ ïåðåäàâàåìîãî â ïàðàìåòðå do_as_user
# Ôàêòè÷åñêè ýòî çíà÷èò ÷òî ðàáîòàÿ ñ cPanel îò ðåñåëëåðà ìû ñîçäàåì mysql
# þçåðà äëÿ cPanel-ïîëüçîâàòåëÿ ñ ëîãèíîì do_as_user
$params->{'user'} = delete $params->{'do_as_user'};
$params->{'cpanel_xmlapi_module'} = 'Mysql';
$params->{'cpanel_xmlapi_func'} = 'adduser';
$params->{'arg-0'} = delete $params->{'username'};
$params->{'arg-1'} = delete $params->{'password'};
return unless $params->{'user'} &&
$params->{'arg-0'} &&
$params->{'arg-1'};
my $result = API::CPanel::action_abstract(
params => $params,
func => 'cpanel',
want_hash => '1',
allowed_fields => '
user
cpanel_xmlapi_module
cpanel_xmlapi_func
cpanel_xmlapi_apiversion
arg-0
arg-1',
);
return $result->{event}->{result};
}
# Äîáàâëÿåò áàçó mysql
# IN:
# - do_as_user - cPanel ïîëüçîâàòåëü äëÿ êîòîðîãî ñîçäàåòñÿ mysql-áàçà
# - dbname - Èìÿ áä äëÿ ñîçäàíèÿ
# (ôàêòè÷åñêè áóäåò ñîçäàíà áä ñ èìåíåì: <do_as_user>_<dbname>).
sub adddb {
my $params = shift;
# Ìîäóëü Mysql cPanel'à ñ êîòîðûì ðàáîòàåì îòíîñèòñÿ ê ïåðâîé âåðñèè api
$params->{'cpanel_xmlapi_apiversion'} = 1;
# Äîáàâëÿåì áä îò èìåíè ïîëüçîâàòåëÿ ïåðåäàâàåìîãî â ïàðàìåòðå do_as_user
# Ôàêòè÷åñêè ýòî çíà÷èò ÷òî ðàáîòàÿ ñ cPanel îò ðåñåëëåðà ìû ñîçäàåì áä
# äëÿ cPanel-ïîëüçîâàòåëÿ ñ ëîãèíîì do_as_user
$params->{'user'} = delete $params->{'do_as_user'};
$params->{'cpanel_xmlapi_module'} = 'Mysql';
$params->{'cpanel_xmlapi_func'} = 'adddb';
$params->{'arg-0'} = delete $params->{'dbname'};
return unless $params->{'user'} &&
$params->{'arg-0'};
my $result = API::CPanel::action_abstract(
params => $params,
func => 'cpanel',
want_hash => '1',
allowed_fields => '
user
cpanel_xmlapi_module
cpanel_xmlapi_func
cpanel_xmlapi_apiversion
arg-0',
);
return $result->{event}->{result};
}
# Óñòàíàâëèâàåò ðàçðåøåíèÿ ê áàçå
# IN:
# - do_as_user - cPanel ïîëüçîâàòåëü äëÿ êîòîðîãî ñîçäàåòñÿ mysql-áàçà
# - dbname - Èìÿ áä
# - dbuser - Èìÿ ïîëüçîâàòåëÿ
# - perms_list - Ñïèñîê ðàçðåøåíèé:
# alter => ALTER
# temporary => CREATE TEMPORARY TABLES
# routine => CREATE ROUTINE
# create => CREATE
# delete => DELETE
# drop => DROP
# select => SELECT
# insert => INSERT
# update => UPDATE
# references => REFERENCES
# index => INDEX
# lock => LOCK TABLES
# all => ALL
sub grant_perms {
my $params = shift;
# Ìîäóëü Mysql cPanel'à ñ êîòîðûì ðàáîòàåì îòíîñèòñÿ ê ïåðâîé âåðñèè api
$params->{'cpanel_xmlapi_apiversion'} = 1;
# Äîáàâëÿåì áä îò èìåíè ïîëüçîâàòåëÿ ïåðåäàâàåìîãî â ïàðàìåòðå do_as_user
# Ôàêòè÷åñêè ýòî çíà÷èò ÷òî ðàáîòàÿ ñ cPanel îò ðåñåëëåðà ìû ñîçäàåì áä
# äëÿ cPanel-ïîëüçîâàòåëÿ ñ ëîãèíîì do_as_user
$params->{'user'} = delete $params->{'do_as_user'};
$params->{'cpanel_xmlapi_module'} = 'Mysql';
$params->{'cpanel_xmlapi_func'} = 'adduserdb';
$params->{'arg-0'} = delete $params->{'dbname'};
$params->{'arg-1'} = delete $params->{'dbuser'};
$params->{'arg-2'} = delete $params->{'perms_list'};
return unless $params->{'user'} &&
$params->{'arg-0'} &&
$params->{'arg-1'} &&
$params->{'arg-2'};
my $result = API::CPanel::action_abstract(
params => $params,
func => 'cpanel',
want_hash => '1',
allowed_fields => '
user
cpanel_xmlapi_module
cpanel_xmlapi_func
cpanel_xmlapi_apiversion
arg-0
arg-1
arg-2',
);
return $result->{event}->{result};
}
1;
( run in 1.778 second using v1.01-cache-2.11-cpan-39bf76dae61 )