Быстрый поиск
Введите фрагмент названия статьи для поиска
Концерт группы "Nachtmahr" в клубе "XO"
02.05.2010 | Категория: Жизнь в оффлайне | Автор: ManHunter
Концерт группы "Nachtmahr" в клубе "XO"
Что-то давно не было концертов хорошей, годной электронщины. А тут вдруг привалило такое счастье в виде австрийской индустриальной группы "Nachtmahr" с презентацией своего нового альбома. В афише заявлены еще какие-то "специальные гости", посмотрим, может и они чем порадуют.
Читать статью целиком »
Просмотров: 5236 | Комментариев: 0
Определение мобильных браузеров на PHP
30.04.2010 | Категория: Web-мастеру и не только | Автор: ManHunter
С быстрым развитием рынка мобильных устройств становится актуальной тема создания сайтов для них. Это могут быть самостоятельные страницы сайтов, или же просто облегченные версии страниц с минимумом графики, особыми стилями, версткой, чтобы сайт можно было комфортно просматривать на маленьком экранчике мобильного телефона или КПК. И лучше делать это автоматически, не заставляя пользователя искать на основном сайте какие-то дополнительные ссылки. Например, если вы откроете с мобильного телефона любую страницу моего сайта, то вас автоматически переадресует на облегченную версию этой же страницы для мобильных устройств. Определять браузер средствами PHP мы уже умеем, главная сложность - выделить сигнатуры браузеров мобильных устройств. К счастью, это уже сделано на сайте Detect Mobile Browsers. Весь сайт целиком посвящен только одному скрипту для определения мобильных браузеров, но сам скрипт обвешан ненужными наворотами и написан каким-то жутким стилем, так что в исходном виде практически бесполезен. А вот позаимствовать из него сигнатуры и некоторые другие методы определения вполне можно, что и было сделано. Код полностью вычищен и оптимизирован.Code (PHP) : Убрать нумерацию
- //--------------------------------------------------------------------
- // Функция проверки принадлежит ли браузер к мобильным устройствам
- // Возвращает 0 - браузер стационарный или определить его не удалось
- // 1-4 - браузер запущен на мобильном устройстве
- //--------------------------------------------------------------------
- function is_mobile() {
- $user_agent=strtolower(getenv('HTTP_USER_AGENT'));
- $accept=strtolower(getenv('HTTP_ACCEPT'));
- if ((strpos($accept,'text/vnd.wap.wml')!==false) ||
- (strpos($accept,'application/vnd.wap.xhtml+xml')!==false)) {
- return 1; // Мобильный браузер обнаружен по HTTP-заголовкам
- }
- if (isset($_SERVER['HTTP_X_WAP_PROFILE']) ||
- isset($_SERVER['HTTP_PROFILE'])) {
- return 2; // Мобильный браузер обнаружен по установкам сервера
- }
- if (preg_match('/(mini 9.5|vx1000|lge |m800|e860|u940|ux840|compal|'.
- 'wireless| mobi|ahong|lg380|lgku|lgu900|lg210|lg47|lg920|lg840|'.
- 'lg370|sam-r|mg50|s55|g83|t66|vx400|mk99|d615|d763|el370|sl900|'.
- 'mp500|samu3|samu4|vx10|xda_|samu5|samu6|samu7|samu9|a615|b832|'.
- 'm881|s920|n210|s700|c-810|_h797|mob-x|sk16d|848b|mowser|s580|'.
- 'r800|471x|v120|rim8|c500foma:|160x|x160|480x|x640|t503|w839|'.
- 'i250|sprint|w398samr810|m5252|c7100|mt126|x225|s5330|s820|'.
- 'htil-g1|fly v71|s302|-x113|novarra|k610i|-three|8325rc|8352rc|'.
- 'sanyo|vx54|c888|nx250|n120|mtk |c5588|s710|t880|c5005|i;458x|'.
- 'p404i|s210|c5100|teleca|s940|c500|s590|foma|samsu|vx8|vx9|a1000|'.
- '_mms|myx|a700|gu1100|bc831|e300|ems100|me701|me702m-three|sd588|'.
- 's800|8325rc|ac831|mw200|brew |d88|htc\/|htc_touch|355x|m50|km100|'.
- 'd736|p-9521|telco|sl74|ktouch|m4u\/|me702|8325rc|kddi|phone|lg |'.
- 'sonyericsson|samsung|240x|x320vx10|nokia|sony cmd|motorola|'.
- 'up.browser|up.link|mmp|symbian|smartphone|midp|wap|vodafone|o2|'.
- 'pocket|kindle|mobile|psp|treo|android|iphone|ipod|webos|wp7|wp8|'.
- 'fennec|blackberry|htc_|opera m|windowsphone)/', $user_agent)) {
- return 3; // Мобильный браузер обнаружен по сигнатуре User Agent
- }
- if (in_array(substr($user_agent,0,4),
- Array("1207", "3gso", "4thp", "501i", "502i", "503i", "504i", "505i", "506i",
- "6310", "6590", "770s", "802s", "a wa", "abac", "acer", "acoo", "acs-",
- "aiko", "airn", "alav", "alca", "alco", "amoi", "anex", "anny", "anyw",
- "aptu", "arch", "argo", "aste", "asus", "attw", "au-m", "audi", "aur ",
- "aus ", "avan", "beck", "bell", "benq", "bilb", "bird", "blac", "blaz",
- "brew", "brvw", "bumb", "bw-n", "bw-u", "c55/", "capi", "ccwa", "cdm-",
- "cell", "chtm", "cldc", "cmd-", "cond", "craw", "dait", "dall", "dang",
- "dbte", "dc-s", "devi", "dica", "dmob", "doco", "dopo", "ds-d", "ds12",
- "el49", "elai", "eml2", "emul", "eric", "erk0", "esl8", "ez40", "ez60",
- "ez70", "ezos", "ezwa", "ezze", "fake", "fetc", "fly-", "fly_", "g-mo",
- "g1 u", "g560", "gene", "gf-5", "go.w", "good", "grad", "grun", "haie",
- "hcit", "hd-m", "hd-p", "hd-t", "hei-", "hiba", "hipt", "hita", "hp i",
- "hpip", "hs-c", "htc ", "htc-", "htc_", "htca", "htcg", "htcp", "htcs",
- "htct", "http", "huaw", "hutc", "i-20", "i-go", "i-ma", "i230", "iac",
- "iac-", "iac/", "ibro", "idea", "ig01", "ikom", "im1k", "inno", "ipaq",
- "iris", "jata", "java", "jbro", "jemu", "jigs", "kddi", "keji", "kgt",
- "kgt/", "klon", "kpt ", "kwc-", "kyoc", "kyok", "leno", "lexi", "lg g",
- "lg-a", "lg-b", "lg-c", "lg-d", "lg-f", "lg-g", "lg-k", "lg-l", "lg-m",
- "lg-o", "lg-p", "lg-s", "lg-t", "lg-u", "lg-w", "lg/k", "lg/l", "lg/u",
- "lg50", "lg54", "lge-", "lge/", "libw", "lynx", "m-cr", "m1-w", "m3ga",
- "m50/", "mate", "maui", "maxo", "mc01", "mc21", "mcca", "medi", "merc",
- "meri", "midp", "mio8", "mioa", "mits", "mmef", "mo01", "mo02", "mobi",
- "mode", "modo", "mot ", "mot-", "moto", "motv", "mozz", "mt50", "mtp1",
- "mtv ", "mwbp", "mywa", "n100", "n101", "n102", "n202", "n203", "n300",
- "n302", "n500", "n502", "n505", "n700", "n701", "n710", "nec-", "nem-",
- "neon", "netf", "newg", "newt", "nok6", "noki", "nzph", "o2 x", "o2-x",
- "o2im", "opti", "opwv", "oran", "owg1", "p800", "palm", "pana", "pand",
- "pant", "pdxg", "pg-1", "pg-2", "pg-3", "pg-6", "pg-8", "pg-c", "pg13",
- "phil", "pire", "play", "pluc", "pn-2", "pock", "port", "pose", "prox",
- "psio", "pt-g", "qa-a", "qc-2", "qc-3", "qc-5", "qc-7", "qc07", "qc12",
- "qc21", "qc32", "qc60", "qci-", "qtek", "qwap", "r380", "r600", "raks",
- "rim9", "rove", "rozo", "s55/", "sage", "sama", "samm", "sams", "sany",
- "sava", "sc01", "sch-", "scoo", "scp-", "sdk/", "se47", "sec-", "sec0",
- "sec1", "semc", "send", "seri", "sgh-", "shar", "sie-", "siem", "sk-0",
- "sl45", "slid", "smal", "smar", "smb3", "smit", "smt5", "soft", "sony",
- "sp01", "sph-", "spv ", "spv-", "sy01", "symb", "t-mo", "t218", "t250",
- "t600", "t610", "t618", "tagt", "talk", "tcl-", "tdg-", "teli", "telm",
- "tim-", "topl", "tosh", "treo", "ts70", "tsm-", "tsm3", "tsm5", "tx-9",
- "up.b", "upg1", "upsi", "utst", "v400", "v750", "veri", "virg", "vite",
- "vk-v", "vk40", "vk50", "vk52", "vk53", "vm40", "voda", "vulc", "vx52",
- "vx53", "vx60", "vx61", "vx70", "vx80", "vx81", "vx83", "vx85", "vx98",
- "w3c ", "w3c-", "wap-", "wapa", "wapi", "wapj", "wapm", "wapp", "wapr",
- "waps", "wapt", "wapu", "wapv", "wapy", "webc", "whit", "wig ", "winc",
- "winw", "wmlb", "wonu", "x700", "xda-", "xda2", "xdag", "yas-", "your",
- "zeto", "zte-"))) {
- return 4; // Мобильный браузер обнаружен по сигнатуре User Agent
- }
- return false; // Мобильный браузер не обнаружен
- }
Просмотров: 34525 | Комментариев: 14
Печенье "Орешки" со сгущенкой
28.04.2010 | Категория: А еще я туда ем! | Автор: ManHunter
Печенье "Орешки" со сгущенкой
"Орешки" со сгущенкой - мое самое любимое печенье еще со времен детства. Ту жалкую пародию на "Орешки", которая нынче продается в магазинах, я есть не могу. Раньше мама пекла "Орешки" на газовой плите в специальной чугунной орешнице, а сейчас чудеса прогресса подарили мне новый электроприбор для изготовления моей любимой сладости. Но главный секрет успеха в правильно приготовленном тесте.
Читать статью целиком »
Просмотров: 41994 | Комментариев: 38
Создание анимированной иконки приложения
24.04.2010 | Категория: Образ мышления: Assembler | Автор: ManHunter
Очередная милая рюшечка для украшения программ - анимированная иконка. Она может быть как в заголовке окна, так и в системном трее. Кроме чисто декоративной функции анимация часто используется и в полезных целях, например, почтовая программа TheBat! таким способом оповещает, что пришло новое письмо, качалка Download Master показывает свою активность при загрузке файлов, антивирусы обозначают процесс сканирования файлов, ICQ крутит "цветочек" при подключении, ну и так далее. Реальных примеров на самом деле много.Для всех вариантов анимации сперва надо подготовить исходный материал. Это должны быть иконки одинакового размера, представляющие собой отдельные кадры анимации. У меня это будет вращающийся смайлик. Художник из меня никудышный, поэтому я просто взял и повернул готовый смайлик нужное количество раз на 45 градусов по часовой стрелке.
Кадры для анимации
В ресурсах иконки лучше всего описывать номерными индексами. Обратите внимание, что индексы иконок идут по порядку, так будет гораздо легче работать с ними:
Code (Assembler) : Убрать нумерацию
- resource group_icons,\
- 1,LANG_NEUTRAL,animate1,\
- 2,LANG_NEUTRAL,animate2,\
- 3,LANG_NEUTRAL,animate3,\
- 4,LANG_NEUTRAL,animate4,\
- 5,LANG_NEUTRAL,animate5,\
- 6,LANG_NEUTRAL,animate6,\
- 7,LANG_NEUTRAL,animate7,\
- 8,LANG_NEUTRAL,animate8
- resource icons,\
- 1,LANG_NEUTRAL,icon_data1,\
- 2,LANG_NEUTRAL,icon_data2,\
- 3,LANG_NEUTRAL,icon_data3,\
- 4,LANG_NEUTRAL,icon_data4,\
- 5,LANG_NEUTRAL,icon_data5,\
- 6,LANG_NEUTRAL,icon_data6,\
- 7,LANG_NEUTRAL,icon_data7,\
- 8,LANG_NEUTRAL,icon_data8
- icon animate1,icon_data1,'icon1.ico'
- icon animate2,icon_data2,'icon2.ico'
- icon animate3,icon_data3,'icon3.ico'
- icon animate4,icon_data4,'icon4.ico'
- icon animate5,icon_data5,'icon5.ico'
- icon animate6,icon_data6,'icon6.ico'
- icon animate7,icon_data7,'icon7.ico'
- icon animate8,icon_data8,'icon8.ico'
Читать статью целиком »
Просмотров: 10431 | Комментариев: 14
Альтернативная Панель управления в Windows 7
22.04.2010 | Категория: Software | Автор: ManHunter
Альтернативная Панель управления в Windows 7
Некоторое время назад исследователи системы Windows 7 нашли в ней очень интересную недокументированную фичу. Если создать, например, на Рабочем столе папку с хитрым именем любое_название.{ED7BA470-8E54-465E-825C-99712043E01C}, то открыв ее, можно попасть в альтернативную Панель управления. Новость выложили даже на развлекательных сайтах, где она мгновенно обросла слухами и домыслами, что это "режим Бога", что там есть все скрытые настройки Windows, и даже что на 64-битных системах само наличие этой папки может привести к фатальному краху системы.
Читать статью целиком »
Просмотров: 12173 | Комментариев: 11