Example #1
0
 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;
 }
Example #4
0
                $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");
Example #5
0
 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;
     }
 }