0
<< предыдущая заметкаследующая заметка >>
22 января 2010
довел до ума ajax-editor

1. Перенос заметки.

2. Cоздание новой заметки (все просили, да?). Открываем на редактирование любую заметку и нажимаем вверху первую по счету кнопочку "создать новую". Кому понадобится в дизайне своей страницы ссылку на создание новой заметки (Павлову охота, я знаю) - сделайте себе чего-нибудь с атрибутом onclick="majax('editor.php',{a:'newform'})" - и это будет открывать форму новой заметки.

3. Сделал зелененькую фишечку, по которой подгружается панелька с кнопками редактирования - я рассудил, что по умолчанию она не нужна: открывая всякий раз форму редактирования, человек использует кнопки редактирования не чаще, чем 1 раз из 20. Мало ли, мобильный трафик и все такое. Пусть подкачивается по запросу, если понадобилась.

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

UPD: Да, ну и заодно приделал такую же кнопкопанель к комментариям, делов на минуту, а поди плохо.

UPD: Да, демку фотоальбома я тоже привинтил - по иконке из подгружаемой панельки в редакторе.

UPD: А миленький, я вам скажу, получается движок! Доточить мелочи, оптимизировать по скорости (базам и кэшированию) - вообще красотища небывалая будет.

<< предыдущая заметка следующая заметка >>
пожаловаться на эту публикацию администрации портала
архив понравившихся мне ссылок
Оставить комментарий
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Отлично!Супер!Волшебно!
0
0
Andrey Pozdnyakov
попробовал обновиться - не работает
запускаю install.php - предлагает обновить config, далее кнопки: check back clean old
Где update?
в админко тоже зашел, вроде все понажимал
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
UPDATE - это и есть CHECK. Если ничего не предлагает - значит, обновился. Вернуться к предыдущей версии - back (если Clean не нажимался). А что именно не работает? Может, зайти в /admin и там посмотреть обновления баз?
0
0
Andrey Pozdnyakov
в общем проблема была в том, что движок находится в корне. в поле host надо вписать '/', похоже, а не оставлять пустой.
сейчас появилась страница со списочком - нажал update
0
0
Andrey Pozdnyakov
не заработало, надо разбираться

все-таки нужно чтобы в install, поле host можно было оставить пустым
0
0
Леонит Каганофф
Если движок находится в корне, поле host должно быть пустым! По-моему об этом даже строго пишет сам install, сейчас проверю. Да, вот же напротив графы: folder ('blog/' or '' for root in site) Пардон мой пиджин инглиш ;)
0
0
Andrey Pozdnyakov
да, проблема лишь в том, что install так не работает..
0
0
Andrey Pozdnyakov
ок, неимоверными усилиями удалось поставить!

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


пока что вылезли такие проблемы:
1. страница comments с ошибками
2. медленно как-то ajax ваш работает...
3. непонятно где править шаблон? dnevnik.html обновил, а дизайн старый
0
1
Andrey Pozdnyakov
3. где шаблоны править - нашел
0
0
Леонит Каганофф
Да, я пока не написал документацию, как и где правит шаблоны, как рисовать свои модули и т.п. Напишу после, когда все будет готово. Вообще - все шаблоны в /template, все css - в /css, все скрипты постараюсь сложить в /js (но часть пока в /design по старой памяти)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А что было? Почему не ставилось?
0
0
Andrey Pozdnyakov
Согласно моим настройкам (домен второго уровня - директория на сервере), поле
"Hosting" в install.php нужно оставить пустым. но так оно не работает

В общем я поставил обновления в lhcsurvey.org/opros/, а потом исправил конфиги, чтоб было opros.lhcsurvey.org
0
0
Andrey Pozdnyakov
еще: статистика не работает
0
0
Andrey Pozdnyakov
пишет:

mysql_query("SELECT `search`,`poiskovik`,`count`,`n` FROM `dnevnik_search` WHERE `DateID`=90 ORDER BY `count` DESC")
Unknown column 'DateID' in 'where clause'

mysql_query("SELECT `link`,`count`,`n` FROM `dnevnik_link` WHERE `DateID`=90 ORDER BY `count` DESC LIMIT 50")
Unknown column 'DateID' in 'where clause'
0
0
Леонит Каганофф
Буду думать.
0
0
Леонит Каганофф
А все обновления применены в /admin?
0
0
Andrey Pozdnyakov
Да, все.

Таблицы MySQL
dnevnik_comm: элементов 22
dnevnik_link: элементов 134
dnevnik_plusiki: элементов 1
dnevnik_posetil: элементов 43
dnevnik_search: элементов 12
dnevnik_zapisi: элементов 49
pravki: элементов 46
rekomenda: элементов 0
site: элементов 0
unic: элементов 27
unictemp: элементов 0
0
0
Леонит Каганофф
Я понял. Убейте вообще базу dnevnik_search и dnevnik_link, и зайдите в /admin, где оно предложит создать их заново. Они никогда и не работали, просто пустыми были созданы по старому шаблону, не писать же мне удалялку в самом деле? ;)
0
0
Andrey Pozdnyakov
ok
0
0
Andrey Pozdnyakov
еще: голосовалка не подключается

