Compare commits
2 Commits
zentaopms_
...
zentaopms_
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74a9d9dd1a | ||
|
|
d4e58c1d6f |
@@ -58,6 +58,7 @@ class file
|
||||
public function removeDir($dir)
|
||||
{
|
||||
$dir = realpath($dir) . '/';
|
||||
if($dir == '/') return false;
|
||||
|
||||
if(!is_writable($dir)) return false;
|
||||
if(!is_dir($dir)) return true;
|
||||
|
||||
@@ -508,7 +508,8 @@ class extensionModel extends model
|
||||
$return->error = '';
|
||||
|
||||
/* try remove pre extracted files. */
|
||||
$this->classFile->removeDir("ext/$extension");
|
||||
$extensionPath = "ext/$extension";
|
||||
if(is_dir($extensionPath)) $this->classFile->removeDir($extensionPath);
|
||||
|
||||
/* Extract files. */
|
||||
$packageFile = $this->getPackageFile($extension);
|
||||
@@ -516,7 +517,7 @@ class extensionModel extends model
|
||||
$zip = new pclzip($packageFile);
|
||||
$files = $zip->listContent();
|
||||
$removePath = $files[0]['filename'];
|
||||
if($zip->extract(PCLZIP_OPT_PATH, "ext/$extension", PCLZIP_OPT_REMOVE_PATH, $removePath) == 0)
|
||||
if($zip->extract(PCLZIP_OPT_PATH, $extensionPath, PCLZIP_OPT_REMOVE_PATH, $removePath) == 0)
|
||||
{
|
||||
$return->result = 'fail';
|
||||
$return->error = $zip->errorInfo(true);
|
||||
@@ -636,7 +637,7 @@ class extensionModel extends model
|
||||
|
||||
/* Remove the extracted files. */
|
||||
$extractedDir = realpath("ext/$extension");
|
||||
if(!$this->classFile->removeDir($extractedDir))
|
||||
if($extractedDir != '/' and !$this->classFile->removeDir($extractedDir))
|
||||
{
|
||||
$removeCommands[] = PHP_OS == 'Linux' ? "rm -fr $extractedDir" : "rmdir $extractedDir /s";
|
||||
}
|
||||
|
||||
@@ -1012,10 +1012,9 @@ class project extends control
|
||||
$members = $this->project->getTeamMembers($projectID);
|
||||
|
||||
/* The deleted members. */
|
||||
foreach($members as $member)
|
||||
foreach($members as $account => $member)
|
||||
{
|
||||
if(!@$users[$member->account]) $member->account .= $this->lang->user->deleted;
|
||||
if(isset($users[$member->account])) $member->account = substr($users[$member->account], 2);
|
||||
}
|
||||
|
||||
/* Set menu. */
|
||||
|
||||
@@ -791,6 +791,7 @@ class projectModel extends model
|
||||
{
|
||||
extract($_POST);
|
||||
|
||||
$accounts = array_unique($accounts);
|
||||
foreach($accounts as $key => $account)
|
||||
{
|
||||
if(empty($account)) continue;
|
||||
@@ -1027,11 +1028,13 @@ class projectModel extends model
|
||||
*/
|
||||
public function getResolvedBugs($projectID)
|
||||
{
|
||||
$project = $this->getById($projectID);
|
||||
$project = $this->getById($projectID);
|
||||
$products = $this->dao->select('product')->from(TABLE_PROJECTPRODUCT)->where('project')->eq($projectID)->fetchPairs('product');
|
||||
return $this->dao->select('id, title, status')->from(TABLE_BUG)
|
||||
->where('status')->eq('resolved')
|
||||
->andWhere('resolvedDate')->ge($project->begin)
|
||||
->andWhere('resolution')->eq('fixed')
|
||||
->andWhere('product')->in($products)
|
||||
->fetchAll();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -21,9 +21,11 @@
|
||||
<th><?php echo $lang->team->hours;?></th>
|
||||
</tr>
|
||||
<?php foreach($members as $key => $member):?>
|
||||
<?php $realname = substr($users[$member->account], 2);?>
|
||||
<?php unset($users[$member->account]);?>
|
||||
<tr>
|
||||
<td><input type='text' name='accounts[]' id='account<?php echo $key;?>' value='<?php echo $member->account;?>' readonly class='text-2' /></td>
|
||||
<td><input type='text' name='realnames[]' id='account<?php echo $key;?>' value='<?php echo $realname;?>' readonly class='text-2' /></td>
|
||||
<td class='hidden'><input type='text' name='accounts[]' id='account<?php echo $key;?>' value='<?php echo $member->account;?>' readonly class='text-2' /></td>
|
||||
<td><input type='text' name='roles[]' id='role<?php echo $key;?>' value='<?php echo $member->role;?>' class='text-2' /></td>
|
||||
<td><input type='text' name='days[] ' id='days<?php echo $key;?>' value='<?php echo $member->days;?>' class='text-2' /></td>
|
||||
<td>
|
||||
|
||||
@@ -153,7 +153,7 @@ class storyModel extends model
|
||||
$bug->closedBy = $this->app->user->account;
|
||||
$bug->closedDate = $now;
|
||||
$bug->assignedTo = 'closed';
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->exec();
|
||||
$this->dao->update(TABLE_BUG)->data($bug)->where('id')->eq($bugID)->exec();
|
||||
|
||||
$this->loadModel('action')->create('bug', $bugID, 'ToStory', '', $storyID);
|
||||
$this->action->create('bug', $bugID, 'Closed');
|
||||
@@ -178,6 +178,7 @@ class storyModel extends model
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
/**
|
||||
* Create a batch stories.
|
||||
*
|
||||
|
||||
Reference in New Issue
Block a user