!C99Shell v. 2.0 [PHP 7 Update] [25.02.2019]!

Software: Apache. PHP/7.3.33 

uname -a: Linux acloudg.aryanict.com 4.18.0-513.9.1.lve.el8.x86_64 #1 SMP Mon Dec 4 15:01:22 UTC
2023 x86_64
 

uid=1095(katebhospital) gid=1098(katebhospital) groups=1098(katebhospital) 

Safe-mode: OFF (not secure)

/var/softaculous/sitepad/editor/site-data/plugins/sitepad/   drwxr-xr-x
Free 293.05 GB of 429.69 GB (68.2%)
Home    Back    Forward    UPDIR    Refresh    Search    Buffer    Encoder    Tools    Proc.    FTP brute    Sec.    SQL    PHP-code    Update    Feedback    Self remove    Logout    


Viewing file:     sitepad.php (38.5 KB)      -rw-r--r--
Select action/file-type:
(+) | (+) | (+) | Code (+) | Session (+) | (+) | SDB (+) | (+) | (+) | (+) | (+) | (+) |
<?php
/*
Plugin Name: SitePad
Plugin URI: http://sitepad.com/
Description: PageLayer is a WordPress page builder plugin. Its very easy to use and very light on the browser.
Version: 1.0.0
Author: SitePad Team
Author URI: https://sitepad.com/
License: Proprietary
License URI: https://sitepad.com/license
*/

// We need the ABSPATH
if (!defined('ABSPATH')) exit;

if(!
function_exists('add_action')){
    echo 
'You are not allowed to access this page directly.';
    exit;
}

define('SITEPAD_VERSION''1.9.4');
define('SITEPAD_DIR'dirname(__FILE__));
define('SITEPAD_FILE'__FILE__);
define('SITEPAD_URL'plugins_url(''SITEPAD_FILE));
define('SITEPAD_CSS'SITEPAD_URL.'/css');
define('SITEPAD_JS'SITEPAD_URL.'/js');
define('SITEPAD_DOCS''https://sitepad.com/docs/');
define('SITEPAD_API', empty($sitepad['dev']) ? 'https://api.sitepad.com/' 'http://127.0.0.1/website/api/sitepad/');
define('SITEPAD_SC_PREFIX''pl');

$_tmp_plugins get_option('active_plugins');

add_action'send_headers''add_header_sitepad' );
function 
add_header_sitepad() {
    
header('X-Powered-By: SitePad');// Always will be SitePad
}

// Check the license
function sitepad_license_check($force 0){ // $force applies only to enduser license
    
    
global $l$args$sitepad;
    
    
$sitepad['buy_link'] = empty($sitepad['dev']) ? 'https://softaculous.com/clients?ca=sitepad_enduser_buy' 'http://127.0.0.1/website/www/clients?ca=sitepad_enduser_buy';
    
    
$sitepad['features']['pages'] = 3;
    
$sitepad['features']['themes'] = 0;// Theme level 0 = free, 1 = pro, 2 = premium
    
    
if(file_exists($sitepad['editor_path'].'/license.php')){
    
        
$license = @file_get_contents($sitepad['editor_path'].'/license.php');        
        
$license = @trim(sm_decode($license));
        
$license json_decode($licensetrue);
        
        
// Is it an active license
        
if(!empty($license['status'])){
            
$sitepad['server_license'] = $license;
        }
        
        
// Allowed features
        
$sitepad['features']['pages'] = 0;
        
$sitepad['features']['themes'] = 1;
        
    }
    
    
// Any Webuzo license ?
    
$webuzo_license get_option('webuzo_license');
    
    
// Check webuzo license
    
if(!empty($webuzo_license)){
        
        
//$webuzo_license = json_decode($webuzo_license, true);
        
        
if((time() - @$webuzo_license['last_update']) >= 86400 || $force){
        
            
$resp wp_remote_get('https://api.webuzo.com/license2.php?license='.$webuzo_license['license'].'&sitepad='.rawurlencode($sitepad['serving_url']));
            
            
// Did we get a response ?
            
if(is_array($resp)){
                
                
// Decode
                
$tosave = @json_decode(trim(sm_decode($resp['body'])), true);
                
                
// Is it the license ?
                
if(!empty($tosave['license'])){
                    
$tosave['last_update'] = time();
                    
update_option('webuzo_license'$tosave);
                    
$webuzo_license $tosave;
                }
                
            }
            
        }
        
        
// Is a premium license ?
        
if(!empty($webuzo_license['license']) && !empty($webuzo_license['status']) && !empty($webuzo_license['sitepad_bundle'])){
            
            
$sitepad['server_license'] = $webuzo_license;
            
            
// Allowed features
            
$sitepad['features']['pages'] = 0;
            
$sitepad['features']['themes'] = 1;
            
        }
        
    }
    
    
// Any Enduser license ?
    
$enduser_license get_option('sitepad_license');
    
    
// Update license details as well
    
if(!empty($enduser_license)){
        
        
$sitepad['license'] = $enduser_license;
        
//r_print($sitepad['license']);
        
        
if((time() - @$enduser_license['last_update']) >= 86400 || $force){
        
            
$resp wp_remote_get(SITEPAD_API.'license_enduser.php?eu_license='.$enduser_license['license'].'&siteurl='.rawurlencode($sitepad['serving_url']));
            
            
// Did we get a response ?
            
if(is_array($resp)){
                
                
$tosave json_decode($resp['body'], true);
                
                
// Is it the license ?
                
if(!empty($tosave['license'])){
                    
$tosave['last_update'] = time();
                    
update_option('sitepad_license'$tosave);
                    
$sitepad['license'] = $tosave;
                }
                
            }
            
        }
        
        
// Is a premium license ?
        
if(!empty($sitepad['license']) && !empty($sitepad['license']['status'])){
            
            
// Allowed features
            
$sitepad['features']['pages'] = 0;
            
$sitepad['features']['themes'] = 1;
            
        }
        
    }
    
    
// Do we have a license ?
    
if(is_admin() && is_user_logged_in() && current_user_can('manage_options')){
        
        
// If there is a license is it active ?
        
if(!empty($sitepad['license']) && empty($sitepad['license']['status']) && $GLOBALS['pagenow'] != 'plans.php'){
            
            
// Redirect and exit
            
wp_redirect(admin_url('/plans.php'));
            exit;
            
        }
        
    }
    
}

