За месяц Февраль, 2011

MODx и ISPManager - доступ к manager

В ситуации, когда сайт на MODx установлен на хостинге, работающем под управлением ISPManager есть один тонкий момент.

MODx и ISPManager имеют одинаковый адрес для доступа к “админке”

Читать целиком »

Опубликовано Февраль 28, 2011 | автор: levik  |  Комментарии (8) »

Работа с Excel в PHP - классы, библиотеки, готовые решения

Phpexcel - Просто огромный (~20 Мб исходников) набор классов для работы с Excel из PHP. Возможно сделать практически всё, что можно сделать в Excel (например, поддерживается работа с формулами, с диаграммами… ). Требования к хостингу, однако, также на высоте - PHP 5.2 и выше, библиотеки Zip, XML и GD2
http://phpexcel.codeplex.com/

Spreadsheet_Excel_Reader небольшой класс для чтения информации из Excel. Подойдет для обработки (импорта файлов XLS). Из найденных “глюков” - дата может быть смещена на единичку - исправляем значения
define(’SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS’ ,    25570); //25568
define(’SPREADSHEET_EXCEL_READER_UTCOFFSETDAYS1904′, 24108); //24107
http://sourceforge.net/projects/phpexcelreader/

Доработанный вариант -  PHP Excel Reader - довольно удобная библиотека для работы с Excel в PHP. Последняя версия ещё не так сильно устарела. Однако, проблемы с датой остались и в этой версии - не всегда корректно определяется время.
http://code.google.com/p/php-excel-reader
http://groups.google.com/group/php-excel-reader-discuss?pli=1

Spreadsheet_Excel_Writer - класс из PEAR, поддерживает картинки, формулы, изображения форматирование текста и ячеек (заливка, границы). Не рекомендуется к использованию (т.к. не “совсем” поддерживает новый - BIFF8 - формат EXCEL)
* PHP 4.1.0
* PEAR Installer 1.4.0b1
* OLE 0.5
http://pear.php.net/package/Spreadsheet_Excel_Writer

По аналогии с работой в Word через COM, можно организовать и работу с Excel через COM-объекты. Однако, этот вариант возможен лишь на Windows-хостинге и установленном Excel , либо на локальном компьютере пользователя через JavaScript в Internet Explorer (опять же,требуется установленный Excel)

Не забываем, что экспорт в Excel по требуемому шаблону можно сделать без дополнительных классов, исключительно средствами PHP

Опубликовано Февраль 25, 2011 | автор: levik  |  Нет комментариев »

Верстаем правильно

Подборка ссылок на статьи по вёрстке -как верстать правильно? На что следует обратить внимание? Какие инструменты для вёрстки использовать. Бывалые верстальщики делятся своим опытом

Довольно объемная статья по проверке вёрстки
http://habrahabr.ru/blogs/webdev/114256/

Надеюсь, с помощью читателей, статья будет пополняться ссылками на интересные материалы по верстке

Опубликовано Февраль 23, 2011 | автор: levik  |  Нет комментариев »

Удаленное включение компьютера по сети

Для удаленного включения компьютера по сети с использованием технологии Wake on LAN (WOL) нужно знать IP-адрес компьютера в сети Интернет (необходимо постоянное подключение) и MAC-адрес его сетевой карты, через которую он подключен к Интернет. Естественно, сетевая карта и биос должны поддерживать возможность включения по сети:

Требования к компьютеру для включения по сети

- Оборудование должно соостветствовать спецификации ACPI и в настройках BIOS должна быть включена поддержка режима “Wake On Lan”.
- Иметь блок питания ATX.
- Иметь сетевую карту, поддерживающую технологию “Wake On Lan” (WOL).

Состав magick packet - “волшебного” пакета, для пробуждения “выключенного” компьютера (на самом деле, компьютер не совсем выключен - он находится в режиме )
Первые 6 байт - 0xFF, так называемая «цепочка синхронизации» . Затем — MAC-адрес сетевой платы, повторённый 16 раз.

http://ru.wikipedia.org/wiki/Wake-on-LAN

Программы для включения компьютера по сети:
broadc.exe
broadc.exe MAC-адрес-сетевой-карты 255.255.255.255 67

wol.exe имеет чуть больше возможностей

wakeup.exe - графическая утилита

wakeonlan - для Linux:
wakeonlan MAC-адрес
http://white55.narod.ru/wol.html

wake on lan на PHP:
http://toni.uebernickel.info/development/php-wake-on-lan/

Опубликовано Февраль 19, 2011 | автор: levik  |  Нет комментариев »

Применение параметров компьютера - долгая загрузка

При загрузке рабочей станции с Windows XP SP3 долго висит окно “Применение параметров компьютера“(до ввода имени пользователя). После применения параметров загрузка проходит довольно быстро. Причем, аналогичная длительная загрузка наблюдается и на других компьютерах, но не на всех. Если во время загрузки отключить сетевой кабель, применение параметров компьютера происходит практически моментально.

