sv-digiants/fastadminpanel

Fast admin panel generator

Installs: 0

Dependents: 0

Suggesters: 0

Security: 0

Stars: 0

Watchers: 1

Forks: 0

Open Issues: 0

Language:JavaScript

dev-main 2022-03-03 19:31 UTC

This package is not auto-updated.

Last update: 2024-05-11 04:33:36 UTC


README

About

Inspired by serverless and quickadmin. you can use it at your own risk

TODO: required_once field, soft delete, fields (datetime, password, repeat)

If installation failed - remove DB, routes/web.php and set app/Providers/AppServiceProvider.php to default value.

Install

  1. Configure DB and APP_URL file .env
  2. composer require sv-digiants/fastadminpanel
  3. Publish the packages config and assets: php artisan vendor:publish --tag=fap_public and php artisan vendor:publish --tag=fap_view
  4. php artisan fastadminpanel:install
  5. And add class aliases:
'Image' => Intervention\Image\Facades\Image::class,
  1. Publish the packages config and assets: php artisan vendor:publish --tag=lfm_config and php artisan vendor:publish --tag=lfm_public
  2. Run commands to clear cache: php artisan route:clear and php artisan config:clear
  3. In "config/lfm.php":
add line: 'middlewares' => ['admin'],
change line: ('disk' => 'public',) to ('disk' => 'lfm',)
  1. Add disk "config/filesystems.php":
'lfm' => [
    'driver' => 'local',
    'root' => public_path(),
    'url' => env('APP_URL'),
    'visibility' => 'public',
],
  1. /vendor/unisharp/laravel-filemanager/src/Lfm.php
// Change first function:
public function getNameFromPath($path)
{
    return Lfm::mb_pathinfo($path, PATHINFO_BASENAME);
}
// Add function
public static function mb_pathinfo($path, $options = null)
{
    $ret = array('dirname' => '', 'basename' => '', 'extension' => '', 'filename' => '');
    $pathinfo = array();
    if (preg_match('%^(.*?)[\\\\/]*(([^/\\\\]*?)(\.([^\.\\\\/]+?)|))[\\\\/\.]*$%im', $path, $pathinfo)) {
        if (array_key_exists(1, $pathinfo)) {
            $ret['dirname'] = $pathinfo[1];
        }
        if (array_key_exists(2, $pathinfo)) {
            $ret['basename'] = $pathinfo[2];
        }
        if (array_key_exists(5, $pathinfo)) {
            $ret['extension'] = $pathinfo[5];
        }
        if (array_key_exists(3, $pathinfo)) {
            $ret['filename'] = $pathinfo[3];
        }
    }
    switch ($options) {
        case PATHINFO_DIRNAME:
        case 'dirname':
            return $ret['dirname'];
        case PATHINFO_BASENAME:
        case 'basename':
            return $ret['basename'];
        case PATHINFO_EXTENSION:
        case 'extension':
            return $ret['extension'];
        case PATHINFO_FILENAME:
        case 'filename':
            return $ret['filename'];
        default:
            return $ret;
    }
}
  1. /vendor/unisharp/laravel-filemanager/src/Controllers/UploadController.php:
// change line 46:
$response = count($error_bag) > 0 ? $error_bag : parent::$success_response;
// to:
$response = count($error_bag) > 0 ? $error_bag : array(parent::$success_response);