// Checks if we are to update ?
function sitepad_update_check(){
    
    global 
$l$args$sitepad;

    
$sql = array();
    
$current_version get_option('sitepad_version');
    
$version = (int) str_replace('.'''$current_version);

    
// No update required
    
if($current_version == SITEPAD_VERSION){
        return 
true;
    }
    
    
// Is it first run ?
    
if($version 123){
    
        
$editor_themes_path $sitepad['editor_path'].'/site-data/themes';

        
// Update template root
        
update_option'template_root'$editor_themes_path );

    }
    
    
// Flush rewite rule
    
if($version 181){
        
add_action'init''flush_rewrite_rules' );
    }
    
    if (
$version 193) {

        
$sitepad_smtp_option get_option('sitepad_smtp_options');
        
$options get_option('gosmtp_options', array());

        if(!empty(
$sitepad_smtp_option) && !empty($sitepad_smtp_option['enable_smtp']) && !isset($options['mailer'])){
            
            
$options['mailer'] = array();
            
$options['mailer'][0]['mail_type'] = 'smtp';
            
$options['mailer'][0]['smtp_host'] = isset($sitepad_smtp_option['smtp_host']) ?  $sitepad_smtp_option['smtp_host'] :'';
            
$options['mailer'][0]['encryption'] = !empty($sitepad_smtp_option['encryption']) ? $sitepad_smtp_option['encryption'] : '';
            
$options['mailer'][0]['smtp_auth'] = empty($sitepad_smtp_option['smtp_auth'])? 'No' 'Yes';
            
$options['mailer'][0]['smtp_username'] = isset($sitepad_smtp_option['smtp_username']) ? $sitepad_smtp_option['smtp_username'] :'';
            
$options['mailer'][0]['smtp_password'] = !empty($sitepad_smtp_option['smtp_password']) ? base64_decode($sitepad_smtp_option['smtp_password']) : '';
            
$options['mailer'][0]['smtp_port'] = isset($sitepad_smtp_option['smtp_port']) ? $sitepad_smtp_option['smtp_port'] : '';
            
$options['mailer'][0]['disable_ssl_verification'] = !empty($sitepad_smtp_option['disable_ssl_verification']) ? '';

            
$options['from_email'] = '';
            
$options['force_from_email'] = '';
            
$options['force_from_name'] = '';
            
$options['return_path'] = '';

            
update_option('gosmtp_options'$options);
            
            
// Off old smtp setting
            
$sitepad_smtp_option['enable_smtp'] = 0;
            
update_option('sitepad_smtp_options'$sitepad_smtp_option);
        }
    }

    
// Save the new Version
    
update_option('sitepad_version'SITEPAD_VERSION);

}

// Disable rest API
add_filter'rest_authentication_errors''sitepad_disable_rest_api' );
function 
sitepad_disable_rest_api($access) {
    
    
$rest_api get_option('sitepad_rest_api');
    
    if(empty(
$rest_api)){
        
$error_message __('The REST API has been disabled on this site.');
        return new 
WP_Error('rest_disabled'$error_message, array('status' => 401));
    }
    
    return 
$access;
}

// Automatic Login
add_action('plugins_loaded''sitepad_login_admin');
function 
sitepad_login_admin(){
    
    global 
$l$args$sitepad$pagelayer;
    
    
// Lets fool the Client !
    
if(!headers_sent()){
        
header('Server: SitePad');
    }
    
    
// Load certain variables
    
$tmp = (array)get_option('sitepad_vars');
    
    
register_theme_directory($sitepad['editor_path'].'/site-data/themes');
    
    
// Check if the installed version is outdated
    
sitepad_update_check();
    
    
// Check which license are you using ?
    
sitepad_license_check();
    
    
//print_r($GLOBALS['wp_theme_directories']);
    
    
foreach($tmp as $k => $v){
        
$sitepad[$k] = $v;
    }
    
    
//print_r($sitepad);
    
    // Branding related
    
define('BRAND_SM', (!empty($sitepad['sm_brand']) ? $sitepad['sm_brand'] : 'SitePad'));
    
define('BRAND_SM_URL', (!empty($sitepad['sm_brand_url']) ? $sitepad['sm_brand_url'] : 'https://sitepad.com'));
    
define('BRAND_SM_LOGO', (!empty($sitepad['sm_brand_logo']) ? $sitepad['sm_brand_logo'] : sitepad_assets_url().'/images/logo-40.png'));
    
define('BRAND_SM_APP', (!empty($sitepad['sm_brand_app']) ? $sitepad['sm_brand_app'] : BRAND_SM.' Website Builder'));
    
define('BRAND_SM_EDITOR', (!empty($sitepad['sm_brand_editor']) ? $sitepad['sm_brand_editor'] : BRAND_SM.' Editor'));
    
define('BRAND_SM_DEMOS', (!empty($sitepad['sm_brand_demos']) ? $sitepad['sm_brand_demos'] : 'https://demos.sitepad.com/'));
    
    if(
strtolower(BRAND_SM) != 'sitepad'){
        
define('BRAND_SM_CUSTOM'1);
    }
    
    
$pagelayer->BRAND_TEXT BRAND_SM;
    
$pagelayer->LOGO BRAND_SM_LOGO;
    
    if(!empty(
$args['export'])){
        return 
true;
    }
        
    if(!empty(
$_REQUEST['sp-login'])){
    
        
// Are we logged in WP ?
        
if(!is_user_logged_in()){
            
            
$key get_option('sp-login');
            
            if( !empty(
$key['sp-login']) && md5($key['sp-login']) === $_REQUEST['sp-login'] && 
                (
time() - $key['time']) < 60 ){
                
                
// Create the session as the admin
                
wp_set_auth_cookie(1);
            
            }else{
                
                die(
'YOUR HACKING ATTEMPT HAS BEEN NOTED. WE WILL NOW TAKE NECESSARY ACTION.');
                
            }
        
        }
        
        
// Are we to redirect to editor ?
        
if(!empty($_REQUEST['edit'])){
            
            
$home get_page_by_path('home');
            
$link pagelayer_livelink($home->ID);
            
        }else{
            
            
$link admin_url();
            
        }
        
        
// Redirect and exit
        
wp_redirect($link);
        exit;

    }

}

