Блог очередного разработчика

Sanasol

Получение timestamp из timestamp O_O

При использовании php-activerecord наткнулся на «косяк».

Если поле в базе имеет тип время/дата, в моем случае timestamp, то php-ar отдает отформатированную по дефолту строку, вместо собственно самого timestampа.

При курении доков выяснилось что используется там обычный DateTime из php

В общем чтобы получить unix время из поля приходится делать как-то так

Памятка для себя, потому что второй раз затупил c этим косяком 🙂

WOT парсер «трастовых» доменов

Зачем нужен можно глянуть здесь: http://sarkazm.name/odnoklassniki/obhod-prokladki-v-odnoklassnikah/
Забрать можно здесь: https://github.com/S-anasol/sanasol/tree/master/web/wotparse
Собственно запускать через консоль: php index.php
В domains.txt будут записаны домены с рейтингом 1 и 2(зеленые кружки и чуть менее зеленые кружки)

Остается дело за малым, проверить наличие обратных ссылок с этих сайтов. Я не придумал простого автоматического способа без обхода капч поисковиков, так что думайте сами.
Прикладываю результат для 200-999 страниц 14к «трастовых» доменов: https://gist.github.com/S-anasol/888b370bf6234cce0134

Снова обработка писем Postfix + Dovecot

В продолжении поста про ловлю почты postfix + dovecot. Так как предыдущий варинт оказался мне не по нраву, да и не подошел, потому что письма после фильтра теряются. Пришлось искать решение при котором письма попадают и в ящик, и на обработку php.

Добавляем эту строчку в /etc/postfix/recipient_bcc. После сохранения запускаем в консоли «postmap /etc/postfix/recipient_bcc«. Так мы учим Postfix отправлять копии письма которые содержат «@yourdomain.tld» на адрес robotscript@localhost. Т.е. создаем catch-all адрес.

Добавляем эту строчку в /etc/postfix/transport. После сохранения запускаем в консоли  «postmap /etc/postfix/transport«. Теперь Postfix  знает что письма приходящие на адрес robotscript@localhost больше никуда не передаются, а попадают сразу к нам.

Эти строки идут в  /etc/postfix/main.cf.

Проверьте чтобы параметр «mydestination» в /etc/postfix/main.cf содержал «localhost«.

Добавляем эту строчку в /etc/aliases. После сохранения запускаем в консоли «postalias /etc/aliases«. Теперь письма пришедшие на robotscript@localhost отправляются прямиком на наш PHP обработчик. Скрипт получает данные через STDIN.

Перезапускаем Postfix, теперь письма обрабатываются php скриптом и при этом доходят до получателя.

Hello World на PHP

 

Ловим почту php-скриптом [Postfix]

Задача: автоматическая обработка почты и запись данных в mysql базу.

Dovecot и Postfix

Для начала нужно установить Dovecot и Postfix (я ставил версию с mysql)

Установка сервера приема почты это долгое и неблагодарное занятие которое съело у меня 6 часов, поэтому описывать это я не буду, гайдов полно в гугле.

Затем через postfixadmin версии 2.3.6 добавил catch all(т.е. все письма отправленные на любой адрес(даже не существующий) попадающие на наш сервер идут на одну почту) адрес с которого собирается почта на уже другой локальный ящик(тоже созданный в админке)

Сам фильтр добавить не трудно, проблема скорее в разборе письма… Пытался установить mailparse в php, но он отказался компилироваться, пришлось изобретать велосипед.

(далее…)

PMA 4.1.0 Recaptcha fix

 

sed eval shell replace

find . -name "*.php" -print | xargs sed -i 's/eval\((.*)\)\;//g'

Игровой хостинг под Minecraft [1]

На руках: Панель GPX, VPS 2gb ram(1gb swap) и cpu 2×3400

Устанавливаем софт

Настройка MySQL

Для удобства зальем PMA последней версии в /var/www/pma

Идем на http://server-ip/pma и там создадим базу и юзера для панели

(далее…)

Epic Code Time

Делать было нечего, вспомнил что есть много музыки с названием из VK.com

Решил переименовать, конечно же не руками. Нашел дополнение для php под названием id3, которое получает данные из тегов файла, к сожалению сборка древняя и новее нету. В общем пришлось пользоваться простыми библиотеками(php) для того чтобы вытащить данные из файлов. Ну и небольшая рекурсивная функция чтобы собрать список файлов из всех папок с музыкой.

(далее…)

Yii первая встреча

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

(далее…)