Skip to content

Instantly share code, notes, and snippets.

@timkelty
timkelty / routes.php
Last active March 5, 2024 19:15
Redirect wp-content to Cloud assets
<?php
/**
* Site URL Rules
*
* You can define custom site URL rules here, which Craft will check in addition
* to routes defined in Settings → Routes.
*
* Read all about Craft’s routing behavior, here:
* https://craftcms.com/docs/4.x/routing.html
*/
@timkelty
timkelty / docker-compose.local.yaml
Created December 13, 2023 16:36
Bref service for DDEV
services:
bref:
build:
context: bref
image: bref/php-82-fpm-dev:2
container_name: ddev-${DDEV_SITENAME}-bref
expose:
- "8000"
volumes:
- ${DDEV_APPROOT}:/var/task:ro
import {httpbis} from 'http-message-signatures';
function createMyVerifier() {
return {
id: 'test-key',
algs: ['hmac-sha256'],
async verify(data, signature, parameters) {
const keyData = new TextEncoder().encode('123456789');
const algorithm = { name: 'HMAC', hash: 'SHA-256' };
const key = await crypto.subtle.importKey('raw', keyData, algorithm, false, ['verify']);
<?php
return [
'*' => [],
'dev' => [
'container' => [
'definitions' => [
\craft\awss3\Fs::class => static function($container, $params, $config) {
$bucket = $config['bucket'];
$subfolder = $config['subfolder'];
<?php
namespace modules\appmodule\services;
use aelvan\imager\Imager;
use Craft;
use craft\base\Element;
use craft\elements\Asset;
use craft\elements\db\ElementQuery;
use craft\elements\db\MatrixBlockQuery;
use craft\elements\Entry;
<?php
class UserBehavior exends \yii\base\Behavior
{
public bool $myDynamicallyAddedProp = false;
}
$user = new \yii\web\User();
$user->attachBehavior('myUser', UserBehavior::class);
// I want to have $user be aware of myDynamicallyAddedProp, without having to "@var User|UserBehavior".
@timkelty
timkelty / app.php
Last active January 31, 2024 18:16
Craft 4 Logging Examples
<?php
use craft\helpers\App;
use craft\log\Dispatcher;
use craft\log\MonologTarget;
use Illuminate\Support\Collection;
use Monolog\Formatter\LineFormatter;
use Psr\Log\LogLevel;
use yii\i18n\PhpMessageSource;
use yii\web\HttpException;
if (!getenv('FS_HANDLE') && !getenv('S3_BUCKET')) {
putenv('FS_HANDLE=imagesLocal');
$_ENV['FS_HANDLE'] = 'imagesLocal';
$_SERVER['FS_HANDLE'] = 'imagesLocal';
// No FS_HANDLE key
// getenv();
// 👍
// getenv('FS_HANDLE');
';!*i|znnny}}T?<*=;'`
~;=}whhEhEEmEXmaS5SSwmamhwaSt?!,
;TjShSwSow5yawyjj55fj}jjoSySSawmmSSSSjs*:`
.?zzjfyyyjfjjyj}jututsjyu7tfjyjjjyaaoamShEUUEkS7!`
,zztz7z7ztzz7c777zzsI7Tc\\i7zcczInIuuIoyjyaowSmhkhk5u=,
.^zzuzLiL???*??*>?**?*>L**<*?*?*?LcTTiiLLTzssusnjSSoyymhS5yc;`
@timkelty
timkelty / .zimrc
Last active September 24, 2022 01:54
#!/usr/bin/env zsh
# Start configuration added by Zim install {{{
# -------
# Modules
# -------
# Sets sane Zsh built-in environment options.
zmodule environment
# Provides handy git aliases and functions.