Browse Source

Added missing beforeCopy option to FileHelper::copyDirectory

It was mentioned in AssetManager::publish phpdoc.
tags/2.0.0-beta
Alexander Makarov 11 years ago
parent
commit
40629ca49b
  1. 8
      framework/yii/helpers/BaseFileHelper.php

8
framework/yii/helpers/BaseFileHelper.php

@ -155,6 +155,11 @@ class BaseFileHelper
* and '.svn/' matches directory paths ending with '.svn'. Note, the '/' characters in a pattern matches * and '.svn/' matches directory paths ending with '.svn'. Note, the '/' characters in a pattern matches
* both '/' and '\' in the paths. * both '/' and '\' in the paths.
* - recursive: boolean, whether the files under the subdirectories should also be copied. Defaults to true. * - recursive: boolean, whether the files under the subdirectories should also be copied. Defaults to true.
* - beforeCopy: callback, a PHP callback that is called before copying each sub-directory or file.
* This option is used only when publishing a directory. If the callback returns false, the copy
* operation for the sub-directory or file will be cancelled.
* The signature of the callback should be: `function ($from, $to)`, where `$from` is the sub-directory or
* file to be copied from, while `$to` is the copy target.
* - afterCopy: callback, a PHP callback that is called after each sub-directory or file is successfully copied. * - afterCopy: callback, a PHP callback that is called after each sub-directory or file is successfully copied.
* The signature of the callback should be: `function ($from, $to)`, where `$from` is the sub-directory or * The signature of the callback should be: `function ($from, $to)`, where `$from` is the sub-directory or
* file copied from, while `$to` is the copy target. * file copied from, while `$to` is the copy target.
@ -173,6 +178,9 @@ class BaseFileHelper
$from = $src . DIRECTORY_SEPARATOR . $file; $from = $src . DIRECTORY_SEPARATOR . $file;
$to = $dst . DIRECTORY_SEPARATOR . $file; $to = $dst . DIRECTORY_SEPARATOR . $file;
if (static::filterPath($from, $options)) { if (static::filterPath($from, $options)) {
if (isset($options['beforeCopy'])) {
call_user_func($options['beforeCopy'], $from, $to);
}
if (is_file($from)) { if (is_file($from)) {
copy($from, $to); copy($from, $to);
if (isset($options['fileMode'])) { if (isset($options['fileMode'])) {

Loading…
Cancel
Save