Plugin Directory

Changeset 3136115


Ignore:
Timestamp:
08/15/2024 12:30:45 PM (20 months ago)
Author:
fapi
Message:

Bug fix - wp edit page save

Location:
fapi-member
Files:
365 added
5 edited

Legend:

Unmodified
Added
Removed
  • fapi-member/trunk/fapi-member.php

    r3135563 r3136115  
    1515 * Plugin URI:        https://fapi.cz/
    1616 * Description:       Plugin FAPI pro jednoduchou správu členských sekcí na webu.
    17  * Version:           2.1.7
     17 * Version:           2.1.8
    1818 * Requires at least: 5.9
    1919 * Requires PHP:      8.1
     
    3030require __DIR__ . '/src/Utils/functions.php';
    3131
    32 define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.7');
     32define('FAPI_MEMBER_PLUGIN_VERSION', '2.1.8');
    3333
    3434$FapiPlugin = new FapiMemberPlugin();
  • fapi-member/trunk/readme.txt

    r3135563 r3136115  
    66Requires PHP: 8.1
    77License: GPLv2 or later
    8 Stable tag: 2.1.7
     8Stable tag: 2.1.8
    99
    1010Plugin FAPI pro jednoduchou správu členských sekcí na webu.
     
    2323
    2424== Changelog ==
     25
     26= 2.1.8 =
     27* Bug fix - page/post editor - assign sections/levels
    2528
    2629= 2.1.7 =
  • fapi-member/trunk/src/Bootstrap.php

    r3128629 r3136115  
    110110        // adds meta boxed to setting page/post side bar
    111111        add_action('add_meta_boxes', array($this->elementService, 'addMetaBoxes'));
     112        add_action('save_post', array($this->elementService, 'savePostMetadata'));
    112113
    113114        // check if page in fapi level
  • fapi-member/trunk/src/Service/ElementService.php

    r3129528 r3136115  
    99use FapiMember\Model\MemberSection;
    1010use FapiMember\Repository\LevelRepository;
     11use FapiMember\Repository\PageRepository;
    1112use FapiMember\Repository\UserRepository;
    1213use FapiMember\Utils\PostTypeHelper;
     
    1819    private LevelRepository $levelRepository;
    1920    private UserRepository $userRepository;
     21    private PageRepository $pageRepository;
    2022
    2123    public function __construct()
     
    2325        $this->levelRepository = Container::get(LevelRepository::class);
    2426        $this->userRepository = Container::get(UserRepository::class);
     27        $this->pageRepository = Container::get(PageRepository::class);
    2528    }
    2629
     
    8992    }
    9093
     94    public function savePostMetadata(mixed $postId): void
     95    {
     96        $newLevelIds = null;
     97
     98        if (isset($_POST[PostValue::SECTIONS])) {
     99            $newLevelIds = $_POST[PostValue::SECTIONS];
     100        }
     101
     102        if ($newLevelIds === null) {
     103            return;
     104        }
     105
     106        $newLevelIds = array_map(function($levelId) {return (int) $levelId;}, $newLevelIds);
     107
     108        $levels = $this->levelRepository->getAllAsLevels();
     109
     110        foreach ($levels as $level) {
     111            $pageIds = $this->pageRepository->getLockedPageIdsByLevelId($level->getId());
     112
     113            if (in_array($level->getId(), $newLevelIds, true)) {
     114                $pageIds[] = (int) $postId;
     115            } else {
     116                foreach ($pageIds as $key => $levelPostId) {
     117                    if ($levelPostId !== $postId) {
     118                        continue;
     119                    }
     120
     121                    unset($pageIds[$key]);
     122                }
     123            }
     124
     125            $this->pageRepository->updatePagesForLevel($level->getId(), $pageIds);
     126        }
     127    }
     128
    91129    public function hideAdminBar($original) {
    92130        $user = $this->userRepository->getCurrentUser();
  • fapi-member/trunk/vendor/composer/installed.php

    r3135563 r3136115  
    44        'pretty_version' => 'dev-master',
    55        'version' => 'dev-master',
    6         'reference' => 'd9fbff3d12f1ef11d901574fc39185cebd98af03',
     6        'reference' => '6811fed94aa26ff917732bda139732c1314fb454',
    77        'type' => 'library',
    88        'install_path' => __DIR__ . '/../../',
     
    1414            'pretty_version' => 'dev-master',
    1515            'version' => 'dev-master',
    16             'reference' => 'd9fbff3d12f1ef11d901574fc39185cebd98af03',
     16            'reference' => '6811fed94aa26ff917732bda139732c1314fb454',
    1717            'type' => 'library',
    1818            'install_path' => __DIR__ . '/../../',
Note: See TracChangeset for help on using the changeset viewer.