Конфигурация вполне “стандартная” - рабочие станции Windows XP SP2, SP3, сервер - Windows Server 2003 / Windows Server 2008 c DNS, DHCP и Active Directory

В чем может быть дело: Читать целиком »

Опубликовано Февраль 18, 2011 | автор: levik  |  Комментарий (1) »

Пагинация в Shop Script - убираем дубли страниц

В одной из версий (похоже, бесплатной и, возможно, не самой свежей) интернет-магазина Shop Script не предусмотрена проверка наличия товаров в категории.. Точнее, наличия их на определенной странице.. Т.е. возможно возникновение дублей вида

categoryId=10&offset=5
categoryId=10&offset=7

Как правило, большое количество такого рода страниц не приветствуется поисковыми системами - будем избавляться от них.

Я решил перенаправлять все обращения к несуществующим страницам на первую страницу этой же категории. Для исключения страниц из поиска - используем 301 редирект

if ($offset >$g_count || ($offset % CONF_PRODUCTS_PER_PAGE !=0) ) {
header("HTTP/1.1 301 Moved Permanently");
header ('Location:index.php?categoryId='.$categoryID);
exit();
}

Этот код следует вставить туда, где производится проверка $offset >$g_count (файлы category.php и filters.php в includes)

Опубликовано Февраль 17, 2011 | автор: levik  |  Нет комментариев »

Синий экран ошибка BCCode: 50 (BSOD на Windows 7)

Периодически компьютер при попытке перехода в режим Гибернация (а-ля спящий режим) выдает синий экран смерти (BSOD) и перезагружается с сообщением “Система была восстановлена после серьезного сбоя”

Имя события проблемы: BlueScreen
BCCode:    50
BCP1:    CECECECE
BCP2:    00000000
BCP3:    88522300
BCP4:    00000002
OS Version:    6_1_7600

Из рекомендаций - проверить драйвера к видеокарте (тем более, что в сообщении мелькало что-то про NVidia)

Опубликовано Февраль 15, 2011 | автор: levik  |  Нет комментариев »

У пользователя пропадают локальные административные права

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

После применения политики безопасности на Default domain policy - параметры безопасности - hisecws.inf у пользователей у которых были права локального администратора на компьютере после перезагрузки пропадает администратор на локальной машине. Была применена setup security.inf но проблемы остались. Как это исправить ???

http://forum.sysadmins.su/index.php?showtopic=26394

Рекомендация:
см. настройки Restricted Groups в GP

бонус:
http://zona.su/2009/01/restricted-groups-remote-desktop.html
Использование Restricted Groups для администрирования через Remote Desktop

Выполняем для изменения пути по умолчанию, при подключении новых компьютеров в домен, на нужный нам OU:
redircmp ou=mycomputers,DC=corp,dc=com

Для пользователей соответственно используем:
redirusr ou=myusers,DC=corp,dc=com

http://support.microsoft.com/kb/324949

Опубликовано Февраль 14, 2011 | автор: levik  |  Нет комментариев »

Wget - загрузка файлов и сайтов в Linux

Про полезности wget написано много.

Просто скачать файл при помощи wget:
wget ftp://myserver.com/file.data

Продолжить прерванную загрузку файла - загрузка файла с докачкой:
wget -c ftp://myserver.com/file.data
wget --continue ftp://myserver.com/file.data

скачать файлы из списка:
wget -i filelist.txt
wget --input-file filelist.txt

Создать локальное зеркало сайта - скачать сайт:
wget -m http://yandex.ru/
(простое сохранение страниц. При этом ссылки ведут на сам сайт)

Для того, чтобы создать копию сайта для локального просмотра (скачать сайт целиком), можно воспользоваться дополнительными ключами:

wget -r -l 0 -e robots=off -np -k http://yandex.ru/
Скачать весь яндекс :)

-r - рекурсивное скачивание
-l 0 - глубина 0 (т.е. качаем, пока качается)
-np - no-parent - не качать ссылки выше основного url
-k - изменить ссылки на локальные
-e robots=off - игнорируем директивы robots.txt

http://www.inp.nsk.su/~bolkhov/teach/inpunix/typ_wget.ru.html
Описание некоторых ключей wget

Опубликовано Февраль 12, 2011 | автор: levik  |  Комментарий (1) »

Общение с заказчиком :)

Программист сдает готовый проект заказчику. Заказчику все нравится, он довольно кивает:
— Я надеюсь, если потом нужно будет что-нибудь переделать, я смогу обратиться к Вам? Конечно же, я не скажу «Давайте все изменим!»
— Без проблем. Кстати, маленький вопрос. Можно и мне потом, если у меня вдруг закончатся деньги или будут какие-нибудь проблемы, связаться с вами с просьбой – немного мне доплатить?
— ???
— Да вы не волнуйтесь! Я же не скажу вам «заплатите мне еще раз»!

http://itif.ru/ulybnulo-xoroshaya-otpiska-zakazchiku/

Опубликовано Февраль 11, 2011 | автор: levik  |  Комментарий (1) »