| Server IP : 108.167.142.43 / Your IP : 216.73.216.223 Web Server : Apache System : Linux gator4174.hostgator.com 5.14.0-687.39.1.el9_8.x86_64 #1 SMP PREEMPT_DYNAMIC Tue Aug 18 06:09:16 EDT 2026 x86_64 User : delarice ( 2406) PHP Version : 8.3.36 Disable Function : NONE MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : OFF | Sudo : ON | Pkexec : ON Directory : /home2/delarice/public_html/wp-content/plugins/templately/modules/my-cloud/ |
Upload File : |
<?php
/**
* My-cloud module (spec 028-my-cloud).
*
* Personal cloud file storage: MyClouds.php (list/usage/upload/download/delete/
* copy-move) + SavedTemplates.php (local Elementor library listing/deletion).
* Relocated verbatim from includes/API/ — behavior byte-identical (same routes,
* params, permission logic).
*
* SCOPE NOTE: this spec's own Ownership section nests workspace routes
* (clouds/workspace, clouds/workspace/:slug, clouds/shared-workspace,
* clouds/shared-workspace/:slug) under the /clouds SPA subtree, but that
* functionality (WorkSpaces.php REST, the WorkSpace* React components, the
* workspace/sharedWorkspace/workspaceDetails redux slices) is owned by the
* separate, not-yet-extracted spec 030-workspaces. Genuinely shared UI
* (CloudsLayout, Actions, ViewButtons, ContextMenu, CloudFileName, CloudSidebar —
* all consumed by 3+ specs including 029-profile-collections' favourites/downloads/
* purchased pages) intentionally stays in react-src/ for now rather than being
* force-owned by this module; each stays cross-referenced. See this module's
* assets/js/CLAUDE.md and data-model.md's "Module Home" section for the full
* boundary reasoning.
*
* @package Templately
*/
namespace Templately\Modules\MyCloud;
use Templately\Core\Module_Base;
use Templately\Modules\MyCloud\REST\MyClouds;
use Templately\Modules\MyCloud\REST\SavedTemplates;
class Module extends Module_Base {
public function get_name(): string {
return 'my-cloud';
}
public function register_rest_routes(): void {
MyClouds::get_instance()->register_routes();
SavedTemplates::get_instance()->register_routes();
}
}