atlantis-labs/atlantis3-framework

Atlantis CMS 3 框架


README

这是 Atlantis CMS 的核心模块。它在 MIT 许可下免费分发 - https://open-source.org.cn/licenses/MIT

0.4.13

  • 从 data-pattern-func 属性显示编辑页面中包含的模块。
  • 添加了标签助手。
  • 修复了页面父文档。
  • 进行了小的改进。
  • 修复了错误。

    0.4.14

  • 添加了对所有图像大小(例如,响应式画廊/1024x768/640x480xC/320x240/300x300xC)的裁剪。
  • 模块仓库仅对管理员用户可用。
  • 进行了小的改进。
  • 修复了错误。

    0.4.15

  • 在配置面板中添加了“排除脚本”选项。

    0.5

  • 在仪表板中添加了小部件。

    0.5.1

  • 修复了小部件。

    1.0.11

  • 修复了意外的媒体异常。
  • 提高了安全性。
  • 修复了小的错误。
  • 添加了媒体缓存。

    1.0.12

  • 修复了 php 7 异常。

    1.0.13

  • 修复了页面和模式过期。
  • 改进了样式。
  • 更新了 MobileDetect 类。

    1.0.14

  • 修复了媒体工具。

    1.0.15

  • 修复了管理员密码重置。

    1.0.16

  • 页面和模式默认顺序 - 页面和模式默认列表中现在有一个新列,指示它们的版本数量,并根据版本数量和最后编辑的版本对列表进行排序
  • 修复了 Page.body 事件,其中事件无法正确执行
  • 添加了新的系统管理员事件
    • page.created, page.edited, page.deleted, pattern.created, pattern.edited, pattern.deleted 所有这些在执行时都会接收页面或模式对象的副本。

      1.0.17

  • 添加了命令 atlantis:create:theme
  • 修复了小的错误。

    1.0.18

  • 添加了新的评论界面,工具方法来列出提供模块的评论
  • 修复了小的错误。

    1.0.19

  • 模块现在可以安装页面和模式。
  • 添加了具有重新排序功能的表格。
  • 修复了小的错误。

    1.1.0

  • 媒体上传器现在与 smartcrop.js 集成。
  • 添加了人脸检测支持。
  • Smartcrop.js 实现了一个算法来找到图像的好裁剪。
  • 您现在可以手动重新裁剪上传的图像版本手机/平板电脑/缩略图。
  • 添加了新的批量操作:添加到画廊、添加到新画廊、添加标签。
  • 小的界面更新:添加了标签弹出窗口、查看图像的相册按钮、复制路径到剪贴板按钮。

    1.1.3

  • Atlantis 3 现在是移动友好的
  • 页面侧边栏界面
  • 错误修复

    1.1.4

  • 从子文件夹工作
  • 管理员语言包
  • 添加了前端语言切换 {!! \Tools::setThemeLanguageSwitch(['lang']) !!}
  • 添加了用户名和姓氏
  • 从管理员配置中启用 HTTPS 架构
  • 修复了图像选择器缩放选项问题
  • 修复了图像选择器弹出窗口滚动问题
  • 同一页面上多个图像选择器问题 - 已修复

    1.1.50

  • 添加了新的事件 page.created, page.edited, page.deleted, pattern.created, pattern.edited, pattern.deleted, media.created, media.edited, media.deleted, gallery.deleted, gallery.created, gallery.edited
  • 主题可以创建模式和页面
  • 小的错误修复

2.0.0

  • 更新 Atlantis 从 Laravel 5.3 到 5.5(Atlantis 1. 到 Atlantis 2.)

2.0.4

  • 新功能:锁定项目功能
  • 新功能:向数据表添加自定义过滤器
  • 问题修复:修复了嵌套模式中存在 & 时的解析问题
  • 新功能:通过 pattern.set_vars 事件添加绑定自定义变量在模式中
  • 新功能:通过额外的 'admin.tab.pages' 支持模块的自定义模式选项卡
  • 问题修复:在页面和模式的 datatables 中按 updated_at 更新排序
  • 添加了图标:从媒体表中复制到剪贴板的图像 html
  • 修复了具有 data-responsive 属性的图像的 srcset
  • 添加了新的事件 site.login site.logout site.authAttempt
  • 小的错误修复

将 Atlantis 从 Laravel 5.1 迁移到 5.3 (Atlantis 0. 到 Atlantis 1.)

如果您想获得一个新的 Atlantis 复制件,您可以简单地获取最新版本,该版本将使用 Laravel 5.3