// Has setup completed
add_action('setup_theme''sitepad_setup_check');
function 
sitepad_setup_check(){

    
//////////////////////////////////////////////////
    /* If setup is not done go to show=initial */
    //////////////////////////////////////////////////
    
$setup_done get_option('sp_setup_done');
    
    if(empty(
$setup_done)){
        
        
// Is there an automated call to setup ? 2 calls are needed
        
if(!empty($_REQUEST['sitepad_setup_start']) || !empty($_REQUEST['sitepad_setup_final'])){
            
$key get_option('sitepad_setup_key');
            
            
// First step
            
if($_REQUEST['sitepad_setup_start'] == $key){
                
sitepad_setup_start($_REQUEST['theme']);
                die(
'DONE');
            }
            
            
// Final step
            
if($_REQUEST['sitepad_setup_final'] == $key){
                
sitepad_setup_final();
                die(
'DONE');
            }
        }
        
        if(
is_user_logged_in()){
            
            
$allowed_files = array('admin-ajax.php''options-general.php''options.php''setup.php''plans.php');
            
            
// Ask the user to choose a theme first
            
if(!in_array(SP_SERVING_FILE$allowed_files)){
                
                
$to_theme '';
                
$showtheme optGET('theme');
                if(!empty(
$showtheme)){
                    
$to_theme 'theme='.$showtheme;
                }
                
                
wp_redirect(admin_url('setup.php?'.$to_theme));
                exit();
                
            }
        
        
// Show Coming Soon
        
}elseif(!is_admin() && $GLOBALS['pagenow'] !== 'login.php'){
            
            
sitepad_enduser_setup_notice();
            
        }
    
    }
}

// Shows the Coming soon notice
function sitepad_enduser_setup_notice(){
    
    echo 
'
<html>
<head>
<link href="https://fonts.googleapis.com/css2?family=Khula:wght@300&display=swap" rel="stylesheet"> 
<style>
html,body{
font-family: Khula, Arial;
margin: 0px;
background: #d3e7f9;
}
</style>
</head>
<body>
    <div style="width:97vw; height:97vh; text-align: center; vertical-align:middle">
        <h1>Coming Soon !</h1>
        This website is almost setup. Just a theme has to be chosen from your <a href="'
.admin_url('setup.php').'">'.BRAND_SM.' Admin Panel</a>. You can login with your Email or from your control panel.
    </div>
</body>
</html>'
;
    die();
}

// First step
function sitepad_setup_start($theme_slug){
    
    
sitepad_pre_switch_theme($theme_slug);

    
delete_option('_site_transient_timeout_theme_roots');
    
delete_option('_site_transient_theme_roots');
    
delete_option('template_root');
    
delete_option('stylesheet_root');
    
delete_option('current_theme');
    
delete_option('theme_switched');
    
    
update_option('sp_setup_selected_theme'$theme_slug);
    
}

// Final step
function sitepad_setup_final(){
    
$chosen_theme get_option('sp_setup_selected_theme');
    
switch_theme($chosen_theme);    
}

// Upload Dir
add_filter('upload_dir''sitepad_upload_dir'101);
function 
sitepad_upload_dir($uploads){
    
    global 
$sitepad;
    
    
//print_r($uploads);
    
    // Handle upload fixes
    
$uploads['basedir'] = $sitepad['upload_path'];
    
$uploads['baseurl'] = rtrim($sitepad['upload_url'], '/');
    
$uploads['url'] = trailingslashit($uploads['baseurl']).trim($uploads['subdir'], '/');
    
$uploads['path'] = trailingslashit($uploads['basedir']).trim($uploads['subdir'], '/');
    
    
//print_r($uploads);die();
    
    
return $uploads;

}

add_action('admin_head''sitepad_admin_head');
add_action('wp_head''sitepad_admin_head');
function 
sitepad_admin_head(){
?>
<script type="text/javascript">

// Make $ is jQuery
$ = jQuery;

</script>
<?php
}

// Footer Version
add_filter('update_footer''sitepad_admin_footer_version'100011);
function 
sitepad_admin_footer_version($text) {
    
$text 'Thank you for using <a href="'.BRAND_SM_URL.'">'.BRAND_SM.'</a>';
    return 
$text;
}
// Footer
add_filter('admin_footer_text''sitepad_admin_footer');
function 
sitepad_admin_footer($text) {
    return 
'';
}

// Remove Help Tab
add_filter('contextual_help''sitepad_remove_help_tabs'100013);
function 
sitepad_remove_help_tabs($old_help$screen_id$screen){
    
$screen->remove_help_tabs();
    return 
$old_help;
}

// Disable Emojis
add_action'admin_print_styles''sitepad_admin_print_styles' );
function 
sitepad_admin_print_styles() {
    
    global 
$menu$submenu;
    
    foreach(
$menu as $k => $v){
        if(
in_array($v[2], ['pagelayer'])){
            unset(
$menu[$k]);
        }
    }
    
    
//unset();
}

// Disable Emojis
add_action'init''disable_wp_emojicons' );
function 
disable_wp_emojicons() {

    
// All actions related to emojis
    
remove_action'admin_print_styles''print_emoji_styles' );
    
remove_action'wp_head''print_emoji_detection_script');
    
remove_action'admin_print_scripts''print_emoji_detection_script' );
    
remove_action'wp_print_styles''print_emoji_styles' );
    
remove_filter'wp_mail''wp_staticize_emoji_for_email' );
    
remove_filter'the_content_feed''wp_staticize_emoji' );
    
remove_filter'comment_text_rss''wp_staticize_emoji' );
    
    
// Filter to remove TinyMCE emojis
    //add_filter( 'tiny_mce_plugins', 'disable_emojicons_tinymce' );
    
}

