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

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


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

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

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

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

я думаю Мэтт не зря взял его в двойные ", поэтому не рискую)

Тот же самый Мэтт взял его и в одинарные, хотя сделал это несколько раньше.

Было бы любопытно сравнить это в разных дистрибутивах. Я видел 2.2.2 в нем как у тебя. (Каюсь, пришлось сползать на хостинг к каким-то пионерам, у которых стоит 2.2.2 и проверить догадку).

Вобщем я мысль основную твою понял. Хотя возьми чуть ниже по admin_skin.php как раз там разбирается form_simple_input и form_textarea ... $value тоже ведь присутствует, где выводится уже сам код функций шаблонов.

 

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

 

Возможно с данной конкретной версией IPB имела место быть нестыковка т.к. дневники начали писаться еще задолго до 2.1.х.

 

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

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

я думаю Мэтт не зря взял его в двойные ", поэтому не рискую)

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

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

http://www.yandex.ru/yandsearch?text=3pZkF - вот эта бяка обходит капчу Гаррета, также умеет видимо работать с javascript.

 

Иногда ее можно выловить по http://www.yandex.ru/yandsearch?text=3pZkFbwvf8

 

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

 

Из всех пробегавших по дневникам ботов после всего остался только этот. Разбор кода в 7 символов из чисел, букв и знаков += занимает у этого гада от 3 до 6 часов.

 

В обычном режиме эта зараза оставляет в дневниках от 150 до 200 комментариев на дневник за 8-10 часов. Видимо таймеры в ней все же стоят какие-то.

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

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

например генерация

body {
	font-family: Verdana,Tahoma,Arial,sans-serif;
	font-size: 11px;
	font-style: normal;
	font-weight: normal;
	color: #666666;
	background: #000000;
}

body a:link, 
body a:visited, 
body a:active, 
body a:hover {
	color: #666666
}

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

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

 

По-моему там в одном месте заменить 0 на 1 надо и все. Этого уже будет достаточно, чтобы были сгенерированы a:link записи в css файле для нужного класса, кроме body.

 

Там из ссылок на страницах только pagelink не упомянуты и copyright, поэтому не знаю даже на что повлияют настройки ссылок в body. Если же pagelink и copyright уже прописывались в редакторе, то body не повлияет ни на что.

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

misc/css_lib.php

найти

'.body'		  => array('Фон страницы', 'Фон страниц дневников', 0, 0, 1, 0 ),

заменить на

'.body'		  => array('Фон страницы', 'Фон страниц дневников', 1, 0, 1, 0 ),

найти

			if ($style == 'body')
		{
			if ($style_attr[$rev_post_order['background']] != 'i')
			{
				$return .= "body {\n";
				$return .= "\tbackground: ".$style_attr[$rev_post_order['background']].";\n";
				$return .= "}\n\n";
			}
		}

заменить на

			if ($style == 'body')
		{
			$to_style = '';
			$A_color = '';

			foreach ($style_attr as $id => $val)
			{
				$n = $this->post_order[$id];

				if ($this->styles[".".$style][$this->post_group[$n]])
				{
					if ($n == 'background')
					{
						$to_style .= ($val == 'i') ? '' : "\t".$n.": ".$val.";\n";
					}
					else
					{
						$to_style .= "\t".$n.": ".$val.";\n";
					}

					if ($n == 'color')
					{
						$A_color = $val;
					}
				}
			}

			if ($to_style != '')
			{
				$return .= $style." {\n".$to_style."}\n\n";
				$return .= ".copyright {\n".$to_style."}\n\n";
			}

			if ($A_color != '')
			{
				$return .= $style." a:link, \n".$style." a:visited, \n".$style." a:active, \n".$style." a:hover {\n\tcolor: ".$A_color."\n}\n\n";
			}
		}

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

я сделал так:

 

в css_lib.php находим

'.navigation'   => array('Навигация', 'В панели навигации отображается путь до текущей страницы', 1, 0, 0, 0 ),

ниже добавляем

'.pagelink'	 => array('Навигация страниц', 'Переключатель страниц записей', 1, 0, 0, 0 ),

 

в skin_preview.php находим

<!-- start_page_links -->
		<div class='pagelink'>
			<p class='right'> <{ADD_POST}></p>
			<p> </p>
		</div>
<!-- end_page_links -->

 

заменяем на

<!-- start_page_links -->
		<div class='pagelink' name='pagelink' id='pagelink'>
			<p class='right'> <{ADD_POST}></p>
			<p> <u>Страницы</u> (2) [1] <u>2</u></p>
		</div>
<!-- end_page_links -->

 

Я бы сделал так:

 

В skin_global.php т.к. style {color: #hex;} не повлияет на <p> , а создавать style p{color: #hex;} конструктор не умеет.

 

<div class='pagelink'>
	<font style='float:right'> {$extra}</font>
	<font class='pagelink'>{$page_link} </font>
</div>

 

В skin_preview.php тоже переписать с учетом <font>.

 

<!-- start_page_links -->
		<div class='pagelink' name='pagelink' id='pagelink'>
			<font style='float:right;'> <{ADD_POST}></font>
			<u>Страницы</u> (2) [1] <u>2</u>
		</div>
<!-- end_page_links -->

 

А по совету Arhar можно вообще pagelink упрятать в body, если нет желания возиться с ним отдельно и выносить в доступный для редактирования класс.

 

   $return .= $style." {\n".$to_style."}\n\n";
  $return .= ".copyright {\n".$to_style."}\n\n";
  $return .= ".pagelink {\n".$to_style."}\n\n";

 

У себя я отдельно создавал несколько подклассов для дробления журнала на большее число элементов и увеличения возможностей настройки дизайна. Сам же шаблон моих журналов был максимально лишен всех <p> тегов, которые были заменены на другие или вообще исключены как неподходящие для данного случая.

 

Досадно то, что нельзя управлять отдельно style a:hover {color: #hex;} в пределах каждого стиля.

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

а если сделать управление цветами ссылок отдельно, тоесть в ксс это будет выглядеть примерно:

A:link
A:visited
A:hover {
color: #hex
}

этот повлияет на все линки на странице, во всех местах?

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

а если сделать управление цветами ссылок отдельно, тоесть в ксс это будет выглядеть примерно:

A:link
A:visited
A:hover {
color: #hex
}

этот повлияет на все линки на странице, во всех местах?

 

Нет. Линки определенные как .style_name a:link {color: #hex;} не будут обрабатываться таким способом.

 

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

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

а если не делать автоматически добавку .style_name a:link, а определять линки глобально отдельно?

 

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

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

Т.е. логично оставить так как есть и определять цвета линков для каждого класса отдельно через параметры шрифтов.

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

ладно, тогда

такие предложения -

первое: заменяем name на members_display_name в функции load_member из глобального класса journal.php для 21х

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

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

2.1.x

понадобится произвести изменение в файле

./journal/journal.php

найти

		if (!$this->users['id'])
	{
		$DB->query("SELECT id, members_display_name, mgroup FROM ibf_members WHERE id='".$ibforums->input['user']."' LIMIT 1");
		$r = $DB->fetch_row();

		// no member ? Uah !
		if (!$r['id'])
		{
			$this->err_journal($ibforums->lang['j_err_no_user']);
		}

		$DB->query("INSERT INTO ibf_jmembers (id,name,mgroup) VALUES ('".$r['id']."','".$r['members_display_name']."','".$r['mgroup']."')");

		// reread
		$DB->query("SELECT m.*,
					me.id as me_id, me.icq_number, me.website, me.avatar_location, me.avatar_size, me.avatar_type, me.photo_dimensions, me.photo_location, me.photo_type,
					fm.email, fm.joined, fm.hide_email
					FROM ibf_member_extra me
					LEFT JOIN ibf_members fm ON (fm.id=me.id)
					LEFT JOIN ibf_jmembers m ON (m.id=me.id)
					WHERE me.id='".$ibforums->input['user']."' LIMIT 1");
		$this->users = $DB->fetch_row();

		// fu.k !
		if (!$this->users['id'])
		{
			$this->err_journal($ibforums->lang['j_err_no_user']);
		}
	}

заменить на

		if (!$this->users['id'])
	{
		if ($ibforums->member['g_j_own_journal'] and ($ibforums->input['user'] == $ibforums->member['id']))
		{
			$ibforums->boink_it( "{$ibforums->base_url}automodule=journal&jact=create");
		}
		$this->err_journal($ibforums->lang['j_err_no_user']);
	}

 

 

и полностью заменить

./modules/mod_journal.php

а также добавить

./sources/components_ucp/journal.php

а также добавить темплейт

skin_ucp -- init_journal

<div class='formsubtitle'>Создание дневника</div>
<form action="{ipb.script_url}" method="post" name='REPLIER'>
<input type='hidden' name='act' value='module' />
<input type='hidden' name='module' value='journal' />
<input type='hidden' name='jact' value='docreate' />
<table cellspacing="0" class="ipbtable">
<tr>
 <td class="pformleft">Название дневника</td>
 <td class="pformright"><input type='text' size='32' maxlength='128' name='journal_name' value='' class='forminput' /></td>
</tr>
<td class='formbuttonrow' align="center" colspan="2"><input type="submit" value="Инициализация" class="button" /></td>
</tr>
</table>
</form>

 

 

файлы сейчас выложу в одном архиве

Файлы

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

плохо что тег Vic'er'а "разрыв" работает регистронезависимо только на пхп 5

пришлось оставить только 2 варианта - CUT и cut

 

перевод некоторых заметок яваскрипта в быстром ответе

'hb_start'   => "Заметка: Справочный Режим содержит подсказки. ",

'hb_bold'	=> "Вставить жирный текст (alt + b)",
'hb_italic'  => "Вставить наклонный текст (alt + i)",
'hb_under'   => "Вставить подчеркнутый текст (alt + u)",
'hb_font'	=> "Вставить шрифт текста",
'hb_size'	=> "Вставить размер текста",
'hb_color'   => "Вставить цвет текста",
'hb_close'   => "Закрыть все теги",
'hb_url'	 => "Вставить ссылку (alt+ h)",
'hb_img'	 => "Картинка (alt + g) [img=http://www.dom.com/img.gif]",
'hb_email'   => "Вставить Email адрес (alt + e)",
'hb_quote'   => "Вставить цитату (alt + q)",
'hb_code'	=> "Вставить код (alt + p)",
'hb_list'	=> "Создать список (alt + l)",
'hb_click_close' => "Нажмите снова для закрытия",
'js_tag_list'	=> "Введите елемент списка. Нажмите 'cancel' или оставьте пустым для завершения списка",
'hb_open_tags'   => "Открытые теги",

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

тег Vic'er'а "разрыв" работает регистронезависимо только на пхп 5

 

мда... прошу прощения...я действительно использовал stripos и str_ireplace и не обратил внимания, что в четверке этого не было еще...если у Вас не страбатывает, то перепишите с использованием pre_match и preg_replace....

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

Приветствую! Давно слежу за темой, но молчу, т.к. форум волею судеб нелицензионный.

 

А у меня тэг cut покороче получился... все правки только в post_render.php (ну, и в skin_q_reply кнопка).

 

Одна новая переменная класса

var $cutted_posts = array();

 

в функции process_post, после обработки current_mood, вот это

$cut = strpos(strtolower($row['post']), "[cut]");
if ($cut)
{
if (!$ibforums->input['comm'] && !$ibforums->input['preview_post'])
{
	$row['post'] = substr($row['post'], 0, $cut). "<br><a href='{$journal->base_url}user=".$row['journal_id']."&comm=".$row['pid']."'>Продолжение</a>";
	$this->cutted_posts[] = $row['pid'];
}
else
{
	$row['post'] = preg_replace("#\[cut\]#i", "", $row['post']);
}
}

и в функции render_attach, вот это

else
{
$post_attach .= $to_post.' ';
}

заменить на

else
{
if (count($this->cutted_posts))
{
	if (in_array($row['attach_pid'], $this->cutted_posts))
	{
		continue;
	}
}
$post_attach .= $to_post.' ';
}

все... хотя нет, мы все забыли про prints.php

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

2 Vic'er

 

Данная модификация добавляет новый тег [CUT] (+ соответствующую кнопку в форму)

Все что после этого тега будет отображаться только на странице полного сообщения, во всех остальных случаях (список постов, поиски, календарь и тд) в этом месте будет находиться надпись "...[Читать всю запись]" со ссылкой соответственно.

 

Учитываются также приатаченные файлы и картинки.

 

Это я напортачил или действительно есть глюк с картинами? Если картинку приаттачить к сообщению, но не вставлять в пост, то она не отображается при просмотре данного сообщения. При этом не важно, был использован [cut] или нет.

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

Это я напортачил или действительно есть глюк с картинами? Если картинку приаттачить к сообщению, но не вставлять в пост, то она не отображается при просмотре данного сообщения. При этом не важно, был использован [cut] или нет.

 

Поменяй в post_render.php

это if ($post_attach && $in_post_only==0)

на это if ($post_attach && $in_post_only==1)

 

и картинки появятся, но нарушится логика работы тега CUT

 

все... хотя нет, мы все забыли про prints.php

 

А зачем там тег CUT ? В prints.php есть //output original post, вот туда просто надо добавить вырезалку тега [CUT] чтобы его просто не было видно в предпечатном виде и все.

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

А зачем там тег CUT ? В prints.php есть //output original post, вот туда просто надо добавить вырезалку тега [CUT] чтобы его просто не было видно в предпечатном виде и все.

Правильно. Но я я, и Vic'er забыли эту мелочь.

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

более подробный перевод

// partial post lang included (to work with ipb 2.1.x)

js_post					=> "Сообщение",
js_max_length			=> "Максимальная длина:",
js_characters			=> "символов",
js_used					=> "Вы использовали:",
js_no_message			=> "Вы должны ввести сообщение!",
js_close_all_tags		=> "Закрыть все тэги",
js_tag_list				=> "Введите елемент списка. Нажмите 'cancel' или оставьте пустым для завершения списка",
js_current				=> "Символы:",
jscode_text_enter_url	=> "Введите полный URL для ссылки",
jscode_text_enter_url_name	=> "Введите название страницы",
jscode_text_enter_image		=> "Введите полный URL для картинки",
jscode_text_enter_email		=> "Введите Email адрес",
jscode_text_enter_flash		=> "Введите полный URL для Flash",

jscode_text_code => "Использование: [ code ] Ваш код здесь.. [/ code]",

jscode_text_quote			=> "Использование: [quote] Ваша цитата здесь.. [/quote]",
jscode_error_no_url			=> "Вы должны ввести URL",
jscode_error_no_title		=> "Вы должны ввести название",
jscode_error_no_email		=> "Вы должны ввести Email адрес",
jscode_error_no_width		=> "Вы должны ввести ширину",
jscode_error_no_height		=> "Вы должны ввести высоту",
'js_text_to_format'			=> "Введите текст для форматирования",


'bbcode_guided'	  => "Справочный Режим",
'bbcode_normal'	  => "Обычный режим",

'hb_start'   => "Заметка: Справочный Режим содержит подсказки. ",

'hb_bold'	=> "Вставить жирный текст (alt + B)",
'hb_italic'  => "Вставить наклонный текст (alt + i)",
'hb_under'   => "Вставить подчеркнутый текст (alt + u)",
'hb_font'	=> "Вставить шрифт текста",
'hb_size'	=> "Вставить размер текста",
'hb_color'   => "Вставить цвет текста",
'hb_close'   => "Закрыть все теги",
'hb_url'	 => "Вставить ссылку (alt+ h)",
'hb_img'	 => "Картинка (alt + g) [img=http://www.dom.com/img.gif]",
'hb_email'   => "Вставить Email адрес (alt + e)",
'hb_quote'   => "Вставить цитату (alt + q)",
'hb_code'	=> "Вставить код (alt + p)",
'hb_list'	=> "Создать список (alt + l)",
'hb_click_close' => "Нажмите снова для закрытия",
'js_tag_list'	=> "Введите елемент списка. Нажмите 'cancel' или оставьте пустым для завершения списка",
'hb_open_tags'   => "Открытые теги",

плюс обязательно в функции quick_reply_form

после

	var text_enter_url	  = "{ipb.lang['jscode_text_enter_url']}";
var text_enter_url_name = "{ipb.lang['jscode_text_enter_url_name']}";

добавить

	var jsfile_myweb_lang = "";
var jsfile_error_lang = "Ошибка: ";

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

Установили мне дневники, словами не могу передать радость пользователей. Первые уже там забили места и наслаждаются. Но у меня вопрос. Цвета с цветовой схеме очень яркие. Вы не подскажите, в какой файле можно добавить свои, приглушённые цвета? А то таблица хоть и насыщенная, но подобрать что-то приятное глазам сложно. У меня есть наборы цветов, но как их поставить в эту таблицу и в каком файле, может быть подскажите? Спасибо. :D
Ссылка на комментарий
Поделиться на других сайтах

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

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

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

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