Example #1
0
 public function fetch_by_fid($fid)
 {
     //返回一条数据同时加载附件表数据
     global $_G;
     $fid = intval($fid);
     if (!($data = self::fetch($fid))) {
         return false;
     }
     //$data['icon']=($data['ficon']?$data['ficon']:geticonfromext('','folder'));
     $data['title'] = $data['fname'];
     if ($data['flag'] == 'recycle') {
         $data['iconum'] = DB::result_first("select COUNT(*) from " . DB::table('icos') . " where isdelete>0 and uid='{$_G['uid']}'");
     } elseif ($data['uid'] < 1) {
         $data['iconum'] = DB::result_first("select COUNT(*) from " . DB::table('icos') . " where pfid='{$fid}' and uid='{$_G['uid']}' and isdelete<1");
     } else {
         $data['iconum'] = DB::result_first("select COUNT(*) from " . DB::table('icos') . " where pfid='{$fid}' and isdelete<1");
     }
     $data['perm'] = perm_check::getPerm($fid);
     $data['perm1'] = perm_check::getPerm1($fid);
     //print_r($data);
     if ($data['gid'] > 0) {
         $data['ismoderator'] = C::t('organization_admin')->ismoderator_by_uid_orgid($data['gid'], $_G['uid']);
         $permtitle = perm_binPerm::getGroupTitleByPower($data['perm1']);
         if (file_exists('dzz/images/default/system/folder-' . $permtitle['flag'] . '.png')) {
             $data['icon'] = 'dzz/images/default/system/folder-' . $permtitle['flag'] . '.png';
         } else {
             $data['icon'] = 'dzz/images/default/system/folder-read.png';
         }
     }
     $data['path'] = $data['fid'];
     $data['oid'] = $data['fid'];
     $data['bz'] = '';
     return $data;
 }
Example #2
0
         $patharr1 = array();
         while ($arr1) {
             $patharr1[] = array_pop($arr1);
         }
         $info['path'] = implode('/', $patharr1) . '/' . $icoarr['tdata']['name'];
     }
     $info['size'] = '-';
     if ($icoarr['tdata']['type'] == 'folder') {
         $info['icon'] = 'dzz/images/default/system/folder.png';
     }
     break;
 case 'folder':
     if ($icoarr['gid'] > 0 && ($pfolder = C::t('folder')->fetch_by_fid($icoarr['pfid'])) && perm_binPerm::havePower('read2', $pfolder['perm1']) && (C::t('organization_admin')->ismoderator_by_uid_orgid($icoarr['gid'], $_G['uid']) || $_G['adminid'] == 1)) {
         $folder = C::t('folder')->fetch($icoarr['oid']);
         $ismoderator = 1;
         $permtitle = perm_binPerm::getGroupTitleByPower($icoarr['perm1']);
         $permarr = perm_binPerm::groupPowerPack();
     }
     $info['icon'] = $icoarr['img'] ? $icoarr['img'] : 'dzz/images/default/system/folder.png';
     $contains = getContainsByFid($icoarr['oid']);
     $info['size'] = lang('template', 'property_info_size', array('fsize' => formatsize($contains['size']), 'size' => $contains['size']));
     $info['contain'] = lang('template', 'property_info_contain', array('filenum' => $contains['contain'][0], 'foldernum' => $contains['contain'][1]));
     break;
 case 'dzzdoc':
     $info['path'] = implode('/', $patharr) . '/' . $icoarr['name'];
     $info['size'] = lang('template', 'property_info_size', array('fsize' => formatsize($icoarr['size']), 'size' => $icoarr['size']));
     break;
 case 'link':
     $info['path'] = implode('/', $patharr) . '/' . $icoarr['name'];
     $info['size'] = '-';
     break;
Example #3
0
 public function CreateFolder($pfid, $fname, $perm, $ondup = 'newcopy')
 {
     global $_G, $_GET;
     $fname = self::name_filter($fname);
     if (!($folder = DB::fetch_first("select fid,pfid,iconview,disp,gid from %t where fid=%d", array('folder', $pfid)))) {
         return array('error' => '父目录不存在');
     }
     if (!perm_check::checkperm_Container($pfid, 'folder')) {
         return array('error' => lang('message', 'no_privilege'));
     }
     if ($ondup == 'overwrite' && ($icoid = self::getRepeatIDByName($fname, $pfid, true))) {
         //如果目录下有同名目录
         $data = array();
         $data['icoarr'] = C::t('icos')->fetch_by_icoid($icoid);
         $data['folderarr'] = self::getFolderByIcosdata($data['icoarr']);
         return $data;
     } else {
         $fname = self::getFolderName($fname, $pfid);
     }
     //重命名
     $setarr = array('fname' => $fname, 'uid' => $_G['uid'], 'username' => $_G['username'], 'pfid' => $folder['fid'], 'iconview' => $folder['iconview'], 'disp' => $folder['disp'], 'perm' => $perm, 'flag' => 'folder', 'dateline' => $_G['timestamp'], 'gid' => $folder['gid']);
     if ($setarr['fid'] = C::t('folder')->insert($setarr, true)) {
         $setarr['path'] = $setarr['fid'];
         $setarr['perm'] = perm_check::getPerm($setarr['fid']);
         $setarr['perm1'] = perm_check::getPerm1($setarr['fid']);
         $setarr['title'] = $setarr['fname'];
         $setarr['ext'] = '';
         $setarr['size'] = 0;
         $setarr1 = array('uid' => $_G['uid'], 'username' => $_G['username'], 'oid' => $setarr['fid'], 'name' => $setarr['fname'], 'type' => 'folder', 'flag' => '', 'dateline' => $_G['timestamp'], 'pfid' => $folder['fid'], 'gid' => $folder['gid'], 'ext' => '', 'size' => 0);
         if ($setarr1['icoid'] = DB::insert('icos', $setarr1, 1)) {
             $setarr1['path'] = $setarr1['icoid'];
             $setarr1['dpath'] = dzzencode($setarr1['icoid']);
             $setarr1['bz'] = '';
             addtoconfig($setarr1);
             $setarr1['fsize'] = formatsize($setarr1['size']);
             $setarr1['ftype'] = getFileTypeName($setarr1['type'], $setarr1['ext']);
             $setarr1['fdateline'] = dgmdate($setarr1['dateline']);
             if ($setarr['gid']) {
                 $permtitle = perm_binPerm::getGroupTitleByPower($setarr['perm1']);
                 if (file_exists('dzz/images/default/system/folder-' . $permtitle['flag'] . '.png')) {
                     $setarr['icon'] = $setarr1['img'] = 'dzz/images/default/system/folder-' . $permtitle['flag'] . '.png';
                 } else {
                     $setarr['icon'] = $setarr1['img'] = 'dzz/images/default/system/folder-read.png';
                 }
             }
             return array('icoarr' => $setarr1, 'folderarr' => $setarr);
         }
     }
     return false;
 }