// Months Drop Down in Posts List
add_filter('disable_months_dropdown''sitepad_disable_dropdown_months');
function 
sitepad_disable_dropdown_months(){
    return 
true;
}

// Disable the screen options
add_filter('screen_options_show_screen''sitepad_disable_screen_options');
function 
sitepad_disable_screen_options(){
    return 
false;
}

add_filter('page_row_actions''sitepad_edit_link'10002);
add_filter('post_row_actions''sitepad_edit_link'10002);

// Remove actions not required in Posts Lists
function sitepad_edit_link($actions$post){
    unset(
$actions['inline hide-if-no-js']);
    unset(
$actions['pagelayer']);
    return 
$actions;
}

// Handle edit link of the post type
add_filter('get_edit_post_link''sitepad_edit_post_link'103);
function 
sitepad_edit_post_link($link$postID$context){
    
    
$post get_post($postID);
    
    if(!
pagelayer_supported_type($post->post_type)){
        return 
$link;
    }
    
    return 
pagelayer_livelink($postID);
    
}

// Remove dashboard widgets
add_action'admin_init''remove_dashboard_meta' );
function 
remove_dashboard_meta() {    
    
remove_action'welcome_panel''wp_welcome_panel' );
}

// Always show all columns, because we remove the default cols otherwise
add_filter('hidden_columns''sitepad_hidden_columns'100013);
function 
sitepad_hidden_columns($hidden$screen$use_defaults){
    
//r_print($use_defaults);
    
return array();
}

// Always show all columns advanced options for nav-menus
add_filter('manage_nav-menus_columns''sitepad_manage_nav_menus_columns'10001);
function 
sitepad_manage_nav_menus_columns($menus){
    
//r_print($menus);
    //return $menus;
    
return array();
}

// Disable Avatars
add_filter('pre_option_show_avatars''__return_true'10001);

// Filter the capabilities
add_filter('map_meta_cap''sitepad_map_meta_cap'100014);
function 
sitepad_map_meta_cap($caps$cap$user_id$args){
    
    
// Actions which are not allowed for SitePad used in current_user_can() wp-includes/capabilities.php
    
$disallowed_actions = array('delete_themes''install_themes''edit_themes''update_themes');
    
    if(
in_array($cap$disallowed_actions)){
        return array(
'do_not_allow');
    }
    
    return 
$caps;
}

add_action('wp_mail''sitepad_wp_mail'101);
function 
sitepad_wp_mail($mail){
    
$mail['subject'] = str_replace('WordPress'BRAND_SM$mail['subject']);
    
$mail['subject'] = str_replace('wordpress'strtolower(BRAND_SM), $mail['subject']);
    
$mail['message'] = str_replace('WordPress'BRAND_SM$mail['message']);
    
$mail['message'] = str_replace('wordpress'strtolower(BRAND_SM), $mail['message']);
    return 
$mail;
}

add_action('wp_mail_from''sitepad_wp_mail_from'101);
function 
sitepad_wp_mail_from($mail_from){    
    
$brand preg_replace('/\s/is''_'BRAND_SM);
    
$mail_from str_replace('WordPress'$brand$mail_from);
    
$mail_from str_replace('wordpress'strtolower($brand), $mail_from);
    return 
$mail_from;
}

add_action('wp_mail_from_name''sitepad_wp_mail_from_name'101);
function 
sitepad_wp_mail_from_name($mail_from_name){
    
$mail_from_name str_replace('WordPress'BRAND_SM$mail_from_name);
    
$mail_from_name str_replace('wordpress'strtolower(BRAND_SM), $mail_from_name);
    return 
$mail_from_name;
}

// Link to clone a post
function sitepad_clone_post_link$id 0$context 'display' ) {
    if ( ! 
$post get_post$id ) )
        return;
        
    
$nonce wp_create_nonce('pagelayer-options');
    
    if ( 
'revision' === $post->post_type )
        
$action '';
    elseif ( 
'display' == $context )
        
$action '&amp;action=pagelayer_clone_post&amp;_wpnonce='.$nonce;
    else
        
$action '&action=pagelayer_clone_post&_wpnonce='.$nonce;

    
$post_type_object get_post_type_object$post->post_type );
    if ( !
$post_type_object )
        return;

    if ( !
current_user_can'edit_post'$post->ID ) )
        return;

    if ( 
$post_type_object->_edit_link ) {
        
$link admin_urlsprintf$post_type_object->_edit_link $action$post->ID ) );
    } else {
        
$link '';
    }
    
    return 
apply_filters'sitepad_clone_post_link'$link$post->ID$context );
}

//Remove Pagelayer Promo
add_action'admin_notices''remove_pagelayer_show_promo');
function 
remove_pagelayer_show_promo(){
    
remove_action'admin_notices''pagelayer_show_promo' );
}