404 не найден site_mod/GOLOS.php
0
0
Леонит Каганофф
Голосовалка для движка 3 поколения (единая авторизация unic) еще не готова - сделаю на неделе. Зато она будет защищена от накруток.
0
0
Andrey Pozdnyakov
а зачем старую отключать? пусть будет.
0
0
Леонит Каганофф
А как иначе? Старая система авторизации не поддерживается ядром движка, старые базы учета перестроены.

Да не волнуйтесь, все будет нормально.
0
0
Леонит Каганофф
Давайте по порядку разберем, чтобы я смог понять и исправить.

1. Вы ставили через install в чистую папку (не поверх старого движка) и install вам сам настроил config?

2. Как именно после этого не работало? Что и где удалось сделать, чтобы заработало?
0
0
Andrey Pozdnyakov
1. нет, не в чистую, именно поверх старого.
Как я написал выше,
согласно моим настройкам (домен второго уровня - директория на сервере), поле "Hosting" в install.php нужно оставить пустым. но так оно не работает - при нажатии check возвращает ту же страницу

2. Удалось поставить обновления в lhcsurvey.org/opros/, а потом исправить конфиги, чтоб было opros.lhcsurvey.org

3. Кажется нужно просто разрешить поле "Hosting" в install.php оставлять пустым, чтоб работало в моем случае.
0
0
Andrey Pozdnyakov
вероятно статистика не работает как раз из-за того, что update был с одними настройками, а сейчас работает с другими
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
> так там был кто-то кто на google-code выкладывал.
Все, к сожалению, свелось к svnsync, проверить стабильность работы пока невозможно, коммитов не было уже больше месяца. :)
0
0
Леонит Каганофф
Давайте вы мне скажите, что надо сделать на сайте (например, отдавать список всех файлов, отдавать файлы уже умеет). И кто-нибудь сделает.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Хм. давайте тогда определимся как лучше.
Я сейчас вижу такие варианты:
1) Вы продолжаете коммитить результаты в основной репозиторий, а гугловский с ним синхронизируется. Это вообще одна команда, ее можно просто забить в крон.

2) Сервер отдает список файлов, скрипт их скачивает и сразу заливает на гуглокод. Это тоже просто, но не будет комментариев к ревизиям.

3) Вы сами автоматически или вручную обновляете репозиторий (команда svn commit, если не ошибаюсь, ну, или каким клиентом вы пользуетесь).
0
0
Леонит Каганофф
Объясню ситуацию еще раз. Работаю я с файлами на сервере - там нет svn (невозможен по техническим причинам). Чтобы обновлять репозитарий, мне надо скачивать файлы на локальный компьютер вручную - выбирая то, что не нужно, и пытаясь не слить свой конфиг с админским паролем. Раньше у меня это делал самописный скриптик - крайне неудобный, я постоянно забывал, что добавил какой-то новый файл, а какой-то старый удалил, и он глючил.

Теперь есть модуль install.

В нем уже есть такие команды:

1) http://lleo.aha.ru/blog/install.php?action=test
Выводит список всего, что есть на сервере.

2) http://lleo.aha.ru/blog/install.php?load=[ПАПКИ/ПАПКИ/]ИМЯ_ФАЙЛА
Отдает файл.

Эта система умная - она сама понимает, какие файлы трогать, какие нет, никогда не отдаст мой конфиг, а также поддерживает некие макросы, позволяющие отдавать файлы без строчек, помеченных в начале тэгом /*lleo*/ - предназначенных именно для моего сервера (например, отладочных).

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

Вы все намекаете, чтобы этот скриптик сделал я. Я намекаю, чтобы его сделал кто-то другой ;)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
> Вы все намекаете, чтобы этот скриптик сделал я.
Ненене. Я намекал, что вам будет удобней обновлять, т.к. думал, что svn на сервере уже стоит.

А раз в любом случае делать придется через install.php, то завтра вечером повешу скриптик, который и будет этим заниматься
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Увы - на хостинге lleo.aha.ru не возможности что-либо устанавливать. На просьбы что-то изменить, Володька мне обычно отвечает, что единые настройки для 2000 пользователей он менять не станет :)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ну, да. Я как-то забываю все время, что lleo.aha.ru - не выделенный сервер. :)

