コード例 #1
0
ファイル: main.php プロジェクト: wenerme/tellets-php
 if (!$setting['enable']) {
     return;
 }
 $cache_dir = CACHE_DIR . DIRECTORY_SEPARATOR . 'github_repo';
 try_mkdir($cache_dir);
 Hook::AddHook(Hook::FIND_POST_LIST, function (&$list) use($setting, $cache_dir) {
     $files = array();
     if (isset($setting['repos'])) {
         foreach ($setting['repos'] as $repostring) {
             $repo = new Repo($repostring);
             $helper = new RepoHelper($repo);
             $helper->setFileCacheDir($cache_dir);
             try {
                 $tree = $helper->getTreeInPath();
                 $tree = array_filter($tree, function ($item) {
                     return $item['type'] === 'blob' && ParserFactory::CanParse($item['path']);
                 });
                 $files = array_merge($files, $helper->getAllLocalBlob($tree));
             } catch (GitHubException $ex) {
                 throw $ex;
             }
         }
     }
     $list = array_merge($list, $files);
     // 删除其余文件
     $all = glob($cache_dir . DIRECTORY_SEPARATOR . '*');
     $remove = array_diff($all, $files);
     array_walk($remove, function ($fn) {
         unlink($fn);
     });
     //var_dump($files,$all,$remove);