[fix] misc bugs in update_domaines.php,
This commit is contained in:
parent
dbfc59097b
commit
cdf07913da
|
@ -39,7 +39,7 @@ if (!defined("ALTERNC_PANEL")) exit(); // must be included ;)
|
|||
if (file_exists("styles/style-custom.css") ) {
|
||||
echo '<link rel="stylesheet" href="styles/style-custom.css" type="text/css" />';
|
||||
}
|
||||
if (count($addhead['css'])) {
|
||||
if (isset($addhead) && count($addhead['css'])) {
|
||||
foreach($addhead['css'] as $css) echo $css."\n";
|
||||
}
|
||||
$favicon = variable_get('favicon', 'favicon.ico' ,'You can specify a favicon, for example /images/my_logo.ico', array('desc'=>'URL','type'=>'string'));
|
||||
|
@ -53,7 +53,7 @@ $favicon = variable_get('favicon', 'favicon.ico' ,'You can specify a favicon, fo
|
|||
<script src="/javascript/jquery-ui/jquery-ui.min.js" type="text/javascript"></script>
|
||||
<script src="/javascript/jquery-tablesorter/jquery.tablesorter.min.js" type="text/javascript"></script>
|
||||
<?php
|
||||
if (count($addhead['js'])) {
|
||||
if (isset($addhead) && count($addhead['js'])) {
|
||||
foreach($addhead['js'] as $js) echo $js."\n";
|
||||
}
|
||||
?>
|
||||
|
|
|
@ -44,7 +44,7 @@ class m_apache {
|
|||
|
||||
// launched for each FQDN for which we want a new vhost template
|
||||
function hook_updatedomains_web_add($subdomid) {
|
||||
global $msg,$db;
|
||||
global $msg,$db,$ssl,$L_FQDN;
|
||||
|
||||
$db->query("SELECT sd.*, dt.only_dns, dt.has_https_option, m.login FROM domaines_type dt, sub_domaines sd LEFT JOIN membres m ON m.uid=sd.compte WHERE dt.name=sd.type AND sd.web_action!='OK' AND id=?;",array($subdomid));
|
||||
$db->next_record();
|
||||
|
@ -85,7 +85,7 @@ class m_apache {
|
|||
"%%redirect%%" => $subdom['valeur'],
|
||||
"%%UID%%" => $subdom['compte'],
|
||||
"%%GID%%" => $subdom['compte'],
|
||||
"%%mail_account%%" => $subdom['mail'],
|
||||
"%%mail_account%%" => $subdom['login']."@".$L_FQDN,
|
||||
"%%user%%" => "FIXME",
|
||||
"%%CRT%%" => $cert["cert"],
|
||||
"%%KEY%%" => $cert["key"],
|
||||
|
@ -94,7 +94,7 @@ class m_apache {
|
|||
// and write the template
|
||||
$confdir = $this->vhostroot."/".substr($subdom["compte"],-1)."/".$subdom["compte"];
|
||||
@mkdir($confdir,0755,true);
|
||||
file_put_contents($confdir."/".$subdom["fqdn"].".conf");
|
||||
file_put_contents($confdir."/".$subdom["fqdn"].".conf",$tpl);
|
||||
$this->shouldreload=true;
|
||||
|
||||
return 0; // shell meaning => OK ;)
|
||||
|
|
|
@ -107,7 +107,7 @@ class m_bind {
|
|||
trim(strtr(
|
||||
file_get_contents($this->NAMED_TEMPLATE),
|
||||
array(
|
||||
"@@DOMAIN@@" => $DOMAIN,
|
||||
"@@DOMAIN@@" => $domain,
|
||||
"@@ZONE_FILE@@" => $this->zone_file_directory."/".$domain
|
||||
)
|
||||
)))
|
||||
|
@ -225,7 +225,7 @@ class m_bind {
|
|||
sd.type=dt.name
|
||||
AND sd.enable IN ('ENABLE', 'ENABLED')
|
||||
ORDER BY ENTRY ;");
|
||||
$t=array();
|
||||
$t="";
|
||||
while ($db->next_record()) {
|
||||
$t.= $db->f('entry')."\n";
|
||||
}
|
||||
|
|
|
@ -635,35 +635,35 @@ class m_dom {
|
|||
* @param string $dom nom de domaine é effacer
|
||||
* @return boolean Retourne FALSE si une erreur s'est produite, TRUE sinon.
|
||||
*/
|
||||
function del_domain($dom) {
|
||||
function del_domain($domain) {
|
||||
global $db, $msg, $hooks;
|
||||
$msg->log("dom", "del_domain", $dom);
|
||||
$dom = strtolower($dom);
|
||||
$msg->log("dom", "del_domain", $domain);
|
||||
$domain = strtolower($domain);
|
||||
|
||||
$this->lock();
|
||||
if (!$r = $this->get_domain_all($dom)) {
|
||||
if (!$r = $this->get_domain_all($domain)) {
|
||||
return false;
|
||||
}
|
||||
$this->unlock();
|
||||
|
||||
// Call Hooks to delete the domain and the MX management:
|
||||
// TODO : the 2 calls below are using an OLD hook call, FIXME: remove them when unused
|
||||
$hooks->invoke("alternc_del_domain", array($dom));
|
||||
$hooks->invoke("alternc_del_mx_domain", array($dom));
|
||||
$hooks->invoke("alternc_del_domain", array($domain));
|
||||
$hooks->invoke("alternc_del_mx_domain", array($domain));
|
||||
// New hook calls:
|
||||
$hooks->invoke("hook_dom_del_domain", array($r["id"]));
|
||||
$hooks->invoke("hook_dom_del_mx_domain", array($r["id"]));
|
||||
|
||||
// Now mark the domain for deletion:
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE domaine= ?;", array($dom));
|
||||
$this->set_dns_action($dom, 'DELETE');
|
||||
$db->query("UPDATE sub_domaines SET web_action='DELETE' WHERE domaine= ?;", array($domain));
|
||||
$this->set_dns_action($domain, 'DELETE');
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
function domshort($dom, $sub = "") {
|
||||
return str_replace("-", "", str_replace(".", "", empty($sub) ? "" : "$sub.") . $dom);
|
||||
function domshort($domain, $sub = "") {
|
||||
return str_replace("-", "", str_replace(".", "", empty($sub) ? "" : "$sub.") . $domain);
|
||||
}
|
||||
|
||||
|
||||
|
@ -1302,9 +1302,10 @@ class m_dom {
|
|||
* de $type (url, ip, dossier...)
|
||||
* @param string $https the HTTPS behavior : HTTP(redirect https to http),
|
||||
* HTTPS(redirect http to https) or BOTH (both hosted at the same place)
|
||||
* or nothing "" when not applicable for this domain type.
|
||||
* @return boolean Retourne FALSE si une erreur s'est produite, TRUE sinon.
|
||||
*/
|
||||
function set_sub_domain($dom, $sub, $type, $dest, $sub_domain_id = 0, $https) {
|
||||
function set_sub_domain($dom, $sub, $type, $dest, $sub_domain_id = 0, $https="") {
|
||||
global $db, $msg, $cuid, $bro, $domislocked;
|
||||
$msg->log("dom", "set_sub_domain", $dom . "/" . $sub . "/" . $type . "/" . $dest);
|
||||
// Locked ?
|
||||
|
@ -1931,7 +1932,7 @@ class m_dom {
|
|||
} else {
|
||||
// we keep the highest result returned by hooks...
|
||||
rsort($ret,SORT_NUMERIC); $returncode=$ret[0];
|
||||
$db->query("UPDATE domaines SET dns_result=?, dns_action='OK' WHERE domaine=?;",array($returncode,$onedom));
|
||||
$db->query("UPDATE domaines SET dns_result=?, dns_action='OK' WHERE domaine=?;",array($returncode,$onedom["domaine"]));
|
||||
}
|
||||
}
|
||||
$hooks->invoke("hook_updatedomains_dns_post");
|
||||
|
|
|
@ -1099,21 +1099,21 @@ ORDER BY
|
|||
global $db;
|
||||
// for each domain where we don't have the MX or the DNS, remove the DKIM setup
|
||||
$this->shouldreloaddkim=false;
|
||||
$db->query("SELECT domaine,gesdns,gesmx FROM domaines WHERE dns_action!='OK';");
|
||||
$db->query("SELECT domaine,compte,gesdns,gesmx FROM domaines WHERE dns_action!='OK';");
|
||||
$add=array();
|
||||
$del=array();
|
||||
while ($db->next_record()) {
|
||||
if ($db->Record["gesdns"]==0 || $db->Record["gesmx"]==0) {
|
||||
$del[]=$db->Record["domaine"];
|
||||
$del[]=$db->Record;
|
||||
} else {
|
||||
$add[]=$db->Record["domaine"];
|
||||
$add[]=$db->Record;
|
||||
}
|
||||
}
|
||||
foreach($add as $domain) {
|
||||
$this->dkim_add($domain);
|
||||
$this->dkim_add($domain["domaine"],$domain["compte"]);
|
||||
}
|
||||
foreach($del as $domain) {
|
||||
$this->dkim_del($domain);
|
||||
$this->dkim_del($domain["domaine"],$domain["compte"]);
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1134,7 +1134,7 @@ ORDER BY
|
|||
/**
|
||||
* Add a domain into OpenDKIM configuration
|
||||
*/
|
||||
function dkim_add($domain) {
|
||||
function dkim_add($domain,$uid) {
|
||||
global $db;
|
||||
$target_dir = "/etc/opendkim/keys/$domain";
|
||||
if (file_exists($target_dir.'/alternc.txt')) return; // Do not generate if exist
|
||||
|
@ -1154,7 +1154,7 @@ ORDER BY
|
|||
add_line_to_file("/etc/opendkim/SigningTable",$domain." alternc._domainkey.".$domain);
|
||||
// Add subdomaine entry
|
||||
$dkim_key=$this->dkim_get_entry($domain);
|
||||
$db->query("INSERT INTO sub_domaines SET domaine=?, compte=?, sub='', type='dkim', valeur=?;",array($uid,$domain,$dkim_key));
|
||||
$db->query("INSERT INTO sub_domaines SET domaine=?, compte=?, sub='', type='dkim', valeur=?;",array($domain,$uid,$dkim_key));
|
||||
// no need to do DNS_ACTION="UPDATE" => we are in the middle of a HOOK, so dns WILL BE reloaded for this domain
|
||||
}
|
||||
|
||||
|
@ -1163,7 +1163,7 @@ ORDER BY
|
|||
/**
|
||||
* Delete a domain from OpenDKIM configuration
|
||||
*/
|
||||
function dkim_del($domain) {
|
||||
function dkim_del($domain,$uid) {
|
||||
$target_dir = "/etc/opendkim/keys/$domain";
|
||||
if (file_exists($target_dir)) {
|
||||
$this->shouldreloaddkim=true;
|
||||
|
|
|
@ -667,7 +667,7 @@ SELECT ?,?,?, FROM_UNIXTIME(?), FROM_UNIXTIME(?), ?, ?, sslcsr FROM certificate
|
|||
}
|
||||
$subdom["fqdn"]=$subdom["sub"].(($subdom["sub"])?".":"").$subdom["domaine"];
|
||||
|
||||
list($cert) = $this->get_valid_certs($fqdn, $subdom["provider"]);
|
||||
list($cert) = $this->get_valid_certs($subdom["fqdn"], $subdom["provider"]);
|
||||
// Edit certif_hosts:
|
||||
$db->query("UPDATE sub_domaines SET certificate_id=? WHERE id=?;",array($cert["id"], $subdom["id"]));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue