mirror of
https://github.com/wavelog/wavelog.git
synced 2026-03-22 10:24:14 +00:00
Merge branch 'master' of https://github.com/magicbug/Cloudlog into configurable_modes
This commit is contained in:
@@ -140,7 +140,7 @@ class eqsl extends CI_Controller {
|
||||
// Build URL for eQSL inbox file
|
||||
$eqsl_url .= "?";
|
||||
$eqsl_url .= "UserName=" . $data['user_eqsl_name'];
|
||||
$eqsl_url .= "&Password=" . $data['user_eqsl_password'];
|
||||
$eqsl_url .= "&Password=" . urlencode($data['user_eqsl_password']);
|
||||
|
||||
$eqsl_url .= "&RcvdSince=" . $eqsl_last_qsl_date;
|
||||
$eqsl_url .= "&QTHNickname=" . urlencode($active_station_info->eqslqthnickname);
|
||||
@@ -172,11 +172,15 @@ class eqsl extends CI_Controller {
|
||||
// "Your ADIF log file has been built" -> We've got an ADIF file we need to grab.
|
||||
|
||||
if ($chi['http_code'] == "200")
|
||||
{
|
||||
{
|
||||
if (stristr($input, "You have no log entries"))
|
||||
{
|
||||
$this->session->set_flashdata('success', 'There are no QSLs waiting for download at eQSL.cc.'); redirect('eqsl/import');
|
||||
|
||||
}
|
||||
else if (stristr($input, "Error: No such Username/Password found"))
|
||||
{
|
||||
$this->session->set_flashdata('warning', 'No such Username/Password found This could mean the wrong callsign or the wrong password, or the user does not exist.');
|
||||
redirect('eqsl/import');
|
||||
}
|
||||
else
|
||||
{
|
||||
@@ -318,7 +322,7 @@ class eqsl extends CI_Controller {
|
||||
$adif .= "%3A";
|
||||
$adif .= strlen($data['user_eqsl_password']);
|
||||
$adif .= "%3E";
|
||||
$adif .= $data['user_eqsl_password'];
|
||||
$adif .= urlencode($data['user_eqsl_password']);
|
||||
$adif .= "%20";
|
||||
|
||||
$adif .= "%3C";
|
||||
@@ -579,8 +583,7 @@ class eqsl extends CI_Controller {
|
||||
$username = $q->user_eqsl_name;
|
||||
$password = $q->user_eqsl_password;
|
||||
|
||||
|
||||
$image_url = $this->electronicqsl->card_image($username, $password, $callsign, $band, $mode, $year, $month, $day, $hour, $minute);
|
||||
$image_url = $this->electronicqsl->card_image($username, urlencode($password), $callsign, $band, $mode, $year, $month, $day, $hour, $minute);
|
||||
$file = file_get_contents($image_url, true);
|
||||
|
||||
$dom = new domDocument;
|
||||
|
||||
@@ -428,9 +428,15 @@ class Logbook extends CI_Controller {
|
||||
case "Y":
|
||||
$html .= "green";
|
||||
break;
|
||||
case "Q":
|
||||
$html .= "yellow";
|
||||
break;
|
||||
case "R":
|
||||
$html .= "yellow";
|
||||
break;
|
||||
case "I":
|
||||
echo "grey";
|
||||
break;
|
||||
default:
|
||||
$html .= "red";
|
||||
}
|
||||
@@ -440,9 +446,15 @@ class Logbook extends CI_Controller {
|
||||
case "Y":
|
||||
$html .= "green";
|
||||
break;
|
||||
case "Q":
|
||||
$html .= "yellow";
|
||||
break;
|
||||
case "R":
|
||||
$html .= "yellow";
|
||||
break;
|
||||
case "I":
|
||||
echo "grey";
|
||||
break;
|
||||
default:
|
||||
$html .= "red";
|
||||
}
|
||||
|
||||
@@ -24,7 +24,7 @@ class adif_data extends CI_Model {
|
||||
$active_station_id = $this->stations->find_active();
|
||||
|
||||
$this->db->where('station_id', $active_station_id);
|
||||
$this->db->where('COL_QSL_SENT', 'R');
|
||||
$this->db->where_in('COL_QSL_SENT', array('R', 'Q'));
|
||||
$this->db->order_by("COL_TIME_ON", "ASC");
|
||||
$query = $this->db->get($this->config->item('table_name'));
|
||||
|
||||
|
||||
@@ -801,7 +801,7 @@ class Logbook_model extends CI_Model {
|
||||
ENTITY
|
||||
FROM '.$this->config->item('table_name').', dxcc_prefixes, station_profile
|
||||
WHERE
|
||||
COL_QSL_SENT LIKE \'R\'
|
||||
COL_QSL_SENT in (\'R\', \'Q\')
|
||||
and (CASE WHEN COL_QSL_VIA != \'\' THEN COL_QSL_VIA ELSE COL_CALL END) like CONCAT(dxcc_prefixes.call,\'%\')
|
||||
and (end is null or end > now())
|
||||
and '.$this->config->item('table_name').'.station_id = '.$station_id.'
|
||||
|
||||
@@ -18,7 +18,7 @@ class Qslprint_model extends CI_Model {
|
||||
'COL_QSL_SENT_VIA' => "B",
|
||||
);
|
||||
|
||||
$this->db->where("COL_QSL_SENT", "R");
|
||||
$this->db->where_in("COL_QSL_SENT", array("R","Q"));
|
||||
$this->db->where("station_id", $station_id);
|
||||
$this->db->update($this->config->item('table_name'), $data);
|
||||
}
|
||||
|
||||
@@ -5,10 +5,10 @@
|
||||
<h5 class="card-title"><?php echo $page_title; ?></h5>
|
||||
<ul class="nav nav-tabs card-header-tabs">
|
||||
<li class="nav-item">
|
||||
<a class="nav-link" href="<?php echo site_url('eqsl/import');?>">Download QSOs</a>
|
||||
<a class="nav-link active" href="<?php echo site_url('eqsl/import');?>">Download QSOs</a>
|
||||
</li>
|
||||
<li class="nav-item">
|
||||
<a class="nav-link active" href="<?php echo site_url('eqsl/Export');?>">Upload QSOs</a>
|
||||
<a class="nav-link" href="<?php echo site_url('eqsl/Export');?>">Upload QSOs</a>
|
||||
</li>
|
||||
</ul>
|
||||
</div>
|
||||
|
||||
@@ -20,21 +20,18 @@
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/query-builder.default.min.css" />
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($this->uri->segment(1) == "notes" && ($this->uri->segment(2) == "add" || $this->uri->segment(2) == "edit") ) { ?>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/plugins/quill/quill.snow.css" />
|
||||
<?php } ?>
|
||||
<?php if ($this->uri->segment(1) == "notes" && ($this->uri->segment(2) == "add" || $this->uri->segment(2) == "edit") ) { ?>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/plugins/quill/quill.snow.css" />
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($this->uri->segment(1) == "qrz") { ?>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/loading.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/ldbtn.min.css" />
|
||||
<?php } ?>
|
||||
<?php if ($this->uri->segment(1) == "qrz") { ?>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/loading.min.css" />
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/css/ldbtn.min.css" />
|
||||
<?php } ?>
|
||||
|
||||
<?php if ($this->uri->segment(1) == "qso") { ?>
|
||||
<link rel="stylesheet" type="text/css" href="<?php echo base_url(); ?>assets/plugins/select2/css/select2.min.css" />
|
||||
<?php } ?>
|
||||
<?php if ($this->uri->segment(1) == "adif") { ?>
|
||||
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/tempusdominus-bootstrap-4/5.0.1/css/tempusdominus-bootstrap-4.min.css" />
|
||||
<?php } ?>
|
||||
<?php if ($this->uri->segment(1) == "adif") { ?>
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/datepicker.css" />
|
||||
<?php } ?>
|
||||
<link rel="icon" href="<?php echo base_url(); ?>/favicon.ico">
|
||||
|
||||
<title><?php if(isset($page_title)) { echo $page_title; } ?> - Cloudlog</title>
|
||||
|
||||
@@ -9,7 +9,7 @@
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/bootstrap.min.css">
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/fontawesome/css/all.css">
|
||||
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
|
||||
<link rel="stylesheet" href="https://cdn.jsdelivr.net/gh/fancyapps/fancybox@3.5.7/dist/jquery.fancybox.min.css" />
|
||||
|
||||
<link rel="stylesheet" href="<?php echo base_url(); ?>assets/css/general.css">
|
||||
|
||||
|
||||
@@ -16,7 +16,7 @@
|
||||
<div class="card-body">
|
||||
<h5 class="card-title"></h5>
|
||||
<p class="card-text">
|
||||
Here you can export requested QSLs as CSV-file or ADIF and mark them as sent via buro in a mass transaction if you like. The considered QSOs for this functions would be those of the active station profile.
|
||||
Here you can export requested QSLs as CSV-file or ADIF and mark them as sent via buro in a mass transaction if you like. Requested QSOs are QSOs marked as "Requested" or "Queued" in the QSL-sent-field. The considered QSOs for this functions would be those of the active station profile.
|
||||
</p>
|
||||
|
||||
|
||||
|
||||
@@ -33,7 +33,7 @@
|
||||
<?php echo '<tr class="tr'.($i & 1).'">'; ?>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); ?></td>
|
||||
<td><?php $timestamp = strtotime($row->COL_TIME_ON); echo date('H:i', $timestamp); ?></td>
|
||||
<td><a class="fancybox" href="<?php echo site_url('logbook/view')."/".$row->COL_PRIMARY_KEY; ?>"><?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?></a></td>
|
||||
<td><a data-fancybox data-type="iframe" data-width="750" data-height="520" data-src="<?php echo site_url('logbook/view')."/".$row->COL_PRIMARY_KEY; ?>" href="javascript:;"><?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?></a></td>
|
||||
<td><?php echo $row->COL_SUBMODE==null?$row->COL_MODE:$row->COL_SUBMODE; ?></td>
|
||||
<td><?php echo $row->COL_RST_SENT; ?> <?php if ($row->COL_STX_STRING) { ?><span class="label"><?php echo $row->COL_STX_STRING;?></span><?php } ?></td>
|
||||
<td><?php echo $row->COL_RST_RCVD; ?> <?php if ($row->COL_SRX_STRING) { ?><span class="label"><?php echo $row->COL_SRX_STRING;?></span><?php } ?></td>
|
||||
@@ -100,4 +100,4 @@ TD.lotw{
|
||||
font-size: 1.1em;
|
||||
}
|
||||
|
||||
</style>
|
||||
</style>
|
||||
|
||||
@@ -49,6 +49,9 @@
|
||||
case "Y":
|
||||
echo "green";
|
||||
break;
|
||||
case "Q":
|
||||
echo "yellow";
|
||||
break;
|
||||
case "R":
|
||||
echo "yellow";
|
||||
break;
|
||||
@@ -64,6 +67,9 @@
|
||||
case "Y":
|
||||
echo "green";
|
||||
break;
|
||||
case "Q":
|
||||
echo "yellow";
|
||||
break;
|
||||
case "R":
|
||||
echo "yellow";
|
||||
break;
|
||||
|
||||
@@ -1,18 +1,15 @@
|
||||
<div class="container-fluid">
|
||||
<?php if ($query->num_rows() > 0) { foreach ($query->result() as $row) { ?>
|
||||
<div class="container-fluid">
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
<?php if ($query->num_rows() > 0) { foreach ($query->result() as $row) { ?>
|
||||
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE || ($this->config->item('show_time'))) { ?>
|
||||
<h1 style="font-size: 28px;">QSO with <?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?> on the <?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp); $timestamp = strtotime($row->COL_TIME_ON); echo " at ".date('H:i', $timestamp); ?></h1>
|
||||
<?php } else { ?>
|
||||
<h1 style="font-size: 28px;">QSO with <?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?> on the <?php $timestamp = strtotime($row->COL_TIME_ON); echo date('d/m/y', $timestamp);?></h1>
|
||||
<?php } ?>
|
||||
<h3>QSO Details</h3>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
|
||||
<div class="row">
|
||||
<div class="col">
|
||||
|
||||
|
||||
<table width="100%">
|
||||
<tr>
|
||||
<td>Date/Time:</td>
|
||||
@@ -25,7 +22,7 @@
|
||||
|
||||
<tr>
|
||||
<td>Callsign:</td>
|
||||
<td><?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?></td>
|
||||
<td><b><?php echo str_replace("0","Ø",strtoupper($row->COL_CALL)); ?></b></td>
|
||||
</tr>
|
||||
|
||||
<tr>
|
||||
@@ -230,18 +227,17 @@
|
||||
<td><?php echo $row->COL_TX_PWR; ?>w</td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
|
||||
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE) { ?>
|
||||
<tr>
|
||||
<td><a href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" href="javascript:;"><i class="fas fa-edit"></i> Edit QSO</a></td>
|
||||
</tr>
|
||||
<?php } ?>
|
||||
</table>
|
||||
</div>
|
||||
<div class="col">
|
||||
|
||||
<div id="map" style="width: 340px; height: 250px"></div>
|
||||
|
||||
<?php if(($this->config->item('use_auth') && ($this->session->userdata('user_type') >= 2)) || $this->config->item('use_auth') === FALSE) { ?>
|
||||
<br>
|
||||
<p><a class="btn btn-success" href="<?php echo site_url('qso/edit'); ?>/<?php echo $row->COL_PRIMARY_KEY; ?>" href="javascript:;"><i class="fas fa-edit"></i> Edit QSO</a></p>
|
||||
<?php } ?>
|
||||
|
||||
<div id="map" style="width: 340px; height: 250px"></div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
206
assets/css/datepicker.css
Normal file
206
assets/css/datepicker.css
Normal file
@@ -0,0 +1,206 @@
|
||||
/*@preserve
|
||||
* Tempus Dominus Bootstrap4 v5.0.1 (https://tempusdominus.github.io/bootstrap-4/)
|
||||
* Copyright 2016-2018 Jonathan Peterson
|
||||
* Licensed under MIT (https://github.com/tempusdominus/bootstrap-3/blob/master/LICENSE)
|
||||
*/
|
||||
|
||||
.sr-only, .bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after, .bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after, .bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after, .bootstrap-datetimepicker-widget .btn[data-action="clear"]::after, .bootstrap-datetimepicker-widget .btn[data-action="today"]::after, .bootstrap-datetimepicker-widget .picker-switch::after, .bootstrap-datetimepicker-widget table th.prev::after, .bootstrap-datetimepicker-widget table th.next::after {
|
||||
position: absolute;
|
||||
width: 1px;
|
||||
height: 1px;
|
||||
margin: -1px;
|
||||
padding: 0;
|
||||
overflow: hidden;
|
||||
clip: rect(0, 0, 0, 0);
|
||||
border: 0; }
|
||||
|
||||
.bootstrap-datetimepicker-widget {
|
||||
list-style: none; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu {
|
||||
display: block;
|
||||
margin: 2px 0;
|
||||
padding: 4px;
|
||||
width: 14rem; }
|
||||
@media (min-width: 576px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em; } }
|
||||
@media (min-width: 768px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em; } }
|
||||
@media (min-width: 992px) {
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.timepicker-sbs {
|
||||
width: 38em; } }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu:before, .bootstrap-datetimepicker-widget.dropdown-menu:after {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
position: absolute; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-bottom: 7px solid #ccc;
|
||||
border-bottom-color: rgba(0, 0, 0, 0.2);
|
||||
top: -7px;
|
||||
left: 7px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.bottom:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-bottom: 6px solid white;
|
||||
top: -6px;
|
||||
left: 8px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.top:before {
|
||||
border-left: 7px solid transparent;
|
||||
border-right: 7px solid transparent;
|
||||
border-top: 7px solid #ccc;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
bottom: -7px;
|
||||
left: 6px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.top:after {
|
||||
border-left: 6px solid transparent;
|
||||
border-right: 6px solid transparent;
|
||||
border-top: 6px solid white;
|
||||
bottom: -6px;
|
||||
left: 7px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.float-right:before {
|
||||
left: auto;
|
||||
right: 6px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.float-right:after {
|
||||
left: auto;
|
||||
right: 7px; }
|
||||
.bootstrap-datetimepicker-widget.dropdown-menu.wider {
|
||||
width: 16rem; }
|
||||
.bootstrap-datetimepicker-widget .list-unstyled {
|
||||
margin: 0; }
|
||||
.bootstrap-datetimepicker-widget a[data-action] {
|
||||
padding: 6px 0; }
|
||||
.bootstrap-datetimepicker-widget a[data-action]:active {
|
||||
box-shadow: none; }
|
||||
.bootstrap-datetimepicker-widget .timepicker-hour, .bootstrap-datetimepicker-widget .timepicker-minute, .bootstrap-datetimepicker-widget .timepicker-second {
|
||||
width: 54px;
|
||||
font-weight: bold;
|
||||
font-size: 1.2em;
|
||||
margin: 0; }
|
||||
.bootstrap-datetimepicker-widget button[data-action] {
|
||||
padding: 6px; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="incrementHours"]::after {
|
||||
content: "Increment Hours"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="incrementMinutes"]::after {
|
||||
content: "Increment Minutes"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="decrementHours"]::after {
|
||||
content: "Decrement Hours"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="decrementMinutes"]::after {
|
||||
content: "Decrement Minutes"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="showHours"]::after {
|
||||
content: "Show Hours"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="showMinutes"]::after {
|
||||
content: "Show Minutes"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="togglePeriod"]::after {
|
||||
content: "Toggle AM/PM"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="clear"]::after {
|
||||
content: "Clear the picker"; }
|
||||
.bootstrap-datetimepicker-widget .btn[data-action="today"]::after {
|
||||
content: "Set the date to today"; }
|
||||
.bootstrap-datetimepicker-widget .picker-switch {
|
||||
text-align: center; }
|
||||
.bootstrap-datetimepicker-widget .picker-switch::after {
|
||||
content: "Toggle Date and Time Screens"; }
|
||||
.bootstrap-datetimepicker-widget .picker-switch td {
|
||||
padding: 0;
|
||||
margin: 0;
|
||||
height: auto;
|
||||
width: auto;
|
||||
line-height: inherit; }
|
||||
.bootstrap-datetimepicker-widget .picker-switch td span {
|
||||
line-height: 2.5;
|
||||
height: 2.5em;
|
||||
width: 100%; }
|
||||
.bootstrap-datetimepicker-widget table {
|
||||
width: 100%;
|
||||
margin: 0; }
|
||||
.bootstrap-datetimepicker-widget table td,
|
||||
.bootstrap-datetimepicker-widget table th {
|
||||
text-align: center;
|
||||
border-radius: 0.25rem; }
|
||||
.bootstrap-datetimepicker-widget table th {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px; }
|
||||
.bootstrap-datetimepicker-widget table th.picker-switch {
|
||||
width: 145px; }
|
||||
.bootstrap-datetimepicker-widget table th.disabled, .bootstrap-datetimepicker-widget table th.disabled:hover {
|
||||
background: none;
|
||||
color: #6c757d;
|
||||
cursor: not-allowed; }
|
||||
.bootstrap-datetimepicker-widget table th.prev::after {
|
||||
content: "Previous Month"; }
|
||||
.bootstrap-datetimepicker-widget table th.next::after {
|
||||
content: "Next Month"; }
|
||||
.bootstrap-datetimepicker-widget table thead tr:first-child th {
|
||||
cursor: pointer; }
|
||||
.bootstrap-datetimepicker-widget table thead tr:first-child th:hover {
|
||||
background: #e9ecef; }
|
||||
.bootstrap-datetimepicker-widget table td {
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
width: 54px; }
|
||||
.bootstrap-datetimepicker-widget table td.cw {
|
||||
font-size: .8em;
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
color: #6c757d; }
|
||||
.bootstrap-datetimepicker-widget table td.day {
|
||||
height: 20px;
|
||||
line-height: 20px;
|
||||
width: 20px; }
|
||||
.bootstrap-datetimepicker-widget table td.day:hover, .bootstrap-datetimepicker-widget table td.hour:hover, .bootstrap-datetimepicker-widget table td.minute:hover, .bootstrap-datetimepicker-widget table td.second:hover {
|
||||
background: #e9ecef;
|
||||
cursor: pointer; }
|
||||
.bootstrap-datetimepicker-widget table td.old, .bootstrap-datetimepicker-widget table td.new {
|
||||
color: #6c757d; }
|
||||
.bootstrap-datetimepicker-widget table td.today {
|
||||
position: relative; }
|
||||
.bootstrap-datetimepicker-widget table td.today:before {
|
||||
content: '';
|
||||
display: inline-block;
|
||||
border: solid transparent;
|
||||
border-width: 0 0 7px 7px;
|
||||
border-bottom-color: #007bff;
|
||||
border-top-color: rgba(0, 0, 0, 0.2);
|
||||
position: absolute;
|
||||
bottom: 4px;
|
||||
right: 4px; }
|
||||
.bootstrap-datetimepicker-widget table td.active, .bootstrap-datetimepicker-widget table td.active:hover {
|
||||
background-color: #007bff;
|
||||
color: #fff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
|
||||
.bootstrap-datetimepicker-widget table td.active.today:before {
|
||||
border-bottom-color: #fff; }
|
||||
.bootstrap-datetimepicker-widget table td.disabled, .bootstrap-datetimepicker-widget table td.disabled:hover {
|
||||
background: none;
|
||||
color: #6c757d;
|
||||
cursor: not-allowed; }
|
||||
.bootstrap-datetimepicker-widget table td span {
|
||||
display: inline-block;
|
||||
width: 54px;
|
||||
height: 54px;
|
||||
line-height: 54px;
|
||||
margin: 2px 1.5px;
|
||||
cursor: pointer;
|
||||
border-radius: 0.25rem; }
|
||||
.bootstrap-datetimepicker-widget table td span:hover {
|
||||
background: #e9ecef; }
|
||||
.bootstrap-datetimepicker-widget table td span.active {
|
||||
background-color: #007bff;
|
||||
color: #fff;
|
||||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); }
|
||||
.bootstrap-datetimepicker-widget table td span.old {
|
||||
color: #6c757d; }
|
||||
.bootstrap-datetimepicker-widget table td span.disabled, .bootstrap-datetimepicker-widget table td span.disabled:hover {
|
||||
background: none;
|
||||
color: #6c757d;
|
||||
cursor: not-allowed; }
|
||||
.bootstrap-datetimepicker-widget.usetwentyfour td.hour {
|
||||
height: 27px;
|
||||
line-height: 27px; }
|
||||
|
||||
.input-group [data-toggle="datetimepicker"] {
|
||||
cursor: pointer; }
|
||||
Reference in New Issue
Block a user