Как в Центре админ. сд-ть кнопку для вызова своего скрипта?

Проблемы с установкой или работой phpBB 3.0.x? Получите помощь здесь!
С 1 января 2017 года phpBB Group прекращает поддержку phpBB версии 3.0.
Сайт официальной русской поддержки phpBB Guru продолжит поддержку phpBB 3.0 до 1 июля 2017 года.
Подробнее: Окончание поддержки phpBB 3.0.
Правила форума
Местная Конституция | Шаблон запроса | Документация (phpBB3) | Переход на 3.0.6 и выше | FAQ-3 (phpbb3) | Как задавать вопросы | Как устанавливать моды

Ваш вопрос может быть удален без объяснения причин, если на него есть ответы по приведённым ссылкам (а вы рискуете получить предупреждение ;) ).
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Как в Центре админ. сд-ть кнопку для вызова своего скрипта?

Сообщение goshka »

Здравствуйте!

Как в Центре администрирования сделать кнопку для вызова своего PHP скрипта?

И как вообще рекомендуется выполнять свои php скрипты в среде PHPBB форума, чтобы использовать внутренние ф-ции PHPBB форума, в частности, функцию copy_forum_permissions, которая находится в скрипте /includes/acp/acp_forums.php ?
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Sheer »

В phpBB3 нет Центра администрирования.
goshka писал(а):как вообще
Вообще так -->Создание дополнительных (произвольных) страниц в стиле конференции
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

У меня почему-то есть Центр администрирования, наверное, такая редакция (сборка).
Ну пусть это называется Админка, Панель управления, Центр администрирования, Страница администратора и т.д.

По ссылке я ходил, но мне не надо Создание дополнительных (произвольных) страниц в стиле конференции, мне надо на Админку поставить свою кнопку и вызывать по ней свой (выше обозначенный) php скрипт.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Sheer »

goshka писал(а):По ссылке я ходил
Это прочитал?
страница может содержать все, что вам угодно, от простого текста (например, списка правил) до более сложных вариантов, таких как php-скрипты
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 5 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Anvar »

Наверное требуется создание модулей для администраторского раздела?..

Все модули находятся в includes/acp , для возможности подключения и установки модуля необходимо использовать класс с функциями в includes/acp/info , сами html файлы шаблонов находятся в adm/style

К примеру создаём новый модуль с названием: news

В includes/acp создаём файл acp_news.php содержащий следующий class с обязательной основной функцией main:

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

class acp_news
{

	function main($id, $mode)
	{
	}
}
В includes/acp/info/ файл acp_news_info.php

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

class acp_news_info
{
	function module()
	{
		return array(
			'filename'	=> 'acp_news', // имя файла и название класса, модуля который расположен в includes/acp
			'title'		=> 'ACP_NEWS_MANAGEMENT', // Название мода, подключаемого и отображаемого в админке, можно подключить название переменной расположенной в языковом файле language/ru/mods/ с префиксом info_acp_
			'version'	=> '1.0.0',
			'modes'		=> array(), // Массив с необходимыми данными для форм, полей и тд. при установки и настройки модуля в админке.
		);
	}

	function install()
	{
	}

	function uninstall()
	{
	}
}
В самом языковом файле, например language/ru/mods/info_acp_news.php
создаём следующий массив

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

if (empty($lang) || !is_array($lang))
{
    $lang = array();
}

$lang = array_merge($lang, array(
	'ACP_NEWS_MANAGEMENT'	=> 'Новые модули',
));
Ну и естественно не забываем проверять наличие константы в начале каждого подключённого файла модуля.

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

if (!defined('IN_PHPBB'))
{
	exit;
}
Статьи писать далеко не мастер, не знаю поймёшь ли :-D
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

Да я понял, что это не просто. Нужно идти на курсы... :)

А примеров нет? Конкретных простых примеров выполнения скрипта в системе PHPBB?

( Повторюсь, вообще мне нужно скопировать права доступа от одного форума другому с помощью скрипта )

По поводу ссылки указанной уважаемым Sheer !
Я не могу представить, что такая простая задача (выполнение встроенной функции) должна решаться так сложно , наверняка, не я первый захотел вызвать ф-ю системы PHPBB...
Но чтобы вот так все было сложно...

Мне всего-лишь нужно вызвать родную встроенную функцию copy_forum_permissions, указав ей всего 2 параметра : forum_id1 и forum_id2 . И все.

Добавлено спустя 26 минут 39 секунд:
Re: Как в Центре админ. сд-ть кнопку для вызова своего скрипта?

Еще возможное неплохое решение бы могло бы быть... (так и просящееся в мозг) :)

Я захожу в Панель управления (проверки я уже все прошел, система подключилась...). Вызываю нужный скрипт, через командную строку, как это везде делается...!!!
И все, ребята!... :)
Сделайте так - людям понравится! :)
Последний раз редактировалось goshka 31.08.2014 4:58, всего редактировалось 2 раза.
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Sheer »

