Skip to content

Instantly share code, notes, and snippets.

View tguruslan's full-sized avatar

Ruslan Lopushan tguruslan

  • USPU
  • Ukraine
  • 22:51 (UTC +03:00)
View GitHub Profile
@tguruslan
tguruslan / FunctionsController.php
Last active September 28, 2023 13:40
universal select2 callback function for yii2
<?php
namespace @app\your\namespace\controllers;
use Yii;
use yii\web\Controller;
use yii\filters\VerbFilter;
use yii\web\Response;
use yii\helpers\Json;
@tguruslan
tguruslan / form.php
Created October 4, 2021 07:46
frontend validate field
<?= $form->field(
$model,
'email',
[
'enableClientValidation' => false,
]
)->input(
'email',
[
'validate_pattern'=>'^([a-z0-9_\.-])+@[a-z0-9-]+\.([a-z]{2,4}\.)?[a-z]{2,4}$',
@tguruslan
tguruslan / Model.php
Last active November 4, 2023 09:44
failter and sort virtual date
<?php
public function rules()
{
return [
...
[['date_tmp'], 'safe'],
];
}
@tguruslan
tguruslan / db_search.php
Last active January 11, 2024 11:23
Пошук в базі данник небажаного коду
<?php
// Параметри для підключення до MySQL серверу
$servername = "127.0.0.1";
$username = "";
$password = "";
error_reporting(E_DEBUG);
ini_set('display_errors', 'on');
@tguruslan
tguruslan / moodle_big_files.php
Created September 19, 2023 08:30
Пошук великиз файлів в мудлі
<?php
// Параметри для підключення до MySQL серверу
$servername = "127.0.0.1";
$username = "";
$password = "";
$db = "";
// Підключення до MySQL серверу
$conn = mysqli_connect($servername, $username, $password);
@tguruslan
tguruslan / db_search_all.php
Last active January 11, 2024 12:03
Пошук в базі данних небажаного коду
<?php
//wordpress
if (file_exists('wp-config.php')) {
preg_match_all('/define\s*\(\s*[\'"](.*?)[\'"]\s*,\s*[\'"](.*?)[\'"]\s*\)\s*;/', file_get_contents('wp-config.php'), $matches, PREG_SET_ORDER);
foreach ($matches as $match) {
if(in_array($match[1],['DB_HOST','DB_USER','DB_PASSWORD','DB_NAME'],false)){
define($match[1], $match[2]);
}
@tguruslan
tguruslan / Controller.php
Last active November 4, 2023 09:43
get full image url
<?php
use noam148\imagemanager\models\ImageManager;
/**
* Get the path for the given ImageManager_id record
* @param int $ImageManager_id ImageManager record for which the path needs to be generated
* @return null|string Full path is returned when image is found, null if no image could be found
*/
public static function getOriginalImagePath($ImageManager_id) {
$return = null;
$model = ImageManager::findOne($ImageManager_id);
@tguruslan
tguruslan / yiiquery.php
Last active November 4, 2023 09:42
yii2 or activequery
<?php
$query->andFilterWhere(['OR', ['is', $key, new \yii\db\Expression('null')], ['<=','LENGTH('.$key.')',0]])->all();
@tguruslan
tguruslan / update_cloudflare.sh
Last active November 14, 2023 13:44
update cloudflare ips list
#!/bin/bash -x
firewall-cmd --zone=public --remove-service=http --permanent
firewall-cmd --zone=public --remove-service=https --permanent
for ipv in v4 v6; do
for i in $(firewall-cmd --zone=public --list-all | grep http | grep "ip${ipv}" | awk '{print $4}' | awk -F '"' '{print $2}' | sort -u); do
firewall-cmd --zone=public --permanent --remove-rich-rule "rule family="ip${ipv}" source address="$i" service name="http" accept"
firewall-cmd --zone=public --permanent --remove-rich-rule "rule family="ip${ipv}" source address="$i" service name="https" accept"
firewall-cmd --zone=public --permanent --remove-rich-rule "rule family="ip${ipv}" source address="$i" port port="80" protocol="tcp" accept"
@tguruslan
tguruslan / update_cloudflare_iptables.sh
Last active November 20, 2023 14:35
update cloudflare ips list
#!/bin/bash -x
for app in iptables ip6tables; do
if [[ $app =~ 6 ]]; then
index=6
else
index=4
fi
for chain in $($app -t filter -L -v -n | grep Chain | awk '{print $2}'); do
for id in $($app -t filter -L --line-numbers -n -Z $chain | egrep "\:(443|80)" | awk '{print $1}' | sort -r); do