xref: /plugin/structpublish/meta/Constants.php (revision 3b7236c08546ad2466b27f6420b2c08c99bd0d07)
1e31c94d7SAndreas Gohr<?php
2e31c94d7SAndreas Gohr
3e31c94d7SAndreas Gohrnamespace dokuwiki\plugin\structpublish\meta;
4e31c94d7SAndreas Gohr
5e31c94d7SAndreas Gohr/**
6e31c94d7SAndreas Gohr * Defines some constants used throughout the plugin
7e31c94d7SAndreas Gohr *
8e31c94d7SAndreas Gohr * @todo this might need to be replaced later if we want to have user configurable status
9e31c94d7SAndreas Gohr */
108b0ba635SAndreas Gohrclass Constants
118b0ba635SAndreas Gohr{
12e31c94d7SAndreas Gohr    // a page can be in one current status
13e31c94d7SAndreas Gohr    const STATUS_DRAFT = 'draft';
14e31c94d7SAndreas Gohr    const STATUS_APPROVED = 'approved';
15e31c94d7SAndreas Gohr    const STATUS_PUBLISHED = 'published';
16e31c94d7SAndreas Gohr
17*3b7236c0SAnna Dabrowska    // an action transitions a page from one status to another
18e31c94d7SAndreas Gohr    const ACTION_APPROVE = 'approve';
19e31c94d7SAndreas Gohr    const ACTION_PUBLISH = 'publish';
20*3b7236c0SAnna Dabrowska
21*3b7236c0SAnna Dabrowska
22*3b7236c0SAnna Dabrowska    /**
23*3b7236c0SAnna Dabrowska     * Convenience function mapping transition actions to resulting status
24*3b7236c0SAnna Dabrowska     *
25*3b7236c0SAnna Dabrowska     * @param string $action
26*3b7236c0SAnna Dabrowska     * @return string
27*3b7236c0SAnna Dabrowska     */
28*3b7236c0SAnna Dabrowska    public static function transitionBy($action)
29*3b7236c0SAnna Dabrowska    {
30*3b7236c0SAnna Dabrowska        $map = [
31*3b7236c0SAnna Dabrowska            self::ACTION_APPROVE => self::STATUS_APPROVED,
32*3b7236c0SAnna Dabrowska            self::ACTION_PUBLISH => self::STATUS_PUBLISHED,
33*3b7236c0SAnna Dabrowska        ];
34*3b7236c0SAnna Dabrowska
35*3b7236c0SAnna Dabrowska        return $map[$action];
36*3b7236c0SAnna Dabrowska    }
37e31c94d7SAndreas Gohr}
38