Merge branch 'master' of github.com:easysoft/zentaopms

This commit is contained in:
xia0ta0
2013-11-01 13:50:18 +08:00
68 changed files with 278 additions and 215 deletions
+5 -5
View File
@@ -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
+6 -6
View File
@@ -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"
+3 -2
View File
@@ -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;
}
}
@@ -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));
}
+6
View File
@@ -1592,6 +1592,12 @@ class router
$errorLog = "\n" . date('H:i:s') . " $message in <strong>$file</strong> on line <strong>$line</strong> ";
$errorLog .= "when visiting <strong>" . $this->getURI() . "</strong>\n";
/* If the ip is pulic, hidden the full path of scripts. */
if(!defined('IN_SHELL') and !validater::checkIP($this->server->server_addr, 'private'))
{
$errorLog = str_replace($this->getBasePath(), '', $errorLog);
}
/* Save to log file. */
$errorFile = $this->getLogRoot() . 'php.' . date('Ymd') . '.log';
$fh = @fopen($errorFile, 'a');
+2 -2
View File
@@ -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;
}
}
+2
View File
@@ -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;
+3 -1
View File
@@ -1,2 +1,4 @@
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;}
+2 -1
View File
@@ -1236,6 +1236,7 @@ class bugModel extends model
{
return $this->dao->findByResolution('postponed')->from(TABLE_BUG)->andWhere('product')->eq($productID)
->andWhere('project')->in(array_keys($projects))
->andWhere('deleted')->eq(0)
->orderBy($orderBy)->page($pager)->fetchAll();
}
@@ -1255,9 +1256,9 @@ class bugModel extends model
return $this->dao->select('t1.*, t2.title AS storyTitle')->from(TABLE_BUG)->alias('t1')->leftJoin(TABLE_STORY)->alias('t2')->on('t1.story = t2.id')
->where("t2.status = 'active'")
->andWhere('t1.product')->eq($productID)
->andWhere('t1.deleted')->eq(0)
->andWhere('t2.version > t1.storyVersion')
->andWhere('t1.project')->in(array_keys($projects))
->andWhere('t1.deleted')->eq(0)
->orderBy($orderBy)
->page($pager)
->fetchAll();
+1 -1
View File
@@ -33,7 +33,7 @@
<td><?php echo $i+1;?></td>
<td class='a-left' style='overflow:visible'><?php echo html::select("modules[$i]", $moduleOptionMenu, $moduleID, "class='select-1'");?></td>
<td><?php echo html::select("projects[$i]", $projects, $projectID, "class='select-1' onchange='loadProjectBuilds($productID, this.value, $i)'");?></td>
<td class='a-left chosenBox' style='overflow:visible' id='buildBox<?php echo $i;?>'><?php echo html::select("openedBuilds[$i][]", $builds, '', "class='select-1' multiple data-placeholder='{$lang->bug->placeholder->chooseBuilds}'");?></td>
<td class='a-left chosenBox' style='overflow:visible' id='buildBox<?php echo $i;?>'><?php echo html::select("openedBuilds[$i][]", $builds, '', "class='select-1' multiple data-placeholder=' '");?></td>
<td><?php echo html::input("titles[$i]", '', 'class=select-1');?></td>
<td><?php echo html::textarea("stepses[$i]", '', "rows='1' class=text-1");?></td>
<td><?php echo html::select("types[$i]", $lang->bug->typeList, '');?></td>
+2 -2
View File
@@ -6,8 +6,8 @@ KindEditor.lang({'savetemplate' : '<?php echo $lang->bug->saveTemplate;?>'});
foreach($templates as $key => $template)
{
echo "<span id='tplBox$template->id'>";
echo '&nbsp; ' . $lang->arrow. " <span id='tplTitleBox$template->id' onclick='setTemplate($template->id)' style='text-decoration:underline; color:blue' class='hand'>$template->title</span>";
echo "&nbsp; <a href='javascript:void();' onclick='deleteTemplate($template->id)' class='link-icon'><i class='icon-remove icon-sm'></i></a>";
echo '<nobr>' . $lang->arrow. " <span id='tplTitleBox$template->id' onclick='setTemplate($template->id)' style='text-decoration:underline; color:blue' class='hand'>$template->title</span>";
echo "&nbsp; <a href='javascript:void();' onclick='deleteTemplate($template->id)' class='link-icon'><i class='icon-remove icon-sm'></i></a></nobr>";
echo "<span id='template$template->id' class='hidden'>$template->content</span>";
echo '<br /></span>';
}
+1 -1
View File
@@ -34,7 +34,7 @@ js::set('page', 'confirmbug');
</tr>
<tr>
<td class='rowhead'><?php echo $lang->comment;?></td>
<td><?php echo html::textarea('comment', '', "rows='6' class='w-p98'");?></td>
<td><?php echo html::textarea('comment', '', "rows='6' class='w-p94'");?></td>
</tr>
<tr>
<td colspan='2' class='a-center'><?php echo html::submitButton() . html::linkButton($lang->goback, $this->server->http_referer);?></td>
+2 -2
View File
@@ -64,9 +64,9 @@ js::set('refresh', $lang->refresh);
</tr>
<tr>
<th class='rowhead'><?php echo $lang->bug->steps;?></th>
<td>
<td style='position:relative'>
<div class='w-p85 bd-none padding-zero f-left'><?php echo html::textarea('steps', $steps, "rows='10'");?></div>
<div class='bd-none pl-10px f-left' id='tplBox'><?php echo $this->fetch('bug', 'buildTemplates');?></div>
<div class='bd-none' id='tplBox' style='position:absolute;top:0px;left:86%'><?php echo $this->fetch('bug', 'buildTemplates');?></div>
</td>
</tr>
<tr>
+7 -11
View File
@@ -28,19 +28,15 @@
echo html::select('defaultFields[]', $defaultFields, '', 'class=hidden');
?>
</td>
<td>
<?php
echo html::commonButton('>', "onclick=\"addItem('allFields', 'customFields')\"") . '<br />';
echo html::commonButton('<', "onclick=delItem('customFields')") . '<br />';
?>
<td class='v-middle btn-group'>
<a class='btn' onclick="addItem('allFields', 'customFields')"><i class="icon-chevron-right"></i></a>
<a class='btn' onclick="delItem('customFields')"><i class="icon-chevron-left"></i></a>
</td>
<td><?php echo html::select('customFields[]', $customFields, '', 'class=select-2 size=10 multiple');?></td>
<td>
<?php
echo html::commonButton('+', "onclick=upItem('customFields')") . '<br />';
echo html::commonButton('-', "onclick=downItem('customFields')") . '<br />';
echo html::commonButton($lang->bug->restoreDefault, "onclick=restoreDefault()") . '<br />';
?>
<td class='v-middle btn-group'>
<a class='btn' onclick="upItem('customFields')"><i class="icon-plus"></i></a>
<a class='btn' onclick="downItem('customFields')"><i class="icon-minus"></i></a>
<a class='btn' onclick='restoreDefault()'><?php echo $lang->bug->restoreDefault;?></a>
</td>
</tr>
<tr><td colspan='4' class='a-center'><?php echo html::submitButton('', 'onclick=selectItem("customFields")');?></td></tr>
+1 -1
View File
@@ -44,7 +44,7 @@ js::set('oldResolvedBuild' , $bug->resolvedBuild);
<tr class='bd-none'><td class='bd-none'>
<fieldset>
<legend><?php echo $lang->bug->legendSteps;?></legend>
<?php echo html::textarea('steps', htmlspecialchars($bug->steps), "rows='12' class='area-1'");?>
<?php echo html::textarea('steps', $bug->steps, "rows='12' class='area-1'");?>
</fieldset>
<fieldset>
<legend><?php echo $lang->bug->legendComment;?></legend>
+3 -3
View File
@@ -44,9 +44,9 @@
<th class='rowhead'><?php echo $lang->build->linkStoriesAndBugs;?></th>
<td>
<table class='w-p90 bd-none' style='margin-bottom:0px'>
<table class='bd-none' style='margin-bottom:0px;width:91%'>
<tr>
<td class='w-p50'>
<td class='w-p50' style='padding-left:0px;padding-right:8px;'>
<table class='mainTable'>
<caption style='padding-left:3px'><?php echo html::selectAll('story', 'checkbox') . ' ' . $lang->build->linkStories;?></caption>
<tr style='border-bottom:none'>
@@ -71,7 +71,7 @@
</table>
</td>
<td class='w-p50'>
<td class='w-p50' style='padding-left:0px;padding-right:0px;'>
<table class='mainTable'>
<caption style='padding-left:3px'><?php echo html::selectAll('bug', 'checkbox') . ' ' . $lang->build->linkBugs;?></caption>
<tr style='border-bottom:none'>
+4 -4
View File
@@ -44,9 +44,9 @@
<th class='rowhead'><?php echo $lang->build->linkStoriesAndBugs;?></th>
<td>
<table class='w-p90 bd-none' style='margin-bottom:0px'>
<table class='bd-none' style='margin-bottom:0px;width:91%'>
<tr>
<td class='w-p50'>
<td class='w-p50' style='padding-left:0px;padding-right:8px'>
<table class='mainTable bd-none'>
<tr style='border-bottom:none'>
<td style='border-bottom:none;padding:0px'>
@@ -81,7 +81,7 @@
</table>
</td>
<td class='w-p50'>
<td class='w-p50' style='padding-left:0px;padding-right:0px;'>
<table class='mainTable bd-none'>
<tr style='border-bottom:none'>
<td style='border-bottom:none; padding:0px'>
@@ -121,7 +121,7 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->build->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($build->desc), "rows='15' class='area-1'");?></td>
<td><?php echo html::textarea('desc', $build->desc, "rows='15' class='area-1'");?></td>
</tr>
<tr><td colspan='2' class='a-center'><?php echo html::submitButton() . html::backButton() .html::hidden('project', $build->project);?></td></tr>
</table>
+1 -12
View File
@@ -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;
@@ -542,18 +543,6 @@ class commonModel extends model
echo html::a(helper::createLink('misc', 'qrCode'), "<i class='icon-mobile-phone icon-large'></i>" . $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)
*
+1 -1
View File
@@ -153,7 +153,7 @@ $(function(){
<form method='post' action='<?php echo $this->createLink('action', 'editComment', "actionID=$action->id")?>'>
<table align='center' class='table-1'>
<tr><td><?php echo html::textarea('lastComment', $action->comment,"rows='5' class='w-p100'");?></td></tr>
<tr><td><?php echo html::submitButton() . html::commonButton($lang->goback, "onclick='toggleComment($action->id)' class='button-s'");?></td></tr>
<tr><td><?php echo html::submitButton() . html::commonButton($lang->goback, "onclick='toggleComment($action->id)' class='button-b'");?></td></tr>
</table>
</form>
</div>
+1
View File
@@ -11,6 +11,7 @@ $clientTheme = $this->app->getClientTheme();
<html xmlns='http://www.w3.org/1999/xhtml'>
<head>
<meta http-equiv='Content-Type' content='text/html; charset=utf-8' />
<meta http-equiv='X-UA-Compatible' content='IE=edge'>
<?php
echo html::title($title . ' - ' . $lang->zentaoPMS);
+1 -1
View File
@@ -6,4 +6,4 @@ if($config->debug)
js::import($jsRoot . 'jquery/treeview/min.js');
}
?>
<script language='javascript'>$(function() { $(".tree").treeview({ persist: "cookie", collapsed: false, unique: false}) })</script>
<script language='javascript'>$(function() { $(".tree").treeview({ persist: "cookie", collapsed: true, unique: false}) })</script>
+1 -1
View File
@@ -43,7 +43,7 @@ $(document).ready(function()
</tr>
<tr id='contentBox' class='hidden'>
<th class='rowhead'><?php echo $lang->doc->content;?></th>
<td><?php echo html::textarea('content', htmlspecialchars($doc->content), "class='text-1' rows='8' style='width:90%; height:200px'");?></td>
<td><?php echo html::textarea('content', $doc->content, "class='text-1' rows='8' style='width:90%; height:200px'");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->doc->digest;?></th>
+2 -2
View File
@@ -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);
}
/**
+1 -1
View File
@@ -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 "<a class='link-icon' href='###' onclick='deleteFile($file->id)'><i class='icon-remove'></i></a>";
}
?>
</div>
+9 -4
View File
@@ -129,10 +129,15 @@ class misc extends control
public function qrCode()
{
$loginAPI = common::getSysURL() . $this->config->webRoot;
if($this->loadModel('user')->isLogon()) $loginAPI .= "?sid=" . session_ID();
$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($loginAPI, 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);
}
}
+2 -1
View File
@@ -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 = "the entrance of mobile browser: %s.";
$lang->misc->mobile = "Mobile access";
$lang->misc->noGDLib = "Please visit:<strong>%s</strong>.";
$lang->misc->copyright = "Copyright &copy;2009-2013 <a href='http://www.cnezsoft.com' target='_blank'>Nature EasySoft Network Tecnology Co.ltd, QingDao, China</a>";
+2 -1
View File
@@ -46,5 +46,6 @@ $lang->misc->zentao->service['install'] = '禅道安装服务';
$lang->misc->zentao->service['fixissue'] = '禅道问题解决';
$lang->misc->zentao->service['servicemore']= '更多服务...';
$lang->misc->noGDLib = "请用手机浏览器直接访问:%s";
$lang->misc->mobile = "手机访问";
$lang->misc->noGDLib = "请用手机浏览器访问:<strong>%s</strong>";
$lang->misc->copyright = "版权所有 &copy;2009-2013 <a href='http://www.cnezsoft.com' target='_blank'>青岛易软天创网络科技有限公司</a>";
+6
View File
@@ -0,0 +1,6 @@
<?php include '../../common/view/header.lite.html.php';?>
<table class='table-1' style='margin-top:100px;'>
<caption><?php echo $lang->misc->mobile?></caption>
<tr><td><?php echo $noGDLib?></td></tr>
</table>
<?php include '../../common/view/footer.lite.html.php';?>
+1 -1
View File
@@ -16,7 +16,7 @@
<thead>
<tr class='colhead'>
<th class='w-id'><?php echo $lang->idAB;?></th>
<th class='w-80px'><?php echo $lang->project->code;?></th>
<th class='w-160px'><?php echo $lang->project->code;?></th>
<th><?php echo $lang->project->name;?></th>
<th class='w-date'><?php echo $lang->project->begin;?></th>
<th class='w-date'><?php echo $lang->project->end;?></th>
+7 -1
View File
@@ -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();
}
+6 -1
View File
@@ -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;
}
/**
+1 -1
View File
@@ -2,7 +2,7 @@
<?php js::set('module', $module);?>
<?php js::set('method', $method);?>
<?php js::set('extra', $extra);?>
<input type='text' class='gray' id='search' value='' onkeyup='searchItems(this.value, "product", productID, module, method, extra)' placeholder='<?php echo $this->app->loadLang('search')->search->common;?>'>
<input type='text' class='gray' id='search' value='' onkeyup='searchItems(this.value, "product", productID, module, method, extra)' autocomplete="off" placeholder='<?php echo $this->app->loadLang('search')->search->common;?>' />
<div id='searchResult'>
<div id='defaultMenu' class='f-left'>
+1 -1
View File
@@ -41,7 +41,7 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->product->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($product->desc), "rows='8' class='area-1'");?></td>
<td><?php echo html::textarea('desc', $product->desc, "rows='8' class='area-1'");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->product->acl;?></th>
+1 -1
View File
@@ -34,7 +34,7 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->productplan->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($plan->desc), "rows='10' class='area-1'");?></td>
<td><?php echo html::textarea('desc', $plan->desc, "rows='10' class='area-1'");?></td>
</tr>
<tr>
<td colspan='2' class='a-center'>
+7 -1
View File
@@ -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();
}
+1 -1
View File
@@ -2,7 +2,7 @@
<?php js::set('module', $module);?>
<?php js::set('method', $method);?>
<?php js::set('extra', $extra);?>
<input type='text' class='gray' id='search' value='' onkeyup='searchItems(this.value, "project", projectID, module, method, extra)' placeholder='<?php echo $this->app->loadLang('search')->search->common;?>'>
<input type='text' class='gray' id='search' value='' onkeyup='searchItems(this.value, "project", projectID, module, method, extra)' autocomplete="off" placeholder='<?php echo $this->app->loadLang('search')->search->common;?>' />
<div id='searchResult'>
<div id='defaultMenu' class='f-left'>
+2 -2
View File
@@ -71,11 +71,11 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->project->goal;?></th>
<td><?php echo html::textarea('goal', htmlspecialchars($project->goal), "rows='6' class='area-1'");?></td>
<td><?php echo html::textarea('goal', $project->goal, "rows='6' class='area-1'");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->project->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($project->desc), "rows='6' class='area-1'");?></td>
<td><?php echo html::textarea('desc', $project->desc, "rows='6' class='area-1'");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->project->acl;?></th>
+1 -1
View File
@@ -106,7 +106,7 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->release->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($release->desc), "rows='20' class='area-1'");?></td>
<td><?php echo html::textarea('desc', $release->desc, "rows='20' class='area-1'");?></td>
</tr>
<tr>
<td colspan='2' class='a-center'><?php echo html::submitButton() . html::backButton() . html::hidden('product', $release->product);?></td>
+10 -10
View File
@@ -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}
</style>
<script language='Javascript'>
@@ -187,7 +187,7 @@ function deleteQuery()
foreach($fieldParams as $fieldName => $param)
{
echo "<span id='box$fieldName'>";
if($param['control'] == 'select') echo html::select($fieldName, $param['values'], '', 'class=select-2 searchSelect');
if($param['control'] == 'select') echo html::select($fieldName, $param['values'], '', "class='select-2 searchSelect'");
if($param['control'] == 'input') echo html::input($fieldName, '', "class='text-2 searchInput'");
echo '</span>';
}
@@ -207,7 +207,7 @@ foreach($fieldParams as $fieldName => $param)
for($i = 1; $i <= $groupItems; $i ++)
{
$spanClass = $i == 1 ? 'inline' : 'hidden';
echo "<span id='searchbox$fieldNO' class='$spanClass'>";
echo "<div><span id='searchbox$fieldNO' class='$spanClass'>";
/* Get params of current field. */
$currentField = $formSession["field$fieldNO"];
@@ -215,7 +215,7 @@ foreach($fieldParams as $fieldName => $param)
/* Print and or. */
if($i == 1) echo "<span id='searchgroup1'><strong>{$lang->search->group1}</strong></span>" . html::hidden("andOr$fieldNO", 'AND');
if($i > 1) echo "<br />" . html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"]);
if($i > 1) echo html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"]);
/* Print field. */
echo html::select("field$fieldNO", $searchFields, $formSession["field$fieldNO"], "onchange='setField(this.value, $fieldNO)'");
@@ -235,7 +235,7 @@ foreach($fieldParams as $fieldName => $param)
echo '</span>';
$fieldNO ++;
echo '</span>';
echo '</span></div>';
}
?>
</nobr>
@@ -247,7 +247,7 @@ foreach($fieldParams as $fieldName => $param)
for($i = 1; $i <= $groupItems; $i ++)
{
$spanClass = $i == 1 ? 'inline' : 'hidden';
echo "<span id='searchbox$fieldNO' class='$spanClass'>";
echo "<div><span id='searchbox$fieldNO' class='$spanClass'>";
/* Get params of current field. */
$currentField = $formSession["field$fieldNO"];
@@ -255,7 +255,7 @@ foreach($fieldParams as $fieldName => $param)
/* Print and or. */
if($i == 1) echo "<span id='searchgroup2'><strong>{$lang->search->group2}</strong></span>" . html::hidden("andOr$fieldNO", 'AND');
if($i > 1) echo "<br />" . html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"]);
if($i > 1) echo html::select("andOr$fieldNO", $lang->search->andor, $formSession["andOr$fieldNO"]);
/* Print field. */
echo html::select("field$fieldNO", $searchFields, $formSession["field$fieldNO"], "onchange='setField(this.value, $fieldNO)'");
@@ -276,12 +276,12 @@ foreach($fieldParams as $fieldName => $param)
echo '</span>';
$fieldNO ++;
echo '</span>';
echo '</span></div>';
}
?>
</nobr>
</td>
<td width='100'>
<td width='180' class='a-center'>
<nobr>
<?php
echo html::hidden('module', $module);
@@ -293,7 +293,7 @@ foreach($fieldParams as $fieldName => $param)
?>
</nobr>
</td>
<td width='250' class='a-center'>
<td width='150' class='a-center'>
<?php
echo html::select('queryID', $queries, $queryID, 'class=select-1 onchange=executeQuery(this.value)');
if(common::hasPriv('search', 'deleteQuery')) echo html::a('javascript:deleteQuery()', '<i class="link-icon icon-remove"></i>', '', '');
+1 -2
View File
@@ -1,3 +1,2 @@
#plan {width:245px}
#mailto {width:85%}
#mailto {width:90.3%}
select {border:1px solid #ccc}
+2 -2
View File
@@ -24,11 +24,11 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->story->spec;?></th>
<td><?php echo html::textarea('spec', htmlspecialchars($story->spec), 'rows=8 class="area-1"');?><br /> <?php echo $lang->story->specTemplate;?></td>
<td><?php echo html::textarea('spec', $story->spec, 'rows=8 class="area-1"');?><br /> <?php echo $lang->story->specTemplate;?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->story->verify;?></th>
<td><?php echo html::textarea('verify', htmlspecialchars($story->verify), 'rows=6 class="area-1"');?></td>
<td><?php echo html::textarea('verify', $story->verify, 'rows=6 class="area-1"');?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->story->comment;?></th>
+1 -1
View File
@@ -26,7 +26,7 @@
</fieldset>
<fieldset>
<legend><?php echo $lang->story->verify;?></legend>
<div><?php echo htmlspecialchars($story->verify);?></div>
<div><?php echo $story->verify;?></div>
</fieldset>
<fieldset>
<legend><?php echo $lang->story->comment;?></legend>
+1
View File
@@ -11,6 +11,7 @@
*/
?>
<?php include '../../common/view/header.html.php';?>
<?php include '../../common/view/kindeditor.html.php';?>
<div id='titlebar'>
<div id='main' <?php if($story->deleted) echo "class='deleted'";?>>STORY #<?php echo $story->id . ' ' . $story->title;?>
<?php if($story->version > 1):?>
+1 -1
View File
@@ -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}
+3 -3
View File
@@ -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}
+1 -1
View File
@@ -30,7 +30,7 @@
<tr class='bd-none'><td class='bd-none'>
<fieldset>
<legend><?php echo $lang->task->desc;?></legend>
<?php echo html::textarea('desc', htmlspecialchars($task->desc), "rows='8' class='area-1'");?>
<?php echo html::textarea('desc', $task->desc, "rows='8' class='area-1'");?>
</fieldset>
<fieldset>
<legend><?php echo $lang->comment;?></legend>
+2 -2
View File
@@ -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'});
})
+2 -2
View File
@@ -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');
});
+2 -2
View File
@@ -50,11 +50,11 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->testtask->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($task->desc), "rows=10 class='area-1'");?></td>
<td><?php echo html::textarea('desc', $task->desc, "rows=10 class='area-1'");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->testtask->report;?></th>
<td><?php echo html::textarea('report', htmlspecialchars($task->report), "rows=10 class='area-1'");?></td>
<td><?php echo html::textarea('report', $task->report, "rows=10 class='area-1'");?></td>
</tr>
<tr>
<td colspan='2' class='a-center'><?php echo html::submitButton() . html::backButton();?> </td>
+1 -1
View File
@@ -41,7 +41,7 @@
</tr>
<tr>
<th class='rowhead'><?php echo $lang->todo->desc;?></th>
<td><?php echo html::textarea('desc', htmlspecialchars($todo->desc), "rows=8 class=area-1");?></td>
<td><?php echo html::textarea('desc', $todo->desc, "rows=8 class=area-1");?></td>
</tr>
<tr>
<th class='rowhead'><?php echo $lang->todo->status;?></th>
+2
View File
@@ -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');
+6 -7
View File
@@ -1,20 +1,19 @@
html,body{background-color: #036;}
#container{margin: 4% auto 0 auto;}
#logo{height: 170px;background:url('theme/default/images/main/zt-logo.png') center no-repeat;}
#container{margin: 10% auto 0 auto;}
#login-panel{margin: 0 auto;width: 540px;min-height: 280px;background-color: #fff;border: 1px solid #dfdfdf;-moz-border-radius:3px; -webkit-border-radius:3px; border-radius:3px;-moz-box-shadow:0px 0px 30px rgba(0,0,0,0.75); -webkit-box-shadow:0px 0px 30px rgba(0,0,0,0.75); box-shadow:0px 0px 30px rgba(0,0,0,0.75);}
#login-panel .panel-head{min-height: 70px;background-color: #edf3fe;border-bottom: 1px solid #dfdfdf;position: relative;}
#login-panel .panel-head h3{margin: 0 0 0 20px;padding: 0;line-height: 70px;}
#login-panel .panel-head .nav{float: right;position: absolute;right: 0;top: 0;padding: 0;}
#login-panel .panel-head .nav .btn{clear: both;display: block;margin: 10px 10px 0 0;position: absolute;top: 6px;right: 6px;border-color: #ccc;}
#login-panel .panel-head .nav #mobile{background-color: #0053a6;border-color: #036;color: #fff;height: 28px;}
#login-panel .panel-head .nav #mobile:hover{background-color: #036;}
#login-panel .panel-head .nav #mobile i{margin: 0;padding: 0;}
#login-panel .panel-head .nav #lang{right: 60px;padding: 8px;width: auto;word-spacing:nowrap; overflow:visible;min-width: 80px;text-align: center;}
#login-panel #mobile{height: 28px;}
#login-panel #mobile i{margin: 0;padding: 0;}
#login-panel #lang{right: 60px;padding: 8px;width: auto;word-spacing:nowrap; overflow:visible;min-width: 80px;text-align: center;}
#login-panel .panel-content{padding-left: 150px;background:url('theme/default/images/main/zt-logo.png') 50px top no-repeat;}
#login-panel .panel-content table{border: none;width: 300px;margin: 20px auto;}
#login-panel .panel-content table td{padding: 6px;}
#login-panel .panel-content table td.attr{font-weight: bold;text-align: right;vertical-align: middle;}
#login-panel .panel-content input.text-2{width: 212px;}
#login-panel .panel-content .button-s{width: 120px;}
#login-panel .panel-content .button-s{width: 80px;}
#login-panel .panel-content .button-c{width: 88px;margin-right: 0;}
#login-panel .panel-foot{text-align: center;padding: 15px;line-height: 2em;background-color: #e5e5e5;border-top: 1px solid #dfdfdf;}
.droppanel{display: none;margin: 0;padding: 4px 0;position: absolute;left: 0;top: 55px;background-color: #fff;-moz-box-shadow:0px 2px 6px rgba(0,0,0,0.5); -webkit-box-shadow:0px 2px 6px rgba(0,0,0,0.5); box-shadow:0px 2px 6px rgba(0,0,0,0.5);z-index: 9999;}
+2 -2
View File
@@ -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";
@@ -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';
+1 -1
View File
@@ -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 = '项目';
+9 -3
View File
@@ -12,7 +12,6 @@ include '../../common/view/header.lite.html.php';
?>
<div id="container">
<div id="logo"></div>
<div id="login-panel">
<div class="panel-head">
<h3><?php printf($lang->welcome, $app->company->name);?></h3>
@@ -26,7 +25,13 @@ include '../../common/view/header.lite.html.php';
</ul>
<div class="droppanel" id="qrcode">
<h4><i class="icon-mobile-phone icon-large"></i> <?php echo $lang->user->mobileLogin ?></h4>
<img src="<?php commonModel::getQRCodeLink(); ?>" alt="">
<?php if(extension_loaded('gd')):?>
<img src='<?php echo $this->createLink('misc', 'qrcode');?>' />
<?php else:?>
<table width='300' class='mt-10px bd-none'>
<tr><td><?php echo $noGDLib;?></td></tr>
</table>
<?php endif;?>
</div>
</div>
</div>
@@ -46,7 +51,8 @@ include '../../common/view/header.lite.html.php';
<td id="keeplogin"><?php echo html::checkBox('keepLogin', $lang->user->keepLogin, $keepLogin);?></td>
</tr>
<tr>
<td colspan='2' align='center'>
<td></td>
<td>
<?php
echo html::submitButton($lang->login);
if($app->company->guest) echo html::linkButton($lang->user->asGuest, $this->createLink($config->default->module));
+3 -2
View File
@@ -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;}
#webapps .button-c{min-width: 0;}
+1 -1
View File
@@ -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 = "<tr id='iframe" + webappID + "'><td><p>" + webappName + "<span class='f-right'><button class='button-c' onclick='toggleShowapp(" + webappID + ", \" " + webappName + "\")'>" + packup + "</button></sapn></p><iframe src='" + url[webappID] + "' height='" + height + "' width='100%' style='border:1px solid #999;'></iframe></td></tr>";
var html = "<tr id='iframe" + webappID + "'><td><p>" + webappName + "<span class='f-right'><button class='button-c' onclick='toggleShowapp(" + webappID + ", \" " + webappName + "\")'>" + packup + "</button></span></p><iframe src='" + url[webappID] + "' height='" + height + "' width='100%' style='border:1px solid #999;'></iframe></td></tr>";
$('#webapps').parent().parent().after(html);
show[webappID] = true;
}
+1
View File
@@ -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;
+21 -19
View File
@@ -26,25 +26,27 @@
<tr><td valign='top'><div class='webapp-info' title='<?php echo $webapp->abstract?>'><?php echo empty($webapp->abstract) ? '&nbsp;' : $webapp->abstract?></div></td></tr>
<tr>
<td>
<?php
$url = $webapp->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'");
?>
<div class='webapp-actions'>
<?php
$url = $webapp->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'");
?>
</div>
</td>
</tr>
</table>
+24 -22
View File
@@ -48,28 +48,30 @@
<tr><td valign='top'><div class='webapp-info' title='<?php echo $webapp->abstract?>'><?php echo empty($webapp->abstract) ? '&nbsp;' : $webapp->abstract?></div></td></tr>
<tr>
<td>
<?php
$url = $webapp->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'");
?>
<div class='webapp-actions'>
<?php
$url = $webapp->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'");
?>
</div>
</td>
</tr>
</table>
+1 -1
View File
@@ -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();
+1 -1
View File
File diff suppressed because one or more lines are too long
+1 -1
View File
@@ -54,7 +54,7 @@ $.extend(
var i = triggered.push(false);
/* Create the error message. */
var errorMSG = '<div id="' + errorLabel + '" class="text-error">';
var errorMSG = '<div id="' + errorLabel + '" class="text-error red">';
errorMSG += $.type(value) == 'string' ? value : value.join(';');
errorMSG += '</div>';
+22 -10
View File
@@ -515,19 +515,29 @@ 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)
{
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()
if(type == 'comment')
{
if($(this).width() > maxWidth) $(this).attr('width', maxWidth);
});
$(image).wrap('<a href="' + $(image).attr('src') + '" target="_blank"></a>')
$('#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('<a href="' + $(image).attr('src') + '" target="_blank"></a>');
}
/**
@@ -820,12 +830,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 +852,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');
+11 -13
View File
@@ -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;}
@@ -224,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}*/
Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.2 KiB

