* Adjust copyPackageFiles model function to zen.

This commit is contained in:
wangyuting
2023-12-07 17:08:37 +08:00
parent 1f0184a8d8
commit 6eafbf453e
3 changed files with 32 additions and 32 deletions
+1 -1
View File
@@ -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;
-30
View File
@@ -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.
*
+31 -1
View File
@@ -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;
}
}