Страница 1 из 2
[DEV] PMRead
Добавлено: 17.01.2015 17:03
deadromeo
Название расширения: PMRead
Описание расширения: Расширение позволит администраторам читать личные сообщения пользователей в админпанели.
Язык: ru
pmread.rar
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:08
rxu
Если делаете так global ....., $pagination;
то откуда вызов $this->pagination->
? Тогда уж просто $pagination->
.
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:17
deadromeo
Упс, не до конца код привел, после глобала идет строка
Хотел просто с этим моментом разобраться чтоб не тупить впредь, но потратил кучу времени и вариантов и всегда выкидывает указанную выше ошибку
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:20
rxu
deadromeo писал(а):Упс, не до конца код привел
Давайте-ка в отдельную тему, и ссылку на весь код.
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:21
Shredder
Код: Выделить всё
$this->pagination = $phpbb_container->get('pagination');
У меня так.
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:26
Sheer
Re: Расширения - это просто!
Добавлено: 17.01.2015 17:28
deadromeo
Ребят, прошу в другую тему, полный код тут -
[BETA]PMRead
Добавлено спустя 1 минуту 41 секунду:
Sheer, спасибо, буду глядеть, перелопатил кучу расширений, а вот на ваше не наткнулся
[DEV] PMRead
Добавлено: 17.01.2015 17:26
deadromeo
При выходе стабильной версии сообщение перепишется в нормальный вид, а пока что ....
Вообщем разрабатываю расширения для возможности администраторам читать ЛС пользователей,
моральные аспекты так же не трогаем, само расширение имеет только одну отдельную страницу в админке на вкладке
Настройки расширений, возникла проблема с пагинацией, конкретно ошибка
Код: Выделить всё
...... 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),
));
}
}
?>
Помощи прошу только по пагинации, не нужно прочих комментариев, с этим буду сам разбираться
Добавлено спустя 7 минут 55 секунд:
Вопрос снят, спасибо
Sheer за подсказку, буду дальше доделывать
Re: [DEV] PMRead
Добавлено: 17.01.2015 20:47
deadromeo
Переписал первый пост, прошу вашей критики
Re: [DEV] PMRead
Добавлено: 17.01.2015 20:52
Sumanai
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>');
}
Нужно для адаптивных таблиц, или типа того. Проблемы тут никакой нету.
Re: [DEV] PMRead
Добавлено: 17.01.2015 21:22
Anvar
Немного не в тему, но всё-же.
Ссылки вида [del] в будущем могут стать битыми.
Не лучше было бы размещать ссылки на страницу, где доступны последние версии?
Re: [DEV] PMRead
Добавлено: 17.01.2015 22:38
deadromeo
Anvar, я слежу за ссылками, меняю их если перезаливаю архивы, при надобности буду размещать ссылки на темы если администрация будет непротив
Sumanai писал(а):Проблемы тут никакой нету.
Дублируется надпись
ID сообщения, некрасиво, попробую найти решения
Re: [DEV] PMRead
Добавлено: 17.01.2015 23:00
Sheer
deadromeo
Размещай свое творчество на github, так проще отслеживать изменения, и можно посмотреть код каждого отдельно взятого файла, а не скачивать весь архив целиком.
Re: [DEV] PMRead
Добавлено: 18.01.2015 2:27
xisp
deadromeo писал(а):Дублируется надпись ID сообщения, некрасиво, попробую найти решения
Стилями скрывайте.
Re: [DEV] PMRead
Добавлено: 16.03.2015 17:50
Sergiocharm
Я поставил себе. все нормально, но не хватает фильтрации, каждый раз приодится искать последние сообщения. Сделайте фильтрацию по дате. Спасибо!