public function getDataByPath($path) { $data = array(); $patharr = explode(':', $path); $bzarr = C::t('connect')->fetch_all_bz(); if (in_array($patharr[0], $bzarr)) { $bz = $patharr[0]; } else { $bz = 'dzz'; } if ($bz == 'dzz') { list($idtype, $id) = explode('_', str_replace('dzz:', '', $path)); if ($idtype == 'fid') { $data = C::t('folder')->fetch_by_fid($id); $data['name'] = $data['title']; $data['oid'] = $data['fid']; $data['bz'] = ''; $data['path'] = $data['fid']; $data['topfid'] = array(); $data['type'] = 'folder'; $data['folderarr'] = IO::getFolderDatasByPath($id); foreach ($data['folderarr'] as $value) { $data['topfid'][] = $value['fid']; } } elseif ($idtype == 'icoid') { $data = C::t('icos')->fetch_by_icoid($id); if ($data['type'] == 'folder') { $data['topfid'] = array(); $data['folderarr'] = IO::getFolderDatasByPath($data['oid']); foreach ($data['folderarr'] as $value) { $data['topfid'][] = $value['fid']; } } } } else { $data = IO::getMeta($path); if ($data['type'] == 'folder') { $data['topfid'] = array(); $data['folderarr'] = IO::getFolderDatasByPath($data['path']); foreach ($data['folderarr'] as $value) { if (!empty($value['fid'])) { $data['topfid'][] = $value['fid']; } } $data['topfid'] = array_reverse($data['topfid']); } } return $data; }