PluginProbe
User Access Manager / 2.3.20
User Access Manager v2.3.20
2.3.20 2.3.19 2.3.18 2.3.17 2.3.16 2.3.15 2.3.14 2.3.13 trunk 0.6 0.6.1 0.6.2 0.7 0.7 Beta 0.7.0.1 0.8 0.8.0.1 0.8.0.2 0.9 0.9.1 0.9.1.1 0.9.1.2 0.9.1.3 0.9.1.4 1.0 All 136 releases
user-access-manager / src / Controller / Backend / ObjectMembership / TermObjectController.php

TermObjectController.php in User Access Manager 2.3.20, at src/Controller/Backend/ObjectMembership/TermObjectController.php

65 lines 1.7 KB
No matching file
Up and down to move Enter to open Esc to close
Raw Download Zip
1 <?php
2
3 declare(strict_types=1);
4
5 namespace UserAccessManager\Controller\Backend\ObjectMembership;
6
7 use UserAccessManager\Object\ObjectHandler;
8 use UserAccessManager\UserGroup\UserGroupTypeException;
9 use WP_Term;
10
11 class TermObjectController extends ObjectController
12 {
13 public function addTermColumnsHeader(array $defaults): array
14 {
15 $defaults[self::COLUMN_NAME] = TXT_UAM_COLUMN_ACCESS;
16 return $defaults;
17 }
18
19 private function getTermObjectType(int|string|null $termId): string
20 {
21 $term = $this->objectHandler->getTerm($termId);
22
23 return ($term !== false) ? $term->taxonomy : ObjectHandler::GENERAL_TERM_OBJECT_TYPE;
24 }
25
26 /**
27 * @throws UserGroupTypeException
28 */
29 public function addTermColumn(?string $content, string $columnName, int|string|null $id): ?string
30 {
31 if ($columnName === self::COLUMN_NAME) {
32 $content .= $this->getGroupColumn($this->getTermObjectType($id), $id);
33 }
34
35 return $content;
36 }
37
38 /**
39 * @throws UserGroupTypeException
40 */
41 public function showTermEditForm($term): void
42 {
43 if ($term instanceof WP_Term) {
44 $this->setObjectInformation($term->taxonomy, $term->term_id);
45 } else {
46 $this->setObjectInformation($term, null);
47 }
48
49 echo $this->getIncludeContents('TermEditForm.php');
50 }
51
52 /**
53 * @throws UserGroupTypeException
54 */
55 public function saveTermData($termId): void
56 {
57 $this->saveObjectData($this->getTermObjectType($termId), $termId);
58 }
59
60 public function removeTermData(int|string|null $termId): void
61 {
62 $this->removeObjectData(ObjectHandler::GENERAL_TERM_OBJECT_TYPE, $termId);
63 }
64 }
65