jQuery File Upload #

jQuery File Upload

Аяксовый загрузчик http://blueimp.github.com/jQuery-File-Upload/

Аякс поиск роликов на ютуб #

FullCalendar от Adam Shaw #

FullCalendar от Adam Shaw

FullCalendar is a jQuery plugin that provides a full-sized, drag & drop calendar like the one below. It uses AJAX to fetch events on-the-fly for each month and is easily configured to use your own feed format (an extension is provided for Google Calendar). It is visually customizable and exposes hooks for user-triggered events (like clicking or dragging an event). It is open source and dual licensed under the MIT or GPL Version 2 licenses.

Ссылка: http://arshaw.com/fullcalendar/

Функция вывода времени в текстовом формате #

function mk_myTime($tonpage) {
    if ($tonpage == 0)
        return '';
    $h = $tonpage / 3600; //часы
    if ($pos = strpos($h, '.'))
        $h = substr($h,0,$pos);
    $timenothour = $tonpage - ($h * 3600);
    $m = $timenothour / 60; //минуты
    if ($pos = strpos($m, '.'))
        $m = substr($m,0,$pos);
    $sec = $timenothour - ($m * 60); //секунды
    $s = '';
    if (intval($h)) $s = declension($h, array("час", "часа", "часов")).' ';
    if (intval($m)) $s .= declension($m, array("минуту", "минуты", "минут")).' ';
    return $s .= declension($sec, array("секунду", "секунды", "секунд")).' ';
}

//Функция Из предыдущего поста ПРАВИЛЬНО СКЛОНЯЕМ
function declension($int, $expressions, $showint = true) {
    settype($int, "integer");
    $count = $int % 100;
    if ($count >= 5 && $count <= 20) {
        $result = ($showint? $int." ":"").$expressions['2'];
    } else {
        $count = $count % 10;
        if ($count == 1) {
            $result = ($showint? $int." ":"").$expressions['0'];
        } elseif ($count >= 2 && $count <= 4) {
            $result = ($showint? $int." ":"").$expressions['1'];
        } else {
            $result = ($showint? $int." ":"").$expressions['2'];
        }
    }
    return $result;
}

mk_myTime - эта функция принимает один параметр – время в формате unix_timestamp.

Функция склонения слов #

function declension($int, $expressions, $showint = true) {
    settype($int, "integer");
    $count = $int % 100;
    if ($count >= 5 && $count <= 20) {
        $result = ($showint? $int." ":"").$expressions['2'];
    } else {
        $count = $count % 10;
        if ($count == 1) {
            $result = ($showint? $int." ":"").$expressions['0'];
        } elseif ($count >= 2 && $count <= 4) {
            $result = ($showint? $int." ":"").$expressions['1'];
        } else {
            $result = ($showint? $int." ":"").$expressions['2'];
        }
    }
    return $result;
}


echo 'Ваш заказ на '.price_format($total_price).' '.declension($total_price, array('рубль', 'рубля','рублей'), false).'.';

В первом мы передаем само число, во втором параметре массив из трех элементов содержащий три вариации написания склоняемого слова, а в третьем параметре задаем флаг отображения числа. Если параметр стоит true, то будет выводится само число в результате работы функции, иначе выведется просто нужное склонение.

Функция рекурсивного создания директорий #

function rmkdir($path, $mode = 0777) {
    $path = rtrim(preg_replace(array("/\\\\/", "/\/{2,}/"), "/", $path), "/");
    $e = explode("/", ltrim($path, "/"));
    if(substr($path, 0, 1) == "/") {
        $e[0] = "/".$e[0];
    }
    $c = count($e);
    $cp = $e[0];
    for($i = 1; $i < $c; $i++) {
        if(!is_dir($cp) && !@mkdir($cp, $mode)) {
            return false;
        }
        $cp .= "/".$e[$i];
    }
    return @mkdir($path, $mode);
}