Giter Site home page Giter Site logo

acl-s's People

Contributors

aiiddqd avatar asche98 avatar casepress avatar evgrezanov avatar yumashev avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

acl-s's Issues

Добавить чекбокс включения доступа по списку

Сейчас это работает как ссылка Настройка
image

Нужно изменить.

  • Сделать по умолчанию просто чекбокс: [] Доступ по списку. Пользователь может поставить эту галочку.
  • Если галочка указана, то через CSS появляется блок ниже со ссылкой на редактирование доступа (испольуем псевдокласс http://htmlbook.ru/css/checked)
  • Если нажали на ссылку, то открывается ThickBox
  • Далее все редактирование данных должно быть через AJAX. Добавление, обновление и удаление.
  • Этот чекбокс должен заенить собой текущий чекбокс, который стоит в ThickBox

Разделение механизма обновления списка и хранения ручных указаний

Сейчас весь список доступа указывается руками. Это проблема.
Список доступа не должен правиться руками.

 Хранить список указанных пользователей в отдельной мете

типа list_users_for_acl_additional

сохранять вручную добавленных пользователей в этот список

в интерфейсе добавления показывать две таблицы:

  1. Список добавленных вручную из меты list_users_for_acl_additional (можно удалять и добавлять вручную)
  2. Список доступа (тут выводим список пользователей из меты acl_users_s) - его править вручную нельзя. Нельзя удалять.

Функция update_acl_s

Его нужно заменить на функцию update_acl_s($post_id)
Вызывать эту функцию всегда при обновлении поста (хук update_post) и возможно в ручном режиме.

 Фильтр update_acl_s

У этой функции должен быть фильтр типа add_filter('update_acl_s'), который позволит перехватывать массив со списком id пользователей и дополнять его.

 Далее на этот фильтр поставить два перехвата

Первый - перехват записей в мете list_users_for_acl_additional - если добавляется или удаляется пользователь, то он должен добавляться, изменяться или удаляться через фильтр update_acl_s. Приоритет вызова хука пониженный - 5

Второй - перехват добавления автора поста. Всегда нужно добавлять автора поста в список через фильтр update_acl_s.

Добавить на страницу Чтение - выбор типов постов, у которых должен включаться ACL

Сейчас выбор типа поста зашит в код.

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

Хранить список доступа в метаполе acl_users_s

  1. Добавляем в блок публикации галочку "Включить доступ по списку". Если галочку поставить, то делаем метаполе acl_true = 1, если галочка снята то удаляем метаполе.
  2. Выводим метабокс с полем Select2 где можно выбрать список пользователей у постов, которых метаполе acl_true = 1
  3. Храним список пользователей в ключе acl_users_s

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.