• Yii active record и user-defined types в postgres?

    Tehnomag
    @Tehnomag
    Судя по исходникам все пользовательские типы данных переводятся в строку

    protected function extractType($dbType)
     {
      if(strpos($dbType,'[')!==false || strpos($dbType,'char')!==false || strpos($dbType,'text')!==false)
       $this->type='string';
      else if(strpos($dbType,'bool')!==false)
       $this->type='boolean';
      else if(preg_match('/(real|float|double)/',$dbType))
       $this->type='double';
      else if(preg_match('/(integer|oid|serial|smallint)/',$dbType))
       $this->type='integer';
      else
       $this->type='string';
     }
    Ответ написан
    Комментировать
  • Система управления для туристического сайта?

    Tehnomag
    @Tehnomag
    Для joomla лучше всего подойдет JBZoo с допиленным под ваши нужды модулем фильтров

    Функционал бронирования даты заезда скорее всего придется делать отдельно от каталога, с привязкой к базе пользователей joomla, либо как отдельный каталог Zoo
    Ответ написан
    Комментировать
  • Как отследить что пользователь покинул страницу?

    Tehnomag
    @Tehnomag
    iframe, который постоянное держит подключение с сервером по websocket.
    Сайт обнавляется в ifreme который не трогает подключение, как закрется окно — сессию можно удалять.

    Из плюсов вижу возможность передавать всю информацию о клиенте: куда нажал, сколько грузится страница.

    С IE 6 можно подружить

    habrahabr.ru/post/94921/
    Ответ написан
    5 комментариев
  • Вывод даты в родительном падеже в jQueryUI Datepicker?

    Tehnomag
    @Tehnomag
    Ну вот стандартный подход, там же две переменные для месяца
    monthNamesShort и monthNames.
    Длинное описание не трогаем, а короткое описываем по своему и выводим в input короткое.

    JavaScript:
    $.datepicker.setDefaults( $.datepicker.regional[ "ru" ] );
    
    $('#myDate').datepicker({
        clickInput: true,
        monthNamesShort: [ "Января", "Февраля", "Марта", "Апреля", "Мая", "Июня", "Июля", "Августа", "Сентября", "Октября", "Ноября", "Декабря" ],
        dateFormat:"DD, d M, yy",
    });


    HTML:
    <div class="input-prepend"> 
    <span class="add-on"><i class="icon-calendar"></i></span>
            <input class="span5" id="myDate" type="text"></input>
    </div>
    Ответ написан
    1 комментарий
  • Что почитать для поднятия духа?

    Tehnomag
    @Tehnomag
    Дуглас Коупленд Рабы «Майкрософта», желательно в переводе Мартинкевич
    Дэн Симмонс "Гиперион" (про Сурбринера — просто феерично)
    Ответ написан
    1 комментарий
  • Yii + Nginx «реврайт в реврайте»

    Tehnomag
    @Tehnomag
    Через yii средствами роута
    в config/yii

    'components'=>array(
    ...
    'urlManager'=>array(
      'urlFormat'=>'path',
      'showScriptName'=>false,
      'rules'=>array(
                    '/'=>'',
                    array('/aaa/default/index/id/58058', 'caseSensitive'=>false, 'pattern' => 'aaa', 'verb' => 'GET', 'parsingOnly' => true),
                    array('/bbb/default/index', 'caseSensitive'=>false,  'pattern' => 'bbb.php', 'verb' => 'GET', 'parsingOnly' => true),
                    array('/bbb/default/index', 'caseSensitive'=>false,  'pattern' => 'bbb', 'verb' => 'GET', 'parsingOnly' => true),
                    array('/ccc/default/index', 'caseSensitive'=>false,  'pattern' => 'ccc', 'verb' => 'GET', 'parsingOnly' => true),
      ),
     ),
    ),
    


    тогда по mysite.ru/aaa -> вызовет модуль aaa, котролер default, action index.

    повесить на 404 обработчик
     'components'=>array(
    ...
    'errorHandler' => array(
       // use 'site/error' action to display errors
       'errorAction' => 'site/error',
      ),
    ),
    

    вызовет контроле site, метод error
    там уже проверяем что выводить зависмости от кода ошибки
    public function actionError()
     {
      $error=Yii::app()->errorHandler->error;
      if($error) {
       
      if(Yii::app()->request->isAjaxRequest){ 
       echo $error['message'];  
       Yii::app()->end(); 
      
      } else {
    
       if(!empty($error['code']) && $error['code'] == 404 && !empty($error['traces'][0]['args'][0]))
       {
        echo 'Query : '.$error['traces'][0]['args'][0];
        $this->redirect(array('bbb/index','str'=>$error['traces'][0]['args'][0]));
       }
      echo $error['message'];
     }
    
     }
    


    в nginx:
    location / {
            try_files $uri $uri/ /index.php?$args;
      root /var/www/site;
      index index.php index.html index.htm;
     }
    
     location ~ \.php$ {
       
      try_files $fastcgi_script_name =404;
      include /etc/nginx/fastcgi_params;
      fastcgi_pass   PollFPM;
      fastcgi_index index.php;
      fastcgi_param  SCRIPT_FILENAME  /var/www/site$fastcgi_script_name;
     }
    Ответ написан
    1 комментарий
  • Доставка из Штатов на рабочий адрес

    Tehnomag
    @Tehnomag
    Нет никаких сложностей с доставкой товаров на рабочий адрес, методами UPS и TNT Обе курьерские службы отправляют товары физическим лицам, если товар заказан через интернет магазин, такой как ebay, asos и т.д. В случае, если отправкой товара занимается стороннее лицо, к примеру, Ваш знакомый в США, то здесь, при получении товара по рабочему адресу, Вам без проблем отдадут посылку по паспорту (в редких-редких случаях могут попросить доверенность).

    При самостоятельном заборе посылки с пункта выдачи одной из данных служб без доверенности не обойтись.
    Ответ написан
    Комментировать
  • Joomla (+Phoca Gallery) + nginx + php-fpm: Проблема при генерации картинок?

    Tehnomag
    @Tehnomag
    fastcgi_cache_key: внимательно работаем с зависимостями
    fastcgi_cache_key "$request_method|$http_if_modified_since|$http_if_none_match|$host|$request_uri";

    Особого внимания заслуживает значение в директиве fastcgi_cache_key. Я привел минимальное рабочее значение этой директивы. Шаг вправо, шаг влево, и вы начнете в ряде случаев получать «неправильные» данные из кэша. Итак:

    Зависимость от $request_method нам нужна, т.к. HEAD-запросы в Интернете довольно часты. Ответ на HEAD-запрос никогда не содержит тела. Если убрать зависимость от $request_method, то может так совпасть, что кто-то до вас запросил главную страницу HEAD-методом, а вам потом по GET отдастся пустой контент.

    Зависимость от $http_if_modified_since нужна для того, чтобы кэш с ответом 304 Not Modified не был случайно отдан клиенту, делающему обычный GET-запрос. Иначе клиент может получить пустой ответ из кэша.
    То же самое и с $http_if_none_match. Мы должны быть застрахованы от выдачи пустых страниц клиентам!

    зависимость от $host и $request_uri не требует комментариев

    Источник: http://dklab.ru/chicken/nablas/56.html
    Ответ написан
    Комментировать