After

Width:  |  Height:  |  Size: 3.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 21 KiB

After

Width:  |  Height:  |  Size: 21 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 4.4 KiB

+40 -28
View File
@@ -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;}
@@ -130,16 +130,15 @@ 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;}
.button-s,.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,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,#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-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,.button-s:hover {background-color: #2E6DAD;border-color: #114F8E;}
.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;}
.button-s,.button-c{min-width: 80px;}
.groupButton .button-c,.groupButton .button-s{margin-right: 0}
.groupButton #allchecker{margin-right: 0;}
.groupButton #moreAction{border: 1px solid #DCDCDC;}
@@ -149,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;}
@@ -164,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;}
@@ -192,6 +192,7 @@ select[multiple],textarea{height: auto;}
.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;}
@@ -233,6 +234,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}
@@ -243,9 +245,10 @@ 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}
.area-1{width: 90%;}
.area-2{width: 120px}
@@ -263,7 +266,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}
@@ -281,8 +284,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;}
@@ -363,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%}
@@ -438,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;}
@@ -460,9 +466,9 @@ table.data-table td:last-child{padding-right: 20px;}
#mainmenu li>a#objectSwitcher{background: #e5e5e5;color: gray;padding: 0 3px;-webkit-box-shadow: none;box-shadow:none;}
/* Module menu. */
#modulemenu {padding: 0 20px;height: 50px;font-size:14px;background-color: #e5e5e5;}
#modulemenu li {color:#003366;padding:8px 4px 8px 0;line-height: 30px;}
#modulemenu li a{display: inline-block; padding: 2px 8px; font-weight:normal; font-size:14px; color:#003366}
#modulemenu {padding: 0 20px;height: 42px;font-size:14px;background-color: #e5e5e5;}
#modulemenu li {color:#003366;padding:4px 0px;line-height: 30px;}
#modulemenu li a{display: inline-block; padding: 2px 7px; font-weight:normal; font-size:14px; color:#003366}
#modulemenu li>a:hover{background: #d1d1d1;color: #000;}
#modulemenu li.active>a,#modulemenu li.active>a:hover {color:#21841d; font-weight:bold; }
#modulemenu li.right {float:right; font-weight:bold;}
@@ -491,10 +497,10 @@ table.data-table td:last-child{padding-right: 20px;}
#projectID {background:#e5e5e5; border:1px solid #e5e5e5}
/* Feature bar. */
#featurebar,#wrap .outer>table.table-1>caption,#wrap .outer>form>table.table-1>caption{height:34px; line-height:34px;background-color: #f8fafe; padding:8px 10px;}
#featurebar,#wrap .outer>table.table-1>caption,#wrap .outer>form>table.table-1>caption{height:30px; line-height:30px;background-color: #f8fafe; padding:8px 10px;}
#featurebar,#wrap .outer>table.table-1>caption {border-bottom: 1px solid #e7edf7;margin: -20px -20px 20px -20px;}
#featurebar span {font-size:14px;}
#featurebar a,.outer>table.table-1>caption a{text-decoration:none; display: inline-block;padding: 0px 7px; line-height: 34px;height: 34px; font-size:14px;-webkit-transition: all .2s;-o-transition: all .2s;-moz-transition: all .2s;transition: all .2s;}
#featurebar a,.outer>table.table-1>caption a{text-decoration:none; display: inline-block;padding: 0px 5px; line-height: 30px;height: 30px; font-size:14px;-webkit-transition: all .2s;-o-transition: all .2s;-moz-transition: all .2s;transition: all .2s;}
#featurebar a:hover,.outer>table.table-1>caption a:hover{color:#000;background-color: #e5e5e5;}
#featurebar #bysearchTab a {border:none;}
#featurebar select {font-size:12px; height:30px;}
@@ -509,13 +515,12 @@ table.data-table td:last-child{padding-right: 20px;}
#querybox table{border: none;border-bottom: 1px solid #e5e5e5;}
#querybox td{vertical-align: middle;}
#querybox select,#querybox input[type="text"]{min-width: 95px;max-width: 140px;}
@media(max-width:1610px){
#querybox input[type="text"],#querybox select[name='value3'],#querybox select[name='value5']{min-width: 80px;width: 80px;}
#querybox .button-c,#querybox .button-s{width: auto;min-width: 42px;}
#querybox select[name='operator6'],#querybox select[name='operator5'], #querybox select[name='operator4'],#querybox select[name='operator3'], #querybox select[name='operator2'],#querybox select[name='operator1'], #querybox select[name='groupAndOr'],#querybox select[name='andOr1'],#querybox select[name='andOr2'],#querybox select[name='andOr3'],#querybox select[name='andOr4']{width: 65px;min-width: 65px;}
#querybox select[name='queryID'], #querybox select[name='field4'],#querybox select[name='field3'],
#querybox select[name='field2'],#querybox select[name='field1']{width: 95px;}
}
#querybox input[type="text"]{min-width: 80px;width: 130px;}
#querybox select[name='value1'],#querybox select[name='value2'],#querybox select[name='value3'],#querybox select[name='value4'],#querybox select[name='value5'],#querybox select[name='value6']{min-width: 80px;width: 140px}
#querybox .button-c,#querybox .button-s{width: auto;min-width: 42px; margin-right:5px;}
#querybox select[name='operator6'],#querybox select[name='operator5'], #querybox select[name='operator4'],#querybox select[name='operator3'], #querybox select[name='operator2'],#querybox select[name='operator1'], #querybox select[name='groupAndOr'],#querybox select[name='andOr1'],#querybox select[name='andOr2'],#querybox select[name='andOr3'],#querybox select[name='andOr4'],#querybox select[name='andOr5'],#querybox select[name='andOr6']{width: 65px;min-width: 65px;}
#querybox select[name='queryID'], #querybox select[name='field4'],#querybox select[name='field3'],#querybox select[name='field5'],#querybox select[name='field6'],
#querybox select[name='field2'],#querybox select[name='field1']{width: 95px;}
@media(max-width:1220px){
#querybox input[type="text"],#querybox select[name='value3'],#querybox select[name='value5']{min-width: 70px;width: 70px;}
}
@@ -583,7 +588,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;}
@@ -609,7 +617,9 @@ table.data-table td:last-child{padding-right: 20px;}
/*-----------------------ICONS --------------------*/
/* Common icons. */
#featurebar .f-right .icon-goback {padding:0px 9px}
.pri1,.pri2,.pri3,.pri4,.pri5,.pri6{display:inline-block;width: 14px;height: 14px;font-size: 12px;line-height: 14px;font-weight: bold; text-align: center; color: #272d68; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;border: 2px solid #272d68;}
.pri1,.pri0,.pri2,.pri3,.pri4,.pri5,.pri6,.pri{display:inline-block;width: 14px;height: 14px;font-size: 12px;line-height: 14px;font-weight: bold; text-align: center; color: #272d68; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;border: 2px solid #272d68;}
.pri,.pri0{border-color: #ccc;color: #ccc;}
.pri:before{content: '?'}
.pri2{border-color: #25367e;color: #25367e}
.pri3{border-color: #2c4a9b;color: #2c4a9b}
.pri4{border-color: #475da8;color: #475da8}
@@ -617,7 +627,9 @@ table.data-table td:last-child{padding-right: 20px;}
.pri6{border-color: #9ebee5;color: #9ebee5}
/* Bug icons. */
.severity1,.severity2,.severity3,.severity4,.severity5,.severity6{display:inline-block;width: 16px;height: 16px;line-height: 16px;font-weight: bold; text-align: center; font-size: 12px; color: #fff; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;}
.severity,.severity1,.severity2,.severity3,.severity4,.severity5,.severity6{display:inline-block;width: 16px;height: 16px;line-height: 16px;font-weight: bold; text-align: center; font-size: 12px; color: #fff; -moz-border-radius:50%; -webkit-border-radius:50%; border-radius:50%;}
.severity{background-color: #ccc;}
.severity:before{content: '?'}
.severity1 {background-color: #d71319;}
.severity2 {background-color: #d83615;}
.severity3 {background-color: #db7c12;}