Перейти к контенту

Журнал - Дневник


urisoft

Рекомендуемые сообщения

на самом деле есть две большие проблемы по сраневнию с которыми остальное - мелочи

 

1. Записи таблицы jtracker -> | trid | member_id | post_id | journal_id | start_date | При удалении пользователя с форума при наличии у него подписок на дневники или записи в дневниках в таблице остается информация, а система продолжает пытаться слать уведомления по несуществующим более адресам. Обхожу это вручную, но видимо придется делать дополнительный запрос в процедуру удаления пользователя. В частности удаление всех вхождений где ID = member_id - это подписки удаляемого, и journal_id = ID - это подписки на журнал удаляемого. Но ума не приложу как быть с записями, ведь когда идет подписка на запись удаляемого, то journal_id = 0, а идентификация подписки идет по post_id мне что для этого вычислять какие post_id принадлежат данному пользователю по другой таблице и потом уже удалять все вхождения этих post_id в таблице трекера ?

 

2. Не работает список врагов, т.е. дневники просто получают статус hide при этом, но ничто не мешает зайти в них. Мало того, как уже писала Anna, при добавлении человека в список врагов, он автоматически появляется в списке друзей. Вобщем с политикой доступа к дневнику не все гладко. Видимо надо вводить не просто сокрытие дневника, а проверку по member_id на доступ к журналу. Для меня эта задача сложновата. Может быть кто-то сталкивался или есть идеи по решению задачи?

 

Собственно вот такие две проблемы.

 

и еще никто не реализовал случайно до сих пор элементы дизайна скина с хранением в БД элементов CSS (например color и font) ?

 

Вродебы это сделали на www.sexnarod.ru, но там версия под форум 1.х.х , а я интересуюсь 2.0.4

Ссылка на комментарий
Поделиться на других сайтах

  • Ответы 791
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Здравствуйте.

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

В частности я не могу разобраться с этой фразой: :D

 

2.3.1 Файл: skin_global.php

-------------------------------------------------------------------------------------------

// ---------------------------------

// Найти (2 раза - в function Member_bar и function Member_no_usepm_bar):

// ---------------------------------

 

· {$ibforums->lang['view_new_posts']} · {$ibforums->lang['l_qb']}

 

// ---------------------------------

// Заменить на:

// ---------------------------------

 

· {$ibforums->lang['view_new_posts']} · {$ibforums->lang['l_qb']} · member['id']}'>{$ibforums->lang['my_journal']} ·

 

 

Что на что здесь надо заменить? Объясните подробнее, пожалуйста.

Изменено пользователем Шуршунчик
Ссылка на комментарий
Поделиться на других сайтах

Установила дневники, все вроде нормально было

А теперь пытаюсь понять по какой ссылке они должны открываться

Ccылка на дневники почему-то стала переадресовать на главную форума

Ссылка на комментарий
Поделиться на других сайтах

Установила дневники, все вроде нормально было

А теперь пытаюсь понять по какой ссылке они должны открываться

Ccылка на дневники почему-то стала переадресовать на главную форума

journal.php

 

по идее :D

Ссылка на комментарий
Поделиться на других сайтах

на самом деле есть две большие проблемы по сраневнию с которыми остальное - мелочи

 

1. Записи таблицы jtracker -> | trid | member_id | post_id | journal_id | start_date | При удалении пользователя с форума при наличии у него подписок на дневники или записи в дневниках в таблице остается информация, а система продолжает пытаться слать уведомления по несуществующим более адресам. Обхожу это вручную, но видимо придется делать дополнительный запрос в процедуру удаления пользователя. В частности удаление всех вхождений где ID = member_id - это подписки удаляемого, и journal_id = ID - это подписки на журнал удаляемого. Но ума не приложу как быть с записями, ведь когда идет подписка на запись удаляемого, то journal_id = 0, а идентификация подписки идет по post_id мне что для этого вычислять какие post_id принадлежат данному пользователю по другой таблице и потом уже удалять все вхождения этих post_id в таблице трекера ?

 

Да, есть такая проблема. Я предлагаю с ней бороться следующим образом. Так как мод у многих людей стоит достаточно давно и описанный тобой баг с удалением юзера стал проявляться через некоторое время, значит в базе уже есть лохмотья от призрачных пользователей. Соответственно, имеет смысл создание патча, который будет не только чистить лохмотья в момент удаления конкретного юзера, но и те, что были при удалении ранее удаленных.

 

