Примеры есть в других расширениях.
Я же предлагал поискать в БД: сначала в таблице
phpbb_acl_options
находите, какой же номер присвоен новому праву доступа.И ищете этот номер в таблице
phpbb_acl_groups
для группы, которую хотите проверить.phpbb_acl_options
находите, какой же номер присвоен новому праву доступа.phpbb_acl_groups
для группы, которую хотите проверить.так как раз там и не отображается.. хотя должно (в правах ролей). Пример брал в этом уроке. Там создаю 4 разрешения: смотреть/добавлять/править/удалять. админам и модерам присваиваю все 4.LavIgor писал(а): 06.06.2018 16:31 если в своём расширении для нового права доступа не задать отображение на странице настроек прав доступа, оно и не будет показано.
Примеры есть в других расширениях.
Вот.. то, что надо. сейчас глянуLavIgor писал(а): 06.06.2018 16:31 Я же предлагал поискать в БД: сначала в таблице phpbb_acl_options находите, какой же номер присвоен новому праву доступа.
И ищете этот номер в таблице phpbb_acl_groups для группы, которую хотите проверить.
Чего-чего?
К правам доступа это не имеет никакого отношения.
поиском по view не находит такого права. по add/del/edit тоже.LavIgor писал(а): 06.06.2018 16:31 в таблице phpbb_acl_options находите, какой же номер присвоен новому праву доступа
в
migrations/version_0_0_*.php
не понимаю... листенер же выполняется каждый раз. это перехватчик.. Каждый раз при отображении предлагается добавлять права????
migrations
. Идеологически оно правильнее, мне кажется.Каждый раз при отображении прав доступа, да.
А как Вы ищете?
только 3 из 4-х (add/edit/dell).LavIgor писал(а): 06.06.2018 17:24 Судя по скриншотам, права у Вас добавились и назначились корректно.
phpMyAdmin - phpbb_acl_options - фильтровать строки - "view" (add/dell/edit)
(без кавычек). Занятно.. пока не выгрузил базу и не нашел в ней текстом, phpMyAdmin не показывал эти поля. теперь хоть могу ковыряться в нихКод: Выделить всё
<?php
/**
*
* @package phpBB Extension - Flats list
* @copyright (c) 2013 phpBB Group
* @license http://opensource.org/licenses/gpl-2.0.php GNU General Public License v2
*
*/
namespace krab24\flatslist\migrations;
class flatslist_0_0_3 extends \phpbb\db\migration\migration
{
public function effectively_installed()
{
return isset($this->config['flatslist_version']) && version_compare($this->config['flatslist_version'], '0.0.3', '>=');
}
static public function depends_on()
{
return array('\krab24\flatslist\migrations\flatslist_0_0_2');
}
public function update_data()
{
return array(
// Update configs
array('config.update', array('flatslist_version', '0.0.3')),
// Add permissions
array('permission.add', array('u_viewflatslistpage', true)), //View
array('permission.add', array('u_editflatslistpage', true)), //Edit
array('permission.add', array('u_dellflatslistpage', true)), //Dellete
array('permission.add', array('u_addflatslistpage', true)), //Add
// Add permissions sets
// group's permission
array('permission.permission_set', array('REGISTERED', 'u_viewflatslistpage', 'group', true)),
array('permission.permission_set', array('GLOBAL_MODERATORS', 'u_viewflatslistpage', 'group', true)),
array('permission.permission_set', array('GLOBAL_MODERATORS', 'u_editflatslistpage', 'group', true)),
array('permission.permission_set', array('GLOBAL_MODERATORS', 'u_dellflatslistpage', 'group', true)),
array('permission.permission_set', array('GLOBAL_MODERATORS', 'u_addflatslistpage', 'group', true)),
array('permission.permission_set', array('ADMINISTRATORS', 'u_viewflatslistpage', 'group', true)),
array('permission.permission_set', array('ADMINISTRATORS', 'u_editflatslistpage', 'group', true)),
array('permission.permission_set', array('ADMINISTRATORS', 'u_dellflatslistpage', 'group', true)),
array('permission.permission_set', array('ADMINISTRATORS', 'u_addflatslistpage', 'group', true)),
// role's permission
// array('permission.permission_set', array('GUESTS', 'u_editflatslistpage', 'role', false)),
array('permission.permission_set', array('ROLE_USER_STANDARD', 'u_viewflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_MOD_FULL', 'u_viewflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_MOD_FULL', 'u_editflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_MOD_FULL', 'u_dellflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_MOD_FULL', 'u_addflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_ADMIN_STANDARD', 'u_viewflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_ADMIN_STANDARD', 'u_editflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_ADMIN_STANDARD', 'u_dellflatslistpage', 'role', true)),
array('permission.permission_set', array('ROLE_ADMIN_STANDARD', 'u_addflatslistpage', 'role', true)),
);
}
public function revert_schema()
{
return array(
// Dellete permissions sets
// group's permission
array('permission.permission_unset', array('REGISTERED', 'u_viewflatslistpage')),
array('permission.permission_unset', array('GLOBAL_MODERATORS', 'u_viewflatslistpage')),
array('permission.permission_unset', array('GLOBAL_MODERATORS', 'u_editflatslistpage')),
array('permission.permission_unset', array('GLOBAL_MODERATORS', 'u_dellflatslistpage')),
array('permission.permission_unset', array('GLOBAL_MODERATORS', 'u_addflatslistpage')),
array('permission.permission_unset', array('ADMINISTRATORS', 'u_viewflatslistpage')),
array('permission.permission_unset', array('ADMINISTRATORS', 'u_editflatslistpage')),
array('permission.permission_unset', array('ADMINISTRATORS', 'u_dellflatslistpage')),
array('permission.permission_unset', array('ADMINISTRATORS', 'u_addflatslistpage')),
// roles's permission
// array('permission.permission_unset', array('GUESTS', 'u_editflatslistpage')),
array('permission.permission_unset', array('ROLE_USER_STANDARD', 'u_viewflatslistpage')),
array('permission.permission_unset', array('ROLE_MOD_FULL', 'u_viewflatslistpage')),
array('permission.permission_unset', array('ROLE_MOD_FULL', 'u_editflatslistpage')),
array('permission.permission_unset', array('ROLE_MOD_FULL', 'u_dellflatslistpage')),
array('permission.permission_unset', array('ROLE_MOD_FULL', 'u_addflatslistpage')),
array('permission.permission_unset', array('ROLE_ADMIN_STANDARD', 'u_viewflatslistpage')),
array('permission.permission_unset', array('ROLE_ADMIN_STANDARD', 'u_editflatslistpage')),
array('permission.permission_unset', array('ROLE_ADMIN_STANDARD', 'u_dellflatslistpage')),
array('permission.permission_unset', array('ROLE_ADMIN_STANDARD', 'u_addflatslistpage')),
// Dellete permissions
array('permission.remove', array('u_viewflatslistpage')),
array('permission.remove', array('u_editflatslistpage')),
array('permission.remove', array('u_dellflatslistpage')),
array('permission.remove', array('u_addflatslistpage')),
);
}
}
Удаление и не будет отрабатывать, вы же сделали его через
revert_schema
, а не revert_data
.revert_schema
. А при удалении - revert_data
Нет. При отключении миграции не отрабатываются. Только при удалении данных.moonrise писал(а): 08.06.2018 10:51 как я понимаю, когда отключается приложение - должна выполняться процедура revert_schema. А при удалении - revert_data
update_data
Неправильно понимаете.moonrise писал(а): 08.06.2018 10:51 как я понимаю, когда отключается приложение - должна выполняться процедура revert_schema. А при удалении - revert_data
Команды, за исключением
if
и custom
, phpBB способен откатывать автоматически.Если миграция уже установлена, никакие изменения в соответствующем файле применяться не будут, если только она не будет удалена, что происходит при удалении данных расширения.
да.. что-то я тупанулLavIgor писал(а): 09.06.2018 9:28 Если миграция уже установлена, никакие изменения в соответствующем файле применяться не будут
то есть там может быть любой свой класс в котором должно бытьLavIgor писал(а): 09.06.2018 10:17 все файлы миграций в папке миграций будут считаться таковыми до тех пор, пока они являются наследниками базового класса миграций.
extends \phpbb\db\migration\migration
? других ограничений нет?migration
, есть ещё container_aware_migration
, например, но в общем - да.