Аякс поиск роликов на ютуб #
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;
}
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;
}
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);
}
$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);
}