Вот запросец для получения списка подписок на посты несуществующих мемберов:

 

SELECT j.post_id, p.journal_id, m.name 
FROM ibf_jtracker j
LEFT JOIN ibf_jposts p ON ( j.post_id = p.pid ) 
LEFT JOIN ibf_members m ON (m.id = p.journal_id)
GROUP BY j.post_id
HAVING j.post_id>0 AND m.name IS NULL
ORDER BY m.name ASC

 

вот пример результата:

post_id  journal_id  name  
847	   NULL		 NULL 
1189	 15			 NULL

post_id - на какой пост подписка

journal_id - в чьем журнале этот пост

name - имя владельца журнала

 

Как видно, в первом случае - ссылка на журнал отсутствует, значит пост удален. Во второе случае пост присутствует, но пользователь удален.

 

Таким образом данный запрос должен выполнятся ПОСЛЕ удаления юзера, но ДО удаления постов из журнала.

 

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

 

$result - результат выполнения предыдущего запроса
foreach ($result as $row)
{
 $DB->query("DELETE FROM ibf_jtracker WHERE post_id = '{$row[post_id]}'");
}

 

А вот аналогичный запрос для получения подписок на журналы несуществующих пользователей.

 

SELECT j.journal_id, m.name
FROM ibf_jtracker j
LEFT JOIN ibf_members m ON ( m.id = j.journal_id ) 
GROUP BY j.journal_id
HAVING j.journal_id >0 AND m.name IS NULL 
ORDER BY m.name ASC

 

Этот запрос должен быть выполнен ПОСЛЕ предыдущей, описанной мной операции по удалению подписок на посты.

 

Аналогичным образом производтся удаление:

$result - результат выполнения предыдущего запроса
foreach ($result as $row)
{
 $DB->query("DELETE FROM ibf_jtracker WHERE journal_id = '{$row[journal_id]}'");
}

 

Теперь остается только почистить дневники несуществующих пользователей. Аналогичная процедура выполняется для ibf_jposts - вязать по journal_id.

 

SELECT j.journal_id, m.name
FROM ibf_jposts j
LEFT JOIN ibf_members m ON ( m.id = j.journal_id ) 
GROUP BY j.journal_id
HAVING m.name IS NULL
ORDER BY m.name ASC

 

Этот запрос выполняется последним в серии запросов по удалению лохмотьев в журналах

 

И точно так же удаляем все посты из полученных журналов.

$result - результат выполнения предыдущего запроса
foreach ($result as $row)
{
 $DB->query("DELETE FROM ibf_jposts WHERE journal_id = '{$row[journal_id]}'");
}

Ссылка на комментарий
Поделиться на других сайтах

Проинсталировала Журналы на последнюю версию Invision Power Board v2.1.3

При попытке открыть страницу journal.php выходит следующее:

Fatal error: Call to undefined function: my_getcookie() in .../forum/sources/classes/class_session.php on line 258

 

Строка 258 и ниже:

$cookie['session_id']   = $this->ipsclass->my_getcookie('session_id');
	$cookie['member_id']	= $this->ipsclass->my_getcookie('member_id');
	$cookie['pass_hash']	= $this->ipsclass->my_getcookie('pass_hash');

	if ( $cookie['session_id'] )
	{
			$this->get_session($cookie['session_id']);
			$this->ipsclass->session_type = 'cookie';
	}
	elseif ( $this->ipsclass->input['s'] )
	{
			$this->get_session($this->ipsclass->input['s']);
			$this->ipsclass->session_type = 'url';
	}
	else
	{
			$this->session_id = 0;
	}

Подскажите, пожалуйста, как исправить эту проблему?

Заранее большое спасибо!

Ссылка на комментарий
Поделиться на других сайтах

Проинсталировала Журналы на последнюю версию Invision Power Board v2.1.3

 

Перед тем как устанавливать модификации, надо убедиться в том, что ваша версия форума совместима с ними. Данный мод реализован только для линеек 1.3.х и 2.0.х, о чем написано в описании мода в первом посте данной темы.

