Skip to content

Instantly share code, notes, and snippets.

@ydenissov
ydenissov / ChCrypto.java
Created March 24, 2023 10:49 — forked from jidolstar/ChCrypto.java
AES 256 encrypt / decrypt - JAVA, PHP, Kotlin
package chela.spring.core;
import javax.crypto.Cipher;
import javax.crypto.spec.IvParameterSpec;
import javax.crypto.spec.SecretKeySpec;
import java.util.Base64;
final public class ChCrypto {
final static Base64.Encoder encorder = Base64.getEncoder();
final static Base64.Decoder decorder = Base64.getDecoder();
@ydenissov
ydenissov / sort.php
Created March 23, 2023 15:36
Sort by value
<?php
usort($ral_arr_formula, fn($a, $b) => $a['ral_delta'] <=> $b['ral_delta']);
@ydenissov
ydenissov / 1c_reset_users.sql
Created January 10, 2023 09:49
Сброс пароля пользователя 1С если база Postgres
ALTER TABLE v8users RENAME TO v8users_old;
UPDATE Params SET FileName = 'users.usr_old' WHERE FileName = 'users.usr';
// Открываем конфигуратор
DROP TABLE v8users;
ALTER TABLE v8users_old RENAME TO v8users;
UPDATE Params SET FileName = 'users.usr' WHERE FileName = 'users.usr_old';
// Правим нужного пользователя
@ydenissov
ydenissov / parse_xlsx.php
Created December 1, 2022 04:37
Parse XLSX
<?php
function parseFile($inputFileName) {
$inputFileType = \PhpOffice\PhpSpreadsheet\IOFactory::identify($inputFileName);
$reader = \PhpOffice\PhpSpreadsheet\IOFactory::createReader($inputFileType);
$spreadsheet = $reader->load($inputFileName);
$data = $spreadsheet->getActiveSheet()->toArray();
// Remove header
unset($data[0]);
return $data;
}
@ydenissov
ydenissov / creat_dir.php
Created December 1, 2022 04:36
Check dir exists and create if not Laravel Storage
<?php
if (!Storage::disk('local')->exists("import")) {
Storage::disk('local')->makeDirectory("import");
}
@ydenissov
ydenissov / array_merge_recursive_save_keys.php
Created December 1, 2022 04:34
Array merge recursive with save key
<?php
function array_merge_recursive_save_keys() {
$arrays = func_get_args();
$base = array_shift($arrays);
foreach ($arrays as $array) {
reset($base);
foreach($array as $key => $value) {
if (is_array($value) && @is_array($base[$key])) {
@ydenissov
ydenissov / Upload.php
Created October 30, 2022 18:49
Upload image to selectel cdn
<?php
// TODO: Разбить на методы
public function uploadFile(Request $request)
{
// Загружаем фото на хранилище присваивая начальную папку равную домену
$uuid = Str::uuid()->toString();
$domain = $request->getHttpHost();
$patient_id = $request->get('patient_id');
$directory = $request->get('patient_id') . '/' . date("Y-m-d", time()) . '/' . $uuid;
@ydenissov
ydenissov / CalendarLogJob.php
Created October 30, 2022 18:40
Job for write logs
<?php
namespace App\Jobs;
use App\Http\Controllers\LogController;
use App\Http\Controllers\TelegramBotController;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldBeUnique;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Foundation\Bus\Dispatchable;
@ydenissov
ydenissov / SendMessage.php
Created October 30, 2022 18:37
Send message to telegram by user
<?php
public function sendMessage($user_id, $message) {
$user_data = User::findOrFail($user_id);
$telegram_chat_id = $user_data->telegram_chat_id;
$telegram_notify = $user_data->notify_telegram;
if (((int)$telegram_notify === 1) && (isset($telegram_chat_id)) && ($telegram_chat_id > 0)) {
Telegram::bot('bot_name')->sendMessage(['text' => $message, 'chat_id' => $telegram_chat_id, 'parse_mode' => 'html']);
}
}
@ydenissov
ydenissov / TelegramBot.php
Created October 30, 2022 18:35
Simple Sync Telegram bot with user without webhooks
<?php
public function sync() {
$user_id = auth()->user()->id;
$user = User::findOrFail($user_id);
$searched_username = $user->telegram_username;
if (!isset($searched_username) || ($searched_username === '')) {
return ['success' => 'not', 'error' => 'Empty username'];
}
$response = Telegram::bot('bot_name')->getUpdates();
$chat_id = 0;