']); echo ' '; echo '

'.$l[''].'</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(); } ?>