ешение проблемы с сессией при загрузке файлов с uploadify.
В параметрах uploadify:
В preDispatch плагина фронтконтроллера (можно специального):
В параметрах uploadify:
"scriptData": {"PHPSESSID": "'.Zend_Session::getId().'"},
В preDispatch плагина фронтконтроллера (можно специального):
$phpSessId = $request->getParam('PHPSESSID');
if (!empty($phpSessId) && Zend_Session::getId() != $phpSessId) {
if(Zend_Session::isStarted()) {
Zend_Session::destroy();
}
Zend_Session::setId($phpSessId);
Zend_Session::start();
}
Сервис оплаты мобильного телефона за биткойны
Рубрика: Проекты / Метки: bitcoin | BTC / Дата: 03.06.2011 10:50 / Обсудить (0)В последнее время меня заинтересовала P2P валюта Bitcoin. Я и раньше про нее слышал, но интерес возник после волны публикаций на хабре.
Оказалось, что для биткойна уже есть несколько агрегаторов платежей. На основе одного из них (mybitcoin.com) я набросал сервис для оплаты за телефоны за BTC. В принципе можно прикрутить оплату чего угодно (то, что можно полатить за электронную наличность), но ограничусь пока телефонами.
Сейчас обработка проходит вручную - после оплаты на сайте мне приходи письмо и смска с информацией об оплате, после чего я вручную плачу. При интересе к сервису прикручу автооплату.
Комиссия сервиса пока 15%, дальше посмотрим. Курс от mtgox.com*официальный курс доллара.
Ссылки по теме:
Что такое Bitcoin
Как работает Bitcoin
Как добыть Bitcoin
Оказалось, что для биткойна уже есть несколько агрегаторов платежей. На основе одного из них (mybitcoin.com) я набросал сервис для оплаты за телефоны за BTC. В принципе можно прикрутить оплату чего угодно (то, что можно полатить за электронную наличность), но ограничусь пока телефонами.
Сейчас обработка проходит вручную - после оплаты на сайте мне приходи письмо и смска с информацией об оплате, после чего я вручную плачу. При интересе к сервису прикручу автооплату.
Комиссия сервиса пока 15%, дальше посмотрим. Курс от mtgox.com*официальный курс доллара.
Ссылки по теме:
Что такое Bitcoin
Как работает Bitcoin
Как добыть Bitcoin
Приняли мой issue для yiiext, обновил расширение QTreeGridView.
QTreeGridView - расширение для админки Yii для работы с деревьями (nested sets)
Рубрика: Проекты / Метки: yii / Дата: 11.04.2011 15:34 / Обсудить (0)CQTreeGridView - расширение для стандартного CGridView, для работы с моделями, расширенными YiiExt Nested set behaviour. Для визуального отображения используется плагин для jQuery treeTable, для перетаскивания - jQuery ui.
Работа по перемещению веток с помощью drag-and-drop. Потомка сделать корнем можно.
В расширении уже есть типовые actions, которые можно подключить. Или взять за основу для своих.
Внутри архива уже есть нужные jQuery ui и jQuery treeTable. jQuery treeTable немного изменен.
Использование:
- Сгенерировать модель, crud. Избавиться от упоминаний id, leftkey, rightkey И level в модели и формах.
- Cкачать YiiExt Nested set behaviour, следуя инструкциям расширить модель. Если Выбрали режим с одним корнем - вставить вручную запись с id=1, level=1, leftKey=1, rightKey=2. В модели сделать публичное свойство parentId.
- Добавить в метод search сортировку по полю root (если есть) и leftkey. Если все делали по инструкции, то этой строчкой:
- Скачать CQTreeGridView, положить в extensions.
- Во вью admin вместо виджета zii.widgets.grid.CGridView использовать ext.QTreeGridView.CQTreeGridView , добавить опцию 'ajaxUpdate' => false.
- добавить в контроллер:
- добавить типовые действия в контроллер:
Скачать расширение 77
Работа по перемещению веток с помощью drag-and-drop. Потомка сделать корнем можно.
В расширении уже есть типовые actions, которые можно подключить. Или взять за основу для своих.
Внутри архива уже есть нужные jQuery ui и jQuery treeTable. jQuery treeTable немного изменен.
Использование:
- Сгенерировать модель, crud. Избавиться от упоминаний id, leftkey, rightkey И level в модели и формах.
- Cкачать YiiExt Nested set behaviour, следуя инструкциям расширить модель. Если Выбрали режим с одним корнем - вставить вручную запись с id=1, level=1, leftKey=1, rightKey=2. В модели сделать публичное свойство parentId.
- Добавить в метод search сортировку по полю root (если есть) и leftkey. Если все делали по инструкции, то этой строчкой:
$criteria->order = $this->tree->hasManyRoots
?$this->tree->rootAttribute . ', ' . $this->tree->leftAttribute
:$this->tree->leftAttribute;
- Скачать CQTreeGridView, положить в extensions.
- Во вью admin вместо виджета zii.widgets.grid.CGridView использовать ext.QTreeGridView.CQTreeGridView , добавить опцию 'ajaxUpdate' => false.
- добавить в контроллер:
public $CQtreeGreedView = array (
'modelClassName' => 'Page2', //название класса
'adminAction' => 'admin' //action, где выводится QTreeGridView. Сюда будет идти редирект с других действий.
);
- добавить типовые действия в контроллер:
public function actions() {
return array (
'create'=>'ext.QTreeGridView.actions.Create',
'update'=>'ext.QTreeGridView.actions.Update',
'delete'=>'ext.QTreeGridView.actions.Delete',
'moveNode'=>'ext.QTreeGridView.actions.MoveNode',
'makeRoot'=>'ext.QTreeGridView.actions.MakeRoot',
);
}
Скачать расширение 77
Компиляция из исходников расширений для php в centos 5
Рубрика: Дневник / Метки: centos | eaccelerator | php | xdebug / Дата: 03.01.2011 17:11 / Обсудить (0)Прежде всего шпаргалка для себя в будущем:)
Установить нужные вещи для компиляции:
Скачать нужное расширений, разархивировать^
Настройки для php.ini для некоторых расширений:
eAccelerator:
xDebug:
Запуск профайлера - ?XDEBUG_PROFILE=1
Установить нужные вещи для компиляции:
yum install autoconf automake libtool php-devel
Скачать нужное расширений, разархивировать^
phpize
./configure
make
make install
Настройки для php.ini для некоторых расширений:
eAccelerator:
extension=eaccelerator.so
eaccelerator.shm_size="100"
eaccelerator.allowed_admin_path = "/var/www/control.php"
eaccelerator.cache_dir="/var/cache/eaccelerator"
eaccelerator.enable="1"
eaccelerator.optimizer="1"
eaccelerator.check_mtime="1"
eaccelerator.debug="0"
eaccelerator.filter=""
eaccelerator.shm_max="0"
eaccelerator.shm_ttl="0"
eaccelerator.shm_prune_period="0"
eaccelerator.shm_only="1"
eaccelerator.compress="0"
eaccelerator.compress_level="0"
xDebug:
[debug]
; Remote settings
xdebug.remote_autostart=off
xdebug.remote_enable=on
xdebug.remote_handler=dbgp
xdebug.remote_mode=req
xdebug.remote_host=localhost
xdebug.remote_port=9000
; General
xdebug.show_local_vars=On
xdebug.dump.SERVER=HTTP_HOST, SERVER_NAME
xdebug.dump_globals=On
xdebug.collect_params=4
xdebug.auto_trace=off
xdebug.collect_includes=on
xdebug.collect_return=off
xdebug.default_enable=on
xdebug.extended_info=1
xdebug.manual_url=http://www.php.net
xdebug.show_mem_delta=1
xdebug.max_nesting_level=100
xdebug.idekey=netbeans-xdebug
; Trace options
xdebug.trace_format=0
xdebug.trace_output_dir=/tmp/xdebuglogs
xdebug.trace_options=0
xdebug.trace_output_name=tracelog
; Profiling
xdebug.profiler_append=0
xdebug.profiler_enable=0
xdebug.profiler_enable_trigger=1
xdebug.profiler_output_dir=/tmp/profiler
xdebug.profiler_output_name=out.%H%R
Запуск профайлера - ?XDEBUG_PROFILE=1