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'};



( run in 0.586 second using v1.01-cache-2.11-cpan-39bf76dae61 )