Skip to content

Instantly share code, notes, and snippets.

View franzose's full-sized avatar

Yan Ivanov franzose

View GitHub Profile
@franzose
franzose / gist:6836910
Created October 5, 2013 05:08
`$page = Page::make();` instead of `$page = new Page()`; Then we can set proper position...
public static function make(array $attributes = array())
{
$model = new static();
// Workaround to set the position
if ( ! isset($attributes[static::POSITION]))
{
// We set depth to 0 because newly created model
// via 'create' method has no default closure table
// attributes and is inserted as a root node
@franzose
franzose / gist:6837241
Created October 5, 2013 05:58
in app/routes.php
// everything's creating fine. Positions and closure table, all's fine.
$Test = Test::create(array());
$child1 = $Test->appendChild(Test::make(), 0, true);
$child2 = $Test->appendChild(Test::make(), 1, true);
$child3 = $Test->appendChild(Test::make(), 2, true);
$child4 = $Test->appendChild(Test::make(), 3, true);
// this returns ids of $Test, $child1, $child2 and $child3...
dd($child4->prevSiblings()->lists('id'));
@franzose
franzose / routes.php
Created March 21, 2014 02:16
Laravel routes and locales made simple (@barryvdh solution)
$languages = array('nl','fr');
$locale = Request::segment(1);
if(in_array($locale, $languages))
{
\App::setLocale($locale);
}
else
{
$locale = null;
@franzose
franzose / epiceditor-reflowing.js
Created May 17, 2014 00:49
EpicEditor reflowing
// Here's an example of using EpicEditor with something like Twitter Bootstrap tabs.
// Thing is that EpicEditor doesn't calculate its dimensions properly when it is nested in a hidden container.
// So, we just need to call 'reflow' method of the EpicEditor. Here is the simple solution:
// Tab link that's clicked
$('a[data-toggle="tab"]').on('shown.bs.tab', function (e) {
// EpicEditor instance recalculates its dimensions.
editor.reflow();
});
@franzose
franzose / jade-to-laravel-blade-mixins.jade
Last active December 30, 2019 22:05
Jade -> Laravel Blade mixins
//- As you may know, Laravel 5 provides the Elixir to compile assets with no pain.
These mixins is for those of you who want to use Jade power combined with that of Laravel Blade.
The syntax mimic Blade statements, however identation differs in some cases.
- var newline = "\r\n"
- var loopIterator = '$iterator'
//- @extends mixin
Example: +extends('layouts/master')
Compiled: @extends('layouts/master')
@franzose
franzose / reference.yml
Created April 23, 2017 00:12 — forked from mnapoli/reference.yml
Doctrine YAML configuration reference
# Inspired from http://blog.hio.fr/2011/09/17/doctrine2-yaml-mapping-example.html
MyEntity:
type: entity
repositoryClass: MyRepositoryClass
table: my_entity
namedQueries:
all: "SELECT u FROM __CLASS__ u"
# Class-Table-Inheritance
@franzose
franzose / maintenance.php
Created January 21, 2018 03:04
Maintenance Mode try
<?php
public function onKernelRequest(GetResponseEvent $event)
{
if (!$event->isMasterRequest()) {
return;
}
if ($this->isMaintenanceMode() && !$this->isUserAdmin()) {
$event->setResponse($this->renderMaintenanceView());
<?php
// YourVendor/YourPackage/Behat/Legacy/ClassLoader.php
declare(strict_types=1);
namespace YourVendor\YourPackage\Behat\Legacy;
use Symfony\Component\ClassLoader\ClassLoader as SymfonyClassLoader;
try {
require_once 'path/to/vendor/symfony/class-loader/ClassLoader.php';
<?php
class MakeCoolStuff extends AbstractController
{
public function __construct(
EntityManagerInterface $manager,
YourFunkyService $service
) {
$this->manager = $manager;
$this->service = $service;