Пример #1
0
 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;
 }