From 7f80984db0d34e6fb0d8574fbfa28749145f5289 Mon Sep 17 00:00:00 2001 From: Andreas Date: Wed, 20 Jan 2021 12:56:53 +0100 Subject: [PATCH] [DOK autocomplete] Added DOK autocomplete in the QSO entry area --- application/controllers/Qso.php | 32 + application/views/interface_assets/footer.php | 28 + assets/json/dok.txt | 1089 +++++++++++++++++ 3 files changed, 1149 insertions(+) create mode 100644 assets/json/dok.txt diff --git a/application/controllers/Qso.php b/application/controllers/Qso.php index 9d65d36d..b4745def 100755 --- a/application/controllers/Qso.php +++ b/application/controllers/Qso.php @@ -276,4 +276,36 @@ class QSO extends CI_Controller { header('Content-Type: application/json'); echo json_encode($json); } + + /* + * Function is used for autocompletion of DOK in the QSO entry form + */ + public function get_dok() { + $json = []; + + if(!empty($this->input->get("query"))) { + $query = isset($_GET['query']) ? $_GET['query'] : FALSE; + $sota = strtoupper($query); + + $file = 'assets/json/dok.txt'; + + if (is_readable($file)) { + $lines = file($file, FILE_IGNORE_NEW_LINES); + $input = preg_quote($sota, '~'); + $reg = '~^'. $input .'(.*)$~'; + $result = preg_grep($reg, $lines); + $json = []; + $i = 0; + foreach ($result as &$value) { + // Limit to 100 as to not slowdown browser too much + if (count($json) <= 100) { + $json[] = ["name"=>$value]; + } + } + } + } + + header('Content-Type: application/json'); + echo json_encode($json); + } } diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index d4be17e6..71718b46 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -351,6 +351,34 @@ $( document ).ready(function() { } }); + $('#darc_dok').selectize({ + maxItems: 1, + closeAfterSelect: true, + loadThrottle: 250, + valueField: 'name', + labelField: 'name', + searchField: 'name', + options: [], + create: false, + load: function(query, callback) { + if (!query) return callback(); // Only trigger if 3 or more characters are entered + $.ajax({ + url: baseURL+'index.php/qso/get_dok', + type: 'GET', + dataType: 'json', + data: { + query: query, + }, + error: function() { + callback(); + }, + success: function(res) { + callback(res); + } + }); + } + }); + /* Populate the Satellite Names Field on the QSO Panel */ diff --git a/assets/json/dok.txt b/assets/json/dok.txt new file mode 100644 index 00000000..f63a3c48 --- /dev/null +++ b/assets/json/dok.txt @@ -0,0 +1,1089 @@ +A01 +A02 +A03 +A04 +A05 +A06 +A07 +A08 +A09 +A10 +A11 +A12 +A13 +A14 +A15 +A16 +A17 +A18 +A19 +A20 +A21 +A22 +A23 +A24 +A25 +A26 +A27 +A28 +A29 +A30 +A31 +A32 +A33 +A34 +A35 +A36 +A37 +A39 +A40 +A41 +A43 +A44 +A45 +A46 +A47 +A48 +A50 +A53 +A55 +B01 +B02 +B03 +B04 +B05 +B06 +B07 +B08 +B09 +B10 +B11 +B12 +B13 +B14 +B15 +B16 +B17 +B18 +B19 +B20 +B21 +B22 +B23 +B24 +B25 +B26 +B27 +B28 +B29 +B30 +B31 +B32 +B33 +B34 +B35 +B36 +B37 +B38 +B39 +B40 +B41 +B42 +B43 +C01 +C02 +C03 +C04 +C05 +C06 +C07 +C08 +C09 +C10 +C11 +C12 +C13 +C14 +C15 +C16 +C17 +C18 +C19 +C20 +C21 +C22 +C23 +C24 +C25 +C26 +C27 +C28 +C29 +C30 +C31 +C32 +C33 +C34 +C35 +C36 +C37 +C73 +D01 +D02 +D03 +D04 +D05 +D06 +D07 +D08 +D09 +D10 +D11 +D12 +D13 +D14 +D15 +D16 +D17 +D19 +D20 +D21 +D22 +D23 +D24 +D25 +D26 +D27 +E01 +E02 +E03 +E04 +E05 +E06 +E07 +E08 +E09 +E10 +E11 +E12 +E13 +E14 +E15 +E16 +E17 +E18 +E19 +E20 +E21 +E22 +E23 +E24 +E25 +E26 +E27 +E28 +E29 +E30 +E31 +E32 +E33 +E34 +E35 +E36 +E37 +E38 +E39 +F01 +F02 +F03 +F04 +F05 +F06 +F07 +F08 +F09 +F10 +F11 +F12 +F13 +F14 +F15 +F16 +F17 +F18 +F19 +F20 +F21 +F22 +F23 +F24 +F25 +F26 +F27 +F28 +F29 +F30 +F31 +F32 +F33 +F34 +F35 +F36 +F37 +F38 +F39 +F40 +F42 +F43 +F44 +F45 +F46 +F47 +F49 +F50 +F51 +F52 +F54 +F55 +F56 +F57 +F58 +F59 +F60 +F61 +F62 +F63 +F64 +F65 +F66 +F68 +F69 +F70 +F71 +F72 +F73 +F74 +F75 +F76 +G01 +G02 +G03 +G04 +G05 +G06 +G07 +G08 +G09 +G10 +G11 +G12 +G13 +G14 +G15 +G16 +G17 +G18 +G19 +G20 +G21 +G22 +G23 +G24 +G25 +G26 +G27 +G28 +G29 +G33 +G34 +G35 +G36 +G37 +G38 +G40 +G41 +G43 +G44 +G45 +G46 +G47 +G48 +G50 +G51 +G53 +G54 +G55 +G56 +G73 +H01 +H02 +H03 +H04 +H05 +H06 +H07 +H08 +H09 +H10 +H11 +H12 +H13 +H14 +H15 +H16 +H17 +H18 +H19 +H20 +H21 +H22 +H23 +H24 +H25 +H27 +H28 +H29 +H30 +H31 +H32 +H33 +H34 +H35 +H36 +H37 +H38 +H39 +H40 +H41 +H42 +H43 +H44 +H45 +H46 +H47 +H48 +H50 +H51 +H53 +H54 +H57 +H59 +H60 +H61 +H62 +H63 +H64 +H65 +H66 +I01 +I02 +I03 +I04 +I05 +I06 +I07 +I08 +I09 +I10 +I11 +I12 +I13 +I14 +I15 +I16 +I17 +I18 +I19 +I20 +I21 +I23 +I25 +I26 +I27 +I28 +I29 +I30 +I31 +I32 +I33 +I34 +I35 +I36 +I37 +I38 +I39 +I40 +I41 +I42 +I43 +I44 +I45 +I47 +I49 +I50 +I51 +I52 +I53 +I54 +I55 +I56 +I57 +I58 +K01 +K02 +K03 +K04 +K05 +K06 +K07 +K08 +K09 +K10 +K11 +K12 +K13 +K14 +K15 +K16 +K17 +K18 +K19 +K20 +K21 +K22 +K23 +K24 +K25 +K26 +K27 +K28 +K30 +K31 +K32 +K33 +K34 +K35 +K36 +K38 +K39 +K40 +K41 +K42 +K43 +K44 +K45 +K46 +K47 +K48 +K50 +K52 +K53 +K54 +K55 +K56 +K57 +L01 +L02 +L03 +L04 +L05 +L06 +L07 +L08 +L10 +L11 +L12 +L13 +L14 +L15 +L16 +L17 +L18 +L19 +L20 +L22 +L23 +L24 +L26 +L29 +L30 +L31 +M01 +M02 +M03 +M04 +M05 +M06 +M07 +M08 +M09 +M10 +M11 +M12 +M13 +M14 +M15 +M16 +M17 +M18 +M19 +M20 +M21 +M22 +M23 +M24 +M25 +M27 +M28 +M30 +M31 +M32 +M33 +M34 +M35 +N01 +N02 +N04 +N05 +N06 +N08 +N10 +N11 +N12 +N13 +N14 +N15 +N16 +N17 +N18 +N19 +N20 +N21 +N22 +N23 +N24 +N25 +N26 +N28 +N29 +N30 +N32 +N33 +N34 +N35 +N37 +N38 +N39 +N40 +N41 +N42 +N43 +N44 +N46 +N47 +N48 +N49 +N50 +N51 +N52 +N53 +N54 +N55 +N59 +N60 +N61 +N62 +O01 +O02 +O03 +O04 +O05 +O06 +O08 +O09 +O10 +O11 +O12 +O14 +O15 +O16 +O17 +O18 +O19 +O22 +O23 +O25 +O26 +O27 +O28 +O29 +O30 +O31 +O32 +O33 +O34 +O35 +O36 +O37 +O38 +O39 +O40 +O41 +O42 +O43 +O44 +O45 +O46 +O47 +O48 +O49 +O51 +O52 +O53 +O54 +O55 +P01 +P02 +P03 +P04 +P05 +P06 +P07 +P08 +P09 +P10 +P11 +P12 +P13 +P14 +P15 +P16 +P18 +P19 +P20 +P21 +P22 +P23 +P24 +P25 +P26 +P27 +P28 +P29 +P30 +P31 +P32 +P33 +P34 +P35 +P36 +P37 +P38 +P39 +P40 +P42 +P43 +P44 +P45 +P46 +P47 +P48 +P49 +P50 +P51 +P52 +P53 +P54 +P55 +P56 +P57 +P61 +P62 +Q01 +Q02 +Q03 +Q04 +Q05 +Q06 +Q07 +Q08 +Q09 +Q10 +Q11 +Q12 +Q13 +Q15 +Q16 +Q17 +Q18 +Q19 +Q21 +R01 +R02 +R03 +R04 +R05 +R06 +R07 +R09 +R10 +R11 +R12 +R13 +R14 +R15 +R16 +R17 +R18 +R19 +R20 +R21 +R22 +R24 +R25 +R26 +R27 +R29 +R30 +R31 +R32 +R33 +R34 +R55 +S01 +S02 +S03 +S04 +S05 +S06 +S07 +S08 +S09 +S10 +S12 +S13 +S14 +S15 +S16 +S18 +S19 +S20 +S21 +S22 +S24 +S25 +S26 +S27 +S28 +S29 +S31 +S32 +S33 +S34 +S35 +S36 +S37 +S38 +S41 +S42 +S43 +S44 +S45 +S46 +S47 +S48 +S49 +S50 +S51 +S52 +S53 +S54 +S55 +S56 +S57 +S58 +S59 +S60 +S62 +S63 +S64 +S65 +S69 +T01 +T02 +T03 +T04 +T05 +T06 +T07 +T08 +T09 +T10 +T11 +T12 +T13 +T14 +T15 +T16 +T17 +T18 +T19 +T20 +T21 +U01 +U02 +U03 +U04 +U05 +U06 +U07 +U08 +U09 +U10 +U11 +U12 +U13 +U14 +U15 +U16 +U17 +U18 +U19 +U20 +U21 +U22 +U23 +U24 +U25 +U26 +U27 +U29 +U30 +V01 +V02 +V03 +V04 +V05 +V06 +V07 +V08 +V10 +V11 +V12 +V13 +V14 +V15 +V16 +V18 +V19 +V20 +V22 +V23 +V25 +V26 +V27 +V28 +V29 +V30 +W01 +W02 +W03 +W04 +W05 +W06 +W08 +W09 +W10 +W12 +W13 +W14 +W15 +W17 +W18 +W19 +W20 +W21 +W22 +W23 +W24 +W26 +W27 +W28 +W29 +W30 +W31 +W33 +W34 +W35 +W36 +W37 +W38 +X01 +X02 +X03 +X04 +X05 +X06 +X07 +X08 bis 31.12.1992 Erfurt-Land +X09 +X10 +X11 +X12 +X13 +X14 +X15 +X16 +X17 +X18 +X19 +X20 +X21 +X22 +X23 +X24 +X25 +X26 +X27 +X28 +X29 +X30 +X31 +X32 +X33 +X34 +X35 +X36 +X37 +X38 +X40 +X41 +X42 +X43 +X44 +X45 +X46 +X48 +Y01 +Y02 +Y03 +Y04 +Y05 +Y06 +Y07 +Y08 +Y09 +Y10 +Y11 +Y12 +Y13 +Y14 +Y15 +Y16 +Y17 +Y18 +Y19 +Y20 +Y21 +Y22 +Y24 +Y25 +Y26 +Y27 +Y28 +Y30 +Y33 +Y34 +Y35 +Y36 +Y37 +Y38 +Y40 +Y42 +Y43 +Z01 +Z02 +Z03 +Z04 +Z05 +Z06 +Z07 +Z08 +Z09 +Z10 +Z11 +Z12 +Z13 +Z14 +Z15 +Z16 +Z17 +Z18 +Z19 +Z20 +Z21 +Z22 +Z24 +Z25 +Z26 +Z27 +Z28 +Z29 +Z30 +Z31 +Z32 +Z33 +Z34 +Z35 +Z36 +Z37 +Z38 +Z39 +Z40 +Z41 +Z43 +Z44 +Z45 +Z46 +Z47 +Z48 +Z49 +Z50 +Z51 +Z52 +Z53 +Z54 +Z55 +Z57 +Z58 +Z59 +Z60 +Z61 +Z62 +Z63 +Z64 +Z65 +Z66 +Z67 +Z68 +Z70 +Z71 +Z72 +Z74 +Z76 +Z77 +Z78 +Z79 +Z81 +Z83 +Z84 +Z85 +Z86 +Z87 +Z88 +Z89 +Z90 +Z91 +Z92 +Z93 +Z94