Skip to content

Instantly share code, notes, and snippets.

View breadlesscode's full-sized avatar
🤡

Marvin Kuhn breadlesscode

🤡
View GitHub Profile
@breadlesscode
breadlesscode / Authentication.php
Created January 25, 2021 11:33
Very simple and basic Session Login Class
<?php
class Authentication
{
/**
* hashed with password_hash and self::HASH_ALGORITHM
*/
protected $users = [
'admin' => '$2y$10$ea80bTD/1qmS.HFJbSL2luYYXYhYVOkUq7J6obihEjg/p0EHzoKPm',
];
@breadlesscode
breadlesscode / youtube-id-parser.php
Created July 29, 2020 21:02
Finds all YouTube and YT Music IDs and create playlist links
<?php
$matches = [];
$content = file_get_contents('inputfile.txt');
$pattern = '#.*http[s]?:\/\/(music\.)?youtube\.com\/watch\?v=([[:alnum:]_-]{4,18}).*#';
preg_match_all($pattern, $content, $matches);
echo count($matches[2])." Videos found\n\n";
$chunks = array_chunk($matches[2], 50);
#!/usr/bin/env php
<?php
require './vendor/autoload.php';
use Illuminate\Database\Capsule\Manager as Capsule;
use Illuminate\Database\Migrations\DatabaseMigrationRepository;
use Illuminate\Database\Migrations\Migrator;
use Illuminate\Filesystem\Filesystem;
define('MIGRATION_PATH', '../database/migrations');
@breadlesscode
breadlesscode / EmailObfuscationImplementation.php
Last active January 16, 2020 16:49
NEOS CMS E-Mail obfuscation fusion implentation
<?php
namespace My\Package\Fusion;
class EmailObfuscationImplementation extends \Neos\Fusion\FusionObjects\DataStructureImplementation
{
const MAILTO_REGEX = '/<a(.*?)href="mailto:(.+?)"(.*?)>(.*?)<\/a>/i';
/**
* Get the glue to insert between items
/**
* @param NodeInterface $node
* @return Calendar
* @throws Exception
* @throws \Neos\ContentRepository\Exception\NodeException
*/
protected function generateIcsFileByNode(NodeInterface $node): Calendar
{
$calendar = new Calendar('www.example.com');
$event = new Event($node->getNodeAggregateIdentifier());
@breadlesscode
breadlesscode / MultiFieldGroup.fusion
Created September 23, 2019 14:45
This is a form element for the Package Neos.Form.FusionRenderer to render multiple form elements in a row.
prototype(Wysiwyg.OGE.CorporateSite:FormElement.MultiFieldGroup) < prototype(Neos.Fusion:Tag) {
tagName = 'div'
attributes.class = 'row'
content = afx`
<Neos.Fusion:Loop items={ element.elements } itemName="element">
<Neos.Fusion:Augmenter class={ element.properties.colClass ? element.properties.colClass : 'col' }>
<Neos.Fusion:Renderer type={element.type} />
</Neos.Fusion:Augmenter>
</Neos.Fusion:Loop>
`
@breadlesscode
breadlesscode / MultiFieldGroup.fusion
Created September 23, 2019 14:45
This is a form element for the Package Neos.Form.FusionRenderer to render multiple form elements in a row.
prototype(Wysiwyg.OGE.CorporateSite:FormElement.MultiFieldGroup) < prototype(Neos.Fusion:Tag) {
tagName = 'div'
attributes.class = 'row'
content = afx`
<Neos.Fusion:Loop items={ element.elements } itemName="element">
<Neos.Fusion:Augmenter class={ element.properties.colClass ? element.properties.colClass : 'col' }>
<Neos.Fusion:Renderer type={element.type} />
</Neos.Fusion:Augmenter>
</Neos.Fusion:Loop>
`
@breadlesscode
breadlesscode / MultiFieldGroup.fusion
Created September 23, 2019 14:45
This is a form element for the Package Neos.Form.FusionRenderer to render multiple form elements in a row.
prototype(Wysiwyg.OGE.CorporateSite:FormElement.MultiFieldGroup) < prototype(Neos.Fusion:Tag) {
tagName = 'div'
attributes.class = 'row'
content = afx`
<Neos.Fusion:Loop items={ element.elements } itemName="element">
<Neos.Fusion:Augmenter class={ element.properties.colClass ? element.properties.colClass : 'col' }>
<Neos.Fusion:Renderer type={element.type} />
</Neos.Fusion:Augmenter>
</Neos.Fusion:Loop>
`
@breadlesscode
breadlesscode / MultiFieldGroup.fusion
Created September 23, 2019 14:45
This is a form element for the Package Neos.Form.FusionRenderer to render multiple form elements in a row.
prototype(Wysiwyg.OGE.CorporateSite:FormElement.MultiFieldGroup) < prototype(Neos.Fusion:Tag) {
tagName = 'div'
attributes.class = 'row'
content = afx`
<Neos.Fusion:Loop items={ element.elements } itemName="element">
<Neos.Fusion:Augmenter class={ element.properties.colClass ? element.properties.colClass : 'col' }>
<Neos.Fusion:Renderer type={element.type} />
</Neos.Fusion:Augmenter>
</Neos.Fusion:Loop>
`
@breadlesscode
breadlesscode / MultiFieldGroup.fusion
Created September 23, 2019 14:45
This is a form element for the Package Neos.Form.FusionRenderer to render multiple form elements in a row.
prototype(Wysiwyg.OGE.CorporateSite:FormElement.MultiFieldGroup) < prototype(Neos.Fusion:Tag) {
tagName = 'div'
attributes.class = 'row'
content = afx`
<Neos.Fusion:Loop items={ element.elements } itemName="element">
<Neos.Fusion:Augmenter class={ element.properties.colClass ? element.properties.colClass : 'col' }>
<Neos.Fusion:Renderer type={element.type} />
</Neos.Fusion:Augmenter>
</Neos.Fusion:Loop>
`