Як дізнатися, чи ви комерція?

Сьогодні читав одну ліцензію і наткнувся на один пункт інтересного змісту, який включає наступні рядки.
“Наш продукт, забороняється використовувати комерційно. Якщо ви можете купити макбук про, ви скоріше за все комерція”. :D

Yii transactions

При розробці програмних продуктів, бувають випадки, коли при маніпуляціях з базами данних, потрібно враховувати успішність попереднього запиту, і відповідне реагувати. Наприклад в нас є код, який зберігає щось в таблицю, після чого стається збій, і наv потрібно вернути зміненні данні. На допомогу нам приходять міграції. В фреймворку “Yii” це доступно з “коробки”.
Для початку, нам потрібно ініціалізувати тразакцію – $transaction = Yii::app()->db->beginTransaction(), далі в блоці try виконати певні дії, при відсутності помилок зберегти данні – $transaction->commit() і при їх наявності “відкотити” данні – $transaction->rollback(). Приблизний код може виглядати так:

            $transaction = Yii::app()->db->beginTransaction();
            try{
                $userId = Yii::app()->user->id;
                $user = Users::model()->find('user_id=:user_id',array('user_id'=>$userId));
                if($user == null) throw new exception();
            }
            catch(Exception $e)
            {
                $transaction->rollback();
            }

Yii,session.use_trans_sid,CPagination,url

Сьогодні зіткнувся з проблемою створення лінків класом CPagination. В моїй ситуації сесія передається через юрл, тобто поставлена опція session.use_trans_sid. Коли класс генерував лінк, PHPSESSID дублювався 2 рази в юрл, що призводило до помилки.
Читати далі »

jquery autocomplete, cache extraParams

При передачі параметрів, плагин їх кешує, черз що в деяких ситуаціях можуть виникнути проблеми.
Щоб цьго уникнути робим так :

extraParams: {c: function() { return $("#country").val(); } },

Codeigniter, ajax, pagination

Доповню паутину своїма 5 копійками :) . В інтернеті багацько туторіалів на цю тему, отож не вважайте це рішення остаточно правильним.

Що потрібно?

– Ajax – пагінацю.
– Мінімум кода.DRY;)
– Пагінація має зберегти свої основні властивості, після наших правок :)
– Написаний нами код має бути безпечним.
– Пагінація має правильно працювати.
Читати далі »

Codeigniter, cookie bug [part2]

Хоча я вже писав про данний баг в СІ, я описав як його пофіксити тільки для класу сессій, бо не звернув увагу на те що бажний сам клас кукіc. Можливо хтось це не рахує уразливістю, але я вважаю уразливістю любу помилку в коді, яка дозволяє отримати зловмиснику, любу інформацю про сайт, яку б я хотів приховати. До цьої інформації як я вважаю відноситься від шляху до скрипта який виконується до sql запиту який зараз відбувається. Наприклад картина може виглядати так (передачі массиву в ідентифікатор, який передаєтсья через куки)

Читати далі »

Помилка при запуску сервера WEBrick

Якщо при запуску в вас така помилка
/var/lib/gems/1.8/gems/execjs-1.2.9/lib/execjs/runtimes.rb:47:in 'autodetect': Could not find a JavaScript runtime. See https://github.com/sstephenson/execjs fo
В Gemfile додайте
gem 'therubyracer'

VirtualBox, налаштування спільних тек, та прокидування портів

Привіт. Сьогодні будем налаштовувати VirtualBox. Основна ОС – Windows 7, гостьова Ubuntu 11.04.
Для початку прокинем порти. Зараз 21 сторіччя на дворі, тому все(майже :) ) робиться через GUI. Відкривам “Параметри – Мережа”. Вибираєм мережевий адаптер NAT. Тицькаєм “Переадресування порту”. І налаштовуєм за своїми потребами.
Напиклад так.
Читати далі »

Codeigniter vs uploadify part2

Після боротьби з сесіями ми спробуєм прикрутити загрузку через стандартну бібліотеку CI.
Для почтаку код вювера.
Читати далі »

Codeigniter, розкриття шляхів.

Привіт, сьогодні розкажу про баг в codeigniter. Цей баг може показати шляхи до папок, а як повезе, то і sql запит.
Читати далі »

Wordpress Themes ???? ???????????