Июн 26

r is not a constructor. Ошибка в TinyMCE

Категория: Программирование

Столкнулся с этой ошибкой. После небольшого ресерча нашел ответ на офсайтовском форуме.
Проблема возникает если TinyMCE не хватает каких-то файлов, зачастую из папочек plugins или themes.
После заливки MCEшки на FTP с помощью TC у меня этих папок с файлами не оказалось (Причины их отсутствия не ясны, скорее всего либо квоты на дисковое пространство или траблы с коннектом)
После дозаливки двух папочек на их законное место, TinyMCE заработала корректно.

Мораль: если TinyMCE ругается вот так: “r is not a constructor” или вот так: “o is not a constructor”, ну или подобным образом, проверь что бы все файлы и папки были на местах в нужном количестве.

Нет комментариев

Мар 13

MySQL. Манипуляция над данными из колонок и запись результата в другую колонку

Категория: Без рубрики

Столкнулся с тривиальной задачей. Нужно скопировать значения одной колонки в другую, преобразовав их в нижний регистр.
Немного потупил, а потом спросил у комрада. Решение элементарное:

UPDATE
tablename
SET
col2 = LOWER(col1);

где
tablename - название таблицы, над которой происходят манипуляции,
col1 - колонка с исходными значениями,
col2 - колонка с преобразованными в нижний регистр значениями из колонки col1,
LOWER - команда преобразующая значение в нижний регистр;

Соответственно, основываясь на этом примере, можно производить всевозможные манипуляциями с данными из одной или нескольких колонок и записывать результат в третью.

Нет комментариев

Окт 31

MySQL. Проверка валидности даты

Категория: Программирование

Если в MySQL сделать следующий запрос:

select date(”2008-02-31″);

умный MySQL вернет в результате запроса NULL, ну логично, что в феврале месяце в 2008 году не было 31 дня, да и 30 собственно тоже не было, а вот если написать

select date(”2008-02-29″);

то в ответе получим значение отличное от NULL, а именно эту же дату, что и будет доказательством её валидности и существования.

P.S. Не знаю как в ранних версиях с наличием такой фичи, но в 5.0.24 она есть и иногда бывает очень даже полезной

3 комментариев

Окт 23

MySQL. Удаление записей с несуществующей ссылкой

Категория: Без рубрики

Предположим у нас есть 2 таблички - ПАПКИ (folders) и ФАЙЛЫ (files). У файлов есть ссылка на айдишку папки, в которой они распологаются. Предположим, что по неосторожности мы удалили несколько ненужных нам папок, но забыли удалить файлы, которые лежали в этих папках. Итак, для того, что бы удалить файлы, у которых ссылка на несуществующую папку, выполняем запрос:

delete from files
where
folder_id not in (select folder_id from folders) and folder_id <> -1

В этом примере так же учтена корневая папка (-1).

5 комментариев

Сен 30

Проблема с сессиями в Internet Explorer

Категория: Программирование

Проблема состоит в том, что из под Firefox нормально логинится на сайт (стартует сессия), а из под Internet Explorer(IE) не хочет.
С помощью josser‘а выяснили, что проблема в том, что не сохраняется сессионная кука.
Ну а проблема не сохранения сессионной куки обстояла в том, что на сервере стояло время в прошлом, и кука сохранялась с “заведомо проэкспайренной датой”.
IE и Opera  к сожалению на такой поворот событий обижаются.
Firefox’у респект, за искусственную поддержку сессий.

Лечится это всё установкой нормальной таймзоны на сервере:
# ntpdate pool.ntp.org

# tzselect

Спасибо им

3 комментариев

Сен 30

Идея и реализация

Категория: Вариации на тему

ИдеяИдея (др.-греч. ἰδέα — видность, вид, форма) — понятие (мысленный образ) какой-либо реальности, (мысль или представление о ней).

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

Подробнее

5 комментариев

Сен 30

Большой проект. Советы

Категория: Программирование

В моем понимании большой проект - это проект, который длится более одного года при участии как минимум трех программистов. Именно в таком проекте я работаю уже в течении ~ полутора лет. За этот срок я неоднократно сталкивался с разного рода “граблями”. Подробнее

10 комментариев

Сен 30

PHPDocumentor. Как пользоваться?

Категория: Программирование

Кто такой PHPDocumentor (далее “документор”) можно почитать здесь:

  • на PEAR’е - http://pear.php.net/package/PhpDocumentor/;
  • на Сурсфорже - http://phpdocu.sourceforge.net/.

А промануалиться здесь - http://www.phpdoc.org/manual.php .

Вкратце скажу, что он умеет документировать PHP-код, то есть делать HTML с кликабельным описанием методов, классов и тому подобную инфу. Такая информация зачастую требуется по окончанию определенного этапа в проекте.

Для пользователей Zend Studio (http://www.zend.com/en/downloads/) нет никаких сложностей при в использовании документора, так как он встроен в нее и легко запускается ” Tools -> PHPDocumentor “. Правда, если вы используете операционную систему Windows, могут возникать некоторые проблемы с копированием необходимых файлов из за разности слешей. Пару раз столкнувшись с этой проблемой и не найдя моментального решения, решил поднять документор у себя на локали.

Исходники берем либо на сайте либо из папки с ZendStudio . DIRECTORY_SEPARATOR . bin . DIRECTORY_SEPARATOR . phpdocumentor. Копируем их к себе в htdocs/phpdocumentor, заходим http://localhost/phpdocumentor/, в закладке  “Files” указываем  файлы либо папку, файлы в которой надо документировать. Затем в “Output” указываем папку в которую будут складываться htmlки и формат вывода из выпадающего списка. В “Options” указываем название пакета и нажимаем кнопку “create” справа внизу. Чуть ниже в отдельном горизонтальном фрейме можно будет проследить за ходом генерации.

Приятного документирования ;)

PHPDocumentor

Нет комментариев

Сен 30

Порядковый номер элемента в списке или “выше->ниже”

Категория: Программирование

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

2 комментариев

Сен 30

SVN. Игнорирование файла, папки

Иногда бывает удобным установить игнорирование определенного файла в SVN, что бы на него не реагировали команды commit(ci) или update(up). Подробнее

6 комментариев

Следующая страница »