Skip to content

Instantly share code, notes, and snippets.

View maikschneider's full-sized avatar
🚀

Maik Schneider maikschneider

🚀
View GitHub Profile
@maikschneider
maikschneider / sitepackage-req-checker.php
Last active February 12, 2025 12:47
Check if all TYPO3 extensions are required in sitepackage's composer.json
#!/usr/bin/env php
<?php
/**
* TYPO3 Sitepackage Requirement Checker
* This script checks if all TYPO3 extensions (type: typo3-cms-extension) from the root composer.json
* are properly required in a sitepackage's composer.json file.
* Usage:
* ./sitepackage-req-checker.php packages/xima_sitepackage/composer.json
* ./sitepackage-req-checker.php packages/xima_sitepackage/composer.json --ci=reports/junit.xml
@maikschneider
maikschneider / .zshrc
Last active January 18, 2025 10:05
Set iTerm Tab Color & Name by Directory
DISABLE_AUTO_TITLE="true"
precmd() {
case $PWD in
*"git-project-1"*)
TAB_NAME="Project 1"
TAB_COLOR=(0 71 185)
;;
*"git-project-2"*)
<?php
use SourceBroker\DeployerExtendedTypo3\Utility\ConsoleUtility;
task('migrate:cleanup', function () {
$verbosity = (new ConsoleUtility())->getVerbosityAsParameter();
if (!get('is_argument_host_the_same_as_local_host')) {
run('cd {{release_or_current_path}} && {{bin/php}} {{bin/deployer}} migrate:cleanup {{argument_host}} ' . $verbosity);
} else {
runLocally('cat .upgrade/cleanup.sql | {{bin/typo3cms}} database:import ' . $verbosity);
@maikschneider
maikschneider / goaccess_daily.sh
Created February 15, 2024 08:34
Create daily GoAccess reports
#!/bin/bash
LOG_FILES="/var/log/apache2/access_domain.de.log*"
TARGET_DIR="/var/www/html/goaccess/daily"
mkdir -p $TARGET_DIR
rm -f $TARGET_DIR/*
# Split log files per date
for FILE in $LOG_FILES; do
<?php
namespace Vendor\MyExtension\Command;
use Doctrine\DBAL\Result;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\DataHandling\Model\RecordStateFactory;
<?php
namespace Vendor\MyExt\Command;
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputArgument;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use TYPO3\CMS\Form\Domain\Configuration\FormDefinitionConversionService;
use TYPO3\CMS\Form\Mvc\Persistence\FormPersistenceManagerInterface;
@maikschneider
maikschneider / GridelementsMigrationUpdate.php
Last active March 26, 2024 15:18
TYPO3 Gridelements to Container UpgradeWizard
<?php
namespace Vendor\MyExt\Updates;
use TYPO3\CMS\Core\Database\ConnectionPool;
use TYPO3\CMS\Core\Utility\GeneralUtility;
use TYPO3\CMS\Core\Utility\MathUtility;
use TYPO3\CMS\Install\Updates\DatabaseUpdatedPrerequisite;
use TYPO3\CMS\Install\Updates\RepeatableInterface;
use TYPO3\CMS\Install\Updates\UpgradeWizardInterface;