goshka писал(а):мне надо на Админку поставить свою кнопку и вызывать по ней свой (выше обозначенный) php скрипт.
Не понимаю, зачем свою, если требуемый функционал является штатным?
copy_perm.jpg
Anvar писал(а):Вызываю нужный скрипт, через командную строку
Это невозможно, так как в целях безопасности, в адресной строке должен присутствовать еще и идентификатор сессии. А он уникален.

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

http://localhost/ch4/adm/index.php?sid=10912f96f54f8fb4775cecaf31854f98&i=permissions&mode=setting_forum_copy
У вас нет необходимых прав для просмотра вложений в этом сообщении.
Изображение
Общие ошибки новичков (07.11.2005) & Как задавать вопросы
Мини FAQ
Если ничто другое не помогает, прочтите, наконец, инструкцию!
"Никакая инструкция не может перечислить всех обязанностей должностного лица, предусмотреть все отдельные случаи и дать вперёд соответствующие указания, а поэтому господа инженеры должны проявить инициативу и, руководствуясь знаниями своей специальности и пользой дела, принять все усилия для оправдания своего назначения".
Циркуляр Морского технического комитета №15 от 29.11.1910 г.
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

Sheer!

Спасибо за первую ссылку (про изготовление своего скрипта), все оказалось намного легче!!
(это сразу показалось сложно)

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

Добавлено спустя 7 минут 27 секунд:
Re: Как в Центре админ. сд-ть кнопку для вызова своего скрипта?
Sheer писал(а): должен присутствовать еще и идентификатор сессии
Ну думаю, идентификатор приделать не сложно! (для панели управления)
А командную строку предусмотреть как опцию, не ставящуюся по умолчанию.
Последний раз редактировалось goshka 31.08.2014 5:00, всего редактировалось 2 раза.
Аватара пользователя
xisp
phpBB 3.0.0 RC7
Сообщения: 1798
Стаж: 14 лет 4 месяца
Благодарил (а): 152 раза
Поблагодарили: 215 раз
Забанен: Бессрочно

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение xisp »

goshka писал(а): потому что планируется очень много форумов и для всех замучаюсь переносить права вручную.
Вроде прямо при создании можно указать, откуда копировать права.
И опять же, зачем 100500 пустых форумов?
phpBBex
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

Sheer!
БОЛЬШОЕ СПАСИБО за картинку по копированию прав!
Все сработало! скопировал нужные права сразу на кучу разделов и форумов.

( Желание поэкспериментировать со скриптами (и внутренними функциями) не пропало... ) :)

xisp!
Форумы я создаю своим скриптом (не через панель управления)

Anvar!
Интересно все написал, учту на будущее...

P.s. по инструкции указанной Sheer'ом все работает с вызовом html файла, но вызвать php файл пока не получается.. (кэш чищу!)

Вызываемый тестовый php ф-л:

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

<?php  
 // находится в  ../styles/prosilver/template/
 // там же находится тестовый html файл - он вызывается без проблем!
 echo "_script_for_copy_permissions.php<br>";
 echo "123 <br>";
 echo "456 <br>";
?>
Последний раз редактировалось goshka 31.08.2014 5:07, всего редактировалось 3 раза.
Anvar
Former team member
Сообщения: 1964
Стаж: 16 лет 5 месяцев
Благодарил (а): 67 раз
Поблагодарили: 800 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Anvar »

Sheer писал(а):
Anvar писал(а):Вызываю нужный скрипт, через командную строку
Но я этого не писал! :o
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

php файл не работает, наверное, потому что ему в этом директории ( /styles/prosilver/template/ ) не место, там лежат одни html файлы.
goshka
phpBB 1.4.2
Сообщения: 71
Стаж: 12 лет 10 месяцев
Благодарил (а): 42 раза
Поблагодарили: 3 раза

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение goshka »

Оказалось...
Нужно временно включить опцию:

Панель управления > ОБЩИЕ > Безопасность > Разрешить php в шаблонах: [+]

(Если эта функция включена, команды PHP и INCLUDEPHP будут распознаваться и выполняться в шаблонах.)

После выполнения скрипта - не забыть все вернуть на место! Иначе быть беде! :)

Есть ли еще решения выполнения своего скрипта без Панели управления?
Аватара пользователя
Татьяна5
Поддержка
Поддержка
Сообщения: 13159
Стаж: 15 лет 1 месяц
Благодарил (а): 236 раз
Поблагодарили: 3750 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Татьяна5 »

goshka писал(а):Есть ли еще решения выполнения своего скрипта без Панели управления?
Загрузить его в корень форума и вызвать из адресной строки браузера
Аватара пользователя
Sheer
Former team member
Сообщения: 12113
Стаж: 19 лет 7 месяцев
Откуда: Калининград не Кенигсберг
Благодарил (а): 54 раза
Поблагодарили: 2756 раз

Re: Как в Центре админ. сд-ть кнопку для вызова своего скрип

Сообщение Sheer »

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

Вернуться в «Поддержка phpBB 3.0.х»