Пропустить

[BETA] My Page - Personal web page for your members

Поддержка старых модов или модов, созданных авторами не из нашего сообщества, а также любые вопросы, связанные с модами для phpBB 3.0.x, кроме относящихся к форуму Для авторов (phpBB 3.0.x).
Свернуть Развернуть Правила форума Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).

Re: [BETA] My Page - Personal web page for your members

Сообщение schved » 13.08.2009 11:07

После перехода на phpBB 3.0.5 Все заработало!
Кодировка к стати тоже работает кроме комментариев!
С комментариями разобрался за день правда вспомнить не могу что менял, давно делал это ))

Вот мой код mypage.php - Менял в нем:
<?php

define('IN_PHPBB', true);
$phpbb_root_path = (defined('PHPBB_ROOT_PATH')) ? PHPBB_ROOT_PATH : './';
$phpEx = substr(strrchr(__FILE__, '.'), 1);
include($phpbb_root_path . 'common.' . $phpEx);
include $phpbb_root_path. 'includes/functions_mypage.php';

// if looking for an image, just display it
$image = request_var('image', '0');
if ($image)
{
	// get image data
	$sql = "SELECT * 
		FROM " . MYPAGE_UPLOADS_TABLE . " 
		WHERE upload_id = '" . (int) $image . "'";
		
	$result = $db->sql_query($sql);
	$image_data = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);
	
	// update view count
	$sql = "UPDATE " . MYPAGE_UPLOADS_TABLE . "
		SET views = '" . ($image_data['views'] + '1')  ."'
			WHERE upload_id = '" . (int) $image . "'";
	$db->sql_query($sql);
	
	// display the image
	$fp = fopen($phpbb_root_path.'images/mypage_uploads/'.$image_data['save_name'], "rb");
	header("Content-type: {$image_data['mime']}");
	fpassthru($fp);
	exit;
}

// Start session management
$user->session_begin();
$auth->acl($user->data);
$user->setup();

// some needed variables
$page_id	= request_var('id', '0');
$show_comments	= (isset($_GET['comment'])) ? true : true;
$show_rate	= (isset($_GET['rate'])) ? true : false;
$submit		= (isset($_POST['submit'])) ? true : false;
$comment_count	= '0';
$edit_id	= request_var('edit_comm', '0');
$delete_id	= request_var('del_comm', '0');
//$user->lang['imageset_path']
//$user->lang['img_array']['icon_post_delete']['image_filename']

if (!$page_id)
{
	$message = $user->lang['MP_NO_PAGE'];
	trigger_error($message);
}

// get all page information
$result = $db->sql_query("SELECT * FROM " . MYPAGE_TABLE . " WHERE mypage_id = '" . $page_id . "'");
$page = $db->sql_fetchrow($result);
$db->sql_freeresult($result);

if (!$page)
{
	$message = $user->lang['MP_NO_PAGE'];
	trigger_error($message);
}

