Exemple #1
0
function saveEditOrganization($smarty, $module_name, $local_templates_dir, &$pDB, $arrConf, $credentials)
{
    $pOrganization = new paloSantoOrganization($pDB);
    $arrFormOrgz = createFieldForm();
    $oForm = new paloForm($smarty, $arrFormOrgz);
    $error = "";
    $idOrg = getParameter("id");
    if ($credentials['userlevel'] != "superadmin") {
        //si el usuario es diferente de superadmin el usuario debe pertence a la organizacion que quiere editar
        if ($idOrg != $credentials['id_organization']) {
            $smarty->assign("mb_title", _tr("Error"));
            $smarty->assign("mb_message", _tr("Invalid ID organization"));
            return reportOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
        }
    }
    if (!isset($idOrg) || $idOrg == "1") {
        $smarty->assign("mb_title", _tr("Error"));
        $smarty->assign("mb_message", _tr("Invalid ID organization"));
        return reportOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
    }
    if (!$oForm->validateForm($_POST)) {
        // Validation basic, not empty and VALIDATION_TYPE
        $smarty->assign("mb_title", _tr("Validation Error"));
        $arrErrores = $oForm->arrErroresValidacion;
        $strErrorMsg = "<b>" . _tr("The following fields contain errors") . ":</b><br/>";
        if (is_array($arrErrores) && count($arrErrores) > 0) {
            foreach ($arrErrores as $k => $v) {
                $strErrorMsg .= "{$k} [{$v['mensaje']}], ";
            }
        }
        $smarty->assign("mb_message", $strErrorMsg);
        $content = viewFormOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
    } else {
        $name = trim(getParameter("name"));
        $country = trim(getParameter("country"));
        $city = trim(getParameter("city"));
        $address = trim(getParameter("address"));
        $country_code = trim(getParameter("country_code"));
        $area_code = trim(getParameter("area_code"));
        $quota = trim(getParameter("quota"));
        $email_contact = trim(getParameter("email_contact"));
        if ($credentials['userlevel'] == "superadmin") {
            $num_user = isset($_POST["max_num_user_chk"]) ? "0" : getParameter("max_num_user");
            $num_exten = isset($_POST["max_num_exten_chk"]) ? "0" : getParameter("max_num_exten");
            $num_queues = isset($_POST["max_num_queues_chk"]) ? "0" : getParameter("max_num_queues");
            if (!isset($_POST["max_num_user_chk"]) && (!ctype_digit($num_user) || $num_user + 0 == 0)) {
                $error = _tr("Field ") . _tr("Max. # of User Accounts") . _tr(" must be a integer > 0");
            } else {
                $num_user = $num_user + 0;
            }
            if (!isset($_POST["max_num_exten_chk"]) && (!ctype_digit($num_exten) || $num_exten + 0 == 0)) {
                $error = _tr("Field '") . _tr("Max. # of extensions") . _tr(" must be a integer > 0");
            } elseif ($num_exten < $num_user && $num_exten != 0 || $num_user == 0 && $num_exten != 0) {
                $error = _tr("Field ") . _tr("Max. # of extensions") . _tr(" must be greater than Field ") . _tr("Max. # of User Accounts");
            } else {
                $num_exten = $num_exten + 0;
            }
            if (!isset($_POST["max_num_queues_chk"]) && (!ctype_digit($num_queues) || $num_queues + 0 == 0)) {
                $error = _tr("Field ") . _tr("Max. # of queues") . _tr(" must be a integer > 0");
            } else {
                $num_queues = $num_queues + 0;
            }
            if ($error != "") {
                $smarty->assign("mb_title", _tr("Error"));
                $smarty->assign("mb_message", $error);
                return viewFormOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
            }
        } else {
            $num_user = null;
            $num_exten = null;
            $num_queues = null;
        }
        if ($country == "0" || !isset($country)) {
            $smarty->assign("mb_title", _tr("Error"));
            $smarty->assign("mb_message", _tr("You must select a country"));
            $content = viewFormOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
        } else {
            $exito = $pOrganization->setOrganization($idOrg, $name, $country, $city, $address, $country_code, $area_code, $quota, $email_contact, $num_user, $num_exten, $num_queues, $credentials['userlevel']);
            if ($exito) {
                $smarty->assign("mb_title", _tr("Message"));
                $smarty->assign("mb_message", _tr("The organization was edit successfully"));
                $content = reportOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
            } else {
                $smarty->assign("mb_title", _tr("Error"));
                $smarty->assign("mb_message", _tr($pOrganization->errMsg));
                $content = viewFormOrganization($smarty, $module_name, $local_templates_dir, $pDB, $arrConf, $credentials);
            }
        }
    }
    return $content;
}