aboutsummaryrefslogtreecommitdiffstats
path: root/phpBB/phpbb/install/helper
diff options
context:
space:
mode:
authorTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-02 21:29:20 +0100
committerTristan Darricau <tristan.darricau@sensiolabs.com>2016-02-02 21:29:20 +0100
commit03fba990747bb0eeda47c8247b5808257d1443b7 (patch)
treea81f78974d37ed7182231aa8a9138d242824f61c /phpBB/phpbb/install/helper
parent724bd471a746d0fe2ef799091b943e671d21166e (diff)
parent91f809dc3dc926ff858e5e53ee8cfed781c1aeaa (diff)
downloadforums-03fba990747bb0eeda47c8247b5808257d1443b7.tar
forums-03fba990747bb0eeda47c8247b5808257d1443b7.tar.gz
forums-03fba990747bb0eeda47c8247b5808257d1443b7.tar.bz2
forums-03fba990747bb0eeda47c8247b5808257d1443b7.tar.xz
forums-03fba990747bb0eeda47c8247b5808257d1443b7.zip
Merge pull request #4017 from CHItA/ticket/14262
[ticket/14262] Move convertor to controller * CHItA/ticket/14262: [ticket/14262] Add error handling and small CS fixes [ticket/14262] Remove converter template duplicate [ticket/14262] Fix stage navigation [ticket/14262] Move convertor to controller
Diffstat (limited to 'phpBB/phpbb/install/helper')
-rw-r--r--phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php31
-rw-r--r--phpBB/phpbb/install/helper/iohandler/cli_iohandler.php7
-rw-r--r--phpBB/phpbb/install/helper/iohandler/iohandler_base.php8
-rw-r--r--phpBB/phpbb/install/helper/iohandler/iohandler_interface.php18
-rw-r--r--phpBB/phpbb/install/helper/navigation/convertor_navigation.php78
5 files changed, 141 insertions, 1 deletions
diff --git a/phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php b/phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php
index 1342ffa30f..31474ae4e9 100644
--- a/phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php
+++ b/phpBB/phpbb/install/helper/iohandler/ajax_iohandler.php
@@ -72,6 +72,11 @@ class ajax_iohandler extends iohandler_base
protected $download;
/**
+ * @var array
+ */
+ protected $redirect_url;
+
+ /**
* Constructor
*
* @param path_helper $path_helper
@@ -89,6 +94,7 @@ class ajax_iohandler extends iohandler_base
$this->nav_data = array();
$this->cookies = array();
$this->download = array();
+ $this->redirect_url = array();
$this->file_status = '';
parent::__construct();
@@ -131,6 +137,14 @@ class ajax_iohandler extends iohandler_base
*/
public function add_user_form_group($title, $form)
{
+ $this->form = $this->generate_form_render_data($title, $form);
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function generate_form_render_data($title, $form)
+ {
$this->template->assign_block_vars('options', array(
'LEGEND' => $this->language->lang($title),
'S_LEGEND' => true,
@@ -189,7 +203,7 @@ class ajax_iohandler extends iohandler_base
'form_install' => 'installer_form.html',
));
- $this->form = $this->template->assign_display('form_install');
+ return $this->template->assign_display('form_install');
}
/**
@@ -273,6 +287,12 @@ class ajax_iohandler extends iohandler_base
$this->cookies = array();
}
+ if (!empty($this->redirect_url))
+ {
+ $json_array['redirect'] = $this->redirect_url;
+ $this->redirect_url = array();
+ }
+
return $json_array;
}
@@ -373,6 +393,15 @@ class ajax_iohandler extends iohandler_base
}
/**
+ * {@inheritdoc}
+ */
+ public function redirect($url, $use_ajax = false)
+ {
+ $this->redirect_url = array('url' => $url, 'use_ajax' => $use_ajax);
+ $this->send_response();
+ }
+
+ /**
* Callback function for language replacing
*
* @param array $matches
diff --git a/phpBB/phpbb/install/helper/iohandler/cli_iohandler.php b/phpBB/phpbb/install/helper/iohandler/cli_iohandler.php
index 89f3594378..7945904524 100644
--- a/phpBB/phpbb/install/helper/iohandler/cli_iohandler.php
+++ b/phpBB/phpbb/install/helper/iohandler/cli_iohandler.php
@@ -289,4 +289,11 @@ class cli_iohandler extends iohandler_base
public function render_update_file_status($status_array)
{
}
+
+ /**
+ * {@inheritdoc}
+ */
+ public function redirect($url, $use_ajax = false)
+ {
+ }
}
diff --git a/phpBB/phpbb/install/helper/iohandler/iohandler_base.php b/phpBB/phpbb/install/helper/iohandler/iohandler_base.php
index 7271fe9bc0..fed4bc101f 100644
--- a/phpBB/phpbb/install/helper/iohandler/iohandler_base.php
+++ b/phpBB/phpbb/install/helper/iohandler/iohandler_base.php
@@ -170,6 +170,14 @@ abstract class iohandler_base implements iohandler_interface
}
/**
+ * {@inheritdoc}
+ */
+ public function generate_form_render_data($title, $form)
+ {
+ return '';
+ }
+
+ /**
* Localize message.
*
* Note: When an array is passed into the parameters below, it will be
diff --git a/phpBB/phpbb/install/helper/iohandler/iohandler_interface.php b/phpBB/phpbb/install/helper/iohandler/iohandler_interface.php
index 00aab3283e..6b3839506f 100644
--- a/phpBB/phpbb/install/helper/iohandler/iohandler_interface.php
+++ b/phpBB/phpbb/install/helper/iohandler/iohandler_interface.php
@@ -124,6 +124,16 @@ interface iohandler_interface
public function add_user_form_group($title, $form);
/**
+ * Returns the rendering information for the form
+ *
+ * @param string $title Language variable with the title of the form
+ * @param array $form An array describing the required data (options etc)
+ *
+ * @return string Information to render the form
+ */
+ public function generate_form_render_data($title, $form);
+
+ /**
* Sets the number of tasks belonging to the installer in the current mode.
*
* @param int $task_count Number of tasks
@@ -175,6 +185,14 @@ interface iohandler_interface
public function add_download_link($route, $title, $msg = null);
/**
+ * Redirects the user to a new page
+ *
+ * @param string $url URL to redirect to
+ * @param bool $use_ajax Whether or not to use AJAX redirect
+ */
+ public function redirect($url, $use_ajax = false);
+
+ /**
* Renders the status of update files
*
* @param array $status_array Array containing files in groups to render
diff --git a/phpBB/phpbb/install/helper/navigation/convertor_navigation.php b/phpBB/phpbb/install/helper/navigation/convertor_navigation.php
new file mode 100644
index 0000000000..54cab83b1d
--- /dev/null
+++ b/phpBB/phpbb/install/helper/navigation/convertor_navigation.php
@@ -0,0 +1,78 @@
+<?php
+/**
+ *
+ * This file is part of the phpBB Forum Software package.
+ *
+ * @copyright (c) phpBB Limited <https://www.phpbb.com>
+ * @license GNU General Public License, version 2 (GPL-2.0)
+ *
+ * For full copyright and license information, please see
+ * the docs/CREDITS.txt file.
+ *
+ */
+
+namespace phpbb\install\helper\navigation;
+
+use phpbb\install\helper\install_helper;
+
+class convertor_navigation implements navigation_interface
+{
+ /**
+ * @var install_helper
+ */
+ private $install_helper;
+
+ /**
+ * Constructor
+ *
+ * @param install_helper $install_helper
+ */
+ public function __construct(install_helper $install_helper)
+ {
+ $this->install_helper = $install_helper;
+ }
+
+ /**
+ * {@inheritdoc}
+ */
+ public function get()
+ {
+ if (!$this->install_helper->is_phpbb_installed())
+ {
+ return array();
+ }
+
+ return array(
+ 'convert' => array(
+ 'label' => 'CONVERT',
+ 'route' => 'phpbb_convert_intro',
+ 'order' => 3,
+ array(
+ 'intro' => array(
+ 'label' => 'SUB_INTRO',
+ 'stage' => true,
+ 'order' => 0,
+ ),
+ 'settings' => array(
+ 'label' => 'STAGE_SETTINGS',
+ 'stage' => true,
+ 'route' => 'phpbb_convert_settings',
+ 'order' => 1,
+ ),
+ 'convert' => array(
+ 'label' => 'STAGE_IN_PROGRESS',
+ 'stage' => true,
+ 'route' => 'phpbb_convert_convert',
+ 'order' => 2,
+ ),
+ 'finish' => array(
+ 'label' => 'CONVERT_COMPLETE',
+ 'stage' => true,
+ 'route' => 'phpbb_convert_finish',
+ 'order' => 3,
+ ),
+ ),
+ ),
+ );
+ }
+}