Tabler.io bundle for Symfony - a backend/admin theme for easy integration

Overview

Tabler Bundle for Symfony

This repository contains a Symfony bundle, integrating the fantastic Tabler.io HTML Template into your Symfony project.

It ships with many twig helper (functions, filter, embeds. macros and includes) to speed up your development and simplify future upgrades!

Introduction

WORK IN PROGRESS

Minimum requirements

  • Symfony >= 4.4
  • PHP >= 7.3

Features

  • A main layout for your backend/admin application
  • Security layouts for login, forgot password, register account
  • Many includes, embeds and macros to help speed up the development

Technical details:

  • Webpack-Encore support for building assets
  • Event-driven handling of menu entries, tasks and notifications
  • ContextHelper for dynamic layout changes (e.g. based on user preferences)
  • Translations for: english, german, italian, czech, spanish, russian, arabic, finnish, japanese, swedish, portuguese (brazilian), dutch, french, turkish, danish, chinese, slovakian, basque, polish, esperanto, hebrew, romanian (please help translating it to more languages)
  • Based on Bootstrap 5
  • Supports FontAwesome 5

Installation

Applications that use Symfony Flex

Open a command console, enter your project directory and execute:

composer require kevinpapst/tabler-bundle

Applications that don't use Symfony Flex

Step 1: Download the Bundle

Open a command console, enter your project directory and execute the following command to download the latest stable version of this bundle:

composer require kevinpapst/tabler-bundle

Step 2: Configure the Bundle

Copy the default config to your config/packages/ directory:

cp vendor/kevinpapst/tabler-bundle/config/packages/tabler.yaml config/packages/

Step 3: Enable the Bundle

Then, enable the bundle by adding it to the list of registered bundles in the config/bundles.php file of your project:

// config/bundles.php

return [
    // ...
    KevinPapst\TablerBundle\TablerBundle::class => ['all' => true],
];

License and contributors

Published under the MIT, read the LICENSE file for more information.

