<?php
defined('VSIGN') or die('Sorry, you are not allowed to directly access this page.<br /> Please press the back button in your browser.');

class PermissionManager
{
    private $db;
    private $user;
    
    public $ownerId;

    public $view;
    public $edit;
    public $del;
    public $modifyPermissions;

    /**
     * Constructs the Module Manager.
     * @return
     * @param $db Object
     * @param $user Object
     */
    public function __construct(database $db, User $user)
    {
        $this->db       =& $db;
        $this->user 	=& $user;

        $this->view = false;
        $this->edit = false;
        $this->del = false;
        $this->modifyPermissions = false;
    }

    public function Evaluate($ownerId, $view, $edit, $del)
    {
        $user =& $this->user;

        $this->ownerId = $ownerId;
        $this->view = $view;
        $this->edit = $edit;
        $this->del = $del;

        // Basic checks first
        if ($this->user->usertypeid == 1 || $ownerId == $user->userid)
        {
            // Super admin or owner, therefore permission granted to everything
            $this->FullAccess();
        }
        else if ($this->user->usertypeid == 2 && $this->view == 1)
        {
            // Group Admin and we have view permissions (i.e. this group is assigned to this item)
            $this->view = true;
            $this->edit = true;
            $this->del = true;
        }
    }

    public function FullAccess()
    {
        $this->view = true;
        $this->edit = true;
        $this->del = true;
        $this->modifyPermissions = true;
    }
}