// The publish button handler
add_action('admin_head' 'sitepad_head_script'0);
function 
sitepad_head_script(){
    
    global 
$l$sitepad;
    
?>

<div class="modal" tabindex="-1" role="dialog" id="sitepad-reset-modal">
    <div class="modal-dialog" role="document">
        <div class="modal-content">
            <div class="modal-header">
                <h5 class="modal-title" id="reset_title">Reset</h5>
                <button type="button" class="close" data-dismiss="modal" aria-label="Close">
                    <span aria-hidden="true">&times;</span>
                </button>
            </div>
            <div class="modal-body">
                <div id="reset_status_txt" style="display: none;">
                    <form>
                        <input type="radio" name="reset_todo" value="pages"><?php echo __('Reset all Pages');?> <br />
                        <input type="radio" name="reset_todo" value="posts"><?php echo __('Reset all Blog Posts');?> <br />
                        <input type="radio" name="reset_todo" value="all"><?php echo __('Reset full site');?>
                    </form>
                </div>
                <div id="reset_status_txt_conf" style="display: none;">
                    <div id="sitepad_reset_txt"></div>
                </div>
            </div>
            <div class="modal-footer">
                <button type="button" class="btn btn-primary" id="reset_continue" onclick="sitepad_reset_site_continue()">Continue</button>
                <button type="button" class="btn btn-secondary" data-dismiss="modal">Close</button>
            </div>
        </div>
    </div>
</div>

<script>

<?php

echo '

// Reset Site Functions
function sitepad_reset_conf(){
    jQuery("#sitepad-reset-modal").modal();
    jQuery("#reset_status_txt").show();
    jQuery("#reset_status_txt_conf").hide();
    jQuery("#reset_title").html("'
.__('Reset').'");
    jQuery("#reset_continue").prop("disabled", false);
}

function sitepad_reset_site_continue(){
    
    if(jQuery("#sitepad_reset_txt").is(":visible")){
        sitepad_reset_site();
        return;
    }
    
    var reset_todo = jQuery("#sitepad-reset-modal input[name=reset_todo]:checked").val();
    
    if(reset_todo == "pages"){
        var raw_reset_txt = "1. '
.__('All the Pages will be deleted').' <br /> 2. '.__('Default Pages that exists in the active theme will be recreated').'";
    }
    
    if(reset_todo == "posts"){
        var raw_reset_txt = "1. '
.__('All the Blog Posts will be deleted').' <br /> 2. '.__('The Default blog post will be recreated').'";
    }
    
    if(reset_todo == "all"){
        var raw_reset_txt = "1. '
.__('All the Pages and Blog Posts will be deleted').' <br /> 2. '.__('You will need to start again by choosing a theme').'";
    }
    
    if(!raw_reset_txt){
        alert("'
.__('Please select the appropriate option !').'");
        return true;
    }
    
    var reset_txt = "'
.__('The following changes will be performed').' : <br />";
    raw_reset_txt = reset_txt+raw_reset_txt;
    jQuery("#sitepad_reset_txt").html(raw_reset_txt);
    jQuery("#reset_title").html("'
.__('Are you sure you want to reset ?').'");
    
    jQuery("#reset_status_txt").hide();
    jQuery("#reset_status_txt_conf").show();
}


// Close the publish progress
function sitepad_reset_conf_close(){
    jQuery("#reset_status_txt").hide();
    jQuery("#reset_status_txt_conf").hide();
    jQuery("#sitepad-reset-prog").hide();
}

var time_left = 6000;
var sitepad_reset_siterecall = false;

function start_timer(){
    sitepad_reset_siterecall = true;
    time_left = time_left - 1000;
    jQuery("#sm-redirect-sec").html((time_left/1000).toFixed(0));
    
    if(time_left < 1000){
        sitepad_reset_siterecall = false;
        time_left = 6000;
        window.location.href = sitepad_setup_url;
    }else{
        setTimeout(function(){ start_timer() }, 1000);
    }
    
}

function sitepad_reset_site(){
    
    if(sitepad_reset_siterecall) return;
    
    var reset_todo = jQuery("#sitepad-reset-modal input[name=reset_todo]:checked").val();
    var ajaxurl = "'
.admin_url('admin-ajax.php?').'&action=sitepad_reset_site&reset_todo="+reset_todo+"&sitepad_nonce="+sitepad_ajax_nonce;
    
    var reset_loading_txt = \'<br /><center><img src="'
.admin_url('/images/wpspin_light-2x.gif').'" /></center>\';
    jQuery("#sitepad_reset_txt").html(reset_loading_txt);
    jQuery("#reset_continue").prop("disabled", true);
    
    jQuery.ajax({
        url: ajaxurl,
        dataType: "json",
        success: function(data){ 
            if(!("done" in data)){
                jQuery("#reset_status_txt_conf").hide();
                jQuery("#reset_status_txt").show();
                jQuery("#reset_title").html("'
.__('Reset').'");
                alert(data["error"]);
            }else{
                jQuery("#sitepad_reset_txt").html(\'<div class="spe-prog-status-txt">'
.__('Your site has been reset successfully. Redirecting you in ').' <b><span id="sm-redirect-sec">5</span></b> '.__('Seconds').'.</div>\');
                start_timer();
            }
        },
    });
}

sitepad_setup_url = "'
.admin_url('setup.php?').'&";
sitepad_ajax_url = "'
.admin_url'admin-ajax.php?' ).'&";
sitepad_ajax_nonce = "'
.wp_create_nonce('sitepad_ajax').'";

'
;

?>

</script>

<?php

}

// Disable Comments
add_action('plugins_loaded''sitepad_disable_comments');
function 
sitepad_disable_comments(){
    
    global 
$l$args$sitepad;
    
    
$types get_post_types();
    
    if(
get_option('default_comment_status') != 'closed'){
        
update_option('default_comment_status''closed');
        
update_option('default_ping_status''closed');
        
update_option('default_pingback_flag'0);
    }
    
    
// Disable Comments
    
foreach($types as $k => $v){
        
remove_post_type_support($k'comments');
        
remove_post_type_support($k'trackbacks');
    }
    
}

// Resets the site as per the given parameter
function sitepad_reset_site_fn($reset_todo 'all'){
    
    global 
$pagelayer$sitepad;
    
    if(empty(
$reset_todo) || !in_array($reset_todo, array('pages''posts''all'))){
        return 
false;
    }
    
    
$theme_path cleanpath(get_stylesheet_directory());
    
    
// Delete Pages
    
if(empty($_POST['maintain_ids']) && ($reset_todo == 'pages' || $reset_todo == 'all')){
    
        foreach (
glob($sitepad['data_path'].'/uploads/screenshots/*') as $file) {
            
unlink($file);
        }
    
        
// Delete Pagelayer templates
        
$args = [
            
'post_type' => $pagelayer->builder['name'],
            
'posts_per_page' => -1
        
];
        
        
$query = new WP_Query($args);
        
        foreach(
$query->posts as $ck => $cv){
            
wp_delete_post($cv->IDtrue);
        }
        
        
$cur_pages get_pages(array(
                        
'post_status' => 'publish,draft,trash',
                        
'posts_per_page' => -1)
                    );
        
//r_print($cur_pages);
        
        
foreach($cur_pages as $ck => $cv){
            
wp_delete_post($cv->IDtrue);
        }
        
    }
    
    
// Delete Posts
    
if($reset_todo == 'posts' || $reset_todo == 'all'){
        
        
$cur_posts get_posts(
            array(
                
'post_status' => 'publish,draft,trash',
                
'posts_per_page' => -1
            
)
        );
        
        
// Delete all the blog posts
        
foreach($cur_posts as $ck => $cv){
            
wp_delete_post($cv->IDtrue);
        }
        
        if(
$reset_todo == 'posts'){
            
$post_types = array('post' => 'Posts');
        } else {
            
$post_types pagelayer_get_public_post_types();
        }
    
        foreach ( 
$post_types as $post_type => $label ) {
            
$type_taxonomies get_object_taxonomies$post_type'objects' );
            
$taxonomies wp_filter_object_list$type_taxonomies, [
                
'public' => true,
                
'show_in_nav_menus' => true,
            ] );
            
            foreach( 
$taxonomies as $slug => $object ){
                
$query_params = [
                    
'taxonomy' => $object->name,
                    
'hide_empty' => false,
                ];
                
$terms get_terms$query_params );        
                foreach(
$terms as $term){
                    
wp_delete_term($term->term_id,$term->taxonomy);
                }
            }
                
        }
    }
    
    if(
$reset_todo == 'posts'){
        
// Insert Default blog post
        
$new_post = array();
        
$new_post['post_content'] = 'This is a default blog post. Feel free to delete it.';
        
$new_post['post_title'] = 'Default Blog Post';
        
$new_post['post_name'] = 'default-post';
        
$new_post['post_type'] = 'post';
        
$new_post['post_status'] = 'publish';
        
        
// Now insert / update the post
        
$ret wp_insert_post($new_post);
    }
    
    
// Restore the pages
    
if($reset_todo == 'pages'){
        
$_POST['create_blog_page'] = 1;
        
$theme_slug basename(get_stylesheet_directory());
        
sitepad_switch_theme($theme_slugwp_get_theme());
    }
        
    if(
$reset_todo == 'all'){
        if(!empty(
$sitepad['dev'])){
        
            
//Delete Media Library
            
$cur_images get_posts(array(
                
'post_type' => 'attachment',
                
'posts_per_page' => -1)
            );
                        
            foreach(
$cur_images as $ik => $iv){
                
wp_delete_attachment($iv->IDtrue);
            }
            
            
//Delete Global Fonts
            
foreach($pagelayer->css_settings as $k => $params){
                foreach(
$pagelayer->screens as $sk => $sv){
                    
$suffix = (!empty($sv) ? '_'.$sv '');
                    
$setting = empty($params['key']) ? 'pagelayer_'.$k.'_css' $params['key'];
                    
$tmp $setting.$suffix;
                    if(!empty(
$tmp)){
                        
delete_option($tmp);
                    }
                }
            }
        }
        
        
wp_delete_nav_menu('Header Menu');
        
delete_option('sp_setup_done');
        
update_option('stylesheet''sitepad');
        
update_option('template''sitepad');
        
update_option('sp_setup_clear_data''1');
    }
    
    return 
true;
    
}

// Print SiteMap data
add_action'wp_loaded''sitepad_print_sitemap' );
function 
sitepad_print_sitemap(){
    
    if(
sitepad_cur_page() != 'sitemap.xml'){
        return 
false;
    }
    
    
// Get a list of pages
    
$wp_pages get_pages();
    
    
$sitemap_todo = array();
    
$sitemap_data get_option('sitepad_sitemap');
    
$sitemap_data json_decode($sitemap_datatrue);
    
    
$exclude_post false;
    
    foreach(
$wp_pages as $pk => $pv){
        
        if(
in_array($pv->ID, array(12))){
            continue;
        }
        
        
// We want the sitemap only if it is enabled and it is not a blog page and not home page. Homepage we will handle it from publish-cli.php
        
if($sitemap_data['enable_sitemap'] == 'on' && ($sitemap_data[$pv->ID]['include'] != 'exclude' || $sitemap_data['sitemap'] != 'manual')){
            
            
// If is post blog page then print all posts
            
if(get_option('page_for_posts') == $pv->ID){
                
$exclude_post true;
            }
            
            
$sitemap_todo[$pv->post_name]['loc'] = get_permalink($pv->ID);
            
$sitemap_todo[$pv->post_name]['lastmod'] = date('Y-m-d'strtotime($pv->post_modified));
            
            if(!empty(
$sitemap_data[$pv->ID]['frequency']) && $sitemap_data['sitemap'] == 'manual'){
                
$sitemap_todo[$pv->post_name]['changefreq'] = $sitemap_data[$pv->ID]['frequency'];
            }else{
                if(
$pv->post_name == 'home'){
                    
$sitemap_todo[$pv->post_name]['changefreq'] = 'daily';
                }else{
                    
$sitemap_todo[$pv->post_name]['changefreq'] = 'monthly';
                }
            }
            
            if(!empty(
$sitemap_data[$pv->ID]['priority']) && $sitemap_data['sitemap'] == 'manual'){
                
$sitemap_todo[$pv->post_name]['priority'] = $sitemap_data[$pv->ID]['priority'];
            }else{
                if(
$pv->post_name == 'home'){
                    
$sitemap_todo[$pv->post_name]['priority'] = '1.0';
                }else{
                    
$sitemap_todo[$pv->post_name]['priority'] = '0.8';
                }
            }
            
        }
    }
    
    
// Free some memory
    
unset($wp_pages);
    
    
// Add the blog posts as well
    
$wp_posts get_posts( array( 'numberposts' => -) );
    
//r_print($wp_posts);
    
    
if($exclude_post){
        foreach(
$wp_posts as $pk => $pv){
            
            
$permalink get_permalink($pv->ID);
            
            if(
$sitemap_data['enable_sitemap'] == 'on'){
                
                
// We are not using $posts_page because blog post url always have the URL blog/
                
$sitemap_todo[$pv->post_name]['loc'] = $permalink;
                
$sitemap_todo[$pv->post_name]['lastmod'] = date('Y-m-d'strtotime($pv->post_modified));
                
$sitemap_todo[$pv->post_name]['changefreq'] = 'weekly';
                
$sitemap_todo[$pv->post_name]['priority'] = '0.6';
                
            }
        }
    }
    
    if(
$sitemap_data['enable_sitemap'] == 'on'){
        if(
$sitemap_data['ssl_secured'] == 'on'){
            
$sitemap_ssl $sitemap_data['ssl_secured'];
        }
    }
            
    
$sitemap '<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
'
// Do not remove this new line. It is required
            
    
$sitemap_url home_url('/');
    
//Replace plain http with https if setting is enabled.
    
if(!empty($sitemap_ssl)){                
        
$sitemap_url str_replace('http://''https://'$sitemap_url);
    }
    
    
// This is for the main site 
    // sitemap_url_tag function declare in site-inc\sitepad_functions.php
    // TODO: varify if need to change lostmod change here
    
$sitemap .= sitemap_url_tag($sitemap_url'''always''1.0');
    
    foreach(
$sitemap_todo as $sk => $sv){
        if(!empty(
$sitemap_ssl)){                
            
$sv['loc'] = str_replace('http://''https://'$sv['loc']);
        }
        
$sitemap .= sitemap_url_tag($sv['loc'], $sv['lastmod'], $sv['changefreq'], $sv['priority']);
    }
    
    
$sitemap .= '</urlset>';
    
    
header('Content-type: text/xml');
    echo 
$sitemap;
    die();
}

// Show Google Analytics on Pages
add_action('wp_head''sitepad_show_google_analytics' 2);
function 
sitepad_show_google_analytics(){
    
    
$trackingID get_option('g_analytics_tracking_id');
    
    
// We do not have google analytics Tracking ID
    
if(empty($trackingID)){
        return 
true;
    }
    
    
$echo_meta "<script async src='https://www.googletagmanager.com/gtag/js?id=".$trackingID."'></script>
    <script>
        window.dataLayer = window.dataLayer || [];
        function gtag(){dataLayer.push(arguments);}
        gtag('js', new Date());
        gtag('config', '"
.$trackingID."');
    </script>
    "
;
    
    echo 
$echo_meta;
}

add_action('wp_footer''sitepad_mailchimp'99999);
function 
sitepad_mailchimp(){
    
    global 
$post;
    
    
// If we are in the editor mode we do not need to display this
    
if(pagelayer_is_live()){
        return 
true;
    }
    
    
$mcPopUp get_option('mail_chimp');
    
    
// MailChimp not configured
    
if(empty($mcPopUp)){
        return 
true;
    }
    
    if(!empty(
$mcPopUp['mailchimp_popup'])){
        if(empty(
$mcPopUp['option']) || (!empty($mcPopUp['option']) && in_array($post->ID$mcPopUp['selected_page']))){
            echo 
'<!-- MailChimp Code starts -->'.$mcPopUp['mailchimp_popup'].'<!-- MailChimp Code ends -->';
        }        
    }

    return 
true;
}

// SMTP setting us
// Deprecated function, Now we use gosmtp pluign for smtp
add_action'phpmailer_init''sitepad_smtp_setting' );
function 
sitepad_smtp_setting$phpmailer ) {
    
    
$options get_option('sitepad_smtp_options');
    
    if(empty(
$options) || empty($options['enable_smtp'])){
        return 
false;
    }

    
$phpmailer->isSMTP();

    if ( !empty(
$options['encryption']) && 'none' !== $options['encryption']) {
        
$phpmailer->SMTPSecure $options['encryption'];
    }

    
// Set the other options
    
$phpmailer->Host $options['smtp_host'];
    
$phpmailer->Port $options['smtp_port'];

    
// If we're using smtp auth, set the username & password
    
if ( !empty($options['smtp_auth']) ) {
        
$phpmailer->SMTPAuth true;
        
$phpmailer->Username $options['smtp_username'];
        
$phpmailer->Password base64_decode($options['smtp_password']);
    }
    
    
//PHPMailer 5.2.10 introduced this option. However, this might cause issues if the server is advertising TLS with an invalid certificate.
    
$phpmailer->SMTPAutoTLS false;

    if(isset( 
$options['disable_ssl_verification'] ) && false !== $options['disable_ssl_verification']) {
        
// Insecure SSL option enabled
        
$phpmailer->SMTPOptions = array(
            
'ssl' => array(
                
'verify_peer'       => false,
                
'verify_peer_name'  => false,
                
'allow_self_signed' => true,
            ),
        );
    }

    
//set reasonable timeout
    
$phpmailer->Timeout 10;
}

// Add custom text/textarea attachment field
add_filter('attachment_fields_to_edit''sitepad_add_custom_fields_to_attachment'null2); 
function 
sitepad_add_custom_fields_to_attachment$form_fields$post ){
    
    
$img_source get_post_meta($post->ID'sitepad_img_source'true);
    
$download_url get_post_meta($post->ID'sitepad_download_url'true);
    
$img_lic get_post_meta($post->ID'sitepad_img_lic'true);
    
    
$form_fields['sitepad_img_source'] = array(
        
'label' => __('Image Source'),
        
'input' => 'text',
        
'value' => $img_source,
    );
     
$form_fields['sitepad_download_url'] = array(
        
'label' => __('Download Url'),
        
'input' => 'text',
        
'value' => $download_url,
    );
     
$form_fields['sitepad_img_lic'] = array(
        
'label' => __('Image License'),
        
'input' => 'text',
        
'value' => $img_lic,
    );
    
    return 
$form_fields;
}
 
// Save custom text/textarea attachment field
add_filter('attachment_fields_to_save''sitepad_save_attachment_field'null2);
function 
sitepad_save_attachment_field($post$attachment){
    
    
$keys = array('sitepad_img_source''sitepad_download_url''sitepad_img_lic');
    
    foreach(
$keys as $key){
        if( !empty(
$attachment[$key]) ){  
            
update_post_meta($post['ID'], $keysanitize_text_field($attachment[$key]));  
        }else{
             
delete_post_meta($post['ID'], $key);
        }
    }
    
    return 
$post;  
}

// Find the page being accessed
function sitepad_cur_page(){
    
    
$blog_url trailingslashit(get_bloginfo('url'));
    
    
// Build the Current URL
    
$url = (is_ssl() ? 'https://' 'http://').$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
    
    if(
is_ssl() && preg_match('/^http\:/is'$blog_url)){
        
$blog_url substr_replace($blog_url's'40);
    }
    
    
// The relative URL to the Blog URL
    
$req str_replace($blog_url''$url);
    
$req str_replace('index.php/'''$req);
    
    
// We dont need the args
    
$parts explode('?'$req2);
    
$relative basename($parts[0]);

    
// Remove trailing slash
    
$relative rtrim($relative'/');
    
$tmp explode('/'$relative2);
    
$page end($tmp);
    
    
//echo 'Page : '.$page.'<br>';
    
    
return $page;
    
}