if ($submit && $show_comments && $_POST['comment'])
{
	// can this person add a comment?
	if (!$auth->acl_get('u_mp_comments'))
	{
		trigger_error($user->lang['MP_NO_PERMISSION']);
	}
	
	// here we handle adding a comment
	$uid = $bitfield = $options = '';
	$comment = request_var('comment', '0', true);
	generate_text_for_storage($comment, $uid, $bitfield, $options, false, true, true);
			
	$sql_ary = array(
		'user_id'		=> $user->data['user_id'],
		'comment_username'	=> $user->data['username'],
		'mypage_id'		=> $page_id,
		'comment'		=> $comment,
		'comment_time'		=> time(),
		'page_owner_id'		=> $page['owner_id'],
		'comment_uid'		=> $uid,
		'comment_bitfield'	=> $bitfield,
		'comment_options'	=> $options,
	);
			
	$db->sql_query('INSERT INTO ' . MYPAGE_COMMENTS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
			
	$url = 'mypage.php?comment=1&id=' . $page_id . '#comments';
	meta_refresh(3, $url);
	$message = $user->lang['MP_COMMENT_ADDED'] . '<br /><br /><a href="' . $url . '">' . $user->lang['MP_RETURN'] . '</a>';
	trigger_error($message);
}

if ($submit && $show_rate)
{
	// can this person add a comment?
	if (!$auth->acl_get('u_mp_ratings'))
	{
		trigger_error($user->lang['MP_NO_PERMISSION']);
	}
	
	// remove comments by this user
	$db->sql_query("DELETE FROM " . MYPAGE_RATINGS_TABLE . " WHERE mypage_id = '" . $page_id . "' && user_id = '" . $user->data['user_id'] . "'");
	
	// here we handle adding a rating
	$sql_ary = array(
		'user_id'		=> $user->data['user_id'],
		'mypage_id'		=> $page_id,
		'rating'		=> request_var('rating', '3'),
		'page_owner_id'		=> $page['owner_id'],
	);
	
	$db->sql_query('INSERT INTO ' . MYPAGE_RATINGS_TABLE . ' ' . $db->sql_build_array('INSERT', $sql_ary));
	
	$url = 'mypage.php?id=' . $page_id;
	meta_refresh(3, $url);
	$message = $user->lang['MP_RATING_ADDED'] . '<br /><br /><a href="' . $url . '">' . $user->lang['MP_RETURN'] . '</a>';
	trigger_error($message);
}

if ($submit && $edit_id && $_POST['editcomment'])
{
	// can this person edit this comment?
	$result = $db->sql_query("SELECT user_id FROM " . MYPAGE_COMMENTS_TABLE . " WHERE comment_id = '" . $edit_id . "'");
	$row = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);
	
	if (!$auth->acl_get('m_mp_edit') && $row['user_id'] != $user->data['user_id'])
	{
		trigger_error($user->lang['MP_NO_PERMISSION']);
	}
	
	// update the comment
	$uid = $bitfield = $options = '';
	$comment = request_var('editcomment', '0');
	generate_text_for_storage($comment, $uid, $bitfield, $options, false, true, true);
			
	$sql_ary = array(
		'comment'		=> $comment,
		'comment_uid'		=> $uid,
		'comment_bitfield'	=> $bitfield,
		'comment_options'	=> $options,
	);
	
	$db->sql_query('UPDATE ' . MYPAGE_COMMENTS_TABLE . ' SET ' . $db->sql_build_array('UPDATE', $sql_ary) . " WHERE comment_id = '" . $edit_id . "'" );
			
	$url = 'mypage.php?comment=1&id=' . $page_id . '&sid=' . $user->data['session_id'] . '#comment' . $edit_id;
	meta_refresh(3, $url);
	$message = $user->lang['MP_COMMENT_UPDATED'] . '<br /><br /><a href="' . $url . '">' . $user->lang['MP_RETURN'] . '</a>';
	trigger_error($message);
}

if ($delete_id)
{
	
	//echo 'in delete'; exit;
	// can this person delete this comment?
	$result = $db->sql_query("SELECT user_id FROM " . MYPAGE_COMMENTS_TABLE . " WHERE comment_id = '" . $delete_id . "'");
	$row = $db->sql_fetchrow($result);
	$db->sql_freeresult($result);
	
	if (!$auth->acl_get('m_mp_edit') && $row['user_id'] != $user->data['user_id'])
	{
		trigger_error($user->lang['MP_NO_PERMISSION']);
	}
	
	$db->sql_query("DELETE FROM " . MYPAGE_COMMENTS_TABLE . " WHERE comment_id = '" . $delete_id . "'");
	
	$url = 'mypage.php?comment=1&id=' . $page_id . '#comments';
	meta_refresh(3, $url);
	$message = $user->lang['MP_COMMENT_DELETED'] . '<br /><br /><a href="' . $url . '">' . $user->lang['MP_RETURN'] . '</a>';
	trigger_error($message);
}


require($phpbb_root_path . 'includes/functions_display.' . $phpEx);

if ($config['mypage_use_board_header'])
{
	$template->assign_block_vars('navlinks', array(
		'FORUM_NAME'	=> $page['mypage_title'],
		'U_VIEW_FORUM'	=> 'mypage.php?id=' . $page_id,
	));
}

