public function fetch_by_id($id) { $value = self::fetch($id); $cloud = DB::fetch_first("select * from " . DB::table('connect') . " where bz='{$value['bz']}'"); $data = array('id' => $value['id'], 'fid' => md5($cloud['bz'] . ':' . $value['id'] . ':' . $cloud['root']), 'pfid' => 0, 'fname' => $value['cloudname'], 'ficon' => 'dzz/images/default/system/' . $cloud['bz'] . '.png', 'bz' => $cloud['bz'] . ':' . $value['id'] . ':', 'path' => $cloud['bz'] . ':' . $value['id'] . ':' . $cloud['root'], 'type' => 'ftp', 'fsperm' => perm_FolderSPerm::flagPower($cloud['bz']), 'perm' => perm_binPerm::getGroupPower('all'), 'flag' => $cloud['bz'], 'iconview' => 1, 'disp' => '0'); return $data; }
public function fetch_by_id($id) { $value = self::fetch($id); $cloud = DB::fetch_first("select * from " . DB::table('connect') . " where bz='{$value['bz']}'"); $value['access_id'] = authcode($value['access_id'], 'DECODE', $value['bz']) ? authcode($value['access_id'], 'DECODE', $value['bz']) : $value['access_id']; if (!$value['cloudname']) { $value['cloudname'] = $cloud['name'] . ':' . ($value['bucket'] ? $value['bucket'] : cutstr($value['access_id'], 4, '')); } if ($value['bucket']) { $value['bucket'] .= '/'; } $data = array('id' => $value['id'], 'fid' => md5($cloud['bz'] . ':' . $value['id'] . ':' . $value['bucket']), 'pfid' => 0, 'fname' => $value['cloudname'], 'ficon' => 'dzz/images/default/system/' . $cloud['bz'] . '.png', 'bz' => $cloud['bz'] . ':' . $value['id'] . ':', 'path' => $cloud['bz'] . ':' . $value['id'] . ':' . $value['bucket'], 'type' => 'storage', 'fsperm' => $value['bucket'] ? '0' : perm_FolderSPerm::flagPower($cloud['bz'] . '_root'), 'perm' => perm_binPerm::getGroupPower('all'), 'flag' => $cloud['bz'], 'iconview' => 1, 'disp' => '0'); return $data; }
public function setFolderByOrgid($orgid) { if (!($org = parent::fetch($orgid))) { return false; } if (!$org['available']) { return; } if ($org['forgid'] == 0) { $pfid = 0; } else { $toporgid = self::getTopOrgid($orgid); $pfid = DB::result_first("select fid from " . DB::table($this->_table) . " where orgid='{$toporgid}'"); } if ($fid = DB::result_first("select fid from " . DB::table('folder') . " where gid='{$orgid}' and uid='0' and flag='organization'")) { C::t('folder')->update($fid, array('fname' => $org['orgname'], 'display' => $org['disp'], 'pfid' => $pfid, 'perm' => perm_binPerm::getGroupPower('read'), 'innav' => $org['available'])); self::update($orgid, array('fid' => $fid)); } else { $folder = array('fname' => $org['orgname'], 'pfid' => $pfid, 'display' => $org['disp'], 'flag' => 'organization', 'gid' => $org['orgid'], 'innav' => $org['available'], 'perm' => perm_binPerm::getGroupPower('read')); $fid = C::t('folder')->insert($folder, true); } if ($fid) { return self::update($org['orgid'], array('fid' => $fid)); } return false; }
$value1['bucket'] .= '/'; } $value1['icoid'] = md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket']); $value1['img'] = 'dzz/images/default/system/' . $value['bz'] . '.png'; $mycloud[] = $value1; $icosdata[md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket'])] = array('icoid' => md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket']), 'name' => $value1['cloudname'], 'img' => 'dzz/images/default/system/' . $value['bz'] . '.png', 'bz' => $value['bz'] . ':' . $value1['id'] . ':', 'path' => $value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket'], 'type' => 'storage', 'oid' => md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket'])); $folderdata[md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket'])] = array('fid' => md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket']), 'pfid' => 0, 'fname' => $value1['cloudname'], 'icon' => 'dzz/images/default/system/' . $value['bz'] . '.png', 'bz' => $value['bz'] . ':' . $value1['id'] . ':', 'path' => $value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket'], 'type' => 'storage', 'fsperm' => $value1['bucket'] ? '0' : perm_FolderSPerm::flagPower($value['bz'] . '_root'), 'perm' => perm_binPerm::getGroupPower('all')); } } elseif ($value['type'] == 'ftp') { foreach (DB::fetch_all("select id,bz,cloudname,dateline from " . DB::table($value['dname']) . " where bz='{$value[bz]}' and uid='{$_G[uid]}'") as $value1) { $value1['bz'] = $value['bz']; $value1['icoid'] = md5($value['bz'] . ':' . $value1['id'] . ':'); $value1['img'] = 'dzz/images/default/system/' . $value['bz'] . '.png'; $mycloud[] = $value1; $icosdata[md5($value['bz'] . ':' . $value1['id'] . ':')] = array('icoid' => md5($value['bz'] . ':' . $value1['id'] . ':' . $value1['bucket']), 'name' => $value1['cloudname'], 'img' => 'dzz/images/default/system/' . $value['bz'] . '.png', 'bz' => $value['bz'] . ':' . $value1['id'] . ':', 'path' => $value['bz'] . ':' . $value1['id'] . ':', 'type' => 'ftp', 'oid' => md5($value['bz'] . ':' . $value1['id'] . ':')); $folderdata[md5($value['bz'] . ':' . $value1['id'] . ':')] = array('fid' => md5($value['bz'] . ':' . $value1['id'] . ':'), 'pfid' => 0, 'fname' => $value1['cloudname'], 'icon' => 'dzz/images/default/system/' . $value['bz'] . '.png', 'bz' => $value['bz'] . ':' . $value1['id'] . ':', 'path' => $value['bz'] . ':' . $value1['id'] . ':', 'type' => 'ftp', 'fsperm' => perm_FolderSPerm::flagPower($value['bz']), 'perm' => perm_binPerm::getGroupPower('all')); } } } //按创建时间排序时间排序 function sortcloud($a, $b) { if ($a['dateline'] == $b['dateline']) { return 0; } return $a['dateline'] > $b['dateline'] ? -1 : 1; } usort($mycloud, "sortcloud"); $icosdata_json = json_encode($icosdata); $folderdata_json = json_encode($folderdata); include template("connect_index");
function getPerm1($fid, $bz = '', $i = 0) { global $_G; $i++; if ($i > 20) { //防死循环,如果循环20次以上,直接退出; return false; } if ($folder = C::t('folder')->fetch($fid)) { if ($folder['gid']) { $perm = intval($folder['perm']); $power = new perm_binPerm($perm); if ($power->isPower('flag')) { //不继承,使用此权限 return $perm; } else { //继承上级,查找上级 if ($folder['pfid'] > 0 && $folder['pfid'] != $folder['fid']) { //有上级目录 return self::getPerm1($folder['pfid'], $bz, $i); } else { //其他的情况使用 return perm_binPerm::getGroupPower('read'); } } } else { return self::getuserPerm(); } } else { return 3; } }