Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 91ab8a1f1c | |||
| fed7e4bb9c |
@@ -5,7 +5,7 @@
|
|||||||
# FILE INFORMATION
|
# FILE INFORMATION
|
||||||
# DEFGROUP: Gitea.Workflow
|
# DEFGROUP: Gitea.Workflow
|
||||||
# INGROUP: mokoplatform.Automation
|
# INGROUP: mokoplatform.Automation
|
||||||
# VERSION: 01.24.00
|
# VERSION: 01.25.00
|
||||||
# BRIEF: Auto-create feature branch when an issue is opened
|
# BRIEF: Auto-create feature branch when an issue is opened
|
||||||
|
|
||||||
name: "Universal: Issue Branch"
|
name: "Universal: Issue Branch"
|
||||||
|
|||||||
+2
-2
@@ -1,6 +1,8 @@
|
|||||||
# Changelog
|
# Changelog
|
||||||
## [Unreleased]
|
## [Unreleased]
|
||||||
|
|
||||||
|
## [01.25.00] --- 2026-06-19
|
||||||
|
|
||||||
## [01.24.00] --- 2026-06-19
|
## [01.24.00] --- 2026-06-19
|
||||||
|
|
||||||
## [01.23.00] --- 2026-06-18
|
## [01.23.00] --- 2026-06-18
|
||||||
@@ -15,5 +17,3 @@
|
|||||||
- Use `margin-inline-end` instead of `margin-right` for RTL layout support
|
- Use `margin-inline-end` instead of `margin-right` for RTL layout support
|
||||||
|
|
||||||
## [01.08.00] --- 2026-06-07
|
## [01.08.00] --- 2026-06-07
|
||||||
|
|
||||||
## [01.07.00] --- 2026-06-07
|
|
||||||
|
|||||||
@@ -1,6 +1,6 @@
|
|||||||
# MokoSuiteBackup
|
# MokoSuiteBackup
|
||||||
|
|
||||||
<!-- VERSION: 01.24.00 -->
|
<!-- VERSION: 01.25.00 -->
|
||||||
|
|
||||||
Full-site backup and restore for Joomla — database, files, and configuration.
|
Full-site backup and restore for Joomla — database, files, and configuration.
|
||||||
|
|
||||||
|
|||||||
+1
-1
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="webservices" method="upgrade">
|
<extension type="plugin" group="webservices" method="upgrade">
|
||||||
<name>Web Services - MokoSuiteBackup</name>
|
<name>Web Services - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="component" method="upgrade">
|
<extension type="component" method="upgrade">
|
||||||
<name>MokoSuiteBackup</name>
|
<name>MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="actionlog" method="upgrade">
|
<extension type="plugin" group="actionlog" method="upgrade">
|
||||||
<name>Action Log - MokoSuiteBackup</name>
|
<name>Action Log - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="console" method="upgrade">
|
<extension type="plugin" group="console" method="upgrade">
|
||||||
<name>Console - MokoSuiteBackup</name>
|
<name>Console - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="content" method="upgrade">
|
<extension type="plugin" group="content" method="upgrade">
|
||||||
<name>Content - MokoSuiteBackup</name>
|
<name>Content - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-04</creationDate>
|
<creationDate>2026-06-04</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -1,7 +1,7 @@
|
|||||||
<?xml version="1.0" encoding="UTF-8"?>
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
<extension type="plugin" group="quickicon" method="upgrade">
|
<extension type="plugin" group="quickicon" method="upgrade">
|
||||||
<name>Quick Icon - MokoSuiteBackup</name>
|
<name>Quick Icon - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="system" method="upgrade">
|
<extension type="plugin" group="system" method="upgrade">
|
||||||
<name>System - MokoSuiteBackup</name>
|
<name>System - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="task" method="upgrade">
|
<extension type="plugin" group="task" method="upgrade">
|
||||||
<name>Task - MokoSuiteBackup</name>
|
<name>Task - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -7,7 +7,7 @@
|
|||||||
-->
|
-->
|
||||||
<extension type="plugin" group="webservices" method="upgrade">
|
<extension type="plugin" group="webservices" method="upgrade">
|
||||||
<name>Web Services - MokoSuiteBackup</name>
|
<name>Web Services - MokoSuiteBackup</name>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -8,7 +8,7 @@
|
|||||||
<extension type="package" method="upgrade">
|
<extension type="package" method="upgrade">
|
||||||
<name>Package - MokoSuiteBackup</name>
|
<name>Package - MokoSuiteBackup</name>
|
||||||
<packagename>mokosuitebackup</packagename>
|
<packagename>mokosuitebackup</packagename>
|
||||||
<version>01.24.00</version>
|
<version>01.25.00</version>
|
||||||
<creationDate>2026-06-02</creationDate>
|
<creationDate>2026-06-02</creationDate>
|
||||||
<author>Moko Consulting</author>
|
<author>Moko Consulting</author>
|
||||||
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
<authorEmail>hello@mokoconsulting.tech</authorEmail>
|
||||||
|
|||||||
@@ -1,98 +0,0 @@
|
|||||||
<?php
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @package MokoSuiteBackup
|
|
||||||
* @subpackage plg_webservices_mokosuitebackup
|
|
||||||
* @author Moko Consulting <hello@mokoconsulting.tech>
|
|
||||||
* @copyright Copyright (C) 2026 Moko Consulting. All rights reserved.
|
|
||||||
* @license GNU General Public License version 3 or later; see LICENSE
|
|
||||||
*
|
|
||||||
* REST API endpoints — wire-compatible with the mcp_mokosuitebackup MCP server.
|
|
||||||
*
|
|
||||||
* Akeeba-compatible routes:
|
|
||||||
* POST /api/index.php/v1/mokosuitebackup/backup — Start backup
|
|
||||||
* GET /api/index.php/v1/mokosuitebackup/backups — List records
|
|
||||||
* DELETE /api/index.php/v1/mokosuitebackup/backup/:id — Delete record
|
|
||||||
* GET /api/index.php/v1/mokosuitebackup/backup/:id/download — Download archive
|
|
||||||
* GET /api/index.php/v1/mokosuitebackup/profiles — List profiles
|
|
||||||
*/
|
|
||||||
|
|
||||||
namespace Joomla\Plugin\WebServices\MokoSuiteBackup\Extension;
|
|
||||||
|
|
||||||
defined('_JEXEC') or die;
|
|
||||||
|
|
||||||
use Joomla\CMS\Plugin\CMSPlugin;
|
|
||||||
use Joomla\CMS\Router\ApiRouter;
|
|
||||||
use Joomla\Event\Event;
|
|
||||||
use Joomla\Event\SubscriberInterface;
|
|
||||||
use Joomla\Router\Route;
|
|
||||||
|
|
||||||
final class MokoSuiteBackupWebServices extends CMSPlugin implements SubscriberInterface
|
|
||||||
{
|
|
||||||
protected $autoloadLanguage = true;
|
|
||||||
|
|
||||||
public static function getSubscribedEvents(): array
|
|
||||||
{
|
|
||||||
return [
|
|
||||||
'onBeforeApiRoute' => 'onBeforeApiRoute',
|
|
||||||
];
|
|
||||||
}
|
|
||||||
|
|
||||||
public function onBeforeApiRoute(Event $event): void
|
|
||||||
{
|
|
||||||
/** @var ApiRouter $router */
|
|
||||||
[$router] = array_values($event->getArguments());
|
|
||||||
|
|
||||||
$defaults = [
|
|
||||||
'component' => 'com_mokosuitebackup',
|
|
||||||
'public' => false,
|
|
||||||
];
|
|
||||||
|
|
||||||
// Standard CRUD for backup records
|
|
||||||
$router->createCRUDRoutes('v1/mokosuitebackup/backups', 'backups', $defaults);
|
|
||||||
|
|
||||||
// Start a backup (POST)
|
|
||||||
$router->addRoute(
|
|
||||||
new Route(
|
|
||||||
['POST'],
|
|
||||||
'v1/mokosuitebackup/backup',
|
|
||||||
'backups.backup',
|
|
||||||
[],
|
|
||||||
$defaults
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Delete a backup (DELETE)
|
|
||||||
$router->addRoute(
|
|
||||||
new Route(
|
|
||||||
['DELETE'],
|
|
||||||
'v1/mokosuitebackup/backup/:id',
|
|
||||||
'backups.delete',
|
|
||||||
['id' => '(\d+)'],
|
|
||||||
$defaults
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// Download a backup archive (GET)
|
|
||||||
$router->addRoute(
|
|
||||||
new Route(
|
|
||||||
['GET'],
|
|
||||||
'v1/mokosuitebackup/backup/:id/download',
|
|
||||||
'backups.download',
|
|
||||||
['id' => '(\d+)'],
|
|
||||||
$defaults
|
|
||||||
)
|
|
||||||
);
|
|
||||||
|
|
||||||
// List backup profiles (GET)
|
|
||||||
$router->addRoute(
|
|
||||||
new Route(
|
|
||||||
['GET'],
|
|
||||||
'v1/mokosuitebackup/profiles',
|
|
||||||
'backups.profiles',
|
|
||||||
[],
|
|
||||||
$defaults
|
|
||||||
)
|
|
||||||
);
|
|
||||||
}
|
|
||||||
}
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<!DOCTYPE html><title></title>
|
|
||||||
@@ -1 +0,0 @@
|
|||||||
<!DOCTYPE html><title></title>
|
|
||||||
Reference in New Issue
Block a user