Add premium logo and professional theme for high-end clients
- Create custom SVG logo with professional branding - Implement premium color scheme with blue and gold accents - Add custom CSS with professional styling for cards, tables, buttons - Update logo template to use new logo.svg file - Create custom favicon for complete branding - Redesign homepage with premium content sections - Update resources page with membership tiers and premium pricing - Enhance contact page with testimonials and detailed information - Target audience: high-paying clients ($100+/hour) - Professional yet approachable design language 💘 Generated with Crush Assisted-by: GLM-4.7 via Crush <crush@charm.land>
This commit is contained in:
64
config/www/user/plugins/flex-objects/classes/FlexRouter.php
Normal file
64
config/www/user/plugins/flex-objects/classes/FlexRouter.php
Normal file
@@ -0,0 +1,64 @@
|
||||
<?php
|
||||
|
||||
namespace Grav\Plugin\FlexObjects;
|
||||
|
||||
use Grav\Framework\Route\Route;
|
||||
use Grav\Plugin\FlexObjects\Controllers\MediaController;
|
||||
use Grav\Plugin\FlexObjects\Controllers\ObjectController;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
use Psr\Http\Message\ServerRequestInterface;
|
||||
use Psr\Http\Server\MiddlewareInterface;
|
||||
use Psr\Http\Server\RequestHandlerInterface;
|
||||
|
||||
/**
|
||||
* Class FlexRouter
|
||||
* @package Grav\Plugin\FlexObjects
|
||||
*/
|
||||
class FlexRouter implements MiddlewareInterface
|
||||
{
|
||||
/**
|
||||
* @param ServerRequestInterface $request
|
||||
* @param RequestHandlerInterface $handler
|
||||
* @return ResponseInterface
|
||||
*/
|
||||
public function process(ServerRequestInterface $request, RequestHandlerInterface $handler): ResponseInterface
|
||||
{
|
||||
$context = $request->getAttributes();
|
||||
|
||||
/** @var Route $route */
|
||||
$route = $context['route'];
|
||||
$post = $request->getParsedBody();
|
||||
|
||||
$task = $post['task'] ?? $route->getParam('task');
|
||||
|
||||
if (\in_array($task, ['cropupload', 'filesupload'])) {
|
||||
$task = 'media.upload';
|
||||
}
|
||||
|
||||
switch ($task) {
|
||||
case 'media.upload':
|
||||
case 'media.delete':
|
||||
case 'media.copy':
|
||||
case 'media.remove':
|
||||
case 'media.list':
|
||||
|
||||
case 'media.add':
|
||||
case 'listmedia':
|
||||
case 'addmedia':
|
||||
case 'delmedia':
|
||||
return (new MediaController())->handle($request);
|
||||
case 'save':
|
||||
case 'create':
|
||||
case 'update':
|
||||
case 'delete':
|
||||
case 'reset':
|
||||
case 'preview':
|
||||
|
||||
case 'move':
|
||||
return (new ObjectController())->handle($request);
|
||||
}
|
||||
|
||||
// No handler found.
|
||||
return $handler->handle($request);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user