Comments
  • Add

    Add "vertical layout" template

    Description

    Add the "vertical" Tabler layout to the bundle.

    Tabler demo link : https://preview.tabler.io/layout-vertical.html

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Feature 
    opened by cavasinf 45
  • Create accordion.html.twig

    Create accordion.html.twig

    Description

    Add accordion component. see #99

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Feature 
    opened by wucherpfennig 17
  • Refactoring `alert()` macro

    Refactoring `alert()` macro

    Description

    Related to #89

    Usage

    {% from '@Tabler/components/alert.html.twig' import alert %}
    
    <div class="row">
        <div class="col-6">
            {{ alert('danger', 'Description' ,'Title', 'fas fa-exclamation-triangle', true) }}
            {{ alert('danger', 'Description' ,'Title', 'fas fa-exclamation-triangle') }}
            {{ alert('danger', 'Description' ,'Title', 'fas fa-exclamation-triangle') }} {# Error here #}
            {{ alert('warning', 'Description' ,'Title') }}
            {{ alert('warning', null ,'Title') }}
            {{ alert('warning', null ,'Title', 'fas fa-exclamation-triangle') }}
            {{ alert('success', 'Description') }}
            {{ alert('success', 'Description', null, 'fas fa-exclamation-triangle') }}
            {{ alert('primary') }}
        </div>
    
        <div class="col-6">
            {{ alert({title : 'Title V2', description: 'Description V2', icon : 'warning', dismissible : true}) }}
            {{ alert({title : 'Title V2', description: 'Description V2', icon : 'warning'}) }}
            {{ alert({title : 'Title V2', description: 'Description V2', icon : 'warning', important: true}) }} {# Looks good now #}
            {{ alert({title : 'Title V2', description: 'Description V2', type : 'warning'}) }}
            {{ alert({title : 'Title V2', type : 'warning'}) }}
            {{ alert({title : 'Title V2', icon : 'warning', type : 'warning'}) }}
            {{ alert({description : 'Description V2', type : 'success'}) }}
            {{ alert({description : 'Description V2', type : 'success', icon : 'warning'}) }}
            {{ alert({type : 'primary'}) }}
        </div>
    </div>
    

    Preview

    image

    Types of changes

    • [x] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Feature 
    opened by cavasinf 17
  • Breadcrumb that is not a real breadcrumb

    Breadcrumb that is not a real breadcrumb

    Context 📋

    In the page-header, I want to add buttons like Create new, image

    and still have the breadcrumb: Items > Actions. image

    Current state 👀

    Page header buttons are at the position of Breadcrumb. https://github.com/kevinpapst/TablerBundle/blob/014debb4a80785a99d070259b62cc34d4be2ad90/templates/layout.html.twig#L96-L109

    Problem ❌

    With that current state,

    • If I want to add my buttons, I'll put them INSIDE breadcrumb block with custom HTML to allow to have Buttons + Breadcrumb.
    • Plus, we are declaring a block about Breadcrumb with buttons on default values. In that case, it's not really a "Breadcrumb".

    Possible solution ✔️

    Split current {% block breadcrumb %} into 3 blocks

    {% block page_header_right %}
        <div class="col-auto ms-auto d-print-none">
            {% block page_header_actions %}
                <div class="btn-list">
                    <a href="#" class="btn btn-white">
                        New view
                    </a>
                    <a href="#" class="btn btn-primary d-none d-sm-inline-block">
                        Create new report
                    </a>
                </div>
            {% endblock %}
            {% block breadcrumb_container %}
                <div class="text-end">
                    {% block breadcrumb %}
                        Entity > Action > ...
                    {% endblock %}
                </div>
            {% endblock %}
        </div>
    {% endblock %}
    
    Bug Status: Has PR 
    opened by cavasinf 17
  • change argument order to simplify icon usage outside buttons

    change argument order to simplify icon usage outside buttons

    Description

    Attention: This can a BC break if you used more than an argument in the |icon filter or more than one argument in the tabler_icon() function before.

    Fixes #68

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [ ] New feature (non-breaking change which adds functionality)
    • [x] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    opened by kevinpapst 13
  • [Button] Bootstrap tooltip

    [Button] Bootstrap tooltip

    https://github.com/kevinpapst/TablerBundle/blob/8af12de25e69acc6658fed69eb331a2c532b6f47/templates/components/button.html.twig#L43

    If using Tabler JS import file:

    • data-toggle="tooltip" supposed to be data-bs-toggle="tooltip" https://github.com/tabler/tabler/blob/74985f8d008395d695d5ab1ad5b729684b00b8af/src/js/src/tooltip.js#L3

    Should we use Tabler default behavior or Bootstrap configuration ?

    Bug Status: Reviewed 
    opened by cavasinf 12
  • Title block names - Wrongly named

    Title block names - Wrongly named

    When using the blocks for header titles, there names can be not comprehended by devs (and me).

    We are talking about subtitle and title. Or in Tabler, it's more pretitle and title.

    Example

    My page is a List of products that come from Products. Breadcrumb would be : Products > List of products.

    | | Tabler.io | TablerBundle | |:---:|:---:|:---:| | Variable | image | image |
    | Example | image | image |

    I think it's more normal/user friendly to have the main title more bigger and wider than the pretitle.

    ⚠️ Renaming a block can break existing projects ⚠️

    Feature Status: Has PR 
    opened by cavasinf 11
  • Add `status indicator` component

    Add `status indicator` component

    See https://preview.tabler.io/docs/statuses.html#status-indicator

    Usage

    {% from '@Tabler/components/status_indicator.html.twig' import status_indicator %}
    
    <div class="row align-items-center text-start">
        <div class="col p-0">
            {{ status_indicator({color : item.open ? 'green' : 'red', animated : false, extraClass :'float-end' }) }}
        </div>
        <div class="col p-0">
            {{ item.open ? 'label.opened'|trans : 'label.closed'|trans }}
        </div>
    </div>
    

    Preview

    image

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Status: Reviewed Feature 
    opened by cavasinf 10
  • [Feature] Button macro - Simplified it

    [Feature] Button macro - Simplified it

    Description

    I'm sorry but I have to 😢.

    Changes:

    • Simple way to disable icon from button() macro. Give false to icon parameter.
    • Add label color into macro values parameter.

    Demo

    image

    Code

    Twig

    {{ button('save', { title : 'action.save'|trans}) }}
    {{ button('save', { title : 'action.save'|trans}, false) }}
    {{ button('save', { title : 'action.save'|trans, label: 'test'}) }}
    {{ button('save', { title : 'action.save'|trans}, 'success') }}
    {{ button(false , { title : 'action.save'|trans}) }}
    {{ button(false , { title : 'action.save'|trans}, 'link') }}
    {{ button(false , { title : 'action.save'|trans}, 'success') }}
    {{ button('save', { title : 'action.save'|trans, combined: true}, 'success') }}
    {{ button('save', { title : 'action.save'|trans, combined: true, label: 'test', labelColor: 'red'}, 'success') }}
    

    HTML rendered

    <a class="btn  btn-icon" href="#" data-toggle="tooltip" data-bs-placement="top" title="Enregistrer"><i class="icon fas fa-save"></i></a>
    <a class="btn  btn-icon" href="#" data-toggle="tooltip" data-bs-placement="top" title="Enregistrer"><i class="icon fas fa-save"></i></a>
    <a class="btn" href="#" data-toggle="tooltip" data-bs-placement="top" title="Enregistrer"><i class="icon fas fa-save"></i><span class="badge bg-yellow ">test</span></a>
    <a class="btn btn-success  btn-icon" href="#" data-toggle="tooltip" data-bs-placement="top" title="Enregistrer"><i class="icon fas fa-save"></i></a>
    <a class="btn" href="#">Enregistrer</a>
    <a class="btn btn-link" href="#">Enregistrer</a>
    <a class="btn btn-success" href="#">Enregistrer</a>
    <a class="btn btn-success" href="#"><i class="icon fas fa-save"></i>
        Enregistrer
    </a>
    <a class="btn btn-success" href="#"><i class="icon fas fa-save"></i>
        Enregistrer
        <span class="badge bg-red ms-1">test</span>
    </a>
    

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Status: Reviewed Feature 
    opened by cavasinf 10
  • update to beta 13

    update to beta 13

    Description

    Want to give it a try @cavasinf @wucherpfennig before merge?

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    opened by kevinpapst 9
  • [csrf_token] Symfony 5 without FosUserBundle

    [csrf_token] Symfony 5 without FosUserBundle

    I'm currently migrating my project to Symfony 5. FOSUserBundle being deprecated, I've unplugged it from my project.

    But now I've an error at that line:

    https://github.com/kevinpapst/TablerBundle/blob/5110ae631e47581880c668d456c20a9dd3d2bafa/templates/security.html.twig#L68-L70

    image

    ❔ Who define that variable ❔

    If I change the line by {% if csrf_token | default(true) %}, it works. What is the purpose of that "if" condition ?

    Bug Status: Has PR 
    opened by cavasinf 9
  • [Card] Add Card component with nav

    [Card] Add Card component with nav

    Description

    image

    {% set raw_html_example %}
        <div class="card-body">
            <h3><span class="badge bg-success">Active</span> content</h3>
            <p class="mb-0">With some text</p>
        </div>
        <div class="card-footer">
            <div class="d-flex">
                <a href="#" class="btn btn-link">Cancel</a>
                <a href="#" class="btn btn-primary ms-auto">Go somewhere</a>
            </div>
        </div>
    {% endset %}
    
    {% set items = [
        {
            name : 'First',
            content : 'First content',
        },
        {
            name : '<i class="fas fa-times me-2"></i>Disabled',
            content : 'Disabled content',
            disabled : true,
            raw : true,
        },
        {
            name : 'Active',
            content : raw_html_example,
            active : true,
            raw : true,
        },
        {
            name : 'Url',
            url : 'https://www.w3schools.com/',
        },
    ] %}
    
    {% embed '@Tabler/embeds/card_nav.html.twig' with { items : items} %}{% endembed %}
    
    {% embed '@Tabler/embeds/card_nav.html.twig' with { items : items, pills: true} %}
        {% block card_nav_after %}
            <li class="nav-item ms-auto">
                <a class="nav-link" href="#">
                    <i class="fas fa-cog"></i>
                </a>
            </li>
        {% endblock %}
    {% endembed %}
    
    {% embed '@Tabler/embeds/card_nav.html.twig' with { items : items, tabs : true} %}{% endembed %}
    
    {% embed '@Tabler/embeds/card_nav.html.twig' with { items : items, tabs : true, bottom : true} %}{% endembed %}
    
    {% embed '@Tabler/embeds/card_nav.html.twig' with { items : items, tabs : true} %}
        {% block card_content %}
            <div class="card">
                <div class="card-body">
                    <h2>Single page/tab content</h2>
                    <p>
                        I'm a content that will not be changed.<br/>
                        Even if you click tabs!
                    </p>
                    <blockquote>Useful when one tab correspond to one specifics URL</blockquote>
                </div>
            </div>
        {% endblock %}
    {% endembed %}
    

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [x] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Status: Needs Review Feature 
    opened by cavasinf 1
  • Card embed block names

    Card embed block names

    Big BC BREAK but we should rename blocks inside card embed.

    https://github.com/kevinpapst/TablerBundle/blob/a2d91a62db826e770c645515286615668673cf1f/templates/embeds/card.html.twig#L24

    They are called box_xxxxx as a remnant of AdminLTE. And classes card-xxxx We should stick to Bootstrap and/or Tabler name convention and use card_xxxx instead.

    WDYT ?

    Status: Reviewed Feature 
    opened by cavasinf 5
  • Support KNP Menu

    Support KNP Menu

    AdminLTEBundle supported KnpMenu, which was nice. It's a powerful library.

    I see that the key for knp_menu support is in the config, but if it's enabled it fails, because knp-menu.yml is missing from the config.

    I've added that file, but of course the rendering doesn't work. @kevinpapst , is that something you can bring over from the old bundle? Especially since it looks like we should have vertical menu support soon.

    Status: Reviewed Feature 
    opened by tacman 4
  • Add `symfonycasts/reset-password-bundle@1.11` template

    Add `symfonycasts/[email protected]` template

    Description

    From https://github.com/kevinpapst/TablerBundle/issues/10

    More here: https://github.com/SymfonyCasts/reset-password-bundle

    Types of changes

    • [ ] Bug fix (non-breaking change which fixes an issue)
    • [x] New feature (non-breaking change which adds functionality)
    • [ ] Breaking change (fix or feature that would cause existing functionality to change)

    Checklist

    • [ ] I updated the documentation (see here)
    • [x] I agree that this code will be published under the MIT license
    Status: Needs Review Feature 
    opened by cavasinf 13
  • Drop support for Symfony 4.4 and PHP < 8.0

    Drop support for Symfony 4.4 and PHP < 8.0

    Given that this is a new bundle, with no existing user base with promises of backwards compatibility, I'd like to advocate for PHP8 and dropping Symfony support less than 5.4.

    In particular, I really like using attributes instead of annotations. Also, strong type-hinting makes coding easier and more robust.

    I've switched to 8.1, and although I'm not using any 8.1 specific features yet, given the newness of this bundle, I'm not sure how many people we'd lose if that were a requirement.

    For example, MenuItemModel could be MUCH shorter by defining properties in the constructor (PHP 8.0) and I think some of those properties are readonly, and could be defined as such in the constructor (PHP 8.1)

    While not essential, I think it would make for a better bundle, and certainly a better developer experience.

    Feature Status: In Standby 
    opened by tacman 5
  • [Feature] Templating - Missing some

    [Feature] Templating - Missing some "Widget template" from Tabler

    opened by cavasinf 3
Releases(0.8)
  • 0.8(Oct 17, 2022)

    • fix container class on footer @kevinpapst
    • fix notifications dropdown html @kevinpapst
    • added multiple new language files @kevinpapst
    • improve error page - allow long suggestion text, instead of short description @kevinpapst
    • allow accesskey for keyboard shortcuts in buttons @kevinpapst
    • handle null URL in navigation/menu models (#111) @kevinpapst
    • Add more modal class blocks (#112) @cavasinf
    • BugFix themes link (#113) @cavasinf
    • link accordion docs (#114) @wucherpfennig
    • Update theme override doc (#115) @cavasinf
    • Add progress bar component (#117) @cavasinf
    • Move Twig block "body-class" into the class attribute of BODY (#121) @Etrimi
    • extract html head to include, prevent apps from showing up in search @kevinpapst
    • Added wizard "template" (#118) @cavasinf
    • added german translation for wizard @kevinpapst
    • added card tabs navigation (#119) @cavasinf
    Source code(tar.gz)
    Source code(zip)
  • 0.7(Sep 8, 2022)

    • added accordion component #103 @wucherpfennig
    • added carousel component #104 @wucherpfennig
    • new block page_intro to replace the entire page title section @kevinpapst
    • allow custom attr in dropdown buttons #105 @wucherpfennig
    • removed html comments @kevinpapst
    Source code(tar.gz)
    Source code(zip)
  • 0.6(Aug 5, 2022)

    • updated tabler to beta10 #102 - @wucherpfennig
    • allow to disable navbar-brand-autodark @kevinpapst
    • fix duplicate rendering of navbar blocks in vertical layout @kevinpapst
    • rebuild with latest tabler beta release 11 #106 @kevinpapst
    Source code(tar.gz)
    Source code(zip)
  • 0.5(Jul 2, 2022)

    We are still in development mode and minor issues might occur upon updating: look out for potential problems (prefixed [BC]).

    • added offcanvas embed (#92) - thanks @cavasinf
    • added status() and status_dot() macros (#98) - thanks @wucherpfennig
    • [BC] remove FOS user references (#94) - thanks @kevinpapst
    • [BC] removed unused / very opinionated code from the forms theme (#97) - thanks @kevinpapst
    • fix 'active' display on menu for third level (#96) - thanks @wucherpfennig
    • allow overwriting page_action classes - thanks @kevinpapst
    • improved modal and added docs - thanks @kevinpapst

    We ❤️ alerts - so we can't get enough of them 😁

    • refactoring alert() macro (#90) - thanks @cavasinf
    • fix alert colors with alert-important (#91) - thanks @cavasinf
    • allow to set extra class for alerts - thanks @kevinpapst
    • map error to danger for flash messages - thanks @kevinpapst
    • re-use alert macro with important for flash messages - thanks @kevinpapst
    • added docs for callout, which now uses new alert params (#93) - thanks @kevinpapst
    Source code(tar.gz)
    Source code(zip)
  • 0.4(May 30, 2022)

    This is a pre-release and it might include small BC breaks.

    • Added "vertical layout" template - thanks @cavasinf
    • Added RTL support - thanks @kevinpapst
    • Add status_position to card embed - thanks @wucherpfennig
    • Add block body_class to templates - thanks @wucherpfennig
    • Add "status indicator" component - thanks @cavasinf
    • Added "steps" component - thanks @cavasinf
    • Fix actions display on small screens - thanks @wucherpfennig
    • Fix menu badge issue on first level - thanks @kevinpapst
    • Allow more symfony versions - thanks @kevinpapst
    • Added preview screenshot for docs - thanks @cavasinf
    • Upgrade phpunit - thanks @kevinpapst
    Source code(tar.gz)
    Source code(zip)
  • 0.3(Mar 27, 2022)

    This pre-release includes one small BC break: the outer div class wrapper was replaced with page. Check your CSS and Javascript.

    • fix alert macro
    • fix icon usage
    • allow symfony 6 #73 - thanks @tacman
    • change .wrapper to .page #74 - thanks @cavasinf
    Source code(tar.gz)
    Source code(zip)
  • 0.2(Mar 2, 2022)

    This pre-release includes many small BC breaks, as we are still in development mode without stable API.

    • Tabler 1.0 beta 9
    • Dozens of new features, including many new macros, embeds and new configurations
    • First documentation pages were added
    • Added demo application showcasing the layout and many features

    Thanks to @thePanz @creiner for their contributions.

    And 💯 percent ❤️ to @cavasinf for helping maintain this package 👍

    Source code(tar.gz)
    Source code(zip)
  • 0.1(Nov 2, 2021)

Owner
Kevin Papst
PHP Freelancer. Maintainer of Kimai time-tracking.
Kevin Papst
A Symfony bundle built to schedule/consume repetitive tasks

Daily runs Code style Infection PHPUnit Rector Security Static analysis A Symfony bundle built to schedule/consume repetitive tasks Main features Exte

Guillaume Loulier 98 Jan 4, 2023
Symfony bundle for class/method memoization

Symfony service memoization bundle This bundle provides memoization for your services - every time you call the same method with the same arguments a

Dominik Chrástecký 16 Oct 31, 2022
A Symfony2 bundle that integrates Select2 as a drop-in replacement for a standard entity field on a Symfony form.

select2entity-bundle Introduction This is a Symfony bundle which enables the popular Select2 component to be used as a drop-in replacement for a stand

Ross Keatinge 214 Nov 21, 2022
Symfony Bundle to create HTML tables with bootstrap-table for Doctrine Entities.

HelloBootstrapTableBundle This Bundle provides simple bootstrap-table configuration for your Doctrine Entities. Used bootstrap-table version 1.18.3. I

Sebastian B 7 Nov 3, 2022
Laravel style FormRequests for Symfony; inspired by adamsafr/form-request-bundle

Somnambulist Form Request Bundle An implementation of form requests from Laravel for Symfony based on the original work by Adam Sapraliev. Requirement

Somnambulist Tech 1 Dec 14, 2021
RSQueue Bundle for Symfony

RSQueueBundle for Symfony Simple queuing system based on Redis Table of contents Installing/Configuring Tags Installing Redis Installing PHPRedis Inst

RSQueue 11 Oct 8, 2018
🕧 Provides an scheduler bundle for symfony framework.

?? PHP Scheduler Bundle Provides the integration of the PHP Scheduler library into Symfony Framework. Installation Run composer require flexic/schedul

FlexicSystems 3 Nov 15, 2022
PHP bundle which makes array traversing / inserting dead easy.

XTraverse.php This bundle makes it dead easy to traverse through nested arrays/objects in PHP. Installation Via Composer composer require phiil/xtrave

Philipp Martini 2 Feb 12, 2022
A quick naked theme to demonstrate how easy it is to support Gutenberg using ACF blocks

ACF Gutenberg Demo Theme A quick naked theme to demonstrate how easy it is to support Gutenberg using ACF blocks demo.mp4 Files I have found a useful

Stirtingale 1 Oct 28, 2021
📦 An easy way to share the data from your backend to the JavaScript.

Laravel Shared Data ✨ Introduction Laravel Shared Data provides an easy way to share the data from your backend to the JavaScript. ?? Quick start Inst

Coderello 326 Nov 30, 2022
Sanitize untrustworthy HTML user input (Symfony integration for https://github.com/tgalopin/html-sanitizer)

html-sanitizer is a library aiming at handling, cleaning and sanitizing HTML sent by external users (who you cannot trust), allowing you to store it and display it safely. It has sensible defaults to provide a great developer experience while still being entierely configurable.

Titouan Galopin 86 Oct 5, 2022
AccessibleBundle provides an Accessible integration for your Symfony projects

AccessibleBundle AccessibleBundle provides an Accessible integration for your Symfony projects. This will allow you to define your class behavior usin

Antares Tupin 13 Apr 2, 2022
Simple php-imap integration for Symfony 2.8, 3.x and 4.x.

PHP-IMAP integration bundle Simple php-imap integration for Symfony 4.x, 5.x and 6.x. The version 1.5 and above are only compatible with Symfony 4+. P

null 52 Dec 20, 2022
MeteionBundle is the Symfony integration of the Meteion library.

MeteionBundle MeteionBundle is a Symfony integration of the Meteion library. Key features Auto-configuration Commands Services Entities Installation c

Hiero 1 May 3, 2022
Symfony Framework Integration for HTTPlug

HTTPlug Bundle Symfony integration for HTTPlug. Installation To install the bundle with Symfony Flex, use the recipe: $ composer require php-http/http

The PHP HTTP group 369 Jan 3, 2023
Laravel Integration for Switchover PHP SDK. Feature Toggle Management made easy.

Switchover Laravel Integration Switchover Switchover is a Software-As-A-Service for managing feature toggles (aka switches, flags or feature flips) in

Switchover 6 Nov 6, 2022
This package provides a set of factories to be used with containers using the PSR-11 standard for an easy Doctrine integration in a project

psr-container-doctrine: Doctrine Factories for PSR-11 Containers Doctrine factories for PSR-11 containers. This package provides a set of factories to

Roave, LLC 84 Dec 14, 2022
dcat admin login captcha. - dcat admin 登录验证码。

dcat-login-captcha 简体中文 | ENGLISH dact admin login captcha. - dcat admin 登录验证码。 环境要求 dcat-admin >= 2.0 安装 Composer 安装 $ composer require guanguans/dca

guanguans 29 Dec 5, 2022
For the super admin, replace WP Admin Bar My Sites menu with an All Sites menu.

Super Admin All Sites Menu Also available at https://wordpress.org/plugins/super-admin-all-sites-menu/ Use | Prerequisite | Install | Filters | Demo |

Per Søderlind 18 Dec 17, 2022