Ссылка на комментарий
Поделиться на других сайтах

Установила дневники, все вроде нормально было

А теперь пытаюсь понять по какой ссылке они должны открываться

Ccылка на дневники почему-то стала переадресовать на главную форума

journal.php

 

по идее :D

 

пробывала

выбрасывает на главную страницу

все исправленные файлы перепроверила, вроде все правильно, но дневников нет

может кто-то что-то посоветует

Ссылка на комментарий
Поделиться на других сайтах

Проинсталировала Журналы на последнюю версию Invision Power Board v2.1.3

 

Перед тем как устанавливать модификации, надо убедиться в том, что ваша версия форума совместима с ними. Данный мод реализован только для линеек 1.3.х и 2.0.х, о чем написано в описании мода в первом посте данной темы.

Anna, может тогда подскажете, как перевести старую базу данных журнала на Invision Community Blog v1.2.0?

Просто у меня раньше стояла версия IPB 2.0 и журналы. После апрейда форума журналы перестали работать. Пришлось покупать Invision Community Blog v1.2.0. Но на него база журналов садиться не хочет.

 

Может кто сталкивался с этим? Помогите импортировать базу, пожалуйста.

Ссылка на комментарий
Поделиться на других сайтах

Anna, может тогда подскажете, как перевести старую базу данных журнала на Invision Community Blog v1.2.0?

Просто у меня раньше стояла версия IPB 2.0 и журналы. После апрейда форума журналы перестали работать. Пришлось покупать Invision Community Blog v1.2.0. Но на него база журналов садиться не хочет.

 

Может кто сталкивался с этим? Помогите импортировать базу, пожалуйста.

 

 

Ее нельзя импортировать, ее надо конвертировать. А конвертора нет.

Быть может однажды у кого-то (может даже у меня) появится желание такой конвертер сделать.

 

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

Ссылка на комментарий
Поделиться на других сайтах

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

а это очень-очень плохо... :D

 

 

даже если не задаром?

Ссылка на комментарий
Поделиться на других сайтах

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

а это очень-очень плохо... :D

даже если не задаром?

 

Написание конвертера требует очень большой подготовки и отличного знания особенностей обеих продуктов.

Делали конвертер самописного мода file_archive с md_pro на аналогично самописный мод под slaed .... съехала крыша (особенно в части конвертирования описаний файлов, тут не просто раз и поля поменять, тут много особенностей)

 

Если честно, то я бы не взялся, проще поставить второй мод, объявив первый как более неподдерживаемый на сайте (пусть ведут дневники и в старом и в новом виде). Еще вариант - нанять программера со стороны (пожалуй это единственный выход в данной ситуации)

 

SELECT j.post_id, p.journal_id, m.name 
FROM ibf_jtracker j
LEFT JOIN ibf_jposts p ON ( j.post_id = p.pid ) 
LEFT JOIN ibf_members m ON (m.id = p.journal_id)
GROUP BY j.post_id
HAVING j.post_id>0 AND m.name IS NULL
ORDER BY m.name ASC

 

Не большой оффтоп:

Забавно! Баг или фича ? Скопировав себе этот кусок кода и поставив на форум выяснил, что префикс таблиц был автоматически заменен на префикс того форума, на котором этот пост был написан.

 

Это баг или фича тега SQL или тега CODE ? В данном случае IBF - это не просто набранный текст, а реально существующий префикс таблиц в базе на ibresourse.

Ссылка на комментарий
Поделиться на других сайтах

Вчера закончила писать конвертер из mJournal pb3 (beta3) (подходит и для pb4,pb5) в Invision BLOG v 1.1.2 (то и другое под IPB 2.0.x).

 

Конвертер будет конвертировать дневники mJournal в BLOG на базе платформы IPB 2.0.x, что дает возможность в последствии перейти на платформу IPB 2.1.x и соответствующию версию блога с помощью конвертера INVISION, входящего в состав продукутов IPB и ICB.

 

Конвертер протестила на локалхосте на образе базы данных своего форума - в ней 80 дневников, примерно 3250 записей, 14250 комментариев.

 

В ходе написания конвертера, обнаружились следующие интересные вещи:

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

 

