⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.19
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
/
softaculous
/
enduser
/
themes
/
default
/
View File Name :
backup_theme.php
<?php ////////////////////////////////////////////////////////////// //=========================================================== // backup_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 backup_theme(){ global $user, $globals, $l, $theme, $softpanel, $iscripts, $catwise, $error, $act; global $insid, $backing, $software, $soft, $completed, $cur_backups, $remote_location, $backup_count_per_script, $backing_up, $backup_count_per_installation; if(optREQ('ajax_backup') == 1){ if(!empty($error)){ echo current($error); return false; }else{ echo 'success'; return true; } } // Give the status if(optGET('ajaxstatus')){ $_status = soft_progress(optGET('ajaxstatus')); $tmp_status = _unserialize($_status[1]); $_status[1] = $tmp_status['current_status']; if(!empty($_status) && !empty($tmp_status) && !array_key_exists('error', $tmp_status)){ echo implode('|', $_status); return true; } if(!empty($tmp_status) && array_key_exists('error', $tmp_status)){ $_status = array(); //r_print($tmp_status['error']); $return = error_handle($tmp_status['error'], "100%", 0, 1); echo 'error'; echo array2json($return); //To prevent conflicting errors hence we deleting status file. soft_progress(optGET('ajaxstatus'), NULL, NULL); return false; } // False call echo 0; return false; } softheader($l['<title>']); $return = ''; $role = ''; if(can_wordpress_manager($soft)){ $return .= '<a role="button" href="'.$globals['ind'].'act=wordpress&insid='.$insid.'"><span class="btn btn-outline-primary">'.$l['return_to_wpm'].'</span></a> '; $role = 'role="button"'; } $return .= '<a '.$role.' href="'.script_link($soft).'&highlight='.$insid.'&postact=backup"><span class="btn btn-outline-primary">'.$l['return'].'</span></a>'; //Filter to customize the return to link $return = apply_filters('return_link', $return, $act); echo '<div id="install_win"> <div class="bg" id="completed" style="display:none;"><br /> <div class="alert alert-warning"> <center><img src="'.$theme['images'].'notice.gif" /> '.lang_vars($l['backedup'], array($user['ins'][$insid]['softurl'])).' <center><b><a href="'.script_link($soft).'&highlight='.$insid.'&postact=backup"></a></b></center></center> </div> <br /> <center>'.$return.'</center><br /><br /> </div> <div id="fadeout_div"> <form accept-charset="'.$globals['charset'].'" name="editsettings" method="post" action="" class="form-horizontal" onsubmit="return checkform();" id="editsettings"> <script language="javascript" type="text/javascript"><!-- // --><![CDATA[ function checkform(dosubmit){ $_("softsubmitbut").disabled = true; if(useprog){ // Send a request to check the status progressbar.start(); // Return false so that the form is not submitted return false; // This is OLD School ! } return true; } var progressbar = { timer: 0, total_width: 0, status_key: "", synctimer: 0, fadeout_div: "#fadeout_div", win_div: "#install_win", progress_div: "#progress_bar", formid: "#editsettings", frequency: 4000, got_resp: 0, error: "", current: function(){ try{ var tmp_cur = Math.round(parseInt($_("progress_color").width)/parseInt($_("table_progress").width)*100); if(tmp_cur > 100){ tmp_cur = 99; } return tmp_cur; }catch(e){ return -1; } }, reset: function(){ try{ clearTimeout(this.timer); $_("progress_color").width = 1; progressbar.got_resp = 0; }catch(e){ }}, move: function(dest, speed, todo){ try{ var cur = this.current(); if(cur < 0){ clearTimeout(this.timer); return false; } var cent = cur + 1; var new_width = cent/100*this.total_width; if(new_width < 1){ new_width = 1; } //alert(new_width+" "+dest+" "+cent); $_("progress_color").width = new_width; $_("progress_percent").innerHTML = "("+cent+" %)"; if(cent < dest){ this.timer = setTimeout("progressbar.move("+dest+", "+speed+", \""+todo+"\")", speed); }else{ eval(todo); } }catch(e){ }}, text: function(txt){ try{ $_("progress_txt").innerHTML = txt; }catch(e){ }}, sync: function(){ if(progressbar.status_key.length < 2){ return false; } $("#background_error").empty(); $.ajax({ url: window.location+"&ajaxstatus="+progressbar.status_key+"&random="+Math.random(), type: "GET", success: function(data){ if(data == 0){ progressbar.synctimer = setTimeout("progressbar.sync()", progressbar.frequency); return false; } var err = ""; if(data.substring(0,5) == "error"){ var error = data.substr(5); error = JSON.parse(error); var err = $(error).filter(\'#error_handler\'); } var tmp = data.split("|"); var cur = progressbar.current(); tmp[2] = (3000/(tmp[0]-cur)); //alert(tmp); if(tmp[0] > cur){ if(parseInt(tmp[2]) == 0){ tmp[2] = 800; } progressbar.move(tmp[0], tmp[2]); } progressbar.text(tmp[1]); //Checking if any error in background process if(err.length > 0){ //alert("error"); progressbar.error = 1; progressbar.reset(); progressbar.sync_abort(); $(".sai_main_head").next("br").remove(); linebreak = document.createElement("br"); var newdiv = document.createElement("div"); newdiv.id = "background_error"; $(".sai_main_head").after(newdiv); $("#background_error").append(err); $(".sai_main_head").after(linebreak); $("#softsubmitbut").removeAttr("disabled"); //Enabling submit button $(progressbar.progress_div).fadeOut(1, function(){ $(progressbar.fadeout_div).fadeOut(1); $(progressbar.fadeout_div).fadeIn(500); }); return false; //Stop javascript execution } //Checking if pogressbar is completed for backgrounding if(tmp[0] == 100){ progressbar.sync_abort(); progressbar.text("'.addslashes($l['finishing_process']).'"); progressbar.move(99, 10); $(progressbar.progress_div).fadeOut(1200, function(){ $("#completed").fadeIn(1); }); return false; //Stop javascript execution } progressbar.synctimer = setTimeout("progressbar.sync()", progressbar.frequency); } }); }, sync_abort: function(){ clearTimeout(this.synctimer); }, start: function(){ try{ this.post(); this.reset(); this.total_width = parseInt($_("table_progress").width); this.move(95, 800); this.status_key = $("#soft_status_key").attr("value"); this.sync(); }catch(e){ }}, post: function(){ // Scroll to the Top and show the progress bar goto_top(); $(progressbar.fadeout_div).fadeOut(500, function(){ $(progressbar.progress_div).fadeOut(1); $(progressbar.progress_div).fadeIn(500); } ); var progress_text = $("#progress_txt").text(); if(progress_text == "undefined" || progress_text == null){ $("#progress_txt").text("'.$l['checking_data'].'"); } $.ajax({ url: window.location+"&jsnohf=1", type: "POST", data: $(progressbar.formid).serialize(), complete: function( jqXHR, status, responseText ) { //Handling when resubmiting the form with error in background(progress div was also visible when resubmiting form with error). if(progressbar.error == 1){ if ($(progressbar.fadeout_div).is(":visible")){ $(progressbar.progress_div).hide(); } } // Store the response as specified by the jqXHR object responseText = jqXHR.responseText; try{ //alert(responseText); if(responseText.match(/\<\!\-\-PROC_DONE\-\-\>/gi)){ progressbar.text("'.addslashes($l['finishing_process']).'"); progressbar.move(99, 10, "$(progressbar.progress_div).fadeOut(1)"); } }catch(e){ } var backgrounding = $(responseText).find("#backgrounding"); //Check if the process is going into background if(backgrounding.length > 0){ progressbar.backgrounding = 1; if ( jqXHR.state() == "resolved" ) { }else{ alert("Oops ... the connection was lost"); } }else{ if ( jqXHR.state() == "resolved" ) { // #4825: Get the actual response in case // a dataFilter is present in ajaxSettings jqXHR.done(function( r ) { responseText = r; }); //alert(responseText); // Create a dummy div to hold the results // inject the contents of the document in, removing the scripts // to avoid any "Permission Denied" errors in IE var newhtml = jQuery("<div>").append(responseText).find(progressbar.win_div).html(); $(progressbar.win_div).animate({opacity: 0}, 1000, "", function(){ $(progressbar.win_div).html(newhtml); new_theme_funcs_init(); }).delay(50).animate({opacity: 1}, 500); //alert(newhtml); }else{ alert("Oops ... the connection was lost"); } } } }); } }; // Use the Progress Bar ? var useprog = 1; try{ if(BrowserDetect.browser.toLowerCase() == "safari" && BrowserDetect.version.toString().substr(0, 1) == "3"){ useprog = 0; } }catch(e){ } // ]]></script>'; echo '<div class="bg backup-form"><br /> <div class="row sai_main_head mt-8 mb-4"> <div class="col-12 text-center"> <i class="far fa-file-archive fa-2x mr-2" style="color:#00A0D2;"></i> <span class="form-title">'.$l['prog_backingup'].$software['name'].'</span> </div> </div>'; //To detect in javascript if the process is in background if(!empty($GLOBALS['backgrounding'])){ echo '<div id="backgrounding"></div>'; } if(!empty($globals['backups_expire'])){ echo '<div class="row"> <div class="col-12 my-2 text-center"> <div class="alert alert-warning mt-4"> <a href="#close" class="close" data-dismiss="alert" aria-label="close">×</a> <span>'.lang_vars($l['backups_expire'], array($globals['backups_expire'])).'</span> </div> </div> </div>'; } if(!empty($globals['max_backups'])){ echo '<div class="row"> <div class="col-12 my-2 text-center"> <div class="alert alert-warning"> <a href="#close" class="close" data-dismiss="alert" aria-label="close">×</a> <span>'.lang_vars($l['max_backups'], array($cur_backups, $globals['max_backups'])).'</span> </div> </div> </div>'; } //Maximum Backup Limit per script if(!empty($globals['max_backup_script']) && $backup_count_per_script >= $globals['max_backup_script']){ echo '<div class="row"> <div class="col-12 my-2 text-center"> <div class="alert alert-warning"> <a href="#close" class="close" data-dismiss="alert" aria-label="close">×</a> <span>'.lang_vars($l['error_max_backup_script'], array($globals['max_backup_script'])).'</span> </div> </div> </div>'; } //Maximum Backup Limit per installation if(!empty($globals['max_insid_backups']) && $backup_count_per_installation >= $globals['max_insid_backups']){ echo '<div class="row"> <div class="col-12 my-2 text-center"> <div class="alert alert-warning"> <a href="#close" class="close" data-dismiss="alert" aria-label="close">×</a> <span>'.lang_vars($l['error_max_backup_insid'], array($globals['max_insid_backups'])).'</span> </div> </div> </div>'; } echo error_handle($error, "100%", 0, 1); $return = ''; $role = ''; if(can_wordpress_manager($soft)){ $return .= '<a role="button" href="'.$globals['ind'].'act=wordpress&insid='.$insid.'"><span class="btn btn-outline-primary">'.$l['return_to_wpm'].'</span></a> '; $role = 'role="button"'; } $return .= '<a '.$role.' href="'.script_link($soft).'"><span class="btn btn-outline-primary">'.$l['return'].'</span></a>'; //Filter to customize the return to link $return = apply_filters('return_link', $return, $act); echo ' <div class="mt-4"> <div class="m-3 card p-3"> <div class="sai_sub_head">'.$l['backup_operation'].'</div> <hr class="sai_main_head_hr"> <div class="row mb-2"> <div class="col-sm-5"> <label class="sai_head" for="backup_dir">'.$l['backup_dir'].'</label><br /> <span class="sai_exp2">'.$l['backup_dir_exp'].'</span> </div> <div class="col-sm-2"> <input type="checkbox" name="backup_dir" id="backup_dir" '.POSTchecked('backup_dir', true).' /> </div> </div>'; // Web Directory (For Perl) @since 3.5 if(!empty($user['ins'][$insid]['wwwdir'])){ echo ' <div class="row mb-2"> <div class="col-sm-5"> <label class="sai_head" for="backup_wwwdir">'.$l['backup_wwwdir'].'</label><br /> <span class="sai_exp2">'.$l['backup_wwwdir_exp'].'</span> </div> <div class="col-sm-2"> <input type="checkbox" name="backup_wwwdir" id="backup_wwwdir" '.POSTchecked('backup_wwwdir', true).' /> </div> </div>'; } // Data directory ? if(!empty($user['ins'][$insid]['softdatadir'])){ echo ' <div class="row mb-2"> <div class="col-sm-5"> <label class="sai_head" for="backup_datadir">'.$l['backup_datadir'].'</label><br /> <span class="sai_exp2">'.$l['backup_datadir_exp'].'</span> </div> <div class="col-sm-2"> <input type="checkbox" name="backup_datadir" id="backup_datadir" '.POSTchecked('backup_datadir', true).' /> </div> </div>'; } if(!empty($user['ins'][$insid]['softdb'])){ echo ' <div class="row mb-2"> <div class="col-sm-5"> <label class="sai_head" for="backup_db">'.$l['backup_db'].'</label><br /> <span class="sai_exp2">'.$l['backup_db_exp'].'</span> </div> <div class="col-sm-2"> <input type="checkbox" name="backup_db" id="backup_db" '.POSTchecked('backup_db', true).' /> </div> </div>'; } // Backup note echo ' <div class="row mb-2"> <div class="col-sm-5"> <label for="backup_note" class="sai_head mb-2">'.$l['backup_note'].'</label> <span class="sai_exp">'.$l['backup_note_exp'].'</span> </div> <div class="col-sm-7"> <input type="text" name="backup_note" id="backup_note" class="form-control" '.POSTval('backup_note', '').' size="50" maxlength="255"/><br /> </div> </div>'; if(empty($globals['off_rbackup']) && empty($globals['disable_backup_restore'])){ echo ' <div class="row mb-2"> <div class="col-sm-5"> <label for="backup_location" class="sai_head mb-2">'.$l['backup_loc'].'</label> <span class="sai_exp">'.$l['exp_backup_loc'].'</span> </div> <div class="col-sm-7"> <select name="backup_location" class="form-control" id="backup_location"> <option value="0" '.POSTselect('backup_location', 0, (empty($user['ins'][$insid]['backup_location']) ? '1' : '0')).'>'.$l['default'].'</option>'; if(empty($globals['disable_local_backup'])){ echo '<option value="-1" '.POSTselect('backup_location', -1, ($user['ins'][$insid]['backup_location'] == -1 ? '1' : '0')).'>'.$l['local_folder'].'</option>'; } foreach($user['remote_backup_locs'] as $k => $v){ echo '<option value="'.$k.'" '.POSTselect('backup_location', $k, ($user['ins'][$insid]['backup_location'] == $k ? '1' : '0')).'>'.$v['name'].'</option>'; } echo '</select><br /> </div> </div>'; } echo ' </div> </div> <div class="bg m-3 info_block"> <div class="sai_sub_head">'.$l['info'].'</div> <hr class="sai_main_head_hr"> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_softname'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$software['name'].'</span> </div> </div> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_num'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['insid'].'</span> </div> </div> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_ver'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['ver'].'</span> </div> </div> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_time'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.datify($user['ins'][$insid]['itime']).'</span> </div> </div> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_path'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['softpath'].'</span> </div> </div> <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_url'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info"><a href="'.$user['ins'][$insid]['softurl'].'" target="_blank">'.$user['ins'][$insid]['softurl'].'</a></span> </div> </div> '.(empty($user['ins'][$insid]['wwwdir']) ? '' :' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_wwwdir'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['wwwdir'].'</span> </div> </div> ').' '.(empty($user['ins'][$insid]['softdatadir']) ? '' : ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_datadir'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['softdatadir'].'</span> </div> </div> ').' '.(empty($user['ins'][$insid]['softdb']) ? '' : ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_db'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['softdb'].'</span> </div> </div> ').' '.(empty($user['ins'][$insid]['softdbuser']) ? '' : ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_dbuser'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['softdbuser'].'</span> </div> </div> ').' '.(empty($user['ins'][$insid]['softdbhost']) ? '' : ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_dbhost'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$user['ins'][$insid]['softdbhost'].'</span> </div> </div> ').' '.(empty($user['ins'][$insid]['cron_command']) ? '' : ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['ins_cron_command'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.base64_decode($user['ins'][$insid]['cron_command']).'</span> </div> </div> '); if(!empty($remote_location) && empty($globals['off_rbackup'])){ echo ' <div class="row mb-3"> <div class="col-sm-5 col-xs-12"> <span class="sai_head">'.$l['backup_location_name'].'</span> </div> <div class="col-sm-6 col-xs-12"> <span class="sai_info">'.$remote_location['name'].'</span> </div> </div>'; } echo '</div><!--end of bg class--> <br /> <div class="row" align="center"> <div class="col-12 text-center mt-4"> <input type="hidden" name="backupins" id="backupins" value="'.$l['backup_ins'].'" /> <input type="submit" name="softsubmitbut" class="btn sai-button" id="softsubmitbut" value="'.$l['backup_ins'].'" /> <br /><br /><center><p class="m-3">'.$return.'</p></center> </div> </div> <input type="hidden" name="soft_status_key" id="soft_status_key" value="'.POSTval('soft_status_key', generateRandStr(32)).'" /> </div><br /><!--end of bg class--> '.csrf_display().' </form> </div> <div id="progress_bar" style="display: none; width: 100%;"> <br /> <div class="bg"> <div class="row sai_main_head" style="width:100%;" align="center"> <div class="col-sm-5 col-xs-5" style="padding:0 10px 0 0; text-align:right;"> <i class="far fa-file-archive fa-2x" style="color:#00A0D2;"></i> </div> <div class="col-sm-7 col-xs-7" style="padding-top:10px; padding-left:0; text-align:left;">'.$l['prog_backingup'].$software['name'].'</div> </div><hr /><br /> <div class="alert alert-warning" id="stat_txt"> <center><img src="'.$theme['images'].'notice.gif" /> '.lang_vars($l['backingup'], array($user['ins'][$insid]['softurl'])).'</center> </div> <br /> <center> <font size="4" id="progress_txt" style="width: 100%;">'.$l['checking_data'].'</font> <font style="font-size: 18px;font-weight: 400; width: 100%;" id="progress_percent">(0 %)</font><br /><br /> </center> <table width="500" cellpadding="0" cellspacing="0" id="table_progress" border="0" align="center" height="28" style="border:1px solid #CCC; -moz-border-radius: 5px; -webkit-border-radius: 5px; border-radius: 5px; width: 50%;"> <tr> <td id="progress_color" width="1" style="background-image: url('.$theme['images'].'bar.gif); -moz-border-radius: 4px; -webkit-border-radius: 4px; border-radius: 4px;"></td> <td id="progress_nocolor"> </td> </tr> </table> <br /><center>'.$l['wait_note'].'</center><br /><br /> </div> </div><br /><br />'; echo '</div>'; softfooter(); } ?>