⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.23
Server IP:
178.33.27.10
Server:
Linux cpanel.dev-unit.com 3.10.0-1160.108.1.el7.x86_64 #1 SMP Thu Jan 25 16:17:31 UTC 2024 x86_64
Server Software:
Apache/2.4.57 (Unix) OpenSSL/1.0.2k-fips
PHP Version:
8.2.11
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
usr
/
local
/
cwp
/
softaculous
/
themes
/
default
/
admin
/
View File Name :
manage_sets_theme.php
<?php ////////////////////////////////////////////////////////////// //=========================================================== // manage_sets_theme.php //=========================================================== // SOFTACULOUS // Version : 1.1 // Inspired by the DESIRE to be the BEST OF ALL // ---------------------------------------------------------- // Started by: Alons // Date: 10th Jan 2009 // Time: 21:00 hrs // Site: http://www.softaculous.com/ (SOFTACULOUS) // ---------------------------------------------------------- // Please Read the Terms of use at http://www.softaculous.com // ---------------------------------------------------------- //=========================================================== // (c)Softaculous Inc. //=========================================================== ////////////////////////////////////////////////////////////// if(!defined('SOFTACULOUS')){ die('Hacking Attempt'); } function manage_sets_theme(){ global $globals, $l, $theme, $langs, $error, $sets, $user, $themes_count, $plugins_count, $selected_set, $done; //Code is placed here to prevent the theme part below this from displaying. //Search for plugins/themes if(optGET('search_key')){ $search_key = inputsec(trim($_GET['search_key'])); $is_plugin = optGET('plugins'); search_wp_plugins_themes($search_key, $is_plugin); return false; } if(isset($_REQUEST['default_value'])){ if(!empty($error)){ echo '0'.current($error); return false; } } softheader($l['<title>']); echo ' <script src="'.$theme['url'].'/js/dropzone.min.js"></script> <link rel="stylesheet" href="'.$theme['url'].'/css/dropzone.min.css"> <style> .dz-preview, .dz-image{ min-height:50px !important; height:50px !important; padding: 0px !important; } .dz-details{ padding: 0px !important; } /* Nav tabs style */ #nav-tab a{ text-decoration: none; } </style> <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ var sets_list = '.json_encode($sets, JSON_FORCE_OBJECT).'; $( document ).ready(function() { multiple_checks(); $("#create_sets").click(function(){ $("#add_sets_div").slideToggle(); }); $("#add_sets").click(function(){ var set_nam = $("#set_input").val(); var validate = /[a-zA-Z0-9_\- ]+/; for (var i=0; i < set_nam.length; i++) { if(!(validate.test(set_nam[i]))){ alert("'.$l['invalid_set_name'].'"); return false; } } $("#add_sets_div").slideToggle(); }); //Remove sets $("#remove_sets").click(function(){ var sets = document.getElementsByName("sets[]"); sets_data = new Array(); var c = 0; for(i = 0; i < sets.length; i++){ if(sets[i].checked == true){ sets_data[c] = sets[i].id; c++; } } //No sets selected to remove, abort it if(sets_data.length == 0){ alert("'.$l['sel_sets_torem'].'"); return false; } var csrf_token = $("#csrf_token").val(); $.ajax({ url: window.location+"&jsnohf=1&remove_sets=1", type: "POST", data: {csrf_token:csrf_token,sets:sets_data}, success: function(data){ //alert(data); //No plugin posted if(sets_data.length > 0){ alert("'.$l['sets_rem_success'].'"); } //To prevent from asking resend popup while reloading page window.location.href = window.location.href; } }); }); // Hide error/success warning on tab change $("#nav-tab a").on("click", function(){ $("#add_failed").hide(); $("#add_success").hide(); }); //Set default value $(".default_value").on("click", function(event){ var set_name = $(this).attr("id"); set_name = set_name.replace("default_value_", ""); var csrf_token = $("#csrf_token").val(); if(this.checked == true){ checked = 1; }else{ checked = 0; } $.ajax({ url: window.location+"&api=json&set_name="+encodeURIComponent(set_name)+"&default_value="+encodeURIComponent(checked), type: "POST", data: "csrf_token="+csrf_token, success: function(data){ if(!data){ alert("'.$l['api_no_resp'].'"); return false; } var resp = JSON.parse(data); if(!resp){ alert("'.$l['api_invalid_resp'].'"); return false; } if(!resp.done){ if(resp.error){ var error_disp = "'.$l['following_errors_occured'].':\n"; for(x in resp.error){ error_disp = error_disp+resp.error[x]+"\n"; } alert(error_disp); return false; } alert("'.$l['fail_save_pref'].'"); return true; } alert(resp.done); } }); }); function multiple_checks(){ $("#check_allsets").on("click", function(event){ if(this.checked == true){ $(".check_allsets").prop("checked", true); }else{ $(".check_allsets").prop("checked", false); } }); } }); function remove_plugin_submit(){ var plugin_or_theme = $("#plugin_or_theme").val(); if(plugin_or_theme == "plugins"){ plugin_or_theme = "plugins"; $("#plugin_removed_success").text("'.$l['plugin_rem_success'].'").css("text-align", "center"); }else{ plugin_or_theme = "themes"; $("#plugin_removed_success").text("'.$l['theme_rem_success'].'").css("text-align", "center"); } var remove_plugins_themes = document.getElementsByName("remove_plugins_themes[]"); plugins_themes_to_remove = new Array(); var c = 0; for(i = 0; i < remove_plugins_themes.length; i++){ if(remove_plugins_themes[i].checked == true){ plugins_themes_to_remove[c] = remove_plugins_themes[i].value; c++; } } var set = $("#plugin_theme_set").val(); var csrf_token = $("#csrf_token").val(); $_("rem_plth_"+set).innerHTML = "<a><img src=\''.$theme['images'].'load.gif\' alt=\''.$l['removing'].'\' width=\'25\' ></a>"; $.ajax({ url: window.location+"&jsnohf=1&plugins_themes_to_remove="+encodeURIComponent(plugins_themes_to_remove)+"&set_name="+encodeURIComponent(set)+"&"+plugin_or_theme+"=1", type: "POST", data: "csrf_token="+csrf_token, success: function(data){ //alert(data); if(plugins_themes_to_remove.length > 0){ $("#plugin_removed_success").fadeTo(3000, 500).slideUp(1000, function(){ $("#plugin_removed_success").slideUp(1000); }); } $_("rem_plth_"+set).innerHTML = ""; var plugins_count = parseInt($(data).find("#plugins_count").val()); var themes_count = parseInt($(data).find("#themes_count").val()); if(plugin_or_theme == "plugins"){ if(plugins_count === 0){ $("#"+set+"_plugin_count").html(""); }else{ $("#"+set+"_plugin_count").html(plugins_count+"'.$l['total_plugin_theme'].'"); } }else{ if(themes_count === 0){ $("#"+set+"_theme_count").html(""); }else{ $("#"+set+"_theme_count").html(themes_count+"'.$l['total_plugin_theme'].'"); } } } }); } //Creates the list of plugins/themes to remove via modal(popup) function remove_wp_plugins_themes(set, to_remove){ var plugins_themes_list; $("#remove_plugins_themes").empty(); var csrf_token = $("#csrf_token").val(); //Get plugins_themes count $.ajax({ type: "POST", data: "csrf_token="+csrf_token, url: window.location+"&set_stats="+encodeURIComponent(set)+"&get_plugins_themes_count=1", timeout:0, // Checking for success success: function(data){ var selected_set = $(data).find("#selected_set").text(); var selected_set_data = JSON.parse(selected_set); var set_data = new Object(); if(to_remove == "plugins"){ $(".modal-title").text("'.$l['sel_plug_rem'].'"); if(selected_set_data.plugins){ set_data = selected_set_data.plugins; } if(selected_set_data.custom_plugins){ for(var x in selected_set_data.custom_plugins){ set_data[selected_set_data.custom_plugins[x].slug] = selected_set_data.custom_plugins[x].name; } } }else{ $(".modal-title").text("'.$l['sel_theme_rem'].'"); if(selected_set_data.themes){ set_data = selected_set_data.themes; } if(selected_set_data.custom_themes){ for(var x in selected_set_data.custom_themes){ set_data[selected_set_data.custom_themes[x].slug] = selected_set_data.custom_themes[x].name; } } } $("#plugin_or_theme").val(to_remove); $("#plugin_theme_set").val(set); //var tmp = plugins_themes.split(","); if(set_data === undefined || (set_data.length <= 0 && Object.keys(set_data) <= 0)){ if(to_remove == "plugins"){ plugins_themes_list = "'.$l['no_plug_sel'].'"; }else{ plugins_themes_list = "'.$l['no_theme_sel'].'"; } $("#remove_plugins_themes").append("<tr><td><div class=\'alert alert-warning\'>"+plugins_themes_list+"</div></td></tr><br />"); return false; } for(var slug in set_data){ //alert(slug); //alert(set_data[slug]); var plugin_list = ""; plugins_themes_list = "<input id="+set+" type=\"checkbox\" name=\"remove_plugins_themes[]\" value=\'"+slug+"\'></td><td>"+set_data[slug]; $("#remove_plugins_themes").append("<tr><td width=\"25px\">"+plugins_themes_list+"</td></tr><br />"); } } }); } function add_plugins_themes(set_name, vall){ //Clean previous search value or results $("#search_input").val(""); $("#plugin_theme_results").empty(); $("#set_post").val(""); //alert(set_name); //alert(vall); $("#set_post").val(set_name); // To determine in which set the plugin or thmes to be added $("#plugin_or_theme").val(vall); // To determine if the search is for theme or plugin if(vall == "'.$l['add_plugins'].'"){ plugin_or_theme = "plugin"; }else{ plugin_or_theme = "theme"; } $("#upload_type").val(plugin_or_theme); $("#add_success").text(""); $("#add_success").hide(); $("#add_failed").text(""); $("#add_failed").hide(); if(vall == "Add Plugins"){ $(".modal-title").text("'.$l['sel_plug_add'].'"); $("#pot_add_tab").text("'.$l['add_plugins'].'"); $("#pot_upload_tab").text("'.$l['upload_plugins'].'"); }else{ $(".modal-title").text("'.$l['sel_theme_add'].'"); $("#pot_add_tab").text("'.$l['add_themes'].'"); $("#pot_upload_tab").text("'.$l['upload_themes'].'"); } } //Filters the plugin search result function filter_plugins(){ var val = $("#search_input").val(); var plugin_or_theme = $("#plugin_or_theme").val(); if(plugin_or_theme == "'.$l['add_plugins'].'"){ plugin_or_theme = "plugins"; }else{ plugin_or_theme = "themes"; } $.ajax({ url: window.location+"&jsnohf=1&search_key="+encodeURIComponent(val)+"&"+plugin_or_theme+"=1", type: "GET", success: function(data){//alert(data); var input, filter, table, tr, td, i; input = document.getElementById("search_input"); filter = input.value.toUpperCase(); $("#plugin_theme_results").html(data); table = document.getElementById("plugin_theme_results"); tr = table.getElementsByTagName("tr"); for (i = 0; i < tr.length; i++) { td = tr[i].getElementsByTagName("td")[1]; } } }); } function submit_custom(slug, fileName){ $("#add_failed").hide(); $("#add_success").hide(); var is_plugin_or_theme = $("#plugin_or_theme").val(); if(is_plugin_or_theme == "'.$l['add_plugins'].'"){ is_plugin_or_theme = "plugins"; }else{ is_plugin_or_theme = "themes"; } var sets_name = $("#set_post").val(); var name = [$("#custom_name").val()]; if(name == null){ $("#add_failed").text("'.$l['err_custom_fields'].'").css("text-align", "center"); $("#add_failed").show(); $("#add_success").hide(); return false; }else{ var csrf_token = $("#csrf_token").val(); var formdata = new FormData(); formdata.append("add_plugins_themes_data_slugs", slug); formdata.append("add_plugins_themes_data_names", name); formdata.append("add_plugins_themes_data_filename", fileName); formdata.append("csrf_token", csrf_token); var xhttp = new XMLHttpRequest(); xhttp.onreadystatechange = function() { if (this.readyState == 4 && this.status == 200) { var data = JSON.parse(this.responseText); if(data.error){ $("#add_failed").text(data.error); $("#add_failed").show(); return false; } if(!data.done || data.done == null){ $("#add_failed").text("'.$l['err_custom_upload'].'").css("text-align", "center"); $("#add_failed").show(); return false; } if(is_plugin_or_theme == "plugins"){ $("#add_success").text("'.$l['plugin_add_success'].'").css("text-align", "center"); }else{ $("#add_success").text("'.$l['theme_add_success'].'").css("text-align", "center"); } $("#custom_name").val(""); $("#add_failed").hide(); $("#add_success").show(); $("#plugin_theme_results").empty(); $_("add_plth").innerHTML = ""; var plugins_count = data.plugins_count; var themes_count = data.themes_count; if(is_plugin_or_theme == "plugins"){ $("#"+sets_name+"_plugin_count").html(plugins_count+"'.$l['total_plugin_theme'].'"); }else{ $("#"+sets_name+"_theme_count").html(themes_count+"'.$l['total_plugin_theme'].'"); } } }; xhttp.open("POST", window.location+"&api=json&sets_name="+encodeURIComponent(sets_name)+"&"+is_plugin_or_theme+"=1&add_plugins_themes_data=1&add_plugins_themes_custom=1&get_plugins_themes_count=1", true); xhttp.send(formdata); } } function submit_addition(){ $_("add_plth").innerHTML = "<a><img src=\''.$theme['images'].'load.gif\' alt=\''.$l['adding'].'\' width=\'25\' ></a>"; var is_plugin_or_theme = $("#plugin_or_theme").val(); if(is_plugin_or_theme == "'.$l['add_plugins'].'"){ is_plugin_or_theme = "plugins"; }else{ is_plugin_or_theme = "themes"; } var plugins_or_themes = document.getElementsByName("plugins_or_themes[]"); var sets_name = $("#set_post").val(); //var add_plugins_themes_data = new Object(); //var add_plugins_themes_data = new Array(); var slugs = new Array(); var names = new Array(); var c = 0; for(i = 0; i < plugins_or_themes.length; i++){ if(plugins_or_themes[i].checked == true){ //var plth_id = plugins_or_themes[i].value; //alert("Slug: "+plug_theme_name); //add_plugins_themes_data[plugins_or_themes[i].value] = document.getElementById(plugins_or_themes[i].value).innerHTML; //add_plugins_themes_data.plth_id = document.getElementById(plugins_or_themes[i].value).innerHTML; //alert("Name: "+document.getElementById(plugins_or_themes[i].value).innerHTML); slugs[c] = plugins_or_themes[i].value; names[c] = document.getElementById(plugins_or_themes[i].value).value; c++; } } //alert(add_plugins_themes_data); //var jsonString = JSON.stringify(add_plugins_themes_data);alert("JSONstring: "+jsonString); if(slugs.length == 0){ if(is_plugin_or_theme == "plugins"){ $("#add_failed").text("'.$l['sel_plugins'].'").css("text-align", "center"); }else{ $("#add_failed").text("'.$l['sel_themes'].'").css("text-align", "center"); } $("#add_failed").show(); $("#add_success").hide(); $_("add_plth").innerHTML = ""; return false; }else{ var csrf_token = $("#csrf_token").val(); $.ajax({ url: window.location+"&jsnohf=1&sets_name="+encodeURIComponent(sets_name)+"&"+is_plugin_or_theme+"=1&add_plugins_themes_data=1", type: "POST", data: {add_plugins_themes_data_slugs : slugs, add_plugins_themes_data_names : names, csrf_token : csrf_token}, success: function(data){ //alert(data); if(is_plugin_or_theme == "plugins"){ $("#add_success").text("'.$l['plugin_add_success'].'").css("text-align", "center"); }else{ $("#add_success").text("'.$l['theme_add_success'].'").css("text-align", "center"); } $("#add_failed").hide(); $("#add_success").show(); $("#plugin_theme_results").empty(); $_("add_plth").innerHTML = ""; var plugins_count = $(data).find("#plugins_count").val(); var themes_count = $(data).find("#themes_count").val(); if(is_plugin_or_theme == "plugins"){ $("#"+sets_name+"_plugin_count").html(plugins_count+"'.$l['total_plugin_theme'].'"); }else{ $("#"+sets_name+"_theme_count").html(themes_count+"'.$l['total_plugin_theme'].'"); } }, error: function(data) { $_("add_plth"+siteid).innerHTML = ""; } }); } return true; } var search_timer; $(document).on("keyup", "#search_input", function(e) { var search_string = $(this).val(); clearTimeout(search_timer); if (search_string == "") { $("#plugin_theme_results").hide(); }else{ $("#plugin_theme_results").show(); search_timer = setTimeout("filter_plugins();", 300); }; }); //on keydown, clear the countdown $(document).on("keydown", "#search_input", function () { clearTimeout(search_timer); }); function list_set_items(setname){ var set_plugins, set_themes, plugins_data, themes_data; $(".modal-title").text(setname.replace("_admin", "")); $("#list_plugins_themes").empty(); var csrf_token = $("#csrf_token").val(); //Get plugins_themes count $.ajax({ type: "POST", data: "csrf_token="+csrf_token, url: window.location+"&set_stats="+encodeURIComponent(setname)+"&get_plugins_themes_count=1", timeout:0, // Checking for success success: function(data){ var selected_set = $(data).find("#selected_set").text(); var selected_set_data = JSON.parse(selected_set); var set_plugins = new Object(); var set_themes = new Object(); if(selected_set_data.plugins){ set_plugins = selected_set_data.plugins; } if(selected_set_data.themes){ set_themes = selected_set_data.themes; } if(selected_set_data.custom_plugins){ for(var x in selected_set_data.custom_plugins){ set_plugins[selected_set_data.custom_plugins[x].slug] = selected_set_data.custom_plugins[x].name; } } if(selected_set_data.custom_themes){ for(var x in selected_set_data.custom_themes){ set_themes[selected_set_data.custom_themes[x].slug] = selected_set_data.custom_themes[x].name; } } if((set_plugins === undefined || (set_plugins.length <= 0 && Object.keys(set_plugins) <= 0)) && (set_themes === undefined || (set_themes.length <= 0 && Object.keys(set_themes) <= 0))){ $("#list_plugins_themes").append("<div class=\'alert alert-warning\'>'.$l['empty_set'].'</div>"); } //Plugins if(set_plugins !== undefined){ plugins_data = "<h4>'.$l['plugins'].'</h4><ul class=\"softlist\">"; for(var pl in set_plugins){ plugins_data += "<li>"+set_plugins[pl]+"</li>"; } $("#list_plugins_themes").append("</ul>" + plugins_data); } //Themes if(set_themes !== undefined){ themes_data = "<br /><h4>'.$l['themes'].'</h4><ul class=\"softlist\">"; for(var th in set_themes){ themes_data += "<li>"+set_themes[th]+"</li>"; } $("#list_plugins_themes").append("</ul>" + themes_data); } } }); } function softsubmit_install_set(){ $_("install_div").innerHTML = "<a><img src=\''.$theme['images'].'load.gif\' alt=\''.$l['installing'].'\' width=\'25\' ></a>"; var setname = $("#softinstall_set_name").val(); var softwebsites = document.getElementsByName("webids[]"); var ins_path = new Array(); var c = 0; for(var i = 0; i < softwebsites.length; i++){ if(softwebsites[i].checked == true){ ins_path[c] = softwebsites[i].value; c++; } } //When there is no site selected if ((ins_path === undefined || ins_path.length <= 0)) { $("#install_failed").show(); $("#install_failed").html("'.$l['no_select_site'].'"); $_("install_div").innerHTML = ""; return true; } ins_path.toString(); var csrf_token = $("#csrf_token").val(); $.ajax({ type: "POST", data: "csrf_token="+csrf_token, url: window.location+"&softinstall_set="+encodeURIComponent(setname)+"&softwebsites="+encodeURIComponent(ins_path), timeout:0, // Checking for success success: function(data){ $("#install_failed").hide(); $("#install_success").show(); $_("install_div").innerHTML = ""; }, error: function(data) { $("#install_failed").show(); $("#install_success").hide(); $_("install_div").innerHTML = ""; } }); } // ]]></script> <style> .softlist{ padding-left: 25px; } </style> '; echo '<div class="container-fluid"> <div class="container mt-4"> <div class="row"> <div class="col-12 mx-auto"> <div class="sai-card p-4"> <div class="sai-page-title"> <i class="fas fa-chart-pie soft-icon d-inline-block mr-1"></i> <h2 class="sai-heading d-inline-block mb-2">'.$l['<title>'].'</h2> </div> <hr class = "sai_main_head_hr"/>'; error_handle($error); echo ' <input id="plugins_count" type="hidden" value="'.$plugins_count.'"> <input id="themes_count" type="hidden" value="'.$themes_count.'"> <div id="selected_set" style="display:none;">'.$selected_set.'</div> <input name="create_sets" class="flat-butt" id="create_sets" value="'.$l['create_sets'].'" type="button"> <input name="remove_sets" class="flat-butt" id="remove_sets" value="'.$l['remove_sets'].'" type="button"> <div class="sai_form mt-2"> <form accept-charset="'.$globals['charset'].'" name="manage_plugin_theme" method="post" action=""> <div class="row" id="add_sets_div" style="display:none;"> <div class="col-6"> <input type="text" name="set_input" class="form-control" id="set_input" size="30" placeholder="'.$l['name_of_set'].'"/><br /> </div> <div class="col-6"> <input name="add_sets" class="flat-butt" id="add_sets" value="'.$l['create_set_button'].'" type="submit"> </div> </div> '.csrf_display().' </form> <div id="plugin_removed_success" class="alert alert-success" style="display:none;"><center></center></div> <div id="stooltip" style="display:none; position:absolute; top: 0px; left: 0px; border: 1px solid #CCC; padding: 8px; background: #FFF; z-index:1000;"></div> </div> <div class="table-responsive mt-3"> <table id="manage_plugin_theme" class="table soft-table-list"> <thead class="sai-sub-type mt-4"> <tr> <td class="text-center"><input type="checkbox" id="check_allsets"></td> <td class="text-center">'.$l['set_name'].'</td> <td></td> <td class="text-center">'.$l['set_plugins'].'</td> <td></td> <td class="text-center">'.$l['set_themes'].'</td> <td></td> <td></td> <td class="text-center"> <font class="bboxtxt mb-0" onmouseover="showtip(\''.$l['default_exp'].'\', this);" >'.$l['default_value'].'</font> </td> </tr> </thead>'; //r_print($sets); foreach($sets as $sk => $sv){ load_wp_sets_count($sv, $plugins_count, $themes_count); //echo '<li><a href="#">'.$av['name'].'</a></li>'; echo ' <tr> <td class="text-center align-middle"> <input id="'.$sk.'" type="checkbox" name="sets[]" class="check_allsets"> </td> <td class="class_valign text-center align-middle">'.preg_replace('/_admin$/', '', $sk).'</td> <td class="class_valign text-center align-middle"> <span id="'.$sk.'_plugin_count">'.(!empty($plugins_count) ? $plugins_count.$l['total_plugin_theme'] : '').'</span> </td> <td id="'.$sk.'" class="text-center align-middle"> <input name="'.$sk.'" class="flat-butt" id="add_plugins" value="'.$l['add_plugins'].'" type="button" data-toggle="modal" data-target="#search_modal" onclick="add_plugins_themes(this.name, this.value)"> </td> <td class="class_valign text-center align-middle"> <span id="'.$sk.'_theme_count">'.(!empty($themes_count) ? $themes_count.$l['total_plugin_theme'] : '').'</span> </td> <td id="'.$sk.'" class="text-center align-middle"> <input name="'.$sk.'" class="flat-butt" id="add_themes" value="'.$l['add_themes'].'" type="button" data-toggle="modal" data-target="#search_modal" onclick="add_plugins_themes(this.name, this.value)"> </td> <td class="class_valign text-center align-middle"> <span class="someclass" title="'.$l['view_items'].'" style="cursor:pointer;" data-toggle="modal" data-target="#list_set_items_modal" onclick="list_set_items(\''.$sk.'\')"><i class="fas fa-list fa-2x" style="color:#676a6c;margin:3px;"></i></span> </td> <td id="'.$sk.'" class="text-center align-middle"> <div class="dropdown"> <button class="flat-butt dropdown-toggle" type="button" data-toggle="dropdown">'.$l['action'].' <span class="caret"></span> </button> <span id="rem_plth_'.$sk.'"></span> <ul class="dropdown-menu p-2"> <li class="p-1" id="'.implode(",", (array) $sets[$sk]['plugins']).'" data-toggle="modal" data-target="#remove_plugin_theme_modal" onclick="remove_wp_plugins_themes(\''.$sk.'\', \'plugins\')"> <a style="text-decoration:none; cursor:pointer;">'.$l['remove_plugins'].'</a> </li> <li class="p-1" id="'.implode(",", (array) $sets[$sk]['themes']).'" data-toggle="modal" data-target="#remove_plugin_theme_modal" onclick="remove_wp_plugins_themes(\''.$sk.'\', \'themes\')"> <a style="text-decoration:none; cursor:pointer;">'.$l['remove_themes'].'</a> </li> </ul> </div> </td> <td class="text-center align-middle">'. (!empty($sv['themes']) || !empty($sv['custom_themes']) || !empty($sv['plugins']) || !empty($sv['custom_plugins']) ? '<input id="default_value_'.$sk.'" type="checkbox" name="default_value" class="default_value" '.POSTchecked("default_value", $sets[$sk]['default_value']).'>' : "") .'</td> </tr>'; } echo '</table> <!-- remove plugins Modal --> <div class="modal fade soft-modal" id="remove_plugin_theme_modal" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"></h5> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body"> <input type="hidden" name="plugin_or_theme" id="plugin_or_theme" value=""><br /> <input type="hidden" name="plugin_theme_set" id="plugin_theme_set" value=""><br /> <table id="remove_plugins_themes" class="table table-hover"> </table><br /> </div> <div class="modal-footer"> '.csrf_display().' <button type="button" class="btn btn-default flat-butt" data-dismiss="modal" id="remove_plugin_submit" onclick="remove_plugin_submit()">'.$l['remove'].'</button> </div> </div> </div> </div> <!-- List Set Items Modal --> <div class="modal fade soft-modal" id="list_set_items_modal" role="dialog"> <div class="modal-dialog"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"></h5> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body" id="list_plugins_themes"> </div> <div class="modal-footer"> <button type="button" class="btn btn-default flat-butt" data-dismiss="modal">'.$l['ok'].'</button> </div> </div> </div> </div> <!--search plugins Modal --> <div class="modal fade soft-modal" id="search_modal" role="dialog"> <div class="modal-dialog" style="max-width:700px;"> <div class="modal-content"> <div class="modal-header"> <h5 class="modal-title"></h5> <button type="button" class="close" data-dismiss="modal">×</button> </div> <div class="modal-body"> <nav> <div class="nav nav-tabs" id="nav-tab" role="tablist"> <a class="nav-item nav-link nav-link active" id="pot_add_tab" data-toggle="tab" href="#add_plugins_themes" role="tab" aria-controls="add_plugins_themes" aria-selected="true" style="width:50%; text-align:center;">Add</a> <a class="nav-item nav-link" id="pot_upload_tab" data-toggle="tab" href="#upload_plugins_themes" role="tab" aria-controls="upload_plugins_themes" aria-selected="false" style="width:50%; text-align:center;">Upload</a> </div> </nav> <br /> <!-- Tab panes --> <div class="tab-content"> <!-- Success Div --> <div id="add_success" class="alert alert-success" style="display:none;"></div> <!-- Error Div --> <div id="add_failed" class="alert alert-danger" style="display:none;"></div> <div class="tab-pane fade show active" id="add_plugins_themes" role="tabpanel" aria-labelledby="pot_add_tab"> <input type="text" name="search_input" class="form-control mt-3" id="search_input" size="30" placeholder="'.$l['search_wp_sets'].'"/><br /> <input type="hidden" name="set_post" id="set_post" value=""><br /> <input type="hidden" name="plugin_or_theme" id="plugin_or_theme" value=""><br /> <div id="plugin_theme_results"></div> '.csrf_display().' <button type="button" class="flat-butt" id="submit_plugins_themes" name="submit_plugins_themes" onclick="submit_addition();">Add</button> </div> <div class="tab-pane fade" id="upload_plugins_themes" role="tabpanel" aria-labelledby="pot_upload_tab"> <div id="add_custom_form" class="my-3"> <div class="row"> <div class="col-12"> <label for="custom_name" class="sai-label d-block mb-1">'.$l['custom_name'].'</label> <span class="sai_exp2 d-block mb-1">'.$l['custom_name_exp'].'</span> <input type="text" name="custom_name" class="form-control mb-2" id="custom_name" size="30" value="'.POSTval('custom_name', '').'"> <label for="custom_plugin_file" class="sai-label d-block mb-1">'.$l['custom_file'].'</label> <span class="sai_exp2 d-block mb-1">'.$l['custom_file_exp'].'</span> <form action="" class="dropzone my-2 p-2" id="upload_form"> <div class="dz-message row m-0" data-dz-message > <div class="col-12 text-center"> <i class="fas fa-file-upload fa-3x d-block"></i> <label class="sai-label">Drag and Drop files here or click to pick manually</label> </div> </div> <div class="fallback"> <input name="custom_plugin_file" type="file" multiple /> </div> <input type="hidden" name="upload_type" id="upload_type" value=""> '.csrf_display().' <br /> </form> <div id="add_plth" class="wpc_inline"></div> '.csrf_display().' <button type="button" class="mt-2 flat-butt" id="submit_custom" name="submit_custom">Add</button> </div> </div> </div> </div> </div> </div> <div class="modal-footer"> <div id="add_plth" class="wpc_inline"></div> '.csrf_display().' <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button> </div> </div> </div> </div> </div> </div> </div> </div> </div> </div> <script> Dropzone.autoDiscover = false; $("#upload_form").dropzone({ url: "'.$globals['index'].'act=manage_sets&upload_chunk=1&api=json", autoDiscover : false, paramName: "custom_plugin_file", createImageThumbnails: false, acceptedFiles: ".zip", maxFiles: 1, chunking: true, chunkSize: 500000, retryChunks: true, retryChunksLimit: 3, autoProcessQueue: false, chunksUploaded: function(file, done) { done(); }, init: function () { var myDropzone = this; document.querySelector("#submit_custom").addEventListener("click", function(e) { // Make sure that the form isn\'t actually being sent. e.preventDefault(); e.stopPropagation(); myDropzone.processQueue(); }); document.querySelector("#add_plugins").addEventListener("click", function(e) { // Clear any existing uploads myDropzone.removeAllFiles(); }); document.querySelector("#add_themes").addEventListener("click", function(e) { // Clear any existing uploads myDropzone.removeAllFiles(); }); this.on( "sending", function(file, xhr, formData){ var upload_type_val = $("#upload_type").val(); formData.append("upload_type", upload_type_val); var csrf_token = $("#csrf_token").val(); if(csrf_token && csrf_token.length > 0){ formData.append("csrf_token", csrf_token); } }); this.on("complete", function(files, response) { var resp = JSON.parse(files.xhr.response.trim()); if(resp.error){ $("#add_failed").text(resp.error); $("#add_failed").show(); return false; }else{ var slug = resp.done["slug"]; var filename = resp.done["filename"]; submit_custom(slug, filename); myDropzone.removeAllFiles(); } }); }, }); </script> '; softfooter(); } ?>