{"id":41,"date":"2026-02-24T06:57:21","date_gmt":"2026-02-24T06:57:21","guid":{"rendered":"http:\/\/localhost\/hopeline\/?page_id=41"},"modified":"2026-02-26T08:48:54","modified_gmt":"2026-02-26T08:48:54","slug":"publications","status":"publish","type":"page","link":"https:\/\/lwegatech.net\/hopeline\/publications\/","title":{"rendered":"Publications"},"content":{"rendered":"\n<div class=\"wp-block-columns hl-about-row is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\r\n    <div id=\"downloads-container\">\r\n        <div id=\"downloads-table_wrapper\" class=\"dataTables_wrapper no-footer\">\r\n            <div class=\"dataTables_length\" id=\"downloads-table_length\">\r\n                <label>Show \r\n                    <select name=\"downloads-table_length\" aria-controls=\"downloads-table\" class=\"entries-select\">\r\n                        <option value=\"10\"  selected='selected'>10<\/option>\r\n                        <option value=\"25\" >25<\/option>\r\n                        <option value=\"50\" >50<\/option>\r\n                        <option value=\"100\" >100<\/option>\r\n                    <\/select> entries\r\n                <\/label>\r\n            <\/div>\r\n            <div id=\"downloads-table_filter\" class=\"dataTables_filter\">\r\n                <label>Search:<input type=\"search\" class=\"search-input\" placeholder=\"\" aria-controls=\"downloads-table\"><\/label>\r\n            <\/div>\r\n            \r\n            <div id=\"downloads-content\">\r\n                <table id=\"downloads-table\" class=\"table expandable-table w-100 dataTable no-footer\" style=\"width: 100%;\" aria-describedby=\"downloads-table_info\">\r\n                    <thead>\r\n                        <tr>\r\n                            <th class=\"sorting\" tabindex=\"0\" aria-controls=\"downloads-table\" rowspan=\"1\" colspan=\"1\" style=\"width: 20%;\">File<\/th>\r\n                            <th class=\"sorting\" tabindex=\"0\" aria-controls=\"downloads-table\" rowspan=\"1\" colspan=\"1\" style=\"width: 80%;\">Details<\/th>\r\n                        <\/tr>\r\n                    <\/thead>\r\n                    <tbody>\r\n                                                <tr class=\"odd clickable-row\" data-href=\"https:\/\/lwegatech.net\/hopeline\/downloads\/sample-document-4\/\">\r\n                            <td class=\"sorting_1\">\r\n                                <img decoding=\"async\" src=\"https:\/\/lwegatech.net\/hopeline\/wp-content\/uploads\/2026\/02\/World-Environment-Day.jpg\" alt=\"Sample Document\" style=\"width: 100px; height: auto; object-fit: cover;\">\r\n                            <\/td>\r\n                            <td>\r\n                                <div class=\"py-1\">\r\n                                    <small>Downloads: 2 | Size: <\/small>\r\n                                <\/div>\r\n                                <h4 class=\"pub-title\">Sample Document<\/h4>\r\n                                <div class=\"pub-link\">\r\n                                    <p><p>This is a sample document.<\/p>\n<\/p>\r\n                                <\/div>\r\n                            <\/td>\r\n                        <\/tr>\r\n                                                <tr class=\"even clickable-row\" data-href=\"https:\/\/lwegatech.net\/hopeline\/downloads\/sample-document-3\/\">\r\n                            <td class=\"sorting_1\">\r\n                                <img decoding=\"async\" src=\"https:\/\/lwegatech.net\/hopeline\/wp-content\/uploads\/2026\/02\/World-Environment-Day.jpg\" alt=\"Sample Document\" style=\"width: 100px; height: auto; object-fit: cover;\">\r\n                            <\/td>\r\n                            <td>\r\n                                <div class=\"py-1\">\r\n                                    <small>Downloads: 2 | Size: <\/small>\r\n                                <\/div>\r\n                                <h4 class=\"pub-title\">Sample Document<\/h4>\r\n                                <div class=\"pub-link\">\r\n                                    <p><p>This is a sample document.<\/p>\n<\/p>\r\n                                <\/div>\r\n                            <\/td>\r\n                        <\/tr>\r\n                                                <tr class=\"odd clickable-row\" data-href=\"https:\/\/lwegatech.net\/hopeline\/downloads\/sample-document-2\/\">\r\n                            <td class=\"sorting_1\">\r\n                                <img decoding=\"async\" src=\"https:\/\/lwegatech.net\/hopeline\/wp-content\/uploads\/2026\/02\/World-Environment-Day.jpg\" alt=\"Sample Document\" style=\"width: 100px; height: auto; object-fit: cover;\">\r\n                            <\/td>\r\n                            <td>\r\n                                <div class=\"py-1\">\r\n                                    <small>Downloads: 2 | Size: <\/small>\r\n                                <\/div>\r\n                                <h4 class=\"pub-title\">Sample Document<\/h4>\r\n                                <div class=\"pub-link\">\r\n                                    <p><p>This is a sample document.<\/p>\n<\/p>\r\n                                <\/div>\r\n                            <\/td>\r\n                        <\/tr>\r\n                                                <tr class=\"even clickable-row\" data-href=\"https:\/\/lwegatech.net\/hopeline\/downloads\/sample-document\/\">\r\n                            <td class=\"sorting_1\">\r\n                                <img decoding=\"async\" src=\"https:\/\/lwegatech.net\/hopeline\/wp-content\/uploads\/2026\/02\/World-Environment-Day.jpg\" alt=\"Sample Document\" style=\"width: 100px; height: auto; object-fit: cover;\">\r\n                            <\/td>\r\n                            <td>\r\n                                <div class=\"py-1\">\r\n                                    <small>Downloads: 1 | Size: <\/small>\r\n                                <\/div>\r\n                                <h4 class=\"pub-title\">Sample Document<\/h4>\r\n                                <div class=\"pub-link\">\r\n                                    <p><p>This is a sample document.<\/p>\n<\/p>\r\n                                <\/div>\r\n                            <\/td>\r\n                        <\/tr>\r\n                                            <\/tbody>\r\n                <\/table>\r\n                \r\n                <div class=\"dataTables_info\" id=\"downloads-table_info\" role=\"status\" aria-live=\"polite\">\r\n                    Showing 1 to 4 of 4 entries\r\n                <\/div>\r\n                \r\n                <div class=\"dataTables_paginate paging_simple_numbers\" id=\"downloads-table_paginate\">\r\n                                    <\/div>\r\n            <\/div>\r\n        <\/div>\r\n    <\/div>\r\n\r\n    <script>\r\n    jQuery(document).ready(function($) {\r\n        var currentCategory = '';\r\n        var currentPage = 1;\r\n        var currentEntries = 10;\r\n\r\n        \/\/ Show entries functionality\r\n        $('.entries-select').change(function() {\r\n            var entries = $(this).val();\r\n            currentEntries = entries;\r\n            currentPage = 1; \/\/ Reset to first page when changing entries\r\n            \r\n            \/\/ Update URL without page reload\r\n            var newUrl = updateQueryStringParameter(window.location.href, 'entries', entries);\r\n            newUrl = removeQueryStringParameter(newUrl, 'paged');\r\n            history.replaceState(null, '', newUrl);\r\n            \r\n            loadDownloads(currentCategory, currentPage, entries);\r\n        });\r\n\r\n        \/\/ Search functionality\r\n        $('.search-input').keyup(function() {\r\n            var searchText = $(this).val().toLowerCase();\r\n            $('#downloads-table tbody tr').each(function() {\r\n                var rowText = $(this).text().toLowerCase();\r\n                $(this).toggle(rowText.indexOf(searchText) > -1);\r\n            });\r\n        });\r\n\r\n        \/\/ Pagination click handler\r\n        $(document).on('click', '.page-numbers a', function(e) {\r\n            e.preventDefault();\r\n            var href = $(this).attr('href');\r\n            var pageMatch = href.match(\/paged=(\\d+)\/);\r\n            var entriesMatch = href.match(\/entries=(\\d+)\/);\r\n            \r\n            if (pageMatch) {\r\n                currentPage = parseInt(pageMatch[1]);\r\n            }\r\n            if (entriesMatch) {\r\n                currentEntries = parseInt(entriesMatch[1]);\r\n                $('.entries-select').val(currentEntries);\r\n            }\r\n            \r\n            loadDownloads(currentCategory, currentPage, currentEntries);\r\n        });\r\n\r\n        \/\/ Make table row clickable\r\n        $('.clickable-row').on('click', function() {\r\n            window.location = $(this).data('href');\r\n        });\r\n\r\n        \/\/ AJAX function to load downloads\r\n        function loadDownloads(category, page, entries) {\r\n            $.ajax({\r\n                type: 'POST',\r\n                url: 'https:\/\/lwegatech.net\/hopeline\/wp-admin\/admin-ajax.php',\r\n                data: {\r\n                    action: 'filter_downloads_by_file_category',\r\n                    category_slug: category,\r\n                    paged: page,\r\n                    posts_per_page: entries\r\n                },\r\n                beforeSend: function() {\r\n                    $('#downloads-content').html('<div style=\"text-align: center; padding: 20px;\">Loading...<\/div>');\r\n                },\r\n                success: function(response) {\r\n                    $('#downloads-content').html(response);\r\n                    \r\n                    \/\/ Re-initialize clickable rows\r\n                    $('.clickable-row').on('click', function() {\r\n                        window.location = $(this).data('href');\r\n                    });\r\n                    \r\n                    \/\/ Update current page\r\n                    currentPage = page;\r\n                },\r\n                error: function() {\r\n                    $('#downloads-content').html('<div style=\"text-align: center; padding: 20px; color: red;\">Error loading content. Please try again.<\/div>');\r\n                }\r\n            });\r\n        }\r\n\r\n        \/\/ Helper functions for URL manipulation\r\n        function updateQueryStringParameter(uri, key, value) {\r\n            var re = new RegExp(\"([?&])\" + key + \"=.*?(&|$)\", \"i\");\r\n            var separator = uri.indexOf('?') !== -1 ? \"&\" : \"?\";\r\n            if (uri.match(re)) {\r\n                return uri.replace(re, '$1' + key + \"=\" + value + '$2');\r\n            } else {\r\n                return uri + separator + key + \"=\" + value;\r\n            }\r\n        }\r\n\r\n        function removeQueryStringParameter(uri, key) {\r\n            return uri\r\n                .replace(new RegExp(\"([?&])\" + key + \"=[^&;]+[&;]?\"), \"$1\")\r\n                .replace(new RegExp(\"([?&])\" + key + \"=[^&;]+[&;]?\"), \"$1\")\r\n                .replace(\/[?&]$\/, '');\r\n        }\r\n    });\r\n    <\/script>\r\n\r\n    \n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\">\r\n    <div class=\"downloads-category-menu\">\r\n        <h4 class=\"category-menu-title\">Other Publications<\/h4>\r\n        <ul class=\"category-menu-list\">\r\n                        <li class=\"category-menu-item\">\r\n                <a href=\"https:\/\/lwegatech.net\/hopeline\/newsletters\/\" class=\"category-menu-link\">\r\n                    <span class=\"category-name\">Newsletters<\/span>\r\n                    <span class=\"category-count\">(2)<\/span>\r\n                <\/a>\r\n            <\/li>\r\n                        <li class=\"category-menu-item\">\r\n                <a href=\"https:\/\/lwegatech.net\/hopeline\/reports\/\" class=\"category-menu-link\">\r\n                    <span class=\"category-name\">Reports<\/span>\r\n                    <span class=\"category-count\">(2)<\/span>\r\n                <\/a>\r\n            <\/li>\r\n                    <\/ul>\r\n    <\/div>\r\n\r\n    <style>\r\n    .downloads-category-menu {background: #fff; padding: 20px; border-left: 2px solid var(--kpy-primary); margin-left: 20px;}\r\n    .category-menu-title {font-size: 1.2rem; font-weight: 600; margin-bottom: 15px;}\r\n    .category-menu-list {list-style: none; padding: 0; margin: 0;}\r\n    .category-menu-item {margin-bottom: 8px;}\r\n    .category-menu-link { text-decoration: none; color: #333; display: flex;\r\n        justify-content: space-between;\r\n        padding: 10px;\r\n        border-radius: 5px;\r\n        transition: background 0.3s, color 0.3s;}\r\n    .category-menu-link:hover {\r\n        background: #f0f0f0;\r\n        color: #007bff;}\r\n    .category-count {\r\n        background: #eee;\r\n        padding: 2px 8px;\r\n        border-radius: 10px;\r\n        font-size: 0.85em;}\r\n\/* Pagination Wrapper *\/\r\n.dataTables_paginate.paging_simple_numbers {\r\n    display: flex;\r\n    justify-content: center;\r\n    align-items: center;\r\n    margin-top: 2rem;\r\n    gap: 0.5rem;\r\n    flex-wrap: wrap;\r\n}\r\n\r\n\/* Pagination Links (Default) *\/\r\n.dataTables_paginate .page-numbers {\r\n    display: inline-block;\r\n    padding: 0.5rem 0.75rem;\r\n    border: 1px solid #e5e7eb;\r\n    background: #ffffff;\r\n    color: #6b7280;\r\n    font-size: 0.875rem;\r\n    border-radius: 6px;\r\n    text-decoration: none;\r\n    transition: all 0.2s ease;\r\n}\r\n\r\n\/* Hover Effect *\/\r\n.dataTables_paginate .page-numbers:hover {\r\n    background: #f3f4f6;\r\n    border-color: #d1d5db;\r\n    color: #374151;\r\n}\r\n\r\n\/* Current Page *\/\r\n.dataTables_paginate .page-numbers.current {\r\n    background: #2563eb; \/* Blue *\/\r\n    color: #ffffff;\r\n    border-color: #2563eb;\r\n    cursor: default;\r\n}\r\n\r\n\/* Previous\/Next Buttons *\/\r\n.dataTables_paginate .prev,\r\n.dataTables_paginate .next {\r\n    font-weight: 600;\r\n}\r\n\r\n\/* Disabled State *\/\r\n.dataTables_paginate .disabled {\r\n    opacity: 0.5;\r\n    pointer-events: none;\r\n}\r\n\r\n\/* Dots (\u2026) *\/\r\n.dataTables_paginate .dots {\r\n    border: none;\r\n    background: transparent;\r\n    padding: 0.5rem;\r\n    color: #9ca3af;\r\n}\r\n\r\n\/* Mobile Responsive *\/\r\n@media (max-width: 768px) {\r\n    .dataTables_paginate.paging_simple_numbers {\r\n        gap: 0.3rem;\r\n    }\r\n\r\n    .dataTables_paginate .page-numbers {\r\n        padding: 0.4rem 0.6rem;\r\n        font-size: 0.8rem;\r\n    }\r\n}\r\n\r\n    <\/style>\r\n\r\n    \n<\/div>\n<\/div>\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":118,"parent":0,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"footnotes":""},"page_category":[],"class_list":["post-41","page","type-page","status-publish","has-post-thumbnail","hentry"],"_links":{"self":[{"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/pages\/41","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/comments?post=41"}],"version-history":[{"count":6,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/pages\/41\/revisions"}],"predecessor-version":[{"id":217,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/pages\/41\/revisions\/217"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/media\/118"}],"wp:attachment":[{"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/media?parent=41"}],"wp:term":[{"taxonomy":"page_category","embeddable":true,"href":"https:\/\/lwegatech.net\/hopeline\/wp-json\/wp\/v2\/page_category?post=41"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}