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

[+] 2.0pb7 - Прикрепленная запись


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

Дополнение для mJournal v2.0pb7: Прикрепленный пост

Автор: Arhar

 

1. выполнить запрос

ALTER TABLE ibf_jposts ADD pinned tinyint(1) default 0 AFTER closed

 

2. ./journal/journal.php

найти

												'close'	 => 'misc/post_misc',
											'open'	  => 'misc/post_misc',

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

												'pin'	   => 'misc/post_misc',
											'unpin'	 => 'misc/post_misc',

3. ./journal/misc/post_misc.php

найти

			case 'close':
				$this->close_post(1);
				break;
		case 'open':
				$this->close_post(0);
				break;

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

			case 'pin':
				$this->pin_post(1);
				break;
		case 'unpin':
				$this->pin_post(0);
				break;

найти

	// --------------------------------
// Delete journal post
// --------------------------------
function delete_post()

добавить ПЕРЕД

	function pin_post($id)
{
	global $ibforums, $DB, $journal;

	// Check post

	$DB->query("SELECT pid FROM ibf_jposts WHERE pid='".$ibforums->input['pid']."' AND journal_id='".$journal->users['id']."'");

	if (!$DB->get_num_rows())
	{
		$journal->err_journal($ibforums->lang['j_err_data']);
	}

	// Update database

	$DB->query("UPDATE ibf_jposts SET pinned='".$id."' WHERE pid='".$ibforums->input['pid']."' AND journal_id='".$journal->users['id']."'");

	// jump back

	$journal->redirect_screen(($id == 1) ? 'Запись Закреплена' : 'Запись Откреплена',$journal->base_url."user=".$journal->users['id']."&view=".$ibforums->input['pid']);
}

4. ./journal/posts.php

найти

		// Get posts

	$DB->query("SELECT p.*, m.mgroup
				FROM ibf_jposts p
				LEFT JOIN ibf_jmembers m ON (m.id=p.author_id)
				WHERE p.journal_id='".$journal->users['id']."'
				ORDER BY p.post_date DESC LIMIT ".$ibforums->input['st'].",".$journal->users['j_post_page']);

ЗАМЕНИТЬ на

		$DB->query("SELECT p.*, m.mgroup
				FROM ibf_jposts p
				LEFT JOIN ibf_jmembers m ON (m.id=p.author_id)
				WHERE p.journal_id='".$journal->users['id']."' AND p.pinned = 1
				ORDER BY p.post_date DESC");


	// Start show posts

	if ($DB->get_num_rows())
	{
		// Process all posts

		$attach_pids = array();
		$poll_pids = array();
		$old_date = "";
		$start_post = true;

		while ($row = $DB->fetch_row())
		{
			$post = '';
			list($row['date'],$row['time']) = explode("|",$journal->get_date($row['post_date'],"d F Y|H:i"));

			// New day ?

			if ($old_date != $row['date'])
			{
				if (!$start_post)
				{
					$output['PINNED'] .= $journal->skin->html['posts']->post_bottom();
				}

				$output['PINNED'] .= $journal->skin->html['posts']->post_top($row);
				$old_date = $row['date'];
			}

			// show closed post ?

			if ($row['closed'] == 1 and !$ibforums->member['j_view'])
			{
				$output['PINNED'] .= $journal->skin->html['posts']->post_closed($row);
			}
			else
			{
				if ($row['has_poll'])
				{
					$poll_pids[$row['pid']] = $row['journal_id'];
				}

				if ($row['attach_key'] != "")
				{
					$attach_pids[] = $row['pid'];
				}

				// render post

				$output['PINNED'] .= $journal->skin->html['posts']->post_row($this->post_render->process_post($row));
			}

			$start_post = false;
		}

		$output['PINNED'] .= $journal->skin->html['posts']->post_bottom();

		// process polls

		if (count($poll_pids))
		{
			$output['PINNED'] = $this->post_render->render_poll($output['PINNED'],$poll_pids);
		}

		// process attached pic's

		if (count($attach_pids))
		{
			$output['PINNED'] = $this->post_render->render_attach($output['PINNED'],$attach_pids,0,0,1);
		}
	}

	// Get posts

	$DB->query("SELECT p.*, m.mgroup
				FROM ibf_jposts p
				LEFT JOIN ibf_jmembers m ON (m.id=p.author_id)
				WHERE p.journal_id='".$journal->users['id']."' AND p.pinned = 0
				ORDER BY p.post_date DESC LIMIT ".$ibforums->input['st'].",".$journal->users['j_post_page']);

не забудьте добавить тег cut и ваши моды!

 

5. ./journal/misc/post_render.php

найти

				$row['edit_btn'] .= $journal->skin->html['posts']->post_btn($row,$row['closed'] ? 'open' : 'close',$row['closed'] ? $ibforums->lang['j_open_btn'] : $ibforums->lang['j_close_btn']);

заменить на

				$row['edit_btn'] .= $journal->skin->html['posts']->post_btn($row,
																		$row['closed'] ? 'open' : 'close',$row['closed'] ? $ibforums->lang['j_open_btn'] : $ibforums->lang['j_close_btn'],
																		$row['pinned'] ? 'unpin' : 'pin',$row['pinned'] ? 'Открепить' : 'Закрепить');

 

6. ./journal/skin_cache/1/skin_posts.php

найти

<!--J.PAGE_LINKS-->
{$row['POSTS']}

добавить ПЕРЕД

{$row['PINNED']}

найти

$close="",$close_text=""

добавить

,$pin="",$pin_text=""

найти

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

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

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

 

& #149; писать везде слитно

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

  • 3 месяца спустя...

Arhar, у меня вот что

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

 

я добавила после этой строчки...

 

но у меня не появилась эта функция

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

правильно, у вас шаблоны берутся из базы, а изменяли мы резервный файл

переключите в настройках шаблонов на файлы...

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

переключите в настройках шаблонов на файлы...

спасибо.

 

только вот, что пишет при попытке закрепить запись

 

The requested URL /{journal->base_url}user=1&pid=102&aid=pin was not found on this server.

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

надо чтоб там было

 

а как это сделать?

 

я проверила, все заменила везде правильно

 

методом научного тыка я поставила $ вот в этот код

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

 

вы, кажется, забыли там его написать :D

 

и ещё... у меня теперь почему-то исчезли персональные настройки дизайна Дневника... как вернуть?

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

это никак не связано, как понять исчезли?

 

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

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

Компоненты - mJournal - Skin settings - Шаблоны - Posts - post_tpl

...

{$row['PINNED']}

...

 

Компоненты - mJournal - Skin settings - Шаблоны - Posts - post_btn

 

остальное, в том числе и переменные

тут кстати стоп, сколько у вас переменных откроется?

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

  • 2 года спустя...
  • 1 год спустя...

Присоединиться к обсуждению

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

Гость
Ответить в этой теме...

×   Вы вставили отформатированный текст.   Удалить форматирование

  Допустимо не более 75 смайлов.

×   Ваша ссылка была автоматически заменена на медиа-контент.   Отображать как ссылку

×   Ваши публикации восстановлены.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.

Зарузка...
×
×
  • Создать...

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

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