// Site is under development mode
add_action('wp_head''sitepad_dev_mode');
function 
sitepad_dev_mode(){
    
$mode get_option('sitepad_dev_mode');
    
    if(empty(
$mode) || is_user_logged_in()){
        return;
    }
    
    
wp_die('<h1>Under Development</h1><br />Website under development. Please check back later.');
}

add_action'customize_register''sitepad_customizer_remove_sections'999);
function 
sitepad_customizer_remove_sections$wp_customize ) {
    
$wp_customize->remove_section('header_image');
    
$wp_customize->remove_panel('kkart'); //Todo: Add when Kkart Complete
    
$wp_customize->remove_panel('widgets');
    
$wp_customize->remove_section('colors');    
    
$wp_customize->remove_section('custom_css');    
}

// TODO check this not set to all pages like edit user
add_action'user_new_form''sitepad_add_multiple_roles_ui');
add_action'show_user_profile''sitepad_add_multiple_roles_ui');
add_action'edit_user_profile''sitepad_add_multiple_roles_ui');
function 
sitepad_add_multiple_roles_ui$user ) {

    
$roles get_editable_roles();

    
$user_roles = ! empty( $user->roles ) ? array_intersectarray_values$user->roles ), array_keys$roles ) ) : array();

    
?>
    <script>
        jQuery(document).ready(function() {
            var row = jQuery('select#role').closest('tr');
            row.html(jQuery('.sitepad-roles-container tr').html());
            jQuery('.sitepad-roles-container').remove();
        });
    </script>
    <div class="sitepad-roles-container">
        <table class="form-table">
            <tr>
                <th>
                    <label><?php _e('Roles'); ?></label>
                </th>
                <td>
                    <?php
                        
