public function permDeleteFiles($fileId)
 {
     $this->load->helper('file');
     $userPermObj = new User_Perms_Model($this->session->id);
     if (!$userPermObj->userObj->isRoot()) {
         $error = array('status' => 'error', 'msg' => 'You do not have permission to delete this file');
         return json_encode($error);
         exit;
     }
     // all ok, proceed!
     if (isset($fileId)) {
         if ($userPermObj->canAdmin($fileId)) {
             $fileObj = new Document_Model($fileId);
             $location = $fileObj->getLocation();
             // delete from db
             $data = array('id' => $fileId);
             $this->db->delete('documents', $data);
             $this->db->delete('log', $data);
             $data = array('fid' => $fileId);
             $this->db->delete('dept_perms', $data);
             $this->db->delete('user_perms', $data);
             $realName = $fileObj->getBaseName();
             $ext = $fileObj->getExt();
             if (is_file($this->config->item('archiveDir') . $location)) {
                 unlink($this->config->item('archiveDir') . $location);
             }
             if (is_file($this->config->item('dataDir') . 'pdf/' . $realName . '.pdf')) {
                 unlink($this->config->item('dataDir') . 'pdf/' . $realName . '.pdf');
             }
             if (is_file($this->config->item('dataDir') . 'thumbnails/' . $realName . '.png')) {
                 unlink($this->config->item('dataDir') . 'thumbnails/' . $realName . '.png');
             }
             if ($ext == 'docx') {
                 if (is_file($this->config->item('archiveDir') . $realName . '.odt')) {
                     unlink($this->config->item('archiveDir') . $realName . '.odt');
                 }
                 if (is_file($this->config->item('archiveDir') . $realName . '.html')) {
                     unlink($this->config->item('archiveDir') . $realName . '.html');
                 }
             }
             if (is_dir($this->config->item('revisionDir') . $fileId . '/')) {
                 delete_files($this->config->item('revisionDir') . $fileId . '/', true);
             }
             return true;
         }
     }
     return false;
 }