1
0
mirror of https://github.com/phpbb/phpbb.git synced 2025-07-30 21:40:43 +02:00

[ticket/14262] Move convertor to controller

PHPBB3-14262
This commit is contained in:
Mate Bartus
2015-10-28 15:00:11 +01:00
parent 10756f3f87
commit a649768e17
17 changed files with 3082 additions and 3 deletions

View File

@@ -71,6 +71,11 @@ class ajax_iohandler extends iohandler_base
*/
protected $download;
/**
* @var array
*/
protected $redirect_url;
/**
* Constructor
*
@@ -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();
@@ -130,6 +136,14 @@ class ajax_iohandler extends iohandler_base
* {@inheritdoc}
*/
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),
@@ -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;
}
@@ -372,6 +392,15 @@ class ajax_iohandler extends iohandler_base
$this->file_status = $this->template->assign_display('file_status');
}
/**
* {@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
*

View File

@@ -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)
{
}
}

View File

@@ -169,6 +169,14 @@ abstract class iohandler_base implements iohandler_interface
$this->current_task_progress = $this->task_progress_count;
}
/**
* {@inheritdoc}
*/
public function generate_form_render_data($title, $form)
{
return '';
}
/**
* Localize message.
*

View File

@@ -123,6 +123,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.
*
@@ -174,6 +184,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
*

View File

@@ -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,
),
),
),
);
}
}