* code for task#808.

This commit is contained in:
chencongzhi520@gmail.com
2013-01-23 08:31:54 +00:00
parent 166560f243
commit c87180211a
9 changed files with 35 additions and 26 deletions
+7 -7
View File
@@ -171,8 +171,6 @@ class admin extends control
*/
public function clearData($confirm = '')
{
if($confirm == '') $this->display();
if($confirm == 'no')
{
die(js::confirm($this->lang->admin->confirmClearData, inlink('clearData', "confirm=yes")));
@@ -180,12 +178,14 @@ class admin extends control
elseif($confirm == 'yes')
{
$result = $this->admin->clearData();
if($result)
{
die(js::alert($this->lang->admin->clearDataSucceed));
}
die(js::alert($this->lang->admin->clearDataFailed));
if(!$result) die(js::alert($this->lang->admin->clearDataFailed));
js::alert($this->lang->admin->clearDataSucceed);
die(js::locate(inLink('index'), 'parent'));
}
$this->display();
}
/**
+8
View File
@@ -0,0 +1,8 @@
function showClearButton()
{
if($('#sure').val() == 'yes')
{
$('#submit').removeClass('hidden');
$('.a-center span').addClass('hidden');
}
}
+1
View File
@@ -0,0 +1 @@
$(function() { if(!showDemoUsers) $('#submenuclearData').addClass('hidden');});
+2 -2
View File
@@ -20,7 +20,7 @@ $lang->admin->welcome = '欢迎使用禅道管理软件后台管理系统';
$lang->admin->browseCompany = '浏览公司';
$lang->admin->clearData = '清除数据';
$lang->admin->confirmClearData = '您确认要清除数据吗?';
$lang->admin->confirmClearData = '您确认要清除数据吗(yes/no)?';
$lang->admin->clearDataFailed = '清除数据失败!';
$lang->admin->clearDataSucceed = '清除数据成功!';
$lang->admin->clearDataDesc = <<<EOT
@@ -28,7 +28,7 @@ $lang->admin->clearDataDesc = <<<EOT
清除数据对数据库的影响如下:
1、清除数据不会对company, group, groupPriv表进行操作。
2、如果安装的时候有导入demo数据,则会删除config表key=showDemoUsers的记录,并删除user表中的所有demo用户。
3、对于其他表则进行全部清除操作。
3、<font color='red'>对于其他表则进行全部清除操作。</font>
EOT;
$lang->admin->info = new stdclass();
+8 -16
View File
@@ -148,7 +148,8 @@ class adminModel extends model
public function clearData()
{
$result = $this->dbh->query('SHOW TABLES')->fetchAll();
$showDemoUsers = $this->dao->select('value')->from(TABLE_CONFIG)->where('`key`')->eq('showDemoUsers')->fetch();
if(!isset($this->config->global->showDemoUsers)) return false;
foreach($result as $item)
{
$table = current((array)$item);
@@ -156,24 +157,15 @@ class adminModel extends model
if(strpos($table, 'group') !== false) continue;
if(strpos($table, 'user') !== false)
{
if($showDemoUsers)
{
$this->dao->delete()->from($table)
->where('account')->in(array('productManager', 'projectManager', 'testManager', 'dev1', 'dev2', 'dev3', 'tester1', 'tester2', 'tester3'))
->exec();
if(dao::isError()) return false;
}
$deleteUsers = array('productManager', 'projectManager', 'testManager', 'dev1', 'dev2', 'dev3', 'tester1', 'tester2', 'tester3');
$this->dao->delete()->from($table)->where('account')->in($deleteUsers)->exec();
if(dao::isError()) return false;
continue;
}
if(strpos($table, 'config') !== false)
if(strpos($table, 'config') !== false)
{
if($showDemoUsers)
{
$this->dao->delete()->from($table)
->where('`key`')->eq('showDemoUsers')
->exec();
if(dao::isError()) return false;
}
$this->loadModel('setting')->deleteItems('key=showDemoUsers');
if(dao::isError()) return false;
continue;
}
if(!$this->dbh->query("TRUNCATE TABLE `$table`")) return false;
+6 -1
View File
@@ -15,7 +15,12 @@
<table align='center' class='table-5'>
<caption><?php echo $lang->admin->clearData;?></caption>
<tr><td><?php echo nl2br($lang->admin->clearDataDesc);?></td></tr>
<tr><td class='a-center'><?php echo html::submitButton($lang->admin->clearData);?></td></tr>
<tr>
<td class='a-center'>
<span><?php echo $this->lang->admin->confirmClearData . html::input('sure', '', "class='text-2' onkeyup='showClearButton()' autocomplete='off'");?></span>
<?php echo html::submitButton($lang->admin->clearData, "class='hidden'");?>
</td>
</tr>
</table>
</form>
<?php include '../../common/view/footer.html.php';?>
+1
View File
@@ -11,6 +11,7 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php $showDemoUsers = isset($this->config->global->showDemoUsers) ? true : false; js::set('showDemoUsers', $showDemoUsers);?>
<p class='strong mt-10px'>
<?php
echo sprintf($lang->admin->info->version, $config->version);
+1
View File
@@ -278,6 +278,7 @@ $lang->admin->menu->index = array('link' => 'Index|admin|index');
$lang->admin->menu->extension = array('link' => 'Extension|extension|browse', 'subModule' => 'extension');
$lang->admin->menu->editor = array('link' => 'Scaffold|editor|index', 'subModule' => 'editor');
$lang->admin->menu->mail = array('link' => 'Email|mail|index', 'subModule' => 'mail');
$lang->admin->menu->clearData = array('link' => 'Clear data|admin|cleardata');
$lang->admin->menu->convert = array('link' => 'Import|convert|index', 'subModule' => 'convert');
$lang->admin->menu->trashes = array('link' => 'Trash|action|trash', 'subModule' => 'action');
+1
View File
@@ -278,6 +278,7 @@ $lang->admin->menu->index = array('link' => '首页|admin|index');
$lang->admin->menu->extension = array('link' => '插件|extension|browse', 'subModule' => 'extension');
$lang->admin->menu->editor = array('link' => '扩展编辑器|editor|index', 'subModule' => 'editor');
$lang->admin->menu->mail = array('link' => '发信|mail|index', 'subModule' => 'mail');
$lang->admin->menu->clearData = array('link' => '清除数据|admin|cleardata');
$lang->admin->menu->convert = array('link' => '导入|convert|index', 'subModule' => 'convert');
$lang->admin->menu->trashes = array('link' => '回收站|action|trash', 'subModule' => 'action');