要安装 Atlantis 的最新稳定版本,您可以使用以下 Composer 命令(假设您已设置 Composer,如果没有,请访问:https://getcomposer.org.cn/

composer create-project atlantis-labs/atlantis3 . --prefer-dist

这将为您获取 Atlantis 的最新稳定版本。

如果您正在寻找 Atlantis 的最新开发版本,可以使用:composer create-project atlantis-labs/atlantis3 . dev-master

请注意,这个版本可能还不稳定。

从 Laravel 5.1 更新 Atlantis 到 5.3 (Atlantis 0. 到 Atlantis 1.)

在将 Atlantis 框架更新到 1.* 之前,您需要对内部文件夹进行一些更改。

确保您的 config\app.php 看起来像这样

<?php

return [
 ...
      |--------------------------------------------------------------------------
      | Encryption Key
      |--------------------------------------------------------------------------
      |
      | This key is used by the Illuminate encrypter service and should be set
      | to a random, 32 character string, otherwise these encrypted strings
      | will not be safe. Please do this before deploying an application!
      |
     */
    'key' => env('APP_KEY', 'SOMEAPPKEYISHERE'),
    'cipher' => 'AES-128-CBC',
    /*
      |--------------------------------------------------------------------------
      | Logging Configuration
      |--------------------------------------------------------------------------
      |
      | Here you may configure the log settings for your application. Out of
      | the box, Laravel uses the Monolog PHP logging library. This gives
      | you a variety of powerful log handlers / formatters to utilize.
      |
      | Available Settings: "single", "daily", "syslog", "errorlog"
      |
     */
    'log' => 'daily',
    /*
      |--------------------------------------------------------------------------
      | Autoloaded Service Providers
      |--------------------------------------------------------------------------
      |
      | The service providers listed here will be automatically loaded on the
      | request to your application. Feel free to add your own services to
      | this array to grant expanded functionality to your applications.
      |
     */
    'providers' => [
        'Atlantis\Providers\AtlantisServiceProvider'
    ],
...
];

这里显著的更改是密钥值的修改(您可能还需要使用 php artisan key:generate 重新生成您的应用程序密钥)

确保您的 config\auth.php 文件看起来像这样


<?php

return [
    /*
      |--------------------------------------------------------------------------
      | Authentication Defaults
      |--------------------------------------------------------------------------
      |
      | This option controls the default authentication "guard" and password
      | reset options for your application. You may change these defaults
      | as required, but they're a perfect start for most applications.
      |
     */
    'defaults' => [
        'guard' => 'web',
        'passwords' => 'users',
    ],
    /*
      |--------------------------------------------------------------------------
      | Authentication Guards
      |--------------------------------------------------------------------------
      |
      | Next, you may define every authentication guard for your application.
      | Of course, a great default configuration has been defined for you
      | here which uses session storage and the Eloquent user provider.
      |
      | All authentication drivers have a user provider. This defines how the
      | users are actually retrieved out of your database or other storage
      | mechanisms used by this application to persist your user's data.
      |
      | Supported: "session", "token"
      |
     */
    'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],
        'api' => [
            'driver' => 'token',
            'provider' => 'users',
        ],
    ],
    /*
      |--------------------------------------------------------------------------
      | User Providers
      |--------------------------------------------------------------------------
      |
      | All authentication drivers have a user provider. This defines how the
      | users are actually retrieved out of your database or other storage
      | mechanisms used by this application to persist your user's data.
      |
      | If you have multiple user tables or models you may configure multiple
      | sources which represent each model / table. These sources may then
      | be assigned to any extra authentication guards you have defined.
      |
      | Supported: "database", "eloquent"
      |
     */
    'providers' => [
        'users' => [
            'driver' => 'eloquent',
            'model' => \Atlantis\Models\User::class
        ]
    ],
    /*
      |--------------------------------------------------------------------------
      | Resetting Passwords
      |--------------------------------------------------------------------------
      |
      | Here you may set the options for resetting passwords including the view
      | that is your password reset e-mail. You may also set the name of the
      | table that maintains all of the reset tokens for your application.
      |
      | You may specify multiple password reset configurations if you have more
      | than one user table or model in the application and you want to have
      | separate password reset settings based on the specific user types.
      |
      | The expire time is the number of minutes that the reset token should be
      | considered valid. This security feature keeps tokens short-lived so
      | they have less time to be guessed. You may change this as needed.
      |
     */
    'passwords' => [
        'users' => [
            'provider' => 'users',
            'email' => 'emails.password',
            'table' => 'password_resets',
            'expire' => 60,
        ],
    ],
];


这里显著的更改是增加了守卫,因此您需要默认密钥、守卫密钥,并且密码和提供者的语法可能已更改,所以请确保您的提供者/密码与上述语法匹配。

编辑 app\Providers

  • app\Providers\EventServiceProvider 的 boot 方法不再支持任何参数。因此,您必须编辑 boot 方法,使其看起来像这样
    
    

public function boot()

{
    parent::boot();

    //
}
You would have to do the same for **app\Providers\RouteServiceProvider.php**
## Edit config/compile.php
- You would have to remove two entries/lines from the file. Namely, `realpath(__DIR__.'/../app/Providers/BusServiceProvider.php'),` and `realpath(__DIR__.'/../app/Providers/ConfigServiceProvider.php'),`

## Edit app/Http/Controllers/Controller.php

Your file should resemble the following:

<?php namespace App\Http\Controllers;

use Illuminate\Foundation\Bus\DispatchesJobs; use Illuminate\Routing\Controller as BaseController; use Illuminate\Foundation\Validation\ValidatesRequests;

abstract class Controller extends BaseController {

use DispatchesJobs, ValidatesRequests;

}


The change to note here is that DispatchesCommands has been replaced by DispatchesJobs so you have to change both use declarations to reflect the new DispatchesJobs class.

## Updating Atlantis

Thereafter, you may update Atlantis by changing the `composer.json` file in your root directory to require Atlantis 1.* version:

"require": {

"atlantis-labs/atlantis3-framework": "1.*"

},

Finally, all you have to do is run `composer update` for your project.