diff --git a/htdocs/index.php b/htdocs/index.php index 62d2a65..4d54a5e 100755 --- a/htdocs/index.php +++ b/htdocs/index.php @@ -48,7 +48,7 @@ if (!array_key_exists('auth', $_SESSION) || $_SESSION['auth']!=1) { include_once EVOADMIN_BASE . '../inc/webadmin.php'; -} elseif (preg_match('#^/webadmin/servername/(.*)/?$#', $uri, $params)) { +} elseif (preg_match('#^/webadmin/(.*)/domain/?(edit)?/?(.*)?/$#', $uri, $params)) { include_once EVOADMIN_BASE . '../inc/webadmin-servername.php'; diff --git a/inc/webadmin-servername.php b/inc/webadmin-servername.php index a68d7c2..7779c43 100644 --- a/inc/webadmin-servername.php +++ b/inc/webadmin-servername.php @@ -18,138 +18,132 @@ require_once EVOADMIN_BASE . '../lib/domain.php'; global $conf; -if (isset($_GET['edit']) ) { +if (isset($params[2]) && $params[2] == "edit") { + $redirect_url = "/webadmin/" . $params[1] . "/domain/"; + + if (isset($params[3]) && $params[3] == "") http_redirect($redirect_url); + require_once EVOADMIN_BASE . '../evolibs/Form.php'; include_once EVOADMIN_BASE . '../tpl/header.tpl.php'; include_once EVOADMIN_BASE . '../tpl/menu.tpl.php'; - $form = new FormPage("Modification du ServerName", FALSE); - $form->addField('domain_servername', new DomainInputFormField("ServerName", TRUE), $_GET['edit']); - $form->addField('previous_servername', new DomainInputFormField("", TRUE, TRUE), $_GET['edit']); + $form = new FormPage("Modification du ServerName", FALSE); + $form->addField('domain_servername', new DomainInputFormField("ServerName", TRUE), $params[3]); + $form->addField('previous_servername', new DomainInputFormField("", TRUE, TRUE), $params[3]); - if (!empty($_POST)) { - $form->isCurrentPage(TRUE); - $form->initFields(); - - if ($form->verify(TRUE)) { - // TODO: Adapt the script for cluster mode - 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); - - $servername = array ( - 'domain' => htmlspecialchars(basename($_SERVER['REDIRECT_URL'])), - 'servername' => $form->getField('domain_servername')->getValue(), - 'previous_servername' => $form->getField('previous_servername')->getValue(), - ); - - $account_name=$servername['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 "
L\'alias %s du domaine %s a bien été créé
', $serveralias['alias'], $serveralias['domain']); - printf ('', $_SERVER['REDIRECT_URL']); - print "Echec dans la creation de l\'alias %s du domaine %s
', $serveralias['alias'], $serveralias['domain']); - printf ('', $_SERVER['REDIRECT_URL']); - print "Alias %s du domaine %s deja existant !
', $serveralias['alias'], $serveralias['domain']); - printf ('', $_SERVER['REDIRECT_URL']); - print "Le ServerName %s a bien été modifié
', $servername['servername']); - printf ('', $_SERVER['REDIRECT_URL']); - print "Echec dans la modification du ServerName %s
', $servername['servername']); - printf ('', $_SERVER['REDIRECT_URL']); - print "L\'alias %s du domaine %s a bien été créé
', $serveralias['alias'], $serveralias['domain']); + printf ('', $redirect_url); + print "Echec dans la creation de l\'alias %s du domaine %s
', $serveralias['alias'], $serveralias['domain']); + printf ('', $redirect_url); + print "Alias %s du domaine %s deja existant !
', $serveralias['alias'], $serveralias['domain']); + printf ('', $redirect_url); + print "Le ServerName %s a bien été modifié
', $servername['servername']); + printf ('', $redirect_url); + print "Echec dans la modification du ServerName %s
', $servername['servername']); - print ('Le domaine existe déjà dans d\'autres vhosts.'); - printf ('
', $_SERVER['REDIRECT_URL']); + printf ('', $redirect_url); print "Echec dans la modification du ServerName %s
', $servername['servername']); + print ('Le domaine existe déjà dans d\'autres vhosts.'); + printf ('
', $redirect_url); + print "