diff --git a/utils.inc.php b/utils.inc.php
index cf1aa36..27051c6 100644
--- a/utils.inc.php
+++ b/utils.inc.php
@@ -6,6 +6,12 @@ use Amp\Future;
use Amp\Http\Client\HttpClientBuilder;
use Amp\Http\Client\Request;
+function domainIsOnServer($domain)
+{
+ $domainWithoutWww = preg_replace('/^www\./m', '', $domain);
+ return file_exists('/etc/nginx/conf.d/'.$domainWithoutWww.'.conf');
+}
+
function checkIP($domain, $withWww = false, $noip6 = false)
{
if (!preg_match('/(?=^.{4,253}$)(^((?!-)[a-zA-Z0-9-]{0,62}[a-zA-Z0-9]\.)+[a-zA-Z]{2,63}$)/', strtolower($domain))) {
@@ -383,7 +389,7 @@ function addExtensions()
function addStatistics()
{
// requete SQL
- // INSERT INTO `matomo_site` (`idsite`, `name`, `main_url`, `ts_created`, `ecommerce`, `sitesearch`, `sitesearch_keyword_parameters`, `sitesearch_category_parameters`, `timezone`, `currency`, `exclude_unknown_urls`, `excluded_ips`, `excluded_parameters`, `excluded_user_agents`, `excluded_referrers`, `group`, `type`, `keep_url_fragment`, `creator_login`) VALUES (NULL, 'Partage ton outil', 'https://partagetonoutil.fr', '2023-02-01 00:00:00', '0', '1', '', '', 'Europe/Paris', 'EUR', '0', '', '', '', '', '', 'website', '0', 'superadmin');
+ // INSERT INTO `matomo_site` (`idsite`, `name`, `main_url`, `ts_created`, `ecommerce`, `sitesearch`, `sitesearch_keyword_parameters`, `sitesearch_category_parameters`, `timezone`, `currency`, `exclude_unknown_urls`, `excluded_ips`, `excluded_parameters`, `excluded_user_agents`, `excluded_referrers`, `group`, `type`, `keep_url_fragment`, `creator_login`) VALUES (NULL, 'Partage ton outil', 'https://partagetonoutil.fr', '2023-02-01 00:00:00', '0', '1', '', '', 'Europe/Paris', 'EUR', '0', '', '', '', '', '', 'website', '0', 'superadmin');
}
diff --git a/yeswiki-move.php b/yeswiki-move.php
index 76a660b..d191a59 100755
--- a/yeswiki-move.php
+++ b/yeswiki-move.php
@@ -49,8 +49,35 @@ if (empty($from) || $from == 'https://example.com' || empty($to) || $to == 'http
exit;
}
+if (!filter_var($from, FILTER_VALIDATE_URL)) {
+ $climate->error('ERROR : the source url given with --from '.$from.' is not a valid url.'."\n");
+ exit;
+}
+$fromUrl = parse_url($from);
+var_dump($fromUrl);
+if (!domainIsOnServer($fromUrl['host'])) {
+ $climate->error('ERROR : Domain '.$fromUrl['host'].' was not found on the server.'."\n");
+ exit;
+}
+
+if (!filter_var($to, FILTER_VALIDATE_URL)) {
+ $climate->error('ERROR : the destination url given with --to '.$to.' is not a valid url.'."\n");
+ exit;
+}
+$toUrl = parse_url($to);
+var_dump($toUrl);
+if (!domainIsOnServer($toUrl['host'])) {
+ $climate->error('ERROR : Domain '.$toUrl['host'].' was not found on the server.'."\n");
+ exit;
+}
+
+if ($from === $to) {
+ $climate->error('ERROR : --from and --to parameters must be different.'."\n");
+ exit;
+}
+
$climate->bold()->underline()->out('Move a YesWiki');
-$climate->out('This will move yeswiki on '.$from.' to '.$to.', CAREFULL the destination yeswiki will be rreplaced'."\n");
+$climate->out('This will move yeswiki on '.$from.' to '.$to.', CAREFULL the destination yeswiki will be replaced'."\n");
$input = $climate->confirm('Is it all good ?');
if ($input->confirmed()) {
$climate->shout(