Skip to content

Instantly share code, notes, and snippets.

@chx
chx / gist:9dbace679a8798f96da4a40e4df51902
Last active March 4, 2020 04:44
Config export from production
On production:
rm -Rf /tmp/cex/* /tmp/cex.tgz
drush cex --destination=/tmp/cex -y sync
cd /tmp/cex
tar czf ../cex.tgz .
On local:
@chx
chx / rest.resource.user_registration.yml
Last active February 14, 2020 08:22
Drupal 8 JSON user cycle
To register (admin needs to install rest module, add the registration resource attached, the right registration settings and the user permission 'restful post user_registration' granted to anonymous):
➜ curl -H "Content-type: application/json" -X POST 'http://localhost/docroot/user/register?_format=json' --data '{"name":{"value":"test name"},"mail":{"value":"chx1975@gmail.com"},"pass":{"value":"test pass"}}'
{"uid":[{"value":14048}],"uuid":[{"value":"6494d669-086a-451f-b7e5-573ffb4e1dfe"}],"langcode":[{"value":"hu"}],"name":[{"value":"test name"}],"created":[{"value":"2020-02-14T05:18:53+00:00","format":"Y-m-d\\TH:i:sP"}],"changed":[{"value":"2020-02-14T05:18:53+00:00","format":"Y-m-d\\TH:i:sP"}],"default_langcode":[{"value":true}],"synonyms":[]}%
To log in (unpatched core requires a user name here but I patched it so users can use their email as well):
➜ curl -c cookie.txt --request POST 'http://localhost/docroot/user/login?_format=json' --data '{"name":"chx1975@gmail.com","pass":"test pass"}'
{"current_
To register:
➜ fortepan git:(master) ✗ curl -H "Content-type: application/json" -X POST 'http://localhost/fortepan/docroot/user/register?_format=json' --data '{"name":{"value":"test name"},"mail":{"value":"chx1975@gmail.com"},"pass":{"value":"test pass"}}'
{"uid":[{"value":14048}],"uuid":[{"value":"6494d669-086a-451f-b7e5-573ffb4e1dfe"}],"langcode":[{"value":"hu"}],"name":[{"value":"test name"}],"created":[{"value":"2020-02-14T05:18:53+00:00","format":"Y-m-d\\TH:i:sP"}],"changed":[{"value":"2020-02-14T05:18:53+00:00","format":"Y-m-d\\TH:i:sP"}],"default_langcode":[{"value":true}],"synonyms":[]}%
To log in (unpatched core requires a user name here but I patched it so users can use their email as well):
➜ fortepan git:(master) ✗ curl -c cookie.txt --request POST 'http://localhost/fortepan/docroot/user/login?_format=json' --data '{"name":"chx1975@gmail.com","pass":"test pass"}'
{"current_user":{"uid":"14048","name":"test name"},"csrf_token":"AH8CpdwKyNdoTI89F3tUypGm470Qi9eQYYbeS-wK7is","logout_token":"NAH-
name: 'Scale Language Content Settings'
type: module
description: 'Scale Language Content Settings form'
core: 8.x
<?php
interface foo {
}
interface bar {
function foo(Foo $foo);
}
class broken implements bar {
function foo(bar $x) {}
}
@chx
chx / gist:50db023a4c300f99850b3fe78a135811
Created February 27, 2019 00:53
redirect rehash in mysql
REPLACE(REPLACE(REPLACE(
TO_BASE64(UNHEX(SHA2(CONCAT(:string1, LENGTH(language), :string2, language, :string3, LENGTH(redirect_source__path), :string4, redirect_source__path, :string5), 256))),
'+', '-'), '/', '_'), '=', '') AS hash_calc,
':string1' => 'a:2:{s:8:"language";s:',
':string2' => ':"',
':string3' => '";s:6:"source";s:',
':string4' => ':"',
':string5' => '";}',
@chx
chx / gist:eb71941faae245bbf7d0f20747551c21
Last active December 22, 2018 06:24
https://www.drupal.org/node/2342699 sets $pid to 1 on update, corrupting data in hook_path_update
diff --git a/core/lib/Drupal/Core/Path/AliasStorage.php b/core/lib/Drupal/Core/Path/AliasStorage.php
index b68984871..34a8ca381 100644
--- a/core/lib/Drupal/Core/Path/AliasStorage.php
+++ b/core/lib/Drupal/Core/Path/AliasStorage.php
@@ -106,10 +106,10 @@ public function save($source, $alias, $langcode = LanguageInterface::LANGCODE_NO
$this->catchException($e);
$original = FALSE;
}
- $query = $this->connection->update(static::TABLE)
+ $this->connection->update(static::TABLE)
diff --git a/docroot/core/modules/block/src/BlockListBuilder.php b/docroot/core/modules/block/src/BlockListBuilder.php
index d2286fcdd..d54c212a2 100644
--- a/docroot/core/modules/block/src/BlockListBuilder.php
+++ b/docroot/core/modules/block/src/BlockListBuilder.php
@@ -4,6 +4,7 @@
use Drupal\Component\Utility\Html;
use Drupal\Component\Serialization\Json;
+use Drupal\Component\Utility\UrlHelper;
use Drupal\Core\Config\Entity\ConfigEntityListBuilder;
@chx
chx / Table.php
Created December 6, 2018 21:02
Plain table migration source plugin
<?php
namespace Drupal\sd8_migration\Plugin\migrate\source;
use Drupal\migrate\Plugin\migrate\source\SqlBase;
/**
* Table source from database.
*
@chx
chx / EntityArrayHelper.php
Created December 6, 2018 19:04
Helper for migrations with paragraphs
<?php
namespace Drupal\sd8;
use Drupal\Core\Entity\ContentEntityInterface;
use Drupal\Core\Field\EntityReferenceFieldItemListInterface;
/**
* Convert an entity to an array and back.
*/