Skip to content

Instantly share code, notes, and snippets.

View dg's full-sized avatar
🏠
Working from home

David Grudl dg

🏠
Working from home
View GitHub Profile
@dg
dg / patch-CVE-2020-15227.php
Last active December 22, 2020 16:28
CVE-2020-15227 nette/application RCE in-place patch
<?php
# In-place apply the CVE-2020-15227 nette/application patch
# This is a universal patcher for all affected versions.
# Run with `php patch-CVE-2020-15227.php`
# Inspiration: @spazef0rze
@dg
dg / typehints.php
Created May 27, 2020 18:35
Typehints for PHP 7.4
<?php
declare(strict_types=1);
require '/nette.phar';
class TypeHints
{
public $ignoredTypes = ['mixed', 'resource'];
@dg
dg / StrictObject.php
Created June 11, 2018 08:51
Nette\StrictObject, simplified alternative for Nette\SmartObject (compatible with nette/utils 2.4)
<?php
/**
* This file is part of the Nette Framework (https://nette.org)
* Copyright (c) 2004 David Grudl (https://davidgrudl.com)
*/
namespace Nette;
use Nette\Utils\ObjectHelpers;
@dg
dg / composing.presenters.php
Created May 31, 2018 14:00
Composing presenters without inheritance
<?php
// composing presenters without inheritance
// (requires nette/application 2.4.11)
trait RequireLoggedUser
{
public function injectRequireLoggedUser()
{
@dg
dg / persistent.parameter.trait.php
Created May 31, 2018 13:54
Transfer of a persistent parameter between two presenters without an inheritance
<?php
// transfer of a persistent parameter between two presenters without an inheritance
// (requires nette/application 3.0.0)
trait LangParameter
{
/** @persistent */
public $lang;
@dg
dg / typehints.php
Last active May 31, 2018 15:21
Converts @param & @return to native PHP typehints
<?php
declare(strict_types=1);
require '/nette.phar';
class TypeHints
{
public $php71 = true;
@dg
dg / gist:92b041f0315a5fe5745819b180bf7237
Created April 20, 2017 18:12
Chrome DevTools failing example
<!DOCTYPE html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
</head>
<div style="width: 300px; height: 300px; background: blue"></div>
@dg
dg / ssl.conf
Created December 14, 2015 21:37
Redirect to HTTPS for all except Windows XP
server {
...
listen 443 ssl;
listen 80;
if ($server_port = 80) {
set $xp A;
}
@dg
dg / latte-php-mix.php
Created July 7, 2015 19:04
Nette Sandbox ala React
<?php
namespace App\Presenters;
use Nette;
use App\Model;
class HomepagePresenter extends BasePresenter
{
@dg
dg / verifyIC.php
Created June 30, 2015 15:03
Ověření rodného čísla a IČ
<?php
function verifyIC($ic)
{
// be liberal in what you receive
$ic = preg_replace('#\s+#', '', $ic);
// má požadovaný tvar?
if (!preg_match('#^\d{8}$#', $ic)) {
return FALSE;