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

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


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

2 Arhar: на ленте друзей закрепленный пост не сказывается каким-нибудь образом?

не должен

ибо там не спрашивается, пиннед он или нет

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

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

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

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

2 Arhar: на ленте друзей закрепленный пост не сказывается каким-нибудь образом?

не должен

ибо там не спрашивается, пиннед он или нет

 

Да все ок, я уже проверил на тестовом сервере. Теперь прикручу на место "CUT + статус закрытой записи только для друзей" и закину на рабочий сервак.

 

найти

<a href="{$journal->base_url}user={$row['journal_id']}&pid={$row['pid']}&aid={$close}">{$close_text}</a> & #149;

добавить после

<a href="{journal.script_url}user={$row['journal_id']}&pid={$row['pid']}&aid={$pin}">{$pin_text}</a> & #149;

& #149; Слитно

 

У себя я заменил journal.script_url на $journal->base_url как в примере выше. Не знаю, может и так бы работало, но я почему-то сразу так сделал.

 

Все работает нормально и на рабочей машинке. Сенкс за мод.

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

Кстати еще по поводу кеширования CCS-ок

мне вообще показалось страным что сразу не кешится т.к. ведь CSS-ки и так в файлах лежат. Посему я сделал безусловное (без опцианальное) кеширование CSS. Да и пользователи народ ленивый.

 

И еще можно безболезнено вынести JavaScript из страниц отдаваемых Дневниками в файлы.

Если кому-то интересно либо сам поглядит либо я закину что и откуда можно вынести. (Подсказка покажу на примере файлов скина в админке сами найдете где что лежит: skin_global.php->java_script и skin_q_reply.php->quick_reply_small и quick_reply_form)

JS еще реже CSS-ок меняется.

Чем это чревато боком? :D Надо просто помнить что вынесли во внещние JS-файлы и в случае чего не забывать изменять если треба эти куски кода.

 

Еще подумал и добавил

Ну и еще немного оптимизаторсокго изврата ;)

Можно воспоьзоватся вот этим:

 

JS Packer вариант для php5 а тут оригинальная версия Dean Edwards Packer(максимально жмет)

 

JSMin (хуже жмет)

 

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

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

Поставил себе дневники.

Сейчас читаю тему.

Есть такой вопрос, ответ на который хотелось бы получить сейчас, а не в виде "юзай поиск" - где, в каком файлике дневников идет соединение с базой? Мне необходимо прописать

mysql_query('SET NAMES cp1251');

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

Так вот - где?

 

Очень прошу помочь с ответом.

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

Ага, спасибо. Правда, там немножко по-другому прописано подключение:

$ipsclass->init_db_connection();

Да и суть не в этом была. Я, по сонному состоянию, забыл, что по-умолчанию кодировка таблиц сервера latin1 :D

Прочел всю тему. Отдельное спасибо replicant'y за то, что он таки смог изменить ту ситуацию, что была вокруг данного расширения форума - когда все говорили, что-де нужно дорабатывать мод, но реальных сдвигов в этом направлении не вели. Я не говорю, что более некого поблагодарить - отнюдь. Но если сравнить то, что тут писалось в теме по примерно март-апрель этого года (т.е. целый год), и то, что вот написали за май - то последние майские сообщения по своей конретике и ценности перевешывают весь прошедший год обсуждения мода. Так и надо. Успехов в дальнейшем вам.

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

StRiANON

код различается потому что я под 2.0.х глядел да и ты не сказал под какую версию фоурма глядеть мод

 

насчет возросшей активности согласен

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

а что делает сжимальщик яваскрипта?

 

могу занятся сегодня после обеда кешированием яваскрипта..

 

и вообще, "настраиваемость" css мне кажется лучше, чем ненастраиваемость

Примером служит сайт Сонга...

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

Куда я начал копать, когда задумал модификацию под рабочим названием "Кто сейчас читаем мой дневник".

 

Итак у нас вместе с дистрибутивом есть инструкция про 'Добавление журнала в список online', в которой описан способ взятия информации о том, кто и какой журнал читает. Привожу ее текст, если кто-то не знает или забыл о чем идет речь.

 

 

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

1. Добавление журнала в список онлайн.

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

1.1. Файл lang_online.php

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

Найти:

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

 