Попутно нашел бажечку - все файлы скриптом отдаются с content-type text/plain. В том числе и бинарные (например, design/fon1.jpg), что, в теории, может привести к неприятным странностям.
К примеру, у меня уже после сохранения такой жипег неправильно распознается просмотрщиками. Но это, возможно, из-за особенностей языка. У себя-то я могу вставить костыль - например, определять тип по расширению файла.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Очень сложно и ненадежно строить распознавалку файла по расширению. И я не слышал, чтобы install где-то стянул бинарные файлы с ошибками. По идее, если файл на том конце ловит не браузер, а скрипт, -работающий с ним как с бинарником, то все должно отдаваться без ошибок. Транспорту не велено глядеть внутрь и курочить текст. Мало ли, может у меня там какой-то юникод аццкий...
0
0
Леонит Каганофф
Вспомнил: если к строке запроса файла добавить &mode=install, то он их должен отдавать с другим хедером, каким-то более бинарным.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Ага. application/octet-stream
Но вроде и выборка по расширению нормально работает.

Теперь вот что.
Я думаю, лучше всего синхронизировать это дело 1-2 раза в сутки. На какие часы тогда настроить?
Или просто вам скрипт отдать, сами будете запускать?

И что с гуглом? Есть у вас аккаунт или, может, заведете? :)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
А какие команды там могут быть кроме add и mkdir?
Скрипт написал, в общем-то, немного засрал вам error.log, наверно %). Завтра погоняю.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Команды эти вообще следует удалять - они лишние. Опция test - отладочная затычка, подразумевается, что некий хост прислал пустой список своих файлов, и в ответ сервер ему пишет, что надо установить все файлы (add), создавая по ходу папки. А если где-то файлов нет, а надо создать только папку - то mkdir.

Есть еще команды del и update, но они могут появиться только если хост прислал не пустой список, а с именами файлов и хэшами md5 для сличения. Это дикий гемор, поверьте. При размерах движка не более 500кб с блэкджеком, ttf и иконками, проще его скачать в секунду заново-для репозитария. Это с хостами беда - они свои файлы написали авторские, надо аккуратно менять, да еще откатку обеспечить, поэтому такие сложности.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Понятно. Но add и mkdir вроде нормально обрабатываются. Остается пофиксить бинарные файлы и собственно коммитить результат.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
я бы скачал список, add заменил на wget... :)
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Скрипт пишу и тестирую под виндовс, поэтому никаких внешних программ. Да, итак все нетрудно.

А вот и первый, тестовый, полуавтоматический коммит: http://code.google.com/p/lleoblog/source/detail?r=75

Если у вас есть гуглоаккаунт - говорите, допишу в смотрители. :)
0
0
Roman Erykalov
Красота - не то слово! Скорость появления новых плюшек радует необычайно! И с дизайном наконец-то можно экспериментировать. И install - очень впечатляет.
Но есть и непонятные мне косяки с iceweasel 3.0.6 (он же FF). Не работает новый аякс никак. При нажатии на заголовок страницы ничего не происходит. Удивительно, что на вашей странице форма редактирования открывается (в тестовом режиме). И комменты иногда меняют фон по неизвестной логике. Хотя все это - мелочи и пустяки. Удобно, приятно работать.
Еще раз спасибо!!!
0
0
Леонит Каганофф
Я надеюсь, когда будут готовы все модули (сейчас делаю закачку фоток и работу с фотоальбомом), и движок установится как основной в основном дневнике, попросим специалистов посмотреть, что именно не работает в каких браузерах, и как исправить. Потому что все то, что может не работать (основные JS-процедуры), очень мизерно по объему - строк 20-30 всего и собрано в index.php.
0
0
Roman Erykalov
Забыл написать, что в Опере все работает прекрасно. Хотя именно Опера глючит периодически у меня на других сайтах.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
в windows 7 IE8 практически на любое действие вылазит ошибка жаваскрипта
Сведения об ошибке на веб-странице

Сообщение: Недопустимый аргумент.
Строка: 297
Символ: 51
Код: 0
URI-код: http://remlo.ru/blog/2010/01/25.html


при попытке зайти на /comm/ выдается
Fatal error: Call to undefined function: file_put_contents() in /home/remlo/remlo.ru/blog/module/comm.php on line 35
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Добавлю, в опере работают ссылки на ответить, залогиниться и т.д.
0
0
Леонит Каганофф
Ох... Так я не пойму. Кончится тем, что я как-нибудь сяду за комп сестры, открою putty на сервер и параллельно IE и буду ковырять, пока не победю.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
function loadCSS(src){ src='/blog/css/'+src;
if(JSload[src]=='load') return; JSload[src]='load';
var headID = document.getElementsByTagName('head')[0];
var s = document.createElement('link');
s.type = 'text/css';
s.rel = 'stylesheet';
s.href = src;
s.media = 'screen';
headID.appendChild(s);
ajaxon();
}

выделенная жирным строчка ругается.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
Странно: как эта строчка может ругаться при загрузке, если она работает только сильно позже при некоторых особо сложных вызовах типа логина или редактора.
Этот человек не загрузил свой юзерпик, и я подобрал ему этот. Человек, пишущий такое, должен именно так выглядеть, верно?
ээээ... я, наверное, не так выразился)))
оно именно на любое МОЕ действие на странице так реагирует.
т.е.: на попытку логина, на попытку ответить/прокомментировать.

всего комментариев: 53

<< предыдущая заметка следующая заметка >>