I have made this fixes:
First of all, the original verify_permissions is this:
PHP Code:
abstract protected function verify_permissions($info = array());
So your verify_permissions should have the same arguments:
PHP Code:
public function verify_permissions($info = array())
{
global $show;
require_once(DIR . '/includes/functions_vbglossar.php');
$this->values['id'] = intval($this->values['id']) ? intval($this->values['id']) : intval($this->values['entryid']);
if ($this->values['id'])
{
$this->entryinfo = fetch_entryinfo($this->values['id']);
$this->contentid = $this->values['id'];
$this->userinfo = fetch_userinfo($this->entryinfo['userid']);
cache_permissions($this->userinfo);
}
else
{
if ($userid = intval($this->values['u']) AND $userinfo = fetch_userinfo($userid))
{
$this->userinfo = $userinfo;
cache_permissions($this->userinfo);
}
else
{
$this->userinfo = $this->registry->userinfo;
}
}
if (
!($this->registry->userinfo['permissions']['groupvbglossar'] & $this->registry->bf_ugp_groupvbglossar['canentervbglossar'])
OR
!($this->registry->userinfo['permissions']['groupvbglossar'] & $this->registry->bf_ugp_groupvbglossar['canviewentry'])
OR
!($this->registry->userinfo['permissions']['groupvbglossar'] & $this->registry->bf_ugp_groupvbglossar['canattachtoentry'])
)
{
// no permission to view glossar, glossar entries or attachments
return false;
}
if (
!($this->registry->userinfo['permissions']['groupvbglossar'] & $this->registry->bf_ugp_groupvbglossar['canadminvbglossar'])
AND
!$this->entryinfo['status']
)
{
// no permission to moderate and entry is moderated
return false;
}
if (!$this->entryinfo['groupshow'])
{
if (!array_intersect(fetch_membergroupids_array($this->registry->userinfo), explode(',', $this->attachmentinfo['groupshowlist'])))
{
// usergroup is not allowed to access category
return -1;
}
}
return true;
}
Now, all abstracts methods from the original class must have defined in your file. You need to define fetch_associated_contentinfo in your file:
PHP Code:
protected function fetch_associated_contentinfo($attachmentid){
return;
}
I have uploaded the new glossaryentry.php .
I don't see the Fatal error and I can browse my PMs. I think my fix is better than byalik's due to I'm not editing the attach.php original file.