diff --git a/libraries/cpanel/cpanel_api_addon_domain.php b/libraries/cpanel/cpanel_api_addon_domain.php index 27df940..98b3925 100644 --- a/libraries/cpanel/cpanel_api_addon_domain.php +++ b/libraries/cpanel/cpanel_api_addon_domain.php @@ -5,6 +5,7 @@ * Description of cpanel_api_addon_domain * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Addon_Domain extends Cpanel_Api_Query{ private $param=array(); @@ -30,7 +31,8 @@ function __construct($param) { */ public function delete_addon_domain($domain, $subdomain){ $input=array( - 'module' => 'AddonDomain', + 'apiversion' => 2, + 'module' => 'AddonDomain', 'function' => 'deladdondomain', 'domain' => $domain, 'subdomain' => $subdomain @@ -56,7 +58,8 @@ public function delete_addon_domain($domain, $subdomain){ */ public function add_addon_domain($dir, $new_domain, $subdomain){ $input=array( - 'module' => 'AddonDomain', + 'apiversion' => 2, + 'module' => 'AddonDomain', 'function' => 'addaddondomain', 'dir' => $dir, 'newdomain' => $new_domain, @@ -79,7 +82,8 @@ public function add_addon_domain($dir, $new_domain, $subdomain){ */ public function list_addon_domains($regex=''){ $input=array( - 'module' => 'AddonDomain', + 'apiversion' => 2, + 'module' => 'AddonDomain', 'function' => 'listaddondomains', 'regex' => $regex ); diff --git a/libraries/cpanel/cpanel_api_cron.php b/libraries/cpanel/cpanel_api_cron.php index d46b859..384e6b5 100644 --- a/libraries/cpanel/cpanel_api_cron.php +++ b/libraries/cpanel/cpanel_api_cron.php @@ -4,6 +4,7 @@ * Description of cpanel_api_cron * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Cron extends Cpanel_Api_Query{ private $param=array(); @@ -25,7 +26,8 @@ function __construct($param) { */ public function set_email($email){ $input=array( - 'module' => 'Cron', + 'apiversion' => 2, + 'module' => 'Cron', 'function' => 'set_email', 'email' => $email ); @@ -44,6 +46,7 @@ public function set_email($email){ */ public function list_cron(){ $input=array( + 'apiversion' => 2, 'module' => 'Cron', 'function' => 'listcron' ); @@ -74,6 +77,7 @@ public function list_cron(){ */ public function add_cron($command, $day, $hour, $minute, $month, $weekday){ $input=array( + 'apiversion' => 2, 'module' => 'Cron', 'function' => 'add_line', 'command' => $command, @@ -101,7 +105,8 @@ public function add_cron($command, $day, $hour, $minute, $month, $weekday){ */ public function remove_cron($line){ $input=array( - 'module' => 'Cron', + 'apiversion' => 2, + 'module' => 'Cron', 'function' => 'remove_line', 'line' => $line ); @@ -121,6 +126,7 @@ public function remove_cron($line){ */ public function get_email(){ $input=array( + 'apiversion' => 2, 'module' => 'Cron', 'function' => 'get_email' ); @@ -154,6 +160,7 @@ public function get_email(){ */ public function edit_cron($command, $day, $hour, $minute, $month, $weekday, $linekey){ $input=array( + 'apiversion' => 2, 'module' => 'Cron', 'function' => 'add_line', 'command' => $command, diff --git a/libraries/cpanel/cpanel_api_email.php b/libraries/cpanel/cpanel_api_email.php index e400f21..f441e02 100755 --- a/libraries/cpanel/cpanel_api_email.php +++ b/libraries/cpanel/cpanel_api_email.php @@ -1,8 +1,9 @@ 2, 'module' => 'Email', 'function' => 'listpopswithdisk' ); @@ -50,6 +52,7 @@ public function list_mail(){ */ public function add_mail($domain, $email, $password, $quota){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'addpop', 'domain' => $domain, @@ -84,6 +87,7 @@ public function add_mail($domain, $email, $password, $quota){ */ public function edit_mail_quota($domain, $email, $quota){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'editquota', 'domain' => $domain, @@ -115,6 +119,7 @@ public function edit_mail_quota($domain, $email, $quota){ */ public function delete_mail($domain, $email){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'delpop', 'domain' => $domain, @@ -146,6 +151,7 @@ public function delete_mail($domain, $email){ */ public function update_mail_password($domain, $email, $new_password){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'passwdpop', 'domain' => $domain, @@ -175,6 +181,7 @@ public function update_mail_password($domain, $email, $new_password){ */ public function list_mx($domain=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'listmxs' ); @@ -212,6 +219,7 @@ public function list_mx($domain=''){ */ public function add_mx($domain, $exchange, $preference, $always_accept=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'addmx', 'domain' => $domain, @@ -252,6 +260,7 @@ public function add_mx($domain, $exchange, $preference, $always_accept=''){ */ public function change_mx($domain, $exchange, $old_exchange, $old_preference, $preference, $always_accept=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'changemx', 'domain' => $domain, @@ -284,6 +293,7 @@ public function change_mx($domain, $exchange, $old_exchange, $old_preference, $p */ public function delete_mx($domain, $exchange, $preference){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'delmx', 'domain' => $domain, @@ -321,6 +331,7 @@ public function delete_mx($domain, $exchange, $preference){ */ public function set_mx_check($domain, $mxcheck){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'setmxcheck', 'domain' => $domain, @@ -346,6 +357,7 @@ public function set_mx_check($domain, $mxcheck){ public function list_forwarders($domain='', $regex=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'listforwards' ); @@ -391,6 +403,7 @@ public function list_forwarders($domain='', $regex=''){ public function add_forwader($domain, $email, $fwdopt, $fwdemail='', $fwdsystem='',$failmsgs='',$pipefwd=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'addforward', 'domain' => $domain, @@ -421,6 +434,7 @@ public function add_forwader($domain, $email, $fwdopt, */ public function list_default_adresses($domain){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'listdefaultaddresses', 'domain' => $domain @@ -460,6 +474,7 @@ public function list_default_adresses($domain){ */ public function set_default_address($fwdopt, $domain, $failmsgs='', $fwdemail='', $pipefwd=''){ $input=array( + 'apiversion' => 2, 'module' => 'Email', 'function' => 'setdefaultaddress', 'fwdopt' => $fwdopt, @@ -475,4 +490,4 @@ public function set_default_address($fwdopt, $domain, $failmsgs='', $fwdemail='' return $ob->cpanelresult->data; } -} \ No newline at end of file +} diff --git a/libraries/cpanel/cpanel_api_ftp.php b/libraries/cpanel/cpanel_api_ftp.php index f527a98..a288162 100644 --- a/libraries/cpanel/cpanel_api_ftp.php +++ b/libraries/cpanel/cpanel_api_ftp.php @@ -4,6 +4,7 @@ * Description of cpanel_api_ftp * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Ftp extends Cpanel_Api_Query { private $param=array(); @@ -25,6 +26,7 @@ function __construct($param) { */ public function list_ftp($include_acct_types, $skip_acct_types){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'listftp', 'include_acct_types' => $include_acct_types, @@ -44,6 +46,7 @@ public function list_ftp($include_acct_types, $skip_acct_types){ */ public function list_ftp_sessions(){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'listftpsessions' ); @@ -69,6 +72,7 @@ public function list_ftp_sessions(){ */ public function list_ftp_with_disk($dirhtml, $include_acct_types='', $skip_acct_types=''){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'listftpwithdisk', 'dirhtml' => $dirhtml @@ -95,6 +99,7 @@ public function list_ftp_with_disk($dirhtml, $include_acct_types='', $skip_acct_ */ public function passwd($user, $new_pass){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'passwd', 'user' => $user, @@ -125,6 +130,7 @@ public function passwd($user, $new_pass){ */ public function add_ftp($user, $pass, $quota, $homedir){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'addftp', 'user' => $user, @@ -153,6 +159,7 @@ public function add_ftp($user, $pass, $quota, $homedir){ */ public function set_quota($user, $quota){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'setquota', 'user' => $user, @@ -179,6 +186,7 @@ public function set_quota($user, $quota){ */ public function delete_ftp($user,$destroy=false){ $input=array( + 'apiversion' => 2, 'module' => 'Ftp', 'function' => 'delftp', 'user' => $user, diff --git a/libraries/cpanel/cpanel_api_mysql.php b/libraries/cpanel/cpanel_api_mysql.php index e2f36d4..493aad2 100644 --- a/libraries/cpanel/cpanel_api_mysql.php +++ b/libraries/cpanel/cpanel_api_mysql.php @@ -4,6 +4,7 @@ * Description of cpanel_api_mysql * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Mysql extends Cpanel_Api_Query{ private $param=array(); @@ -26,7 +27,8 @@ function __construct($param) { */ public function user_db_privs($db, $user){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'userdbprivs', 'db' => $db, 'user' => $user @@ -50,7 +52,8 @@ public function user_db_privs($db, $user){ */ public function list_dbs($regex=''){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'listdbs' ); !empty($regex) && array_push($input, array('regex'=>$regex)); @@ -66,7 +69,8 @@ public function list_dbs($regex=''){ */ public function list_dbs_backup(){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'listdbsbackup' ); $query=$this->build_query($input); @@ -87,7 +91,8 @@ public function list_dbs_backup(){ */ public function list_users_in_db($db){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'listusersindb' ); !empty($db) && array_push($input, array('db'=>$db)); @@ -104,7 +109,8 @@ public function list_users_in_db($db){ */ public function list_hosts(){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'listhosts' ); @@ -120,7 +126,8 @@ public function list_hosts(){ */ public function list_users(){ $input=array( - 'module' => 'MysqlFE', + 'apiversion' => 2, + 'module' => 'MysqlFE', 'function' => 'listusers' ); $query=$this->build_query($input); @@ -129,6 +136,58 @@ public function list_users(){ return $status=$ob->cpanelresult->data; } + + /** + * Remove a user from MySQL. + * @return type object + */ + public function del_db_user($dbuser){ + $input=array( + 'apiversion' => 1, + 'module' => 'Mysql', + 'function' => 'deluser', + 'arg-0' => $dbuser + ); + $query=$this->build_query($input); + $raw=$this->query($query); + $ob=json_decode($raw, false); + return $ob->data->result; + } + + /** + * Remove a database from MySQL. + * @return type object + */ + public function del_db($db){ + $input=array( + 'apiversion' => 1, + 'module' => 'Mysql', + 'function' => 'deldb', + 'arg-0' => $db + ); + $query=$this->build_query($input); + $raw=$this->query($query); + $ob=json_decode($raw, false); + return $ob->data->result; + } + + /** + * Retrieve the number of databases currently in use. + * + * @return type object + */ + public function numb_dbs() + { + $input=array( + 'apiversion' => 1, + 'module' => 'Mysql', + 'function' => 'number_of_dbs' + ); + $query=$this->build_query($input); + $raw=$this->query($query); + $ob=json_decode($raw, false); + return $ob->data->result; + } } diff --git a/libraries/cpanel/cpanel_api_net.php b/libraries/cpanel/cpanel_api_net.php index bc8782f..fde2b12 100644 --- a/libraries/cpanel/cpanel_api_net.php +++ b/libraries/cpanel/cpanel_api_net.php @@ -4,6 +4,7 @@ * Description of cpanel_api_net * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Net extends Cpanel_Api_Query { private $param=array(); @@ -21,6 +22,7 @@ function __construct($param) { */ public function traceroute(){ $input=array( + 'apiversion' => 2, 'module' => 'Net', 'function' => 'traceroute' ); @@ -43,6 +45,7 @@ public function traceroute(){ */ public function dns_zone($host){ $input=array( + 'apiversion' => 2, 'module' => 'Net', 'function' => 'dnszone', 'host' => $host diff --git a/libraries/cpanel/cpanel_api_query.php b/libraries/cpanel/cpanel_api_query.php index d1182aa..5222a8e 100755 --- a/libraries/cpanel/cpanel_api_query.php +++ b/libraries/cpanel/cpanel_api_query.php @@ -2,6 +2,7 @@ /** * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout * */ class Cpanel_Api_Query{ @@ -34,7 +35,7 @@ function __construct($param=array()) { public function query($query){ $curl = curl_init(); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER,0); - curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0); + curl_setopt($curl, CURLOPT_SSL_VERIFYHOST,0); curl_setopt($curl, CURLOPT_HEADER,0); curl_setopt($curl, CURLOPT_RETURNTRANSFER,1); $header[0] = "Authorization: Basic " . $this->hash . "\n\r"; @@ -72,10 +73,12 @@ private function __build($param=array()){ $out=''; if ($check==2){ $out='cpanel_jsonapi_module='.$param['module'].'&'; - $out.='cpanel_jsonapi_func='.$param['function']; + $out='cpanel_jsonapi_func='.$param['function'].'&'; + $out.='cpanel_jsonapi_apiversion='.$param['apiversion']; } else { $out='cpanel_jsonapi_module='.$param['module'].'&'; $out.='cpanel_jsonapi_func='.$param['function'].'&'; + $out.='cpanel_jsonapi_apiversion='.$param['apiversion'].'&'; } $a=1; diff --git a/libraries/cpanel/cpanel_api_stats.php b/libraries/cpanel/cpanel_api_stats.php index d239a05..111dc0c 100755 --- a/libraries/cpanel/cpanel_api_stats.php +++ b/libraries/cpanel/cpanel_api_stats.php @@ -3,6 +3,7 @@ * Description of cpanel_api_stats * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Stats extends Cpanel_Api_Query{ private $param=array(); @@ -20,6 +21,7 @@ function __construct($param=array()) { */ public function list_webalizer(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listwebalizer', ); @@ -39,6 +41,7 @@ public function list_webalizer(){ */ public function list_awstats(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listawstats', ); @@ -58,6 +61,7 @@ public function list_awstats(){ */ public function list_last_visitors(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listlastvisitors', ); @@ -73,6 +77,7 @@ public function list_last_visitors(){ */ public function list_urchin(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listurchin', ); @@ -90,6 +95,7 @@ public function list_urchin(){ */ public function list_rawlogs(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listrawlogs', ); @@ -108,6 +114,7 @@ public function list_rawlogs(){ */ public function list_analog(){ $input=array( + 'apiversion' => 2, 'module' => 'Stats', 'function' => 'listanalog', ); diff --git a/libraries/cpanel/cpanel_api_statsbar.php b/libraries/cpanel/cpanel_api_statsbar.php index fc51b07..7c8d304 100755 --- a/libraries/cpanel/cpanel_api_statsbar.php +++ b/libraries/cpanel/cpanel_api_statsbar.php @@ -3,6 +3,7 @@ * Description of cpanel_api_statsbar * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Statsbar extends Cpanel_Api_Query{ private $param=array(); @@ -40,7 +41,8 @@ function __construct($param=array()) { */ public function stats($display){ $input=array( - 'module' => 'StatsBar', + 'apiversion' => 2, + 'module' => 'StatsBar', 'function' => 'stat', 'display' => $display ); diff --git a/libraries/cpanel/cpanel_api_subdomain.php b/libraries/cpanel/cpanel_api_subdomain.php index 95c367e..e77a701 100755 --- a/libraries/cpanel/cpanel_api_subdomain.php +++ b/libraries/cpanel/cpanel_api_subdomain.php @@ -3,6 +3,7 @@ * Description of Cpanel_Api_Subdomain * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Subdomain extends Cpanel_Api_Query{ private $param= array(); @@ -23,6 +24,7 @@ function __construct($param=array()) { */ public function list_subdomain($regex=''){ $input=array( + 'apiversion' => 2, 'module' => 'SubDomain', 'function' => 'listsubdomains' ); @@ -51,6 +53,7 @@ public function list_subdomain($regex=''){ */ public function add_subdomain($domain, $rootdomain, $dir='', $disallowdot=''){ $input=array( + 'apiversion' => 2, 'module' => 'SubDomain', 'function' => 'addsubdomain', 'domain' => $domain, @@ -81,6 +84,7 @@ public function add_subdomain($domain, $rootdomain, $dir='', $disallowdot=''){ */ public function delete_subdomain($domain){ $input=array( + 'apiversion' => 2, 'module' => 'SubDomain', 'function' => 'delsubdomain', 'domain' => $domain diff --git a/libraries/cpanel/cpanel_api_zone_edit.php b/libraries/cpanel/cpanel_api_zone_edit.php index 64615e3..dc76b3c 100644 --- a/libraries/cpanel/cpanel_api_zone_edit.php +++ b/libraries/cpanel/cpanel_api_zone_edit.php @@ -4,6 +4,7 @@ * Description of cpanel_api_zone_edit * * @author nunenuh@gmail.com + * @modified by: Dean Elzey @ BitShout */ class Cpanel_Api_Zone_Edit extends Cpanel_Api_Query{ private $param=array(); @@ -42,6 +43,7 @@ public function add_zone_record($domain, $name, $type, $txtdata='', $cname='',$address='', $ttl='',$class=''){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'add_zone_record', 'domain' => $domain, @@ -94,6 +96,7 @@ public function edit_zone_record($domain, $line, $type, $txtdata='',$cname='',$address='', $ttl='', $class=''){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'edit_zone_record', 'domain' => $domain, @@ -132,6 +135,7 @@ public function edit_zone_record($domain, $line, $type, */ public function remove_zone_record($domain, $line){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'remove_zone_record', 'domain' => $domain, @@ -155,6 +159,7 @@ public function remove_zone_record($domain, $line){ */ public function fetch_zone_records($domain){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'fetchzone_records', 'domain' => $domain @@ -174,6 +179,7 @@ public function fetch_zone_records($domain){ */ public function fetch_zones(){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'fetchzones' ); @@ -201,6 +207,7 @@ public function fetch_zones(){ */ public function fetch_zone($domain, $key='',$customonly=''){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'fetchzone', 'domain' => $domain @@ -226,6 +233,7 @@ public function fetch_zone($domain, $key='',$customonly=''){ */ public function reset_zone($domain){ $input=array( + 'apiversion' => 2, 'module' => 'ZoneEdit', 'function' => 'resetzone', 'domain' => $domain diff --git a/libraries/cpanel_api.php b/libraries/cpanel_api.php index 9559545..1d9d144 100755 --- a/libraries/cpanel_api.php +++ b/libraries/cpanel_api.php @@ -19,12 +19,14 @@ * Description of Cpanel_Api * * @author Lalu Erfandi Maula Yusnu at nunenuh@gmail.com + * @Modified by Dean Elzey @ BitShout * @license LGPL 2 * @copyright @ 2011 Mataram Nusa Tenggara Barat Indonesia * @link http://www.vthink.web.id * @link http://gen5x4.wordpress.com + * @link http://www.bitshout.com * @name Cpanel_Api - * @version 1.0.0 + * @version 1.1.0 */ class Cpanel_Api { private $CI; @@ -148,4 +150,3 @@ public function getConfig(){ } -