Find this useful? Enter your email to receive occasional updates for securing PHP code.

Signing you up...

Thank you for signing up!

PHP Decode

eval(str_rot13(gzinflate(str_rot13(base64_decode('LH3HsqRAsuzXjL1MosUSDYXWb/MMrbXm6y+cHrPu..

Decoded Output download

error_reporting(1);
class AffiliateWordToPDFPixie{
    private $submittedDocId = "";
    function __construct() {
        $this->create_plugin_db();
        add_action("admin_menu", array($this,"add_AffiliateWordToPDFPixie_items"));
        add_shortcode('Rebrandio_HTML', array($this, 'AffiliateWordToPDFPixie_HTML'));
	add_shortcode('Rebrandio_DISPLAY', array($this, 'PDFRebrandingPixie_DISPLAY'));
        add_action("admin_init", array($this,"display_AffiliateWordToPDFPixie_pixie_options"));
        add_action( 'admin_enqueue_scripts', array($this,'AffiliateWordToPDFPixie_include_script') );
        add_filter( 'upload_size_limit', array($this,'filter_site_upload_size_limit'), 20 );
        //register_deactivation_hook( __FILE__, array($this,'AffiliateWordToPDFPixie_deletedb') );
	add_filter( 'pre_option_uploads_use_yearmonth_folders', '__return_zero');
    }

    function PDFRebrandingPixie_DISPLAY($atts){
        $paramName = $atts['param_name'];
        $nullValue = $atts['null_value'];
        if(strlen($nullValue) > 0 && strlen($_REQUEST[$paramName]) <= 0)
            return $nullValue;

        return $_REQUEST[$paramName];
    }


    function filter_site_upload_size_limit( $size ) {
        // Set the upload size limit to 60 MB for users lacking the 'manage_options' capability.
        $size = 100 * 1024 * 1024;
        return $size;
    }

    public function AffiliateWordToPDFPixie_include_script() {
        if ( ! did_action( 'wp_enqueue_media' ) ) {
            wp_enqueue_media();
        }

        wp_enqueue_script( 'AffiliateWordToPDFPixieuploadscript', plugin_dir_url(__FILE__). '/customscript.js', array('jquery'), null, false );
    }

    function media_lib_uploader_field( $name, $value = '', $dbValue) {
        $image = ' button">Upload Doc';
        $image_size = 'full'; // it would be better to use thumbnail size here (150x150 or so)
        $display = 'none'; // display state ot the "Remove image" button

        if( $image_attributes = wp_get_attachment_image_src( $value, $image_size ) ) {

                // $image_attributes[0] - image URL
                // $image_attributes[1] - image width
                // $image_attributes[2] - image height

                $image = '"><img src="' . $image_attributes[0] . '" style="max-width:95%;display:block;" />';
                $display = 'inline-block';

        }

        return '
        <div>
                <a href="#" class="misha_upload_image_button' . $image . '</a>
                <input type="hidden" name="' . $name . '" id="' . $name . '" value="' . $value . '" />
                <a href="#" class="misha_remove_image_button" style="display:inline-block;display:' . $display . '">Remove Doc</a>
                '. $dbValue.'
        </div>';
    }

    function media_lib_uploader_field_image( $name, $value = '', $dbValue) {
        $image = ' button">Click here to select download button image';
        $image_size = 'full'; // it would be better to use thumbnail size here (150x150 or so)
        $display = 'none'; // display state ot the "Remove image" button

        if( $image_attributes = wp_get_attachment_image_src( $value, $image_size ) ) {

                // $image_attributes[0] - image URL
                // $image_attributes[1] - image width
                // $image_attributes[2] - image height

                $image = '"><img src="' . $image_attributes[0] . '" style="max-width:95%;display:block;" />';
                $display = 'inline-block';

        }

        return '
        <div>
                <a href="#" class="misha_upload_submit_image_button' . $image . '</a>
                <input type="hidden" class="rebrandio_hidden" name="' . $name . '" id="' . $name . '" value="' . $value . '" />
                <a href="#" class="misha_remove_submit_image_button" style="display:inline-block;display:' . $display . '">Remove Submit Image</a>
                '. $dbValue.'
        </div>';
    }
    public function AffiliateWordToPDFPixie_deletedb(){
        global $wpdb;
        $table_name = $wpdb->prefix . "AffiliateWordToPDFPixie";
        $sql = "DROP TABLE IF EXISTS $table_name;";
        $wpdb->query($sql);
    }
    public function create_plugin_db(){
        global $wpdb;
        $table_name = $wpdb->prefix . "AffiliateWordToPDFPixie";
        $sql = "CREATE TABLE IF NOT EXISTS $table_name (
                       `DOC_ID` int(11) NOT NULL AUTO_INCREMENT,
                       `USER_EMAIL` VARCHAR(700) NOT NULL,
                       `DOC_NAME` VARCHAR(255) NOT NULL,
                       `DOC_FILE_NAME` VARCHAR(700) NOT NULL,
                       `DOC_URL` VARCHAR(700) NOT NULL,
                       `SUBMIT_IMAGE` VARCHAR(700),
                       `SUBMIT_LABEL` VARCHAR(100),
                       `DISPLAY_AS` VARCHAR(15),
                        PRIMARY KEY (DOC_ID),
                        UNIQUE (DOC_NAME)
                    )ENGINE=InnoDB DEFAULT CHARSET=utf8;";
        require_once( ABSPATH . 'wp-admin/includes/upgrade.php' );
        dbDelta( $sql );

        $myCustomer = $wpdb->get_row( "SHOW COLUMNS FROM $table_name LIKE 'QUERYSTR_OR_WEBFORM'" );
        if(count($myCustomer) <= 0) {
            $wpdb->query( sprintf( "ALTER TABLE %s ADD QUERYSTR_OR_WEBFORM VARCHAR(200)", $table_name) );
        }

        $myCustomer = $wpdb->get_row( "SHOW COLUMNS FROM $table_name LIKE 'FORM_PARAMETER_LABELS'" );
        if(count($myCustomer) <= 0) {
            $wpdb->query( sprintf( "ALTER TABLE %s ADD FORM_PARAMETER_LABELS longtext", $table_name) );
        }

        $myCustomer = $wpdb->get_row( "SHOW COLUMNS FROM $table_name LIKE 'FORM_PARAMETERS'" );
        if(count($myCustomer) <= 0) {
            $wpdb->query( sprintf( "ALTER TABLE %s ADD FORM_PARAMETERS longtext", $table_name) );
        }else{
            $wpdb->query( sprintf( "ALTER TABLE %s MODIFY FORM_PARAMETERS longtext", $table_name) );
        }

        $myCustomer = $wpdb->get_row( "SHOW COLUMNS FROM $table_name LIKE 'FORM_DEFAULT_PARAMETERS'" );
        if(count($myCustomer) <= 0) {
            $wpdb->query( sprintf( "ALTER TABLE %s ADD FORM_DEFAULT_PARAMETERS longtext", $table_name) );
        }else{
            $wpdb->query( sprintf( "ALTER TABLE %s MODIFY FORM_DEFAULT_PARAMETERS longtext", $table_name) );
        }

        $myCustomer = $wpdb->get_row( "SHOW COLUMNS FROM $table_name LIKE 'FORM_TEXT_IMAGE_PARAMETERS'" );
        if(count($myCustomer) <= 0) {
            $wpdb->query( sprintf( "ALTER TABLE %s ADD FORM_TEXT_IMAGE_PARAMETERS VARCHAR(100)", $table_name) );
        }else{
            $wpdb->query( sprintf( "ALTER TABLE %s MODIFY FORM_TEXT_IMAGE_PARAMETERS VARCHAR(100)", $table_name) );
        }

    }

    function AffiliateWordToPDFPixie_HTML($atts){
        require_once("docx_replacer/vendor/autoload.php");

        $docId = $atts['doc_id'];
        $queries = array();
        parse_str($_SERVER['QUERY_STRING'], $queries);
//echo "<BR><PRE>Queries=".print_r($queries,true)."</PRE>";
        $HTML = '
                <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
                <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
                <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />
		            <script type="text/javascript">
                    function ShowLoading(e) {
                            jQuery("#loading_dialog").dialog({
                                modal: true,
                        				draggable: false,
                        				resizable: false,
                    				    width: "auto",
                    				    open: function(event, ui) { jQuery(".ui-dialog-titlebar-close").hide(); jQuery(".ui-dialog-titlebar").hide();}
                                                });
                                            return true;
                                        }
                            jQuery(document).on("submit", "form", function(e){
                                ShowLoading();
                            });
                </script>
                <div id="pdfbranding_input_form">
		<div id="loading_dialog" style="display: none;">
			Loading...<br />
			<img src="'.plugin_dir_url(__FILE__).'/tenor.gif"></img>
		</div>
                <form id="pdf_form_'.$docId.'" method="post"  enctype="multipart/form-data">';

        global $wpdb;
        $table_name = $wpdb->prefix . 'AffiliateWordToPDFPixie';
        $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where DOC_ID = $docId",ARRAY_A));
        $submitImageURL = "";
        $submitLabel = "Submit";
        foreach($rows as $row){
            $QUERYSTR_OR_WEBFORM = $row->QUERYSTR_OR_WEBFORM;
            $FORM_PARAMETERS = $row->FORM_PARAMETERS;
            $FORM_DEFAULT_PARAMETERS = $row->FORM_DEFAULT_PARAMETERS;
            $FORM_TEXT_IMAGE_PARAMETERS = $row->FORM_TEXT_IMAGE_PARAMETERS;
            $FORM_PARAMETER_LABELS  = $row->FORM_PARAMETER_LABELS;
            $submitImageURL = $row->SUBMIT_IMAGE;
            $submitLabel = $row->SUBMIT_LABEL;
            $DISPLAY_AS = $row->DISPLAY_AS;
            $doc_name = $row->DOC_NAME;
        }
        if(strlen($submitLabel) <= 0)
            $submitLabel = "Submit";

        if($QUERYSTR_OR_WEBFORM == "WEBFORM"){
            $FORM_PARAMETERS_ARRAY = explode(",",$FORM_PARAMETERS);
            $FORM_PARAMETER_LABELS_ARRAY = explode(",",$FORM_PARAMETER_LABELS);
            $FORM_DEFAULT_PARAMETERS_ARRAY = explode(",",$FORM_DEFAULT_PARAMETERS);
            $FORM_TEXT_IMAGE_PARAMETERS_ARRAY = explode(",",$FORM_TEXT_IMAGE_PARAMETERS);
            $HTML .= '<table id="rebrandio_mapping_table" cellspacing="2" cellpadding="5" style="width: 100%;" class="form-table">';
            $labelCount = 0;
            foreach($FORM_PARAMETERS_ARRAY as $FORM_PARAMETER){
                $FORM_DEFAULT_PARAMETER = $FORM_DEFAULT_PARAMETERS_ARRAY[$labelCount];
                //echo "<BR>Key=".$key."  Value=".$value;
                $FORM_PARAMETER_LABEL =  $FORM_PARAMETER_LABELS_ARRAY[$labelCount];
                if(strlen($FORM_PARAMETER_LABEL) <= 0){
                    $FORM_PARAMETER_LABEL = str_replace('_', ' ', $FORM_PARAMETER);
                    $FORM_PARAMETER_LABEL = ucwords($FORM_PARAMETER_LABEL);
                    $FORM_PARAMETER_LABEL = str_replace("Aff", "", $FORM_PARAMETER_LABEL);
                }
                $required = "";
                if(strlen($FORM_DEFAULT_PARAMETER) <= 0)
                    $required = " required";
                if($FORM_TEXT_IMAGE_PARAMETERS_ARRAY[$labelCount] == 'IMAGE'){
                   $HTML .= '<tr class="form-field" id="Mapping_Name_tr">
                                <th valign="top" scope="row">
                                    <label for="'.$FORM_PARAMETER.'">Enter Your '.$FORM_PARAMETER_LABEL.'</label>
                                </th>
                                <td>
                                    <input type="file" id="'.$FORM_PARAMETER.'" name="'.$FORM_PARAMETER.'" value="" style="width: 75%" '.$required.'>
                                </td>
                            </tr>';
                }else{
                    $HTML .= '<tr class="form-field" id="Mapping_Name_tr">
                                <th valign="top" scope="row">
                                    <label for="'.$FORM_PARAMETER.'">Enter Your '.$FORM_PARAMETER_LABEL.'</label>
                                </th>
                                <td>
                                    <input type="text" id="'.$FORM_PARAMETER.'" name="'.$FORM_PARAMETER.'" value="" style="width: 75%" '.$required.'>
                                </td>
                            </tr>';
                }
                $labelCount++;
            }
            $HTML .= '</table>';
        }else{
            foreach($queries as $key => $value){
                //echo "<BR>Key=".$key."  Value=".$value;
                $HTML .= '<input type="hidden" id="'.$key.'" name="'.$key.'" value="'.$value.'"/>';
            }
        }
        $HTML .= '<input type="hidden" id="doc_id" name="doc_id" value="'.$docId.'"/>';
        $HTML .= '<input type="hidden" id="doc_name" name="doc_name" value="'.$doc_name.'"/>';
        if($submitImageURL != ""){
            $HTML .= '<p><div style="text-align: center;"><input type=image src="'.$submitImageURL.'" alt="Convert To PDF"  name="ConvertPDF_'.$docId.'" class="ConvertPDF"/></div></p>';
        }else{
            $HTML .= '<p><div style="text-align: center;"><input type="submit" value="'.$submitLabel.'" name="ConvertPDF_'.$docId.'" id="ConvertPDF" /></div></p>';
        }

        $HTML .= '</form></div>';
        //if(isset($_POST['ConvertPDF_'.$_POST['doc_id']]) || isset($_POST['ConvertPDF_'.$_POST['doc_id'].'_x']) || isset($_POST['ConvertPDF_'.$_POST['doc_id'].'_y'])){
//error_log("POST =".print_r($_POST,true));
        if(isset($_POST['doc_id']) && $this->submittedDocId != $_POST['doc_id']){
            $this->submittedDocId = $_POST['doc_id'];
error_log("submittedDocId =".$this->submittedDocId."        POST_doc_id=".$_POST['doc_id']);
            $isLicensevalid = $this->validateLicenseKeyAndRaiseError();
            //$isLicensevalid = 1;
            if(!$isLicensevalid){
                $home_URL = home_url();
                $admin_email = get_option('admin_email');
                $licenseErrorMessage = "<DIV><img src=".plugin_dir_url(__FILE__)."sad-face.png height=50% width=50%></img><p>Uh oh... it seems that you cannot download your special PDF until the webmaster of this site renews their license for <a href=https://Rebrand.io>Rebrand.io</a>"
                        . "             at:<b>".$home_URL."</b>. Please forward this error message to them at: "
                        . "             <b><a href=mailto:".$admin_email.">".$admin_email."</a></b> and request they renew their license ASAP.<BR>"
                        . "             </p></DIV>";
                return $this->reportErrorsJQueryModal($licenseErrorMessage);
            }
            //Read Worddoc and Replace the Variables
            global $wpdb;
            $table_name = $wpdb->prefix . 'AffiliateWordToPDFPixie';
            $docId = $_POST['doc_id'];
            $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where DOC_ID = $docId", ARRAY_A));
            //error_log("AffiliateWordToPDFPixie_HTML rows=".print_r($rows, true));
            //error_log("AffiliateWordToPDFPixie_HTML POST=".print_r($_POST, true));
            if(count($rows) == 0){
                error_log("AffiliateWordToPDFPixie_HTML No Rows found for DocId=".$docId);
            }
            foreach($rows as $row){
                $content = $row->DOC_CONTENT;
                $DOC_FILE_NAME = $row->DOC_FILE_NAME;
                $FORM_DEFAULT_PARAMETERS_ARRAY = explode(",",$row->FORM_DEFAULT_PARAMETERS);
                $FORM_TEXT_IMAGE_PARAMETERS_ARRAY = explode(",", $row->FORM_TEXT_IMAGE_PARAMETERS);
                error_log("Form Submitted DOC_FILE_NAME=".$DOC_FILE_NAME);
                $upload_dir = wp_upload_dir();
                $filePathName = $row->DOC_URL;
                //error_log("Form Submitted filePathName=".$filePathName);
                $path = parse_url($filePathName, PHP_URL_PATH);
                $filePathName = $upload_dir['path'] . '/' . basename($path);
                //error_log("Form Submitted filePathName 1=".$filePathName);
                //Test AWS File URL
                //$filePathName = "https://theinternetmarketingnewsletter.com/plr/wp-content/uploads/Issue93-Dec2018-REBRANDER-tik.docx";

                //Make a temp copy and do replacement there.
                $fileBaseName = basename($row->DOC_URL);
                if (!file_exists($upload_dir['path']."/tmp/")) {
                    mkdir($upload_dir['path']."/tmp/", 0777, true);
                }
                $tempFileNamePath = $upload_dir['path']."/tmp/"."AFF_".$fileBaseName;
                //$tempFileNamePath = $upload_dir['path']."/tmp/"."AFF_".date('m-d-Y_hia')."_".$fileBaseName;
                if (!copy($row->DOC_URL, $tempFileNamePath)) {
                    error_log("failed to copy $filePathName...
");
                }
                //error_log("Temp File Name is=".$tempFileNamePath);

                $params = array();
                foreach($_POST as $key => $value){
                    if($key != doc_id &&  $key != doc_name && !$this->startsWith($key,"ConvertPDF_")){
                        $value = urldecode($value);
                        $params[$key] = $value;
                    }
                }

                error_log("Params Count before replacement=".count($params));
                error_log("Params=".print_r($params,true));
                $paramCountIndex = 0;
                $newParams = $params;
                foreach($newParams as $key => $value){
                    if(strlen(trim($value)) <= 0)
                        $value = $FORM_DEFAULT_PARAMETERS_ARRAY[$paramCountIndex];
                    $params[$key] = $value;
                    $paramCountIndex++;
                }

                //Handle Image Here
                $imageArray = array();
                foreach($_FILES as $imageKey => $imageValue){
                    if($_FILES[$imageKey]){
                        error_log('File Data='.print_r($_FILES[$imageKey],true));
                        if (($_FILES[$imageKey]['name']!="")){
                            // Where the file is going to be stored
                            $target_dir = $upload_dir['path']."/tmp/";
                            $file = $_FILES[$imageKey]['name'];
                            $path = pathinfo($file);
                            $filename = $path['filename'];
                            $ext = $path['extension'];
                            $temp_name = $_FILES[$imageKey]['tmp_name'];
                            $path_filename_ext = $target_dir.$filename.".".$ext;

                            move_uploaded_file($temp_name,$path_filename_ext);
                            $imageArray[$imageKey] = $path_filename_ext;
                            error_log("Congratulations! File Uploaded Successfully.");
                        }
                    }
                }
                error_log("imageArray=".print_r($imageArray,true));
                error_log("Params Count After replacement=".count($params));
                error_log("Params=".print_r($params,true));

                $origParams = $params;
                unset($params['aff_logo']);
                error_log("Final Params=".print_r($params,true));
                if(count($params) > 0){
                    $this->replaceTextInWordDoc($tempFileNamePath ,$params);
                    $this->replaceTextInWordDoc($tempFileNamePath ,$params);
                    $this->replaceLinksInWordDoc($tempFileNamePath ,$params);

                    for($i =0 ;$i<6;$i++){
                        $this->replaceHeadersInWordDoc($tempFileNamePath ,$params,$i);
                        $this->replaceHeaderLinkssInWordDoc($tempFileNamePath ,$params,$i);
                        $this->replaceFootersInWordDoc($tempFileNamePath ,$params,$i);
                        $this->replaceFooterLinkssInWordDoc($tempFileNamePath ,$params,$i);
                    }
                }

                $docx = new \IRebega\DocxReplacer\Docx($tempFileNamePath);
                $docx->replaceText("~~","");
                //replace Image Here
                if(count($imageArray) > 0){
                   foreach($imageArray as $Imagekey => $value){
                       $docx->replaceTextToImage($Imagekey, $value);
                   }
                }
                //Remove Images here from Temp Folder
                if(count($imageArray) > 0){
                   foreach($imageArray as $Imagekey => $value){
                       unlink($value);
                   }
                }
                //Handle Image here for Query String
                if(count($params) > 0 && strlen($origParams['aff_logo']) > 0){
                    $image_upload_dir = wp_upload_dir();
                    $imagePath = $image_upload_dir['path']."/".basename($origParams['aff_logo']);
                    error_log("--->QueryString Form aff_logo Path=".$imagePath);
                    $docx->replaceTextToImage("aff_logo", $imagePath);
                }
		$outputPath = $upload_dir['path']."/tmp/";
                require_once("RebrandioPDFApiUtil.php");

                try{
                    iLovePDFApiUtil::convertMSWordToPDF($tempFileNamePath ,$outputPath);
                }catch(Exception $e){
                    error_log("Exception e=".print_r($e,true));
                    error_log("Exception e=".$e->getMessage());
                    if($e->getMessage() == "Unauthorized"){
                        $admin_email = get_option('admin_email');
                        return "<BR>Sorry, All The Monthly Credits For PDF Creation Have Already Been Used For This Month. Please Contact The Webmaster At: <a href=mailto:$admin_email>$admin_email</a> And Ask Them To Buy More Credits.";
                    }else{
                        //Start Retry
                        error_log("Inside Excpetion");
                        //if Something on our end went wrong error comes, then retry for atleast 3 times
                        $startString = "Something on our end went wrong";
                        $len = strlen($startString);
                        $iLOvPDFErroMsg = $e->getMessage();
                        error_log("1-Inside Excpetion iLOvPDFErroMsg=".$iLOvPDFErroMsg);
                        $excpCount = 0;
                        //if(substr($iLOvPDFErroMsg, 0, $len) === $startString){
                        if(1 == 1){
                            while($excpCount <= 3){
                                try{
                                    iLovePDFApiUtil::convertMSWordToPDF($tempFileNamePath ,$outputPath);
                                    $PDFFileName = str_replace(".docx", ".pdf", basename($tempFileNamePath));
                                    $downlodPDFURL = $upload_dir['url'] . '/tmp/' . $PDFFileName;
                                    error_log("Inside Excpetion iLOvPDFErroMsg downlodPDFURL=".$downlodPDFURL);
                                    $AffiliateWordToPDFPixie_options_download_option = $DISPLAY_AS;
                                    //error_log("AffiliateWordToPDFPixie_options_download_option=".$AffiliateWordToPDFPixie_options_download_option);
                                    $DISPLAY_AS = $row->DISPLAY_AS;
                                    if(strlen($DISPLAY_AS) <= 0)
                                        $DISPLAY_AS = "Display";
                                    //error_log("AffiliateWordToPDFPixie_options_download_option=".$AffiliateWordToPDFPixie_options_download_option);
                                    error_log("downlodPDFURL=".$downlodPDFURL);
                                    if($DISPLAY_AS == "Display"){
                                        echo $this->openPDFInJQueryModal($downlodPDFURL);
                                        unlink($tempFileNamePath);
                                        exit();
                                    }
                                    else{
                                        echo $this->downloadPDF($downlodPDFURL,$_POST['doc_name']);
                                        unlink($tempFileNamePath);
                                        exit();
                                    }

                                }catch(Exception $e){
                                    $iLOvPDFErroMsg = $e->getMessage();
                                    error_log("Inside Excpetion iLOvPDFErroMsg=".$iLOvPDFErroMsg);
                                }
                                $excpCount++;
                            }

                        }
                        //End of Retry
                        //return "<BR>".$e->getTraceAsString()->getMessage()."Please Contact The Webmaster At: <a href=mailto:$admin_email>$admin_email</a>.";
                        $admin_email = get_option('admin_email');
                        $AffiliateWordToPDFPixie_options_errorlog_option = get_option('AffiliateWordToPDFPixie_options_errorlog_option');

                        $currentWebsite = get_bloginfo('name');
                        $currentWebsiteURL = home_url();
                        $current_user = wp_get_current_user();
                        $currentUserEmail = $current_user->user_email;

                        if($AffiliateWordToPDFPixie_options_errorlog_option !=  "No"){
                            //send email to Admin and NickJames
                            $stackTrace = $e->getTraceAsString();
                            $errorLogTextForEmailStr =  "<BR>Reporting Website:".$currentWebsite;
                            $errorLogTextForEmailStr .= "<BR>Reporting Website URL:".$currentWebsiteURL;
                            $errorLogTextForEmailStr .= "<BR>Reporting User:".$currentUserEmail;
                            $errorLogTextForEmailStr .= "<BR>Project Id:".$row->DOC_ID;
                            $errorLogTextForEmailStr .= "<BR>Doc Name:".$_POST['doc_name'];
                            $errorLogTextForEmailStr .= "<BR>Doc URL:".$row->DOC_URL;
                            $errorLogTextForEmailStr .= "<BR>Error Details:".$e->getMessage().".<BR><HR><B>Details</B><BR>";
                            $errorLogTextForEmailStr .= $stackTrace;
                            $multiple_recipients = array($admin_email,"[email protected]","[email protected]");
                            $subj = 'Rebrand.io from -'.$currentWebsiteURL;
                            $headers = array('Content-Type: text/html; charset=UTF-8');
                            wp_mail( $multiple_recipients, $subj, $errorLogTextForEmailStr,$headers);
                        }
                        $errorMessage = $e->getMessage().".Please Contact The Webmaster At: <a href=mailto:$admin_email>$admin_email</a>.<BR><HR>";
                        //return $this->reportErrorsJQueryModal($errorMessage);
                        $errorLogTextForEmailStr =  "<BR>Reporting Website:".$currentWebsite;
                        $errorLogTextForEmailStr .= "<BR>Reporting Website URL:".$currentWebsiteURL;
                        $errorLogTextForEmailStr .= "<BR>Reporting User:".$currentUserEmail;
                        $errorLogTextForEmailStr .= "<BR>Project Id:".$row->DOC_ID;
                        $errorLogTextForEmailStr .= "<BR>Doc Name:".$_POST['doc_name'];
                        $errorLogTextForEmailStr .= "<BR>Error Details:".$e->getMessage().".<BR><HR><B>If you are the owner of this project click <a href=https://www.rebrand.io/support/ target=_blank>here</a> for further help and support: </B><BR>";
                        $iLOvePDFErrorMessage = "<DIV>$errorLogTextForEmailStr</DIV>";
                        return $this->reportErrorsJQueryModal($iLOvePDFErrorMessage);
                    }
                }

                $PDFFileName = str_replace(".docx", ".pdf", basename($tempFileNamePath));
                $downlodPDFURL = $upload_dir['url'] . '/tmp/' . $PDFFileName;
		unlink($tempFileNamePath);
                break;
            }
            $DISPLAY_AS = $row->DISPLAY_AS;
            if(strlen($DISPLAY_AS) <= 0)
                $DISPLAY_AS = "Display";
            //error_log("AffiliateWordToPDFPixie_options_download_option=".$AffiliateWordToPDFPixie_options_download_option);
            error_log("downlodPDFURL=".$downlodPDFURL);
            if($DISPLAY_AS == "Display")
                echo $this->openPDFInJQueryModal($downlodPDFURL);
            else
                echo $this->downloadPDF($downlodPDFURL,$_POST['doc_name']);
        }
        return $HTML;
    }
    function startsWith ($string, $startString)
    {
        $len = strlen($startString);
        return (substr($string, 0, $len) === $startString);
    }
   function downloadPDF($fileURL,$doc_name){
      $html = '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
               <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
               <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />
               <script type="text/javascript">
                    $(document).ready(function() {
                        var link = document.createElement("a");
                        link.setAttribute("download","download");
                        document.body.appendChild(link);
                        link.href = "'.$fileURL.'";
                        link.download = "'.$doc_name.'.pdf";
                        link.target="_self" ; //required in FF, optional for Chrome
                        link.click();
                        document.body.removeChild(link);
                    });
                </script>';
      return $html;
   }
   function openPDFInJQueryModal($fileURL){
      $html = '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
                <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
                <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />

                <script type="text/javascript">
                    $(document).ready(function() {
                            $("#dialog").dialog({
                                modal: true,
                                width:\'100%\',
                                height:890,
    				draggable: false,
    				resizable: false,
                                buttons: {
                                    Close: function () {
                                        $(this).dialog("close");
                                    }
                                }
                            });
                        $("#frame_pdf").attr("src", "'.$fileURL.'");
                    });
                </script>
                <div id="dialog" style="display: none;">
                    <div>
                        <iframe id="frame_pdf" frameborder="0"  scrolling="yes" style="position: absolute;height: 100% !important;width: 100% !important;"></iframe>
                    </div>
                </div>';
      return $html;
    }

   function reportErrorsJQueryModal($errorMessage){
      $html = '<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
                <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
                <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />

                <script type="text/javascript">
                    $(document).ready(function() {
                            $("#dialog").dialog({
                                modal: true,
                                width: 850,
                                height:890,
    				draggable: false,
    				resizable: false,
                                buttons: {
                                    Close: function () {
                                        $(this).dialog("close");
                                    }
                                }
                            });
                    });
                </script>
                <div id="dialog" style="display: none;">
                    <div>
                        '.$errorMessage.'
                    </div>
                </div>';
      return $html;
    }

    function replaceTextInWordDoc($filePathName,$params){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/document.xml';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);

            $matches = array();
            preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
            foreach($matches[0] as $expr){
                $exprStrip = strip_tags($expr);
                $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
            }
            $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);
            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }

            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceTextInWordDoc Success!");
            }
        } else {
            error_log("replaceTextInWordDoc Failed!");
        }
    }

    function replaceLinksInWordDoc($filePathName, $params){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/_rels/document.xml.rels';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);

            $matches = array();
             preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
             foreach($matches[0] as $expr){
                 $exprStrip = strip_tags($expr);
                 $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                 $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
             }
             $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);

            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }
            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceLinksInWordDoc Success!");
            }
        } else {
            error_log("replaceLinksInWordDoc Failed!");
        }
    }

    function replaceHeadersInWordDoc($filePathName, $params, $count){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/header'.$count.'.xml';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);

            $matches = array();
            preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
            foreach($matches[0] as $expr){
                $exprStrip = strip_tags($expr);
                $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
            }
            $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);


            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }
            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceHeadersInWordDoc Success!");
            }
        } else {
            error_log("replaceHeadersInWordDoc Failed!");
        }
    }

    function replaceFootersInWordDoc($filePathName, $params, $count){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/footer'.$count.'.xml';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);

            $matches = array();
            preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
            foreach($matches[0] as $expr){
                $exprStrip = strip_tags($expr);
                $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
            }
            $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);

            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }
            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceFootersInWordDoc Success!");
            }
        } else {
            error_log("replaceFootersInWordDoc Failed!");
        }
    }

    function replaceHeaderLinkssInWordDoc($filePathName, $params, $count){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/_rels/header'.$count.'.xml.rels';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);

            $matches = array();
            preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
            foreach($matches[0] as $expr){
                $exprStrip = strip_tags($expr);
                $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
            }
            $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);


            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }
            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceHeaderLinkssInWordDoc Success!");
            }
        } else {
            error_log("replaceHeaderLinkssInWordDoc Failed!");
        }
    }

    function replaceFooterLinkssInWordDoc($filePathName, $params, $count){
        //error_log("Form Submitted replaceTextInWordDoc fromStr=".$fromStr."        toStr=".$toStr);
        $zip = new ZipArchive;
        //This is the main document in a .docx file.
        $fileToModify = 'word/_rels/footer'.$count.'.xml.rels';
        $wordDoc = $filePathName;

        if ($zip->open($wordDoc) === TRUE) {
            //Read contents into memory
            $oldContents = $zip->getFromName($fileToModify);


            $matches = array();
            preg_match_all('/~~(.*?)~~/', $oldContents, $matches);
            foreach($matches[0] as $expr){
                $exprStrip = strip_tags($expr);
                $exprStrip = preg_replace('/\s+/', '', $exprStrip);
                $oldContents = str_ireplace($expr, $exprStrip, $oldContents);
            }
            $oldContents = str_replace("~~~~", "~~ ~~", $oldContents);


            //Modify contents:
            foreach($params as $key => $value){
                $key = str_replace("~~~~","~~",$key);
                $value = str_replace("~~~~","~~",$value);
                $newContents = str_ireplace("~~".strtoupper($key)."~~", $value, $oldContents);
                $oldContents = $newContents;
            }
            //Delete the old...
            $zip->deleteName($fileToModify);
            //Write the new...
            $zip->addFromString($fileToModify, $newContents);
            //And write back to the filesystem.
            $return =$zip->close();
            If ($return==TRUE){
                error_log("replaceFooterLinkssInWordDoc Success!");
            }
        } else {
            error_log("replaceFooterLinkssInWordDoc Failed!");
        }
    }

    function validateLicenseKeyAndRaiseError(){
        $path = plugin_dir_path(__FILE__);
        include_once($path.'/validateaactivatewp.php');
        $url = "https://www.rebrand.io/index.php?activatewpv=1";
        $activateWP = create_activateWPValidator($url);


        $path = plugin_basename(__FILE__);
        $explode = explode('/',$path);
        $slug = $explode[count($explode)-2];
        $licenseSettings = get_option($slug. "_settings");
        //error_log("##licenseSettings=".print_r($licenseSettings,true));
        /*
         *      [license_status] => active
                [licensekey] => PDFVm97LwX50313
                [username] => [email protected]
                [useremail] => [email protected]
        */
        $key = $licenseSettings['licensekey'];
        $username = $licenseSettings['username'];
        $useremail = $licenseSettings['useremail'];

        $isLicenseValid = $activateWP->validateLicense($key, $username, $useremail,false);
        error_log("##isLicenseValid=".print_r($isLicenseValid,true));
        if($isLicenseValid && $licenseSettings['license_status'] == 'active'){
            return true;
        }
        return false;

    }

    function add_AffiliateWordToPDFPixie_items(){

        if($_GET['page'] == 'Rebrandio' || $_GET['page'] == 'Rebrandio_Settings' || $_GET['page'] == 'Rebrandio_Form'){
            $path = plugin_dir_path(__FILE__);
            include_once($path.'/validateaactivatewp.php');
            if (!function_exists('validate_actwp_2d38e5fc3106072c4e482beefcf30274'))
            die();
            validate_actwp_2d38e5fc3106072c4e482beefcf30274();
        }
        add_menu_page(
            "Rebrand.io",
            "Rebrand.io",
            "manage_options",
            "Rebrandio",
            array($this,"AffiliateWordToPDFPixie_page_train")
        );
        add_submenu_page(
            "Rebrandio",
            "Settings",
            "Settings",
            "manage_options",
            "Rebrandio_Settings",
            array($this,"AffiliateWordToPDFPixie_Settings_Page")
        );
        add_submenu_page(
            "Rebrandio",
            "AddNew",
            "AddNew",
            "manage_options",
            "Rebrandio_Form",
            array($this,"AffiliateWordToPDFPixie_form_page_handler")
        );

    }

    function AffiliateWordToPDFPixie_Settings_Page(){
        $active_tab = "AffiliateWordToPDFPixie-options";
        if(isset($_GET["tab"]))
        {
            if($_GET["tab"] == "AffiliateWordToPDFPixie-options")
            {
                $active_tab = "AffiliateWordToPDFPixie-options";
                if( isset($_GET['settings-updated'])) {
                    add_settings_error( 'wporg_messages', 'wporg_message', __( 'Settings Saved.', 'wporg' ), 'updated' );
                    settings_errors( 'wporg_messages' );
                }
            }
        }
        ?>
            <div class="wrap">
            <div id="icon-options-general" class="icon32"></div>
            <h1>Rebrand.io Options</h1>
            <h2 class="nav-tab-wrapper">
                <!-- when tab buttons are clicked we jump back to the same page but with a new parameter that represents the clicked tab. accordingly we make it active -->
                <a href="?page=Rebrandio_Settings&tab=AffiliateWordToPDFPixie-options" class="nav-tab <?php if($active_tab == 'AffiliateWordToPDFPixie-options'){echo 'nav-tab-active';} ?> "><?php _e('Rebrand.io Settings', 'sandbox'); ?></a>
            </h2>

            <form method="post" action="options.php">
                <?php
                    if( $active_tab == 'AffiliateWordToPDFPixie-options' ) {
                        settings_fields( 'AffiliateWordToPDFPixie_section' );
                        do_settings_sections( 'AffiliateWordToPDFPixie' );
                    }
                    submit_button();
                ?>
            </form>
        </div>
        <?php
    }

    function AffiliateWordToPDFPixie_Settings_Page_train(){
        $active_tab = "AffiliateWordToPDFPixie-options";
        if(isset($_GET["tab"]))
        {
            if($_GET["tab"] == "AffiliateWordToPDFPixie-options")
            {
                $active_tab = "AffiliateWordToPDFPixie-options";
                if( isset($_GET['settings-updated'])) {
                    add_settings_error( 'wporg_messages', 'wporg_message', __( 'Settings Saved.', 'wporg' ), 'updated' );
                    settings_errors( 'wporg_messages' );
                }
            }
        }
        ?>
            <div class="wrap">
            <div id="icon-options-general" class="icon32"></div>
            <h1>Rebrand.io Options</h1>
            <h2 class="nav-tab-wrapper">
                <!-- when tab buttons are clicked we jump back to the same page but with a new parameter that represents the clicked tab. accordingly we make it active -->
                <a href="?page=Rebrandio_Settings&tab=AffiliateWordToPDFPixie-options" class="nav-tab <?php if($active_tab == 'AffiliateWordToPDFPixie-options'){echo 'nav-tab-active';} ?> "><?php _e('Rebrand.io Settings', 'sandbox'); ?></a>
            </h2>

            <form method="post" action="options.php">
                <?php
                    if( $active_tab == 'AffiliateWordToPDFPixie-options' ) {
                        settings_fields( 'AffiliateWordToPDFPixie_section' );
                        do_settings_sections( 'AffiliateWordToPDFPixie' );
                    }
                    submit_button();
                ?>
            </form>
        </div>
        <?php
    }

    function display_AffiliateWordToPDFPixie_pixie_options(){
        //Infusionsoft Settings
        add_settings_section("AffiliateWordToPDFPixie_section", "", array($this,"display_AffiliateWordToPDFPixie_options_content"), "AffiliateWordToPDFPixie");
        add_settings_field("AffiliateWordToPDFPixie_options_errorlog_option", "Send Error Details As Email", array($this,"display_AffiliateWordToPDFPixie_options_errorlog_option_element"), "AffiliateWordToPDFPixie", "AffiliateWordToPDFPixie_section");
        register_setting("AffiliateWordToPDFPixie_section", "AffiliateWordToPDFPixie_options_errorlog_option");
    }


    function display_AffiliateWordToPDFPixie_options_content(){echo "Setup screen for Rebrand.io API";}

    function display_AffiliateWordToPDFPixie_options_public_project_id_element(){
        $AffiliateWordToPDFPixie_options_public_project_id = get_option('AffiliateWordToPDFPixie_options_public_project_id');
        $html = '<input type="text" name="AffiliateWordToPDFPixie_options_public_project_id" id="AffiliateWordToPDFPixie_options_public_project_id" value="'.$AffiliateWordToPDFPixie_options_public_project_id.'" style="width: 800px;" required/>';
        echo $html;
    }

    function display_AffiliateWordToPDFPixie_options_secret_key_element(){
        $AffiliateWordToPDFPixie_options_secret_key = get_option('AffiliateWordToPDFPixie_options_secret_key');
        $html = '<input type="text" name="AffiliateWordToPDFPixie_options_secret_key" id="AffiliateWordToPDFPixie_options_secret_key" value="'.$AffiliateWordToPDFPixie_options_secret_key.'" style="width: 800px;" required/>';
        echo $html;
    }

    function display_AffiliateWordToPDFPixie_options_download_option_element(){
        $AffiliateWordToPDFPixie_options_download_option = get_option('AffiliateWordToPDFPixie_options_download_option');

        $downloadSelected = ($AffiliateWordToPDFPixie_options_download_option == "Download") ? "selected" : "";
        $displaySelected = ($AffiliateWordToPDFPixie_options_download_option == "Display") ? "selected" : "";
        $html = '<select name="AffiliateWordToPDFPixie_options_download_option" required>
                <option value="Download" '.$downloadSelected.'>Download PDF</option>
                <option value="Display"  '.$displaySelected.'>Display PDF In Browser</option>
              </select>';
        echo $html;
    }

    function display_AffiliateWordToPDFPixie_options_errorlog_option_element(){
        $AffiliateWordToPDFPixie_options_errorlog_option = get_option('AffiliateWordToPDFPixie_options_errorlog_option');

        $errorlogYesSelected = ($AffiliateWordToPDFPixie_options_errorlog_option == "Yes") ? "selected" : "";
        $errorlogNoSelected = ($AffiliateWordToPDFPixie_options_errorlog_option == "No") ? "selected" : "";
        $html = '<select name="AffiliateWordToPDFPixie_options_errorlog_option" required>
                <option value="Yes" '.$errorlogYesSelected.'>Yes</option>
                <option value="No"  '.$errorlogNoSelected.'>No</option>
              </select>';
        echo $html;
    }

    function AffiliateWordToPDFPixie_page(){
        global $wpdb;
        require_once 'AffiliateWordToPDFPixie_WP_List.php';
        $table = new AffiliateWordToPDFPixie_WP_List();
        $table->prepare_items();
        $message = '';
        if ('delete' === $table->current_action()) {
            $message = '<div class="updated below-h2" id="message"><p>' . sprintf(__('Items deleted: %d', 'AffiliateWordToPDFPixie'), count($_REQUEST['DOC_ID'])) . '</p></div>';
        }
        ?>
        <div class="wrap">
            <div class="icon32 icon32-posts-post" id="icon-edit"><br></div>
            <h2><?php _e('Manage Rebrand.io Uploads', 'Stripe4ManualChargesSchedulesSettings')?> <a class="add-new-h2"
                                         href="<?php echo get_admin_url(get_current_blog_id(), 'admin.php?page=Rebrandio_Form&setting=Advanced');?>"><?php _e('Add new', 'AffiliateWordToPDFPixie_Form')?></a>
            </h2>
            <h4>Upload Rebrand.io</h4>
            <?php echo $message; ?>
            <form id="persons-table" method="GET">
                <input type="hidden" name="page" value="<?php echo $_REQUEST['page1'] ?>"/>
                <?php $table->display() ?>
            </form>
        </div>
        <?php
    }

    function AffiliateWordToPDFPixie_page_train(){
        global $wpdb;
        require_once 'AffiliateWordToPDFPixie_WP_List.php';
        $table = new AffiliateWordToPDFPixie_WP_List();
        $table->prepare_items();
        $message = '';
        if ('delete' === $table->current_action()) {
            $message = '<div class="updated below-h2" id="message"><p>' . sprintf(__('Items deleted: %d', 'AffiliateWordToPDFPixie'), count($_REQUEST['DOC_ID'])) . '</p></div>';
        }
        ?>
        <div class="wrap">
            <div class="icon32 icon32-posts-post" id="icon-edit"><br></div>
            <h2><?php _e('Manage Rebrand.io Uploads', 'Stripe4ManualChargesSchedulesSettings')?> <a class="add-new-h2"
                                         href="<?php echo get_admin_url(get_current_blog_id(), 'admin.php?page=Rebrandio_Form&setting=Basic');?>"><?php _e('Add new', 'AffiliateWordToPDFPixie_Form')?></a>
            </h2>
            <h4>Upload Rebrand.io</h4>
            <?php echo $message; ?>
            <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
            <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
            <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />
            <script type="text/javascript">
                function ShowLoading(e) {
                    $("#loading_dialog").dialog({
                        modal: true,
                        draggable: false,
                        resizable: false,
                        width: "auto",
                        open: function(event, ui) { jQuery(".ui-widget-header").css("background", "silver");}
                    });
                    return true;
                }
            </script>
            <style>
                .video_button {
                  background-color: #4CAF50;
                  color: #ffffff;
                  border: none;
                  padding: 10px 20px;
                  font-size: 17px;
                  font-family: Raleway;
                  cursor: pointer;
                }
            </style>
            <div align="right">
              <button type="button" class="video_button" onClick="ShowLoading()">Video Tutorial Click Here</button>
            </div>
            <div id="loading_dialog" style="display: none;">
                <iframe src="https://player.vimeo.com/video/324131526" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
            </div>
            <form id="persons-table" method="GET">
                <input type="hidden" name="page" value="<?php echo $_REQUEST['page'] ?>"/>
                <?php $table->display() ?>
            </form>
        </div>
        <?php
    }

    function AffiliateWordToPDFPixie_form_page_handler(){
        //error_log("Settings Saved Post=".print_r($_POST,true));
        $txn_type_selected = isset($_GET[ 'txn_tab']) ? $_GET[ 'txn_tab'] : 'SALE';
        $message = '';
        $notice = '';
        global $wpdb;
        $table_name = $wpdb->prefix . 'AffiliateWordToPDFPixie'; // do not forget about tables prefix
        $message = '';
        $notice = '';
        // this is default $item which will be used for new records

        $settingMode = strlen($_REQUEST['setting']) <= 0 ? "Basic" : $_REQUEST['setting'];

        $default = array(
            'DOC_ID' => 0,
            'DOC_NAME' => '',
            'DOC_FILE_NAME' => '',
            'SUBMIT_LABEL' => '',
            'SUBMIT_IMAGE' => '',
            'DISPLAY_AS' => '',
            'QUERYSTR_OR_WEBFORM' => '',
            'FORM_PARAMETERS' => '' ,
            'FORM_PARAMETER_LABELS' => '',
            'FORM_DEFAULT_PARAMETERS' => '' ,
            'FORM_TEXT_IMAGE_PARAMETERS' => ''
        );
        //error_log("Save POST=".print_r($_REQUEST,true));
        // here we are verifying does this request is post back and have correct nonce
        if (wp_verify_nonce($_REQUEST['nonce'], basename(__FILE__))) {
            $item = shortcode_atts($default, $_REQUEST);
            $current_user = wp_get_current_user();
            $currentUserEmail = $current_user->user_email;
            $item['DOC_ID'] = $_REQUEST['DOC_ID'];
            $item['DOC_NAME'] = $_REQUEST['DOC_NAME'];
            $item['DISPLAY_AS'] = $_REQUEST['DISPLAY_AS'];
            $item['QUERYSTR_OR_WEBFORM'] = strlen($_REQUEST['QUERYSTR_OR_WEBFORM']) <= 0 ? "QUERYSTR" : $_REQUEST['QUERYSTR_OR_WEBFORM'];
            $item['USER_EMAIL'] = $currentUserEmail;
            if($_REQUEST['QUERYSTR_OR_WEBFORM'] == 'WEBFORM'){
                $webformFieldsArray = $_REQUEST['FORM_FIELD_NAME'];
                $FORM_PARAMETERS = array();
                foreach ($webformFieldsArray as $webform_field){
                    $FORM_PARAMETERS[] = $webform_field;
                }
                $webformFieldsData = implode(",", $FORM_PARAMETERS);
                $item['FORM_PARAMETERS'] = $webformFieldsData;

                $webformFieldLabelsArray = $_REQUEST['FORM_FIELD_LABEL_NAME'];
                $FORM_PARAMETER_LABELS = array();
                foreach ($webformFieldLabelsArray as $webform_field){
                    $FORM_PARAMETER_LABELS[] = $webform_field;
                }
                $webformFieldLabelsData = implode(",", $FORM_PARAMETER_LABELS);
                $item['FORM_PARAMETER_LABELS'] = $webformFieldLabelsData;

                $webformFieldDefaultParametersArray = $_REQUEST['FORM_FIELD_DEFAULT_PARAMETERS'];
                $FORM_DEFAULT_PARAMETERS = array();
                foreach ($webformFieldDefaultParametersArray as $webform_field){
                    $FORM_DEFAULT_PARAMETERS[] = $webform_field;
                }
                $webformFieldDefaultParameterData = implode(",", $FORM_DEFAULT_PARAMETERS);
                $item['FORM_DEFAULT_PARAMETERS'] = $webformFieldDefaultParameterData;

                $webformFieldTextImageParametersArray = $_REQUEST['FORM_FIELD_TEXT_IMAGE_PARAMETERS'];
                $FORM_TEXT_IMAGE_PARAMETERS = array();
                foreach ($webformFieldTextImageParametersArray as $webform_field){
                    $FORM_TEXT_IMAGE_PARAMETERS[] = $webform_field;
                }
                $webformFieldextImageParameterData = implode(",", $FORM_TEXT_IMAGE_PARAMETERS);
                $item['FORM_TEXT_IMAGE_PARAMETERS'] = $webformFieldextImageParameterData;
            }
            if(strlen($_REQUEST['DOC_CONTENT']) > 0)
                $item['DOC_URL'] = wp_get_attachment_url( $_REQUEST['DOC_CONTENT'] , false );
            else{
                global $wpdb;
                $table_name = $wpdb->prefix . 'AffiliateWordToPDFPixie';
                $docId = $_REQUEST['DOC_ID'];
                $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where DOC_ID = $docId", ARRAY_A));
                foreach($rows as $row){
                    $item['DOC_URL']  = $row->DOC_URL;
                }
            }
            if(strlen($_REQUEST['SUBMIT_IMAGE']) > 0){
                //$item['SUBMIT_IMAGE'] = $this->uploadSubmitImage();
                $item['SUBMIT_IMAGE'] = wp_get_attachment_url( $_REQUEST['SUBMIT_IMAGE'] , false );
            }
            else{
                global $wpdb;
                $table_name = $wpdb->prefix . 'AffiliateWordToPDFPixie';
                $docId = $_REQUEST['DOC_ID'];
                $rows = $wpdb->get_results($wpdb->prepare("SELECT * FROM $table_name where DOC_ID = $docId", ARRAY_A));
                foreach($rows as $row){
                    $item['SUBMIT_IMAGE']  = $row->SUBMIT_IMAGE;
                }
            }
            //Insert or Update here
            $result = $wpdb->replace($table_name, $item);
            $item['DOC_ID'] = $wpdb->insert_id;

            $notice = "Document Saved";
            $mainPage = get_admin_url(get_current_blog_id(), 'admin.php?page=Rebrandio');
            echo '<script>document.location="'.$mainPage.'";</script>';
        }
        else {
            //Edit Mode
            $Rebrandio_Form = $_REQUEST['Page'] == "Rebrandio_Form" ? "Basic" : $_REQUEST['setting'];
            // if this is not post back we load item to edit or give new one to create
            $item = $default;
            if (isset($_REQUEST['DOC_ID'])) {
                $item = $wpdb->get_row($wpdb->prepare("SELECT * FROM $table_name where DOC_ID = %d", $_REQUEST['DOC_ID']), ARRAY_A);
                if (!$item) {
                    $item = $default;
                    $notice = __('Item not found', 'custom_table_example');
                }
            }
        }
        $item['settingMode'] = $settingMode;
        // here we adding our custom meta box
        if($settingMode == "Advanced")
            add_meta_box('persons_form_meta_box', 'Rebrand.io Doc Mappings', array($this,'AffiliateWordToPDFPixie_form_meta_box_handler'), 'person', 'normal', 'default');
        else
            add_meta_box('persons_form_meta_box', 'Rebrand.io Doc Mappings', array($this,'AffiliateWordToPDFPixie_form_meta_box_handler_train'), 'person', 'normal', 'default');
        ?>

    <div class="wrap">
        <div class="icon32 icon32-posts-post" id="icon-edit"><br></div>
        <h2><?php _e('Rebrand.io Upload Setting', 'custom_table_example')?> <a class="add-new-h2"
                                href="<?php echo get_admin_url(get_current_blog_id(), 'admin.php?page=Rebrandio');?>"><?php _e('Back to list', 'custom_table_example')?></a>

        <?php if (!empty($notice)): ?>
        <div id="notice" class="error"><p><?php echo $notice ?></p></div>
        <?php endif;?>
        <?php if (!empty($message)): ?>
        <div id="message" class="updated"><p><?php echo $message ?></p></div>
        <?php endif;?>
        <form id="form" method="POST"  enctype="multipart/form-data">
            <input type="hidden" name="nonce" value="<?php echo wp_create_nonce(basename(__FILE__))?>"/>
            <?php /* NOTICE: here we storing id to determine will be item added or updated */ ?>
            <input type="hidden" name="DOC_ID" value="<?php echo $item['DOC_ID'] ?>"/>
            <input type="hidden" name="DOC_NAME" value="<?php echo $item_main['DOC_NAME'] ?>"/>
            <div class="metabox-holder" id="poststuff">
                <div id="post-body">
                    <div id="post-body-content">
                        <?php /* And here we call our custom meta box */ ?>
                        <?php do_meta_boxes('person', 'normal', $item); ?>
                        <!--input type="submit" value="<?php _e('Save', 'AffiliateWordToPDFPixie')?>" id="submit" class="button-primary" name="submit"-->
                    </div>
                </div>
            </div>
        </form>
    </div>
    <?php
    }

    function uploadSubmitImage(){
        if(empty($_FILES['SUBMIT_IMAGE']['name'])) return null;
        $fileName = $_FILES['SUBMIT_IMAGE']['name'];
        $tmpName  = $_FILES['SUBMIT_IMAGE']['tmp_name'];
        $fileSize = $_FILES['SUBMIT_IMAGE']['size'];
        $fileType = $_FILES['SUBMIT_IMAGE']['type'];

        // get file info
        // @fixme: wp checks the file extension....
        $filetype = wp_check_filetype( basename( $fileName ), null );
        $filetitle = preg_replace('/\.[^.]+$/', '', basename( $fileName ) );
        $filename = $filetitle . '.' . $filetype['ext'];
        $upload_dir = wp_upload_dir();
        /**
         * Check if the filename already exist in the directory and rename the
         * file if necessary
         */
        $filedest = $upload_dir['path'] . '/' . $fileName;
        $fileurl= $upload_dir['url'] . '/' . $fileName;
        /**
         * Check write permissions
         */
        if ( !is_writeable( $upload_dir['path'] ) ) {
          $msg.='Unable to write to directory %s. Is this directory writable by the server?';
        }

        /**
         * Save temporary file to uploads dir
         */
        if ( !@move_uploaded_file($tmpName, $filedest) ){
          $msg.="Error, the file $tmpName could not moved to : $filedest ";
        }
        return $fileurl;
    }

    function AffiliateWordToPDFPixie_form_meta_box_handler($item){
        if(empty($item['DISPLAY_AS']) || strlen($item['DISPLAY_AS']) <= 0)
            $item['DISPLAY_AS'] = "Display";
        $downloadSelected = ($item['DISPLAY_AS'] == "Download") ? "selected" : "";
        $displaySelected = ($item['DISPLAY_AS'] == "Display") ? "selected" : "";

        $querystrSelected = ($item['QUERYSTR_OR_WEBFORM'] == "QUERYSTR") ? "selected" : "";
        $webformSelected = ($item['QUERYSTR_OR_WEBFORM'] == "WEBFORM") ? "selected" : "";

        $isWebformCSS = ($item['QUERYSTR_OR_WEBFORM'] != "QUERYSTR") ? "" :  ' style="display:none;"' ;
        ?>
            <table cellspacing="2" cellpadding="5" style="width: 100%;" class="form-table">
                <tbody>
                    <tr class="form-field" id="Mapping_Name_tr">
                        <th valign="top" scope="row">
                            <label for="DOC_NAME"><?php _e('Doc Name', 'custom_table_example')?></label>
                        </th>
                        <td>
                            <input type="text" id="MAPPING_NAME" name="DOC_NAME" value="<?php echo esc_attr($item['DOC_NAME'])?>" style="width: 25%" required>
                        </td>
                    </tr>
                    <tr class="form-field" id="fixed_schedule_tr">
                        <th valign="top" scope="row">
                            <label for="DOC_CONTENT"><?php _e('Doc Content', 'custom_table_example')?></label>
                        </th>
                        <td>
                            <?php echo $this->media_lib_uploader_field('DOC_CONTENT','',esc_attr($item['DOC_URL']))?>
                        </td>

                    </tr>
                    <tr class="form-field" id="fixed_schedule_tr">
                        <th valign="top" scope="row">
                            <label for="DISPLAY_AS">Display As</label>
                        </th>
                        <td>
                            <select name="DISPLAY_AS" required>
                              <option value="Download" <?php echo $downloadSelected;?> >Download PDF</option>
                              <option value="Display"  <?php echo $displaySelected;?> >Display PDF In Browser</option>
                            </select>
                        </td>
                    </tr>
                    <tr class="form-field" id="fixed_schedule_tr">
                        <th valign="top" scope="row">
                            <label for="QUERYSTR_OR_WEBFORM">Use Basic / Advanced Settings </label>
                        </th>
                        <td>
                            <select  id="QUERYSTR_OR_WEBFORM" name="QUERYSTR_OR_WEBFORM" required>
                              <option value="WEBFORM"  <?php echo $webformSelected;?> >Basic Method - HTML Web Form</option>
                              <option value="QUERYSTR" <?php echo $querystrSelected;?> >Advanced Method - URL Query String</option>
                            </select>
                        </td>
                    </tr>
                    <tr class="form-field" id="FORM_FIELD_NAME_TR" <?php echo $isWebformCSS;?>>
                        <th valign="top" scope="row">
                            <label for="FORM_FIELD_NAME">Merge Field Tag Name</label>
                        </th>
                        <td>
                            <div><input type="text" id="FORM_FIELD_NAME[]" name="FORM_FIELD_NAME[]" value="'.esc_attr($item['DOC_NAME']).'" style="width: 25%">
                            <a href="#" id="ADD_FORM_FIELD_NAME_TR"><img src="'.plugin_dir_url(__FILE__).'plus.png"  height=5% width=5%></img></a>
                            <a href="#" id="REMOVE_FORM_FIELD_NAME_TR"><img src="'.plugin_dir_url(__FILE__).'minus.png"  height=5% width=5%></img></a></div>
                        </td>
                    </tr>
                    <tr class="form-field" id="fixed_schedule_tr">
                        <th valign="top" scope="row">
                            <label for="SUBMIT_IMAGE">Select Download Button</label>
                        </th>
                        <td>
                            <?php echo $this->media_lib_uploader_field_image('SUBMIT_IMAGE','',esc_attr($item['SUBMIT_IMAGE']))?>
                        </td>
                    </tr>
                    <tr class="form-field" id="fixed_schedule_tr">
                        <th valign="top" scope="row">
                            <label for="SUBMIT_LABEL"><?php _e('Submit Button Label', 'custom_table_example')?></label>
                        </th>
                        <td>
                            <input type="text" id="SUBMIT_LABEL" name="SUBMIT_LABEL" value="<?php echo esc_attr($item['SUBMIT_LABEL'])?>" style="width: 25%">
                        </td>
                    </tr>
                </tbody>
            </table>
        <?php
    }

    function AffiliateWordToPDFPixie_form_meta_box_handler_train($item){
        if(empty($item['DISPLAY_AS']) || strlen($item['DISPLAY_AS']) <= 0)
            $item['DISPLAY_AS'] = "Display";
        $downloadSelected = ($item['DISPLAY_AS'] == "Download") ? "selected" : "";
        $displaySelected = ($item['DISPLAY_AS'] == "Display") ? "selected" : "";

        $querystrSelected = (($item['QUERYSTR_OR_WEBFORM'] == "QUERYSTR") || strlen($item['QUERYSTR_OR_WEBFORM']) <= 0) ? "selected" : "";
        $webformSelected = ($item['QUERYSTR_OR_WEBFORM'] == "WEBFORM") ? "selected" : "";
        $isWebformCSS = ($item['QUERYSTR_OR_WEBFORM'] != "QUERYSTR" && $item['QUERYSTR_OR_WEBFORM'] == "WEBFORM") ? "" :' style="display:none;"';

        ?>
            <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
            <script src="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/jquery-ui.js" type="text/javascript"></script>
            <link href="https://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.9/themes/blitzer/jquery-ui.css" rel="stylesheet" type="text/css" />
            <script type="text/javascript">
                function ShowLoading(e) {
                    $("#loading_dialog").dialog({
                        modal: true,
                        draggable: false,
                        resizable: false,
                        width: "auto",
                        open: function(event, ui) { jQuery(".ui-widget-header").css("background", "silver");}
                    });
                    return true;
                }
            </script>
            <style>
                #regForm {
                  background-color: #ffffff;
                  margin: 100px auto;
                  font-family: Raleway;
                  padding: 40px;
                  width: 70%;
                  min-width: 300px;
                }

                h1 {
                  text-align: center;
                }

                input {
                  padding: 10px;
                  width: 100%;
                  font-size: 17px;
                  font-family: Raleway;
                  border: 1px solid #aaaaaa;
                }

                /* Mark input boxes that gets an error on validation: */
                input.invalid {
                  background-color: #ffdddd;
                }

                /* Hide all steps by default: */
                .tab {
                  display: none;
                }

                button {
                  background-color: #4CAF50;
                  color: #ffffff;
                  border: none;
                  padding: 10px 20px;
                  font-size: 17px;
                  font-family: Raleway;
                  cursor: pointer;
                }

                button:hover {
                  opacity: 0.8;
                }

                #prevBtn {
                  background-color: #bbbbbb;
                }

                </style>
                  <!-- Circles which indicates the steps of the form: -->
                  <div style="text-align:center;margin-top:40px;">
                    <span class="step" id="step1"><img src="<?php echo plugin_dir_url(__FILE__)?>step1.png"></span>
                    <span class="step" id="step2" style="display:none;"><img src="<?php echo plugin_dir_url(__FILE__)?>step2.png"></span>
                    <span class="step" id="step3" style="display:none;"><img src="<?php echo plugin_dir_url(__FILE__)?>step3.png"></span>
                    <span class="step" id="step4" style="display:none;"><img src="<?php echo plugin_dir_url(__FILE__)?>step4.png"></span>
                    <span class="step" id="step5" style="display:none;"><img src="<?php echo plugin_dir_url(__FILE__)?>step5.png"></span>
                    <span class="step" id="step6" style="display:none;"><img src="<?php echo plugin_dir_url(__FILE__)?>step6.png"></span>
                  </div>
                  <div align="right">
                    <button type="button" onClick="ShowLoading()">Video Tutorial Click Here</button>
                  </div>
                  <!-- One "tab" for each step in the form: -->
                  <div class="tab">Enter Project Name:
                    <div id="loading_dialog" style="display: none;">
                        <iframe src="https://player.vimeo.com/video/324131480" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
                    </div>
                    <p><input id="MAPPING_NAME" name="DOC_NAME" value="<?php echo esc_attr($item['DOC_NAME'])?>" placeholder="Enter Project Name..." oninput="this.className = ''"   style="width:100% !important; padding:10px  !important;">
                    </p>
                  </div>
                  <div class="tab">Select Your Document:
                    <div id="loading_dialog" style="display: none;">
                        <iframe src="https://player.vimeo.com/video/324131487" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
                    </div>
                    <p><?php echo $this->media_lib_uploader_field('DOC_CONTENT','',esc_attr($item['DOC_URL'])) ?></p>
                  </div>
                  <div class="tab">Select Viewing / Download Option:
                    <div id="loading_dialog" style="display: none;">
                        <iframe src="https://player.vimeo.com/video/324131499" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
                    </div>
                    <p>
                        <select name="DISPLAY_AS" oninput="this.className = ''" >
                          <option value="Download" <?php echo $downloadSelected ?> >Download PDF</option>
                          <option value="Display"  <?php echo $displaySelected ?> >Display PDF In Browser</option>
                        </select>
                    </p>
                  </div>

                  <div class="tab">Use Basic / Advanced Settings:
                    <div id="loading_dialog" style="display: none;">
                        <iframe src="https://player.vimeo.com/video/324131505" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
                    </div>
                    <p>
                        <select  id="QUERYSTR_OR_WEBFORM" name="QUERYSTR_OR_WEBFORM"  oninput="this.className = ''" >
                          <option value="WEBFORM"  <?php echo $webformSelected ?> >Basic Method - HTML Web Form</option>
                          <option value="QUERYSTR" <?php echo $querystrSelected ?> >Advanced Method - URL Query String</option>
                        </select>
                    </p>
                    <div <?php echo $isWebformCSS ?>  id="FORM_FIELD_NAME_TR">Enter Merge Field Details:
                        <p><table><tr><td><font size="2">Enter Label:</font></td><td><font size="2">Enter Merge Tag:</font></td><td><font size="2">Enter Default Value For Merge Tag:</font></td><td><font size="2">Text or Image:</font></td></tr><tr><td><input type=text id="FORM_FIELD_LABEL_NAME[]" name="FORM_FIELD_LABEL_NAME[]" value="" placeholder="Merge Field Label..." oninput="this.className = ''" style="width:100%; padding:10px;" class="merge_field_text_field"></td>
                                <td><input type=text id="FORM_FIELD_NAME[]" name="FORM_FIELD_NAME[]" value="" placeholder="Merge Field Tag Name..." oninput="this.className = ''" style="width:100%; padding:10px;" class="merge_field_text_field"></td>
                                <td><input type=text id="FORM_FIELD_DEFAULT_PARAMETERS[]" name="FORM_FIELD_DEFAULT_PARAMETERS[]" value="" placeholder="Default Value" oninput="this.className = ''" style="width:100%; padding:10px;" class="merge_field_text_field"></td>
                                <td>
                                    <select  id="FORM_FIELD_TEXT_IMAGE_PARAMETERS[]" name="FORM_FIELD_TEXT_IMAGE_PARAMETERS[]"   oninput="this.className = ''" style="width:100%; padding:10px;" class="merge_field_text_field" >
                                      <option value="TEXT">Text</option>
                                      <option value="IMAGE">Image</option>
                                    </select>
                                </td></tr></table>
                        <a id="ADD_FORM_FIELD_NAME_TR"><img src="<?php echo plugin_dir_url(__FILE__)?>plus.png"  height=5% width=5%></img></a>
                        <a id="REMOVE_FORM_FIELD_NAME_TR"><img src="<?php echo plugin_dir_url(__FILE__)?>minus.png"  height=5% width=5%></img></a></p>
                    </div>
                  </div>

                  <div class="tab">Select Download Button:
                    <div id="loading_dialog" style="display: none;">
                        <iframe src="https://player.vimeo.com/video/324131520" width="640" height="360" frameborder="0" webkitallowfullscreen mozallowfullscreen allowfullscreen></iframe>
                    </div>
                    <p><?php echo $this->media_lib_uploader_field_image('SUBMIT_IMAGE','',esc_attr($item['SUBMIT_IMAGE']))?></p>
                    <p><input id="SUBMIT_LABEL" name="SUBMIT_LABEL" value="<?php echo esc_attr($item['SUBMIT_LABEL']) ?>" placeholder="Enter Submit Button Text Here..." oninput="this.className = ''"   style="width:100% !important; padding:10px  !important;"></p>
                  </div>
                  <input type=hidden id="form_parameters_hidden" name="form_parameters_hidden" value="<?php echo $item['FORM_PARAMETERS']?>">
                  <input type=hidden id="form_parameter_labels_hidden" name="form_parameter_labels_hidden" value="<?php echo $item['FORM_PARAMETER_LABELS']?>">
                  <input type=hidden id="form_default_parameters_hidden" name="form_default_parameters_hidden" value="<?php echo $item['FORM_DEFAULT_PARAMETERS']?>">
                  <input type=hidden id="form_text_image_parameters_hidden" name="form_text_image_parameters_hidden" value="<?php echo $item['FORM_TEXT_IMAGE_PARAMETERS']?>">

                  <input type=hidden id="rebrandio_mapping_setting" name="rebrandio_mapping_setting" value="Basic">
                  <div style="overflow:auto;">
                    <div style="float:right;">
                      <button type="button" id="prevBtn" onclick="nextPrev(-1)">Previous</button>
                      <button type="button" id="nextBtn" onclick="nextPrev(1)">Next</button>
                      <button type="Submit" id="submitBtn" style="display:none;">Submit</button>
                    </div>
                  </div>

                <script>
                    var currentTab = 0; // Current tab is set to be the first tab (0)
                    showTab(currentTab); // Display the current tab

                    function showTab(n) {
                      // This function will display the specified tab of the form...
                      var x = document.getElementsByClassName("tab");
                      x[n].style.display = "block";
                      //... and fix the Previous/Next buttons:
                      if (n == 0) {
                        document.getElementById("prevBtn").style.display = "none";
                      } else {
                        document.getElementById("prevBtn").style.display = "inline";
                      }
                      if (n == (x.length - 1)) {
                        //document.getElementById("nextBtn").innerHTML = "Save";
                        document.getElementById("submitBtn").style.display = "inline";
                        document.getElementById("nextBtn").style.display = "none";
                      } else {
                        document.getElementById("nextBtn").style.display = "inline";
                        document.getElementById("nextBtn").innerHTML = "Next";
                        document.getElementById("submitBtn").style.display = "none";
                      }
                      //... and run a function that will display the correct step indicator:
                      fixStepIndicator(n)
                    }

                    function nextPrev(n) {
                      // This function will figure out which tab to display
                      var x = document.getElementsByClassName("tab");
                      // Exit the function if any field in the current tab is invalid:
                      if (n == 1 && !validateForm()) return false;
                      // Hide the current tab:
                      x[currentTab].style.display = "none";
                      // Increase or decrease the current tab by 1:
                      currentTab = currentTab + n;
                      // if you have reached the end of the form...
                      if (currentTab >= x.length) {
                        // ... the form gets submitted:
                        document.getElementById("regForm").submit();
                        return false;
                      }
                      // Otherwise, display the correct tab:
                      showTab(currentTab);
                    }

                    function validateForm() {
                      // This function deals with validation of the form fields
                      var x, y, i, valid = true;
                      x = document.getElementsByClassName("tab");
                      y = x[currentTab].getElementsByTagName("input");
                      var modeOfOperation = document.getElementById("QUERYSTR_OR_WEBFORM").value;
                      // A loop that checks every input field in the current tab:
                      for (i = 0; i < y.length; i++) {
                        // If a field is empty...
                        if (y[i].value == "" && y[i].className != "rebrandio_hidden" && modeOfOperation == "WEBFORM") {
                          // add an "invalid" class to the field:
                          y[i].className += " invalid";
                          // and set the current valid status to false
                          valid = false;
                        }
                      }

                      // If the valid status is true, mark the step as finished and valid:
                      if (valid) {
                        document.getElementsByClassName("step")[currentTab].className += " finish";
                      }
                      return valid; // return the valid status
                    }

                    function fixStepIndicator(n) {
                      // This function removes the "active" class of all steps...
                      var i, x = document.getElementsByClassName("step");

                      for (i = 0; i < x.length; i++) {
                        //x[i].className = x[i].className.replace(" active", "");
                        x[i].style.display = "none";
                      }
                      //... and adds the "active" class on the current step:
                      x[n].className += " active";
                      x[n].style.display = "inline";
                    }
                </script>
        <?php
    }
}

$AffiliateWordToPDFPixie = new AffiliateWordToPDFPixie();

Did this file decode correctly?

Original Code

eval(str_rot13(gzinflate(str_rot13(base64_decode('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')))));

Function Calls

strrev 3
gzinflate 11
str_rot13 11
gzuncompress 4
rawurldecode 1
base64_decode 18

Variables

None

Stats

MD5 5928b505761094258c3d0f5f363c888b
Eval Count 16
Decode Time 1022 ms