kopia lustrzana https://github.com/magicbug/Cloudlog
Porównaj commity
18 Commity
19a95cecf5
...
2aedac2847
Autor | SHA1 | Data |
---|---|---|
Patrick Burns | 2aedac2847 | |
Peter Goodhall | 42e76d8aa6 | |
Peter Goodhall | 4dc074241d | |
Alessio Caiazza | cb85ad2144 | |
Peter Goodhall | 01ba223c27 | |
Peter Goodhall | 73032061e4 | |
Patrick Burns | 134d6bcf98 | |
Patrick Burns | 96ed12cd89 | |
Patrick Burns | 58d8705774 | |
Patrick Burns | 236e86f7a8 | |
Patrick Burns | ab119a1f5d | |
Patrick Burns | b9483d910e | |
Patrick Burns | b926cb68d4 | |
Patrick Burns | 5b2c04f6d5 | |
Patrick Burns | 0d9924a49c | |
Patrick Burns | 8e63c3a694 | |
Patrick Burns | 7345289b86 | |
Patrick Burns | 671e34157f |
|
@ -0,0 +1,6 @@
|
|||
MYSQL_ROOT_PASSWORD=rootpassword
|
||||
MYSQL_DATABASE=cloudlog
|
||||
MYSQL_USER=cloudlog
|
||||
MYSQL_PASSWORD=cloudlogpassword
|
||||
MYSQL_HOST=db
|
||||
MYSQL_PORT=3306
|
|
@ -18,3 +18,4 @@
|
|||
sync.sh
|
||||
*.p12
|
||||
*.swp
|
||||
.env
|
||||
|
|
|
@ -0,0 +1,29 @@
|
|||
# Use the official image for PHP and Apache
|
||||
FROM php:7.4-apache
|
||||
|
||||
# Set the working directory to /var/www/html
|
||||
WORKDIR /var/www/html
|
||||
|
||||
# Install system dependencies, including git and libxml2
|
||||
RUN apt-get update && apt-get install -y \
|
||||
libcurl4-openssl-dev \
|
||||
libxml2-dev \
|
||||
libzip-dev \
|
||||
zlib1g-dev \
|
||||
libpng-dev \
|
||||
libonig-dev \
|
||||
default-mysql-client \
|
||||
curl \
|
||||
&& apt-get clean \
|
||||
&& rm -rf /var/lib/apt/lists/* \
|
||||
&& docker-php-ext-install pdo_mysql \
|
||||
&& docker-php-ext-install mysqli \
|
||||
&& docker-php-ext-install gd \
|
||||
&& docker-php-ext-install mbstring \
|
||||
&& docker-php-ext-install zip \
|
||||
&& docker-php-ext-install xml \
|
||||
&& a2enmod rewrite
|
||||
|
||||
|
||||
# Expose port 80
|
||||
EXPOSE 80
|
48
README.md
48
README.md
|
@ -11,24 +11,58 @@ Core Contributors: 2M0SQL ([@magicbug](https://github.com/magicbug)), LA8AJA ([@
|
|||
Website: [http://www.cloudlog.co.uk](http://www.cloudlog.co.uk)
|
||||
|
||||
## Requirements
|
||||
* Linux based Operating System
|
||||
* Apache (Nginx should work)
|
||||
* PHP Version 7.4 (PHP 8.2 works)
|
||||
* MySQL (MySQL 5.7 or higher)
|
||||
|
||||
- Linux based Operating System
|
||||
- Apache (Nginx should work)
|
||||
- PHP Version 7.4 (PHP 8.2 works)
|
||||
- MySQL (MySQL 5.7 or higher)
|
||||
|
||||
Notes
|
||||
* If you want to log microwave QSOs you will need to use a 64bit operating system.
|
||||
* We do not provide Docker support, however you are free to use it if you wish but we will not handle support.
|
||||
|
||||
- If you want to log microwave QSOs you will need to use a 64bit operating system.
|
||||
- We do not provide Docker support, however you are free to use it if you wish but we will not handle support.
|
||||
|
||||
## Setup
|
||||
|
||||
Installation information can be found on the [wiki](https://github.com/magicbug/Cloudlog/wiki).
|
||||
|
||||
# Docker Development Environment
|
||||
|
||||
This guide provides instructions for setting up a local development environment using Docker and Docker Compose. Please note that this setup is not recommended for production use.
|
||||
|
||||
## Prerequisites
|
||||
|
||||
Before you begin, you need to install Docker and Docker Compose. You can download them using the following links:
|
||||
|
||||
- [Docker](https://docs.docker.com/get-docker/)
|
||||
- [Docker Compose](https://docs.docker.com/compose/install/)
|
||||
|
||||
## Configuration
|
||||
|
||||
1. Copy the `.env.sample` file to `.env`:
|
||||
|
||||
```bash
|
||||
cp .env.sample .env
|
||||
```
|
||||
|
||||
2. Open the `.env` file and update the values to match your setup. The values from the `.env` file will be used to populate the database connection details on the install page. You should not need to change these unless your setup requires different values.
|
||||
|
||||
**Note:** Docker Compose creates a network for your application, and each service (container) in the Docker Compose file can reach each other via the service name. This is why the `DB_HOST` value in the `.env` file and on the install page should match the service name of the database in the `docker-compose.yml` file. For example, if the database service in `docker-compose.yml` is defined as `db`, then `DB_HOST` should be set as 'db'. This allows the application to communicate with the database service on its internal docker network.
|
||||
|
||||
## Starting the Development Environment
|
||||
|
||||
To start the development environment, run the following command in your terminal:
|
||||
|
||||
```bash
|
||||
docker-compose up
|
||||
```
|
||||
|
||||
## Support
|
||||
|
||||
Cloudlog has two support systems for code issues use Github issues, however if you have general issues with setting up your server please use our general discussion forum [https://github.com/magicbug/Cloudlog/discussions](https://github.com/magicbug/Cloudlog/discussions).
|
||||
|
||||
## Security Vulnerabilities
|
||||
|
||||
If you discover a security vulnerability within Cloudlog, please send an e-mail to Peter Goodhall, 2M0SQL via [peter@magicbug.co.uk](mailto:peter@magicbug.co.uk). All security vulnerabilities will be promptly addressed.
|
||||
|
||||
## Want Cloudlog Hosting?
|
||||
|
@ -53,4 +87,4 @@ Cloudlog is supported by Patreon and donations via PayPal, thanks to the followi
|
|||
|
||||
Paul (M0TZO), Tim (G4VXE), Paul (N8HM), Michelle (W5NYV), Mitchell (AD0HJ), Dan (M0TCB), Martin (DK3ML), Juan Carlos (EA5WA), Iain (M0PCB), Charlie (GM1TGY), Ondrej (OK1CDJ), Trystan (G0KAY), Oliver (DL6KBG), Volkmar Schirmer, Jordan (M0PIR), Thomas Ziegler, Mathis (DB9MAT), Ken (VE3HLS), Tyler (WL7T), Jeremy Taylor, Ben Kuhn, Eric Thresher, Michael Cullen, Juuso (OH1JW), Anthony Castiglia, Fernando Ramirez-Ferrer, Robert Dixon, Mark Percival, Julia (KV1V), Timo Tomasini, Ant (NU1U), Christopher Williams, Danny Barnes, Vic, Tom (M0LTE), smurphboy, Lars (SM0TGU), Theo (PD9DP), Stefan (SM0RGM). Peter (G0ABI), Lou (KI5FTY), Michael (DG3NAB), Dragan (4O4A), minorsecond, Emily (W7AYQ), Steve (M0SKM), Rob (M0VFC), Doug (WA6L), Petr (OK1PKR), Fabian (HB9HIL), Daniel (OK2VLK), John (M5JFS).
|
||||
|
||||
If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via [PayPal](https://paypal.me/PGoodhall), [Github Sponsor](https://github.com/sponsors/magicbug) or become a [Patreon](https://www.patreon.com/2m0sql)
|
||||
If you'd like to donate to Cloudlog to help allow @magicbug spend less time doing commercial work and more time coding Cloudlog then you can donate via [PayPal](https://paypal.me/PGoodhall), [Github Sponsor](https://github.com/sponsors/magicbug) or become a [Patreon](https://www.patreon.com/2m0sql)
|
||||
|
|
|
@ -22,7 +22,7 @@ $config['migration_enabled'] = TRUE;
|
|||
|
|
||||
*/
|
||||
|
||||
$config['migration_version'] = 177;
|
||||
$config['migration_version'] = 178;
|
||||
|
||||
/*
|
||||
|--------------------------------------------------------------------------
|
||||
|
|
|
@ -135,10 +135,11 @@ class Labels extends CI_Controller {
|
|||
$offset = xss_clean($this->input->post('startat'));
|
||||
$grid = $this->input->post('grid') === "true" ? 1 : 0;
|
||||
$via = $this->input->post('via') === "true" ? 1 : 0;
|
||||
$awards = $this->input->post('awards') === "true" ? 1 : 0;
|
||||
$this->load->model('labels_model');
|
||||
$result = $this->labels_model->export_printrequestedids($ids);
|
||||
|
||||
$this->prepareLabel($result, true, $offset, $grid, $via);
|
||||
$this->prepareLabel($result, true, $offset, $grid, $via, $awards);
|
||||
}
|
||||
|
||||
public function print($station_id) {
|
||||
|
@ -146,18 +147,19 @@ class Labels extends CI_Controller {
|
|||
$offset = xss_clean($this->input->post('startat'));
|
||||
$grid = xss_clean($this->input->post('grid') ?? 0);
|
||||
$via = xss_clean($this->input->post('via') ?? 0);
|
||||
$awards = xss_clean($this->input->post('awards') ?? 0);
|
||||
$this->load->model('stations');
|
||||
if ($this->stations->check_station_is_accessible($station_id)) {
|
||||
$this->load->model('labels_model');
|
||||
$result = $this->labels_model->export_printrequested($clean_id);
|
||||
|
||||
$this->prepareLabel($result, false, $offset, $grid, $via);
|
||||
$this->prepareLabel($result, false, $offset, $grid, $via, $awards);
|
||||
} else {
|
||||
redirect('labels');
|
||||
}
|
||||
}
|
||||
|
||||
function prepareLabel($qsos, $jscall = false, $offset = 1, $grid = false, $via = false) {
|
||||
function prepareLabel($qsos, $jscall = false, $offset = 1, $grid = false, $via = false, $awards = false) {
|
||||
$this->load->model('labels_model');
|
||||
$label = $this->labels_model->getDefaultLabel();
|
||||
|
||||
|
@ -232,11 +234,7 @@ class Labels extends CI_Controller {
|
|||
}
|
||||
|
||||
if ($qsos->num_rows() > 0) {
|
||||
if ($label->qsos == 1) {
|
||||
$this->makeMultiQsoLabel($qsos->result(), $pdf, 1, $offset, $ptype->orientation, $grid, $via);
|
||||
} else {
|
||||
$this->makeMultiQsoLabel($qsos->result(), $pdf, $label->qsos, $offset, $ptype->orientation, $grid, $via);
|
||||
}
|
||||
$this->makeMultiQsoLabel($qsos->result(), $pdf, $label->qsos, $offset, $ptype->orientation, $grid, $via, $awards);
|
||||
} else {
|
||||
$this->session->set_flashdata('message', '0 QSOs found for print!');
|
||||
redirect('labels');
|
||||
|
@ -244,7 +242,7 @@ class Labels extends CI_Controller {
|
|||
$pdf->Output();
|
||||
}
|
||||
|
||||
function makeMultiQsoLabel($qsos, $pdf, $numberofqsos, $offset, $orientation, $grid, $via) {
|
||||
function makeMultiQsoLabel($qsos, $pdf, $numberofqsos, $offset, $orientation, $grid, $via, $awards) {
|
||||
$text = '';
|
||||
$current_callsign = '';
|
||||
$current_sat = '';
|
||||
|
@ -261,7 +259,7 @@ class Labels extends CI_Controller {
|
|||
( ($qso->COL_BAND_RX !== $current_sat_bandrx) && ($this->pretty_sat_mode($qso->COL_SAT_MODE) !== '')) ) {
|
||||
// ((($qso->COL_SAT_NAME ?? '' !== $current_sat) || ($qso->COL_CALL !== $current_callsign)) && ($qso->COL_SAT_NAME ?? '' !== '') && ($col->COL_BAND_RX ?? '' !== $current_sat_bandrx))) {
|
||||
if (!empty($qso_data)) {
|
||||
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via);
|
||||
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via, $awards);
|
||||
$qso_data = [];
|
||||
}
|
||||
$current_callsign = $qso->COL_CALL;
|
||||
|
@ -281,19 +279,46 @@ class Labels extends CI_Controller {
|
|||
'sat_mode' => $this->pretty_sat_mode($qso->COL_SAT_MODE ?? ''),
|
||||
'sat_band_rx' => ($qso->COL_BAND_RX ?? ''),
|
||||
'qsl_recvd' => $qso->COL_QSL_RCVD,
|
||||
'mycall' => $qso->COL_STATION_CALLSIGN
|
||||
'mycall' => $qso->COL_STATION_CALLSIGN,
|
||||
'awards' => $this->stationAwardsList($qso)
|
||||
];
|
||||
}
|
||||
if (!empty($qso_data)) {
|
||||
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via);
|
||||
$this->finalizeData($pdf, $current_callsign, $qso_data, $numberofqsos, $orientation, $grid, $via, $awards);
|
||||
}
|
||||
}
|
||||
|
||||
function stationAwardsList($station_profile) {
|
||||
$awards = "";
|
||||
if (trim($station_profile->station_iota) !== '') {
|
||||
$awards .= "IOTA:" . $station_profile->station_iota . " ";
|
||||
}
|
||||
|
||||
if (trim($station_profile->station_sota) !== '') {
|
||||
$awards .= "SOTA:" . $station_profile->station_sota . " ";
|
||||
}
|
||||
|
||||
if (trim($station_profile->station_wwff) !== '') {
|
||||
$awards .= "WWFF:" . $station_profile->station_wwff . " ";
|
||||
}
|
||||
|
||||
if (trim($station_profile->station_pota) !== '') {
|
||||
$awards .= "POTA:" . $station_profile->station_pota . " ";
|
||||
}
|
||||
|
||||
if (trim($station_profile->station_sig) !== '' && trim($station_profile->station_sig_info) !== '') {
|
||||
$awards .= $station_profile->station_sig . ":" . $station_profile->station_sig_info;
|
||||
}
|
||||
|
||||
return $awards;
|
||||
}
|
||||
|
||||
// New begin
|
||||
function pretty_sat_mode($sat_mode) {
|
||||
return(strlen($sat_mode ?? '') == 2 ? (strtoupper($sat_mode[0]).'/'.strtoupper($sat_mode[1])) : strtoupper($sat_mode ?? ''));
|
||||
}
|
||||
|
||||
function finalizeData($pdf, $current_callsign, &$preliminaryData, $qso_per_label,$orientation, $grid, $via) {
|
||||
function finalizeData($pdf, $current_callsign, &$preliminaryData, $qso_per_label,$orientation, $grid, $via, $awards) {
|
||||
|
||||
$tableData = [];
|
||||
$count_qso = 0;
|
||||
|
@ -313,7 +338,7 @@ class Labels extends CI_Controller {
|
|||
|
||||
|
||||
if($count_qso == $qso_per_label){
|
||||
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via);
|
||||
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via, $awards);
|
||||
$tableData = []; // reset the data
|
||||
$count_qso = 0; // reset the counter
|
||||
}
|
||||
|
@ -321,12 +346,12 @@ class Labels extends CI_Controller {
|
|||
}
|
||||
// generate label for remaining QSOs
|
||||
if($count_qso > 0){
|
||||
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via);
|
||||
$this->generateLabel($pdf, $current_callsign, $tableData,$count_qso,$qso,$orientation, $grid, $via, $awards);
|
||||
$preliminaryData = []; // reset the data
|
||||
}
|
||||
}
|
||||
|
||||
function generateLabel($pdf, $current_callsign, $tableData,$numofqsos,$qso,$orientation,$grid=true, $via=false){
|
||||
function generateLabel($pdf, $current_callsign, $tableData,$numofqsos,$qso,$orientation,$grid=true, $via=false, $awards=false){
|
||||
$builder = new \AsciiTable\Builder();
|
||||
$builder->addRows($tableData);
|
||||
$text = "Confirming QSO".($numofqsos>1 ? 's' : '')." with ";
|
||||
|
@ -347,6 +372,7 @@ class Labels extends CI_Controller {
|
|||
}
|
||||
$text.="\n";
|
||||
if ($grid) { $text .= "My call: ".$qso['mycall']." Grid: ".$qso['mygrid']."\n"; }
|
||||
if ($awards) { $text .= $qso['awards']."\n"; }
|
||||
$text .= "Thanks for the QSO".($numofqsos>1 ? 's' : '');
|
||||
$text .= " | ".($qso['qsl_recvd'] == 'Y' ? 'TNX' : 'PSE')." QSL";
|
||||
$pdf->Add_Label($text,$orientation);
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Чрез';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Cards';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -79,6 +79,10 @@ $lang['general_word_qslcard_bureau'] = '卡片局';
|
|||
$lang['general_word_qslcard_electronic'] = '电子卡片';
|
||||
$lang['general_word_qslcard_manager'] = '卡片管理员';
|
||||
$lang['general_word_qslcard_via'] = '通过(via)';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_eqslcard'] = '电子 QSL 卡片';
|
||||
$lang['general_word_eqslcards'] = 'eQSL 卡片';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World(LoTW)';
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = '比赛日志(手动)';
|
|||
$lang['menu_bandmap'] = '波段地图';
|
||||
$lang['menu_view_qsl'] = '浏览QSL卡片';
|
||||
$lang['menu_view_eqsl'] = '浏览eQSL卡片';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = '笔记';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Správce';
|
|||
$lang['general_word_qslcard_via'] = 'Přes';
|
||||
$lang['general_word_eqslcard'] = 'eQSL karta';
|
||||
$lang['general_word_eqslcards'] = 'eQSL karty';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = 'Uložit závodní log';
|
|||
$lang['menu_bandmap'] = 'Bandmap';
|
||||
$lang['menu_view_qsl'] = 'Zobrazit QSL';
|
||||
$lang['menu_view_eqsl'] = 'Zobrazit eQSL';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = 'Poznámky';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Via';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Cards';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Manageri';
|
|||
$lang['general_word_qslcard_via'] = 'Via';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Cards';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = 'Post Contest Logging';
|
|||
$lang['menu_bandmap'] = 'Bandikartta';
|
||||
$lang['menu_view_qsl'] = 'Näytä QSL';
|
||||
$lang['menu_view_eqsl'] = 'Näytä eQSL';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = 'Muistio';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = "Manager";
|
|||
$lang['general_word_qslcard_via'] = "Via";
|
||||
$lang['general_word_eqslcard'] = "Carte eQSL";
|
||||
$lang['general_word_eqslcards'] = "Cartes eQSL";
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = "Logbook of the World";
|
||||
$lang['general_word_lotw_short'] = "LoTW";
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Διευθυντής';
|
|||
$lang['general_word_qslcard_via'] = 'Μέσω';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'Κάρτες eQSL';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Via';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'Cartoline eQSL';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Via';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Cards';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -82,6 +82,10 @@ $lang['general_word_qslcard_manager'] = 'Менеджер';
|
|||
$lang['general_word_qslcard_via'] = 'через';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = 'Журнал прошедших сорев
|
|||
$lang['menu_bandmap'] = 'План диапазонов';
|
||||
$lang['menu_view_qsl'] = 'Просмотр QSL';
|
||||
$lang['menu_view_eqsl'] = 'Просмотр eQSL';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = 'Заметки';
|
||||
|
||||
|
|
|
@ -82,6 +82,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Vía';
|
||||
$lang['general_word_eqslcard'] = 'Tarjeta eQSL';
|
||||
$lang['general_word_eqslcards'] = 'Tarjetas eQSL';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = 'Registrar Entrada de Concurso';
|
|||
$lang['menu_bandmap'] = 'mapa de Bandas';
|
||||
$lang['menu_view_qsl'] = 'Ver Tarjetas QSL';
|
||||
$lang['menu_view_eqsl'] = 'Ver Tarjetas eQSL';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = 'Notas';
|
||||
|
||||
|
|
|
@ -25,7 +25,7 @@ $lang['general_word_enabled'] = "Enabled";
|
|||
$lang['general_word_disabled'] = "Disabled";
|
||||
$lang['general_word_count'] = "Count";
|
||||
$lang['general_word_filtering_on'] = "Filtering on";
|
||||
$lang['general_word_never'] = "Never";
|
||||
$lang['general_word_never'] = "Never";
|
||||
$lang['general_word_export'] = "Export";
|
||||
$lang['general_word_import'] = "Import";
|
||||
$lang['general_word_startdate'] = "Start Date";
|
||||
|
@ -82,6 +82,10 @@ $lang['general_word_qslcard_manager'] = 'Manager';
|
|||
$lang['general_word_qslcard_via'] = 'Via';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Cards';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
@ -125,8 +129,8 @@ $lang['gen_hamradio_callsign'] = 'Signal';
|
|||
$lang['gen_hamradio_de'] = 'De';
|
||||
$lang['gen_hamradio_dx'] = 'Dx';
|
||||
$lang['gen_hamradio_mode'] = 'Mode';
|
||||
$lang['gen_hamradio_ant_az'] = 'Antenna Azimuth';
|
||||
$lang['gen_hamradio_ant_el'] = 'Antenna Elevation';
|
||||
$lang['gen_hamradio_ant_az'] = 'Antenna Azimuth';
|
||||
$lang['gen_hamradio_ant_el'] = 'Antenna Elevation';
|
||||
$lang['gen_hamradio_rst_sent'] = 'Skickat';
|
||||
$lang['gen_hamradio_rst_rcvd'] = 'Mottagen\'d';
|
||||
$lang['gen_hamradio_band'] = 'Band';
|
||||
|
|
|
@ -17,6 +17,7 @@ $lang['menu_post_contest_logging'] = 'Post Tävlingsloggning';
|
|||
$lang['menu_bandmap'] = 'Bandkarta';
|
||||
$lang['menu_view_qsl'] = 'Se QSL';
|
||||
$lang['menu_view_eqsl'] = 'Se eQSL';
|
||||
$lang['menu_view_sstv'] = 'View SSTV Images';
|
||||
|
||||
$lang['menu_notes'] = 'Anteckningar';
|
||||
|
||||
|
|
|
@ -81,6 +81,10 @@ $lang['general_word_qslcard_manager'] = 'Yönetici';
|
|||
$lang['general_word_qslcard_via'] = 'üzerinden';
|
||||
$lang['general_word_eqslcard'] = 'eQSL Card';
|
||||
$lang['general_word_eqslcards'] = 'eQSL Kartları';
|
||||
$lang['general_word_sstv_management'] = 'SSTV Management';
|
||||
$lang['general_word_sstvimages'] = 'SSTV Images';
|
||||
$lang['general_sstv_upload'] = 'Uploaded SSTV images';
|
||||
$lang['general_sstv_upload_button'] = 'Upload SSTV image(s)';
|
||||
$lang['general_word_lotw'] = 'Logbook of the World';
|
||||
$lang['general_word_lotw_short'] = 'LoTW';
|
||||
|
||||
|
|
|
@ -0,0 +1,30 @@
|
|||
<?php
|
||||
|
||||
defined('BASEPATH') OR exit('No direct script access allowed');
|
||||
|
||||
/*
|
||||
* Tag Cloudlog as 2.6.9
|
||||
*/
|
||||
|
||||
class Migration_tag_2_6_9 extends CI_Migration {
|
||||
|
||||
public function up()
|
||||
{
|
||||
|
||||
// Tag Cloudlog 2.6.3
|
||||
$this->db->where('option_name', 'version');
|
||||
$this->db->update('options', array('option_value' => '2.6.9'));
|
||||
|
||||
// Trigger Version Info Dialog
|
||||
$this->db->where('option_type', 'version_dialog');
|
||||
$this->db->where('option_name', 'confirmed');
|
||||
$this->db->update('user_options', array('option_value' => 'false'));
|
||||
|
||||
}
|
||||
|
||||
public function down()
|
||||
{
|
||||
$this->db->where('option_name', 'version');
|
||||
$this->db->update('options', array('option_value' => '2.6.8'));
|
||||
}
|
||||
}
|
|
@ -11,6 +11,12 @@
|
|||
<input class="form-check-input" type="checkbox" name="via" id="via">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label class="my-1 me-2 col-md-4" for="via">Include awards?</label>
|
||||
<div class="form-check-inline">
|
||||
<input class="form-check-input" type="checkbox" name="awards" id="awards">
|
||||
</div>
|
||||
</div>
|
||||
<div class="mb-3 row">
|
||||
<label class="my-1 me-2 col-md-4" for="startat">Start printing at?</label>
|
||||
<div class="d-flex align-items-center">
|
||||
|
|
94161
assets/json/pota.txt
94161
assets/json/pota.txt
Plik diff jest za duży
Load Diff
|
@ -0,0 +1,22 @@
|
|||
version: "3.8"
|
||||
|
||||
services:
|
||||
web:
|
||||
build: .
|
||||
env_file:
|
||||
- .env
|
||||
ports:
|
||||
- "80:80"
|
||||
volumes:
|
||||
- ./:/var/www/html:rw
|
||||
depends_on:
|
||||
- db
|
||||
|
||||
db:
|
||||
image: mariadb:latest
|
||||
env_file:
|
||||
- .env
|
||||
volumes:
|
||||
- db_data:/var/lib/mysql
|
||||
volumes:
|
||||
db_data: {}
|
|
@ -148,10 +148,10 @@ if($_POST) {
|
|||
|
||||
<fieldset>
|
||||
<legend>Database settings</legend>
|
||||
<label for="hostname">Hostname</label><input type="text" id="hostname" value="localhost" class="input_text" name="hostname" />
|
||||
<label for="username">Username</label><input type="text" id="username" class="input_text" name="username" />
|
||||
<label for="password">Password</label><input type="password" id="password" class="input_text" name="password" />
|
||||
<label for="database">Database Name</label><input type="text" id="database" class="input_text" name="database" />
|
||||
<label for="hostname">Hostname</label><input type="text" id="hostname" value="<?php echo getenv('MYSQL_HOST') ?: 'localhost'; ?>" class="input_text" name="hostname" />
|
||||
<label for="username">Username</label><input type="text" id="username" value="<?php echo getenv('MYSQL_USER'); ?>" class="input_text" name="username" />
|
||||
<label for="password">Password</label><input type="password" id="password" value="<?php echo getenv('MYSQL_PASSWORD'); ?>" class="input_text" name="password" />
|
||||
<label for="database">Database Name</label><input type="text" id="database" value="<?php echo getenv('MYSQL_DATABASE'); ?>" class="input_text" name="database" />
|
||||
<input type="submit" value="Install" id="submit" />
|
||||
</fieldset>
|
||||
</form>
|
||||
|
|
Ładowanie…
Reference in New Issue