Symfony Sonata ACL – neue Einträge die nicht im Sonata erzeugt werden haben keine Rechte

Um in Symfony Sonata die ACL auch mit Einträgen zu nutzen, die durch ein Frontend oder im Hintergrund erzeugt werden, ohne den Sonatakontext, muss man den ACL Eintrag selbst erstellen. Dazu kann man einen EntityEventListener installieren und im postPersist Event folgendes tun:

    public function postPersist(LifecycleEventArgs $args)
    {
        $this->addAcl($args);
    }

    protected function addAcl(LifecycleEventArgs $args)
    {
        $entity = $args->getEntity();

        $adminSecurityHandler = $this->container->get('sonata.admin.security.handler');

        $adminPool  = $this->container->get('sonata.admin.pool');
        $admin      = $adminPool->getAdminByClass(get_class($entity));

        if (null !== $admin) {
            $objectIdentity = ObjectIdentity::fromDomainObject($entity);
            $acl = $adminSecurityHandler->getObjectAcl($objectIdentity);
            if (is_null($acl)) {
                $acl = $adminSecurityHandler->createAcl($objectIdentity);
            }
            $adminSecurityHandler->addObjectClassAces($acl, $adminSecurityHandler->buildSecurityInformation($admin));
            $adminSecurityHandler->updateAcl($acl);
        }
    }

wordpress polylang plugin und domain umzug

wer nach einem domain umzug seines blogs mit installiertem polylang plugin auch probleme mit redirects hat, dem hilft das hier evtl.

auch wer seine pfade in der db mit diversen tools umschreibt ist nicht sicher das es funktioniert.

unter einstellungen > lesen kann man die startseite und blog seite definieren, die der besucher initial sehen soll.
polylang speichert sich diese pfade!

hier einfach mal die auswahl wechseln und dann wieder nach wunsch verknüpfen.
dann erst speichert polylang den neuen pfad.

FoundationPress – compass läd import pfade nicht

wenn ihr auch probleme habt die app.css in eurem FoundationPress starter theme für wordpress mit compass zu generieren, müsst ihr evtl. die internen pfade der @import dateien anpassen:

// in app.scss
@import "foundation";
replace with
@import "../bower_components/foundation/scss/foundation";

// in _settings.scss
@import "foundation/functions";
replace with
@import "../../bower_components/foundation/scss/foundation/functions";