From: Raphaël Barrois Date: Sun, 12 Sep 2010 23:42:19 +0000 (+0200) Subject: Move ProfileVisibility to a separate file. X-Git-Tag: xorg/1.0.1~202 X-Git-Url: http://git.polytechnique.org/?a=commitdiff_plain;h=3c60ccca75fa9618660061dca83c25ee263bf4a3;p=platal.git Move ProfileVisibility to a separate file. According to __autoload__ conventions. Signed-off-by: Raphaël Barrois --- diff --git a/classes/profile.php b/classes/profile.php index c26a545..d6763a4 100644 --- a/classes/profile.php +++ b/classes/profile.php @@ -19,69 +19,6 @@ * 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA * ***************************************************************************/ -class ProfileVisibility -{ - static private $v_values = array(self::VIS_PUBLIC => array(self::VIS_PUBLIC), - self::VIS_AX => array(self::VIS_AX, self::VIS_PUBLIC), - self::VIS_PRIVATE => array(self::VIS_PRIVATE, self::VIS_AX, self::VIS_PUBLIC)); - - const VIS_PUBLIC = 'public'; - const VIS_AX = 'ax'; - const VIS_PRIVATE = 'private'; - - private $level; - - public function __construct($level = null) - { - $this->setLevel($level); - } - - public function setLevel($level = self::VIS_PUBLIC) - { - if ($level != null && $level != self::VIS_PRIVATE && $level != self::VIS_AX && $level != self::VIS_PUBLIC) { - Platal::page()->kill("Invalid visibility: " . $level); - } - - // Unlogged or not allowed to view directory_ax or requesting public - // => public view - if (!S::logged() || !S::user()->checkPerms('directory_ax') || $level == self::VIS_PUBLIC) { - $level = self::VIS_PUBLIC; - // Not allowed to view directory_private or requesting ax - } else if (!S::user()->checkPerms('directory_private') || $level == self::VIS_AX) { - $level = self::VIS_AX; - } else { - $level = self::VIS_PRIVATE; - } - - if ($this->level == null || $this->level == self::VIS_PRIVATE) { - $this->level = $level; - } else if ($this->level == self::VIS_AX && $level == self::VIS_PRIVATE) { - return; - } else { - $this->level = self::VIS_PUBLIC; - } - } - - public function level() - { - if ($this->level == null) { - return self::VIS_PUBLIC; - } else { - return $this->level; - } - } - - public function levels() - { - return self::$v_values[$this->level()]; - } - - public function isVisible($visibility) - { - return in_array($visibility, $this->levels()); - } -} - class Profile { diff --git a/classes/profilevisibility.php b/classes/profilevisibility.php new file mode 100644 index 0000000..4b91fcc --- /dev/null +++ b/classes/profilevisibility.php @@ -0,0 +1,87 @@ + array(self::VIS_PUBLIC), + self::VIS_AX => array(self::VIS_AX, self::VIS_PUBLIC), + self::VIS_PRIVATE => array(self::VIS_PRIVATE, self::VIS_AX, self::VIS_PUBLIC)); + + const VIS_PUBLIC = 'public'; + const VIS_AX = 'ax'; + const VIS_PRIVATE = 'private'; + + private $level; + + public function __construct($level = null) + { + $this->setLevel($level); + } + + public function setLevel($level = self::VIS_PUBLIC) + { + if ($level != null && $level != self::VIS_PRIVATE && $level != self::VIS_AX && $level != self::VIS_PUBLIC) { + Platal::page()->kill("Invalid visibility: " . $level); + } + + // Unlogged or not allowed to view directory_ax or requesting public + // => public view + if (!S::logged() || !S::user()->checkPerms('directory_ax') || $level == self::VIS_PUBLIC) { + $level = self::VIS_PUBLIC; + // Not allowed to view directory_private or requesting ax + } else if (!S::user()->checkPerms('directory_private') || $level == self::VIS_AX) { + $level = self::VIS_AX; + } else { + $level = self::VIS_PRIVATE; + } + + if ($this->level == null || $this->level == self::VIS_PRIVATE) { + $this->level = $level; + } else if ($this->level == self::VIS_AX && $level == self::VIS_PRIVATE) { + return; + } else { + $this->level = self::VIS_PUBLIC; + } + } + + public function level() + { + if ($this->level == null) { + return self::VIS_PUBLIC; + } else { + return $this->level; + } + } + + public function levels() + { + return self::$v_values[$this->level()]; + } + + public function isVisible($visibility) + { + return in_array($visibility, $this->levels()); + } +} + + +// vim:set et sw=4 sts=4 sws=4 foldmethod=marker enc=utf-8: +?>