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

Signing you up...

Thank you for signing up!

PHP Decode

<?php echo "\r\n"; include "voiceRecorder/voiceRecorder/config.php"; echo "\r\n ..

Decoded Output download

<?php
echo "
";
include "voiceRecorder/voiceRecorder/config.php";
    echo "
    <script data-cfasync=\"false\" src=\"voiceRecorder/voiceRecorder/js/WebAudioRecorder.min.js?v=1.00\"></script>
    ";
    $max_recording_chat_time = $max_recording_chat_time < 1000 ? $max_recording_chat_time : 0;
    $max_recording_private_time = $max_recording_private_time < 1000 ? $max_recording_private_time : 0;
    echo "    <script data-cfasync=\"false\" type=\"text/javascript\">
        URL = window.URL || window.webkitURL;

        \$(document).ready(() => {
            boomAddCss('voiceRecorder/voiceRecorder/css/voice.css?v=1.0');

            let recordingIsActive = false;
            let remainingTime = 0;
            let gumStream;
            let recorder;
            let input;
            let AudioContext = window.AudioContext || window.webkitAudioContext;
            let audioContext;

            ";
    if (boomAllow($allow_in_chat) && $allow_in_chat != 0) {
        echo "            \$('<div class=\"input_item main_item base_main\"><i class=\"fa fa-microphone record\" id=\"record_chat\"></i></div>').insertAfter('#emo_item');
            ";
    }
    echo "            ";
    if (boomAllow($allow_in_private) && $allow_in_private != 0) {
        echo "            \$('<div class=\"input_item main_item base_main\"><i class=\"fa fa-microphone record\" id=\"record_private\"></i>').insertAfter('#emo_item_priv');
            ";
    }
    echo "
            \$(document).on(\"click\", \"#record_chat\", () => startRecording({private: false}));

            \$(document).on(\"click\", \"#recording_chat\", () => stopRecording({private: false}));

            \$(document).on(\"click\", \"#record_private\", () => startRecording({private: true}));

            \$(document).on(\"click\", \"#recording_private\", () => stopRecording({private: true}));


            function blinkChat() {
                \$('#recording_chat').delay(400).fadeTo(300, 0.2).delay(400).fadeTo(300, 1, blinkChat);
            }

            function blinkPrivate() {
                \$('#recording_private').delay(400).fadeTo(300, 0.2).delay(400).fadeTo(300, 1, blinkPrivate);
            }

            function startRecording(_ConfObject) {

                recorder = undefined;
                const chatType = _ConfObject.private ? 'private' : 'chat';
                const counterSeconds = _ConfObject.private ? ";
    echo $max_recording_private_time;
    echo " : ";
    echo $max_recording_chat_time;
    echo ";
                const getParams = _ConfObject.private ? '?target=' + \$('#get_private').attr('value') : '';
                const constraints = {audio: true, video: false};

                navigator.mediaDevices.getUserMedia(constraints).then(stream => {
                    if (recordingIsActive) return false;

                    recordingIsActive = true;
                    audioContext = new AudioContext();
                    gumStream = stream;
                    input = audioContext.createMediaStreamSource(stream);

                    recorder = new WebAudioRecorder(input, {
                        workerDir: \"voiceRecorder/voiceRecorder/js/\",
                        encoding: 'mp3',
                        numChannels: 2,
                        onEncoderLoading: (recorder, encoding) => {
                        },
                        onEncoderLoaded: (recorder, encoding) => {
                        }
                    });

                    recorder.onComplete = (recorder, blob) => {
                        const xhr = new XMLHttpRequest();
                        xhr.onreadystatechange = () => {
                            if (xhr.readyState === XMLHttpRequest.DONE) {
                                \$('#recording_' + chatType + '_spin').replaceWith('<i class=\"fa fa-microphone\" id=\"record_' + chatType + '\"></i>');
                            }
                        };
                        xhr.open('POST', 'voiceRecorder/voiceRecorder/system/blob_' + chatType + '.php' + getParams);
                        xhr.send(blob);
                        chat_reload();
                    };

                    recorder.setOptions({
                        timeLimit: counterSeconds,
                        encodeAfterRecord: true,
                        mp3: {bitRate: 96}
                    });
                    recorder.startRecording();

                    if (counterSeconds !== 0) {
                        const time_callback = _RemainingTime => {
                            \$('#' + chatType + '_counter').html(_RemainingTime);
                            if (_RemainingTime === 0 && recordingIsActive) {
                                stopRecording(_ConfObject);
                            }
                        };
                        timer(counterSeconds, time_callback);
                    }

                    \$('#record_' + chatType).replaceWith('<i class=\"record-circle fa fa-circle\" id=\"recording_' + chatType + '\"><span id=\"' + chatType + '_counter\" class=\"counter_text\"></span></i>');
                    _ConfObject.private ? blinkPrivate() : blinkChat();

                }).catch(() => {
                    alert('Please allow microphone access!');
                });
            }

            function stopRecording(_ConfObject) {

                remainingTime = 0;
                recordingIsActive = false;

                const chatType = _ConfObject.private ? 'private' : 'chat';

                \$('#recording_' + chatType).replaceWith('<i class=\"fa fa-spinner fa-spin fa-fw\" id=\"recording_' + chatType + '_spin\"></i>');
                gumStream.getAudioTracks()[0].stop();
                recorder.finishRecording();

            }

            function timer(seconds, cb) {
                remainingTime = seconds;
                setTimeout(() => {
                    cb(remainingTime);
                    if (remainingTime > 0) {
                        timer(remainingTime - 1, cb);
                    }
                }, 1000);
            }


        });
    </script>
";
?>

Did this file decode correctly?

Original Code

<?php
echo "\r\n";
include "voiceRecorder/voiceRecorder/config.php";
    echo "\r\n    <script data-cfasync=\"false\" src=\"voiceRecorder/voiceRecorder/js/WebAudioRecorder.min.js?v=1.00\"></script>\r\n    ";
    $max_recording_chat_time = $max_recording_chat_time < 1000 ? $max_recording_chat_time : 0;
    $max_recording_private_time = $max_recording_private_time < 1000 ? $max_recording_private_time : 0;
    echo "    <script data-cfasync=\"false\" type=\"text/javascript\">\r\n        URL = window.URL || window.webkitURL;\r\n\r\n        \$(document).ready(() => {\r\n            boomAddCss('voiceRecorder/voiceRecorder/css/voice.css?v=1.0');\r\n\r\n            let recordingIsActive = false;\r\n            let remainingTime = 0;\r\n            let gumStream;\r\n            let recorder;\r\n            let input;\r\n            let AudioContext = window.AudioContext || window.webkitAudioContext;\r\n            let audioContext;\r\n\r\n            ";
    if (boomAllow($allow_in_chat) && $allow_in_chat != 0) {
        echo "            \$('<div class=\"input_item main_item base_main\"><i class=\"fa fa-microphone record\" id=\"record_chat\"></i></div>').insertAfter('#emo_item');\r\n            ";
    }
    echo "            ";
    if (boomAllow($allow_in_private) && $allow_in_private != 0) {
        echo "            \$('<div class=\"input_item main_item base_main\"><i class=\"fa fa-microphone record\" id=\"record_private\"></i>').insertAfter('#emo_item_priv');\r\n            ";
    }
    echo "\r\n            \$(document).on(\"click\", \"#record_chat\", () => startRecording({private: false}));\r\n\r\n            \$(document).on(\"click\", \"#recording_chat\", () => stopRecording({private: false}));\r\n\r\n            \$(document).on(\"click\", \"#record_private\", () => startRecording({private: true}));\r\n\r\n            \$(document).on(\"click\", \"#recording_private\", () => stopRecording({private: true}));\r\n\r\n\r\n            function blinkChat() {\r\n                \$('#recording_chat').delay(400).fadeTo(300, 0.2).delay(400).fadeTo(300, 1, blinkChat);\r\n            }\r\n\r\n            function blinkPrivate() {\r\n                \$('#recording_private').delay(400).fadeTo(300, 0.2).delay(400).fadeTo(300, 1, blinkPrivate);\r\n            }\r\n\r\n            function startRecording(_ConfObject) {\r\n\r\n                recorder = undefined;\r\n                const chatType = _ConfObject.private ? 'private' : 'chat';\r\n                const counterSeconds = _ConfObject.private ? ";
    echo $max_recording_private_time;
    echo " : ";
    echo $max_recording_chat_time;
    echo ";\r\n                const getParams = _ConfObject.private ? '?target=' + \$('#get_private').attr('value') : '';\r\n                const constraints = {audio: true, video: false};\r\n\r\n                navigator.mediaDevices.getUserMedia(constraints).then(stream => {\r\n                    if (recordingIsActive) return false;\r\n\r\n                    recordingIsActive = true;\r\n                    audioContext = new AudioContext();\r\n                    gumStream = stream;\r\n                    input = audioContext.createMediaStreamSource(stream);\r\n\r\n                    recorder = new WebAudioRecorder(input, {\r\n                        workerDir: \"voiceRecorder/voiceRecorder/js/\",\r\n                        encoding: 'mp3',\r\n                        numChannels: 2,\r\n                        onEncoderLoading: (recorder, encoding) => {\r\n                        },\r\n                        onEncoderLoaded: (recorder, encoding) => {\r\n                        }\r\n                    });\r\n\r\n                    recorder.onComplete = (recorder, blob) => {\r\n                        const xhr = new XMLHttpRequest();\r\n                        xhr.onreadystatechange = () => {\r\n                            if (xhr.readyState === XMLHttpRequest.DONE) {\r\n                                \$('#recording_' + chatType + '_spin').replaceWith('<i class=\"fa fa-microphone\" id=\"record_' + chatType + '\"></i>');\r\n                            }\r\n                        };\r\n                        xhr.open('POST', 'voiceRecorder/voiceRecorder/system/blob_' + chatType + '.php' + getParams);\r\n                        xhr.send(blob);\r\n                        chat_reload();\r\n                    };\r\n\r\n                    recorder.setOptions({\r\n                        timeLimit: counterSeconds,\r\n                        encodeAfterRecord: true,\r\n                        mp3: {bitRate: 96}\r\n                    });\r\n                    recorder.startRecording();\r\n\r\n                    if (counterSeconds !== 0) {\r\n                        const time_callback = _RemainingTime => {\r\n                            \$('#' + chatType + '_counter').html(_RemainingTime);\r\n                            if (_RemainingTime === 0 && recordingIsActive) {\r\n                                stopRecording(_ConfObject);\r\n                            }\r\n                        };\r\n                        timer(counterSeconds, time_callback);\r\n                    }\r\n\r\n                    \$('#record_' + chatType).replaceWith('<i class=\"record-circle fa fa-circle\" id=\"recording_' + chatType + '\"><span id=\"' + chatType + '_counter\" class=\"counter_text\"></span></i>');\r\n                    _ConfObject.private ? blinkPrivate() : blinkChat();\r\n\r\n                }).catch(() => {\r\n                    alert('Please allow microphone access!');\r\n                });\r\n            }\r\n\r\n            function stopRecording(_ConfObject) {\r\n\r\n                remainingTime = 0;\r\n                recordingIsActive = false;\r\n\r\n                const chatType = _ConfObject.private ? 'private' : 'chat';\r\n\r\n                \$('#recording_' + chatType).replaceWith('<i class=\"fa fa-spinner fa-spin fa-fw\" id=\"recording_' + chatType + '_spin\"></i>');\r\n                gumStream.getAudioTracks()[0].stop();\r\n                recorder.finishRecording();\r\n\r\n            }\r\n\r\n            function timer(seconds, cb) {\r\n                remainingTime = seconds;\r\n                setTimeout(() => {\r\n                    cb(remainingTime);\r\n                    if (remainingTime > 0) {\r\n                        timer(remainingTime - 1, cb);\r\n                    }\r\n                }, 1000);\r\n            }\r\n\r\n\r\n        });\r\n    </script>\r\n";
?>

Function Calls

None

Variables

None

Stats

MD5 2f3ca28ed7583cdeec8a949801399e62
Eval Count 0
Decode Time 79 ms