// get rating img
$rate_img = '';
$rate_cnt = '0';
$rate_number = '0';
$rating = '0';
$user_rated = false;
$rate_text = '';
if ($page['allow_ratings'])
{
	$rate_text = $user->lang['MP_RATE_PAGE'];
	
	$result = $db->sql_query("SELECT * FROM " . MYPAGE_RATINGS_TABLE . " WHERE mypage_id = '" . $page_id . "'");
	while( $row = $db->sql_fetchrow($result))
	{
		$rate_cnt++;
		$rate_number = $rate_number + $row['rating'];
		if ($row['user_id'] == $user->data['user_id'])
		{
			$user_rated = $row['rating'];
			$rate_text = $user->lang['MP_CHANGE_RATE'];
		}
	}
	$db->sql_freeresult($result);
	
	if ($rate_cnt)
	{
		if ($rate_cnt == '1')
		{
			$rating = $rate_number;
		}
		else
		{
			$rating = round($rate_number / $rate_cnt);
		}
	}
	else
	{
		$rating = 'none';
	}
	
	$rate_img = 'images/mypage_ratings/' . $config['mypage_rate_' . $rating] ;
	
}
// create our css string
$css = 'background-color: ' . $page['bg_color'] . '; ';
$css .= 'font-size: ' .  $page['fnt_size'] . '; ';
$css .= 'color: ' . $page['fnt_color']  . '; ';
if ($page['bg_img_url'])
{
	$css .= 'background-image: url(' . $page['bg_img_url']  . '); ';
	$css .= 'background-repeat: ' .  $page['bg_style'] . ';';
	$css .= 'background-attachment: ' . $page['bg_style_fix'] . '; ';
}

// get contents
$content	= generate_text_for_display($page['content'], $page['bbcode_uid'], $page['bbcode_bitfield'], $page['bbcode_options']);
$content	= ($page['parse_html']) ? htmlspecialchars_decode($content) : $content ;

if ($page['allow_comments'])
{
	// count comments for this page
	$sql = "SELECT comment_id 
		FROM " . MYPAGE_COMMENTS_TABLE . " 
			WHERE mypage_id = '" . $page_id . "'";
					
	$result = $db->sql_query($sql);
	$rows = $db->sql_fetchrowset($result);
	$db->sql_freeresult($result);
	$comment_count = count($rows);

	if ($show_comments)
	{
		// this needs to be changed to get user data from the id in the database instead of the username field in the mypage comments table
		$result = $db->sql_query("SELECT * FROM " . MYPAGE_COMMENTS_TABLE . " WHERE mypage_id = '" . $page_id . "'");
		while ($comment = $db->sql_fetchrow($result))
		{
			$in_edit = (($auth->acl_get('m_mp_edit') || $comment['user_id'] == $user->data['user_id']) && $edit_id == $comment['comment_id']) ? true : false ;
			if ($in_edit)
			{
				$txt = generate_text_for_edit($comment['comment'], $comment['comment_uid'], $comment['comment_options']);
				$comment_txt = $txt['text'];
			}
			else
			{
				$comment_txt = generate_text_for_display($comment['comment'], $comment['comment_uid'], $comment['comment_bitfield'], $comment['comment_options']);
			}
			$delete_url = './mypage.php?id=' . $page_id . '&del_comm=' . $comment['comment_id'] . '&sid=' . $user->data['session_id'] ;
			$edit_url = './mypage.php?id=' . $page_id . '&edit_comm=' . $comment['comment_id'] . '&sid=' . $user->data['session_id'] . '&comment=1#comment' . $comment['comment_id'] ;
			$user_name = $comment['comment_username'];
			$time = $user->format_date($comment['comment_time']);
			
			$template->assign_block_vars('comment', array(
				'USER'		=> $user_name,
				'ID'		=> $comment['comment_id'],
				'COMMENT'	=> $comment_txt,
				'TIME'		=> $time,
				'BY_STRING'	=> str_replace(array('%1', '%2'), array($user_name, $time), $user->lang['MP_COMMENT_BY_STRING']),
				'DELETE_URL'	=> ($auth->acl_get('m_mp_edit') || $comment['user_id'] == $user->data['user_id']) ? $delete_url : false ,
				'EDIT_URL'	=> ($auth->acl_get('m_mp_edit') || $comment['user_id'] == $user->data['user_id']) ? $edit_url : false ,
				'IN_EDIT'	=> $in_edit ,
			));
		}
		$db->sql_freeresult($result);
	}
}

