Skip to content

Instantly share code, notes, and snippets.

View zhukovsergei's full-sized avatar

Zhukov Sergei zhukovsergei

  • Zürich
View GitHub Profile
@zhukovsergei
zhukovsergei / 0_reuse_code.js
Created September 5, 2016 12:30
Here are some things you can do with Gists in GistBox.
// Use Gists to store code you would like to remember later on
console.log(window); // log the "window" object to the console
@zhukovsergei
zhukovsergei / RecursiveIteratorIterator.php
Created February 24, 2016 13:04
Получаем все вложенные директории без рекурсии
<?php
$iterator = new RecursiveIteratorIterator(
new RecursiveDirectoryIterator('/home/nepster/www/test.ru'),
RecursiveIteratorIterator::SELF_FIRST);
foreach($iterator as $file) {
if($file->isDir()) {
echo $file->getRealpath(), PHP_EOL;
}
}
@zhukovsergei
zhukovsergei / beforeAction.php
Created February 24, 2016 12:17
beforeAction Yii2
<?php
public function beforeAction($action)
{
if (!parent::beforeAction($action)) {
return false;
}
if(\Yii::$app->user->getIsGuest()){
$this->redirect('/');
@zhukovsergei
zhukovsergei / ip_info.php
Last active January 19, 2016 13:29
Get full info visitor by IP
<?php
public static function ip_info($ip = NULL, $purpose = "location", $deep_detect = TRUE) {
$output = NULL;
if (filter_var($ip, FILTER_VALIDATE_IP) === FALSE) {
$ip = $_SERVER["REMOTE_ADDR"];
if ($deep_detect) {
if (filter_var(@$_SERVER['HTTP_X_FORWARDED_FOR'], FILTER_VALIDATE_IP))
$ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
if (filter_var(@$_SERVER['HTTP_CLIENT_IP'], FILTER_VALIDATE_IP))
$ip = $_SERVER['HTTP_CLIENT_IP'];
@zhukovsergei
zhukovsergei / parseStringUrl.php
Last active December 28, 2015 11:57
Разбор, изменение параметров URL string
<?php
$url = 'http://example.com/search?keyword=test&category=1&tags[]=fun&tags[]=great';
$url_parts = parse_url($url);
parse_str($url_parts['query'], $params);
$params['category'] = 2; // Overwrite if exists
$params['tags'][] = 'cool'; // Allows multiple values
// Note that this will url_encode all values
@zhukovsergei
zhukovsergei / only_digits.js
Created December 28, 2015 10:06
Ограничение на ввод символов в текстовом поле
$("input[type='number']").on('keyup keypress blur change', function(e) {
//return false if not 0-9
if (e.which != 8 && e.which != 0 && (e.which < 48 || e.which > 57)) {
return false;
}else{
//limit length but allow backspace so that you can still delete the numbers.
if( $(this).val().length >= parseInt($(this).attr('maxlength')) && (e.which != 8 && e.which != 0)){
return false;
}
}
@zhukovsergei
zhukovsergei / youTubeGetId.php
Last active December 28, 2015 11:57
Извлечение ID из YouTube ссылки
<?php
function youTubeGetId(url) {
var expression = /^(?:https?:\/\/)?(?:www\.)?(?:youtu\.be[.]?\/|youtube\.com[.]?\/(?:embed\/|v\/|watch\/?\?(?:\S+=\S*&)*v=))([\w-]{11})\S*$/;
return url.match(expression) ? RegExp.$1 : undefined;
}
@zhukovsergei
zhukovsergei / preview.js
Created December 28, 2015 09:48
JS показ картинки ДО загрузки на сервер
function readURL(input) {
if (input.files && input.files[0]) {
var reader = new FileReader();
reader.onload = function (e) {
$(input).siblings('img').attr('src', e.target.result);
}
reader.readAsDataURL(input.files[0]);
}
@zhukovsergei
zhukovsergei / select_change.html
Created December 24, 2015 09:24
Change document location
<select onchange="document.location='?sort='+this.options[this.selectedIndex].value">
<option value="alphabet">Алфавит</option>
<option value="rating">Рейтинг</option>
<option value="date">Дата создания</option>
</select>