[DEV] PMRead

Здесь авторы могут постить бета-версии своих расширений для phpBB. Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Мини [FAQ] по phpBB3.1.x/3.2.x | FAQ | Внимание! Прежде чем создать тему - прочти! | Как задавать вопросы | Как устанавливать расширения

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

Внимание! Не устанавливайте бета-версии расширений на работающие форумы!
deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

[DEV] PMRead

Сообщение deadromeo » 17.01.2015 17:03

Название расширения: PMRead
Описание расширения: Расширение позволит администраторам читать личные сообщения пользователей в админпанели.
Язык: ru
pmread.rar
(5.56 КБ) 54 скачивания
Последний раз редактировалось deadromeo 25.02.2017 16:59, всего редактировалось 5 раз.
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14033
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 326 раз
Поблагодарили: 1418 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение rxu » 17.01.2015 17:08

Если делаете так global ....., $pagination; то откуда вызов $this->pagination->? Тогда уж просто $pagination->.
Изображение

deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

Re: Расширения - это просто!

Сообщение deadromeo » 17.01.2015 17:17

Упс, не до конца код привел, после глобала идет строка

Код: Выделить всё

$this->pagination = $pagination;
Хотел просто с этим моментом разобраться чтоб не тупить впредь, но потратил кучу времени и вариантов и всегда выкидывает указанную выше ошибку
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

Аватара пользователя
rxu
phpBB Guru
phpBB Guru
Сообщения: 14033
Зарегистрирован: 12.05.2006 18:16
Откуда: Красноярск
Благодарил (а): 326 раз
Поблагодарили: 1418 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение rxu » 17.01.2015 17:20

deadromeo писал(а):Упс, не до конца код привел
Давайте-ка в отдельную тему, и ссылку на весь код.
Изображение

Shredder
Former team member
Сообщения: 2179
Зарегистрирован: 14.12.2008 10:18
Благодарил (а): 207 раз
Поблагодарили: 547 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Shredder » 17.01.2015 17:21

Код: Выделить всё

$this->pagination = $phpbb_container->get('pagination');
У меня так.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11026
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 43 раза
Поблагодарили: 2398 раз
Контактная информация:

Re: Расширения - это просто!

Сообщение Sheer » 17.01.2015 17:26

deadromeo
Смотри как сделано тут https://github.com/AlexSheer/phpbb3.1-K ... module.php
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

Re: Расширения - это просто!

Сообщение deadromeo » 17.01.2015 17:28

Ребят, прошу в другую тему, полный код тут - [BETA]PMRead

Добавлено спустя 1 минуту 41 секунду:
Sheer, спасибо, буду глядеть, перелопатил кучу расширений, а вот на ваше не наткнулся
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

[DEV] PMRead

Сообщение deadromeo » 17.01.2015 17:26

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

Код: Выделить всё

...... mod_fcgid: stderr: PHP Fatal error:  Call to a member function generate_template_pagination() on a non-object in ......./phpbbworld/pmread/acp/pmread_module.php on line 58, referer: ......
Полный код pmread_module.php

Код: Выделить всё

<?php


namespace phpbbworld\pmread\acp;

/**
* @ignore
*/
if (!defined('IN_PHPBB'))
{
    exit;
}

/**
* @package acp
*/
class pmread_module
{
	protected $request;
	
	protected $config;
	
	protected $pagination;
	
	protected $db;
	
	protected $template;
	
	protected $user;
	
	protected $phpbb_root_path;	

	 public function main($id, $mode)
	{
	global $request, $config, $pagination, $db, $template, $user, $phpbb_root_path;
		$this->request = $request;
		$this->config = $config;
		$this->pagination = $pagination;
		$this->db = $db;
		$this->template = $template;
		$this->user = $user;
		$this->phpbb_root_path = $phpbb_root_path;	
		$this->user->add_lang('acp/common');
		$this->tpl_name = 'acp_pmread';
		$this->page_title = $this->user->lang('PMR');
		$start = $this->request->variable('start', 0);
		$total_count	= 0;
		$per_page		= 10;
		$sql = 'SELECT COUNT(msg_id) as total
			FROM ' . PRIVMSGS_TABLE . '';
		$result = $this->db->sql_query($sql);
		$row = $this->db->sql_fetchrow($result);
		$total_count = $row['total'];
		$this->db->sql_freeresult($result);
		$pagination_url = append_sid("{$this->phpbb_root_path}pmread");
		$this->pagination->generate_template_pagination($pagination_url, 'pagination', 'start', $total_count, $per_page, $start);

		$sql = 'SELECT msg_id, message_subject, message_text, message_time 
			FROM ' . PRIVMSGS_TABLE . '';			
		$result = $this->db->sql_query_limit($sql, $per_page, $start);
		while ($row = $this->db->sql_fetchrow($result))
		{
			$this->template->assign_block_vars('message', array(
			'MSG_ID' => $row['msg_id'],
			'SBJ' => $row['message_subject'],
			'MSGT' => $row['message_text'],
			'DATE' => $user->format_date($row['message_time']),
		));
		}
		
		$template->assign_vars(array(
		    'PMREAD_VERSION'			=> isset($this->config['pmread_version']) ? $this->config['pmread_version'] : '',
			'TOTAL_ITEMS'		=> $this->user->lang('TOTAL_ITEMS', (int) $total_count),
		));
	}
}
?>
Помощи прошу только по пагинации, не нужно прочих комментариев, с этим буду сам разбираться :oops:

