diff --git a/action.php b/action.php index 74ab441..cc85349 100644 --- a/action.php +++ b/action.php @@ -122,17 +122,19 @@ class action_plugin_userhomepage extends DokuWiki_Action_Plugin{ } } // If Public page was just created, redirect to it and edit (or show) - if ($created['public']) { + if (($created['public']) && (page_exists($this->public_page))) { // send_redirect(wl($this->public_page, 'do='.$this->getConf('action'), false, '&')); send_redirect(wl($this->public_page, array('do='.$this->getConf('action')), true)); // Else if private start page was just created and edit option is set, redirect to it and edit - } elseif (($created['private']) && ($this->getConf('edit_before_create'))) { + } elseif (($created['private']) && (page_exists($this->private_page)) && ($this->getConf('edit_before_create'))) { // send_redirect(wl($this->private_page, 'do='.$this->getConf('action'), false, '&')); send_redirect(wl($this->private_page, array('do='.$this->getConf('action')), true)); // Else if user's private page exists AND [(user isn't requesting a specific page OR he's requesting wiki start page) AND logged in 2sec ago max] } elseif ((page_exists($this->private_page)) && (((!isset($_GET['id'])) or (in_array($_GET['id'], $wikistart))) && (time()-$_SESSION["uhptimestamp"] <= 2))) { // send_redirect(wl($this->private_page)); send_redirect(wl($this->private_page, '', true)); + } else { + break; } } } diff --git a/plugin.info.txt b/plugin.info.txt index 538f02b..970402a 100644 --- a/plugin.info.txt +++ b/plugin.info.txt @@ -1,7 +1,7 @@ base userhomepage author Simon Delage email simon.geekitude@gmail.com -date 2015-06-19 +date 2015-06-20 name User Homepage desc Automatically create user's private namespace and/or public page and redirects users to private namespace on login. url https://www.dokuwiki.org/plugin:userhomepage