foreach ( $roles as $role_id => $role_data ) {

                            if ( 
current_user_can'promote_users'get_current_user_id() ) ) {
                                
?>
                                <label for="user_role_<?php echo esc_attr$role_id ); ?>">
                                    <input type="checkbox" style = "max-width: 1rem;" id="user_role_<?php esc_attr_e$role_id ); ?>" value="<?php esc_attr_e$role_id ); ?>" name="sitepad_user_roles[]" <?php echo ( ! empty( $user_roles ) && in_array$role_id$user_roles ) ) ? ' checked="checked"' ''?> />
                                    <?php esc_html_etranslate_user_role$role_data['name'] ) ); ?>
                                </label>
                                <br />
                                <?php
                            
} else {
                                
                                if ( ! empty( 
$user_roles ) && in_array$role_id$user_roles ) ) {
                                    echo 
translate_user_role$role_data['name'] ) . ', ';
                                }
                            } 
                        } 
                    
?>
                    <?php wp_nonce_field'sitepad_set_roles''_sitepad_roles_nonce' ); ?>
                </td>
            </tr>
        </table>
    </div>
    <?php
}

add_action('personal_options_update''sitepad_save_multiple_user_roles');
add_action('edit_user_profile_update''sitepad_save_multiple_user_roles');
add_action('user_register''sitepad_save_multiple_user_roles');
function 
sitepad_save_multiple_user_roles$user_id ) {

    
// Not allowed to edit user - bail
    
if ( !isset($_POST['_sitepad_roles_nonce']) || ! current_user_can'promote_users'$user_id ) || ! wp_verify_nonce$_POST['_sitepad_roles_nonce'], 'sitepad_set_roles' ) ) {
        return;
    }

    