Добавлено спустя 7 минут 55 секунд:
Вопрос снят, спасибо Sheer за подсказку, буду дальше доделывать
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

Re: [DEV] PMRead

Сообщение deadromeo » 17.01.2015 20:47

Переписал первый пост, прошу вашей критики
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

Аватара пользователя
Sumanai
phpBB 3.0.0 RC7
Сообщения: 1778
Зарегистрирован: 02.11.2014 13:57
Благодарил (а): 262 раза
Поблагодарили: 219 раз
Контактная информация:

Re: [DEV] PMRead

Сообщение Sumanai » 17.01.2015 20:52

deadromeo писал(а):При просмотре через мобильник в исходном коде появляется <dfn style="display: none;">ID сообщения</dfn>, что это и как оно появляется я не в силах обьяснить (позор мне, может это очевидная вещь)
Очевидно, это добавляет яваскрипт admin.js, строчки

Код: Выделить всё

				if ((text.length && text !== '-') || cell.children().length) {
					if (headers[column] != '') {
						cell.prepend('<dfn style="display: none;">' + headers[column] + '</dfn>');
					}
Нужно для адаптивных таблиц, или типа того. Проблемы тут никакой нету.

Аватара пользователя
Anvar
Former team member
Сообщения: 1974
Зарегистрирован: 26.03.2010 9:09
Благодарил (а): 67 раз
Поблагодарили: 777 раз
Контактная информация:

Re: [DEV] PMRead

Сообщение Anvar » 17.01.2015 21:22

Немного не в тему, но всё-же.

Ссылки вида [del] в будущем могут стать битыми.

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

deadromeo
phpBB 2.0.0
Сообщения: 239
Зарегистрирован: 08.05.2011 19:41
Благодарил (а): 28 раз
Поблагодарили: 40 раз
Контактная информация:
Забанен: Бессрочно

Re: [DEV] PMRead

Сообщение deadromeo » 17.01.2015 22:38

Anvar, я слежу за ссылками, меняю их если перезаливаю архивы, при надобности буду размещать ссылки на темы если администрация будет непротив
Sumanai писал(а):Проблемы тут никакой нету.
Дублируется надпись ID сообщения, некрасиво, попробую найти решения
Мои расширения: TopicLinks, TopicDesc, BannedUser, AllowedExt, NumPosts, PMRead, GoogleTranslator, BoardStartDate, CountDownBB, VKWigets, TimeHeader.

Аватара пользователя
Sheer
phpBB Guru
phpBB Guru
Сообщения: 11026
Зарегистрирован: 18.02.2007 19:01
Откуда: Рига, Латвия (страна-недоразумение)
Благодарил (а): 43 раза
Поблагодарили: 2398 раз
Контактная информация:

Re: [DEV] PMRead

Сообщение Sheer » 17.01.2015 23:00

deadromeo
Размещай свое творчество на github, так проще отслеживать изменения, и можно посмотреть код каждого отдельно взятого файла, а не скачивать весь архив целиком.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.

Аватара пользователя
xisp
phpBB 3.0.0 RC8
Сообщения: 1811
Зарегистрирован: 19.05.2012 19:00
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: [DEV] PMRead

Сообщение xisp » 18.01.2015 2:27

deadromeo писал(а):Дублируется надпись ID сообщения, некрасиво, попробую найти решения
Стилями скрывайте.
phpBBex

Sergiocharm
phpBB 2.0.7
Сообщения: 598
Зарегистрирован: 18.09.2010 16:03
Благодарил (а): 57 раз
Поблагодарили: 5 раз
Контактная информация:

Re: [DEV] PMRead

Сообщение Sergiocharm » 16.03.2015 17:50

Я поставил себе. все нормально, но не хватает фильтрации, каждый раз приодится искать последние сообщения. Сделайте фильтрацию по дате. Спасибо!

Ответить

Вернуться в «Бета-версии расширений для phpBB»