Wenn ihr OAuth oder OAuth2 in euren Applikationen nutzt um bspw. einen Facebook Login zu realisieren solltet ihr unbedingt hier nachlesen:
GET random Object mit Doctrine
Doctrine selbst hat keine ORDER BY rand() Funktion implementiert. Aber es gibt eine Lösung. Man lässt sich den total count der rows ausgeben und nutzt die PHP interne rand() Funktion um FirstResult zu definieren.
/** * @return mixed */ public function getTotal() { return $this->getEntityManager()->createQueryBuilder() ->select('COUNT(p.id)') ->from('AppBundle:Product', 'p') ->getQuery() ->getSingleScalarResult(); } /** * @return mixed */ public function getRandom() { return $this->getEntityManager()->createQueryBuilder() ->select('p') ->from('AppBundle:Product', 'p') ->setFirstResult(rand(0, $this->getTotal()-1)) ->setMaxResults(1) ->getQuery() ->getSingleResult(); }
As you might know, you can use any delimiter to use the search/replace feature of sed to avoid extreme escaping of slashes.
~/ sed -r -e 's@http://google.com/@http://example.com/@g' < input.file > output.file
Get all the files a user changed in a GIT repository with this command:
git log --pretty="%H" --author="git.user.name" | while read commit_hash; do git show --oneline --name-only $commit_hash | tail -n+2; done | sort | uniq
Um Kohana 2.3 auf NGINX mit sauberen URLs zu konfigurieren geht folgende NGINX server config:
server { server_name example.com www.example.com; listen 80; root /srv/www/example.com/pages/; access_log /srv/www/example.com/logs/access.log; error_log /srv/www/example.com/logs/error.log; index index.php index.html index.htm; try_files $uri $uri/ @rewrite; location @rewrite { rewrite ^/(.*)$ /index.php/$1; } location ~ \.php { fastcgi_index index.php; fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_split_path_info ^(.+\.php)(/.+)$; fastcgi_param PATH_INFO $fastcgi_path_info; fastcgi_param PATH_TRANSLATED $document_root$fastcgi_path_info; fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name; fastcgi_param ENV "production"; } }
// show indexes of table SHOW CREATE TABLE news; // shows something like this ... CONSTRAINT `FK_3A51546D12469DE2` FOREIGN KEY (`category_id`) REFERENCES `news_category` (`id`), ... // drop index ALTER TABLE news DROP FOREIGN KEY FK_3A51546D12469DE2;
Um ein bestehendes GIT Repo in einen bestehenden Ordner, gefüllt mit Dateien, zu integrieren, kann man wie folgt vorgehen:
/~ cd notemptydir/ notemptydir/~ git init notemptydir/~ git remote add origin PATH/TO/REPO notemptydir/~ git fetch notemptydir/~ git checkout -t origin/master
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); } }
wer sich das ab und an fragt, kann mit
php -i | grep log
angezeigt bekommen, wo die aktuelle php installation ihre logs hinschreibt.
Wie schon in vielen Foren beschrieben, wird Photoshop und einige andere Adobe Produkte auf High DPI Bildschirmen nicht korrekt skaliert (mikroskopische Icons und Texte), wärend andere Adobe Produkte wie Lightroom keine Schwierigkeiten mit der korrekten Skalierung haben.
Die generelle Bildschirmauflösung des Gerätes zu ändern, ist keine Option, da dann andere Programme und das OS viel zu groß skalieren.
In meinem Fall ist ein Dell XPS 13 mit WIN8.1 mit einer Auflösung von 3200×1800 Bildpunkten am Start.
Erst nach einigem Suchen fand ich zumindest für Photoshop CC die Lösung in den experimentellen Einstellungen.
Siehe http://claudiamccue.com/2014/09/fixing-the-tiny-photoshop-cc-interface-on-hi-dpi-windows-displays/