Skip to content

Instantly share code, notes, and snippets.

View antonshell's full-sized avatar

Anton Shelyganov antonshell

View GitHub Profile
@antonshell
antonshell / .php_cs
Created April 7, 2021 08:16
PHP-CS-Fixer configuration for symfony project. Related post: https://antonshell.me/post/php-cs-fixer
<?php
declare(strict_types=1);
$finder = PhpCsFixer\Finder::create()
->exclude('Migrations')
->in(__DIR__ . '/src')
->in(__DIR__ . '/tests');
return PhpCsFixer\Config::create()
@antonshell
antonshell / FeatureFlagService.php
Created September 15, 2021 13:29
Feature Flag Service - PHP Client
<?php
// src/Service/FeatureFlagService.php
declare(strict_types=1);
namespace App\Service;
use GuzzleHttp\ClientInterface;
use Symfony\Component\HttpFoundation\Request;
#! /bin/bash
TIMESTAMP=$(date +"%F-%T")
FILES_DIR=/var/www/my_website/web/uploads
BACKUP_DIR="/var/backups/files/my_website_backups/$TIMESTAMP"
TAR=/usr/bin/tar
AWS=/usr/bin/aws
mkdir -p "$BACKUP_DIR"
$TAR -zcvf $BACKUP_DIR/files.tar.gz $FILES_DIR
@antonshell
antonshell / databases_backup_aws.sh
Last active February 9, 2021 06:42
Backup MySQL databases to Amason S3. Related tutorial: https://antonshell.me/post/aws-s3-mysql-backup
#! /bin/bash
TIMESTAMP=$(date +"%F-%T")
BACKUP_DIR="/var/backups/databases/$TIMESTAMP"
MYSQL_USER="backup"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQL_HOST="localhost"
AWS=/usr/bin/aws
@antonshell
antonshell / files_backup_sftp.sh
Last active September 24, 2020 11:32
Backup files to external server via SFTP
#! /bin/bash
TIMESTAMP=$(date +"%F-%T")
FILES_DIR=/var/www/my_website/web/uploads
BACKUP_DIR="/var/backups/files/my_website_backups/$TIMESTAMP"
TAR=/usr/bin/tar
REMOTE_HOST="192.168.1.55"
REMOTE_USER="backup"
REMOTE_PASSWORD="password"
REMOTE_DIR=/home/backup/files_backups/
@antonshell
antonshell / databases_backup_sftp.sh
Last active September 24, 2020 11:32
Backup MySQL databases to external server via SFTP
#! /bin/bash
TIMESTAMP=$(date +"%F-%T")
BACKUP_DIR="/var/backups/databases/my_website_backups/$TIMESTAMP"
MYSQL_USER="root"
MYSQL=/usr/bin/mysql
MYSQL_PASSWORD="password"
MYSQL_HOST="localhost"
REMOTE_HOST="192.168.1.55"
REMOTE_USER="backup"
@antonshell
antonshell / parse.php
Created July 5, 2018 15:30
Yandex money sms parser
<?php
// generator is here:
// https://funpay.ru/yandex/emulator
function parseMessage($message){
//code
preg_match("/[' '][0-9]{4}['\n']/", $message, $code);
$code = $code[0] ?? '';
$code = trim($code);
@antonshell
antonshell / gist:9d07e666b8f3e427c84c024e4417da2e
Created March 1, 2018 09:52
Hide system section from phpinfo()
<?php
ob_start();
phpinfo();
$phpinfo = ob_get_clean();
$startPos = strpos($phpinfo,'<tr><td class="e">System </td>');
$endPos = strpos($phpinfo,'</tr>',$startPos);
$output = substr($phpinfo, 0,$startPos);
@antonshell
antonshell / gist:a720c37007ac6ef459cf1155c0429d19
Created December 29, 2017 08:34
Magento Database Config Helper
<?php
namespace Antonshell\OrdersWebhooks\Services;
use Antonshell\OrdersWebhooks\Observer\MOrderSaveObserver;
use Magento\Framework\Event\ConfigInterface;
use Magento\Framework\Event\InvokerInterface;
use ReflectionClass;
use Symfony\Component\Console\Output\ConsoleOutput;
@antonshell
antonshell / gist:3ca2772fbe4c46abfbbfe58fa5bb71d8
Last active October 3, 2017 15:30
egrul-nalog-parser examples
<?php
$parser = new \antonshell\EgrulNalogParser\Parser();
// parse for Individual Entrepreneur
$pathPe = __DIR__ . '/nalog_pe.pdf';
$results = $parser->parseNalogPe($pathPe);
// parse for Organization
$pathOrg = __DIR__ . '/nalog_org.pdf';