*
* @return array|bool
*/
- public function canUserAccessByNodeId($nid, $uid = FALSE, $langcode = 'en') {
+ public function canUserAccessByNodeId($nid, $uid = FALSE, $langcode = '') {
+ $langcode = ($langcode === '') ? \Drupal::languageManager()->getCurrentLanguage()->getId() : $langcode;
+
if (\Drupal::currentUser()->hasPermission('bypass node access')) {
return TRUE;
}
foreach ($terms as $term) {
$termInfo = Term::load($term->tid);
- if ($termInfo->get('langcode')->getLangcode() == $langcode) {
+ if ($termInfo instanceof Term && $termInfo->get('langcode')->getLangcode() == $langcode) {
$access_allowed = $this->isAccessAllowedByDatabase($term->tid, $uid, $termInfo->get('langcode')->getLangcode());
if (!$access_allowed) {
if ($singleTermRestriction) {
* @param string $langcode
* @return bool
*/
- public function isAccessAllowedByDatabase($tid, $uid = FALSE, $langcode = 'en') {
+ public function isAccessAllowedByDatabase($tid, $uid = FALSE, $langcode = '') {
+ $langcode = ($langcode === '') ? \Drupal::languageManager()->getCurrentLanguage()->getId() : $langcode;
if ($uid === FALSE || (int) $uid === 0) {
$user = \Drupal::currentUser();
*
* @return bool
*/
- public function isAnyPermissionSetForTerm($tid, $langcode = 'en') {
+ public function isAnyPermissionSetForTerm($tid, $langcode = '') {
+ $langcode = ($langcode === '') ? \Drupal::languageManager()->getCurrentLanguage()->getId() : $langcode;
+
$iUserTableResults = intval($this->database->query("SELECT COUNT(1) FROM {permissions_by_term_user} WHERE tid = :tid AND langcode = :langcode",
[':tid' => $tid, ':langcode' => $langcode])->fetchField());