diff --git a/archive/community.applications-2023.12.11-x86_64-1.txz b/archive/community.applications-2023.12.11-x86_64-1.txz new file mode 100644 index 00000000..e4ebdd20 Binary files /dev/null and b/archive/community.applications-2023.12.11-x86_64-1.txz differ diff --git a/source/community.applications/usr/local/emhttp/plugins/community.applications/ca.md5 b/source/community.applications/usr/local/emhttp/plugins/community.applications/ca.md5 index d01fb94a..51ab3f30 100644 --- a/source/community.applications/usr/local/emhttp/plugins/community.applications/ca.md5 +++ b/source/community.applications/usr/local/emhttp/plugins/community.applications/ca.md5 @@ -2,7 +2,7 @@ e23a1f42a98de86535c5c42c243a8893 ./Apps.page 0987a65d249dbec3267b0f4a02aa975a ./CA_notices.page 2c2a1b7d148fe51ee38813d1a0e71589 ./ca_settings.page 01ed7990078dee7cecfeda9a4e49377e ./default.cfg -868fa54739e6859b8675f856508984eb ./include/exec.php +4f4b4deed41981b724c69835132d12ac ./include/exec.php 1ad9fa5c1cefd01324e1bbbeb33b6a63 ./include/helpers.php 343e1d26129551fc142b09b5d6e10503 ./include/paths.php 7234caf6800479df03abb222aaedaca5 ./javascript/libraries.js @@ -22,5 +22,5 @@ a1cb6e1930f2ad689ce9e7fc2e39c846 ./scripts/notices.php 52355989c2bec01cfd55fe619588a033 ./scripts/updatePluginSupport.php b4e3802d0ddeaf20cdd1b001dab3eeb8 ./skins/Narrow/css.php 89953dddd75450915c0294a276d331bb ./skins/Narrow/skin.html -75ca078d7f144ecd1cb00bc7bc119400 ./skins/Narrow/skin.php +709c9c3fbce2310b3e1e435c80881485 ./skins/Narrow/skin.php c26b187a50c966adff7bfb9cab6fca16 ./event/disks_mounted diff --git a/source/community.applications/usr/local/emhttp/plugins/community.applications/include/exec.php b/source/community.applications/usr/local/emhttp/plugins/community.applications/include/exec.php index aa589291..aa12cc3b 100644 --- a/source/community.applications/usr/local/emhttp/plugins/community.applications/include/exec.php +++ b/source/community.applications/usr/local/emhttp/plugins/community.applications/include/exec.php @@ -935,6 +935,7 @@ function get_content() { if ( $displayPrivates && ! $template['Private'] ) continue; + $template['translatedCategories'] = ""; if ($filter) { # Can't be done at appfeed download time because the translation may or may not exist if the user switches languages foreach (explode(" ",$template['Category']) as $trCat) { @@ -950,13 +951,13 @@ function get_content() { if ( strpos($filter,"/") && filterMatch($filter,[$template['Repository']]) ) $searchResults['nameHit'][] = $template; else { - if ( filterMatch($filter,[$template['SortName'],$template['RepoShort'],$template['Language'],$template['LanguageLocal'],$template['ExtraSearchTerms']]) ) { - if ( filterMatch($filter,[$template['ExtraSearchTerms']]) && $template['ExtraPriority'] ) + if ( filterMatch($filter,[$template['SortName']??null,$template['RepoShort']??null,$template['Language']??null,$template['LanguageLocal']??null,$template['ExtraSearchTerms']??null]) ) { + if ( filterMatch($filter,[$template['ExtraSearchTerms']??null]) && ($template['ExtraPriority']??null) ) $searchResults['extraHit'][] = $template; else $searchResults['nameHit'][] = $template; - } elseif ( filterMatch($filter,[$template['Author'],$template['RepoName'],$template['Overview'],$template['translatedCategories']]) ) { - if ( $template['RepoName'] == $caSettings['favourite'] ) { + } elseif ( filterMatch($filter,[$template['Author']??null,$template['RepoName']??null,$template['Overview']??null,$template['translatedCategories']??null]) ) { + if ( $template['RepoName'] == $caSettings['favourite']??null ) { $searchResults['nameHit'][] = $template; } else { $searchResults['anyHit'][] = $template; @@ -986,7 +987,7 @@ function get_content() { if ( isset($searchResults['favNameHit']) ) usort($searchResults['favNameHit'],"mySort"); else - $searchResults['favNameHit'] = []; + $searchResults['favNameHit'] = []; if ( isset($searchResults['extraHit']) ) usort($searchResults['extraHit'],"mySort"); @@ -1221,7 +1222,7 @@ function previous_apps() { } } - if ( !$o['Blacklist'] && !$o['Deprecated'] && !$o['actionCentre'] ) + if ( !$o['Blacklist'] && !$o['Deprecated'] && !($o['actionCentre']??null) ) continue; } if ( $installed == "action" ) @@ -1300,7 +1301,7 @@ function previous_apps() { if ( $installed == "action" && $template['PluginURL'] && $template['Name'] !== "Community Applications") { $installedVersion = plugin("version","/var/log/plugins/$filename"); - if ( ( strcmp($installedVersion,$template['pluginVersion']) < 0 || $template['UpdateAvailable']) ) { + if ( ( strcmp($installedVersion,$template['pluginVersion']) < 0 || ($template['UpdateAvailable']??null)) ) { $template['actionCentre'] = true; $template['UpdateAvailable'] = true; $updateCount++; @@ -1312,7 +1313,7 @@ function previous_apps() { } } - if ( $installed == "action" && !$template['Blacklist'] && !$template['Deprecated'] && $template['Compatible'] && !$template['actionCentre'] ) + if ( $installed == "action" && !$template['Blacklist'] && !$template['Deprecated'] && $template['Compatible'] && !($template['actionCentre']??null) ) continue; if ( $installed == "action" ) $template['actionCentre'] = true; @@ -2307,7 +2308,7 @@ function getLastUpdate($ID) { return "Unknown"; $app = $templates[$index]; - if ( $app['PluginURL'] || $app['LanguageURL'] ) + if ( ($app['PluginURL']??null) || ($app['LanguageURL']??null) ) return; if ( strpos($app['Repository'],"ghcr.io") !== false || strpos($app['Repository'],"cr.hotio.dev") !== false || strpos($app['Repository'],"lscr.io") !== false) { // try dockerhub for info on ghcr stuff diff --git a/source/community.applications/usr/local/emhttp/plugins/community.applications/skins/Narrow/skin.php b/source/community.applications/usr/local/emhttp/plugins/community.applications/skins/Narrow/skin.php index 87f32dc4..7aaa6ba8 100644 --- a/source/community.applications/usr/local/emhttp/plugins/community.applications/skins/Narrow/skin.php +++ b/source/community.applications/usr/local/emhttp/plugins/community.applications/skins/Narrow/skin.php @@ -901,8 +901,8 @@ function getRepoDescriptionSkin($repository) { $templates = &$GLOBALS['templates']; $repo = $repositories[$repository]; - $iconPrefix = $repo['icon'] ? "" : ""; - $iconPostfix = $repo['icon'] ? "" : ""; + $iconPrefix = ($repo['icon']??false) ? "" : ""; + $iconPostfix = ($repo['icon']??false) ? "" : ""; $repo['icon'] = $repo['icon'] ?? "/plugins/dynamix.docker.manager/images/question.png"; $repo['bio'] = isset($repo['bio']) ? markdown($repo['bio']) : "
".tr("No description present"); @@ -917,17 +917,17 @@ function getRepoDescriptionSkin($repository) { if ( $template['Deprecated'] && $caSettings['hideDeprecated'] !== "false" ) continue; if ( ! $template['Compatible'] && $caSettings['hideIncompatible'] !== "false" ) continue; - if ( $template['Registry'] ) { + if ( $template['Registry'] ?? null ) { $totalDocker++; - if ( $template['downloads'] ) { + if ( $template['downloads']??null ) { $totalDownloads = $totalDownloads + $template['downloads']; $downloadDockerCount++; } } - if ( $template['PluginURL'] ) { + if ( $template['PluginURL'] ?? null ) { $totalPlugins++; } - if ( $template['Language'] ) { + if ( $template['Language'] ?? null ) { $totalLanguage++; } @@ -1011,7 +1011,7 @@ function getRepoDescriptionSkin($repository) {
Statistics
"; - if ( $repo['FirstSeen'] > 1 ) + if ( ($repo['FirstSeen']?? 0) > 1 ) $t .= ""; $t .= " @@ -1343,10 +1343,10 @@ function displayCard($template) { $ovr = str_replace("\n","
",$ovr); $Overview = strip_tags(str_replace("
"," ",$ovr)); - if ( ($UninstallOnly ?? false) && $Featured && is_file("/var/log/plugins/".basename($PluginURL)) ) + if ( ($UninstallOnly ?? false) && ($Featured??null) && is_file("/var/log/plugins/".basename($PluginURL)) ) $Overview = "".sprintf(tr("%s is incompatible with your OS version. Either uninstall %s or update the OS"),$Name,$Name)."  $Overview"; else - if ( (! $Compatible || ($UninstallOnly ?? false) ) && $Featured ) + if ( (! ($Compatible??null) || ($UninstallOnly ?? false) ) && ($Featured??null) ) $Overview = "".sprintf(tr("%s is incompatible with your OS version. Please update the OS to proceed"),$Name)."  $Overview";
".tr("Added to CA")."".date("F j, Y",$repo['FirstSeen'])."