added select element to link a new alias to a domain
This commit is contained in:
parent
d739a4838e
commit
33d071edeb
|
@ -1,11 +1,11 @@
|
|||
<?php
|
||||
|
||||
/**
|
||||
* Apache VirtualHost Management Page
|
||||
* Apache VirtualHost Management Page
|
||||
*
|
||||
* Copyright (c) 2009 Evolix - Tous droits reserves
|
||||
*
|
||||
* vim: expandtab softtabstop=4 tabstop=4 shiftwidth=4 showtabline=2
|
||||
* vim: expandtab softtabstop=4 tabstop=4 shiftwidth=4 showtabline=2
|
||||
*
|
||||
* @author Gregory Colpart <reg@evolix.fr>
|
||||
* @author Thomas Martin <tmartin@evolix.fr>
|
||||
|
@ -68,10 +68,10 @@ if (isset($params[2]) && $params[2] == "delete") {
|
|||
sudoexec($exec_cmd, $exec_output, $exec_return);
|
||||
|
||||
if ($exec_return == 0) {
|
||||
if (! $bdd->del_serveralias($serveralias))
|
||||
if (! $bdd->del_serveralias($serveralias))
|
||||
print "<p>La suppression a échouée. Veuillez contacter votre administrateur.</p>";
|
||||
printf ('<p>Alias %s est supprimé.</p>', $serveralias['alias']);
|
||||
} else
|
||||
} else
|
||||
print "<p>La suppression a échouée. Veuillez contacter votre administrateur.</p>";
|
||||
|
||||
}
|
||||
|
@ -108,141 +108,147 @@ elseif (isset($params[2]) && $params[2] == "add") {
|
|||
include_once EVOADMIN_BASE . '../tpl/header.tpl.php';
|
||||
include_once EVOADMIN_BASE . '../tpl/menu.tpl.php';
|
||||
|
||||
$form = new FormPage("Ajout d'un alias", FALSE);
|
||||
$form->addField('domain_alias', new DomainInputFormField("Alias", TRUE));
|
||||
$cmd_servername = 'web-add.sh list-servername' . ' ' . htmlspecialchars(basename($_SERVER['REDIRECT_URL']));
|
||||
sudoexec($cmd_servername, $data_output_servername, $exec_return_servername);
|
||||
|
||||
if (!empty($_POST)) {
|
||||
$form->isCurrentPage(TRUE);
|
||||
$form->initFields();
|
||||
|
||||
if ($form->verify(TRUE)) {
|
||||
if ($conf['cluster']) {
|
||||
if (is_mcluster_mode()) {
|
||||
// If the user has not yet selected a cluster, redirect-it to home page.
|
||||
if (empty($_SESSION['cluster'])) {
|
||||
http_redirect('/');
|
||||
}
|
||||
$cache = str_replace('%cluster_name%', $_SESSION['cluster'], $conf['cache']);
|
||||
}
|
||||
else {
|
||||
$cache = $conf['cache'];
|
||||
}
|
||||
$bdd = new bdd();
|
||||
$bdd->open($cache);
|
||||
|
||||
$serveralias = array (
|
||||
'domain' => htmlspecialchars(basename($_SERVER['REDIRECT_URL'])),
|
||||
'alias' => $form->getField('domain_alias')->getValue(),
|
||||
);
|
||||
|
||||
$account_name=$serveralias['domain'];
|
||||
$account = $bdd->get_account($account_name);
|
||||
|
||||
|
||||
if (sizeof($account) == 0)
|
||||
die("Anomalie... Contactez votre administrateur.");
|
||||
|
||||
$master = $bdd->get_server_from_roleid($account['id_master']);
|
||||
$slave = $bdd->get_server_from_roleid($account['id_slave']);
|
||||
|
||||
|
||||
if ( $bdd->is_serveralias( $account_name, $serveralias['alias'] ) == 0 ) {
|
||||
|
||||
/* web-add-cluster addalias */
|
||||
$exec_cmd = 'web-add-cluster.sh add-alias '.$serveralias['domain'].' '.$serveralias['alias'].' '.$master.' '.$slave;
|
||||
sudoexec($exec_cmd, $exec_output, $exec_return);
|
||||
|
||||
|
||||
|
||||
if ($exec_return == 0) {
|
||||
/* Ajout BDD */
|
||||
$bdd->add_serveralias($serveralias);
|
||||
|
||||
domain_add($serveralias['alias'], gethostbyname($master) , false);
|
||||
|
||||
# Si le compte en question est en replication temps
|
||||
# reel, il faut faire un restart manuel de lsyncd
|
||||
# pour prendre en compte le nouveau domaine.
|
||||
if ($account['replication'] == "realtime") {
|
||||
mail('tech@evolix.fr', "[TAF] Redemarrer lsyncd sur $master", wordwrap('killer tous les processus lsyncd lancé par vmail pour le compte '.$account['name'].' et les relancer (cf. la ligne correspondante à ce compte dans la crontab de vmail).\n', 70));
|
||||
}
|
||||
|
||||
print "<center>";
|
||||
printf ('<p>L\'alias %s du domaine %s a bien été créé</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
} else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
}
|
||||
} else {
|
||||
print "<center>";
|
||||
printf ('<p>Alias %s du domaine %s deja existant !</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
$form = new FormPage("Ajout d'un alias", FALSE);
|
||||
$form->addField('domain_alias', new DomainInputFormField("Alias", TRUE));
|
||||
$form->addField('domain_linked', new SelectFormField("Domaine lié", True, $data_output_servername));
|
||||
|
||||
if (!empty($_POST)) {
|
||||
$form->isCurrentPage(TRUE);
|
||||
$form->initFields();
|
||||
|
||||
if ($form->verify(TRUE)) {
|
||||
if ($conf['cluster']) {
|
||||
if (is_mcluster_mode()) {
|
||||
// If the user has not yet selected a cluster, redirect-it to home page.
|
||||
if (empty($_SESSION['cluster'])) {
|
||||
http_redirect('/');
|
||||
}
|
||||
$cache = str_replace('%cluster_name%', $_SESSION['cluster'], $conf['cache']);
|
||||
}
|
||||
else {
|
||||
$serveralias = array (
|
||||
'domain' => $params[1],
|
||||
'alias' => $form->getField('domain_alias')->getValue(),
|
||||
);
|
||||
$cache = $conf['cache'];
|
||||
}
|
||||
$bdd = new bdd();
|
||||
$bdd->open($cache);
|
||||
|
||||
$account_name=$serveralias['domain'];
|
||||
$serveralias = array (
|
||||
'domain' => htmlspecialchars(basename($_SERVER['REDIRECT_URL'])),
|
||||
'alias' => $form->getField('domain_alias')->getValue(),
|
||||
);
|
||||
|
||||
$is_alias_present = check_occurence_name($serveralias['alias']);
|
||||
$account_name=$serveralias['domain'];
|
||||
$account = $bdd->get_account($account_name);
|
||||
|
||||
if (!$is_alias_present) {
|
||||
$exec_cmd = 'web-add.sh add-alias ' . $serveralias['domain'] . ' ' . $serveralias['alias'];
|
||||
sudoexec($exec_cmd, $exec_output, $exec_return);
|
||||
if ($exec_return == 0) {
|
||||
//domain_add($serveralias['alias'], gethostbyname($master) , false); TODO avec l'IP du load balancer
|
||||
print "<center>";
|
||||
printf ('<p>L\'alias %s du domaine %s a bien été créé</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $redirect_url);
|
||||
print "</center>";
|
||||
}
|
||||
else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $redirect_url);
|
||||
print "</center>";
|
||||
}
|
||||
}
|
||||
else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
print ('<p>L\'alias existe dans d\'autres vhosts.');
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $redirect_url);
|
||||
print "</center>";
|
||||
|
||||
if (sizeof($account) == 0)
|
||||
die("Anomalie... Contactez votre administrateur.");
|
||||
|
||||
$master = $bdd->get_server_from_roleid($account['id_master']);
|
||||
$slave = $bdd->get_server_from_roleid($account['id_slave']);
|
||||
|
||||
|
||||
if ( $bdd->is_serveralias( $account_name, $serveralias['alias'] ) == 0 ) {
|
||||
|
||||
/* web-add-cluster addalias */
|
||||
$exec_cmd = 'web-add-cluster.sh add-alias '.$serveralias['domain'].' '.$serveralias['alias'].' '.$master.' '.$slave;
|
||||
sudoexec($exec_cmd, $exec_output, $exec_return);
|
||||
|
||||
|
||||
|
||||
if ($exec_return == 0) {
|
||||
/* Ajout BDD */
|
||||
$bdd->add_serveralias($serveralias);
|
||||
|
||||
domain_add($serveralias['alias'], gethostbyname($master) , false);
|
||||
|
||||
# Si le compte en question est en replication temps
|
||||
# reel, il faut faire un restart manuel de lsyncd
|
||||
# pour prendre en compte le nouveau domaine.
|
||||
if ($account['replication'] == "realtime") {
|
||||
mail('tech@evolix.fr', "[TAF] Redemarrer lsyncd sur $master", wordwrap('killer tous les processus lsyncd lancé par vmail pour le compte '.$account['name'].' et les relancer (cf. la ligne correspondante à ce compte dans la crontab de vmail).\n', 70));
|
||||
}
|
||||
|
||||
print "<center>";
|
||||
printf ('<p>L\'alias %s du domaine %s a bien été créé</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
} else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
}
|
||||
} else {
|
||||
print "<center>";
|
||||
printf ('<p>Alias %s du domaine %s deja existant !</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
|
||||
}
|
||||
}
|
||||
else {
|
||||
print "<h2>Ajout d'un serveralias</h2><hr>";
|
||||
print "<form name=\"form-add\" id=\"form-add\" action=\"\" method=\"POST\">";
|
||||
print " <fieldset>";
|
||||
print " <legend>Ajout d'un serveralias</legend>";
|
||||
print $form;
|
||||
print " <p><input type=\"submit\" value=\"Créer\"/></p>";
|
||||
print " </fieldset>";
|
||||
print "</form>";
|
||||
$serveralias = array (
|
||||
'domain' => htmlspecialchars(basename($_SERVER['REDIRECT_URL'])),
|
||||
'alias' => $form->getField('domain_alias')->getValue(),
|
||||
'domain_linked' => $data_output_servername[$form->getField('domain_linked')->getValue()],
|
||||
);
|
||||
|
||||
$account_name=$serveralias['domain'];
|
||||
|
||||
$is_alias_present = check_occurence_name($serveralias['alias']);
|
||||
|
||||
if (!$is_alias_present) {
|
||||
$exec_cmd = 'web-add.sh add-alias ' . $serveralias['domain'] . ' ' . $serveralias['alias'] . ' ' . $serveralias['domain_linked'];
|
||||
sudoexec($exec_cmd, $exec_output, $exec_return);
|
||||
|
||||
if ($exec_return == 0) {
|
||||
//domain_add($serveralias['alias'], gethostbyname($master) , false); TODO avec l'IP du load balancer
|
||||
print "<center>";
|
||||
printf ('<p>L\'alias %s du domaine %s a bien été créé</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
}
|
||||
else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
}
|
||||
}
|
||||
else {
|
||||
print "<center>";
|
||||
printf ('<p>Echec dans la creation de l\'alias %s du domaine %s</p>', $serveralias['alias'], $serveralias['domain']);
|
||||
print ('<p>L\'alias existe dans d\'autres vhosts.');
|
||||
printf ('<p><a href="%s">Retour à la liste des alias</a></p>', $_SERVER['REDIRECT_URL']);
|
||||
print "</center>";
|
||||
}
|
||||
}
|
||||
} else {
|
||||
print "<h2>Ajout d'un serveralias</h2><hr>";
|
||||
print "<form name=\"form-add\" id=\"form-add\" action=\"\" method=\"POST\">";
|
||||
print " <fieldset>";
|
||||
print " <legend>Ajout d'un serveralias</legend>";
|
||||
print $form;
|
||||
print " <p><input type=\"submit\" value=\"Créer\"/></p>";
|
||||
print " </fieldset>";
|
||||
print "</form>";
|
||||
}
|
||||
else {
|
||||
print "<h2>Ajout d'un serveralias</h2><hr>";
|
||||
print "<form name=\"form-add\" id=\"form-add\" action=\"\" method=\"POST\">";
|
||||
print " <fieldset>";
|
||||
print " <legend>Ajout d'un serveralias</legend>";
|
||||
print $form;
|
||||
print " <p><input type=\"submit\" value=\"Créer\"/></p>";
|
||||
print " </fieldset>";
|
||||
print "</form>";
|
||||
|
||||
}
|
||||
} else {
|
||||
print "<h2>Ajout d'un serveralias</h2><hr>";
|
||||
print "<form name=\"form-add\" id=\"form-add\" action=\"\" method=\"POST\">";
|
||||
print " <fieldset>";
|
||||
print " <legend>Ajout d'un serveralias</legend>";
|
||||
print $form;
|
||||
print " <p><input type=\"submit\" value=\"Créer\"/></p>";
|
||||
print " </fieldset>";
|
||||
print "</form>";
|
||||
|
||||
}
|
||||
|
||||
include_once EVOADMIN_BASE . '../tpl/footer.tpl.php';
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue