PHPackages                             webfactorybulgaria/base - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Localization &amp; i18n](/categories/localization)
4. /
5. webfactorybulgaria/base

ActiveProject[Localization &amp; i18n](/categories/localization)

webfactorybulgaria/base
=======================

Multilingual CMS built with Laravel 5

v4.1.43(8y ago)22921[1 PRs](https://github.com/webfactorybulgaria/Base/pulls)MITJavaScriptPHP &gt;=5.5.9

Since Dec 28Pushed 8y ago2 watchersCompare

[ Source](https://github.com/webfactorybulgaria/Base)[ Packagist](https://packagist.org/packages/webfactorybulgaria/base)[ RSS](/packages/webfactorybulgaria-base/feed)WikiDiscussions master Synced 4w ago

READMEChangelogDependencies (35)Versions (299)Used By (0)

Admintool4
==========

[](#admintool4)

![Packagist](https://camo.githubusercontent.com/44b0b580b9360698dc89f42a8e6373c474503d7df8c6718383637beec70b7ed2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f74797069636d732f626173652e7376673f7374796c653d666c61742d737175617265)![Packagist](https://camo.githubusercontent.com/d9f290a578e7f0da84b0add516f216e5e2622a54086d9c32c9df9b53fca324c2/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f6c2f74797069636d732f626173652e7376673f7374796c653d666c61742d737175617265)![SensioLabs Insight](https://camo.githubusercontent.com/b98bc626afd081e53763867b74c043c2c4bc58d45022c4a85a95c06c040d4094/68747470733a2f2f696d672e736869656c64732e696f2f73656e73696f6c6162732f692f39363935316233302d303036302d343134632d393932642d6466393635626436333030302e7376673f7374796c653d666c61742d737175617265)![Scrutinizer](https://camo.githubusercontent.com/66ca02538b06f1fa4932ced43c4db06a053664a748717f194a277cbb0a4d97bd/68747470733a2f2f696d672e736869656c64732e696f2f7363727574696e697a65722f672f74797069636d732f626173652e7376673f7374796c653d666c61742d737175617265)

Admintool4 is a modular multilingual content management system built with [Laravel 5.2](http://laravel.com) based on TypiCMS. Out of the box you can manage pages, events, news, places, sliders, etc.

[![TypiCMS screenshot](https://camo.githubusercontent.com/3c3f54ca2e6b00eced703a20a6ef934b2e801d46e16fd302dd399dab69200c0b/687474703a2f2f74797069636d732e6f72672f75706c6f6164732f66696c65732f74797069636d732d73637265656e73686f742e706e673f31)](https://camo.githubusercontent.com/3c3f54ca2e6b00eced703a20a6ef934b2e801d46e16fd302dd399dab69200c0b/687474703a2f2f74797069636d732e6f72672f75706c6f6164732f66696c65732f74797069636d732d73637265656e73686f742e706e673f31)

Table of contents
-----------------

[](#table-of-contents)

- [Features](#features)
- [Requirements](#requirements)
- [Installation](#installation)
    - [npm &amp; Gulp](#npm--gulp)
    - [Configuration](#configuration)
    - [Installation of a module](#installation-of-a-module)
- [Modules](#modules)
    - [Pages](#pages)
    - [Menus](#menus)
    - [Projects](#projects)
    - [Categories](#categories)
    - [Tags](#tags)
    - [Events](#events)
    - [News](#news)
    - [Contacts](#contacts)
    - [Partners](#partners)
    - [Files](#files)
    - [Galleries](#galleries)
    - [Users and roles](#users-and-roles)
    - [Blocks](#blocks)
    - [Translations](#translations)
    - [Sitemap](#sitemap)
    - [Settings](#settings)
    - [History](#history)
- [Facades](#facades)
- [Artisan commands](#artisan-commands)
- [Roadmap](#roadmap)
- [Upgrade instructions](#upgrade-instructions)
- [Change log](#change-log)
- [Contributing](#contributing)
- [Credits](#credits)
- [Licence](#licence)

Features
--------

[](#features)

### URLs

[](#urls)

This kind of URLs are managed by the CMS:

**Modules:**

- /en/events/slug-in-english
- /fr/evenements/slug-en-francais

**Pages:**

- /en/parent-pages-slug-en/subpage-slug-en/page-slug-en
- /fr/parent-pages-slug-fr/subpage-slug-fr/page-slug-fr

Requirements
------------

[](#requirements)

- PHP &gt;= 5.5.9
- OpenSSL PHP Extension
- Mbstring PHP Extension
- Tokenizer PHP Extension
- Memcached or Redis

Installation
------------

[](#installation)

First install [Node.js](http://nodejs.org) and [gulp](http://gulpjs.com)

1. Create a new project

    ```
    composer create-project webfactorybulgaria/base mywebsite

    ```
2. Enter the newly created folder

    ```
    cd mywebsite

    ```
3. DB migration and seed, user creation, npm installation and directory rights

    ```
    php artisan admintool:install

    ```

Go to  and log in.

### npm &amp; Gulp

[](#npm--gulp)

In order to work on assets, you need to install [Node.js](http://nodejs.org) and [gulp](http://gulpjs.com), then cd to your website folder and run these commands:

1. Install gulp packages according to gulpfile.js (directory **node\_modules**)

    ```
    npm install

    ```
2. Compile admin and public assets

    ```
    gulp all

    ```

### Configuration

[](#configuration)

1. Set locales in config/translatable.php.
2. Set fallback\_locale in config/app.php.
3. Set main\_locale\_in\_url in config/typicms.php to true or false.
4. Cache driver is set to array, you can change it to another taggable cache system such as redis or memcached in your .env file.

### Installation of a module

[](#installation-of-a-module)

This example is for the News module. After these steps, the module will appear in the sidebar of the back office. If you need to customize it, [publish it](#publish-a-module)!

1. Install module with Composer

    ```
    composer require webfactorybulgaria/news

    ```
2. Add `TypiCMS\Modules\News\Shells\Providers\ModuleProvider::class,` to **config/app.php**, before `TypiCMS\Modules\Core\Shells\Providers\ModuleProvider::class,`
3. Publish views and migrations

    ```
    php artisan vendor:publish

    ```
4. Migrate the database

    ```
    php artisan migrate

    ```

### Module scaffolding

[](#module-scaffolding)

This example is for a new module called Cats.

1. Create the module with artisan:

    ```
    php artisan admintool:create cats

    ```
2. The module is in **/Modules/Cats**, you can customize it
3. Add `TypiCMS\Modules\Cats\Shells\Providers\ModuleProvider::class,` to **config/app.php**, before `TypiCMS\Modules\Core\Shells\Providers\ModuleProvider::class,`
4. Migrate the database

    ```
    php artisan migrate

    ```

Existing modules
----------------

[](#existing-modules)

Each module can be published in order to be modified and tracked by git. Here is more info on [publishing a module](#publish-a-module).

### Pages

[](#pages)

Pages are nestable with drag and drop, on drop, URIs are generated and saved in the database. Each translation of a page has its own route. A page can be linked to a module.

### Menus

[](#menus)

Each menu has nestable entries. One entry can be linked to a page or URL. You can return a HTML formated menu with `Menus::build('menuname')`.

### Projects

[](#projects)

Projects have categories, projects URLs follows this pattern: /en/projects/category-slug/project-slug

### Categories

[](#categories)

Categories have many projects.

### Tags

[](#tags)

Tags are linked to projects and use the [Selectize](https://brianreavis.github.io/selectize.js/) jQuery plugin. The tags module has many to many polymorphic relations so it could easily be linked to other modules.

### Events

[](#events)

Events have starting and ending dates.

### News

[](#news)

Simple news module with linked files/images galleries.

### Contacts

[](#contacts)

Frontend contact form and admin side records management.

### Partners

[](#partners)

A partner has a logo, website URL, title and body content.

### Files

[](#files)

The files module allows you to upload multiple files. It uses [DropzoneJS](http://www.dropzonejs.com) to upload them. Thumbnails are generated on the fly with [Croppa](https://github.com/BKWLD/croppa).

### Galleries

[](#galleries)

You can create as many galleries as you want, each gallery has many files. Galleries are linkable to any module item through a polymorphic many to many relation.

### Users and roles

[](#users-and-roles)

User registration can be enabled through the settings panel (/admin/settings). Roles and Permissions are managed with [spatie/laravel-permission](https://github.com/spatie/laravel-permission).

### Blocks

[](#blocks)

Blocks are useful to display custom content in your views. You can get the content of a block with `Blocks::build('blockname')`.

### Translations

[](#translations)

Translations can be stored in the database through the admin panel (/admin/translations).

You can call DB translation everywhere with `Lang::get('db.Key')`, `trans('db.Key')` or `@lang('db.Key')`.

### Sitemap

[](#sitemap)

Route sitemap.xml generates a sitemap file in XML format. To add modules to the site map configure app/config/sitemap.php.

### Settings

[](#settings)

Change website title, and other options trough the settings panel. Settings are saved in the database

### History

[](#history)

*created*, *updated*, *deleted*, *online* and *offline* actions are logged in database. 25 latest records are displayed in the back office’s dashboard.

Facades
-------

[](#facades)

Each modules has a facade that give you access to the repository, you can call for example `News::latest(3)` to get the three latest news. Check available methods in each module’s repository.

Artisan commands
----------------

[](#artisan-commands)

Commands are located in **/vendor/admintool/core/src/Commands**

### Installation of Admintool4

[](#installation-of-admintool4)

```
php artisan admintool:install

```

### Set cache key prefix in app/config/cache.php

[](#set-cache-key-prefix-in-appconfigcachephp)

```
php artisan cache:prefix yourCachePrefix

```

This command is triggered by `admintool:install`

### Initial migration and seed

[](#initial-migration-and-seed)

```
php artisan typicms:database

```

This command is triggered by `admintool:install`

### Clean the directory public/html

[](#clean-the-directory-publichtml)

```
php artisan clear-html

```

### Publish a module

[](#publish-a-module)

If you want to modify a module, for example add some fields or a relation, you can not do it easily because each module is in vendor directory. Each TypiCMS class has its empty "Shell Class". This is an empty class which extends the base one and that is the one used in the entire CMS. When you publish a module all Shell classes are copied to the **/Modules** directory where you can easily override methods and properties. For example, the module **Pages** will be published by running this command:

```
php artisan admintool:publish pages

```

This will copy everything from **/vendor/typicms/pages/src/Shells** to **/Modules/Pages/Shells**.

Then in order for these new classes to take precedence you will have to

1. Add this to your composer.json file: "TypiCMS\\Modules\\Pages\\Shells\\": "Modules/Pages/Shells/"
2. Run `composer dump-autoload`

This way you will gain full controll of the module and in the same time you will be able to still update the module from the main repository if needed.

### Create a module

[](#create-a-module)

You can easily scaffold a module, for a module named Cats, run this command:

```
php artisan admintool:create cats

```

\##Upgrade instructions

[See the Wiki for upgrade instructions](https://github.com/webfactorybulgaria/Base/wiki)

Change log
----------

[](#change-log)

Please see [CHANGELOG](https://github.com/webfactorybulgaria/Base/blob/master/CHANGELOG.md) for more information what has changed recently.

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](https://github.com/webfactorybulgaria/Base/blob/master/CONTRIBUTING.md) for details.

Credits
-------

[](#credits)

- [Samuel De Backer](https://github.com/sdebacker)
- [All contributors](https://github.com/webfactorybulgaria/Base/graphs/contributors)

License
-------

[](#license)

Admintool4 is an open-source software licensed under the [MIT license](http://opensource.org/licenses/MIT).

###  Health Score

35

—

LowBetter than 77% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity15

Limited adoption so far

Community15

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor1

Top contributor holds 99.3% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~4 days

Recently: every ~47 days

Total

296

Last Release

3079d ago

Major Versions

2.8.14 → v4.1.42016-07-14

2.8.15 → v4.1.82016-08-02

2.8.17 → v4.1.172016-09-02

2.8.18 → v4.1.192016-09-15

2.9.0 → v4.1.222016-11-15

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1948577?v=4)[Webfactory](/maintainers/webfactorybulgaria)[@webfactorybulgaria](https://github.com/webfactorybulgaria)

---

Top Contributors

[![sdebacker](https://avatars.githubusercontent.com/u/134503?v=4)](https://github.com/sdebacker "sdebacker (838 commits)")[![kezkankrayon](https://avatars.githubusercontent.com/u/4531909?v=4)](https://github.com/kezkankrayon "kezkankrayon (1 commits)")[![ldaril](https://avatars.githubusercontent.com/u/6200296?v=4)](https://github.com/ldaril "ldaril (1 commits)")[![chriskonnertz](https://avatars.githubusercontent.com/u/4319323?v=4)](https://github.com/chriskonnertz "chriskonnertz (1 commits)")[![rperello](https://avatars.githubusercontent.com/u/1245082?v=4)](https://github.com/rperello "rperello (1 commits)")[![webfactorybulgaria](https://avatars.githubusercontent.com/u/1948577?v=4)](https://github.com/webfactorybulgaria "webfactorybulgaria (1 commits)")[![maieutiquer](https://avatars.githubusercontent.com/u/1476049?v=4)](https://github.com/maieutiquer "maieutiquer (1 commits)")

---

Tags

laravelmultilingualcmsTypiadmintool4webfactorybulgaria

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/webfactorybulgaria-base/health.svg)

```
[![Health](https://phpackages.com/badges/webfactorybulgaria-base/health.svg)](https://phpackages.com/packages/webfactorybulgaria-base)
```

###  Alternatives

[typicms/base

A modular multilingual CMS built with Laravel, enabling developers to manage structured content like pages, news, events, and more.

1.6k20.4k](/packages/typicms-base)[statamic/cms

The Statamic CMS Core Package

4.8k3.5M923](/packages/statamic-cms)[backpack/crud

Quickly build admin interfaces using Laravel, Bootstrap and JavaScript.

3.4k3.6M217](/packages/backpack-crud)[nasirkhan/laravel-starter

A CMS like modular Laravel starter project.

1.4k2.7k](/packages/nasirkhan-laravel-starter)[unopim/unopim

UnoPim Laravel PIM

10.5k2.2k](/packages/unopim-unopim)[vemcogroup/laravel-translation

Translation package for Laravel to scan for localisations and up/download to poeditor

136319.2k3](/packages/vemcogroup-laravel-translation)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