- в блогах нет возможности в публичном дневнике сделать запись "только для друзей" (в mJournal называется "закрытую") - там есть режим "DRAFT", который делает запись "только для себя". Таким образом, невозможно создавать записи для ограниченного числа пользователей в условиях открытого (публичного) дневника. Таким образом, во избежании разглашения приватной информации, я считаю наиболее безопасным записи "закрытые" конвертировать в DRAFT (только для себя), чем делать их публичными (путь хозяин потом сам решит что ему делать: изменить режим доступа к блогу, удалить запись или сделать ее публичной).

 

- в блогах нет "интересов" и "антиресов", зато там есть возможность создавать собственные блоки информации. Я решила конвертировать интересы и антиресы в два собственных блока: "Интересы" и "Антиресы". Конвертироваться будут только те интересы и антиресы, которые показываются открыто.

 

- Конвертируются такие параметры как видимость информационных блоков и их положение (слева или справа).

 

- в блогах нет "аттачей в комментариях", поэтому аттачи в комментариях будут вставляться в тело комментария в тегах IMG

 

- в блогах нет "опросов", поэтому конвертировать опросы некуда, конвертироваться они не будут.

 

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

 

Резюме.

Конвертироваться будут следующие элементы:

- список блогов

- записи дневников

- аттачи записей дневников

- комментарии

- аттачи комментарией дневников в тело комментариев (в тегах IMG)

- рейтинги

- Интересы и Антиресы (в новые блоки)

- Видимость и положение (слева или справа) блоков: интересы, антиресы, календарь, комментарии

- список доступа ("друзья" для дневников "только для друзей")

 

Конвертор платный. Яндекс.Деньги или WebMoney. Желающие конвертироваться - в ЛИЧКУ

Изменено пользователем Anna
Ссылка на комментарий
Поделиться на других сайтах

Обновление 07/12/2005

 

Добавлена фича к конвертеру (mJournal - BLOG 1.1.2):

- аттачи в комментариях конвертируются в обычные ссылочные картинки (в тегах IMG)

Еще теперь можно оплатить конвертер по WebMoney (WMZ).

 

Обновление 08/12/2005

 

Добавлена фича к конвертеру (mJournal - BLOG 1.1.2):

- интересы и антиресы теперь конвертируются в собственные блоки (custom blocks)

- конвертируются такие данные как видимость и положение (слева или справа) таких блоков как: интересы, антиресы, календарь, комментарии

Изменено пользователем Anna
Ссылка на комментарий
Поделиться на других сайтах

портировал mjournal 2.0pb3 на ipb 2.1.3. теперь ищутся тестеры, на которых можно было бы это погонять, пофиксить глюки.

 

Давай ссылку, потестим, но ИМХО глюки будут все те же, если мод дефолтный без ручной правки кода.

Ссылка на комментарий
Поделиться на других сайтах

портировал mjournal 2.0pb3 на ipb 2.1.3. теперь ищутся тестеры, на которых можно было бы это погонять, пофиксить глюки.

 

Давай ссылку, потестим, но ИМХО глюки будут все те же, если мод дефолтный без ручной правки кода.

ok.

ссылка - http://getfile.biz/16040

 

установка:

1. скопировать все на сервер в каталог, где лежит IPB, и разархивировать там же.

2. отредактировать ручками файлики:

sources/acp_loaders/acp_tools.php:

после

'portal' => 'portal',

 

добавляем

'journal' => 'journal'

 

sources/acp_loaders/acp_pages_tools.php:

перед

?>

 

добавляем:

$CATS[] = array( 'mJournal' );

$PAGES[] = array(
1 => array( 'Statistics','section=tools&act=journal&code=stats' ),
2 => array( 'mJournal Settings','section=tools&act=op&code=findsetting&key='.urlencode('mjournal'), '', 0, 1),
3 => array( 'Skins','section=tools&act=journal&code=selskin'),
4 => array( 'Skins export/import','section=tools&act=journal&code=export'),
5 => array( 'Access rights','section=tools&act=journal&code=groups'),
);

 

3. запустить /journal/install.php

4. в админке включить php-скины и раздать права.

 

уже найдены, но еще не пофиксены глюки:

1. не работают скины из базы. использовать можно только php-скины. может скины из базы вообще отрубить как класс?

