diff --git a/application/views/interface_assets/footer.php b/application/views/interface_assets/footer.php index f076c791..3fb2f397 100644 --- a/application/views/interface_assets/footer.php +++ b/application/views/interface_assets/footer.php @@ -2141,8 +2141,33 @@ $(document).ready(function(){ -uri->segment(1) == "qsl") { ?> +uri->segment(1) == "qsl") { + // Get Date format + if($this->session->userdata('user_date_format')) { + // If Logged in and session exists + $custom_date_format = $this->session->userdata('user_date_format'); + } else { + // Get Default date format from /config/cloudlog.php + $custom_date_format = $this->config->item('qso_date_format'); + } + + switch ($custom_date_format) { + case 'd/m/y': $usethisformat = 'D/MM/YY';break; + case 'd/m/Y': $usethisformat = 'D/MM/YYYY';break; + case 'm/d/y': $usethisformat = 'MM/D/YY';break; + case 'm/d/Y': $usethisformat = 'MM/D/YYYY';break; + case 'd.m.Y': $usethisformat = 'D.MM.YYYY';break; + case 'y/m/d': $usethisformat = 'YY/MM/D';break; + case 'Y-m-d': $usethisformat = 'YYYY-MM-D';break; + case 'M d, Y': $usethisformat = 'MMM D, YYYY';break; + case 'M d, y': $usethisformat = 'MMM D, YY';break; + } + + ?> + + diff --git a/assets/js/datetime-moment.js b/assets/js/datetime-moment.js new file mode 100644 index 00000000..52b537c0 --- /dev/null +++ b/assets/js/datetime-moment.js @@ -0,0 +1,70 @@ +/** + * This plug-in for DataTables represents the ultimate option in extensibility + * for sorting date / time strings correctly. It uses + * [Moment.js](http://momentjs.com) to create automatic type detection and + * sorting plug-ins for DataTables based on a given format. This way, DataTables + * will automatically detect your temporal information and sort it correctly. + * + * For usage instructions, please see the DataTables blog + * post that [introduces it](//datatables.net/blog/2014-12-18). + * + * @name Ultimate Date / Time sorting + * @summary Sort date and time in any format using Moment.js + * @author [Allan Jardine](//datatables.net) + * @depends DataTables 1.10+, Moment.js 1.7+ + * + * @example + * $.fn.dataTable.moment( 'HH:mm MMM D, YY' ); + * $.fn.dataTable.moment( 'dddd, MMMM Do, YYYY' ); + * + * $('#example').DataTable(); + */ + +(function (factory) { + if (typeof define === "function" && define.amd) { + define(["jquery", "moment", "datatables.net"], factory); + } else { + factory(jQuery, moment); + } +}(function ($, moment) { + +function strip (d) { + if ( typeof d === 'string' ) { + // Strip HTML tags and newline characters if possible + d = d.replace(/(<.*?>)|(\r?\n|\r)/g, ''); + + // Strip out surrounding white space + d = d.trim(); + } + + return d; +} + +$.fn.dataTable.moment = function ( format, locale, reverseEmpties ) { + var types = $.fn.dataTable.ext.type; + + // Add type detection + types.detect.unshift( function ( d ) { + d = strip(d); + + // Null and empty values are acceptable + if ( d === '' || d === null ) { + return 'moment-'+format; + } + + return moment( d, format, locale, true ).isValid() ? + 'moment-'+format : + null; + } ); + + // Add sorting method - use an integer for the sorting + types.order[ 'moment-'+format+'-pre' ] = function ( d ) { + d = strip(d); + + return !moment(d, format, locale, true).isValid() ? + (reverseEmpties ? -Infinity : Infinity) : + parseInt( moment( d, format, locale, true ).format( 'x' ), 10 ); + }; +}; + +}));