Ajout du FR

Ajout du FR + correction du "functions.php"
This commit is contained in:
Gauvain Boiché
2020-03-30 14:52:34 +02:00
commit 5e4c5f9418
4541 changed files with 608941 additions and 0 deletions

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

View File

@@ -0,0 +1,75 @@
<?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 install_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(
'install' => array(
'label' => 'INSTALL',
'route' => 'phpbb_installer_install',
'order' => 1,
array(
'introduction' => array(
'label' => 'INTRODUCTION_TITLE',
'stage' => true,
'order' => 0,
),
'requirements' => array(
'label' => 'STAGE_REQUIREMENTS',
'stage' => true,
'order' => 1,
),
'obtain_data' => array(
'label' => 'STAGE_OBTAIN_DATA',
'stage' => true,
'order' => 2,
),
'install' => array(
'label' => 'STAGE_INSTALL',
'stage' => true,
'order' => 3,
),
),
),
);
}
}

View File

@@ -0,0 +1,48 @@
<?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;
class main_navigation implements navigation_interface
{
/**
* {@inheritdoc}
*/
public function get()
{
return array(
'overview' => array(
'label' => 'MENU_OVERVIEW',
'route' => 'phpbb_installer_index',
'order' => 0,
array(
'introduction' => array(
'label' => 'MENU_INTRO',
'route' => 'phpbb_installer_index',
'order' => 0,
),
'support' => array(
'label' => 'MENU_SUPPORT',
'route' => 'phpbb_installer_support',
'order' => 1,
),
'license' => array(
'label' => 'MENU_LICENSE',
'route' => 'phpbb_installer_license',
'order' => 2,
),
),
),
);
}
}

View File

@@ -0,0 +1,43 @@
<?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;
/**
* Interface for installer's navigation defining services
*/
interface navigation_interface
{
/**
* Returns an array with the navigation items
*
* The returned array should have the following format:
* <code>
* array(
* 'parent_nav_name' => array(
* 'nav_name' => array(
* 'label' => 'MY_MENU',
* 'route' => 'phpbb_route_name',
* )
* )
* )
* </code>
*
* Navigation item setting options:
* - label: The language variable name
* - route: Name of the route which it is belongs to
*
* @return array
*/
public function get();
}

View File

@@ -0,0 +1,121 @@
<?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\di\service_collection;
/**
* Installers navigation provider
*/
class navigation_provider
{
/**
* @var array
*/
private $menu_collection;
/**
* Constructor
*
* @param service_collection $plugins
*/
public function __construct(service_collection $plugins)
{
$this->menu_collection = array();
foreach ($plugins as $plugin => $plugin_instance)
{
$this->register($plugin_instance);
}
}
/**
* Returns navigation array
*
* @return array
*/
public function get()
{
return $this->menu_collection;
}
/**
* Registers a navigation provider's navigation items
*
* @param navigation_interface $navigation
*/
public function register(navigation_interface $navigation)
{
$nav_arry = $navigation->get();
$this->menu_collection = $this->merge($nav_arry, $this->menu_collection);
}
/**
* Set a property in the navigation array
*
* @param array $nav_element Array to the navigation elem
* @param array $property_array Array with the properties to set
*/
public function set_nav_property($nav_element, $property_array)
{
$array_pointer = array();
$array_root_pointer = &$array_pointer;
foreach ($nav_element as $array_path)
{
$array_pointer[$array_path] = array();
$array_pointer = &$array_pointer[$array_path];
}
$array_pointer = $property_array;
$this->menu_collection = $this->merge($array_root_pointer, $this->menu_collection);
}
/**
* Recursive array merge
*
* This function is necessary to be able to replace the options of
* already set navigation items.
*
* @param array $array_to_merge
* @param array $array_to_merge_into
*
* @return array Merged array
*/
private function merge($array_to_merge, $array_to_merge_into)
{
$merged_array = $array_to_merge_into;
foreach ($array_to_merge as $key => $value)
{
if (isset($array_to_merge_into[$key]))
{
if (is_array($array_to_merge_into[$key]) && is_array($value))
{
$merged_array[$key] = $this->merge($value, $array_to_merge_into[$key]);
}
else
{
$merged_array[$key] = $value;
}
}
else
{
$merged_array[$key] = $value;
}
}
return $merged_array;
}
}

View File

@@ -0,0 +1,80 @@
<?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 update_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(
'update' => array(
'label' => 'UPDATE',
'route' => 'phpbb_installer_update',
'order' => 1,
array(
'introduction' => array(
'label' => 'INTRODUCTION_TITLE',
'stage' => true,
'order' => 0,
),
'requirements' => array(
'label' => 'STAGE_REQUIREMENTS',
'stage' => true,
'order' => 1,
),
'obtain_data' => array(
'label' => 'STAGE_OBTAIN_DATA',
'stage' => true,
'order' => 2,
),
'update_files' => array(
'label' => 'STAGE_UPDATE_FILES',
'stage' => true,
'order' => 3,
),
'update_database' => array(
'label' => 'STAGE_UPDATE_DATABASE',
'stage' => true,
'order' => 4,
),
),
),
);
}
}