コード例 #1
0
ファイル: addmail_m.php プロジェクト: ATS001/PRSIT
function createmail($pseudo, $mdp)
{
    $ip = '127.0.0.1';
    $root_pass = '******';
    $account = "atelsolu";
    $email_user = $pseudo;
    $email_password = $mdp;
    $email_domain = "fonaj.td";
    /*this will create 'wdw@your_domain.com'*/
    $email_quota = '200';
    $xmlapi = new xmlapi($ip);
    $xmlapi->set_port(2082);
    /* the ssl port for cpanel */
    $xmlapi->password_auth($account, $root_pass);
    $xmlapi->set_output('json');
    $xmlapi->set_debug(1);
    if ($xmlapi->api1_query($account, "Email", "addpop", array($email_user, $email_password, $email_quota, $email_domain))) {
        return true;
    } else {
        return false;
    }
}
コード例 #2
0
<?php

# Copyright (c) 2009, cPanel, Inc.
# All rights reserved.
#
# Redistribution and use in source and binary forms, with or without modification, are permitted provided
# that the following conditions are met:
#
# * Redistributions of source code must retain the above copyright notice, this list of conditions and the
#   following disclaimer.
# * Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the
#   following disclaimer in the documentation and/or other materials provided with the distribution.
# * Neither the name of the cPanel, Inc. nor the names of its contributors may be used to endorse or promote
#   products derived from this software without specific prior written permission.
#
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED
# WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A
# PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR
# ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED
# TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION)
# HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING
# NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
# POSSIBILITY OF SUCH DAMAGE.
include "xmlapi.php";
$ip = "10.1.5.169";
$root_pass = "******";
$xmlapi = new xmlapi($ip);
$xmlapi->password_auth("root", $root_pass);
$xmlapi->set_debug(1);
print $xmlapi->addip("127.0.0.3", "255.255.255.0");
コード例 #3
0
<?php

include "xmlapi.php.inc";
include "config.php.inc";
$xmlapi = new xmlapi($server);
$xmlapi->password_auth($account, $password);
$xmlapi->set_port(2083);
$xmlapi->set_debug(0);
$args = array('checkleaf' => '1', 'dir' => $backup_folder, 'filelist' => '0', 'filepath-*' => '', 'needmime' => '0', 'showdotfiles' => '0', 'types' => 'file');
$list = $xmlapi->api2_query($account, 'Fileman', 'listfiles', $args);
$files = array();
foreach ($list->data as $item) {
    $files[] = array($item->file, $item->mtime, $item->ctime, $item->fullpath, $item->humansize);
}
foreach ($files as $file) {
    if ($file[1] < $retention) {
        $files = $backup_folder . '/' . $file[0];
        $args = array('op' => 'unlink', 'sourcefiles' => $files, 'destfiles' => $backup_folder, 'doubledecode' => '0');
        $xmlapi = new xmlapi($server);
        $xmlapi->password_auth($account, $password);
        $xmlapi->set_port(2083);
        return $xmlapi->api2_query($account, 'Fileman', 'fileop', $args);
    }
}
コード例 #4
0
 // $opts['debug_email'] = '*****@*****.**';
 // $opts['debug_email_subject'] = 'debug';
 if (is_file('/home/cpanelscripthelpers/xmlapi.php')) {
     require '/home/cpanelscripthelpers/xmlapi.php';
 } else {
     require __DIR__ . '/cpanelscripthelpers/xmlapi.php';
 }
 $auth_user = $opts['user'];
 $auth_pass = $opts['pass'];
 $contact_email = $opts['contactemail'];
 $json_client = new \xmlapi('localhost');
 $json_client->set_output('json');
 //$json_client->set_port(2087);
 $json_client->set_port(2083);
 $json_client->password_auth($auth_user, $auth_pass);
 $json_client->set_debug(1);
 $database_name = $auth_user . '_' . uniqid() . rand();
 $database_name = substr($database_name, 0, 14);
 $database_user = $database_name;
 $database_password = md5($auth_user . '_' . rand() . uniqid() . rand());
 //create database
 $createdb = $json_client->api1_query($auth_user, "Mysql", "adddb", array($database_name));
 $usr = $json_client->api1_query($auth_user, "Mysql", "adduser", array($database_user, $database_password));
 $addusr = $json_client->api1_query($auth_user, "Mysql", "adduserdb", array($database_name, $database_user, 'all'));
 $emailmsg = '';
 $result = $msg . $ms1 . $message . $emailmsg . "\n\n\n" . $createdb . "\n\n\n" . $createdb . "\n\n\n" . $usr . "\n\n\n" . $addusr . "\n\n\n" . json_encode($opts);
 $opts['user'] = $opts['user'];
 $opts['pass'] = $opts['pass'];
 $opts['email'] = $opts['contactemail'];
 $opts['default_template'] = 'liteness';
 $opts['database_name'] = $database_name;