$template->assign_vars(array(
	'USE_BOARD_HEADER'		=> $config['mypage_use_board_header'],
	'MYPAGE_CSS'			=> $css,
	'MYPAGE_TITLE'			=> $page['mypage_title'],
	'COMMENT_FORM_URL'		=> 'mypage.php?comment=1&id=' . $page_id . '&sid=' . $user->data['session_id'] . '#comments',
	'RATING_FORM_URL'		=> 'mypage.php?rate=1&id=' . $page_id . '&sid=' . $user->data['session_id'] . '#ratings',
	'SHOW_COMMENT_FORM'		=> ($auth->acl_get('u_mp_comments')) ? true : false ,
	'CONTENT'			=> $content,
	'FOOTER'			=> ($config['mypage_custom_footer']) ? htmlspecialchars_decode($config['mypage_custom_footer']) : false ,
	//'SHOW_COMMENT_BAR'		=> $page['allow_comments'] || $page['allow_ratings'],
	'COMMENTS_ALLOWED'		=> $page['allow_comments'],
	'SHOW_COMMENTS'			=> $show_comments,
	'RATINGS_ALLOWED'		=> $page['allow_ratings'],
	'SHOW_RATINGS'			=> $show_rate,
	'RATING_IMG'			=> $rate_img,
	'RATE_LINK'			=> ($page['allow_ratings'] && $auth->acl_get('u_mp_ratings')) ?  '<a href="mypage.php?rate=1&id=' . $page_id  . '&sid=' . $user->data['session_id'] . '#ratings">' .  $rate_text . '</a>' : '',
	'COMMENT_COUNT_STRING'		=> ($page['allow_comments']) ? strtr($user->lang['MP_COMMENT_COUNT_STRING'], '%', $comment_count) : '' ,
	'COMMENT_LEAVE_VIEW_URL'	=> 'mypage.php?comment=1&id=' . $page_id . '#comments',
	'RATE_IMG_0'			=> $config['mypage_rate_0'],
	'RATE_IMG_1'			=> $config['mypage_rate_1'],
	'RATE_IMG_2'			=> $config['mypage_rate_2'],
	'RATE_IMG_3'			=> $config['mypage_rate_3'],
	'RATE_IMG_4'			=> $config['mypage_rate_4'],
	'RATE_IMG_5'			=> $config['mypage_rate_5'],
	'USER_RATING'			=> ($user_rated) ? $user_rated : '3' ,
));




page_header($page['mypage_title']);
$template->set_filenames(array('body' => 'mypage/mypage.html'));
page_footer();		
			

?>
Аватара пользователя
schved
phpBB 1.4.2
 
Сообщения: 51
Зарегистрирован: 15.10.2008 22:27
Откуда: Белгород
Благодарил (а): 0 раз.
Поблагодарили: 1 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение мотоциклист » 04.10.2009 16:55

При запуске установки - "....../mypage_install/index.php" пишет вот это - "You must be loggged in as an admin to install this mod." Хотя я админ форума и залогинен под ним ????
На bb3x.ru посоветовали "за комментируйте проверку на админа и поставьте мод".

Вопросы:
1. Какие именно строки и в каком файле закомментировать?
2. Под "закомментировать" имеется в виду в начале каждой задействованной при проверке на админа строчки поставить точку с запятой?

мотоциклист
phpBB 1.4.2
 
Сообщения: 52
Зарегистрирован: 08.02.2009 16:14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение DK7 » 04.10.2009 22:36

в файле /mypage_install/index.php
удалите
if (!$user->data['is_registered'] || $user->data['user_type'] != USER_FOUNDER)
{

	echo 'You must be loggged in as an admin to install this mod.';
	exit;
}

а закоментировать, значит поставить //перед строчкой
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 942
Зарегистрирован: 17.07.2006 14:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение мотоциклист » 06.10.2009 21:35

Спасибо, получилось. Пример здесь - кто хочет регистрируйтесь, тестируйте.
Вопрос: после того, как "MyPage" установилась - нужно ли удалять папку "mypage_install"?

мотоциклист
phpBB 1.4.2
 
Сообщения: 52
Зарегистрирован: 08.02.2009 16:14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение TSV » 07.10.2009 11:59

У тебя ошибка в шапке, слово АгенТство пишется через Т. ;)
Папку удалять нужно.

Добавлено спустя 1 минуту 18 секунд:
Комменты к страницам вопросиками пишутся.
Аватара пользователя
TSV
phpBB 1.4.2
 
Сообщения: 56
Зарегистрирован: 09.06.2008 21:35
Откуда: Чита
Благодарил (а): 0 раз.
Поблагодарили: 2 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение мотоциклист » 10.10.2009 19:44

