Skip to content

Instantly share code, notes, and snippets.

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

Александр hackimov

🏠
Working from home
  • UFC COMPANY LTD
  • Russia
View GitHub Profile
@hackimov
hackimov / ErgStorageFileSystemController.php
Last active March 9, 2020 06:18
Реализация файлового менеджера на Laravel
<?php /** @noinspection PhpUnused */
/**
* Автор класса Александр Хакимов. https://github.com/hackimov
* Данный класс реализует файловый менеджер и все типы операций связанные с файлами и директориями
* index возвращает список файлов и папок согласно указанному адресу или корневую директорию загрузки
* destroy удаляет файл или директорию. В случае с директорией это происзодит рекурсивно
* element_rename переименовывает файл иди ректорию
* add_file добавляет файл в переданную пользователем директорию, если в адресе ничего не передано добавляет в корень
* add_dir добавляет директорию по указанному адресу, если в адресе ничего не передано добавляет в корень
*/
@hackimov
hackimov / auth.php
Last active May 5, 2020 21:21
timezero game authorization procedure and online stand bot
<?php
// автор [Топор Правосудия]
class TzBot
{
protected static $login = 'Логин';
protected static $password = 'Пароль';
protected static $local_ip = 'Локальный IP';
protected static $last_time;
protected static $session_id;
@hackimov
hackimov / BasicAuthMiddleware.php
Created February 24, 2020 04:33
Basic Auth Middeware Laravel
<?php /** @noinspection PhpUndefinedMethodInspection */
/** автор класса Хакимов Александр
* Класс занимается созданием базовой авторизации.
*
*/
namespace App\Http\Middleware;
@hackimov
hackimov / php.nginx
Created December 16, 2019 10:10
nginx directory php value edit
<Directory /var/www/path/to/dir>
php_admin_value mbstring.func_overload 2
</Directory>
<?php
class ErgFindDifference
{
private static $gap_value;
private static $substitution;
/**
* @param int $gap_value
* @param null $substitution
with district_json (district_var) as (
values
('[
{
"region_id":10,
"name":"КАШКАДАРЬИНСКАЯ ОБЛАСТЬ",
"district_id":null,
"district_code":null
},
{
@hackimov
hackimov / phone.regex
Last active March 9, 2020 06:18
Phone validation regular expression
^\+?([87](?!95[5-79]|99[08]|907|94[^0]|336)([348]\d|9[0-6789]|7[01247])\d{8}|[1246]\d{9,13}|68\d{7}|5[1-46-9]\d{8,12}|55[1-9]\d{9}|55[138]\d{10}|55[1256][14679]9\d{8}|554399\d{7}|500[56]\d{4}|5016\d{6}|5068\d{7}|502[45]\d{7}|5037\d{7}|50[4567]\d{8}|50855\d{4}|509[34]\d{7}|376\d{6}|855\d{8,9}|856\d{10}|85[0-4789]\d{8,10}|8[68]\d{10,11}|8[14]\d{10}|82\d{9,10}|852\d{8}|90\d{10}|96(0[79]|17[0189]|181|13)\d{6}|96[23]\d{9}|964\d{10}|96(5[569]|89)\d{7}|96(65|77)\d{8}|92[023]\d{9}|91[1879]\d{9}|9[34]7\d{8}|959\d{7,9}|989\d{9}|971\d{8,9}|97[02-9]\d{7,11}|99[^4568]\d{7, 11}|994\d{9}|9955\d{8}|996[2579]\d{8}|9989\d{8}|380[345679]\d{8}|381\d{9}|38[57]\d{8,9}|375[234]\d{8}|372\d{7,8}|37[0-4]\d{8}|37[6-9]\d{7,11}|30[69]\d{9}|506\d{9}|386\d{9}|965\d{9}|373\d{9}|856\d{9}|371\d{9}|996\d{9}|507\d{9}|509\d{9}|502\d{9}|374\d{9}|375\d{9}|95\d{10}|966\d{9}|503\d{9}|505\d{9}|501\d{9}|961\d{9}|389\d{9}|370\d{9}|93\d{10}|34[67]\d{8}|998\d{9}|993\d{9}|992\d{9}|968\d{9}|3459\d{11}|7\d{11}|967\d{9}|92\d{10}|964\d{9}|98\d{10}|34\d{10}|94
@hackimov
hackimov / sentos7.cnt
Created October 7, 2019 07:40
CREATE UUID extension
yum install postgrespro-std-11-contrib
@hackimov
hackimov / SignService.php
Created October 4, 2019 05:43
DSV SERVER EIMZO CLASS LARAVEL DSV SERVER VERIFY SIGN FUNCTION AND DSV SERVER GET DATA SIGNER FROM SIGN
<?php
namespace App\Services;
use GuzzleHttp\Client;
class SignService {
public function is_signature($signature){
# формирование тела SOAP XML запроса отправляемого на сервер
@hackimov
hackimov / GROUP_MAXIMUM.SQL
Last active May 31, 2021 06:26
#SQL #MAXIMUM #WITHOUT_GROUP_BY #SPEED #QUERY
SELECT maintable.*
FROM TABLE_NAME maintable
LEFT OUTER JOIN TABLE_NAME temporarytable
ON maintable.GROUPING_BY_COLUMN = temporarytable.GROUPING_BY_COLUMN
AND maintable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED < temporarytable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED
WHERE temporarytable.COLUMN_WHERE_THE_MAXIMUM_IS_NEEDED IS NULL
ORDER BY PRIMARY_KEY_COLUMN DESC
LIMIT 50;