/ Gists

Gists

On gists

Jquery slice - gt, lt like functions

jQuery jQuery-plugins

jquery-gt-lt-slice.js #

$("li").slice(0,4); // :lt(4)
$("li").slice(5); // :gt(4)

$.fn.lt = function(n) {return this.slice(0,n);};
$.fn.gt = function(n) {return this.slice(n+1);};

On gists

Nette request - post / files

Nette

nette-post-files.php #

<?php

$this->request // UI\Presenter

$files = $this->request->getFiles();
$post = $this->request->getPost();

On gists

Slider - fadein / fadeout via css

CSS trick

slider.css #

/* The animation code */
@keyframes example {
    0%   {background-image: url("https://static.pexels.com/photos/7174/summer-grass.jpg");}
    50% {background-image: url("https://encrypted-tbn0.gstatic.com/images?q=tbn:ANd9GcTjOCNcnik0caAqRX601w3rTlf3ZTANFojDWVxc2WOkvOzu4NF7HQ");}
    100%   {background-image: url("https://static.pexels.com/photos/7174/summer-grass.jpg");}
}

/* The element to apply the animation to */
div {
    width: 400px;
    height: 300px;
    background-repeat: no-repeat;
    background-size: 100% 100%;
    animation-name: example;
    animation-duration: 10s;
    animation-iteration-count: infinite;
}

On gists

Získávání a pojmenovávání služeb

Nette Nette-Neon

config2.neon #

services:
baz: Foo\Baz (pro prvni pripad)
  - Foo\Baz (pro druhy pripad)

services:
  - Foo\Bar(@baz)
  - Foo\Bar(@Foo\Baz)
  
  
  
#multiple
foo1: Foo
foo2: Foo
bar: Bar(@foo1)

On gists

Macro - ukázkové

Nette

Macro.php #

<?php

namespace App\Utils;

use Latte;

class Macros extends Latte\Macros\MacroSet
{

    public static function install(Latte\Compiler $compiler)
    {
        $set = new static($compiler);

        $set->addMacro('currency', array($set, 'macroCurrency'));

        return $set;
    }


    public function macroCurrency(Latte\MacroNode $node, Latte\PhpWriter $writer)
    {
        return $writer->write(
            'echo \App\Utils\Macros::renderMacroCurrency(%node.word)'
        );
    }


    public static function renderMacroCurrency($currency = NULL)
    {
        $currency = $currency ?: self::$currency;

        switch ($currency) {
            case 'EUR': return "€";
            default: return 'Kč';
        }
    }

}

On gists

nette - autocomplete - handle ** via JS

Nette JavaScript jQuery

nette-js-handle-autocomplete.js #

        $('#autocomplete').focus().keyup(function(event) {
                            $.getJSON("\/?do=autoComplete", {'text': $('#autocomplete').val()}, function(payload) {
                                    $('ul.autocomplete').remove();

                                    var list = $('<ul class="autocomplete"></ul>').insertAfter('#autocomplete');

                                    for (var i in payload.autoComplete) {
                                            $('<li></li>').html(payload.autoComplete[i]).appendTo(list);
                                    }
                            });
                    }); 

On gists

Nette - DI - instance - service

Nette Nette-Tricks

dic.php #

<?php

$component = $this->context->createInstance('\\App\\Components\\'. $ucname );

if($component)
					$this->context->callInjects($component);
					

// $container je systémový kontejner, např. $presenter->context
$httpRequest = $container->getService('httpRequest');

// nebo zkráceně:
$httpRequest = $container->httpRequest;

On gists

CURL - functions

PHP Helpers-Filters-Plugins

CURL.php #

function curl_file_get_contents($url) 
{	
	 $c = curl_init(); // iniciuje práci s curl
	 curl_setopt($c, CURLOPT_RETURNTRANSFER, 1);
	 curl_setopt($c, CURLOPT_URL, $url);
	 $contents = curl_exec($c);
	 curl_close($c); 
 
	 return $contents;
 }


function better_curl($url)
{
	
  $curl = curl_init();
 
  $header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
  $header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
  $header[] = "Cache-Control: max-age=0";
  $header[] = "Connection: keep-alive";
  $header[] = "Keep-Alive: 300";
  $header[] = "Accept-Charset: ISO-8859-1,utf-8,utf-16;q=0.7,*;q=0.7";
  $header[] = "Accept-Language: en-us,en;q=0.5";
  $header[] = "Pragma: "; // browsers keep this blank.
 
  curl_setopt($curl, CURLOPT_URL, $url);
  curl_setopt($curl, CURLOPT_USERAGENT, 'Mozilla/5.0 (Macintosh; U; Intel Mac OS X; en-US; rv:1.8.1.1) Gecko/20061223 Firefox/2.0.0.1');
//  curl_setopt($curl, CURLOPT_USERAGENT, 'Googlebot/2.1 (+http://www.google.com/bot.html)');
  curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
//  curl_setopt($curl, CURLOPT_REFERER, 'http://www.google.com');
  curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
  curl_setopt($curl, CURLOPT_AUTOREFERER, true);
  curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
  curl_setopt($curl, CURLOPT_TIMEOUT, 10);
 
  $html = curl_exec($curl); // execute the curl command
  curl_close($curl); // close the connection
 
  return $html; // and finally, return $html
}

On gists

Nette - expand

Nette Nette-Tricks Helpers-Filters-Plugins

nette-expand.php #

<?php
$pathToFile = $this->context->expand("%wwwDir%/files/soubor.pdf");

On gists

Vytváření elementů v jQuery

jQuery Helpers-Filters-Plugins

new-element.js #

// <a style="color: red;" onclick="..." href="https://phpfashion.com">blogísek</a>
var $el = $('<a>', {
    href: url,
    text: title,
    click: function(e) {
        alert(this.href);
    },
    css: {
        color: 'red'
    }
});



// <a href="https://phpfashion.com"><img alt="Logo" src="images/logo.gif"></a>
var $el = $('<a>', {
    href: url,
    html: $('<img>', {
        src: 'images/logo.gif',
        alt: 'Logo'
    })
});