diff --git a/module/extension/control.php b/module/extension/control.php index a970974539..20e987df9e 100644 --- a/module/extension/control.php +++ b/module/extension/control.php @@ -235,7 +235,7 @@ class extension extends control } $this->extension->togglePackageDisable($extension, 'active'); - $this->extension->copyPackageFiles($extension); + $this->extensionZen->copyPackageFiles($extension); $this->extension->updateExtension($extension, array('status' => 'installed')); $this->view->title = $this->lang->extension->activateFinished; diff --git a/module/extension/model.php b/module/extension/model.php index 8166e3b10f..013ec31ecd 100644 --- a/module/extension/model.php +++ b/module/extension/model.php @@ -397,36 +397,6 @@ class extensionModel extends model return false; } - /** - * Copy package files. - * - * @param int $extension - * @access public - * @return array - */ - public function copyPackageFiles($extension) - { - $appRoot = $this->app->getAppRoot(); - $extensionDir = $this->pkgRoot . $extension . DS; - $paths = scandir($extensionDir); - $copiedFiles = array(); - - foreach($paths as $path) - { - if($path == 'db' or $path == 'doc' or $path == 'hook' or $path == '..' or $path == '.') continue; - - $result = $this->classFile->copyDir($extensionDir . $path, $appRoot . $path, true); - $copiedFiles = zget($result, 'copiedFiles', array()); - } - - foreach($copiedFiles as $key => $copiedFile) - { - $copiedFiles[$copiedFile] = md5_file($copiedFile); - unset($copiedFiles[$key]); - } - return $copiedFiles; - } - /** * Remove an extension. * diff --git a/module/extension/zen.php b/module/extension/zen.php index 60afd34d1f..daec303eeb 100644 --- a/module/extension/zen.php +++ b/module/extension/zen.php @@ -244,7 +244,7 @@ class extensionZen extends extension $this->extension->saveExtension($extension, $type); /* Copy files to target directory. */ - $this->view->files = $this->extension->copyPackageFiles($extension); + $this->view->files = $this->copyPackageFiles($extension); /* Judge need execute db install or not. */ $data = new stdclass(); @@ -457,4 +457,34 @@ class extensionZen extends extension return $return; } + + /** + * 复制插件包文件到禅道目录。 + * Copy package files. + * + * @param string $extension + * @access public + * @return array + */ + public function copyPackageFiles(string $extension): array + { + $appRoot = $this->app->getAppRoot(); + $extensionDir = $this->extension->pkgRoot . $extension . DS; + $paths = scandir($extensionDir); + $copiedFiles = array(); + foreach($paths as $path) + { + if($path == 'db' || $path == 'doc' || $path == 'hook' || $path == '..' || $path == '.') continue; + + $result = $this->extension->classFile->copyDir($extensionDir . $path, $appRoot . $path, true); + $copiedFiles = zget($result, 'copiedFiles', array()); + } + + foreach($copiedFiles as $key => $copiedFile) + { + $copiedFiles[$copiedFile] = md5_file($copiedFile); + unset($copiedFiles[$key]); + } + return $copiedFiles; + } }