From feb00fc1f67c836883c9084e84cf6b5ffff1ea27 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Tue, 29 Oct 2013 05:37:43 +0000 Subject: [PATCH 01/48] * adjust qrCode. --- module/misc/control.php | 4 ++-- module/misc/lang/en.php | 2 +- module/misc/lang/zh-cn.php | 2 +- 3 files changed, 4 insertions(+), 4 deletions(-) diff --git a/module/misc/control.php b/module/misc/control.php index 202fcd4b37..eb2db80c70 100644 --- a/module/misc/control.php +++ b/module/misc/control.php @@ -129,10 +129,10 @@ class misc extends control public function qrCode() { $loginAPI = common::getSysURL() . $this->config->webRoot; - if($this->loadModel('user')->isLogon()) $loginAPI .= "?sid=" . session_ID(); + if($this->loadModel('user')->isLogon()) $withSessionLoginAPI = $loginAPI . "?sid=" . session_ID(); if(!extension_loaded('gd')) die(printf($this->lang->misc->noGDLib, $loginAPI)); $ciqrcode = $this->app->loadClass('qrcode'); - QRcode::png($loginAPI, false, 4, 9); + QRcode::png($withSessionLoginAPI, false, 4, 9); } } diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 0dd09b0a73..4e68be0b12 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -46,5 +46,5 @@ $lang->misc->zentao->service['install'] = 'Install service'; $lang->misc->zentao->service['fixissue'] = 'Issue support'; $lang->misc->zentao->service['servicemore']= 'More...'; -$lang->misc->noGDLib = "the entrance of mobile browser: %s."; +$lang->misc->noGDLib = "PHP don't has GD extensions. The entrance of mobile browser: %s."; $lang->misc->copyright = "Copyright ©2009-2013 Nature EasySoft Network Tecnology Co.ltd, QingDao, China"; diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index 27cd8865e8..08a0fefef6 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -46,5 +46,5 @@ $lang->misc->zentao->service['install'] = '禅道安装服务'; $lang->misc->zentao->service['fixissue'] = '禅道问题解决'; $lang->misc->zentao->service['servicemore']= '更多服务...'; -$lang->misc->noGDLib = "请用手机浏览器直接访问:%s"; +$lang->misc->noGDLib = "您的PHP没有安装GD库扩展,请用手机浏览器直接访问:%s"; $lang->misc->copyright = "版权所有 ©2009-2013 青岛易软天创网络科技有限公司"; From 0b4dca130ebb55208151408a2802577d308dadcf Mon Sep 17 00:00:00 2001 From: wyd621 Date: Tue, 29 Oct 2013 06:28:02 +0000 Subject: [PATCH 02/48] * add ajaxgetdetail to openmethod. --- module/common/model.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/common/model.php b/module/common/model.php index e809add0e7..ad5804a2d4 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -157,6 +157,7 @@ class commonModel extends model if(stripos($method, 'ajaxgetdropmenu') !== false and $this->app->user->account == 'guest') return true; if(stripos($method, 'ajaxgetmatcheditems') !== false and $this->app->user->account == 'guest') return true; + if($method == 'ajaxgetdetail' and $this->app->viewType == 'mhtml') return true; if($module == 'misc' and $method == 'qrcode') return true; if($module == 'misc' and $method == 'about') return true; if($module == 'misc' and $method == 'checkupdate') return true; From 1124c73064545ec04420f534a77db930a90c9693 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 00:02:15 +0000 Subject: [PATCH 03/48] * adjust for saveError. --- framework/router.class.php | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/framework/router.class.php b/framework/router.class.php index 755a89d0cf..8c02f4c232 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -1592,6 +1592,12 @@ class router $errorLog = "\n" . date('H:i:s') . " $message in $file on line $line "; $errorLog .= "when visiting " . $this->getURI() . "\n"; + $serverAddr = explode('.', $_SERVER['SERVER_ADDR']); + if(!($serverAddr[0] == 10 or ($serverAddr[0] == 172 and $serverAddr[1] >= 16 and $serverAddr[1] <= 131) or ($serverAddr[0] == 192 and $serverAddr[1] == '168'))) + { + $errorLog = str_replace($this->getBasePath(), '', $errorLog); + } + /* Save to log file. */ $errorFile = $this->getLogRoot() . 'php.' . date('Ymd') . '.log'; $fh = @fopen($errorFile, 'a'); From 5b7c7e48f96aaec652d80195199e6b254363e39a Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 00:02:28 +0000 Subject: [PATCH 04/48] * fix bugs. --- framework/helper.class.php | 2 +- module/misc/control.php | 2 +- module/webapp/model.php | 1 + www/index.php | 2 +- 4 files changed, 4 insertions(+), 3 deletions(-) diff --git a/framework/helper.class.php b/framework/helper.class.php index 317ad9ccba..d8f656ef64 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -481,7 +481,7 @@ class helper } } - if(strpos($config->views, ',' . $viewType . ',') === false) $viewType = $config->default->view; + if(isset($viewType) and strpos($config->views, ',' . $viewType . ',') === false) $viewType = $config->default->view; $app->viewType = isset($viewType) ? $viewType : $config->default->view; } } diff --git a/module/misc/control.php b/module/misc/control.php index eb2db80c70..25c6a9a774 100644 --- a/module/misc/control.php +++ b/module/misc/control.php @@ -129,7 +129,7 @@ class misc extends control public function qrCode() { $loginAPI = common::getSysURL() . $this->config->webRoot; - if($this->loadModel('user')->isLogon()) $withSessionLoginAPI = $loginAPI . "?sid=" . session_ID(); + $withSessionLoginAPI = $this->loadModel('user')->isLogon() ? $loginAPI . "?sid=" . session_ID() : $loginAPI; if(!extension_loaded('gd')) die(printf($this->lang->misc->noGDLib, $loginAPI)); $ciqrcode = $this->app->loadClass('qrcode'); diff --git a/module/webapp/model.php b/module/webapp/model.php index b162a21129..4258cf1ad1 100644 --- a/module/webapp/model.php +++ b/module/webapp/model.php @@ -223,6 +223,7 @@ class webappModel extends model $data = $this->getAppInfoByAPI($webappID); $webapp = $data->webapp; + $installWebapp = new stdclass(); $installWebapp->appid = $webapp->id; $installWebapp->module = $this->post->module; $installWebapp->name = $webapp->name; diff --git a/www/index.php b/www/index.php index 0b07e57f1c..f60cf290c4 100644 --- a/www/index.php +++ b/www/index.php @@ -35,7 +35,7 @@ if(!isset($config->installed) or !$config->installed) die(header('location: inst /* Detect mobile. */ $mobile = $app->loadClass('mobile'); -if(!$mobile->isTablet()) +if(!$mobile->isTablet() and $mobile->isMobile()) { $config->default->view = 'mhtml'; helper::setViewType(); From 095f18c925ad2b1c551168a15974bb912360d369 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 01:37:40 +0000 Subject: [PATCH 05/48] * fix a bug for get webRoot in shell. --- framework/helper.class.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/framework/helper.class.php b/framework/helper.class.php index d8f656ef64..d4b882c8e4 100644 --- a/framework/helper.class.php +++ b/framework/helper.class.php @@ -587,8 +587,9 @@ function getWebRoot() { $url = parse_url($_SERVER['argv'][1]); $path = empty($url['path']) ? '/' : rtrim($url['path'], '/'); - $path = empty($path) ? '/' : $path; + $path = empty($path) ? '/' : preg_replace('/\/www$/', '/www/', $path); } + return substr($path, 0, (strrpos($path, '/') + 1)); } From 16fb99d77d0b2ba8284909776588e884917ef7a0 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 02:36:01 +0000 Subject: [PATCH 06/48] * fix a bug for webapp. --- module/webapp/js/common.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/webapp/js/common.js b/module/webapp/js/common.js index e28b91ab2c..7a3a419b79 100644 --- a/module/webapp/js/common.js +++ b/module/webapp/js/common.js @@ -26,7 +26,7 @@ function toggleShowapp(webappID, webappName) height = document.documentElement.clientHeight - 110; if(url[webappID] == undefined) url[webappID] = $('#useapp' + webappID).attr('href'); $('#useapp' + webappID).attr('href', '#iframe' + webappID); - var html = "

" + webappName + "

"; + var html = "

" + webappName + "

"; $('#webapps').parent().parent().after(html); show[webappID] = true; } From a74239490523219f687286c1a3a67bd6046ae398 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 02:43:12 +0000 Subject: [PATCH 07/48] * add index.php for GET of requestType in init.sh(bat) --- bin/init.bat | 10 +++++----- bin/init.sh | 12 ++++++------ framework/router.class.php | 9 ++++++--- 3 files changed, 17 insertions(+), 14 deletions(-) diff --git a/bin/init.bat b/bin/init.bat index 8dcefe0d36..6823de9983 100644 --- a/bin/init.bat +++ b/bin/init.bat @@ -42,7 +42,7 @@ echo backup.bat ok if %requestType% == 'PATH_INFO' ( SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/report-remind" )else ( - SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/?m=report&f=remind" + SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=report&f=remind" ) echo %computeburn% > %baseDir%dailyreminder.bat echo dailyreminder.bat ok @@ -51,7 +51,7 @@ echo dailyreminder.bat ok if %requestType% == 'PATH_INFO' ( SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/project-computeburn" )else ( - SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/?m=project&f=computeburn" + SET computeburn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=project&f=computeburn" ) echo %computeburn% > %baseDir%computeburn.bat echo computeburn.bat ok @@ -60,7 +60,7 @@ echo computeburn.bat ok if %requestType% == 'PATH_INFO' ( SET checkdb= %phpcli% %baseDir%ztcli "%pmsRoot%/admin-checkdb" )else ( - SET checkdb= %phpcli% %baseDir%ztcli "%pmsRoot%/?m=admin&f=checkdb" + SET checkdb= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=admin&f=checkdb" ) echo %checkdb% > %baseDir%checkdb.bat echo checkdb.bat ok @@ -69,7 +69,7 @@ echo checkdb.bat ok if %requestType% == 'PATH_INFO' ( SET syncsvn= %phpcli% %baseDir%ztcli "%pmsRoot%/svn-run" )else ( - SET syncsvn= %phpcli% %baseDir%ztcli "%pmsRoot%/?m=svn&f=run" + SET syncsvn= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=svn&f=run" ) echo %syncsvn% > %baseDir%syncsvn.bat echo syncsvn.bat ok @@ -78,7 +78,7 @@ echo syncsvn.bat ok if %requestType% == 'PATH_INFO' ( SET syncgit= %phpcli% %baseDir%ztcli "%pmsRoot%/git-run" )else ( - SET syncgit= %phpcli% %baseDir%ztcli "%pmsRoot%/?m=git&f=run" + SET syncgit= %phpcli% %baseDir%ztcli "%pmsRoot%/index.php?m=git&f=run" ) echo %syncgit% > %baseDir%syncgit.bat echo syncgit.bat ok diff --git a/bin/init.sh b/bin/init.sh index 0c00561fee..778cf81483 100755 --- a/bin/init.sh +++ b/bin/init.sh @@ -50,7 +50,7 @@ echo "backup.sh ok" if [ $requestType == 'PATH_INFO' ]; then computeburn="$phpcli $basePath/ztcli '$pmsRoot/project-computeburn'"; else - computeburn="$phpcli $basePath/ztcli '$pmsRoot/?m=project&f=computeburn'"; + computeburn="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=project&f=computeburn'"; fi echo $computeburn > $basePath/computeburn.sh echo "computeburn.sh ok" @@ -59,7 +59,7 @@ echo "computeburn.sh ok" if [ $requestType == 'PATH_INFO' ]; then checkdb="$phpcli $basePath/ztcli '$pmsRoot/report-remind'"; else - checkdb="$phpcli $basePath/ztcli '$pmsRoot/?m=report&f=remind'"; + checkdb="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=report&f=remind'"; fi echo $checkdb > $basePath/dailyreminder.sh echo "dailyreminder.sh ok" @@ -68,7 +68,7 @@ echo "dailyreminder.sh ok" if [ $requestType == 'PATH_INFO' ]; then checkdb="$phpcli $basePath/ztcli '$pmsRoot/admin-checkdb'"; else - checkdb="$phpcli $basePath/ztcli '$pmsRoot/?m=admin&f=checkdb'"; + checkdb="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=admin&f=checkdb'"; fi echo $checkdb > $basePath/checkdb.sh echo "checkdb.sh ok" @@ -77,7 +77,7 @@ echo "checkdb.sh ok" if [ $requestType == 'PATH_INFO' ]; then win2Unix="$phpcli $basePath/ztcli '$pmsRoot/admin-win2Unix'"; else - win2Unix="$phpcli $basePath/ztcli '$pmsRoot/?m=admin&f=win2Unix'"; + win2Unix="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=admin&f=win2Unix'"; fi echo $win2Unix > $basePath/win2unix.sh echo "win2unix.sh ok" @@ -86,7 +86,7 @@ echo "win2unix.sh ok" if [ $requestType == 'PATH_INFO' ]; then syncsvn="$phpcli $basePath/ztcli '$pmsRoot/svn-run'"; else - syncsvn="$phpcli $basePath/ztcli '$pmsRoot/?m=svn&f=run'"; + syncsvn="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=svn&f=run'"; fi echo $syncsvn > $basePath/syncsvn.sh echo "syncsvn.sh ok" @@ -95,7 +95,7 @@ echo "syncsvn.sh ok" if [ $requestType == 'PATH_INFO' ]; then syncgit="$phpcli $basePath/ztcli '$pmsRoot/git-run'"; else - syncgit="$phpcli $basePath/ztcli '$pmsRoot/?m=git&f=run'"; + syncgit="$phpcli $basePath/ztcli '$pmsRoot/index.php?m=git&f=run'"; fi echo $syncgit > $basePath/syncgit.sh echo "syncgit.sh ok" diff --git a/framework/router.class.php b/framework/router.class.php index 8c02f4c232..2b6ac439b1 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -1592,10 +1592,13 @@ class router $errorLog = "\n" . date('H:i:s') . " $message in $file on line $line "; $errorLog .= "when visiting " . $this->getURI() . "\n"; - $serverAddr = explode('.', $_SERVER['SERVER_ADDR']); - if(!($serverAddr[0] == 10 or ($serverAddr[0] == 172 and $serverAddr[1] >= 16 and $serverAddr[1] <= 131) or ($serverAddr[0] == 192 and $serverAddr[1] == '168'))) + if(!defined('IN_SHELL')) { - $errorLog = str_replace($this->getBasePath(), '', $errorLog); + $serverAddr = explode('.', $_SERVER['SERVER_ADDR']); + if(!($serverAddr[0] == 10 or ($serverAddr[0] == 172 and $serverAddr[1] >= 16 and $serverAddr[1] <= 131) or ($serverAddr[0] == 192 and $serverAddr[1] == '168'))) + { + $errorLog = str_replace($this->getBasePath(), '', $errorLog); + } } /* Save to log file. */ From 459e3e64fcc478c84ecb7edff53ca7bf4b8d4e54 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 03:11:59 +0000 Subject: [PATCH 08/48] * adjust pager style. --- module/webapp/css/common.css | 5 ++-- module/webapp/view/index.html.php | 40 ++++++++++++++------------ module/webapp/view/obtain.html.php | 46 ++++++++++++++++-------------- 3 files changed, 48 insertions(+), 43 deletions(-) diff --git a/module/webapp/css/common.css b/module/webapp/css/common.css index 35ec9d3510..54d181c8e3 100644 --- a/module/webapp/css/common.css +++ b/module/webapp/css/common.css @@ -12,8 +12,9 @@ #webapps li {float:left; width:25%; list-style:none} #webapps li table {border:0px; width:95%; border:1px solid #ddd;} #webapps li table .webapp-name{font-size:14px; color:#039; padding-top:2px;} -#webapps li table .webapp-icon{padding:5px;} +#webapps li table .webapp-icon{padding:5px;vertical-align:middle;text-align:center} #webapps li table .webapp-info{color:#888; padding-top:2px; height:32px; white-space:pre-wrap;} +#webapps li table .webapp-actions{padding-top:5px} small{font-weight:normal} -#webapps .button-c{min-width: 0;} \ No newline at end of file +#webapps .button-c{min-width: 0;} diff --git a/module/webapp/view/index.html.php b/module/webapp/view/index.html.php index 516c7e7183..afe6707167 100644 --- a/module/webapp/view/index.html.php +++ b/module/webapp/view/index.html.php @@ -26,25 +26,27 @@
abstract) ? ' ' : $webapp->abstract?>
- addType == 'custom' ? $webapp->url : $config->webapp->url . "/webapp-showapp-{$webapp->appid}.html"; - $method = ''; - $popup = ''; - $target = '_self'; - if($webapp->target == 'blank') $target = '_blank'; - if($webapp->target == 'iframe')$method = "toggleShowapp($webapp->id, \"$webapp->name\");"; - if($webapp->target == 'popup') - { - $width = 0; - $height = 0; - if($webapp->size) list($width, $height) = explode('x', $webapp->size); - $method = "popup($width, $height);"; - $popup = 'popup'; - } - echo html::a($url, $lang->webapp->useapp, $target, "id='useapp$webapp->id' class='button-c $popup' onclick='addView($webapp->id);$method'"); - common::printLink('webapp', 'view', "webappID=$webapp->id", $lang->webapp->view, '', "class='button-c webapp'"); - common::printLink('webapp', 'uninstall', "webapp=$webapp->id", $lang->webapp->uninstall, 'hiddenwin', "class='button-c'"); - ?> +
+ addType == 'custom' ? $webapp->url : $config->webapp->url . "/webapp-showapp-{$webapp->appid}.html"; + $method = ''; + $popup = ''; + $target = '_self'; + if($webapp->target == 'blank') $target = '_blank'; + if($webapp->target == 'iframe')$method = "toggleShowapp($webapp->id, \"$webapp->name\");"; + if($webapp->target == 'popup') + { + $width = 0; + $height = 0; + if($webapp->size) list($width, $height) = explode('x', $webapp->size); + $method = "popup($width, $height);"; + $popup = 'popup'; + } + echo html::a($url, $lang->webapp->useapp, $target, "id='useapp$webapp->id' class='button-c $popup' onclick='addView($webapp->id);$method'"); + common::printLink('webapp', 'view', "webappID=$webapp->id", $lang->webapp->view, '', "class='button-c webapp'"); + common::printLink('webapp', 'uninstall', "webapp=$webapp->id", $lang->webapp->uninstall, 'hiddenwin', "class='button-c'"); + ?> +
diff --git a/module/webapp/view/obtain.html.php b/module/webapp/view/obtain.html.php index 53e9b47d67..7d809c0fcf 100644 --- a/module/webapp/view/obtain.html.php +++ b/module/webapp/view/obtain.html.php @@ -48,28 +48,30 @@
abstract) ? ' ' : $webapp->abstract?>
- url; - $method = ''; - $popup = ''; - $target = '_self'; - if($webapp->target == 'popup') - { - $width = 0; - $height = 0; - if($webapp->size) list($width, $height) = explode('x', $webapp->size); - $method = "popup($width, $height);"; - $popup = 'popup'; - } - else - { - $method = "popup(1024, 600);"; - $popup = 'popup'; - } - echo isset($installeds[$webapp->id]) ? html::commonButton($lang->webapp->installed, "disabled='disabled' style='color:gray'") : html::a(inLink('install', "webappID={$webapp->id}"), $lang->webapp->install, '_self', "class='button-c iframe'"); - common::printLink('webapp', 'view', "webappID=$webapp->id&type=api", $lang->webapp->view, '', "class='button-c apiapp'"); - echo html::a($url, $lang->webapp->preview, '', "id='useapp$webapp->id' class='button-c $popup' onclick='$method'"); - ?> +
+ url; + $method = ''; + $popup = ''; + $target = '_self'; + if($webapp->target == 'popup') + { + $width = 0; + $height = 0; + if($webapp->size) list($width, $height) = explode('x', $webapp->size); + $method = "popup($width, $height);"; + $popup = 'popup'; + } + else + { + $method = "popup(1024, 600);"; + $popup = 'popup'; + } + echo isset($installeds[$webapp->id]) ? html::commonButton($lang->webapp->installed, "disabled='disabled' style='color:gray'") : html::a(inLink('install', "webappID={$webapp->id}"), $lang->webapp->install, '_self', "class='button-c iframe'"); + common::printLink('webapp', 'view', "webappID=$webapp->id&type=api", $lang->webapp->view, '', "class='button-c apiapp'"); + echo html::a($url, $lang->webapp->preview, '', "id='useapp$webapp->id' class='button-c $popup' onclick='$method'"); + ?> +
From 8aaee0ec2348074b86ae619832ee745385118587 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 05:06:46 +0000 Subject: [PATCH 09/48] * adjust data-placeholder for openBuild when batch create bug. --- module/bug/view/batchcreate.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/bug/view/batchcreate.html.php b/module/bug/view/batchcreate.html.php index 9e80b127a6..852f78257a 100644 --- a/module/bug/view/batchcreate.html.php +++ b/module/bug/view/batchcreate.html.php @@ -33,7 +33,7 @@ - bug->placeholder->chooseBuilds}'");?> + bug->typeList, '');?> From 651d7966063a61b3eb06f51bc91e5aa64493dbc1 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 05:44:22 +0000 Subject: [PATCH 10/48] * adjust the width of colorbox in testcase. --- module/testcase/js/browse.js | 4 ++-- module/testtask/js/cases.js | 4 ++-- www/js/my.full.js | 10 ++++++---- 3 files changed, 10 insertions(+), 8 deletions(-) diff --git a/module/testcase/js/browse.js b/module/testcase/js/browse.js index 747583cee2..169104dce4 100644 --- a/module/testcase/js/browse.js +++ b/module/testcase/js/browse.js @@ -11,7 +11,7 @@ function browseBySearch(active) $(document).ready(function() { - setModal4List('runCase', 'caseList', function(){$(".results").colorbox({width:900, height:550, iframe:true, transition:'none'});}); + setModal4List('runCase', 'caseList', function(){$(".results").colorbox({width:1024, height:550, iframe:true, transition:'none'});}, 1024); $('#' + browseType + 'Tab').addClass('active'); $('#module' + moduleID).addClass('active'); if(browseType == 'bysearch') ajaxGetSearchForm(); @@ -19,5 +19,5 @@ $(document).ready(function() $(document).ready(function() { - $(".results").colorbox({width:900, height:550, iframe:true, transition:'none'}); + $(".results").colorbox({width:1024, height:550, iframe:true, transition:'none'}); }) diff --git a/module/testtask/js/cases.js b/module/testtask/js/cases.js index 58286a7c41..e89d4fd5ca 100644 --- a/module/testtask/js/cases.js +++ b/module/testtask/js/cases.js @@ -20,7 +20,7 @@ function browseBySearch(active) $(document).ready(function() { - setModal4List('runCase', 'caseList', function(){$(".results").colorbox({width:900, height:550, iframe:true, transition:'none'});}); + setModal4List('runCase', 'caseList', function(){$(".results").colorbox({width:1024, height:550, iframe:true, transition:'none'});}, 1024); $('#' + browseType + 'Tab').addClass('active'); $('#module' + moduleID).addClass('active'); if(browseType == 'bysearch') ajaxGetSearchForm(); @@ -28,7 +28,7 @@ $(document).ready(function() $(document).ready(function() { - $("a.iframe").colorbox({width:900, height:550, iframe:true, transition:'none'}); + $("a.iframe").colorbox({width:1024, height:550, iframe:true, transition:'none'}); $('#' + browseType + 'Tab').addClass('active'); $('#module' + moduleID).addClass('active'); }); diff --git a/www/js/my.full.js b/www/js/my.full.js index 9be5a85f04..7d8da91396 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -820,12 +820,14 @@ function selectItem(SelectID) * @access public * @return void */ -function setModal4List(colorboxClass, replaceID, callback) +function setModal4List(colorboxClass, replaceID, callback, width, height) { + if(typeof(width) == 'undefined') width = 900 + if(typeof(height) == 'undefined') height = 500 $('.' + colorboxClass).colorbox( { - width: 900, - height: 500, + width: width, + height: height, iframe: true, transition: 'none', @@ -840,7 +842,7 @@ function setModal4List(colorboxClass, replaceID, callback) $('#tmpDiv').load(link + ' #' + replaceID, function() { $('#tmpDiv').replaceWith($('#tmpDiv').html()); - setModal4List(colorboxClass, replaceID, callback); + setModal4List(colorboxClass, replaceID, callback, width, height); try{$('.colored').colorize();}catch(err){} $('tfoot td').css('background', 'white').unbind('click').unbind('hover'); From 520afd8a343d8659443500f30ad908864a7b2405 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 06:59:51 +0000 Subject: [PATCH 11/48] * adjust code for user lang. --- module/user/lang/en.php | 2 +- module/user/lang/zh-cn.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/user/lang/en.php b/module/user/lang/en.php index 9e084ec6a6..5cf2ea3d6d 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -69,7 +69,7 @@ $lang->user->asGuest = "Guest"; $lang->user->goback = "Back"; $lang->user->allUsers = 'All users'; $lang->user->deleted = '(deleted)'; -$lang->user->select = '--select user--'; +$lang->user->select = 'Select user'; $lang->user->profile = 'Profile'; $lang->user->project = 'Project'; diff --git a/module/user/lang/zh-cn.php b/module/user/lang/zh-cn.php index 2b85af5a58..8db81d0bfd 100644 --- a/module/user/lang/zh-cn.php +++ b/module/user/lang/zh-cn.php @@ -69,7 +69,7 @@ $lang->user->asGuest = "游客访问"; $lang->user->goback = "返回前一页"; $lang->user->allUsers = '全部用户'; $lang->user->deleted = '(已删除)'; -$lang->user->select = '--请选择用户--'; +$lang->user->select = '请选择用户'; $lang->user->profile = '档案'; $lang->user->project = '项目'; From 2ec200f89935575b64738771e582767a9d5ca4e6 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 07:15:09 +0000 Subject: [PATCH 12/48] * adjust pager style. --- module/build/view/create.html.php | 6 +++--- module/build/view/edit.html.php | 6 +++--- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/module/build/view/create.html.php b/module/build/view/create.html.php index 59ef60e253..e30185747e 100644 --- a/module/build/view/create.html.php +++ b/module/build/view/create.html.php @@ -44,9 +44,9 @@ build->linkStoriesAndBugs;?> - +
- -
+ @@ -71,7 +71,7 @@
build->linkStories;?>
+ diff --git a/module/build/view/edit.html.php b/module/build/view/edit.html.php index 2c5ec6b3a3..f9a77635de 100644 --- a/module/build/view/edit.html.php +++ b/module/build/view/edit.html.php @@ -44,9 +44,9 @@
build->linkBugs;?>
build->linkStoriesAndBugs;?> - +
- - - - diff --git a/www/theme/default/style.css b/www/theme/default/style.css index e2382f9683..69c237b9b5 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -192,6 +192,7 @@ select{padding: 4px 1px;} .c-right {clear:right;} .c-both {clear:both;} .a-center {text-align: center;} +.v-middle{vertical-align: middle;} .a-right {text-align: right;} .a-left {text-align: left;} From 761c5c7e84292244d6f2b241ce26ae47a10d4af8 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 08:56:59 +0800 Subject: [PATCH 39/48] * ajust style of confirmbug. --- module/bug/css/customfields.css | 13 ++----------- module/bug/view/confirmbug.html.php | 2 +- www/theme/default/style.css | 2 ++ 3 files changed, 5 insertions(+), 12 deletions(-) diff --git a/module/bug/css/customfields.css b/module/bug/css/customfields.css index 6dcb9ac5fe..d2edc24eaf 100644 --- a/module/bug/css/customfields.css +++ b/module/bug/css/customfields.css @@ -1,13 +1,4 @@ body{background:white; overflow:hidden;} -.btn-group .btn -{ - display: block; - width: 80px; - text-align: center; - margin-top: -1px; -} +.btn-group .btn{display: block;width: 80px;text-align: center;margin-top: -1px;} .btn-group .btn:hover{z-index: 9999;} -.btn-group .btn i -{ - line-height: 21px; -} \ No newline at end of file +.btn-group .btn i{line-height: 21px;} \ No newline at end of file diff --git a/module/bug/view/confirmbug.html.php b/module/bug/view/confirmbug.html.php index 33a0fab85c..7e48ad041a 100755 --- a/module/bug/view/confirmbug.html.php +++ b/module/bug/view/confirmbug.html.php @@ -34,7 +34,7 @@ js::set('page', 'confirmbug'); - + diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 69c237b9b5..77ca928ced 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -367,6 +367,8 @@ table.data-table td:last-child{padding-right: 20px;} .w-p80 {width: 80%} .w-p85 {width: 85%} .w-p90 {width: 90%} +.w-p94 {width: 94%} +.w-p95 {width: 95%} .w-p100{width: 100%} .w-p98 {width: 98%} .w-p99 {width: 99%} From 0c7c56d2e06844a2d283733bb49d28e86812b068 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 09:11:34 +0800 Subject: [PATCH 40/48] * ajust style of forms. --- module/story/css/create.css | 3 +-- www/theme/default/style.css | 2 +- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/module/story/css/create.css b/module/story/css/create.css index 6ebadab92e..9692b612a0 100644 --- a/module/story/css/create.css +++ b/module/story/css/create.css @@ -1,3 +1,2 @@ -#plan {width:245px} -#mailto {width:85%} +#mailto {width:90.3%} select {border:1px solid #ccc} diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 77ca928ced..63231980a0 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -245,7 +245,7 @@ select.text-3 {width: 250px} select.select-1 {width: 90%} .select-2 {width: 125px} .select-3 {width: 245px} -select.select-3{width: 255px;} +select.select-3{width: 250px;} .select-4 {width: 360px} .select-5 {width: 480px} td>select{padding-left: 0;padding-right: 0} From d8a6b6b39483016809e6041bd2fd4cbde9416ab3 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 09:34:42 +0800 Subject: [PATCH 41/48] * reduce toolbar height. --- www/theme/default/style.css | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 63231980a0..403810a59f 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -444,7 +444,7 @@ table.data-table td:last-child{padding-right: 20px;} /* Top bar. */ #topbar, #topbar a {color:#ACCADF} -#topbar {margin:5px 5px 15px 5px} +#topbar {margin:5px 5px 6px 5px} #topbar select {border:none; color:#ACCADF; background:#003366} #topbar a {color:#d1e4f2;text-decoration:none;} #topbar a:hover {color: #fff;} From 172d2d62233c8798f99f34df2370de4d7f84d676 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 01:54:15 +0000 Subject: [PATCH 42/48] * fix bug #531. --- module/bug/view/buildtemplates.html.php | 4 ++-- module/bug/view/create.html.php | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/module/bug/view/buildtemplates.html.php b/module/bug/view/buildtemplates.html.php index 10518c84a5..6e083196a4 100644 --- a/module/bug/view/buildtemplates.html.php +++ b/module/bug/view/buildtemplates.html.php @@ -6,8 +6,8 @@ KindEditor.lang({'savetemplate' : 'bug->saveTemplate;?>'}); foreach($templates as $key => $template) { echo ""; - echo '  ' . $lang->arrow. " $template->title"; - echo "  "; + echo '' . $lang->arrow. " $template->title"; + echo "  "; echo ""; echo '
'; } diff --git a/module/bug/view/create.html.php b/module/bug/view/create.html.php index 7493f41df2..a0f1c585dd 100644 --- a/module/bug/view/create.html.php +++ b/module/bug/view/create.html.php @@ -64,9 +64,9 @@ js::set('refresh', $lang->refresh);
- From 0700883df0594d03ab4ca251d1ef8ffa64092183 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 10:07:53 +0800 Subject: [PATCH 43/48] * ajust style of forms. --- module/task/css/create.css | 2 +- module/task/css/edit.css | 6 +++--- www/theme/default/chosen.css | 2 +- 3 files changed, 5 insertions(+), 5 deletions(-) diff --git a/module/task/css/create.css b/module/task/css/create.css index 1fe9bdda77..cad16af5c3 100644 --- a/module/task/css/create.css +++ b/module/task/css/create.css @@ -1,4 +1,4 @@ .button-c {padding:2px} #mailto {width:85%} - +#preview{display: inline-block; line-height: 24px;position: relative;top: -10px;+top:0;} caption .f-right a{color:red} diff --git a/module/task/css/edit.css b/module/task/css/edit.css index 7e2f8f2ffe..df6266076f 100644 --- a/module/task/css/edit.css +++ b/module/task/css/edit.css @@ -1,3 +1,3 @@ -select.select-1,#module,#mailto {width:230px} -.text-1 {width:220px} -#estStarted,#realStarted,#deadline {width:200px} +select.select-1,#module,#mailto {width:220px} +.text-1 {width:213px} +#estStarted,#realStarted,#deadline {width:190px} diff --git a/www/theme/default/chosen.css b/www/theme/default/chosen.css index f4c3a33284..1ea7d680dc 100644 --- a/www/theme/default/chosen.css +++ b/www/theme/default/chosen.css @@ -222,4 +222,4 @@ #productID_chzn .chzn-single, #projectID_chzn .chzn-single {background-color: #E5e5e5; border: none; text-align:left; padding:0} #productID_chzn, #projectID_chzn{border:1px solid #ccc; margin-top:3px; padding-left:5px} -#story_chzn .chzn-single, #task_chzn .chzn-single {border: 1px solid #ccc; height:24px; line-height:24px} +/*#story_chzn .chzn-single, #task_chzn .chzn-single {border: 1px solid #ccc; height:24px; line-height:24px}*/ From 086b20b2727639610a4b843ed88490695bc417b3 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 02:27:00 +0000 Subject: [PATCH 44/48] * rewrite the logic of hidden the real path when some error occers. --- framework/router.class.php | 9 +++------ lib/filter/filter.class.php | 4 ++-- 2 files changed, 5 insertions(+), 8 deletions(-) diff --git a/framework/router.class.php b/framework/router.class.php index 2b6ac439b1..98f5291be6 100755 --- a/framework/router.class.php +++ b/framework/router.class.php @@ -1592,13 +1592,10 @@ class router $errorLog = "\n" . date('H:i:s') . " $message in $file on line $line "; $errorLog .= "when visiting " . $this->getURI() . "\n"; - if(!defined('IN_SHELL')) + /* If the ip is pulic, hidden the full path of scripts. */ + if(!defined('IN_SHELL') and !validater::checkIP($this->server->server_addr, 'private')) { - $serverAddr = explode('.', $_SERVER['SERVER_ADDR']); - if(!($serverAddr[0] == 10 or ($serverAddr[0] == 172 and $serverAddr[1] >= 16 and $serverAddr[1] <= 131) or ($serverAddr[0] == 192 and $serverAddr[1] == '168'))) - { - $errorLog = str_replace($this->getBasePath(), '', $errorLog); - } + $errorLog = str_replace($this->getBasePath(), '', $errorLog); } /* Save to log file. */ diff --git a/lib/filter/filter.class.php b/lib/filter/filter.class.php index 5acfc9839d..cbcadd3948 100755 --- a/lib/filter/filter.class.php +++ b/lib/filter/filter.class.php @@ -122,11 +122,11 @@ class validater */ public static function checkIP($var, $range = 'all') { - if($range == 'all') return filter_var($var, FILTER_VALIDATE_IP); + if($range == 'all') return filter_var($var, FILTER_VALIDATE_IP); if($range == 'public static') return filter_var($var, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE); if($range == 'private') { - if(filter_var($var, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) === false) return $var; + if($var == '127.0.0.1' or filter_var($var, FILTER_VALIDATE_IP, FILTER_FLAG_NO_PRIV_RANGE) === false) return true; return false; } } From c011e9213bd725af4301e849b5e40a341d19393a Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 03:31:44 +0000 Subject: [PATCH 45/48] - remove the function to create qrCode link. --- module/common/model.php | 12 ------------ 1 file changed, 12 deletions(-) diff --git a/module/common/model.php b/module/common/model.php index ad5804a2d4..ea01c9da0d 100644 --- a/module/common/model.php +++ b/module/common/model.php @@ -543,18 +543,6 @@ class commonModel extends model echo html::a(helper::createLink('misc', 'qrCode'), "" . $lang->user->mobileLogin, '', "class='qrCode $color'"); } - /** - * Print QR code Link. - * - * @static - * @access public - * @return void - */ - public static function getQRCodeLink() - { - echo helper::createLink('misc', 'qrCode'); - } - /** * Diff two string. (see phpt) * From 2c65fffa9d08aa2c64bfbd677bec12b1ffd0dc53 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 03:32:14 +0000 Subject: [PATCH 46/48] * adjust code. --- module/common/view/header.lite.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/common/view/header.lite.html.php b/module/common/view/header.lite.html.php index 432f58ee12..8d114918d5 100755 --- a/module/common/view/header.lite.html.php +++ b/module/common/view/header.lite.html.php @@ -11,7 +11,7 @@ $clientTheme = $this->app->getClientTheme(); - + zentaoPMS); From 2158f025fcccfa5b9fd0ccc20af308f42c8a411d Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 03:36:55 +0000 Subject: [PATCH 47/48] * adjust the logic of mobile access. --- module/misc/control.php | 13 +++++++++---- module/misc/lang/en.php | 3 ++- module/misc/lang/zh-cn.php | 3 ++- module/user/control.php | 2 ++ module/user/lang/en.php | 2 +- module/user/view/login.html.php | 8 +++++++- 6 files changed, 23 insertions(+), 8 deletions(-) diff --git a/module/misc/control.php b/module/misc/control.php index 25c6a9a774..7087f21e4b 100644 --- a/module/misc/control.php +++ b/module/misc/control.php @@ -129,10 +129,15 @@ class misc extends control public function qrCode() { $loginAPI = common::getSysURL() . $this->config->webRoot; - $withSessionLoginAPI = $this->loadModel('user')->isLogon() ? $loginAPI . "?sid=" . session_ID() : $loginAPI; + $session = $this->loadModel('user')->isLogon() ? '?sid=' . session_id() : ''; - if(!extension_loaded('gd')) die(printf($this->lang->misc->noGDLib, $loginAPI)); - $ciqrcode = $this->app->loadClass('qrcode'); - QRcode::png($withSessionLoginAPI, false, 4, 9); + if(!extension_loaded('gd')) + { + $this->view->noGDLib = sprintf($this->lang->misc->noGDLib, $loginAPI); + die($this->display()); + } + + $this->app->loadClass('qrcode'); + QRcode::png($loginAPI . $session, false, 4, 9); } } diff --git a/module/misc/lang/en.php b/module/misc/lang/en.php index 4e68be0b12..e9306e7832 100644 --- a/module/misc/lang/en.php +++ b/module/misc/lang/en.php @@ -46,5 +46,6 @@ $lang->misc->zentao->service['install'] = 'Install service'; $lang->misc->zentao->service['fixissue'] = 'Issue support'; $lang->misc->zentao->service['servicemore']= 'More...'; -$lang->misc->noGDLib = "PHP don't has GD extensions. The entrance of mobile browser: %s."; +$lang->misc->mobile = "Mobile access"; +$lang->misc->noGDLib = "Please visit:%s."; $lang->misc->copyright = "Copyright ©2009-2013 Nature EasySoft Network Tecnology Co.ltd, QingDao, China"; diff --git a/module/misc/lang/zh-cn.php b/module/misc/lang/zh-cn.php index 08a0fefef6..fe2043b1db 100644 --- a/module/misc/lang/zh-cn.php +++ b/module/misc/lang/zh-cn.php @@ -46,5 +46,6 @@ $lang->misc->zentao->service['install'] = '禅道安装服务'; $lang->misc->zentao->service['fixissue'] = '禅道问题解决'; $lang->misc->zentao->service['servicemore']= '更多服务...'; -$lang->misc->noGDLib = "您的PHP没有安装GD库扩展,请用手机浏览器直接访问:%s"; +$lang->misc->mobile = "手机访问"; +$lang->misc->noGDLib = "请用手机浏览器访问:%s"; $lang->misc->copyright = "版权所有 ©2009-2013 青岛易软天创网络科技有限公司"; diff --git a/module/user/control.php b/module/user/control.php index 64605e9f98..5ea8bebf76 100644 --- a/module/user/control.php +++ b/module/user/control.php @@ -702,6 +702,8 @@ class user extends control $this->view->demoUsers = $demoUsers; } + $this->app->loadLang('misc'); + $this->view->noGDLib = sprintf($this->lang->misc->noGDLib, common::getSysURL() . $this->config->webRoot); $this->view->title = $this->lang->user->login; $this->view->referer = $this->referer; $this->view->s = zget($this->config->global, 'sn'); diff --git a/module/user/lang/en.php b/module/user/lang/en.php index 5cf2ea3d6d..eaa147dfb3 100644 --- a/module/user/lang/en.php +++ b/module/user/lang/en.php @@ -54,7 +54,7 @@ $lang->user->update = "Upgrade"; $lang->user->delete = "Delete"; $lang->user->browse = "Browse"; $lang->user->login = "Login"; -$lang->user->mobileLogin = "Mobile Login"; +$lang->user->mobileLogin = "Mobile"; $lang->user->userView = "User view"; $lang->user->editProfile = "Edit profile"; $lang->user->editPassword = "Change password"; diff --git a/module/user/view/login.html.php b/module/user/view/login.html.php index 968fb97635..5dba1d3eb2 100644 --- a/module/user/view/login.html.php +++ b/module/user/view/login.html.php @@ -25,7 +25,13 @@ include '../../common/view/header.lite.html.php';

