コード例 #1
0
ファイル: ecrflib.php プロジェクト: uhtoff/eCRF
 public function checkPageLogin($page)
 {
     // Takes requested page, ensures it exists and ensures privilege to access it
     $checkPage = NULL;
     // If database offline then auto logout
     if ($this->isOffline() && $this->getUser() && $this->user->getPrivilege() != 1) {
         $page = 'logout';
     }
     if ($page == 'logout') {
         // Special case for logout
         if ($this->getUser()) {
             $this->user->logout();
             unset($this->user);
             $checkPage = $page;
         }
     } else {
         $sql = "SELECT id, privilege_id FROM pages WHERE name = ? AND active = 1";
         // Get required privilege for page
         $pA = array('s', $page);
         $result = DB::query($sql, $pA);
         if ($result->getRows()) {
             $rp = $result->privilege_id;
             if (isset($this->user)) {
                 if ($rp == 100) {
                     // 100 privilege pages only available when not logged on
                     $checkPage = NULL;
                 } else {
                     if ($this->user->getPrivilege() <= $rp) {
                         $checkPage = $page;
                     }
                 }
             } else {
                 if ($rp == 100) {
                     $checkPage = $page;
                 }
             }
             $showPage = $this->parseBranches($result->id);
             if (!$showPage) {
                 $checkPage = NULL;
             }
         }
     }
     return $checkPage;
 }