Skip to content

Instantly share code, notes, and snippets.

View EvilWolf's full-sized avatar
🏠
Working from home

Ilya Bogatov EvilWolf

🏠
Working from home
View GitHub Profile
@EvilWolf
EvilWolf / UploadFileExtensionWhiteList.php
Created December 23, 2021 10:10
Middleware for laravel orchid
<?php
namespace App\Http\Middleware;
use Closure;
use Illuminate\Http\Request;
use Illuminate\Http\UploadedFile;
use Illuminate\Support\Str;
use Illuminate\Validation\ValidationException;
@EvilWolf
EvilWolf / .gitlab-ci.yml
Created June 4, 2019 07:32
Grav cms - deploy by gitlab.ci
stages:
- build
- deploy
variables:
RELEASE_ARCHIVE: "release_${CI_COMMIT_SHORT_SHA}.tar.gz"
make archive:
stage: build
image: alpine:latest
@EvilWolf
EvilWolf / backup_mysql_databases.yml
Created February 9, 2019 16:03
Ansible playbook to backup compresed databases to directory
- hosts: mysql
vars:
backup_to: /root/backups/databases/
backup_current_dir: "{{ backup_to }}{{ ansible_date_time.date }}"
backup_age: "7d"
tasks:
- name: Collect mysql databases
shell: 'mysql -u root -e "select schema_name from information_schema.schemata where schema_name not in (\"information_schema\", \"mysql\", \"performance_schema\");"'
register: dblist
become: yes
@EvilWolf
EvilWolf / rotateMatrix.php
Last active January 4, 2019 20:16
Функция поворота матрицы на 90 градусов
<?php
/**
* Пример функции поворота массива
* php version 7.2
*
* @category Algoritms
* @package Array
* @author Evil_Wolf <wolfofdeath@yandex.ru>
* @license MIT https://opensource.org/licenses/MIT
* @link https://ibogatov.ru/
@EvilWolf
EvilWolf / genDirectoryRecursive.php
Created January 6, 2018 15:39
Get all files form directory recursive | php generator
<?php
/* Get all and recursive files list, generator */
function genDirectoryRecursive($path) {
$directoryIterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator($path),
RecursiveIteratorIterator::CHILD_FIRST,
RecursiveIteratorIterator::CATCH_GET_CHILD
);
@EvilWolf
EvilWolf / sublime config
Created December 19, 2017 11:07
My SublimeText config
{
"always_show_minimap_viewport": true,
"bold_folder_labels": true,
"color_scheme": "Packages/Theme - Afterglow/Afterglow-monokai.tmTheme",
"dictionary": "Packages/User/russian_english.dic",
"draw_white_space": "all",
"fold_buttons": false,
"font_size": 13,
"ignored_packages":
[
@EvilWolf
EvilWolf / page_template.php
Last active November 25, 2017 14:46
Шаблон с визуальной сеткой в 1C-Битрикс
<?php
class PortfolioPageTemplate {
/* Возвращает массив с описанием шаблона страницы. */
function GetDescription() {
return [
'name' => 'Активный шаблон',
'description' => 'Тестовый активный шаблон',
'modules' => [],
];
@EvilWolf
EvilWolf / register.js
Created November 9, 2017 10:02
Вариант реализации регистрации на AJAX
$(function(){
var $registerForm = $('#applicationRegisterForm');
/* Если форм на странице нет, то скрипт тут завершит свою работу */
if ($registerForm.length === 0)
return;
/* Валидатор, наверно можно удалить. */
$registerForm.find('.form-control').on('change', function(){
var $this = $(this);
$this.removeClass('parsley-error');
@EvilWolf
EvilWolf / mmenu-template.php
Created November 1, 2017 08:56
Простой шаблон mmenu для компонента menu в Битрикс
<? if (!defined("B_PROLOG_INCLUDED") || B_PROLOG_INCLUDED !== true) die(); ?>
<? if (!empty($arResult)): ?>
<nav id="mm-menu">
<ul class="navlist">
<?php
$lastDepth = 1;
foreach($arResult as $arItem):
if ($arItem['DEPTH_LEVEL'] > $arParams['MAX_LEVEL']) {
@EvilWolf
EvilWolf / import_rasvero.php
Last active October 13, 2017 09:27
Скрипт импорта XLSX в инфоблок. (Есть ещё что дорабатывать, но есть ли в этом смысл?) Зависит от https://github.com/nuovo/spreadsheet-reader
<?php
// Libraries
require_once($_SERVER['DOCUMENT_ROOT'] . '/bitrix/modules/main/include/prolog_before.php');
require_once('xlsx_reader/SpreadsheetReader.php');
// Statistics
$startTime = microtime(true);
echo 'Start Memory usage ' . (memory_get_usage(true) / 1024) . ' K byte';
echo '<br>---------------------------------<br><br>';