+
+
+
+
:
+
+
+ error)): ?>
+
+ error as $error) : ?>
+
+
+
+
+
+
+
+
script->title; ?>
+ script->description; ?>
+
+
+
+
+
+
+ true,
+ 'title' => 'Test Title',
+ 'footer' => '
',
+ );
+
+ echo HTMLHelper::_('bootstrap.renderModal', 'help-modal-box', $options, '
Content set by ajax.
');
+ ?>
+
+
+
\ No newline at end of file
diff --git a/administrator/com_joomgallery/tmpl/migration/step3.php b/administrator/com_joomgallery/tmpl/migration/step3.php
new file mode 100644
index 00000000..a2abff75
--- /dev/null
+++ b/administrator/com_joomgallery/tmpl/migration/step3.php
@@ -0,0 +1,177 @@
+ **
+** @copyright 2008 - 2023 JoomGallery::ProjectTeam **
+** @license GNU General Public License version 3 or later **
+*****************************************************************************************/
+
+// No direct access
+defined('_JEXEC') or die;
+
+use \Joomla\CMS\Factory;
+use \Joomla\CMS\Router\Route;
+use \Joomla\CMS\Language\Text;
+use \Joomla\CMS\HTML\HTMLHelper;
+use \Joomla\CMS\Layout\FileLayout;
+use Joomla\CMS\Form\FormFactoryInterface;
+
+// Import CSS
+$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
+$wa->useStyle('com_joomgallery.admin')
+ ->useScript('com_joomgallery.admin')
+ ->useScript('com_joomgallery.migrator');
+
+// Add language strings to JavaScript
+Text::script('COM_JOOMGALLERY_ERROR_NETWORK_PROBLEM');
+Text::script('ERROR');
+Text::script('WARNING');
+Text::script('INFO');
+Text::script('SUCCESS');
+?>
+
+
+
+
+
+
:
+
+
+ error)): ?>
+
+ error as $error) : ?>
+
+
+
+
+
+
+
+
script->title; ?>
+ script->description; ?>
+
+
+
+
+ error) && !empty($this->migrateables)) : ?>
+
+ migrateables as $key => $migrateable) : ?>
+ get('type');
+ $total = count($migrateable->get('queue')) + $migrateable->get('failed')->count() + $migrateable->get('successful')->count();
+ ?>
+
+
+ completed;
+
+ if($migrateable->completed)
+ {
+ array_push($completed, $type);
+ }
+
+ $i++;
+ ?>
+
+
+
+ migrateables))) && empty(array_diff_key(array_keys($this->migrateables), $completed)))
+ {
+ $total_complete = true;
+ }
+ ?>
+
+
+ get(FormFactoryInterface::class);
+ $migrepairForm = $formFactory->createForm('migrepairForm', array());
+ $source = _JOOM_PATH_ADMIN . '/forms/migrationrepair.xml';
+
+ if ($migrepairForm->loadFile($source) == false)
+ {
+ throw new \RuntimeException('Form::loadForm could not load file');
+ }
+
+ // Migration repair modal box
+ $options = array('modal-dialog-scrollable' => true,
+ 'title' => Text::_('COM_JOOMGALLERY_MIGRATION_MANUAL'),
+ 'footer' => '
',
+ );
+ $data = array('script' => $this->script->name, 'form' => $migrepairForm);
+ $layout = new FileLayout('joomgallery.migrepair', null, array('component' => 'com_joomgallery', 'client' => 1));
+ $body = $layout->render($data);
+
+ echo HTMLHelper::_('bootstrap.renderModal', 'repair-modal-box', $options, $body);
+ ?>
+
+
+
\ No newline at end of file
diff --git a/administrator/com_joomgallery/tmpl/migration/step4.php b/administrator/com_joomgallery/tmpl/migration/step4.php
new file mode 100644
index 00000000..ec2600b4
--- /dev/null
+++ b/administrator/com_joomgallery/tmpl/migration/step4.php
@@ -0,0 +1,174 @@
+ **
+** @copyright 2008 - 2023 JoomGallery::ProjectTeam **
+** @license GNU General Public License version 3 or later **
+*****************************************************************************************/
+
+// No direct access
+defined('_JEXEC') or die;
+
+use \Joomla\CMS\HTML\HTMLHelper;
+use \Joomla\CMS\Factory;
+use \Joomla\CMS\Router\Route;
+use \Joomla\CMS\Language\Text;
+
+HTMLHelper::addIncludePath(JPATH_COMPONENT . '/src/Helper/');
+
+// Import CSS
+$wa = Factory::getApplication()->getDocument()->getWebAssetManager();
+$wa->useStyle('com_joomgallery.admin')
+ ->useScript('com_joomgallery.admin')
+ ->useScript('form.validate')
+ ->useScript('com_joomgallery.form-edit');
+?>
+
+
+
+
+
:
+
+
+ error)): ?>
+
+ error as $error) : ?>
+
+
+
+
+
+
+
+
script->title; ?>
+ script->description; ?>
+
+
+
+
+
+ error)) : ?>
+
+ postcheck as $cat) : ?>
+
+
+ title): ?>
+
+
title; ?>
+ desc): ?>
+ desc; ?>
+
+
+
+
+
+ title; ?>
+
+
+ | colTitle; ?> |
+ |
+ |
+
+
+
+
+
+ checks as $check) : ?>
+ result)
+ {
+ if($check->warning)
+ {
+ // Check successful, but marked as warning
+ $badgeClass = 'warning';
+ $badgeText = Text::_('COM_JOOMGALLERY_WARNING');
+ }
+ else
+ {
+ // Check successful
+ $badgeClass = 'success';
+ $badgeText = Text::_('COM_JOOMGALLERY_SUCCESSFUL');
+ }
+ }
+ else
+ {
+ // Check failed
+ $badgeClass = 'danger';
+ $badgeText = Text::_('COM_JOOMGALLERY_FAILED');
+ }
+ ?>
+
+
+ title; ?>
+ desc; ?>
+ |
+ |
+
+
+ |
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ success) : ?>
+
+
+
+
+
+
+
\ No newline at end of file
diff --git a/joomgallery.xml b/joomgallery.xml
index 8807e778..de5d3cee 100644
--- a/joomgallery.xml
+++ b/joomgallery.xml
@@ -53,6 +53,7 @@