To clarify menu security, here's a simple example:
Suppose we have 4 users with the following levels and flags:
┌──────────────────────┬───────┬─────────┐ │ Name │ Level │ Flags │ │----------------------│-------│---------│ │ Pete │ 10 │ Z │ │ Jerry │ 100 │ P │ │ Al │ 100 │ R │ │ Charlie │ 200 │ P & R │ └──────────────────────┴───────┴─────────┘
Let's define a menu with textlines only:
┌───────────────────────┬───────┬────────┐ │ Text │ Level │ Flags │ │-----------------------│-------│--------│ │ Good morning; │ 10 │ │ │ ,; │ 50 │ │ │ Jerry │ 100 │ P │ │ and; │ 150 │ │ │ Al; │ 100 │ R │ │ send their best wishes│ 200 │ P & R │ │ . │ 300 │ │ │ :-) │ 10 │ X │ └───────────────────────┴───────┴────────┘
This would give the following result when the menu is displayed:
┌─────────────────┬─────────────────────────────────┐ │ Pete │ Good morning │ ╞═════════════════╪═════════════════════════════════╡ │ Jerry │ Good morning,Jerry │ ╞═════════════════╪═════════════════════════════════╡ │ Al │ Good morning,Al │ ╞═════════════════╪═════════════════════════════════╡ │ Charlie │ Good morning, Jerry │ │ │ and Al send their best wishes │ └─────────────────┴─────────────────────────────────┘
The last 2 lines of the menu will NEVER be displayed, because none of the 4 users have the required level AND flags.