WHERE_stats => "Viewing Stats",

 

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

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

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

WHERE_journal => "Просмотр журнала:",

'journal_main' => "Главная страница",

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

1.2. Файл online.php

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

Найти:

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

 

$final = array();

$tid_array = array();

$topics = array();

 

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

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

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

$journals = array();

$j_array = array();

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

Найти:

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

			if ($r['in_topic'] != "")
		{
			$tid_array[] = $r['in_topic'];
		}

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

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

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

			if (isset($r['location']))
		{
			list($act, $pid) = explode( ",", $r['location'] );
			if (($act == 'Journal') and (intval($pid) > 0))
			{
				$j_array[] = $pid;
			}
		}

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

Найти:

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

		if ( count($tid_array) > 0 )
	{
		$tid_string = implode( ",", $tid_array );

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

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

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

		if ( count($j_array) > 0 )
	{
		$j_string = implode( ",", $j_array );

		$DB->query("SELECT id, name FROM ibf_members WHERE id IN ($j_string)");

		while ( $t = $DB->fetch_row() )
		{
			$journals[ $t['id'] ] = $t['name'];
		}
	}

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

Найти:

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

if ($fid != "" and ($act == 'sf' or $act == 'st' or $act == 'post'))

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

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

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

				if ($act == 'journal')
			{
				$pid = intval($pid);
				if (isset($journals[$pid]))
				{
					$line .= " <a href='{$ibforums->vars['board_url']}/journal.php?user={$pid}'>$journals[$pid]</a>";
				}
				else
				{
					$line .= " <a href='{$ibforums->vars['board_url']}/journal.php'>{$ibforums->lang['journal_main']}</a>";
				}
			}
			else

 

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

 

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

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

а что делает сжимальщик яваскрипта?

ужимает засчет приведения в сжатый по размеру вариант

функционал самого JS после ужатия полностью сохраняется

 

могу занятся сегодня после обеда кешированием яваскрипта..

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

 

и вообще, "настраиваемость" css мне кажется лучше, чем ненастраиваемость

Примером служит сайт Сонга...

ну иногда кол-во настроек прсото пугает пользователя и он в них теряется + ленится

а трафик других пользователей которые читаю дневники желательно экономить :D

 

replicant

уже кто-то делал такой блок вроде на воруме Тусовочка возможно он тут появится и захочет поделится

ну а нет так мы сами наваяем ;)

 

Надо еще сделать что предлагал Vicer т.е. "кто читал запись"

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

смайлы должны заработоть после этого:

это для версии 2.1.х ??

 

у меня 2.2.2

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

 

1. до установки в файле journal/install.php заменить

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

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

вопрос не про изменение дат, а про "пин" записи

 

Нет, наоборот!

Именно возможность ручного ввода даты записи, как на дамочке.ру!

 

Чем этот вариант лучше:

1. Экономит ресурсы (-1 запрос в базу)

2. Пользователь сам решает какая запись выше, а какая ниже.

3. Удобство, как напоминалка. Например, создал запись 10 июня - МОЙ ДЕНЬ РОЖДЕНИЯ и т.д.

 

А закрепление записи - неудобно, потому что такихъ закрепленных записей может быть до жопы и получится полная неразбериха.

 

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

 

Вообще, ручные даты сделать, как мне кажется, очень легко.

Нужно всего лишь в шаблон добавить выпадающие менюшки для дат и времени и убрать функцию генерации текущего времени создания записи.

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

А закрепление записи - неудобно, потому что такихъ закрепленных записей может быть до жопы и получится полная неразбериха.

да, но это проблема самого пользователя

на вкус и цвет

а что мешает в самой записи, положим от 5 июня написать тестом

10 - день рождения

?

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

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

 

Блок "кто читает дневник" не сделан, т.к. идея не нашла поддержки у пользвателей :D, сделан блок "кто читает дневники" на главной странице дневников. В дневник наверняка добавить будет просто.

 

У меня ipb 2.0.4. В ibf_sessions добавлено новое поле `in_journal` int(10) NOT NULL default '-1', в class_session.php это поле добавлено во все запросы на добавление/изменение данных в ibf_sessions. Благодаря ему можно легко делать выборку по "where location='journal'".

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

кто в онлайне:

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

 

функция ValidateForm одинакова для обоих форм?

 

