вторник, 25 марта 2014 г.

TypeError: browser is undefined - как победить?

Стандартный плагин browser в Jquery выпилен и по идее для решения нужно обновить все плагины после обновления JQuery, но что делать, если автор плагина забыл про его обновление - ну написал и всё и не переписывает версию без $browser, а самому писать плагин лень?

Есть в наше время люди хорошие, которые этот плагин поддерживают в актуальном состоянии и предоставляют в общем доступе

среда, 12 февраля 2014 г.

PHPExel default codepage кодировка по умолчанию

При чтении файла отображались иероглифы, оказалось что файл экселя был кривым и кодировка в заголовке не была указана, по умолчанию PHPExel включает кодировку cp1252, тогда как в православной виндовой кириллице cp1251.

Открываем файл Reader/Exel5.php
и находим по слову 1252
Исправляем параметр на CP1251 и вуаля, бракованый XLS (генерируемый непонятной складской программой у поставщиков).


Далее я столкнулся еще с одной проблемой - когда определенная кодировка оказывается неподдерживаемой, хотя на деле cp1251.

Файл PHPExcel/Shared/CodePage.php, примерно после 89 строки нужно добавить выделенную красным цветом строку:

            case 32769:    throw new Exception('Code page 32769 not supported.');
                                            break;    //    ANSI Latin I (BIFF2-BIFF3)
            case 65001:    return 'UTF-8';        break;    //    Unicode (UTF-8)
            default: return 'CP1251';
        }

        throw new Exception('Unknown codepage: ' . $codePage);

среда, 29 января 2014 г.

SublimeText - простой, но мощный редактор для разработчиков

Недавно я озадачился поиском годной программы для редактирования CSS/PHP/JS/HTML, хотя бы что то похожее на Notepad++ или Gedit/Kate/Kedit.

Frase - часто вылетает при открытии файлов, либо открывает файлы неадекватно, но, возможно, это исправят в следующей версии, так же данная программа работала более стабильно на MacOS 10.8, а вот на 10.9 начались проблемы.

Tincta - жутко глючит при открытии нескольких файлов с 3000+ строк.

TextWrangler - работает годно, подсвечивает синтаксис, открывает в разных кодировках, не тормозит и не глючит.

SublimeText - так сказать "условно бесплатный", в триальной версии выскакивает раз в 2 часа окно с просьбой купить программу, но всё работает.

А теперь речь об избраннике - SublimeText
  • Можно одновременно редактировать текст в нескольких местах, можно выделять все участки с определенным словом.
  • Подсветка синтаксиса почти всех языков.
  • Очень быстрая работа, вкладки.
  • Горячие клавиши позволяют по минимуму использовать мышку, работать эффективней.
  • Автокомплит не только по зарезервированным функциям и выражениям, но и по словам, раннее использованных в данном файле.
  • Функционал расширяется плагинами.
  • Много-много возможностей
Демо-анимация данного редактора на официальном сайте.

пятница, 29 ноября 2013 г.

WebAsyst ShopScript подкатегории в расширеном поиске

В файле /published/SC/html/scripts/modules/test/_methods/category_search_result.php
дописываем
 $smarty->assign( 'subcategories_to_be_shown', catGetSubCategoriesSingleLayer($categoryID));

конец файла примерно такой
                if ( CONF_PRODUCT_SORT == '1' )_sortSetting( $smarty, set_query() );
                //calculate a path to the category
                 $smarty->assign( 'subcategories_to_be_shown', catGetSubCategoriesSingleLayer($categoryID));

                $smarty->assign( 'product_category_path', catCalculatePathToCategory($categoryID) );
                $smarty->assign( 'search_with_change_category_ability', 1 );
                $smarty->assign( 'catalog_navigator', $navigatorHtml );
                $smarty->assign( 'products_to_show', $products);
}
$smarty->assign( 'main_content_template', 'category_search.html');
?>




и всё!

четверг, 28 ноября 2013 г.

Язык по умолчанию (default language) в FreePBX

Надоело мне постоянно переключать на русский язык интерфейс FreePBX, я психанул и сделал вот что.

Открыл файл admin/libraries/view.functions.php

Там нашел такие строки:

function set_language() {
        if (extension_loaded('gettext')) {
        if (!isset($_COOKIE['lang']) || $_COOKIE['lang'] == '') {
            $_COOKIE['lang'] = 'en_US';
        }
        setlocale(LC_ALL,  $_COOKIE['lang']);
        putenv("LANGUAGE=".$_COOKIE['lang']);

        bindtextdomain('amp','./i18n');
                bind_textdomain_codeset('amp', 'utf8');
                textdomain('amp');
        }
}


изменил функцию вот так:


function set_language() {
        if (extension_loaded('gettext')) {
        if (!isset($_COOKIE['lang']) || $_COOKIE['lang'] == '') {
            $_COOKIE['lang'] = 'ru_RU';
        }
        setlocale(LC_ALL,  $_COOKIE['lang']);
        putenv("LANGUAGE=".$_COOKIE['lang']);

        bindtextdomain('amp','./i18n');
                bind_textdomain_codeset('amp', 'utf8');
                textdomain('amp');
        }
}

Отзыв о компании ИНСИС (colocation)

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

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

Я сделал один звонок, уточнил с девушкой-менеджером все подробности, отправил скан паспорта, на следующий день мне выслали все реквизиты и дали доступ к личному кабинету.
В личном кабинете я сделал предоплату картой Visa, договор передали в ЦОД, там я его и подписал, сервер разместили в моем присутствии.

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

Менеджеры очень внимательно относятся к клиентам, спасибо таким менеджерам.