コード例 #5
0
 /**
  * @param \RainLoop\Model\Account $oAccount
  * @param string $sPrevPassword
  * @param string $sNewPassword
  *
  * @return bool
  */
 public function ChangePassword(\RainLoop\Account $oAccount, $sPrevPassword, $sNewPassword)
 {
     if ($this->oLogger) {
         $this->oLogger->Write('Try to change password for ' . $oAccount->Email());
     }
     if (!\class_exists('xmlapi')) {
         include_once __DIR__ . '/xmlapi.php';
     }
     $bResult = false;
     if (!empty($this->sHost) && 0 < $this->iPost && 0 < \strlen($this->sUser) && 0 < \strlen($this->sPassword) && $oAccount && \class_exists('xmlapi')) {
         $sEmail = $oAccount->Email();
         $sEmailUser = \MailSo\Base\Utils::GetAccountNameFromEmail($sEmail);
         $sEmailDomain = \MailSo\Base\Utils::GetDomainFromEmail($sEmail);
         $sHost = $this->sHost;
         $sHost = \str_replace('{user:domain}', $sEmailDomain, $sHost);
         $sUser = $this->sUser;
         $sUser = \str_replace('{user:email}', $sEmail, $sUser);
         $sUser = \str_replace('{user:login}', $sEmailUser, $sUser);
         $sPassword = $this->sPassword;
         $sPassword = \str_replace('{user:password}', $oAccount->Password(), $sPassword);
         try {
             $oXmlApi = new \xmlapi($sHost);
             $oXmlApi->set_port($this->iPost);
             $oXmlApi->set_protocol($this->bSsl ? 'https' : 'http');
             $oXmlApi->set_debug(false);
             $oXmlApi->set_output('json');
             //				$oXmlApi->set_http_client('fopen');
             $oXmlApi->set_http_client('curl');
             $oXmlApi->password_auth($sUser, $sPassword);
             $aArgs = array('email' => $sEmailUser, 'domain' => $sEmailDomain, 'password' => $sNewPassword);
             $sResult = $oXmlApi->api2_query($sUser, 'Email', 'passwdpop', $aArgs);
             if ($sResult) {
                 if ($this->oLogger) {
                     $this->oLogger->Write('CPANEL: ' . $sResult, \MailSo\Log\Enumerations\Type::INFO);
                 }
                 $aResult = @\json_decode($sResult, true);
                 $bResult = isset($aResult['cpanelresult']['data'][0]['result']) && !!$aResult['cpanelresult']['data'][0]['result'];
             }
             if (!$bResult && $this->oLogger) {
                 $this->oLogger->Write('CPANEL: ' . $sResult, \MailSo\Log\Enumerations\Type::ERROR);
             }
         } catch (\Exception $oException) {
             if ($this->oLogger) {
                 $this->oLogger->WriteException($oException);
             }
         }
     } else {
         if ($this->oLogger) {
             $this->oLogger->Write('CPANEL: Incorrent configuration data', \MailSo\Log\Enumerations\Type::ERROR);
         }
     }
     return $bResult;
 }
コード例 #6
0
 /**
  * root access
  * @param $domain
  * @param $root_hash
  * @return xmlapi
  */
 public static function authorize_root($domain, $root_hash)
 {
     self::$hashroot = $root_hash;
     //save hash
     try {
         $xmlapi = new xmlapi($domain);
         $xmlapi->hash_auth(HW_WHM_ROOT_USER, $root_hash);
         $xmlapi->set_output("json");
         $xmlapi->set_debug(1);
         $inst = new self();
         $inst->host = $domain;
         #$inst->cpanelUser = '******';
         #$inst->cpanelPass = $root_hash;
         $inst->xmlapi = $xmlapi;
         return $inst;
     } catch (Exception $e) {
         print_r($e);
     }
 }
コード例 #7
0
 /**
  * ControllerCpanelEmail::delete()
  * 
  * @see Load
  * @see Document
  * @see Language
  * @see Session
  * @see Redirect
  * @see getList
  * @return void 
  */
 public function delete()
 {
     $this->load->library('cpxmlapi');
     $cp = new xmlapi(CPANEL_HOST);
     if (isset($this->request->post['selected'])) {
         $cp->set_port(CPANEL_PORT);
         //set port number. cpanel client class allow you to access WHM as well using WHM port.
         $cp->password_auth(CPANEL_USER, CPANEL_PWD);
         // authorization with password. not as secure as hash.
         $cp->set_debug(0);
         //output to error file  set to 1 to see error_log.
         foreach ($this->request->post['selected'] as $user) {
             // cpanel email addpop function Parameters
             $call = array('domain' => CPANEL_DOMAIN, 'email' => $user);
             $result = $cp->api2_query(CPANEL_USER, "Email", "delpop", $call);
             // making call to cpanel api
         }
         if ($result->data->result == 1) {
             $this->session->data['success'] = " La(s) cuenta(s) han sido eliminada(s) con &eacute;xito";
         } else {
             $this->session->data['error'] = "No se pudo eliminar la cuenta de correo: " . $result->data->reason;
         }
     }
     $this->redirect(Url::createAdminUrl('cpanel/email') . $url);
 }