судя по всему - да

сейчас расскажу, как вынес в файлы..

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

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

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

1 - skin_global.php

найти

	function buddy_pop()
{
	window.open('{$ibforums->base_url}act=buddy&s={$ibforums->session_id}','BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes');
}
function multi_page_jump( url_bit, total_posts, per_page ) {
	pages = 1;
	cur_st = parseInt("{$ibforums->input['st']}");
	cur_page  = 1;
	if ( total_posts % per_page == 0 ) {
		pages = total_posts / per_page;
	} else {
		pages = Math.ceil( total_posts / per_page );
	}
	msg = "{$ibforums->lang['tpl_q1']}" + " " + pages;
	if ( cur_st > 0 ) {
		cur_page = cur_st / per_page;
		cur_page = cur_page -1;
	}
	show_page = 1;
	if ( cur_page < pages ) {
		show_page = cur_page + 1;
	}
	if ( cur_page >= pages ) {
		show_page = cur_page - 1;
	} else {
		show_page = cur_page + 1;
	}
	userPage = prompt( msg, show_page );
	if ( userPage > 0  ) {
		if ( userPage < 1 ) {
			userPage = 1;
		}
		if ( userPage > pages ) {
			userPage = pages;
		}
		if ( userPage == 1 ) {
			start = 0;
		} else {
			start = (userPage - 1) * per_page;
		}
		window.location = url_bit + "&st=" + start;
	}
}
function set_mod_cookie(id) {
	document.cookie="jmod_view="+ id +"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}
document.cookie="journal=1; path=/";
var journal_url = '{$journal->js_url}';

заменить на

	var jjs_lang_tpl_q1 = "{$ibforums->lang['tpl_q1']}";
var jjs_journal_url = "{$journal->base_url}";
var jjs_script_url = "{$ibforums->script_url}";
var jjs_session_id = "{$ibforums->session_id}";
var jjs_input_st = "{$ibforums->input['st']}";
document.cookie="journal=1; path=/";
 var journal_url = '{$journal->js_url}';

2 - scripts/journal.js

в самый конец написать

function buddy_pop()
{
window.open(jjs_script_url + 'act=buddy&s=' + jjs_session_id,'BrowserBuddy','width=250,height=500,resizable=yes,scrollbars=yes');
}

function multi_page_jump( url_bit, total_posts, per_page ) {
pages = 1;
cur_st = parseInt(jjs_input_st);
cur_page  = 1;
if ( total_posts % per_page == 0 ) {
	pages = total_posts / per_page;
} else {
	pages = Math.ceil( total_posts / per_page );
}
msg = jjs_lang_tpl_q1 + " " + pages;
if ( cur_st > 0 ) {
	cur_page = cur_st / per_page;
	cur_page = cur_page -1;
}
show_page = 1;
if ( cur_page < pages ) {
	show_page = cur_page + 1;
}
if ( cur_page >= pages ) {
	show_page = cur_page - 1;
} else {
	show_page = cur_page + 1;
}
userPage = prompt( msg, show_page );
if ( userPage > 0  ) {
	if ( userPage < 1 ) {
		userPage = 1;
	}
	if ( userPage > pages ) {
		userPage = pages;
	}
	if ( userPage == 1 ) {
		start = 0;
	} else {
		start = (userPage - 1) * per_page;
	}
	window.location = url_bit + "&st=" + start;
}
}
function set_mod_cookie(id) {
document.cookie="jmod_view="+ id +"; path=/; expires=Wed, 1 Jan 2020 00:00:00 GMT;";
}

3 - skin_q_reply

найти

<script language="javascript1.2" type="text/javascript">
<!--
var MessageMax  = "{$ibforums->lang['the_max_length']}";
MessageMax	  = parseInt(MessageMax);
var skip_check  = 0;
if ( MessageMax < 0 )
{
MessageMax = 0;
}
function ValidateForm() {
var m = /^\s*((.|[\\n\\r])+)\s*$/im;
var msg = document.REPLIER.Post.value.match(m);
if (msg != null) {
	MessageLength = msg[1].length;
} else {
	MessageLength  = 0;
}
errors = "";
if (skip_check != 0) {
	document.REPLIER.submit.disabled = true;
	return true;
}
if (MessageLength < 2) {
	 errors = "{$ibforums->lang['js_no_message']}";
}
if (MessageMax != 0) {
	if (MessageLength > MessageMax) {
		errors = "{$ibforums->lang['js_max_length']} " + MessageMax + " {$ibforums->lang['js_characters']}. {$ibforums->lang['js_current']}: " + MessageLength;
	}
}
if (errors != "") {
	alert(errors);
	return false;
} else {
	document.REPLIER.submit.disabled = true;
	return true;
}
}
//-->
</script>

заменить на

<script type="text/javascript">
<!--
var MessageMax  = "{$ibforums->lang['the_max_length']}";
var jjs_lang_no_message = "{$ibforums->lang['js_no_message']}";
var jjs_lang_max_length = "{$ibforums->lang['js_max_length']} ";
var jjs_lang_now_length = " {$ibforums->lang['js_characters']}. {$ibforums->lang['js_current']} ";
//-->
</script>
<script language="javascript1.2" type="text/javascript" src="{$ibforums->vars['journal_url']}/journal/scripts/quick_reply.js"></script>

найти

<script type="text/javascript">
<!--
var ipb_var_st	   = "{$ibforums->input['st']}";
var ipb_lang_tpl_q1  = "{$ibforums->lang['tpl_q1']}";
var ipb_var_s		= "{$ibforums->session_id}";
var ipb_var_base_url = "{$ibforums->base_url}";
var ipb_var_cookieid = "{$ibforums->vars['cookie_id']}";
var ipb_var_cookie_domain = "{$ibforums->vars['cookie_domain']}";
var ipb_var_cookie_path   = "{$ibforums->vars['cookie_path']}";
//-->
</script>
<script type="text/javascript" src='{$ibforums->vars['board_url']}/jscripts/ipb_global.js'></script>
<script language="javascript1.2" type="text/javascript">
<!--
var MessageMax  = "{$ibforums->lang['the_max_length']}";
MessageMax	  = parseInt(MessageMax);
var skip_check  = 0;
if ( MessageMax < 0 )
{
MessageMax = 0;
}
function emo_pop()
{
 window.open('{$journal->base_url}legends=emo','Legends','width=250,height=500,resizable=yes,scrollbars=yes');
}
function bbc_pop()
{
 window.open('{$journal->base_url}legends=bbc','Legends','width=700,height=500,resizable=yes,scrollbars=yes');
}
function CheckLength() {
var m = /^\s*((.|[\\n\\r])+)\s*$/im;
var msg = document.REPLIER.Post.value.match(m);
if (msg != null) {
	MessageLength = msg[1].length;
} else {
	MessageLength = 0;
}
message  = "";
if (MessageMax > 0) {
	message = "{$ibforums->lang['js_post']}: {$ibforums->lang['js_max_length']} " + MessageMax + " {$ibforums->lang['js_characters']}.";
}
alert(message + "   {$ibforums->lang['js_used']} " + MessageLength + " {$ibforums->lang['js_characters']}.");
}
function ValidateForm() {
var m = /^\s*((.|[\\n\\r])+)\s*$/im;
var msg = document.REPLIER.Post.value.match(m);
if (msg != null) {
	MessageLength = msg[1].length;
} else {
	MessageLength = 0;
}
errors = "";
if (skip_check != 0) {
	document.REPLIER.submit.disabled = true;
	return true;
}
if (MessageLength < 2) {
	 errors = "{$ibforums->lang['js_no_message']}";
}
if (MessageMax !=0) {
	if (MessageLength > MessageMax) {
		errors = "{$ibforums->lang['js_max_length']} " + MessageMax + " {$ibforums->lang['js_characters']}. {$ibforums->lang['js_current']}: " + MessageLength;
	}
}
if (errors != "") {
	alert(errors);
	return false;
} else {
	document.REPLIER.submit.disabled = true;
	return true;
}
}
// IBC Code stuff
var text_enter_url	  = "{$ibforums->lang['jscode_text_enter_url']}";
var text_enter_url_name = "{$ibforums->lang['jscode_text_enter_url_name']}";
var jsfile_myweb_lang = "";
var jsfile_error_lang = "Ошибка: ";
var text_enter_image	= "{$ibforums->lang['jscode_text_enter_image']}";
var text_enter_email	= "{$ibforums->lang['jscode_text_enter_email']}";
var text_enter_flash	= "{$ibforums->lang['jscode_text_enter_flash']}";
var text_code		   = "{$ibforums->lang['jscode_text_code']}";
var text_quote		  = "{$ibforums->lang['jscode_text_quote']}";
var error_no_url		= "{$ibforums->lang['jscode_error_no_url']}";
var error_no_title	  = "{$ibforums->lang['jscode_error_no_title']}";
var error_no_email	  = "{$ibforums->lang['jscode_error_no_email']}";
var error_no_width	  = "{$ibforums->lang['jscode_error_no_width']}";
var error_no_height	 = "{$ibforums->lang['jscode_error_no_height']}";
var prompt_start		= "{$ibforums->lang['js_text_to_format']}";
var help_bold		   = "{$ibforums->lang['hb_bold']}";
var help_italic		 = "{$ibforums->lang['hb_italic']}";
var help_under		  = "{$ibforums->lang['hb_under']}";
var help_font		   = "{$ibforums->lang['hb_font']}";
var help_size		   = "{$ibforums->lang['hb_size']}";
var help_color		  = "{$ibforums->lang['hb_color']}";
var help_close		  = "{$ibforums->lang['hb_close']}";
var help_url			= "{$ibforums->lang['hb_url']}";
var help_img			= "{$ibforums->lang['hb_img']}";
var help_email		  = "{$ibforums->lang['hb_email']}";
var help_quote		  = "{$ibforums->lang['hb_quote']}";
var help_cut			= "Вставить разрыв сообщения";
var help_list		   = "{$ibforums->lang['hb_list']}";
var help_code		   = "{$ibforums->lang['hb_code']}";
var help_click_close	= "{$ibforums->lang['hb_click_close']}";
var list_prompt		 = "{$ibforums->lang['js_tag_list']}";
//-->
</script>

заменить на

<script type="text/javascript">
<!--
var ipb_var_st	   = "{$ibforums->input['st']}";
var ipb_lang_tpl_q1  = "{$ibforums->lang['tpl_q1']}";
var ipb_var_s		= "{$ibforums->session_id}";
var ipb_var_base_url = "{$ibforums->script_url}";
var ipb_var_cookieid = "{$ibforums->vars['cookie_id']}";
var ipb_var_cookie_domain = "{$ibforums->vars['cookie_domain']}";
var ipb_var_cookie_path   = "{$ibforums->vars['cookie_path']}";
var MessageMax  = "{$ibforums->lang['the_max_length']}";
var jjs_lang_post_length = "{$ibforums->lang['js_post']}: {$ibforums->lang['js_max_length']} ";
var jjs_lang_characters =" {$ibforums->lang['js_characters']}.";
var jjs_lang_used = "   {$ibforums->lang['js_used']} ";
var jjs_lang_no_message = "{$ibforums->lang['js_no_message']}";
var jjs_lang_max_length = "{$ibforums->lang['js_max_length']} ";
var jjs_lang_now_length = " {$ibforums->lang['js_characters']}. {$ibforums->lang['js_current']} ";
// IBC Code stuff
var text_enter_url	  = "{$ibforums->lang['jscode_text_enter_url']}";
var text_enter_url_name = "{$ibforums->lang['jscode_text_enter_url_name']}";
var jsfile_myweb_lang = "";
var jsfile_error_lang = "Ошибка: ";
var text_enter_image	= "{$ibforums->lang['jscode_text_enter_image']}";
var text_enter_email	= "{$ibforums->lang['jscode_text_enter_email']}";
var text_enter_flash	= "{$ibforums->lang['jscode_text_enter_flash']}";
var text_code		   = "{$ibforums->lang['jscode_text_code']}";
var text_quote		  = "{$ibforums->lang['jscode_text_quote']}";
var error_no_url		= "{$ibforums->lang['jscode_error_no_url']}";
var error_no_title	  = "{$ibforums->lang['jscode_error_no_title']}";
var error_no_email	  = "{$ibforums->lang['jscode_error_no_email']}";
var error_no_width	  = "{$ibforums->lang['jscode_error_no_width']}";
var error_no_height	 = "{$ibforums->lang['jscode_error_no_height']}";
var prompt_start		= "{$ibforums->lang['js_text_to_format']}";
var help_bold		   = "{$ibforums->lang['hb_bold']}";
var help_italic		 = "{$ibforums->lang['hb_italic']}";
var help_under		  = "{$ibforums->lang['hb_under']}";
var help_font		   = "{$ibforums->lang['hb_font']}";
var help_size		   = "{$ibforums->lang['hb_size']}";
var help_color		  = "{$ibforums->lang['hb_color']}";
var help_close		  = "{$ibforums->lang['hb_close']}";
var help_url			= "{$ibforums->lang['hb_url']}";
var help_img			= "{$ibforums->lang['hb_img']}";
var help_email		  = "{$ibforums->lang['hb_email']}";
var help_quote		  = "{$ibforums->lang['hb_quote']}";
var help_cut			= "Вставить разрыв сообщения";
var help_list		   = "{$ibforums->lang['hb_list']}";
var help_code		   = "{$ibforums->lang['hb_code']}";
var help_click_close	= "{$ibforums->lang['hb_click_close']}";
var list_prompt		 = "{$ibforums->lang['js_tag_list']}";
//-->
</script>
<script type="text/javascript" src='{$ibforums->vars['board_url']}/jscripts/ipb_global.js'></script>
<script language="javascript1.2" type="text/javascript" src="{$ibforums->vars['journal_url']}/journal/scripts/quick_reply.js"></script>

только трабл в том, что тут еще мои добавки в коде

но понятно в принципе

4 - создать в папке scripts файл quick_reply.js:

MessageMax	  = parseInt(MessageMax);
var skip_check  = 0;
if ( MessageMax < 0 )
{
MessageMax = 0;
}
function emo_pop()
{
 window.open(jjs_journal_url + 'legends=emo','Legends','width=250,height=500,resizable=yes,scrollbars=yes');
}
function bbc_pop()
{
 window.open(jjs_journal_url + 'legends=bbc','Legends','width=700,height=500,resizable=yes,scrollbars=yes');
}
function CheckLength() {
var m = /^\s*((.|[\\n\\r])+)\s*$/im;
var msg = document.REPLIER.Post.value.match(m);
if (msg != null) {
	MessageLength = msg[1].length;
} else {
	MessageLength = 0;
}
message  = "";
if (MessageMax > 0) {
	message = jjs_lang_post_length + MessageMax + jjs_lang_characters;
}
alert(message + jjs_lang_used + MessageLength + jjs_lang_characters);
}
function ValidateForm() {
var m = /^\s*((.|[\\n\\r])+)\s*$/im;
var msg = document.REPLIER.Post.value.match(m);
if (msg != null) {
	MessageLength = msg[1].length;
} else {
	MessageLength = 0;
}
errors = "";
if (skip_check != 0) {
	document.REPLIER.submit.disabled = true;
	return true;
}
if (MessageLength < 2) {
	 errors = jjs_lang_no_message;
}
if (MessageMax !=0) {
	if (MessageLength > MessageMax) {
		errors = jjs_lang_max_length + MessageMax + jjs_lang_now_length + MessageLength;
	}
}
if (errors != "") {
	alert(errors);
	return false;
} else {
	document.REPLIER.submit.disabled = true;
	return true;
}
}

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

Хм... такой момент, что-то видимо всеми упущенный - это реализация в дневниках категорий, т.е. групп записей по смыслу.

Согласитесь, это было бы очень удобно - тематизация записей по различным категориям, к примеру "О жизни", "Работа" и т.п.

А также вывод информационного блока существующих категорий.

 

Еще было бы неплохо реализовать возможность выбора вывода блоков информации - справа или слева.

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

 

Также есть вопрос - как сделать на форуме блок вывода последних n сообщений из дневника? Чтобы выводились не полностью сообщения, а в формате shoutbox'a, например:

"17:00 сегодня "название дневника" "название автора" "название записи"

"первые несколько слов записи"

"16:45 сегодня "название дневника" "название автора" "название записи"

"первые несколько слов записи"

и т.п.

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

тоесть юзер сам создает категории, а при добавлении записи из ниспадающего меню выбирает одну?

 

а как они будут структурированы по страницам?

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

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

 

Arhar

Я вынос кода JS делал в новые файлы

вместо того что вынес просто появилялась ссылка на JS-файл

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

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

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

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

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