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