function sender_host_save(){ $sasl_username=$_GET["sasl_username"]; $sasl_password=$_GET["sasl_password"]; $relay_address=$_GET["relay_address"]; $relay_port=$_GET["relay_port"]; $MX_lookups=$_GET["MX_lookups"]; $uid=$_GET["uid"]; $tpl=new templates(); if($relay_address==null){echo $tpl->javascript_parse_text('{error} {relay_address} = NULL');exit;} if(!is_numeric($relay_port)){$relay_port=25;} $domain=new DomainsTools(); $line=$domain->transport_maps_implode($relay_address,$relay_port,null,$MX_lookups); $user=new user($uid); if($user->SenderCanonical==null){ echo $tpl->javascript_parse_text("{error}: {sender_canonical}=NULL"); exit; } $user->SenderCanoniCalSMTPRelayAdd($line,$sasl_username,$sasl_password,$relay_address); $sock=new sockets(); if($sock->GET_INFO("smtp_sender_dependent_authentication")<>1){ $sock->SET_INFO("smtp_sender_dependent_authentication",1); } $sock->getFrameWork("cmd.php?reconfigure-postfix=yes"); }
function save() { $sender_canonical = $_GET["sender_canonical"]; $relay_address = $_GET["relay_address"]; $relay_port = $_GET["relay_port"]; $sasl_username = $_GET["sasl_username"]; $sasl_password = $_GET["sasl_password"]; $user = new user($_SESSION["uid"]); $user->SenderCanonical = $_GET["sender_canonical"]; $user->add_Canonical(); if ($relay_address != null && $relay_port != null) { $domain = new DomainsTools(); $line = $domain->transport_maps_implode($relay_address, $relay_port, null, "no"); $user->SenderCanoniCalSMTPRelayAdd($line, $sasl_username, $sasl_password, $relay_address); } }
function relayhostSave() { $ou = $_GET["ou"]; $hostname = $_GET["hostname"]; $tpl = new templates(); if ($_GET["relay_port"] == null) { $_GET["relay_port"] = 25; } if ($_GET["relay_address"] == null) { echo $tpl->_ENGINE_parse_body("{error_no_server_specified}"); exit; } $tool = new DomainsTools(); writelogs("Port={$_GET["relay_port"]} address={$_GET["relay_address"]}", __FUNCTION__, __FILE__); $data = $tool->transport_maps_implode($_GET["relay_address"], $_GET["relay_port"], 'smtp', $_GET["MX_lookups"]); writelogs("Port={$_GET["relay_port"]} address={$_GET["relay_address"]}={$data}", __FUNCTION__, __FILE__); $data = str_replace('smtp:', '', $data); //smtp_sasl_password_maps $main = new maincf_multi($hostname, $ou); if ($_GET["username"] != null) { $auth = "{$_GET["username"]}:{$_GET["password"]}"; $main->SET_VALUE("relayhost_authentication", $auth); } $main->SET_VALUE("relayhost", $data); $sock = new sockets(); $sock->getFrameWork("cmd.php?postfix-multi-relayhost={$_GET["hostname"]}"); }
function PostfixAddRoutingRuleTableSave(){ $MX_lookups=$_GET["MX_lookups"]; $domain=$_GET["domain"]; $org=$_GET["org"]; $relay_address=$_GET["relay_address"]; $relay_port =$_GET["relay_port"]; $service=$_GET["service"]; $tpl=new templates(); if($relay_address==null){echo $tpl->_ENGINE_parse_body('{error_give_address}');return null;} if($domain==null){echo $tpl->_ENGINE_parse_body('{error_give_pattern}');return null;} if($org==null){echo $tpl->_ENGINE_parse_body('{error_no_organization}');return null;} writelogs("organization for this transport table rule=$org",__FUNCTION__,__FILE__); $tool=new DomainsTools(); $line=$tool->transport_maps_implode($relay_address,$relay_port,$service,$MX_lookups); writelogs("$line",__FUNCTION__,__FILE__); $ldap=new clladp(); $ldap->AddTransportTable($domain,$line,$org); $sock=new sockets(); $sock->getFrameWork("services.php?postfix-single=yes"); }
function USER_TRANSPORT_SAVE() { $domain = new DomainsTools(); $line = $domain->transport_maps_implode($_GET["relay_address"], $_GET["relay_port"], null, $_GET["MX_lookups"]); $user = new user($_GET["uid"]); $user->add_transport("{$line}"); }
function recipient_save() { $tpl = new templates(); $q = new mysql(); if ($_POST["recipient-save"] == null) { return; } if ($_POST["relay_address"] == null) { echo $tpl->_ENGINE_parse_body('{error_no_server_specified}'); exit; } $sql = "SELECT recipient,hostname FROM postfix_transport_recipients WHERE `recipient`='{$_POST["recipient-save"]}'"; $ligne = mysql_fetch_array($q->QUERY_SQL($sql, "artica_backup")); if (!$q->ok) { echo $q->mysql_error . "\n{$sql}\n"; return; } if ($_POST["MX_lookups"] == 1) { $_POST["MX_lookups"] = "yes"; } else { $_POST["MX_lookups"] = "no"; } if (trim($ligne["hostname"]) != null) { if (trim($ligne["hostname"]) != trim($_POST["hostname"])) { echo $tpl->javascript_parse_text("{already_used_byinstance}:" . $ligne["hostname"]); return; } } $domaintools = new DomainsTools(); $transport = $domaintools->transport_maps_implode($_POST["relay_address"], $_POST["port"], "smtp", $_POST["MX_lookups"]); $sql = "INSERT IGNORE INTO postfix_transport_recipients (recipient,transport,enabled,hostname) VALUES \n\t('{$_POST["recipient-save"]}','{$transport}',1,'{$_POST["hostname"]}')"; if ($ligne["recipient"] != null) { $sql = "UPDATE postfix_transport_recipients SET transport='{$transport}' WHERE `recipient`='{$_POST["recipient-save"]}'"; } $q = new mysql(); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; } }
function SaveISPAddress() { $tpl = new templates(); $domain = new DomainsTools(); $page = CurrentPageName(); $address = $domain->transport_maps_implode($_GET["isp_address"], $_GET["isp_port"]); $sasl = new smtp_sasl_password_maps(); writepostfixlogs("Set ISP server has {$address}", __FUNCTION__, __FILE__); $sock = new sockets(); $sock->SET_INFO("PostfixRelayHost", "{$address}"); writepostfixlogs("is this server {$address} must use authentication ?", __FUNCTION__, __FILE__); if (trim($_GET["isp_username"]) == null) { $sasl->delete($address); exit; } if (trim($_GET["isp_password"]) == null) { die("password NULL !"); } writepostfixlogs("Enable SMTP Sasl", __FUNCTION__, __FILE__); $main = new main_cf(); $main->smtp_sasl_password_maps_enable(); if (!$sasl->add($address, trim($_GET["isp_username"]), trim($_GET["isp_password"]))) { die($sasl->ldap_infos); } }
function PostfixAddFallBackerserverSave() { $relay_address = $_POST["relay_address"]; $tpl = new templates(); if ($relay_address == null) { echo $tpl->_ENGINE_parse_body('{error_give_server}'); return null; } $smtp_port = $_POST["relay_port"]; $MX_lookups = $_POST["MX_lookups"]; writelogs("Edit {$relay_address} {$smtp_port} {$MX_lookups} tool->transport_maps_implode({$relay_address},{$smtp_port},null,{$MX_lookups})", __FUNCTION__, __FILE__); $tool = new DomainsTools(); $line = $tool->transport_maps_implode($relay_address, $smtp_port, null, $MX_lookups); $line = str_replace("smtp:", '', $line); $main = new maincf_multi($_POST["hostname"]); $arr = explode(',', $main->GET_BIGDATA("smtp_fallback_relay")); if (isset($_GET["TableIndex"])) { writelogs("Edit " . $arr[$_GET["TableIndex"]] . " to " . $line, __FUNCTION__, __FILE__); $arr[$_GET["TableIndex"]] = $line; } if (is_array($arr)) { while (list($index, $ligne) = each($arr)) { if ($ligne != null) { $array[] = $ligne; } } } if (!isset($_GET["TableIndex"])) { $array[] = $line; } $main->SET_BIGDATA("smtp_fallback_relay", implode(",", $array)); }
function AddTransportToDomain() { $usr = new usersMenus(); $tpl = new templates(); if ($usr->AllowChangeDomains == false) { echo $tpl->_ENGINE_parse_body('{no_privileges}'); exit; } $domain = $_GET["AddTransportToDomain"]; $ou = $_GET["ou"]; $ldap = new clladp(); $tpl = new templates(); $tool = new DomainsTools(); $line = $tool->transport_maps_implode($_GET["transport_ip"], '25', 'smtp'); $ldap->AddDomainTransport($ou, $domain, $_GET["transport_ip"], '25', $_GET["transport_type"], 'smtp'); if ($ldap->ldap_last_error != null) { echo $ldap->ldap_last_error; return; } }
function import_save() { $tpl = new templates(); $q = new mysql(); if ($_POST["recipient-import"] == null) { return; } if ($_POST["relay_address"] == null) { echo $tpl->_ENGINE_parse_body('{error_no_server_specified}'); exit; } $domaintools = new DomainsTools(); $transport = $domaintools->transport_maps_implode($_POST["relay_address"], $_POST["port"], "smtp", $_POST["MX_lookups"]); $prefix = "INSERT IGNORE INTO postfix_transport_recipients (recipient,transport,enabled,hostname) VALUES "; $tr = explode("\n", $_POST["recipient-import"]); while (list($num, $email) = each($tr)) { $email = trim($email); $email = str_replace("\r", "", $email); $email = str_replace("\n", "", $email); if ($email == null) { continue; } $f[] = "('{$email}','{$transport}',1,'{$_POST["hostname"]}')"; } if (count($f) > 0) { $sql = $prefix . @implode(",", $f); $q->QUERY_SQL($sql, "artica_backup"); if (!$q->ok) { echo $q->mysql_error; return; } echo $tpl->javascript_parse_text(count($f) . " {new_items}"); } }
function PostFixAddServerCacheSave() { $tool = new DomainsTools(); $tpl = new templates(); $relay_address = $_POST["relay_address"]; $relay_port = $_POST["relay_port"]; $MX_lookups = $_GET["MX_lookups"]; $domain = $_POST["domain"]; if ($domain != null && $relay_address != null) { echo $tpl->javascript_parse_text('{error_give_server_or_domain}'); exit; } if ($relay_address != null) { $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups); $line = str_replace('smtp:', '', $line); } else { $line = $domain; } $main = new maincf_multi($_POST["hostname"]); $smtp_connection_cache_destinations = unserialize(base64_decode($main->GET_BIGDATA("smtp_connection_cache_destinations"))); $smtp_connection_cache_destinations[$line] = "OK"; $smtp_connection_cache_destinations_new = base64_encode(serialize($smtp_connection_cache_destinations)); if (!$main->SET_BIGDATA("smtp_connection_cache_destinations", addslashes($smtp_connection_cache_destinations_new))) { echo $main->{$q}->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("cmd.php?postfix-others-values=yes&hostname={$_POST["hostname"]}"); }
function PostFixAddServerCacheSave() { $tool = new DomainsTools(); $tpl = new templates(); $relay_address = $_GET["relay_address"]; $relay_port = $_GET["relay_port"]; $MX_lookups = $_GET["MX_lookups"]; $domain = $_GET["domain"]; if ($domain != null && $relay_address != null) { echo $tpl->_ENGINE_parse_body('{error_give_server_or_domain}'); exit; } if ($relay_address != null) { $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups); $line = str_replace('smtp:', '', $line); } else { $line = $domain; } $ldap = new clladp(); if (!$ldap->ExistsDN("cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}")) { $dn = "cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}"; $upd["cn"][0] = 'smtp_connection_cache_destinations'; $upd['objectClass'][0] = 'PostFixStructuralClass'; $upd['objectClass'][1] = 'top'; if (!$ldap->ldap_add($dn, $upd)) { echo $ldap->ldap_last_error; } unset($upd); } $dn = "cn={$line},cn=smtp_connection_cache_destinations,cn=artica,{$ldap->suffix}"; $upd["cn"][0] = $line; $upd['objectClass'][0] = 'PostFixSmtpConnectionCacheDestinations'; $upd['objectClass'][1] = 'top'; if (!$ldap->ldap_add($dn, $upd)) { echo $ldap->ldap_last_error; } }
function smtp_instance_cache_destinations_save() { $tool = new DomainsTools(); $tpl = new templates(); $relay_address = $_POST["relay_address"]; $relay_port = $_POST["relay_port"]; $MX_lookups = $_GET["MX_lookups"]; $domain = $_POST["domain"]; $uuid = $_POST["uuid"]; if ($domain != null && $relay_address != null) { echo $tpl->javascript_parse_text('{error_give_server_or_domain}'); exit; } if ($relay_address != null) { $line = $tool->transport_maps_implode($relay_address, $relay_port, null, $MX_lookups); $line = str_replace('smtp:', '', $line); } else { $line = $domain; } $main = new maincf_multi($_POST["hostname"], $_POST["ou"]); $array = unserialize(base64_decode($main->GET_BIGDATA("domain_throttle_daemons_list"))); $array[$uuid]["smtp-instance-cache-destinations"][$line] = "OK"; $smtp_connection_cache_destinations_new = base64_encode(serialize($array)); if (!$main->SET_BIGDATA("domain_throttle_daemons_list", addslashes($smtp_connection_cache_destinations_new))) { echo $main->{$q}->mysql_error; return; } $sock = new sockets(); $sock->getFrameWork("cmd.php?postfix-throttle=yes&instance={$_GET["hostname"]}"); }