Да, спасибо - мы поправим баннер.
Папку удалилэ
Комментарии к страницам на момент твоего посещения сайта http://mediland.kiev.ua действительно писались вопросиками, сейчас с этим нормально, поскольку я скачал и установил исправленный mypage.php отсюда: http://forum.bb3x.ru/post-13118#p13118
Но всплыла такая проблема:
после того, как я добавил комментарий, выпадает окошко:

Ваш комментарий добавлен

На последнюю просмотренную страницу


Само никуда не перекидывает, если левой кнопкой мыши жму по ссылке "На последнюю просмотренную страницу" - то тоже никуда не перехожу.

Экспериментировал в "Opera" и "Google Chrome". Почистил куки - то-же самое!
Самое интересное, если правой кнопкой мыши на ссылке "На последнюю просмотренную страницу" указать "открыть в новой вкладке" или "открыть в новом окне" - то открывается новая страница со всеми, в т.ч. и только что добавленным мною, комментариями!

У меня шаблон "Hestia Green". При выборе в центре пользователя в настройках форума "ProSilver" то-же самое.

Поделитесь, пожалуйста, полностью работоспособным файлом "mypage.php". Или для устранения проблемы с переходом в список комментариев нужно где-то код править в других файлах?

мотоциклист
phpBB 1.4.2
 
Сообщения: 52
Зарегистрирован: 08.02.2009 16:14
Благодарил (а): 0 раз.
Поблагодарили: 0 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение Альтаир Бергадлер » 05.04.2010 23:27

Поставил на 307 версию форума.....ни в асп ни в усп не появилось увы..

Альтаир Бергадлер
phpBB 2.0.19
 
Сообщения: 602
Зарегистрирован: 26.03.2010 2:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение DK7 » 06.04.2010 0:02

кэш чистился? шаблоны обновлялись?
все должно прекрасно работать. раз не работает, неверная установка.
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 942
Зарегистрирован: 17.07.2006 14:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение Альтаир Бергадлер » 06.04.2010 18:50

не...я лошара просто, забыл права выставить....

Альтаир Бергадлер
phpBB 2.0.19
 
Сообщения: 602
Зарегистрирован: 26.03.2010 2:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение Альтаир Бергадлер » 16.04.2010 10:36

Вот нашел такую багу.
Если страницу удалить, то ссылка на нее в профиле остается, при перехода по ней выбрасывает сообщение что страница не существует, как быть?

Альтаир Бергадлер
phpBB 2.0.19
 
Сообщения: 602
Зарегистрирован: 26.03.2010 2:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение DK7 » 16.04.2010 12:53

как вариант, удалить напрямую из бд.
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 942
Зарегистрирован: 17.07.2006 14:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение Альтаир Бергадлер » 16.04.2010 13:33

DK7
ну да, я продумывал и такой вариант. Хотя это по принципу кувалды.
При больших обьемах банально не полезешь в бд ковырять каждый акк

Альтаир Бергадлер
phpBB 2.0.19
 
Сообщения: 602
Зарегистрирован: 26.03.2010 2:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение DK7 » 16.04.2010 13:39

значит докуричвать мод, что бы при удалении страницы, терлась и из профиля ссылка на нее. а те что уже были удалены- придется руками таки из бд.
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 942
Зарегистрирован: 17.07.2006 14:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение Альтаир Бергадлер » 16.04.2010 14:08

ждем апдейта мода.

Альтаир Бергадлер
phpBB 2.0.19
 
Сообщения: 602
Зарегистрирован: 26.03.2010 2:11
Благодарил (а): 79 раз.
Поблагодарили: 16 раз.

Re: [BETA] My Page - Personal web page for your members

Сообщение DK7 » 16.04.2010 14:21

вы на офф странице мода смотреть не пробовали? наверняка вопрос всплывал.
Аватара пользователя
DK7
Модератор
Модератор
 
Сообщения: 942
Зарегистрирован: 17.07.2006 14:52
Откуда: Кишинёв
Благодарил (а): 6 раз.
Поблагодарили: 11 раз.

Пред.След.

Вернуться в Поддержка модов для phpBB 3.0.x

 

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Кто сейчас на конференции

Сейчас этот форум просматривают: Magpie [Crawler] и гости: 0

Бессрочный конкурс phpBB-ориентированных материалов
FastVPS — надёжный и доступный хостинг для phpBB
Место для вашей рекламы