获取当前上下文
@return array
558285
public static function getContext()
    {
        $coID = Coroutine::getuid();
        if(!isset(static::$context[$coID]))
        {
            throw new \RuntimeException('get context failed, current context is not found');
        }
        return static::$context[$coID];
    }
1355900
public function getFileUrl() {

		if( $this->changed ) {

			return Yii::$app->fileManager->uploadUrl . '/' . CoreProperties::DIR_TEMP . $this->directory . "/" . $this->name . "." . $this->extension;
		}
		else if( $this->id > 0 ) {

			return Yii::$app->fileManager->uploadUrl . '/' . $this->url;
		}

		return "";
	}
162957
private function dumpFiles()
    {
        $files = [];

        foreach(File::allFiles(Config::dumpPath()) as $dumpFile) {
            $files[] = $dumpFile->getRealpath();
        }

        sort($files);

        return $files;
    }
1330704
public function getLogsFromCurrentFile()
    {
        if ($this->currentFile === null) {
            return [];
        }

        if (File::size($this->currentFile) > $this->maxFileSize) {
            return;
        }

        $datePattern = '\d{4}-\d{2}-\d{2} \d{2}:\d{2}:\d{2}';
        $pattern = "/\\[$datePattern\\].*/";
        $fileContent = File::get($this->currentFile);

        preg_match_all($pattern, $fileContent, $rows);

        if (!is_array($rows) || count($rows) === 0) {
            return [];
        }

        $rows = $rows[0];
        $logs = [];

        foreach ($rows as $row) {
            preg_match(
                "/^\\[($datePattern)\\].*?(\\w+)\\."
                . '([A-Z]+): (.*?)( in .*?:[0-9]+)?$/',
                $row,
                $matches
            );

            if (!isset($matches[4])) {
                continue;
            }

            $level = Str::lower($matches[3]);

            $inFile = null;
            if (isset($matches[5])) {
                $inFile = substr($matches[5], 4);
            }

            $logs[] = (object) [
                'context' => $matches[2],
                'level' => $level,
                'levelClass' => static::$levelsClasses[$level],
                'levelImg' => static::$levelsImgs[$level],
                'date' => $matches[1],
                'text' => trim($matches[4]),
                'inFile' => $inFile,
            ];
        }

        return array_reverse($logs);
    }
1370092
public function toArray()
    {
        return [
            'fileId' => $this->file->getId(),
            'fileVersion' => $this->file->getVersion(),
            'usageType' => $this->usageType,
            'usageId' => $this->usageId,
            'status' => $this->status,
        ];
    }
1372546
public function getContents()
    {
        ob_start();

        $callback = $this->hasContext() ? $this->getClosureForContextRender() : $this->callContextRender();

        call_user_func($callback, $this->getFilename(), $this->getData()->toArray());

        return ltrim(ob_get_clean());

    }
125913
protected function getContext()
    {
        $trace = debug_backtrace();

        $file = isset($trace[2]['file'])
            ? $trace[2]['file']
            : ''
        ;

        $line = isset($trace[2]['line'])
            ? $trace[2]['line']
            : ''
        ;

        return [
            'file' => $file,
            'line' => $line,
        ];
    }
270546
public function allFiles() {
        return $this->cata(function(FSObject $obj) {
            if ($obj->isFile()) {
                return array($obj);
            }

            assert($obj instanceof FDirectory);
            $fcontents = $obj->fcontents();
            if (empty($fcontents)) {
                return $fcontents;
            }
            return call_user_func_array("array_merge", $fcontents);
        });
    }
803473
public function get_files() {
        $fs = get_file_storage();
        $files = $fs->get_area_files($this->get_context()->id, 'core_competency', 'userevidence', $this->get('id'),
            'filename', false);
        return $files;
    }
962477
public function actionFiles() {
		$sources = [];

		$currentSource = $this->getSource();

		foreach ($this->config->sources as $key => $source) {
			if ($this->request->source && $this->request->source !== 'default' && $currentSource !== $source && $this->request->path !== './') {
				continue;
			}

			if ($this->accessControl->isAllow($this->getUserRole(), $this->action, $source->getPath())) {
				$sources[$key] = $this->read($source);
			}


		}

		return [
			'sources' => $sources
		];
	}
