21
марта
2012
Для установки Битрикса одно из требований это
mbstring.func_overload = 2
По быстрому, чтоб не париться — воткнул настройку в глобальный php.ini и забыл ...
Давеча перекинул на доработку проектик на CodeIgniter, и словил нехилы глюк — авторизация не пашет, хоть убей.
Убил на разбирательства день — проблема ушла корнями в механизм работы с сессиями, причём где именно так и не нашел.
В конечном итоге тот же проект перетащил домой, тоже на денвер, где проблема не проявилась — напряг память и вспомнил про этот mbstring.func_overload
ИТОГ — делая корректировки для конкретного проекта не ленитесь и делайте их реально для этого проекта, а не как я
ReTweet
рубрики: Программирование |
21
марта
2012
Вчера ваял загрузку/выгрузку цен через xls файлы на одном проектике на фреймворке CodeIgniter, сначала загрузку файла на сервер реализовал стандартными PHP средствами, потом подумал — явно ведь в фреймворке это уже реализовано и пошел гуглить.
Одним из сайтиков, заинтересовавших меня был CodeHarmony.ru а конкретно страничка CodeIgniter: класс Upload для загрузки файлов на сервер
где был выложен видео материал для новичков о использовании класса Upload для загрузки файлов.
Материал «реально» для ньюбов — в видео пошагово объясняется весь процесс, к тому же в архивном файле прилагается набор исходных кодов, ИМХО лучше бы отдельно от видео выложил — но всё равно — проделана огромная работа, которую я считаю действительно полезной.
Лучше один раз увидеть, чем 100 раз услышать.
Конечно, основная цель проекта — мартетинг, и по подаче информации сильно мне напомнил Евгения Попова, так же предлагающему интересные видео курсы . На сайте представлено ещё несколько довольно интересных курсов, которые можно приобрести (а можно и не приобретать).
Желающим попробовать себя в качестве продажника — присутствует партнёрка (лично мне слабо верится в какие то продажи — законы в нашей Стране пока не способствуют продаже интеллектуальной собственности).
ИТОГ — начинающим веб программистам (и самым новичкам только желающим стать веб программистами) рекомендую ознакомиться с курсами.
P.S. Что меня последнее время раздражает в подобных сайтах, это их навязчивость по сбору так называемой клиентской подписной базы — замучают навязывать какой нить бесплатный курс в обмен на подписку.
ReTweet
рубрики: Программирование |
16
февраля
2012
Заказчик по одному проекту, Энергетический портал Сибири, который я реализую на Битриксе поставил задачу «Виджет погоды своего города».
Готового решения не нашел, поэтому реализовал так:
Тут взял сам погодный информер.
Тут взял Определение местоположения по IP-адресу
Так как никаких соответствий между решениям (в плане соответствия город-город) я не нашел, то пришлось соответствие прокидывать по наименованию.
Базу всех городов из погодного информера выгрузил в файлик, пропарсил его и получил небольшую базу КОД — ГОРОД погодного информера.
Далее получив название города по IP, пробегаюсь по полученной базе, сохраняя Яндекс-индекс города, который в дальнейшем уже передаю в погодный информер.
Индекс сохраняем в сессии.
ReTweet
рубрики: Bitrix, Программирование |
12
января
2012
Давелось взять «доводить до ума» сайтик на WP движке с установленным плагинчиком Twitter Tools. Плагин в принципе интересный — интеграция с твиттером сайтик оживляет, но вот русской локализации у плагина не было — отсюда сайт на русском, а все служебные сообщения плагина на инглише — смотрится конечно же отвратительно.
Изначально с локализациями вообще туговато было — обновил плагин до актуального и уже получше.
В изменениях деклалировали
* Added language dir and .pot file
И действительно — папочка language присутствовала с файликом twitter-tools.pot
На этом всё — чё дальше не понятно...
А дальше конечно же гугл
Русификация Wordpress или зачем нужны файлы .mo и po, часть 1
Дублировать информацию не буду — там всё доступно написано... Если кратко — движек для перевода юзает .mo файлы, являющимися скомпрессированными .po файлами, которые в свою очередь создаются из .pot.
Но всё же дополню от себя:
Во первых twitter-tools.pot я переименовал в twitter-tools-ru_RU.po
Во вторых — по изложенному конечно же не пошло — при русификации «week» Poedit постоянно ругался и выдавал ошибку «...twitter-tools-ru_RU.po:373: missing `msgstr[]' section»
Связано это было с неверным заданием множественных форм в заголовке файла.
Сильно мудрить и разбираться я не стал — взял и тупо копирнул заголовки из заведомо рабочего файлика \wp-content\languages\ru_RU.po и всё пошло «на ура».
ReTweet
рубрики: CMS, Программирование |
11
ноября
2011
В многочисленных статьях по 301му редиректу обычно используют самые тривиальные случаи — с www на без www, с одной директории на другую и пр.
В моём случае необходимо было метнуть со странички с параметром ?param=value1... на ?param=value2... (какие именно писать не буду).
Небольшая сложность в таком подходе в том что ни аппач, ни nginx параметры не считают адресом странички.
С вариантом на php всё как обычно — просто решил его добавить до полноты картины 
С него и начнём как с самого простого, но и самого неэффективного
Выдёргиваем нужный параметр value1 через $_REQUEST меняем что нужно, и редиректим куда нужно
header(«HTTP/1.1 301 Moved Permanently»);
header("Location: http://..........);
exit();
Далее, вариант с аппачем — регулярное выражение необходимо наложить на QUERY_STRING
Правим .htaccess
RewriteEngine On
RewriteBase /
RewriteCond %{QUERY_STRING} ^param=value1(.+)$
RewriteRule ^(.*)$ $1?param=value2%1 [R=301,L]
И последний — самый эффективный nginx — тут параметры лежат в переменной $args
if ($args ~* (.*)param=value1(.+)) {
set $args $1param=value2$2;
rewrite ^(.*)$ $1 permanent;
}
ReTweet
рубрики: Администрирование, Полезности, Программирование |
10
ноября
2011
Вот такой вот тафтологичный заголовок получился
Немного хотел поделиться опытом — может кому пригодиться (хотя догадаться самому не сложно).
В общем довелось мне подрубить к сапе статический сайтик — эдак на 10 тыс html страниц
Идея проста — настраиваем обработчиком статических страниц свой скрипт, где уже динамически встраиваем сапу. (думал сначала тупо скриптом все странички поправить — но такой вариант мне не понравился). Сайт лежит на моём хостинге, так что проблем с редактированием конфигов у меня не возникло.
В моём случае фронтэндом у меня стоит nginx — вот в нём то и прописываем нужное правило.
location ~ \.(htm|html)$ {
charset windows-1251;
fastcgi_index index.php;
fastcgi_intercept_errors on;
root /.../site.ru/www/;
index index.php index.html index.htm;
include fastcgi_params;
fastcgi_pass unix:/tmp/php-fcgi.sock;
fastcgi_param SCRIPT_NAME /get.php;
fastcgi_param SCRIPT_FILENAME /.../site.ru/www/get.php;
}
в get.php уже дёргаем нужный статичный html файл
я его определил через $_SERVER["DOCUMENT_URI"]
и меняем как душе угодно, например
$page = str_replace('