суббота, 5 декабря 2009 г.

Проверка кириллического адреса электронной почты

Большинство в рунете уже в курсе, что Российская Федерация будет первой страной, которая вводит кириллические доменные имена сайтов. Совсем скоро, а именно с апреля 2010 года появиться кириллический домен первого уровня «.рф».

Соответственно с этим появятся такие адреса как мэил.рф, яндекс.рф, рамблер.рф и другие популярные почтовые сервисы рунета. В связи с этим вполне вероятно, что появятся и возможность отправлять электронную почту на кириллические домены. Чтобы пользователи чувствовали себя комфортно при регистрации потребуется изменить регулярное ворожение для проверки E-mail.

Представляю регулярное выражение для проверки кириллических доменов:

preg_match("/^([a-zA-Z0-9_]|\\-|\\.)+@(([a-zа-я0-9_]|\\-)+\\.)+[a-zа-я]{2,6}\$/iu", $email)

пятница, 9 октября 2009 г.

Генератор паролей основанный на тегах

Подумал, как упростить себе жизни и не придумывать пароли большие и сложные, а главное не запоминать их, так как всегда забываю их через несколько недель, если не автаризуюсь постоянно на сайтах.

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

Представим есть сервис Хабр я решил на нём зарегистрироваться (я параноик, боюсь что мой акк ломанут) мне нужен сильный пароль, как мне его с генерировать это не проблема, как его не забыть, вот это проблема. Написал я вчера не большой скрипт http://media.inet72.ru/password.php или http://psw.wirtel.ru/, который позволит мне с генерировать пароль, а в случаи если я забуду его с легкостью восстановить.

В поле, через запятую, ввожу некоторые динамические и статистические данные.

Динамическими данные — это может быть домен Хабр (habrahabr.ru), название ресурса, его тематика, цвет фона и т.п.


Статистические данные — это данные которые я ни когда не забуду, например: имя моего друга, моя дата рождения, цвет глаза моей любимой девушки и др. Если я забыл пароль на Хабр, мне достаточно будет просто снова ввести теже данные, таким же образом чтобы получит пароль.

понедельник, 14 сентября 2009 г.

v2.0 PHP-скрипт прогноза погоды для сайта скачать бесплатно


Обновлен скрипт предназначенный для грабинга погоды с сайта gismeteo.ru, скрипт обрабатывает данные получаемые из XML файла.

Скачать скрипт вывода прогноза погоды на сайте.[обновление]

Сохранена возможность кэширования выводимой погоды. Скрипт уменьшился в размерах.

Для того чтобы вывести погоду с включенным кэшированием:

require_once'class.weather.php';
$w = new Weather;
$w->cch = true;
$w->cnn(28367);

echo $w->city;
echo $w->prt().
$w->prt(1).
$w->prt(2).
$w->prt(3);



Для того чтобы вывести погоду с выключенным кэшированием:

require_once'class.weather.php';
$w = new Weather;
$w->cnn(28367);

echo $w->city;
echo $w->prt().
$w->prt(1).
$w->prt(2).
$w->prt(3);


Переменные для работы с классом:
->cch — директива для активации переменное (по умолчанию: false),
    true – кэширование включено,
    false – кэширование выключено.
->cct — время хранения кэша в секундах (по умолчанию: 7200)
->cache — директория для хранения кэша погоды (по умолчанию: ./cache_weather/)
->img — директория с иконками погоды (по умолчанию: weather/)
->err — массив ошибок, предназначен для отладки (print_r(->err);)
->city — название города
->prt() — время суток со сдвигом от нынешнего времени суток для которого составлен прогноз, т.е. если скрипт обновился последний раз вечером, то погода выведется, на вечер, затем:
    ->prt(1) – на ночь
    ->prt(2) – на утро
    ->prt(3) – на день

Обновление предыдущей версии.

воскресенье, 13 сентября 2009 г.

База данных игр в SQL

Игровая база данных с сайта игромания.ру. База в формате SQL, в ней собрано описание игр, жанр, системные требования, дата выхода, компания издатель и другие ветки, которые я хотел использовать для своего игрового портала.

База имеет 6 840 строчек.

Структура БД:

`id` bigint(1) unsigned NOT NULL auto_increment,
`icon` varchar(200) NOT NULL,
`name` varchar(300) NOT NULL,
`console` varchar(100) NOT NULL,
`lang` varchar(100) NOT NULL,
`genre` char(100) NOT NULL,
`multiplayer` varchar(250) NOT NULL,
`developer` varchar(250) NOT NULL,
`developer_url` text NOT NULL,
`publisher` varchar(250) NOT NULL,
`publisher_url` text NOT NULL,
`publisher_in_russian` varchar(250) NOT NULL,
`publisher_in_russian_url` text NOT NULL,
`localizer` varchar(250) NOT NULL,
`localizer_url` text NOT NULL,
`date` varchar(100) NOT NULL,
`offsitegame` varchar(200) NOT NULL,
`minsystems` text NOT NULL,
`systems` text NOT NULL,
`text` text NOT NULL,
`tags` varchar(100) NOT NULL,
`url` text NOT NULL,
`count` int(1) unsigned NOT NULL,
`active` enum('0','1') NOT NULL default '1',
PRIMARY KEY (`id`)