2. не грузятся картинки - ни в комментах, ни в постах. может, это конечно у меня глюки на сервере. по крайней мере, на основном моем тестовом сервере ipb ругается на слишком древнюю версию php.

Ссылка на комментарий
Поделиться на других сайтах

andrewk

Будешь портировать используй эту версию mJournal 2.0pb4

Вроде тут пофиксены баги о которых писала Anna:

- работа с куками

- друзья/враги

- "неверный формат файла" при установке фото с URL

- восстановлены кавычки в запросах

- исправлено "добавление в избранное"

ну и кучка всего... Давно писалось, забыл уже что и где изменялось... ;)

Однако с удалением старых багов могли появиться и новые :D

 

Anna

Отлично. Хоть один человек проявляет к этому интерес.

 

Для коллекции:

под IPB 1.х

mJournal 1.0beta

mJournal 1.04

mJournal 1.05

 

под IPB 2.0.x

mJournal 2.0pb1

mJournal 2.0pb2

mJournal 2.0pb3

mJournal 2.0pb4

Ссылка на комментарий
Поделиться на других сайтах

Anna

Отлично. Хоть один человек проявляет к этому интерес.

 

mJournal 2.0pb4

 

Супер, пойду апдейтить и файлы компарить со старыми. Urisoft, не один человек нуждается в твоем моде... у меня почти 1800 дневников на нескольких сайтах на таком моде работают, было бы обидно, если бы мод совсем умер :D Вобщем отлично, что ты не забыл про него ...

 

1 баг: не работает быстрый переход по месяцам в календаре, но мне кажется, что это бага больше стандартного скина. Если не ошибаюсь она и ранее не работала, я ее отключал, т.к. ей не очень многие пользуются. Там почему-то ищется пользователь, а не месяц и год ... ;)

Ссылка на комментарий
Поделиться на других сайтах

Anna

Только ты обнови пожалуйста в заглавном посте ссылки на последнюю версию мода!

Ок. Обновил.

 

replicant

у меня почти 1800 дневников на нескольких сайтах на таком моде работают

Угу. В инете больше 350 сайтов с такими журналами... Только по реальным ошибкам практически одна Anna отписалась. У остальных либо все работает, либо нафиг ничего не нужно...

Все заданные тут вопросы на 90% касаются установки. Что и так уже по максимому упрощено. А вот по работе вопросов нет. :D

 

баг: не работает быстрый переход по месяцам в календаре

Есть такое. Исправлю.

Ссылка на комментарий
Поделиться на других сайтах

urisoft

я с первой версией работаю , багов там не нашёл , лиш малость модифил под себя

 

так что про баги ля второго знать не могу )) не перехожу так как дизайн там не сделан на настраиваемый юзером ))

Ссылка на комментарий
Поделиться на других сайтах

andrewk

Будешь портировать используй эту версию mJournal 2.0pb4

Вроде тут пофиксены баги о которых писала Anna:

- работа с куками

- друзья/враги

- "неверный формат файла" при установке фото с URL

- восстановлены кавычки в запросах

- исправлено "добавление в избранное"

ну и кучка всего... Давно писалось, забыл уже что и где изменялось... ;)

Однако с удалением старых багов могли появиться и новые :D

 

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

новая версия - http://getfile.biz/16292

Ссылка на комментарий
Поделиться на других сайтах

replicant

Только по реальным ошибкам практически одна Anna отписалась.

 

как обойти вот эту ошибку ?

Fatal error: Call to undefined method journal::scale_image() in ../journal/misc/post_render.php on line 506

 

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

 

Дальше сузив круг поиска я вышел на какой-то файл .... который вызывает сбой. Вобщем это оказался сбойный JPG который не до конца открывался .... даже Photoshop выругался на него, но открыл половину изображения .... вобщем можно ли такие ошибки перехватывать на стадии возникновения ?

Ссылка на комментарий
Поделиться на других сайтах

Убедительная просьба писать версию mJournal.

Для v2.0pb4:

Ошибка скорее всего не в JPEG файле. Ошибка в коде.

Обнови файл post_render.php - лежит тут http://www.urisoft.ru/journal/post_render.zip

 

Архив mJournal 2.0pb4 обновлен.

Ссылка на комментарий
Поделиться на других сайтах

Гость
Эта тема закрыта для публикации сообщений.

×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.