示例#1
0
function reloadAasterisk($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials)
{
    $showMsg = false;
    $continue = false;
    /*if($arrCredentiasls['userlevel']=="other"){
          $smarty->assign("mb_title", _tr("ERROR"));
          $smarty->assign("mb_message",_tr("You are not authorized to perform this action"));
      }*/
    $idOrganization = $credentials['id_organization'];
    if ($credentials['userlevel'] == "superadmin") {
        $idOrganization = getParameter("organization_id");
    }
    if ($idOrganization == 1) {
        return reportTG($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
    }
    $query = "select domain from organization where id=?";
    $result = $pDB->getFirstRowQuery($query, false, array($idOrganization));
    if ($result === false) {
        $smarty->assign("mb_title", _tr("ERROR"));
        $smarty->assign("mb_message", _tr("Asterisk can't be reloaded. ") . _tr($pDB->errMsg));
        $showMsg = true;
    } elseif (count($result) == 0) {
        $smarty->assign("mb_title", _tr("ERROR"));
        $smarty->assign("mb_message", _tr("Asterisk can't be reloaded. ") . _tr("Invalid Organization. "));
        $showMsg = true;
    } else {
        $domain = $result[0];
        $continue = true;
    }
    if ($continue) {
        $pAstConf = new paloSantoASteriskConfig($pDB);
        if ($pAstConf->generateDialplan($domain) === false) {
            $pAstConf->setReloadDialplan($domain, true);
            $smarty->assign("mb_title", _tr("ERROR"));
            $smarty->assign("mb_message", _tr("Asterisk can't be reloaded. ") . $pAstConf->errMsg);
            $showMsg = true;
        } else {
            $pAstConf->setReloadDialplan($domain);
            $smarty->assign("mb_title", _tr("MESSAGE"));
            $smarty->assign("mb_message", _tr("Asterisk was reloaded correctly. "));
        }
    }
    return reportTG($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
}
 private function createAdminUserOrg($idOrg, $domain, $CompanyName, $email_contact, $password, $country_code, $area_code, $quota, $sendEmail = false)
 {
     $md5password = md5($password);
     $pACL = new paloACL($this->_DB);
     $idGrupo = $pACL->getIdGroup("administrator", $idOrg);
     $exito = $this->createUserOrganization($idOrg, "admin", "Administrator", $md5password, $password, $idGrupo, "100", "200", $country_code, $area_code, "200", "admin", $quota, $lastid, false);
     if ($exito) {
         //mostramos el mensaje para crear los archivos de configuracion dentro de asterisk
         $pAstConf = new paloSantoASteriskConfig($this->_DB);
         $pAstConf->setReloadDialplan($domain, true);
         //enviamos un email a la nueva organizacion creada
         if ($sendEmail == true) {
             if (!$this->sendEmail($password, $CompanyName, $domain, $email_contact, "create", $error)) {
                 $this->errMsg = "<br />" . _tr("Mail to new admin user couldn't be sent. ") . $error;
             } else {
                 $this->errMsg = "<br />" . _tr("A email with the password for admin@{$domain} user has been sent to ") . $email_contact;
             }
         }
         return true;
     } else {
         //mensaje en caso de que no se pueda crear el usuario administrador de la organizaion
         $this->errMsg = "<br />Error: " . $this->errMsg;
     }
     return false;
 }