Таблица структурирована не очень. Типы полей тоже не сильно обдуманы. Исправите.

Скачать игровую базу можно с народа в формате .zip [659кБ]

Если кому потребуется скрипт для распарсивания или добавления картинок, обращайтесь отдам безвозмездно.

воскресенье, 30 августа 2009 г.

Проект расписания занятий ИКИС

Проект реализованы за пару недель, предназначен для предоставления более удобной информации. В моем институте, расписание на сайте выкладывают в формате .XLS, читать такой файл не удобно, искать в нем свою группу, смотреть расписание на какой-лбо день недели тоже не удобно.

По этому был организован проект «Расписание занятий ИКИС». Это уже 3-версия проекта расписания, самая 1 версия содержала табель посещаемости и расписание, только группы в которой я обучаюсь, во второй полномочия старосты группы с меня сняли и табель перестал существовать, но появилось расписание занятий на все группы моего института.

Проект «Расписание занятий ИКИС», по менял название на «Группы ИКИС», не случайно, в будущем планирую развивать сообщество, где люди смогут делиться конспектами, общаться, играться с кармой учителей, и другое, главное не забить. Пока проект «Группы ИКИС» на Βeta-тестирование.

вторник, 18 августа 2009 г.

База данных имен(кличек) собак

Собрал базу имен(кличек) собак с сайта ZooClub.ru/dogs.

Скачать базу можно с народ.диск в формате [.zip].

База имен(кличек) собак собрана в одном файле animals.txt, файл составляет более 10 000 строчек или имён, также база разбита по полу собаки мальчик(animals-boy.txt) или девочка(animals-girl.txt). Помимо этого база разбита по алфавиту, в виде: animals-boy-A.txt. Каждое имя находиться в новой строчке.

четверг, 13 августа 2009 г.

Преобразовываем число в более читаемый вид

Функция предназначена для преобразования цифровой информации в более читаемый вид. Под цифровой информацией подразумевается стоимость товара, номер телефона и другие виды цифровой информации, которые можно разбить закономерным способом.

Функция на писана на PHP.


<?php
function СonvertNumber($n, $g = ' ', $c = 3)
{
if ($decimal = strstr($n, '.'))
{
$n = str_replace($decimal, '', $n);
}

return strrev( wordwrap( strrev( strval( $n ) ), $c, $g, 1) ).$decimal;
}
?>




Работа данной функции для телефонных номеров:
Телефон: <?php echo СonvertNumber( 344452, ' – ', 2 ); ?>
Телефон: 34 – 44 – 52

Телефон: <?php echo СonvertNumber( 344452, ' – ', 3 ); ?>
Телефон: 344 – 452


Работа данной функции для цены, суммы, стоимости и любого числа:
Цена: <?php echo СonvertNumber( 1999 ); ?> Руб.
Цена: 1 999 Руб.

Цена: <?php echo СonvertNumber( 999.99 ); ?> Руб.
Цена: 999.99 Руб.

Стоимость: <?php echo СonvertNumber( 1000000 ); ?>
Стоимость: 1 000 000 €



Описание функции СonvertNumber();:
СonvertNumber ( ЧИСЛО, РАЗДЕЛИТЕЛЬ, КОЛ-ВО СИМВОЛОВ );

ЧИСЛО — В водиться число. Целое или десятичное.
РАЗДЕЛИТЕЛЬ — Разделитель числа через заданное количество символов. По умолчанию стоит пробел. В качестве разделителя можно использовать любой символ, но не в HTML сущности, т.е. не использовать разделитель в виде &ndash; или &#8211;.
КОЛ-ВО СИМВОЛОВ — Количество символов до разделителя. По умолчанию стоит 3. Если данную функцию использовать для разделения телефонов, то надо учесть принцип работы функции.


Принцип работы функции:
Принцип функции очень простой, отправленное число преобразуется в текстовый формат, функцией strval();, затем все символы переставляются с права на лева, функцией strrev();, например: 123456, будет 654321, отступ будет произведет с лева на права, функцией wordwrap();, например: в шаге 3 654 321. В конце функция strrev(); переворачивает данные обратно, например: получаем 123 456.

!¡ number_format($number, 2, '.', '');

суббота, 4 апреля 2009 г.

Функция на php для оформления знака охраны авторского права

Автоматизирование вывода даты возле знака охраны авторского права, — вот для чего нужна эта функция на писанная на языке PHP.

Статья о правильном оформление знака охраны авторского права http://habrahabr.ru/blogs/typography/23812/

<?php
function Copyright( $year, $sp = "–" ){
if (date("Y") == $year)
return $year;
else
return $year .' '.$sp.' '. date("Y");
}
?>


© ООО «NameCompany», <?php echo Copyright( '2007' ); ?>
© ООО «NameCompany», 2007 – 2009


© ООО «NameCompany», с <?php echo Copyright( '2007', ' до ' ); ?>
© ООО «NameCompany», с 2007 до 2009

UPDATE: Добавлена возможность вставлять разделитель, по умолчанию стоит разделитель — тире длины N