mirror of
https://github.com/Squidly271/community.applications.git
synced 2025-06-03 14:52:13 +08:00
Popular plugins
This commit is contained in:
parent
9148a36440
commit
5ca0399fde
BIN
archive/community.applications-2024.11.03-x86_64-1.txz
Normal file
BIN
archive/community.applications-2024.11.03-x86_64-1.txz
Normal file
Binary file not shown.
BIN
archive/community.applications-2024.11.05-x86_64-1.txz
Normal file
BIN
archive/community.applications-2024.11.05-x86_64-1.txz
Normal file
Binary file not shown.
@ -2,8 +2,8 @@
|
||||
<!DOCTYPE PLUGIN [
|
||||
<!ENTITY name "community.applications">
|
||||
<!ENTITY author "Andrew Zawadzki">
|
||||
<!ENTITY version "2024.10.27">
|
||||
<!ENTITY md5 "213cc3b76b512558a02a01e5a7caaf09">
|
||||
<!ENTITY version "2024.11.05">
|
||||
<!ENTITY md5 "d7641ae1fac99162da75e5fafb848d6c">
|
||||
<!ENTITY launch "Apps">
|
||||
<!ENTITY plugdir "/usr/local/emhttp/plugins/&name;">
|
||||
<!ENTITY github "Squidly271/community.applications">
|
||||
@ -13,6 +13,10 @@
|
||||
<PLUGIN name="&name;" author="&author;" version="&version;" launch="&launch;" pluginURL="&pluginURL;" min="6.12.0" support="https://forums.unraid.net/topic/38582-plug-in-community-applications" icon="users">
|
||||
|
||||
<CHANGES>
|
||||
###2024.11.05
|
||||
- Added: Most popular plugins section on home page
|
||||
- Added: Warning when clicking a link (eg: Project) that is outside of Limetech's control
|
||||
|
||||
###2024.10.27
|
||||
- Fixed: Under certain circumstances, Action Centre could be enabled with no apps to display
|
||||
- Added: Infrastructure changes for future releases
|
||||
|
@ -206,51 +206,57 @@ var ca_done_override = false;
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
$('body').on("click","a", function(e) {
|
||||
href = $(this).attr("href").trim();
|
||||
target = $(this).attr("target");
|
||||
function checkURL(href,target="") {
|
||||
if ( href ) {
|
||||
if ( href.match('https://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" || href.indexOf("http://lime-technology.com") == 0) {
|
||||
return;
|
||||
if ( href.match('https?://[^\.]*.(my)?unraid.net/') || href.indexOf("https://unraid.net/") == 0 || href == "https://unraid.net" || href.indexOf("http://lime-technology.com") == 0) {
|
||||
return true;
|
||||
}
|
||||
|
||||
if (href !== "#" && href.indexOf("javascript") !== 0) {
|
||||
if ( ! isValidURL(href) ) {
|
||||
if ( href.indexOf("/") == 0 ) { // all internal links start with "/"
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
var baseURLpage = href.split("/");
|
||||
if ( gui_pages_available.includes(baseURLpage[0]) ) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
}
|
||||
if ( $(this).hasClass("localURL") ) {
|
||||
return;
|
||||
return true;
|
||||
}
|
||||
e.preventDefault();
|
||||
swal({
|
||||
title: "<?=_('External Link')?>",
|
||||
text: "<span title='"+href+"'><?=_('Clicking OK will take you to a 3rd party website not associated with Limetech')?><br><br><b>"+href+"</span>",
|
||||
html: true,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
showConfirmButton: true,
|
||||
cancelButtonText: "<?=_('Cancel')?>",
|
||||
confirmButtonText: "<?=_('OK')?>"
|
||||
},function(isConfirm) {
|
||||
if (isConfirm) {
|
||||
var popupOpen = window.open(href,target);
|
||||
if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) {
|
||||
var popupWarning = addBannerWarning("<?=_('Popup Blocked.');?>");
|
||||
setTimeout(function() {
|
||||
removeBannerWarning(popupWarning);}
|
||||
,10000);
|
||||
}
|
||||
}
|
||||
});
|
||||
return false;
|
||||
}
|
||||
}
|
||||
return true;
|
||||
}
|
||||
|
||||
$('body').on("click","a", function(e) {
|
||||
href = $(this).attr("href").trim();
|
||||
target = $(this).attr("target");
|
||||
if ( ! checkURL(href,target) ) {
|
||||
e.preventDefault();
|
||||
swal({
|
||||
title: "<?=_('External Link')?>",
|
||||
text: "<span title='"+href+"'><?=_('Clicking OK will take you to a 3rd party website not associated with Limetech')?><br><br><b>"+href+"</span>",
|
||||
html: true,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
showConfirmButton: true,
|
||||
cancelButtonText: "<?=_('Cancel')?>",
|
||||
confirmButtonText: "<?=_('OK')?>"
|
||||
},function(isConfirm) {
|
||||
if (isConfirm) {
|
||||
var popupOpen = window.open(href,target);
|
||||
if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) {
|
||||
var popupWarning = addBannerWarning("<?=_('Popup Blocked.');?>");
|
||||
setTimeout(function() {
|
||||
removeBannerWarning(popupWarning);}
|
||||
,10000);
|
||||
}
|
||||
}
|
||||
});
|
||||
} else return;
|
||||
});
|
||||
<?endif;?>
|
||||
|
||||
@ -410,11 +416,36 @@ $(function(){
|
||||
});
|
||||
});
|
||||
|
||||
$('.mainArea').on("click",".ca_href",function() {
|
||||
$('.mainArea').on("click",".ca_href",function(e) {
|
||||
var href = $(this).attr("data-href");
|
||||
var target = $(this).attr("data-target");
|
||||
if ( ! target ) target = "_blank";
|
||||
window.open(href,target);
|
||||
if ( checkURL(href,target) ) {
|
||||
window.open(href,target);
|
||||
} else {
|
||||
e.preventDefault();
|
||||
swal({
|
||||
title: "<?=_('External Link')?>",
|
||||
text: "<span title='"+href+"'><?=_('Clicking OK will take you to a 3rd party website not associated with Limetech')?><br><br><b>"+href+"</span>",
|
||||
html: true,
|
||||
type: 'warning',
|
||||
showCancelButton: true,
|
||||
showConfirmButton: true,
|
||||
cancelButtonText: "<?=_('Cancel')?>",
|
||||
confirmButtonText: "<?=_('OK')?>"
|
||||
},function(isConfirm) {
|
||||
if (isConfirm) {
|
||||
var popupOpen = window.open(href,target);
|
||||
if ( !popupOpen || popupOpen.closed || typeof popupOpen == "undefined" ) {
|
||||
var popupWarning = addBannerWarning("<?=_('Popup Blocked.');?>");
|
||||
setTimeout(function() {
|
||||
removeBannerWarning(popupWarning);}
|
||||
,10000);
|
||||
}
|
||||
}
|
||||
});
|
||||
|
||||
}
|
||||
});
|
||||
|
||||
$('body').on("click",".dockerUpdate",function() {
|
||||
|
@ -1,8 +1,8 @@
|
||||
4ef966bca1fbaba35279c177b6928267 ./Apps.page
|
||||
491616daffc25b5a391a807f9f7ce831 ./Apps.page
|
||||
2defe45163697e40c813a57ae9a50231 ./CA_notices.page
|
||||
c12622d8281346d37398e96cbb6b8b69 ./ca_settings.page
|
||||
01ed7990078dee7cecfeda9a4e49377e ./default.cfg
|
||||
6457850b971b1e172eb1320f5310f95f ./include/exec.php
|
||||
c825d6ff72b001403386d49397a48753 ./include/exec.php
|
||||
1a3ecd8b0274801783580d04a232fd2e ./include/helpers.php
|
||||
277723d8757f4db32ef8b92cda9b7202 ./include/paths.php
|
||||
7234caf6800479df03abb222aaedaca5 ./javascript/libraries.js
|
||||
@ -22,5 +22,5 @@ c11415ac49ba9cd6af2b5dc022aa3367 ./scripts/notices.php
|
||||
7592f203dca78dce476051b85f7ca133 ./scripts/updatePluginSupport.php
|
||||
817d4586a062e3949884d2b281779d76 ./skins/Narrow/css.php
|
||||
f7d48fdb63e116ecc3ec49cbbf6b2dc2 ./skins/Narrow/skin.html
|
||||
6230591d8cf47956420bd7ef6c380076 ./skins/Narrow/skin.php
|
||||
3dc0ce9219cff3192b3a655792e83d80 ./skins/Narrow/skin.php
|
||||
c26b187a50c966adff7bfb9cab6fca16 ./event/disks_mounted
|
||||
|
@ -577,6 +577,22 @@ function appOfDay($file) {
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "topPlugins":
|
||||
$sortOrder['sortBy'] = "downloads";
|
||||
$sortOrder['sortDir'] = "Down";
|
||||
usort($file,"mySort");
|
||||
$repos = [];
|
||||
foreach ($file as $template) {
|
||||
if ( !isset($template['PluginURL']) ) continue;
|
||||
if ( ! $template['downloads'] ?? false ) continue;
|
||||
if ( checkRandomApp($template) ) {
|
||||
$repos[] = $template['Repository'];
|
||||
$appOfDay[] = $template['ID'];
|
||||
if ( count($appOfDay) == $max ) break;
|
||||
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "trending":
|
||||
$sortOrder['sortBy'] = "trendDelta";
|
||||
$sortOrder['sortDir'] = "Down";
|
||||
@ -828,6 +844,14 @@ function get_content() {
|
||||
"sortby"=>"topPerforming",
|
||||
"sortdir"=>"Down"
|
||||
],
|
||||
[
|
||||
"type"=>"topPlugins",
|
||||
"text1"=>tr("Most Popular Plugins"),
|
||||
"text2"=>tr("The most popular plugins installed by other Unraid users"),
|
||||
"cat"=>"plugins:",
|
||||
"sortby"=>"downloads",
|
||||
"sortdir"=>"Down"
|
||||
],
|
||||
[
|
||||
"type"=>"random",
|
||||
"text1"=>tr("Random Apps"),
|
||||
@ -874,6 +898,8 @@ function get_content() {
|
||||
$startupType = "Updated"; break;
|
||||
case "trending":
|
||||
$startupType = "Top Performing"; break;
|
||||
case "topPlugins":
|
||||
$startupType = "Top Plugins"; break;
|
||||
case "random":
|
||||
$startupType = "Random"; break;
|
||||
case "upandcoming":
|
||||
|
@ -1585,12 +1585,12 @@ function displayPopup($template) {
|
||||
<tr><td class='popupTableLeft'>".tr("Categories")."</td><td class='popupTableRight'>$Category</td></tr>
|
||||
<tr><td class='popupTableLeft'>".tr("Added")."</td><td class='popupTableRight'>$DateAdded</td></tr>
|
||||
";
|
||||
$downloadText = getDownloads($downloads);
|
||||
if ($downloadText)
|
||||
$card .= "<tr><td class='popupTableLeft'>".tr("Downloads")."</td><td class='popupTableRight'>$downloadText</td></tr>";
|
||||
elseif ( isset($topPlugin) )
|
||||
$card .= "<tr><td class='popupTableLeft'>".tr("Popularity")."</td><td class='popupTableRight'># $topPlugin</td></tr>";
|
||||
|
||||
if ( !$Plugin ) {
|
||||
$downloadText = getDownloads($downloads);
|
||||
if ($downloadText)
|
||||
$card .= "<tr><td class='popupTableLeft'>".tr("Downloads")."</td><td class='popupTableRight'>$downloadText</td></tr>";
|
||||
}
|
||||
|
||||
if (!$Plugin && !$LanguagePack)
|
||||
$card .= "<tr><td class='popupTableLeft'>".tr("Repository")."</td><td class='popupTableRight' style='white-space:nowrap;'>$Repository</td></tr>";
|
||||
if ($stars)
|
||||
|
BIN
webImages/iStock-875657838.jpg
Normal file
BIN
webImages/iStock-875657838.jpg
Normal file
Binary file not shown.
After Width: | Height: | Size: 10 KiB |
Loading…
x
Reference in New Issue
Block a user