function attachfile_check_download_permission_plugin($target_id) { //$mydirname , $module_dirname , $mytrustdirname , $targettrustdirname // emulate d3diary $mytrustdirname = $this->target_trustdirname; $mytrustdirpath = XOOPS_TRUST_PATH . '/modules/' . $mytrustdirname; $mydirname = $this->target_dirname; include_once $mytrustdirpath . '/class/diary.class.php'; include_once $mytrustdirpath . '/class/category.class.php'; include_once $mytrustdirpath . '/class/d3diaryConf.class.php'; $diary = new D3diaryDiary(); $cat = new D3diaryCategory(); $diary->bid = $target_id; $diary->readdb($mydirname); if (empty($diary->uid)) { return false; } $d3dConf =& D3diaryConf::getInstance($mydirname, (int) $diary->uid, "attachfile"); $d3dConf->mPerm->get_allowed_openarea(); $uid = $d3dConf->uid; $cat->uid = $diary->uid; $cat->cid = $cid = $diary->cid; $cat->getchildren($mydirname); $_tmp_isfriend = $d3dConf->mPerm->check_is_friend($diary->uid); $_tmp_isfriend2 = $d3dConf->mPerm->check_is_friend2($diary->uid); $_tmp_op = intval($d3dConf->dcfg->openarea); list($_got_op, $_slctd_op, $_tmp_gperms, $_tmp_pperms) = $d3dConf->mPerm->override_openarea($_tmp_op, intval($diary->openarea), intval($cat->openarea), $diary->vgids, $diary->vpids, $cat->vgids, $cat->vpids); $yd_data['openarea'] = $_got_op; // var_dump($_tmp_gperms); var_dump($_tmp_pperms); $yd_data['can_disp'] = $d3dConf->mPerm->can_display($diary->uid, $_got_op, $diary->create_time, $_tmp_isfriend, $_tmp_isfriend2, $_tmp_gperms, $_tmp_pperms); return $yd_data['can_disp']; }