user->mobileLogin ?>

- + + ' /> + +
+
@@ -81,7 +81,7 @@
+ - + From 682563e41c5571821829835a24f019f94815bf9d Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 02:01:55 +0000 Subject: [PATCH 16/48] * fix a bug for image size on load. --- www/js/my.full.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/js/my.full.js b/www/js/my.full.js index 7d8da91396..98b7053e99 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -521,7 +521,7 @@ function setImageSize(image, maxWidth) if(!maxWidth) { bodyWidth = $('body').width(); - maxWidth = bodyWidth - 450; // The side bar's width is 336, and add some margins. + maxWidth = bodyWidth - 470; // The side bar's width is 336, and add some margins. } $('.content img').each(function() { From d67982d351cf20c0ada787ef5bf144656e2ed461 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 04:09:54 +0000 Subject: [PATCH 17/48] * adjust search buildform. --- module/search/view/buildform.html.php | 20 ++++++++++---------- www/theme/default/style.css | 13 ++++++------- 2 files changed, 16 insertions(+), 17 deletions(-) diff --git a/module/search/view/buildform.html.php b/module/search/view/buildform.html.php index 310b9b71d0..2c70ea8973 100644 --- a/module/search/view/buildform.html.php +++ b/module/search/view/buildform.html.php @@ -18,7 +18,7 @@ .select-1 {width:80%} .text-2{margin-bottom:2px; width:123px} .select-2{margin-bottom:2px} -.date{width:104px} +#searchform input.date{width:110px} + From 70c5d9b2302f3a88ebdc7380c5560546a38ffe68 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 07:38:53 +0000 Subject: [PATCH 27/48] * fix bug #532. --- www/js/jquery/form/zentao.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/www/js/jquery/form/zentao.js b/www/js/jquery/form/zentao.js index 7f3e23d999..8f60b1e6b0 100644 --- a/www/js/jquery/form/zentao.js +++ b/www/js/jquery/form/zentao.js @@ -54,7 +54,7 @@ $.extend( var i = triggered.push(false); /* Create the error message. */ - var errorMSG = '
'; + var errorMSG = '
'; errorMSG += $.type(value) == 'string' ? value : value.join(';'); errorMSG += '
'; From f1960f6ad96eb0a3ce2edde48815216902b4410d Mon Sep 17 00:00:00 2001 From: Catouse Date: Thu, 31 Oct 2013 15:39:15 +0800 Subject: [PATCH 28/48] * lighten link icon color. --- www/theme/default/images/main/zt-icons.png | Bin 21292 -> 21266 bytes www/theme/default/style.css | 2 +- 2 files changed, 1 insertion(+), 1 deletion(-) diff --git a/www/theme/default/images/main/zt-icons.png b/www/theme/default/images/main/zt-icons.png index 74669bf616fe6280c679e8d20cde9daa01a75261..4d5332955b3d0ef28f7b06fcd60a183df4d99f59 100755 GIT binary patch literal 21266 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

Zd&4L5jEcnXY!m< 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 Yb)DU`@DRED*zbzIwux4ihEvFY0p8JvT>t<8 literal 21292 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 diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 580b941d6b..46288c170c 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -22,7 +22,7 @@ a {text-decoration:none;} /*-----------------------ICONS-----------------------------------*/ /* icons use fontawesome */ -.link-icon{color: #036;display: inline-block;} +.link-icon{color: #2E6DAD;display: inline-block;} .link-icon:hover{color:#000;text-shadow:1px 1px 3px rgba(0,0,0,0.25);} i[class^="icon-"],i[class*=" icon-"],.link-icon i[class^="icon-"],.link-icon i[class*=" icon-"]{display: inline-block;min-width: 13px;min-height: 13px;} .outer td i[class^="icon-"],.outer td i[class*=" icon-"]{font-size: 18px;margin-right: 4px;} From 8e2cffb2ec70c701e55deb3487c4059644f84e7e Mon Sep 17 00:00:00 2001 From: Catouse Date: Thu, 31 Oct 2013 15:55:50 +0800 Subject: [PATCH 29/48] * reduce form table cell padding. --- www/theme/default/style.css | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/www/theme/default/style.css b/www/theme/default/style.css index 46288c170c..b20280e182 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -262,7 +262,7 @@ select.select-3{width: 255px;} /*-----------------------TABLE SETTING----------------------------*/ table {border:1px solid #e4e4e4;border-collapse: collapse;border-spacing: 0;} td, tr, th {border:none;} -td,th{padding: 8px; line-height: 1.428571429;vertical-align: top;} +td,th{padding: 6px; line-height: 1.428571429;vertical-align: top;} th{vertical-align: middle;} tfoot {border-top:1px solid #e4e4e4} tfoot .f-left{ color:gray} @@ -280,8 +280,9 @@ caption {border:1px solid #e4e4e4; background:#edf3fe; margin:0; padding:6px 2p .table-5 {width:600px;margin-bottom:10px} .table-6 {width:800px;margin-bottom:10px} -.table-1 td, .table-2 td, .table-3 td, .table-4 td, .table-5 td {padding:8px 4px} -.table-1 th, .table-2 th, .table-3 th, .table-4 th, .table-5 th {padding:8px 4px} +.table-1 td, .table-2 td, .table-3 td, .table-4 td, .table-5 td {padding:6px 3px} +.table-1 th, .table-2 th, .table-3 th, .table-4 th, .table-5 th {padding:6px 3px} +form>.table-1 td,form>.table-2 td,form>.table-3 td,form>.table-4 td{padding:4px 3px;} .side table td,.side table th{padding: 2px 4px;} .colhead td {text-align:center; background-color:#efefef;} From 759bacd4b36cae53c20d46e39a05bfe7bf8087b5 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 08:38:26 +0000 Subject: [PATCH 30/48] * fix bug #536. --- module/product/control.php | 8 +++++++- module/project/control.php | 8 +++++++- 2 files changed, 14 insertions(+), 2 deletions(-) diff --git a/module/product/control.php b/module/product/control.php index fb8dc58201..b1a31d6ec5 100644 --- a/module/product/control.php +++ b/module/product/control.php @@ -516,8 +516,14 @@ class product extends control */ public function ajaxGetMatchedItems($keywords, $module, $method, $extra) { + $products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq(0)->andWhere('name')->like("%$keywords%")->orderBy('code')->fetchAll(); + foreach($products as $key => $product) + { + if(!$this->product->checkPriv($product)) unset($products[$key]); + } + $this->view->link = $this->product->getProductLink($module, $method, $extra); - $this->view->products = $this->dao->select('*')->from(TABLE_PRODUCT)->where('deleted')->eq(0)->andWhere('name')->like("%$keywords%")->orderBy('code')->fetchAll(); + $this->view->products = $products; $this->view->keywords = $keywords; $this->display(); } diff --git a/module/project/control.php b/module/project/control.php index 3ca7d1a8c9..d9041189aa 100644 --- a/module/project/control.php +++ b/module/project/control.php @@ -1645,8 +1645,14 @@ class project extends control */ public function ajaxGetMatchedItems($keywords, $module, $method, $extra) { + $projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq(0)->andWhere('name')->like("%$keywords%")->orderBy('code')->fetchAll(); + foreach($projects as $key => $project) + { + if(!$this->project->checkPriv($project)) unset($projects[$key]); + } + $this->view->link = $this->project->getProjectLink($module, $method, $extra); - $this->view->projects = $this->dao->select('*')->from(TABLE_PROJECT)->where('deleted')->eq(0)->andWhere('name')->like("%$keywords%")->orderBy('code')->fetchAll(); + $this->view->projects = $projects; $this->view->keywords = $keywords; $this->display(); } From a84f66c1b9c324541946f73ce530d21a591597c4 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 08:39:46 +0000 Subject: [PATCH 31/48] * fix for the image of comment. --- module/action/model.php | 2 ++ module/file/model.php | 4 ++-- www/js/my.full.js | 20 +++++++++++++++----- 3 files changed, 19 insertions(+), 7 deletions(-) diff --git a/module/action/model.php b/module/action/model.php index f9644aec76..3b09235dd5 100755 --- a/module/action/model.php +++ b/module/action/model.php @@ -190,11 +190,13 @@ class actionModel extends model ->andWhere('objectID')->eq($objectID) ->orderBy('date, id')->fetchAll('id'); $histories = $this->getHistory(array_keys($actions)); + $this->loadModel('file'); foreach($actions as $actionID => $action) { if(strtolower($action->action) == 'svncommited' and isset($commiters[$action->actor])) $action->actor = $commiters[$action->actor]; if(strtolower($action->action) == 'gitcommited' and isset($commiters[$action->actor])) $action->actor = $commiters[$action->actor]; $action->history = isset($histories[$actionID]) ? $histories[$actionID] : array(); + $action->comment = $this->file->setImgSize($action->comment, 910, 'comment'); $actions[$actionID] = $action; } return $actions; diff --git a/module/file/model.php b/module/file/model.php index 613afbced8..0738c430ad 100644 --- a/module/file/model.php +++ b/module/file/model.php @@ -206,9 +206,9 @@ class fileModel extends model * @access public * @return string */ - public function setImgSize($content, $maxSize = 0) + public function setImgSize($content, $maxSize = 0, $type = 'content') { - return str_replace('src="data/upload', 'onload="setImageSize(this,' . $maxSize . ' )" src="data/upload', $content); + return str_replace('src="data/upload', 'onload="setImageSize(this,' . $maxSize . ', \'' . $type . '\' )" src="data/upload', $content); } /** diff --git a/www/js/my.full.js b/www/js/my.full.js index 98b7053e99..f5cb3fa7be 100644 --- a/www/js/my.full.js +++ b/www/js/my.full.js @@ -515,7 +515,7 @@ function setFormAction(actionLink, hiddenwin) * @access public * @return void */ -function setImageSize(image, maxWidth) +function setImageSize(image, maxWidth, type) { /* If not set maxWidth, set it auto. */ if(!maxWidth) @@ -523,11 +523,21 @@ function setImageSize(image, maxWidth) bodyWidth = $('body').width(); maxWidth = bodyWidth - 470; // The side bar's width is 336, and add some margins. } - $('.content img').each(function() + if(type == 'comment') { - if($(this).width() > maxWidth) $(this).attr('width', maxWidth); - }); - $(image).wrap('') + $('#actionbox img').each(function() + { + if($(this).width() > maxWidth) $(this).attr('width', maxWidth); + }); + } + else + { + $('.content img').each(function() + { + if($(this).width() > maxWidth) $(this).attr('width', maxWidth); + }); + } + $(image).wrap(''); } /** From 946d3d296df47d2a7bcb58e559ffe6bcf6ff91c6 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 08:59:21 +0000 Subject: [PATCH 32/48] * fix a bug. --- module/common/view/action.html.php | 2 +- module/story/view/view.html.php | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/module/common/view/action.html.php b/module/common/view/action.html.php index 85666e1ea7..0aa199b5b9 100755 --- a/module/common/view/action.html.php +++ b/module/common/view/action.html.php @@ -153,7 +153,7 @@ $(function(){
id")?>'>

From 52a589c72469735bd3d015e1ed8feaf4f9b05e73 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 07:40:50 +0000 Subject: [PATCH 13/48] * get last five roadmap. --- module/product/model.php | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/module/product/model.php b/module/product/model.php index 42d8912d97..d7a34bd066 100644 --- a/module/product/model.php +++ b/module/product/model.php @@ -371,7 +371,12 @@ class productModel extends model } ksort($roadmap); - return $roadmap; + + /* Get last 5 roadmap. */ + $lastKeys = array_slice(array_keys($roadmap), -5); + foreach($lastKeys as $key) $lastRoadmap[$key] = $roadmap[$key]; + + return $lastRoadmap; } /** From 395d50e0c1cdfc7a9151ed32596dffe03974a2e1 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Wed, 30 Oct 2013 07:58:28 +0000 Subject: [PATCH 14/48] * add X-UA-Compatible for ie. --- module/common/view/header.lite.html.php | 1 + 1 file changed, 1 insertion(+) diff --git a/module/common/view/header.lite.html.php b/module/common/view/header.lite.html.php index 1895afdfa3..432f58ee12 100755 --- a/module/common/view/header.lite.html.php +++ b/module/common/view/header.lite.html.php @@ -11,6 +11,7 @@ $clientTheme = $this->app->getClientTheme(); + zentaoPMS); From 15b90a64e73d1c377ee7b55d316679c8845e774c Mon Sep 17 00:00:00 2001 From: wyd621 Date: Thu, 31 Oct 2013 01:29:47 +0000 Subject: [PATCH 15/48] * adjust code width for my-project. --- module/my/view/project.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/my/view/project.html.php b/module/my/view/project.html.php index 041026ee60..61f49f6a19 100644 --- a/module/my/view/project.html.php +++ b/module/my/view/project.html.php @@ -16,7 +16,7 @@
idAB;?>project->code;?>project->code;?> project->name;?> project->begin;?> project->end;?>
- +
comment,"rows='5' class='w-p100'");?>
goback, "onclick='toggleComment($action->id)' class='button-s'");?>
goback, "onclick='toggleComment($action->id)' class='button-b'");?>
diff --git a/module/story/view/view.html.php b/module/story/view/view.html.php index 443bdf009b..2ba66ea4e9 100644 --- a/module/story/view/view.html.php +++ b/module/story/view/view.html.php @@ -11,6 +11,7 @@ */ ?> +
deleted) echo "class='deleted'";?>>STORY #id . ' ' . $story->title;?> version > 1):?> From 1d131406eaa1f94bff3f5ff8363db06f242f3c26 Mon Sep 17 00:00:00 2001 From: Catouse Date: Thu, 31 Oct 2013 17:13:14 +0800 Subject: [PATCH 33/48] * ajust style of 'choosen'. --- www/js/jquery/chosen/chosen.min.js | 2 +- www/theme/default/chosen.css | 22 ++++++++++------------ 2 files changed, 11 insertions(+), 13 deletions(-) diff --git a/www/js/jquery/chosen/chosen.min.js b/www/js/jquery/chosen/chosen.min.js index c39c98de67..c6b3f661ce 100755 --- a/www/js/jquery/chosen/chosen.min.js +++ b/www/js/jquery/chosen/chosen.min.js @@ -7,4 +7,4 @@ // MIT License, https://github.com/harvesthq/chosen/blob/master/LICENSE.md // This file is generated by `cake build`, do not edit it by hand. -((function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d,e=Object.prototype.hasOwnProperty,f=function(a,b){function d(){this.constructor=a}for(var c in b)e.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};d=this,a=jQuery,a.fn.extend({chosen:function(c){return!a.browser.msie||a.browser.version!=="6.0"&&a.browser.version!=="7.0"?this.each(function(d){var e;e=a(this);if(!e.hasClass("chzn-done"))return e.data("chosen",new b(this,c))}):this}}),b=function(b){function e(){e.__super__.constructor.apply(this,arguments)}return f(e,b),e.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_value=this.form_field_jq.val(),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},e.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},e.prototype.set_up_html=function(){var b,d,e,f;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),b=a("
",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?b.html('
    '):b.html(''+this.default_text+'
      '),this.form_field_jq.hide().after(b),this.container=a("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.find("div.chzn-drop").first(),d=this.container.height(),e=this.f_width-c(this.dropdown),this.dropdown.css({width:(e+25)+"px",top:d+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),f=e-c(this.search_container)-c(this.search_field),this.search_field.css({width:(f+25)+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},e.prototype.register_observers=function(){var a=this;return this.container.mousedown(function(b){return a.container_mousedown(b)}),this.container.mouseup(function(b){return a.container_mouseup(b)}),this.container.mouseenter(function(b){return a.mouse_enter(b)}),this.container.mouseleave(function(b){return a.mouse_leave(b)}),this.search_results.mouseup(function(b){return a.search_results_mouseup(b)}),this.search_results.mouseover(function(b){return a.search_results_mouseover(b)}),this.search_results.mouseout(function(b){return a.search_results_mouseout(b)}),this.form_field_jq.bind("liszt:updated",function(b){return a.results_update_field(b)}),this.search_field.blur(function(b){return a.input_blur(b)}),this.search_field.keyup(function(b){return a.keyup_checker(b)}),this.search_field.keydown(function(b){return a.keydown_checker(b)}),this.is_multiple?(this.search_choices.click(function(b){return a.choices_click(b)}),this.search_field.focus(function(b){return a.input_focus(b)})):this.container.click(function(a){return a.preventDefault()})},e.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},e.prototype.container_mousedown=function(b){var c;if(!this.is_disabled)return c=b!=null?a(b.target).hasClass("search-choice-close"):!1,b&&b.type==="mousedown"&&!this.results_showing&&b.stopPropagation(),!this.pending_destroy_click&&!c?(this.active_field?!this.is_multiple&&b&&(a(b.target)[0]===this.selected_item[0]||a(b.target).parents("a.chzn-single").length)&&(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},e.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(a)},e.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},e.prototype.close_field=function(){return a(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},e.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(b){return a(b.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){var a,b,c,e,f;this.parsing=!0,this.results_data=d.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),a="",f=this.results_data;for(c=0,e=f.length;c'+a("
      ").text(b.label).html()+"")},e.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight();if(b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(c'+b.html+''),d=a("#"+c).find("a").first(),d.click(function(a){return e.choice_destroy_link_click(a)}))},e.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),this.is_disabled?b.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(a(b.target)))},e.prototype.choice_destroy=function(a){return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),this.result_deselect(a.attr("rel")),a.parents("li").first().remove()},e.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},e.prototype.results_reset_cleanup=function(){return this.selected_item.find("abbr").remove()},e.prototype.result_select=function(a){var b,c,d,e;if(this.result_highlight)return b=this.result_highlight,c=b.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=b,this.selected_item.removeClass("chzn-default")),b.addClass("result-selected"),e=c.substr(c.lastIndexOf("_")+1),d=this.results_data[e],d.selected=!0,this.form_field.options[d.options_index].selected=!0,this.is_multiple?this.choice_build(d):(this.selected_item.find("span").first().text(d.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[d.options_index].value}),this.current_value=this.form_field_jq.val(),this.search_field_scale()},e.prototype.result_activate=function(a){return a.addClass("active-result")},e.prototype.result_deactivate=function(a){return a.removeClass("active-result")},e.prototype.result_deselect=function(b){var c,d;return d=this.results_data[b],d.selected=!1,this.form_field.options[d.options_index].selected=!1,c=a("#"+this.container_id+"_o_"+b),c.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[d.options_index].value}),this.search_field_scale()},e.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},e.prototype.winnow_results=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;this.no_results_clear(),j=0,k=this.search_field.val()===this.default_text?"":a("
      ").text(a.trim(this.search_field.val())).html(),g=this.search_contains?"":"",f=new RegExp(g+k.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),n=new RegExp(k.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),s=this.results_data;for(o=0,q=s.length;o=0||c.html.indexOf("[")===0){e=c.html.replace(/\[|\]/g,"").split(" ");if(e.length)for(p=0,r=e.length;p"+c.html.substr(l+k.length),m=m.substr(0,l)+""+m.substr(l)):m=c.html,h.html(m),this.result_activate(h),c.group_array_index!=null&&a("#"+this.results_data[c.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&i===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(h))}}return j<1&&k.length?this.no_results(k):this.winnow_results_set_highlight()},e.prototype.winnow_results_clear=function(){var b,c,d,e,f;this.search_field.val(""),c=this.search_results.find("li"),f=[];for(d=0,e=c.length;d'+this.results_none_found+' ""'),c.find("span").first().html(b),this.search_results.append(c)},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var b,c;this.result_highlight?this.results_showing&&(c=this.result_highlight.nextAll("li.active-result").first(),c&&this.result_do_highlight(c)):(b=this.search_results.find("li.active-result").first(),b&&this.result_do_highlight(a(b)));if(!this.results_showing)return this.results_show()},e.prototype.keyup_arrow=function(){var a;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},e.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus"))},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},e.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=g.length;i",{style:f}),c.text(this.search_field.val()),a("body").append(c),h=c.width()+25,c.remove(),h>this.f_width-10&&(h=this.f_width-10),this.search_field.css({width:h+"px"}),b=this.container.height(),this.dropdown.css({top:b+"px"})}},e.prototype.generate_random_id=function(){var b;b="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+b).length>0)b+=this.generate_random_char();return b},e}(AbstractChosen),c=function(a){var b;return b=a.outerWidth()-a.width()},d.get_side_border_padding=c}.call(this); +((function(){var a;a=function(){function a(){this.options_index=0,this.parsed=[]}return a.prototype.add_node=function(a){return a.nodeName==="OPTGROUP"?this.add_group(a):this.add_option(a)},a.prototype.add_group=function(a){var b,c,d,e,f,g;b=this.parsed.length,this.parsed.push({array_index:b,group:!0,label:a.label,children:0,disabled:a.disabled}),f=a.childNodes,g=[];for(d=0,e=f.length;d"+a.html+"")},a.prototype.results_update_field=function(){return this.is_multiple||this.results_reset_cleanup(),this.result_clear_highlight(),this.result_single_selected=null,this.results_build()},a.prototype.results_toggle=function(){return this.results_showing?this.results_hide():this.results_show()},a.prototype.results_search=function(a){return this.results_showing?this.winnow_results():this.results_show()},a.prototype.keyup_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale();switch(b){case 8:if(this.is_multiple&&this.backstroke_length<1&&this.choices>0)return this.keydown_backstroke();if(!this.pending_backstroke)return this.result_clear_highlight(),this.results_search();break;case 13:a.preventDefault();if(this.results_showing)return this.result_select(a);break;case 27:return this.results_showing&&this.results_hide(),!0;case 9:case 38:case 40:case 16:case 91:case 17:break;default:return this.results_search()}},a.prototype.generate_field_id=function(){var a;return a=this.generate_random_id(),this.form_field.id=a,a},a.prototype.generate_random_char=function(){var a,b,c;return a="0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ",c=Math.floor(Math.random()*a.length),b=a.substring(c,c+1)},a}(),b.AbstractChosen=a}.call(this),function(){var a,b,c,d,e=Object.prototype.hasOwnProperty,f=function(a,b){function d(){this.constructor=a}for(var c in b)e.call(b,c)&&(a[c]=b[c]);return d.prototype=b.prototype,a.prototype=new d,a.__super__=b.prototype,a};d=this,a=jQuery,a.fn.extend({chosen:function(c){return!a.browser.msie||a.browser.version!=="6.0"&&a.browser.version!=="7.0"?this.each(function(d){var e;e=a(this);if(!e.hasClass("chzn-done"))return e.data("chosen",new b(this,c))}):this}}),b=function(b){function e(){e.__super__.constructor.apply(this,arguments)}return f(e,b),e.prototype.setup=function(){return this.form_field_jq=a(this.form_field),this.current_value=this.form_field_jq.val(),this.is_rtl=this.form_field_jq.hasClass("chzn-rtl")},e.prototype.finish_setup=function(){return this.form_field_jq.addClass("chzn-done")},e.prototype.set_up_html=function(){var b,d,e,f;return this.container_id=this.form_field.id.length?this.form_field.id.replace(/[^\w]/g,"_"):this.generate_field_id(),this.container_id+="_chzn",this.f_width=this.form_field_jq.outerWidth(),b=a("
      ",{id:this.container_id,"class":"chzn-container"+(this.is_rtl?" chzn-rtl":""),style:"width: "+this.f_width+"px;"}),this.is_multiple?b.html('
        '):b.html(''+this.default_text+'
          '),this.form_field_jq.hide().after(b),this.container=a("#"+this.container_id),this.container.addClass("chzn-container-"+(this.is_multiple?"multi":"single")),this.dropdown=this.container.find("div.chzn-drop").first(),d=this.container.height(),e=this.f_width-c(this.dropdown),this.dropdown.css({width:(e)+"px",top:d+"px"}),this.search_field=this.container.find("input").first(),this.search_results=this.container.find("ul.chzn-results").first(),this.search_field_scale(),this.search_no_results=this.container.find("li.no-results").first(),this.is_multiple?(this.search_choices=this.container.find("ul.chzn-choices").first(),this.search_container=this.container.find("li.search-field").first()):(this.search_container=this.container.find("div.chzn-search").first(),this.selected_item=this.container.find(".chzn-single").first(),f=e-c(this.search_container)-c(this.search_field),this.search_field.css({width:(f)+"px"})),this.results_build(),this.set_tab_index(),this.form_field_jq.trigger("liszt:ready",{chosen:this})},e.prototype.register_observers=function(){var a=this;return this.container.mousedown(function(b){return a.container_mousedown(b)}),this.container.mouseup(function(b){return a.container_mouseup(b)}),this.container.mouseenter(function(b){return a.mouse_enter(b)}),this.container.mouseleave(function(b){return a.mouse_leave(b)}),this.search_results.mouseup(function(b){return a.search_results_mouseup(b)}),this.search_results.mouseover(function(b){return a.search_results_mouseover(b)}),this.search_results.mouseout(function(b){return a.search_results_mouseout(b)}),this.form_field_jq.bind("liszt:updated",function(b){return a.results_update_field(b)}),this.search_field.blur(function(b){return a.input_blur(b)}),this.search_field.keyup(function(b){return a.keyup_checker(b)}),this.search_field.keydown(function(b){return a.keydown_checker(b)}),this.is_multiple?(this.search_choices.click(function(b){return a.choices_click(b)}),this.search_field.focus(function(b){return a.input_focus(b)})):this.container.click(function(a){return a.preventDefault()})},e.prototype.search_field_disabled=function(){this.is_disabled=this.form_field_jq[0].disabled;if(this.is_disabled)return this.container.addClass("chzn-disabled"),this.search_field[0].disabled=!0,this.is_multiple||this.selected_item.unbind("focus",this.activate_action),this.close_field();this.container.removeClass("chzn-disabled"),this.search_field[0].disabled=!1;if(!this.is_multiple)return this.selected_item.bind("focus",this.activate_action)},e.prototype.container_mousedown=function(b){var c;if(!this.is_disabled)return c=b!=null?a(b.target).hasClass("search-choice-close"):!1,b&&b.type==="mousedown"&&!this.results_showing&&b.stopPropagation(),!this.pending_destroy_click&&!c?(this.active_field?!this.is_multiple&&b&&(a(b.target)[0]===this.selected_item[0]||a(b.target).parents("a.chzn-single").length)&&(b.preventDefault(),this.results_toggle()):(this.is_multiple&&this.search_field.val(""),a(document).click(this.click_test_action),this.results_show()),this.activate_field()):this.pending_destroy_click=!1},e.prototype.container_mouseup=function(a){if(a.target.nodeName==="ABBR"&&!this.is_disabled)return this.results_reset(a)},e.prototype.blur_test=function(a){if(!this.active_field&&this.container.hasClass("chzn-container-active"))return this.close_field()},e.prototype.close_field=function(){return a(document).unbind("click",this.click_test_action),this.is_multiple||(this.selected_item.attr("tabindex",this.search_field.attr("tabindex")),this.search_field.attr("tabindex",-1)),this.active_field=!1,this.results_hide(),this.container.removeClass("chzn-container-active"),this.winnow_results_clear(),this.clear_backstroke(),this.show_search_field_default(),this.search_field_scale()},e.prototype.activate_field=function(){return!this.is_multiple&&!this.active_field&&(this.search_field.attr("tabindex",this.selected_item.attr("tabindex")),this.selected_item.attr("tabindex",-1)),this.container.addClass("chzn-container-active"),this.active_field=!0,this.search_field.val(this.search_field.val()),this.search_field.focus()},e.prototype.test_active_click=function(b){return a(b.target).parents("#"+this.container_id).length?this.active_field=!0:this.close_field()},e.prototype.results_build=function(){var a,b,c,e,f;this.parsing=!0,this.results_data=d.SelectParser.select_to_array(this.form_field),this.is_multiple&&this.choices>0?(this.search_choices.find("li.search-choice").remove(),this.choices=0):this.is_multiple||(this.selected_item.addClass("chzn-default").find("span").text(this.default_text),this.form_field.options.length<=this.disable_search_threshold?this.container.addClass("chzn-container-single-nosearch"):this.container.removeClass("chzn-container-single-nosearch")),a="",f=this.results_data;for(c=0,e=f.length;c'+a("
          ").text(b.label).html()+"")},e.prototype.result_do_highlight=function(a){var b,c,d,e,f;if(a.length){this.result_clear_highlight(),this.result_highlight=a,this.result_highlight.addClass("highlighted"),d=parseInt(this.search_results.css("maxHeight"),10),f=this.search_results.scrollTop(),e=d+f,c=this.result_highlight.position().top+this.search_results.scrollTop(),b=c+this.result_highlight.outerHeight();if(b>=e)return this.search_results.scrollTop(b-d>0?b-d:0);if(c'+b.html+''),d=a("#"+c).find("a").first(),d.click(function(a){return e.choice_destroy_link_click(a)}))},e.prototype.choice_destroy_link_click=function(b){return b.preventDefault(),this.is_disabled?b.stopPropagation:(this.pending_destroy_click=!0,this.choice_destroy(a(b.target)))},e.prototype.choice_destroy=function(a){return this.choices-=1,this.show_search_field_default(),this.is_multiple&&this.choices>0&&this.search_field.val().length<1&&this.results_hide(),this.result_deselect(a.attr("rel")),a.parents("li").first().remove()},e.prototype.results_reset=function(){this.form_field.options[0].selected=!0,this.selected_item.find("span").text(this.default_text),this.is_multiple||this.selected_item.addClass("chzn-default"),this.show_search_field_default(),this.results_reset_cleanup(),this.form_field_jq.trigger("change");if(this.active_field)return this.results_hide()},e.prototype.results_reset_cleanup=function(){return this.selected_item.find("abbr").remove()},e.prototype.result_select=function(a){var b,c,d,e;if(this.result_highlight)return b=this.result_highlight,c=b.attr("id"),this.result_clear_highlight(),this.is_multiple?this.result_deactivate(b):(this.search_results.find(".result-selected").removeClass("result-selected"),this.result_single_selected=b,this.selected_item.removeClass("chzn-default")),b.addClass("result-selected"),e=c.substr(c.lastIndexOf("_")+1),d=this.results_data[e],d.selected=!0,this.form_field.options[d.options_index].selected=!0,this.is_multiple?this.choice_build(d):(this.selected_item.find("span").first().text(d.text),this.allow_single_deselect&&this.single_deselect_control_build()),(!a.metaKey||!this.is_multiple)&&this.results_hide(),this.search_field.val(""),(this.is_multiple||this.form_field_jq.val()!==this.current_value)&&this.form_field_jq.trigger("change",{selected:this.form_field.options[d.options_index].value}),this.current_value=this.form_field_jq.val(),this.search_field_scale()},e.prototype.result_activate=function(a){return a.addClass("active-result")},e.prototype.result_deactivate=function(a){return a.removeClass("active-result")},e.prototype.result_deselect=function(b){var c,d;return d=this.results_data[b],d.selected=!1,this.form_field.options[d.options_index].selected=!1,c=a("#"+this.container_id+"_o_"+b),c.removeClass("result-selected").addClass("active-result").show(),this.result_clear_highlight(),this.winnow_results(),this.form_field_jq.trigger("change",{deselected:this.form_field.options[d.options_index].value}),this.search_field_scale()},e.prototype.single_deselect_control_build=function(){if(this.allow_single_deselect&&this.selected_item.find("abbr").length<1)return this.selected_item.find("span").first().after('')},e.prototype.winnow_results=function(){var b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s;this.no_results_clear(),j=0,k=this.search_field.val()===this.default_text?"":a("
          ").text(a.trim(this.search_field.val())).html(),g=this.search_contains?"":"",f=new RegExp(g+k.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),n=new RegExp(k.replace(/[-[\]{}()*+?.,\\^$|#\s]/g,"\\$&"),"i"),s=this.results_data;for(o=0,q=s.length;o=0||c.html.indexOf("[")===0){e=c.html.replace(/\[|\]/g,"").split(" ");if(e.length)for(p=0,r=e.length;p"+c.html.substr(l+k.length),m=m.substr(0,l)+""+m.substr(l)):m=c.html,h.html(m),this.result_activate(h),c.group_array_index!=null&&a("#"+this.results_data[c.group_array_index].dom_id).css("display","list-item")):(this.result_highlight&&i===this.result_highlight.attr("id")&&this.result_clear_highlight(),this.result_deactivate(h))}}return j<1&&k.length?this.no_results(k):this.winnow_results_set_highlight()},e.prototype.winnow_results_clear=function(){var b,c,d,e,f;this.search_field.val(""),c=this.search_results.find("li"),f=[];for(d=0,e=c.length;d'+this.results_none_found+' ""'),c.find("span").first().html(b),this.search_results.append(c)},e.prototype.no_results_clear=function(){return this.search_results.find(".no-results").remove()},e.prototype.keydown_arrow=function(){var b,c;this.result_highlight?this.results_showing&&(c=this.result_highlight.nextAll("li.active-result").first(),c&&this.result_do_highlight(c)):(b=this.search_results.find("li.active-result").first(),b&&this.result_do_highlight(a(b)));if(!this.results_showing)return this.results_show()},e.prototype.keyup_arrow=function(){var a;if(!this.results_showing&&!this.is_multiple)return this.results_show();if(this.result_highlight)return a=this.result_highlight.prevAll("li.active-result"),a.length?this.result_do_highlight(a.first()):(this.choices>0&&this.results_hide(),this.result_clear_highlight())},e.prototype.keydown_backstroke=function(){return this.pending_backstroke?(this.choice_destroy(this.pending_backstroke.find("a").first()),this.clear_backstroke()):(this.pending_backstroke=this.search_container.siblings("li.search-choice").last(),this.single_backstroke_delete?this.keydown_backstroke():this.pending_backstroke.addClass("search-choice-focus"))},e.prototype.clear_backstroke=function(){return this.pending_backstroke&&this.pending_backstroke.removeClass("search-choice-focus"),this.pending_backstroke=null},e.prototype.keydown_checker=function(a){var b,c;b=(c=a.which)!=null?c:a.keyCode,this.search_field_scale(),b!==8&&this.pending_backstroke&&this.clear_backstroke();switch(b){case 8:this.backstroke_length=this.search_field.val().length;break;case 9:this.results_showing&&!this.is_multiple&&this.result_select(a),this.mouse_on_container=!1;break;case 13:a.preventDefault();break;case 38:a.preventDefault(),this.keyup_arrow();break;case 40:this.keydown_arrow()}},e.prototype.search_field_scale=function(){var b,c,d,e,f,g,h,i,j;if(this.is_multiple){d=0,h=0,f="position:absolute; left: -1000px; top: -1000px; display:none;",g=["font-size","font-style","font-weight","font-family","line-height","text-transform","letter-spacing"];for(i=0,j=g.length;i",{style:f}),c.text(this.search_field.val()),a("body").append(c),h=c.width()+25,c.remove(),h>this.f_width-10&&(h=this.f_width-10),this.search_field.css({width:h+"px"}),b=this.container.height(),this.dropdown.css({top:b+"px"})}},e.prototype.generate_random_id=function(){var b;b="sel"+this.generate_random_char()+this.generate_random_char()+this.generate_random_char();while(a("#"+b).length>0)b+=this.generate_random_char();return b},e}(AbstractChosen),c=function(a){var b;return b=a.outerWidth()-a.width()},d.get_side_border_padding=c}.call(this); diff --git a/www/theme/default/chosen.css b/www/theme/default/chosen.css index 5110c1b5e0..f4c3a33284 100644 --- a/www/theme/default/chosen.css +++ b/www/theme/default/chosen.css @@ -7,13 +7,14 @@ *display: inline; } .chzn-container .chzn-drop { - background: #fff; + background: #fafafa; border: 1px solid #aaa; border-top: 0; position: absolute; top: 29px; left: 0; z-index: 1010; + box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2); } /* @end */ @@ -23,19 +24,23 @@ -moz-background-clip : padding; -webkit-background-clip: padding-box; background-clip : padding-box; - border: 1px solid #aaaaaa; + border: 1px solid #ccc; display: block; overflow: hidden; white-space: nowrap; position: relative; height: 20px; line-height: 20px; - padding: 0 0 0 8px; + padding:3px 4px; color: #444444; text-decoration: none; -moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px; + -webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075); + -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; + transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s; } -.chzn-container-single .chzn-single.chzn-single-with-drop{border-color: #2564A3;} +.chzn-container-single .chzn-single.chzn-single-with-drop{border-color: #aaa;background-color: #fafafa;box-shadow: 0 5px 10px rgba(0, 0, 0, 0.2);} .chzn-container-single .chzn-single div { position: absolute; @@ -59,13 +64,7 @@ z-index: 1010; } .chzn-container-single .chzn-search input { - background: #fff url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px; - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, -webkit-gradient(linear, 0% 0%, 0% 100%, color-stop(1%, #eeeeee), color-stop(15%, #ffffff)); - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, -webkit-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, -moz-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, -o-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, -ms-linear-gradient(top, #eeeeee 1%, #ffffff 15%); - background: url('./images/chosen/chosen-sprite.png') no-repeat 100% -22px, linear-gradient(top, #eeeeee 1%, #ffffff 15%); + background: #fff url('./images/chosen/chosen-sprite.png') no-repeat 100% -21px; margin: 1px 0; padding: 4px 20px 4px 5px; outline: 0; @@ -214,7 +213,6 @@ /* @end */ /* Product and project seleteGroup. */ -.chzn-container-single .chzn-single div b {background: url('./images/chosen/chosen-sprite.png') no-repeat 0 -2px;} #navbar ul .chzn-results li {margin:0; padding:0px 0px 0px 5px; float:none; text-align:left; list-style-type:none; font-size:14px} #navbar ul .chzn-results .active-result {padding:0px 0px 0px 25px;} From 739b9d15fd477f5c89271d091dd18b800015440f Mon Sep 17 00:00:00 2001 From: Catouse Date: Thu, 31 Oct 2013 22:34:34 +0800 Subject: [PATCH 34/48] * ajust style. --- www/theme/default/style.css | 16 +++++++++++----- 1 file changed, 11 insertions(+), 5 deletions(-) diff --git a/www/theme/default/style.css b/www/theme/default/style.css index a72e17ecb0..e2382f9683 100644 --- a/www/theme/default/style.css +++ b/www/theme/default/style.css @@ -130,12 +130,12 @@ i[class^="icon-"].disabled,i[class*=" icon-"].disabled,i[class^="icon-"].disable .diff-sort:before{content: "\f036";} /*-----------------------BUTTONS -----------------------------------*/ -.btn,a.btn,.button-s,.button-c,.button-b,#reversechecker,#allchecker{padding: 4px 15px;background-color: #f8f8f8;-webkit-transition: border-color .3s;-moz-transition: border-color .3s;-o-transition: border-color .3s;transition: border-color .3s;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;border: 1px solid #dcdcdc;margin: 0 10px 0 0;position: relative;display: inline-block;*display: inline;*zoom: 1;cursor: pointer;text-shadow: 0 1px 0 #fff;text-decoration: none;line-height: 1.5;font-size: 14px;color: #444;transition-delay: 0,0;transition-duration: .5s,.5s;transition-property: all;} +.btn,a.btn,.button-s,.button-c,.button-b,#reversechecker,#allchecker,#goto{padding: 4px 15px;background-color: #f8f8f8;-webkit-transition: border-color .3s;-moz-transition: border-color .3s;-o-transition: border-color .3s;transition: border-color .3s;-webkit-border-radius: 2px;-moz-border-radius: 2px;border-radius: 2px;border: 1px solid #dcdcdc;margin: 0 10px 0 0;position: relative;display: inline-block;*display: inline;*zoom: 1;cursor: pointer;text-shadow: 0 1px 0 #fff;text-decoration: none;line-height: 1.5;font-size: 14px;color: #444;transition-delay: 0,0;transition-duration: .5s,.5s;transition-property: all;} .btn-primary,a.btn-primary {background-color: #114F8E;border: 1px solid #036;text-shadow: none;color: #fff;} -.btn.mini {padding: 3px 12px;line-height: 1;} +.btn.mini,#goto {padding: 3px 12px;line-height: 1;} .btn.large {padding: 7px 20px;line-height: 2;font-size: 14px;} .btn-danger{background-color: #d20b0b;border-color: transparent;text-shadow: none;color: #fff;} -.btn:hover,.button-c:hover,.button-s:hover,.button-b:hover,#allchecker:hover,#reversechecker:hover,#moreAction:hover {background-color: #eee; border-color: #999;-webkit-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);text-decoration: none;} +.btn:hover,.button-c:hover,.button-s:hover,.button-b:hover,#allchecker:hover,#reversechecker:hover,#moreAction:hover,#goto:hover {background-color: #eee; border-color: #999;-webkit-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);-moz-box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);box-shadow: 0 2px 1px rgba(0, 0, 0, 0.05);text-decoration: none;} .btn-danger:hover{background-color: #d92525;border-color: #ca0000;} .btn.btn-primary:hover {background-color: #2E6DAD;border-color: #114F8E;} .btn.disabled,.btn[disabled=disabled] {cursor: not-allowed;background: #eeeeee;color: #ccc; border: 1px solid #dfdfdf;text-shadow: 0 1px 0 #fff;} @@ -148,7 +148,7 @@ i[class^="icon-"].disabled,i[class*=" icon-"].disabled,i[class^="icon-"].disable /*---------------------------Form Controls---------------------------*/ select,textarea,input[type="text"],input[type="password"],input[type="datetime"],input[type="datetime-local"],input[type="date"], input[type="month"],input[type="time"],input[type="week"],input[type="number"],input[type="email"],input[type="url"], -input[type="search"],input[type="tel"],input[type="color"] {display: inline-block;height: 18px;padding: 4px;font-size: 14px;line-height: 1.428571429;color: #333333;vertical-align: middle;background-color: #ffffff;border: 1px solid #ccc;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;} +input[type="search"],input[type="tel"],input[type="color"] {display: inline-block;height: 18px;padding: 4px;font-size: 12px;line-height: 1.428571429;color: #333333;vertical-align: middle;background-color: #ffffff;border: 1px solid #ccc;-moz-border-radius:2px; -webkit-border-radius:2px; border-radius:2px;-webkit-box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);box-shadow: inset 0 1px 1px rgba(0, 0, 0, 0.075);-webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;} input[type="file"],select{height: 26px;} select:focus,textarea:focus,input[type="text"]:focus,input[type="password"]:focus,input[type="datetime"]:focus,input[type="datetime-local"]:focus,input[type="date"]:focus,input[type="month"]:focus,input[type="time"]:focus,input[type="week"]:focus,input[type="number"]:focus,input[type="email"]:focus,input[type="url"]:focus, input[type="search"]:focus,input[type="tel"]:focus,input[type="color"]:focus {border-color: #2564A3;outline: 0;} @@ -163,6 +163,7 @@ input[type="month"][readonly],input[type="time"][readonly],input[type="week"][re input[type="number"][readonly],input[type="email"][readonly],input[type="url"][readonly], input[type="search"][readonly],input[type="tel"][readonly],input[type="color"][readonly]{cursor: not-allowed;background-color: #e9e9e9;} select[multiple],textarea{height: auto;} +select{padding: 4px 1px;} /*-----------------------LAYOUT SETTING ----------------------------*/ #wrap{ padding:0 19px 20px 19px; background:#e5e5e5;} @@ -232,6 +233,7 @@ select[multiple],textarea{height: auto;} /*-----------------------FORM SETTING----------------------------*/ .text-1 {width: 90%} +td>.text-1{padding-left:2px;padding-right: 2px} .text-2 {width: 120px} .text-3 {width: 240px} select.text-3 {width: 250px} @@ -245,6 +247,7 @@ select.select-1 {width: 90%} select.select-3{width: 255px;} .select-4 {width: 360px} .select-5 {width: 480px} +td>select{padding-left: 0;padding-right: 0} .area-1{width: 90%;} .area-2{width: 120px} @@ -582,7 +585,10 @@ table.data-table td:last-child{padding-right: 20px;} .debugwin {display:none; width:50px; height:20px; bottom:50px; position:fixed;} /* Pager. */ -.pager {margin-bottom:0} +.pager {margin-bottom:0;line-height: 26px;} +#_recPerPage{height: 22px;} +#_pageID,#_recPerPage{padding: 1px} +#goto{padding-left: 2px;padding-right: 2px;} /* Search. */ #searchform .searchSelect, #searchform .searchInput, #searchform #queryID{background:#f9f9f9;} From ddf7ba8352f96821ff7fb223a45a918c009a133e Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 00:19:02 +0000 Subject: [PATCH 35/48] * adjust icon for delete file. --- module/file/view/printfiles.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/file/view/printfiles.html.php b/module/file/view/printfiles.html.php index bc10167af0..f7efa30aff 100644 --- a/module/file/view/printfiles.html.php +++ b/module/file/view/printfiles.html.php @@ -34,7 +34,7 @@ function downloadFile(fileID) { if(common::hasPriv('file', 'download')) echo html::a($this->createLink('file', 'download', "fileID=$file->id") . $sessionString, $file->title .'.' . $file->extension, '_blank', "onclick='return downloadFile($file->id)'"); common::printLink('file', 'edit', "fileID=$file->id", $lang->file->edit, '', "class='edit'"); - if(common::hasPriv('file', 'delete')) echo html::commonButton(' x ', "onclick='deleteFile($file->id)'"); + if(common::hasPriv('file', 'delete')) echo ""; } ?>
          From 3ec6e8ebc92875b1f46c94c30bdf5684d8efb2ee Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 08:23:49 +0800 Subject: [PATCH 36/48] * change delete file icon to plus sign. --- module/file/view/printfiles.html.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/module/file/view/printfiles.html.php b/module/file/view/printfiles.html.php index f7efa30aff..ca9fb4c24e 100644 --- a/module/file/view/printfiles.html.php +++ b/module/file/view/printfiles.html.php @@ -34,7 +34,7 @@ function downloadFile(fileID) { if(common::hasPriv('file', 'download')) echo html::a($this->createLink('file', 'download', "fileID=$file->id") . $sessionString, $file->title .'.' . $file->extension, '_blank', "onclick='return downloadFile($file->id)'"); common::printLink('file', 'edit', "fileID=$file->id", $lang->file->edit, '', "class='edit'"); - if(common::hasPriv('file', 'delete')) echo ""; + if(common::hasPriv('file', 'delete')) echo ""; } ?>
          From bff10957b0f8f86fc6acd09f9605ab1d222d70f9 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 00:41:45 +0000 Subject: [PATCH 37/48] * fix bug #523. --- module/product/view/ajaxgetdropmenu.html.php | 2 +- module/project/view/ajaxgetdropmenu.html.php | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/module/product/view/ajaxgetdropmenu.html.php b/module/product/view/ajaxgetdropmenu.html.php index b704172797..2829801541 100644 --- a/module/product/view/ajaxgetdropmenu.html.php +++ b/module/product/view/ajaxgetdropmenu.html.php @@ -2,7 +2,7 @@ -search->common;?>'> +search->common;?>' />
          diff --git a/module/project/view/ajaxgetdropmenu.html.php b/module/project/view/ajaxgetdropmenu.html.php index a5ccd54778..bda6165988 100644 --- a/module/project/view/ajaxgetdropmenu.html.php +++ b/module/project/view/ajaxgetdropmenu.html.php @@ -2,7 +2,7 @@ -search->common;?>'> +search->common;?>' />
          From c1df06ee5008102afe891db49d84b3260e2db200 Mon Sep 17 00:00:00 2001 From: Catouse Date: Fri, 1 Nov 2013 08:43:35 +0800 Subject: [PATCH 38/48] * ajust style of customfield. --- module/bug/css/customfields.css | 13 ++++++++++++- module/bug/view/customfields.html.php | 18 +++++++----------- www/theme/default/style.css | 1 + 3 files changed, 20 insertions(+), 12 deletions(-) diff --git a/module/bug/css/customfields.css b/module/bug/css/customfields.css index b0af541033..6dcb9ac5fe 100644 --- a/module/bug/css/customfields.css +++ b/module/bug/css/customfields.css @@ -1,2 +1,13 @@ body{background:white; overflow:hidden;} -.button-c {width:100px} +.btn-group .btn +{ + display: block; + width: 80px; + text-align: center; + margin-top: -1px; +} +.btn-group .btn:hover{z-index: 9999;} +.btn-group .btn i +{ + line-height: 21px; +} \ No newline at end of file diff --git a/module/bug/view/customfields.html.php b/module/bug/view/customfields.html.php index b7c27f8d98..d544c8d7a5 100644 --- a/module/bug/view/customfields.html.php +++ b/module/bug/view/customfields.html.php @@ -28,19 +28,15 @@ echo html::select('defaultFields[]', $defaultFields, '', 'class=hidden'); ?>
          - ', "onclick=\"addItem('allFields', 'customFields')\"") . '
          '; - echo html::commonButton('<', "onclick=delItem('customFields')") . '
          '; - ?> +
          + + - '; - echo html::commonButton('-', "onclick=downItem('customFields')") . '
          '; - echo html::commonButton($lang->bug->restoreDefault, "onclick=restoreDefault()") . '
          '; - ?> +
          + + + bug->restoreDefault;?>
          comment;?>
          goback, $this->server->http_referer);?>
          bug->steps;?> +
          -
          fetch('bug', 'buildTemplates');?>
          +
          fetch('bug', 'buildTemplates');?>
          + +
          + From f73f6c39b7f97f949860ce9e0de22d33bd58a064 Mon Sep 17 00:00:00 2001 From: wyd621 Date: Fri, 1 Nov 2013 03:37:25 +0000 Subject: [PATCH 48/48] * add view file for misc-qrcode. --- module/misc/view/qrcode.html.php | 6 ++++++ 1 file changed, 6 insertions(+) create mode 100644 module/misc/view/qrcode.html.php diff --git a/module/misc/view/qrcode.html.php b/module/misc/view/qrcode.html.php new file mode 100644 index 0000000000..618f808511 --- /dev/null +++ b/module/misc/view/qrcode.html.php @@ -0,0 +1,6 @@ + + + + +
          misc->mobile?>
          +