136855
public function getSmileyFiles()
    {
        $imgfiles = [];
        $filelist = scandir(ForumEnv::get('WEB_ROOT').'assets/img/smilies');
        $filelist = Container::get('hooks')->fire('model.admin.parser.get_smiley_files.filelist', $filelist);
        foreach ($filelist as $file) {
            if (preg_match('/\.(?:png|gif|jpe?g)$/', $file)) {
                $imgfiles[] = $file;
            }
        }
        $imgfiles = Container::get('hooks')->fire('model.admin.parser.get_smiley_files.imgfiles', $imgfiles);
        return $imgfiles;
    }
313899
public static function GetFileUploadIniNameList () {
		return [
			static::FILE_UPLOADS						=> static::FILE_UPLOADS,
			static::UPLOAD_TMP_DIR						=> static::UPLOAD_TMP_DIR,
			static::UPLOAD_MAX_FILESIZE					=> static::UPLOAD_MAX_FILESIZE,
			static::MAX_FILE_UPLOADS					=> static::MAX_FILE_UPLOADS,
			static::POST_MAX_SIZE						=> static::POST_MAX_SIZE,
			static::MAX_INPUT_NESTING_LEVEL				=> static::MAX_INPUT_NESTING_LEVEL,
			static::MAX_INPUT_TIME						=> static::MAX_INPUT_TIME,
			static::MAX_INPUT_VARS						=> static::MAX_INPUT_VARS,
			static::SESSION_UPLOAD_PROGRESS_ENABLED		=> static::SESSION_UPLOAD_PROGRESS_ENABLED,
			static::SESSION_UPLOAD_PROGRESS_CLEANUP		=> static::SESSION_UPLOAD_PROGRESS_CLEANUP,
			static::SESSION_UPLOAD_PROGRESS_PREFIX		=> static::SESSION_UPLOAD_PROGRESS_PREFIX,
			static::SESSION_UPLOAD_PROGRESS_NAME		=> static::SESSION_UPLOAD_PROGRESS_NAME,
			static::SESSION_UPLOAD_PROGRESS_FREQ		=> static::SESSION_UPLOAD_PROGRESS_FREQ,
			static::SESSION_UPLOAD_PROGRESS_MIN_FREQ	=> static::SESSION_UPLOAD_PROGRESS_MIN_FREQ,
		];
	}
255078
protected function getDeltasFilesArray()
    {
        $files = [];

        $baseDir = realpath($this->dir);
        $dh = opendir($baseDir);

        if ($dh === false) {
            return $files;
        }

        $fileChangeNumberPrefix = '';
        while (($file = readdir($dh)) !== false) {
            if (preg_match('[\d+]', $file, $fileChangeNumberPrefix)) {
                $files[(int) $fileChangeNumberPrefix[0]] = $file;
            }
        }

        return $files;
    }
326915
public function getContent()
    {
        $this->load();
        $content = [];
        foreach ($this->users as $user) {
            $content[] = $user->getFileLine().PHP_EOL;
        }
        return implode('', $content);
    }
83737
public function getAllFiles()
    {
        $ext   = $this->formatter->getFileExtension();
        $files = array();
        $this->getFilesRecursive($this->path, $files, $ext);

        return $files;
    }
687199
public function toArray()
    {
        return [
            'id' => $this->id,
            'filename' => $this->filename,
            'filetype' => $this->filetype,
            'filesize' => $this->filesize,
            'tags' => $this->tags,
            'preview_url' => $this->previewUrl(),
            'url' => $this->downloadUrl()
        ];
    }
198537
public function getContainedFiles()
    {
        if ($this->isDir()) {
            $files = array();
            $basePath = rtrim($this->_realpath, DIRECTORY_SEPARATOR);
            foreach (scandir($this->_realpath) as $fileName) {
                if (!in_array($fileName, array('.','..'))) {
                    $files[] = new File($basePath.DIRECTORY_SEPARATOR.$fileName);
                }
            }

            return $files;
        }

        return false;
    }