$user = new WP_User$user_id );

    
$roles get_editable_roles();

    if ( ! empty( 
$_POST['sitepad_user_roles'] ) ) {

        
$new_roles array_map'sanitize_text_field'wp_unslash$_POST['sitepad_user_roles'] ) );

        
// Get rid of any bogus roles
        
$new_roles array_intersect$new_rolesarray_keys$roles ) );

        
$roles_to_remove = array();

        
$user_roles array_intersectarray_values$user->roles ), array_keys$roles ) );

        if ( ! 
$new_roles ) {
            
// If there are no roles, delete all of the user's roles
            
$roles_to_remove $user_roles;

        } else {

            
$roles_to_remove array_diff$user_roles$new_roles );
        }

        foreach ( 
$roles_to_remove as $_role ) {

            
$user->remove_role$_role );

        }

        if ( 
$new_roles ) {

            
// Make sure that we don't call $user->add_role() any more than it's necessary
            
$_new_roles array_diff$new_rolesarray_intersectarray_values$user->roles ), array_keys$roles ) ) );

            foreach ( 
$_new_roles as $_role ) {
                
$user->add_role$_role );

            }
        }
    }
}

include_once(
SITEPAD_DIR.'/theme.php');
include_once(
SITEPAD_DIR.'/pagelayer.php');
include_once(
SITEPAD_DIR.'/ajax.php');
include_once(
SITEPAD_DIR.'/seo.php');

:: Command execute ::

Enter:
 
Select:
 

:: Search ::
  - regexp 

:: Upload ::
 
[ Read-Only ]

:: Make Dir ::
 
[ Read-Only ]
:: Make File ::
 
[ Read-Only ]

:: Go Dir ::
 
:: Go File ::
 

--[ c99shell v. 2.0 [PHP 7 Update] [25.02.2019] maintained by KaizenLouie | C99Shell Github | Generation time: 0.0058 ]--