* Adjust copyPackageFiles model function to zen.
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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.
|
||||
*
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user