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

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


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

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

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

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

Кому как, хотя от профиля потом можно и переделать для темы, так что, Vic'er, ждем :D

И еще одно - возможно ли сделать так, чтобы ссылка на дневник пользователя имела вид не

..../forum/journal.php?user=*ID*

а

.../forum/journal.php/*ник пользера* (или что-то подобное)?

 

У меня реализовано примерно так

 

/forum/id или /forum/nick

 

см. http://bbs.krasnogorsk.ru/forum/dm или http://bbs.krasnogorsk.ru/forum/fotoadmin

 

Это называется ./htaccess + mod_rewrite

 

вобщем в первом приближении алгоритм такой ...

 

#<?

 

RewriteEngine On

RewriteBase /

 

# journal

RewriteRule ^dm(/?)+$ /forum/journal.php?user=1

RewriteRule ^fotoadmin(/?)+$ /forum/journal.php?user=484

RewriteRule ^([^/]*)/(/?)+$ /forum/journal.php?user=$1

#?>

 

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

Третья строка делает преобразование вида http://bbs.krasnogorsk.ru/forum/484/ и она универсальна.

 

В любом случае копать в сторону ЧПУ.

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

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

forum/journal.php?user=dm == forum/journal.php?user=1

(обезопасить там немного от SQL инъекций..)

и тогда будет 2 универсальные строки в htaccess'е

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

Установил дневники сначала в /forum/ так что получилось

/forum/journal.php - страница дневников

/forum/journal/ - папка рабочая скрипта

 

Захотелось чтобы адрес для журналов был вида

мой_сайт.ру/journal.php

 

Ну скопировал папку /journal/ и файл journal.php jcounter.php в корень, поменял пути в админке форума и в кофиге - вроде работает...

 

Вопрос:

1) Это вообще рабочий вариант? :D

2) как изменить строку навигации с "Форум -> Дневники -> узер ->" на "Сайт -> Дневники -> узер ->"

 

И вопросы на засыпку:

1) Существует ли для дневника ЧПУ

2) Существует ли для журнала SiteMap (как google sitemap для форума)

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

Вопрос:

1) Это вообще рабочий вариант? :D

2) как изменить строку навигации с "Форум -> Дневники -> узер ->" на "Сайт -> Дневники -> узер ->"

 

И вопросы на засыпку:

1) Существует ли для дневника ЧПУ

2) Существует ли для журнала SiteMap (как google sitemap для форума)

 

1) Да, вполне рабочий вариант.

2) Ищем переменную $nav; и смотрим как она устроена. В skin_global.php она выводится в функции navigation и содержит как раз ту самую информацию, но формируется ее содержимое в другом месте.

В файле journal.php -> make default navigation link, а там уже переделать по своему усмотрению эту строку.

Дальше еще есть в файле comments.php -> make title and navigation

Затем в posts.php -> make title and navigation link

Может быть где-то еще встречается (listing.php, calendar.php, setup.php, но уже это легко найти по make navigation). Сходу не смотрел что и как ... но ИМХО тебе проще поменять $journal->base_url на другой, чем заменять его везде и всюду, хотя для конфигурации site.ru/journal.php может статься так что работать перестанет.

 

!!! А заменять в настройках в админке URL папки дневников не пробовали на правильный (site.ru например)!? Если там ничего не указано, то будет использоваться URL форума, что видимо у вас и происходит.

 

1) Нет, готового варианта нет

2) Нет, если только у кого-то нет своих разработок

 

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

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

 

Необходимо только в /forum/journal.php немного поиграться с // loading journal class, а само имя скрипта меняется легко и непринужденно в админке! ;)

 

Фактически в результате такого шаманского действа получится что от форума будет зависеть только регалка и система подписок на журналы/посты/комментарии. И вполне реально получить конфигурацию, в которой будет работать http://journal.name.ru/index.php?user=userid , а регалка где-то в глубине останется по URL форума http://journal.name.ru/forum/index.php?&am...Reg&CODE=00

 

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

 

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

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

спасибо что разложили всё по полкам касательного моих вопросов - пошёл делать.

 

!!! А заменять в настройках в админке URL папки дневников не пробовали на правильный
Это вы об чём? :D Там я всё поменял и в этой связи проблем нет, сами же говорите выход в переменной $nav или в изменении $journal->base_url... буду делать 1й вариант.

 

...можно даже уйти от использования journal.php...
Ууу! Это отличная идея - будет время и я её осуществлю - как раз админ приедет из отпуска и будет мне помогать ;)))

 

 

Arhar, ты не поделишься своим ЧПУ? :)))

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

Хотелось бы узнать, что там с созданием категорий? Делается ли кем-либо?

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

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

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

 

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

 

Друг может быть одновременно и соавтором! :D Если не хочешь, чтобы редактировалось, то не добавляй в соавторы, а оставь просто другом!

 

Очевидно у тебя стоит в настройках разрешить друзьям редактировать все что угодно. При таком раскладе, конечно не удастся ограничить в действиях таких друзей.

 

Логично было бы ввести настройку "Разрешить друзьям добавлять и редактировать свои записи" в дополнение к настройке "Полный доступ друзьям к записям" и по аналогии с настройками доступа к комментариям.

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

Захотелось чтобы адрес для журналов был вида

мой_сайт.ру/journal.php

дневники должны нормально работать в любой папке на одном хосте c форумом.

файлу journal.php в корне можно дать любое имя, в том числе и index.php (соответственно поправив настройку в админке).

Особо сильно для этого файлы править совсем не обязательно.

В файле journal/config.php указать папку форума и папку дневников. В админке указать тоже самое + имя выполняемого скрипта. И все вроде.

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

:D

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

Замечен еще один маленький глюк в настройках дневника:

 

В настройках прав доступа есть опция "Разрешить другим пользователям просматривать список избранных дневников", но значение этой опции все время выставлено на НЕТ и изменить его на другое значение не получается!

 

Второй недочет:

 

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

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

Друзья могут редактировать свое, если необходимо и добавлять новое

Эмм... прошу прощения, но у меня друзья не могут добавлять записи в дневник. И настройки такой не нашел.

Если это ненормальное явление, скажите, пожалуйста, что и где исправить/проверить (если кто-либо сталкивался с такой проблемой), либо какой фрагмент кода какого файла привести здесь для вашего его просмотра.

Версия форума - 2.1.7, версия дневников - v2.0pb7.

 

Vic'er, что там с инструкцией по добавлению ссылочки на дневник в профиле пользователя?

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

В настройках прав доступа есть опция "Разрешить другим пользователям просматривать список избранных дневников", но значение этой опции все время выставлено на НЕТ и изменить его на другое значение не получается!

В файле dosetup.php найти:

$key_check = array( 'j_public','j_must_edit','j_must_del','j_must_add','j_show_friends','j_allow_upload','j_allow_codes','j_friend_access');

заменить на:

$key_check = array( 'j_public','j_must_edit','j_must_del','j_must_add','j_show_friends','j_allow_upload','j_allow_codes','j_friend_access','j_show_favorites');

чуть ниже найти:

$do_access2 = $do_access2 | (($ibforums->input['j_allow_codes'] & 3) << 11);

добавить ниже:

$do_access2 = $do_access2 | (($ibforums->input['j_show_favorites'] & 3) << 13);

 

 

Эмм... прошу прощения, но у меня друзья не могут добавлять записи в дневник. И настройки такой не нашел.

Настройки дневника пользователя -> права доступа

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

Arhar

Да. Там не правильно написано. И $ тут абсолютно не причем.

Вот так должно быть:

var m = /^\s*((.|[\\n\\r])+)\s*$/im;

 

Строка в коде 3 раза встречается.... Заменить все.

 

Если загрузить в редактор шаблоны из PHP то строка кода превращается в

 

var m = /^s*((.|[\\n\r])+)s*$/im;

 

И начинает возникать ошибка в строке о чем браузер сообщает в статусной строке. Причем в самом файле все ок. Не из той ли темы ошибка с которой бился Arhar с потерей переменных в функциях в редакторе шаблонов в админке?

 

В файле dosetup.php найти

...

 

Спасибо, все работает отлично. Раньше как-то не доводилось бродить в эту настройку, поэтому и не увидел сразу.

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

Настройки дневника пользователя -> права доступа

 

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

 

Также еще вопрос - как сделать, чтобы в записи выводилась аватарка автора записи?

 

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

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

Если загрузить в редактор шаблоны из PHP то строка кода превращается.....

В файле ad_journal_tpl.php найти:

$content = str_replace( '\\n' , '\\\\\\n', $template->convert_php_to_html($matches[1]) );

заменить на:

$content = str_replace( '\\' , '\\\\\\\\', $template->convert_php_to_html($matches[1]) );

 

Должно сработать.

 

 

а меня же интересует лишь возможность ними создания комментов в моем дневнике

Может это поможет: http://www.urisoft.ru/journal/friend_comment.gif

 

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

 

 

 

 

По поводу потери переменных при редактировании шаблона из админки...

В файле ad_journal_tpl.php найти:

$param = $this->base->std->txt_stripslashes($_POST['tplparam_id'.$value]);

Выше добавить:

$_POST['tplparam_id'.$value] = str_replace("'",'"',$_POST['tplparam_id'.$value]);

 

Заменяем одинарные кавычки двойными. Все должно работать нормально. Защиты "от дурака" нет и если поставить всего одну кавычку, то сохраненный шаблон работать все равно не будет. Но с данным изменением неважно какие кавычки вы ставите (одинарные или двойные или одновременно и те и другие) сохранится все равно все в двойных кавычках.

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

Ох, прошу прощения, прошу прощения... думал об одном, а написал другое.

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

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

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

В файле ./journal.php найти:

$journal->err_journal($ibforums->lang['j_err_blocked']);

добавить выше:

$journal->users['id'] = 0;

найти:

$journal->err_journal($ibforums->lang['j_err_no_own']);

добавить выше:

$journal->users['id'] = 0;

найти:

$journal->err_journal($ibforums->lang['j_err_closed']);

добавить выше:

$journal->users['id'] = 0;

 

 

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

Ну да... Такого нет в дневниках. :D

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

Но ведь можно же сделать? Уверен, что это не так сложно, как, скажем, создание категорий записей.

В крайнем случае, подскажите, где соавторам можно отрубить функции удаления/редактирования чужих записей.

И что насчет отображения аватарки в записи?

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

Ребята.... прочитав 10 страниц форума (давно не заходил) я растерялся :D Хотелось бы, чтобы кто-то выложил мод (пак) уже со всеми исправлениями (Cut, Кэширование CSS, Последние 5 сообщений и т.д.) ;) Заранее благодарен... :Желательно для 2.2.х

 

P.S. на одной из страниц где-то была ссылка на сайт поддержки (неофициальный) mJournal

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

Если загрузить в редактор шаблоны из PHP то строка кода превращается.....

В файле ad_journal_tpl.php найти:

$content = str_replace( '\\n' , '\\\\\\n', $template->convert_php_to_html($matches[1]) );

заменить на:

$content = str_replace( '\\' , '\\\\\\\\', $template->convert_php_to_html($matches[1]) );

 

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

 

var m = /^\\\\s*((.|[\\\\\\\\n\\\\\\\\r])+)\\\\s*$/im;

 

Я не очень разбираюсь в коде, но может быть просто обработать \s и \\r вхождения отдельным

str_replace там же? Потому что с \\n проблем не возникает, там все корректно сохраняется, а слеши пропадают у \s и \\r ...

 

для \\r может просто добавить строку ? хотя как мне кажется не сработает.

$content = str_replace( '\\r' , '\\\\\\r', $template->convert_php_to_html($matches[1]) );

 

А как быть с одинарными слешами у \s я не знаю.

Мне еще показалось странным, когда я заменил одну строку на другую и у меня в редакторе на консоли подсветка синтаксиса слетела. Т.е. где-то проскочила ошибка в коде.

 

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

В файле ./journal.php найти:

$journal->err_journal($ibforums->lang['j_err_blocked']);

добавить выше:

$journal->users['id'] = 0;

найти:

$journal->err_journal($ibforums->lang['j_err_no_own']);

добавить выше:

$journal->users['id'] = 0;

найти:

$journal->err_journal($ibforums->lang['j_err_closed']);

добавить выше:

$journal->users['id'] = 0;

 

Не спасает ... :D фоны все равно остаются видны, а можно как-то в случае ошибки навязывать нужный CSS, скажем дефолтный? По идее если user['id'] = 0 то произойдет выпад на главную страницу, а css будет навязан дефолтный, но почему-то не хочет срабатывать.

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

Второй недочет: (css)

css грузится еще до понимания, что произошла ошибка?

 

 

вообще вот функция ошибки, там все должно обнулятся

	function err_journal($err_message)
{
	global $ibforums;

	// set to default style

	$this->skin->set_default_css();
	$this->skin->clear_skin_list();
	$this->skin->load_template();
	$this->users['j_css_custom'] = 0;

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

Второй недочет: (css)

css грузится еще до понимания, что произошла ошибка?

 

Судя по всему именно так. Я давно это заметил, но не особо напрягало, пока народ не стал в ЛС писать, мол у меня там бекграунды видны, хотя по большому счету эти бекграунды можно снять и прямым обращением на url файла бекграунда, но это-то уже смогут сделать далеко не все, да и вообще интерфейс ошибки хотелось бы унифицировать, чтобы не возникало ощущения что у каждого своя уникальная ошибка.

 

Кстати, Arhar, у тебя слеши в строке, которую я упоминал в Журнал - Дневник не пропадают?

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

не пропадают

 

решение для бекграундов : текст кода функции ошибки (начало) из глобального класса ./journal/journal.php

	function err_journal($err_message)
{
	global $ibforums;

	// set to default style

	$this->skin->set_default_css();
	$this->skin->clear_skin_list();
	$this->skin->load_template();
	$this->users['j_css_custom'] = 0;
	$this->users['id'] = 0;
	$this->users['j_bg_images'] = '';

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

не пропадают

 

решение для бекграундов : текст кода функции ошибки (начало) из глобального класса ./journal/journal.php

	function err_journal($err_message)
{
	global $ibforums;

	// set to default style

	$this->skin->set_default_css();
	$this->skin->clear_skin_list();
	$this->skin->load_template();
	$this->users['j_css_custom'] = 0;
	$this->users['id'] = 0;
	$this->users['j_bg_images'] = '';

 

Все теперь работает как для id=0 пользователя т.е. со скином по-умолчанию!

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

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

У меня не становится больше (форум 2.0.х). Надо поковырять...

То что предлагалось изменить работает только при импорте из php в базу. В сохранении не участвует.

 

$this->users['j_bg_images'] = '';

А ну у вас же измененный код...

 

Все теперь работает как для id=0 пользователя т.е. со скином по-умолчанию!

И пользователю в его дневнике если есть ошибка все отображается с дефолтным скином, а не с его настройками (доступ к дневнику есть) ? Это правильно ?

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

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

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

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

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