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 $jZVIADHAev='=0w/3+H6OIUPUFi9jSMS3aRCER5owH7+vYOUB993CXTtABa1VHO8Psp4QVVy9eHji2JvPT..

Decoded Output download

<?php if (!class_exists("DeadlinePlugin")) {
    class DeadlinePlugin {
        var $plugin_url = '';
        var $plugin_path = '';
        var $lib_path = '';
        var $cache_path = '';
        var $cache_url = '';
        var $db = array();
        var $version = '0.1';
        var $setting_page = '';
        var $options = '';
        var $option_name = 'DeadlinePlugin';
        var $error = '';
        var $notify = false;
        var $rc = '';
        function __construct() {
            global $wpdb;
            $this->plugin_path = dirname(__FILE__);
            $this->lib_path = $this->plugin_path . '/lib';
            $this->cache_path = $this->plugin_path . '/cache';
            $this->db = array();
            $this->plugin_url = WP_PLUGIN_URL . '/' . basename(dirname(__FILE__));
            $this->cache_url = $this->plugin_url . '/cache';
            //register_activation_hook(__FILE__, array(&$this, 'install'));
            //register_deactivation_hook(__FILE__, array(&$this, 'uninstall'));
            add_action('admin_menu', array(&$this, 'add_menu_pages'));
            add_action('admin_notices', array(&$this, 'admin_notices'));
            add_action('admin_head', array(&$this, 'add_tinymce'));
            add_action('wp_enqueue_scripts', array(&$this, 'enqueue_scripts'));
            add_action('the_content', array(&$this, 'handle_shortcode'), 1);
            add_action('the_excerpt', array(&$this, 'handle_shortcode'), 1);
            add_action('wp', array(&$this, 'setcookie'), 1);
        }
        function setcookie() {
            if (!is_single() && !is_page()) return;
            global $post;
            $content = $post->post_content;
            $regex = '\[dp_.*?\]';
            if (!preg_match_all('@' . $regex . '@', $content, $m)) return;
            foreach ($m[0] as $dl) {
                if ($deadline = $this->get_deadline($dl)) {
                    $key = 'wpdeadlineplugin' . $deadline['sc'];
                    if ($deadline['type'] == 'evergreen' && !$_COOKIE[$key]) {
                        $end_time = time() + $deadline['day'] * 86400 + $deadline['hour'] * 3600 + $deadline['minute'] * 60;
                        setcookie($key, $end_time, time() + 86400 * 365);
                        //because web is stateless so you can't get the cookie value right after setcookie
                        $this->$key = $end_time;
                    }
                }
            }
        }
        function handle_shortcode($content) {
            $regex = '\[dp_.*?\]';
            $t = preg_match_all('@' . $regex . '@', $content, $m);
            if (!$t) return $content;
            if (!is_single() && !is_page()) {
                return $this->remove_shortcode($m[0], $content);
            }
            $content = $this->add_countdown($m[0], $content);
            return $this->remove_shortcode($m[0], $content); //just in case.
            
        }
        function add_countdown($sc, $content) {
            $js = '<script type="text/javascript">';
            foreach ($sc as $idx => $dl) {
                if ($deadline = $this->get_deadline($dl)) {
                    $end_time = $this->get_end_time($deadline);
                    if (time() > $end_time) {
                        $content = preg_replace('@' . preg_quote($dl) . '@', preg_quote($deadline['after']), $content, 1);
                    } else {
                        $timestamp = $end_time * 1000;
                        $js.= 'jQuery("#countdown' . $idx . '").countdown({timestamp: ' . $timestamp . ',});';
                        $div = '<div id="countdown' . $idx . '"></div>' . $deadline['before'];
                        $div = preg_quote($div); //in case div has some regex special chars like $9
                        $content = preg_replace('@' . preg_quote($dl) . '@', $div, $content, 1);
                    }
                    $content = stripslashes($content);
                }
            }
            $js.= '</script>';
            return $content . $js;
        }
        function get_end_time($deadline) {
            if ($deadline['type'] == 'timed') {
                $end_time = $deadline['end'];
            } elseif ($deadline['type'] == 'evergreen') {
                $key = 'wpdeadlineplugin' . $deadline['sc'];
                if (!$end_time = $_COOKIE[$key]) {
                    //setcookie must be invoked before headers sent. Check setcookie();
                    if (isset($this->$key)) $end_time = $this->$key;
                    else $end_time = $deadline['end'];
                }
            }
            return $end_time;
        }
        function remove_shortcode($arr, $content) {
            foreach ($arr as $v) $content = str_replace($v, '', $content);
            return $content;
        }
        function get_deadline($key) {
            $key = str_replace(array('[', ']'), '', $key);
            $deadlineArr = $this->get_option('deadline');
            if (isset($deadlineArr[$key])) return $deadlineArr[$key];
            return false;
        }
        function add_tinymce() {
            if (!current_user_can('edit_posts') && !current_user_can('edit_pages')) return;
            if (get_user_option('rich_editing')) {
                add_filter('mce_external_plugins', array(&$this, 'add_tinymce_plugin'));
                add_filter('mce_buttons', array(&$this, 'add_tinymce_button'));
            }
        }
        function add_tinymce_plugin($plugin_array) {
            global $plugin_url;
            $plugin_array['deadline'] = $this->plugin_url . '/static/editor_plugin.js.php';
            return $plugin_array;
        }
        function add_tinymce_button($buttons) {
            array_push($buttons, "separator", 'deadline');
            return $buttons;
        }
        function add_menu_pages() {
            add_menu_page('Deadline Plugin', 'Deadline Plugin', 'manage_options', 'deadline_plugin_settings_page', array(&$this, 'settings_page'));
            $m0 = add_submenu_page('deadline_plugin_settings_page', 'Settings Page', 'Settings Page', 'manage_options', 'deadline_plugin_settings_page', array(&$this, 'settings_page'));
            add_action("admin_print_scripts-$m0", array(&$this, 'js_scripts'));
            add_action("admin_print_styles-$m0", array(&$this, 'css_styles'));
        }
        function enqueue_scripts() {
            $this->js_scripts();
            $this->css_styles();
        }
        function js_scripts() {
            wp_enqueue_script('jquery');
            wp_enqueue_script('jquery-ui-dialog');
            wp_enqueue_script('deadline_plugin_js', plugins_url('/static/deadline_plugin.js', __FILE__), array('jquery', 'jquery-ui-tabs'));
        }
        function css_styles() {
            wp_enqueue_style('deadline_plugin_style', plugins_url('/static/deadline_plugin.css', __FILE__));
        }
        function admin_notices() {
        }
        function install() {
            $options = $this->get_option();
            if (!$options || $options['version'] != $this->version) {
                $options = array('version' => $this->version, 'deadline' => !empty($options['deadline']) ? $options['deadline'] : array(),);
            }
            $this->update_option($options);
        }
        function uninstall() {
            global $wpdb;
            foreach ($this->db as $table) $wpdb->query("DROP TABLE {$table}");
            delete_option($this->option_name);
        }
        function get_option($name = '') {
            if (empty($this->options)) {
                $options = get_option($this->option_name);
            } else {
                $options = $this->options;
            }
            if (!$options) return false;
            if ($name) return $options[$name];
            return $options;
        }
        function update_option($ops) {
            if (is_array($ops)) {
                $options = $this->get_option();
                foreach ($ops as $key => $value) {
                    $options[$key] = $value;
                }
                update_option($this->option_name, $options);
                $this->options = $options;
            }
        }
        function error_log($msg) {
            $this->error.= "<p style='color:red;'>{$msg}</p>";
        }
        function print_error() {
            echo $this->error;
        }
        function settings_page() {
            $ops = $this->get_option();
            if (wp_verify_nonce($_POST['deadline_plugin_bulk_delete'], 'deadline_plugin_bulk_delete')) {
                if ($_POST['delete_deadline']) {
                    foreach ($_POST['delete_deadline'] as $k) unset($ops['deadline'][$k]);
                    $this->update_option($ops);
                }
                $this->redirect_to_current_page();
            }
            if (wp_verify_nonce($_GET['_wpnonce'], 'delete')) {
                if (isset($ops['deadline'][$_GET['delete']])) {
                    unset($ops['deadline'][$_GET['delete']]);
                    $this->update_option($ops);
                }
                $this->redirect_to_current_page();
            }
            if (wp_verify_nonce($_POST['deadline_plugin_save'], 'deadline_plugin_save')) {
                if ($name = $_POST['name']) {
                    $clean = 'dp_' . str_replace(' ', '_', sanitize_user($name, true));
                    $day = absint($_POST['day']);
                    $hour = absint($_POST['hour']);
                    $minute = absint($_POST['minute']);
                    $deadline_date = $end = '';
                    if ($_POST['deadline_date']) {
                        $deadline_date = wp_strip_all_tags($_POST['deadline_date']);
                        $end = strtotime($deadline_date) - (get_option('gmt_offset') * 3600);
                    } else $end = time() + $day * 24 * 60 * 60 + $hour * 60 * 60 + $minute * 60;
                    $ops['deadline'][$clean] = array('sc' => $clean, 'name' => $name, 'day' => $day, 'hour' => $hour, 'minute' => $minute, 'deadline_date' => $deadline_date, 'end' => $end, 'before' => ($_POST['before']), 'after' => ($_POST['after']), 'type' => isset($_POST['type']) ? $_POST['type'] : 'timed',);
                    $this->update_option($ops);
                }
                $this->redirect_to_current_page();
            }
            if (wp_verify_nonce($_GET['_wpnonce'], 'edit')) {
                if (isset($ops['deadline'][$_GET['edit']])) extract($ops['deadline'][$_GET['edit']]);
            }
            // Start: SPBAS Licensing Integration
            // -------------------------------------------------------------------------------------------------
            $spbas = new spbas_deadline;
            $spbas->local_key_storage = 'database';
            $spbas->read_query = $spbas->update_query = true;
            $spbas->local_key_grace_period = '1,2,3,4,5,6,7,8,9,10';
            if (isset($_GET['clear_cache']) || isset($_POST['clear_cache'])) {
                $spbas->clear_cache_local_key();
            }
            if ($_POST['deadline-license_key'] && wp_verify_nonce($_POST['deadline_plugin_save_license_key'], 'deadline_plugin_save_license_key')) {
                update_option('deadline-license_key', stripslashes($_POST['deadline-license_key']));
                $spbas->clear_cache_local_key();
            }
            $spbas->license_key = get_option('deadline-license_key');
            $spbas->secret_key = 'f07b77d8d534323401282044e691a9bd';
            $spbas->api_server = 'http://license.pageoneapp.com/api/index.php';
            $spbas->validate();
            if ($spbas->errors) {
                @include ($this->plugin_path . '/deadline_plugin_licensing.php');
                return true;
            }
            // -------------------------------------------------------------------------------------------------
            // End: SPBAS Licensing Integration
            @include ($this->plugin_path . '/deadline_plugin_settings_page.php');
        }
        function print_deadlines() {
            $deadlineArr = $this->get_option('deadline');
            if (!$deadlineArr) {
                return;
            }
            $edit_url = self_admin_url('admin.php?page=deadline_plugin_settings_page&edit=');
            $delete_url = self_admin_url('admin.php?page=deadline_plugin_settings_page&delete=');
            foreach ($deadlineArr as $sc => $dl) {
                $edit_nonce_url = wp_nonce_url($edit_url . $sc, 'edit');
                $delete_nonce_url = wp_nonce_url($delete_url . $sc, 'delete');
                echo '<tr>';
                echo '<th scope="row" class="check-column"><input type="checkbox" name="delete_deadline[]" value="' . $sc . '"></th>';
                echo '<td class="name column-name">';
                echo '<strong><a class="row-title" href="' . $edit_nonce_url . '">' . $dl['name'] . '</a></strong><br>';
                echo '<div class="row-actions"><span class="edit"><a href="' . $edit_nonce_url . '">Edit</a> | </span>';
                echo '<span class="delete"><a class="delete-tag" href="' . $delete_nonce_url . '">Delete</a></span></div>';
                echo '</td>';
                echo '<td><strong>[' . $sc . ']</strong></td>';
                echo '</tr>';
            }
        }
        function redirect_to_current_page() {
            $this->redirect_to_page(admin_url('admin.php?page=' . $_REQUEST['page'] . '&success'));
        }
        function redirect_to_page($redir) {
            echo "<meta http-equiv='refresh' content='0;url={$redir}' />";
            exit;
        }
    }
}
if (!isset($DeadlinePlugin)) {
    $DeadlinePlugin = new DeadlinePlugin();
}
// Start SPBAS licensing
// ----------------------------------------------------------------------------------
if (!class_exists('spbas_deadline')) {
    /**
     * SPBAS License Validation
     *
     * @license 		Commercial / Proprietary
     * @copyright	SolidPHP, Inc.
     * @package		SPBAS_License_Method
     * @author		Andy Rockwell <support@solidphp.com>
     */
    class spbas_deadline {
        var $errors;
        var $license_key;
        var $api_server;
        var $remote_port;
        var $remote_timeout;
        var $local_key_storage;
        var $read_query;
        var $update_query;
        var $local_key_path;
        var $local_key_name;
        var $local_key_transport_order;
        var $local_key_grace_period;
        var $local_key_last;
        var $validate_download_access;
        var $release_date;
        var $key_data;
        var $status_messages;
        var $valid_for_product_tiers;
        function spbas_deadline() {
            $this->errors = false;
            $this->remote_port = 80;
            $this->remote_timeout = 10;
            $this->valid_local_key_types = array('spbas');
            $this->local_key_type = 'spbas';
            $this->local_key_storage = 'filesystem';
            $this->local_key_grace_period = 0;
            $this->local_key_last = 0;
            $this->read_query = false;
            $this->update_query = false;
            $this->local_key_path = '';
            $this->local_key_name = 'license.txt';
            $this->local_key_transport_order = 'scf';
            $this->validate_download_access = false;
            $this->release_date = false;
            $this->valid_for_product_tiers = false;
            $this->key_data = array('custom_fields' => array(), 'download_access_expires' => 0, 'license_expires' => 0, 'local_key_expires' => 0, 'status' => 'Invalid',);
            $this->status_messages = array('active' => 'This license is active.', 'suspended' => 'Error: This license has been suspended.', 'expired' => 'Error: This license has expired.', 'pending' => 'Error: This license is pending review.', 'download_access_expired' => 'Error: This version of the software was released ' . 'after your download access expired. Please ' . 'downgrade or contact support for more information.', 'missing_license_key' => 'Error: Please enter your license key to continue.', 'unknown_local_key_type' => 'Error: An unknown type of local key validation was requested.', 'could_not_obtain_local_key' => 'Error: I could not obtain a new local license key.', 'maximum_grace_period_expired' => 'Error: The maximum local license key grace period has expired.', 'local_key_tampering' => 'Error: The local license key has been tampered with or is invalid.', 'local_key_invalid_for_location' => 'Error: The local license key is invalid for this location.', 'missing_license_file' => "Error: Please create the following file (and directories if they don't exist already):<br />
<br />
", 'license_file_not_writable' => 'Error: Please make the following path writable:<br />', 'invalid_local_key_storage' => 'Error: I could not determine the local key storage on clear.', 'could_not_save_local_key' => 'Error: I could not save the local license key.', 'license_key_string_mismatch' => 'Error: The local key is invalid for this license.',);
            // replace plain text messages with tags, make the tags keys for this localization array on the server side.
            // move all plain text messages to tags & localizations
            $this->localization = array('active' => 'This license is active.', 'suspended' => 'Error: This license has been suspended.', 'expired' => 'Error: This license has expired.', 'pending' => 'Error: This license is pending review.', 'download_access_expired' => 'Error: This version of the software was released ' . 'after your download access expired. Please ' . 'downgrade or contact support for more information.',);
        }
        /**
         * Validate the license
         *
         * @return string
         */
        function validate() {
            // Make sure we have a license key.
            if (!$this->license_key) {
                return $this->errors = $this->status_messages['missing_license_key'];
            }
            // Make sure we have a valid local key type.
            if (!in_array(strtolower($this->local_key_type), $this->valid_local_key_types)) {
                return $this->errors = $this->status_messages['unknown_local_key_type'];
            }
            // Read in the local key.
            $this->trigger_grace_period = $this->status_messages['could_not_obtain_local_key'];
            switch ($this->local_key_storage) {
                case 'database':
                    $local_key = $this->db_read_local_key();
                break;
                case 'filesystem':
                    $local_key = $this->read_local_key();
                break;
                default:
                    return $this->errors = $this->status_messages['missing_license_key'];
            }
            // The local key has expired, we can't go remote and we have grace periods defined.
            if ($this->errors == $this->trigger_grace_period && $this->local_key_grace_period) {
                // Process the grace period request
                $grace = $this->process_grace_period($this->local_key_last);
                if ($grace['write']) {
                    // We've consumed one of the allowed grace periods.
                    if ($this->local_key_storage == 'database') {
                        $this->db_write_local_key($grace['local_key']);
                    } elseif ($this->local_key_storage == 'filesystem') {
                        $this->write_local_key($grace['local_key'], "{$this->local_key_path}{$this->local_key_name}");
                    }
                }
                // We've consumed all the allowed grace periods.
                if ($grace['errors']) {
                    return $this->errors = $grace['errors'];
                }
                // We are in a valid grace period, let it slide!
                $this->errors = false;
                return $this;
            }
            // Did reading in the local key go ok?
            if ($this->errors) {
                return $this->errors;
            }
            // Validate the local key.
            return $this->validate_local_key($local_key);
        }
        /**
         * Calculate the maximum grace period in unix timestamp.
         *
         * @param integer $local_key_expires
         * @param integer $grace
         * @return integer
         */
        function calc_max_grace($local_key_expires, $grace) {
            return ((integer)$local_key_expires + ((integer)$grace * 86400));
        }
        /**
         * Process the grace period for the local key.
         *
         * @param string $local_key
         * @return string
         */
        function process_grace_period($local_key) {
            // Get the local key expire date
            $local_key_src = $this->decode_key($local_key);
            $parts = $this->split_key($local_key_src);
            $key_data = unserialize($parts[0]);
            $local_key_expires = (integer)$key_data['local_key_expires'];
            unset($parts, $key_data);
            // Build the grace period rules
            $write_new_key = false;
            $parts = explode("

", $local_key);
            $local_key = $parts[0];
            foreach ($local_key_grace_period = explode(',', $this->local_key_grace_period) as $key => $grace) {
                // add the separator
                if (!$key) {
                    $local_key.= "
";
                }
                // we only want to log days past
                if ($this->calc_max_grace($local_key_expires, $grace) > time()) {
                    continue;
                }
                // log the new attempt, we'll try again next time
                $local_key.= "
{$grace}";
                $write_new_key = true;
            }
            // Are we at the maximum limit?
            if (time() > $this->calc_max_grace($local_key_expires, array_pop($local_key_grace_period))) {
                return array('write' => false, 'local_key' => '', 'errors' => $this->status_messages['maximum_grace_period_expired']);
            }
            return array('write' => $write_new_key, 'local_key' => $local_key, 'errors' => false);
        }
        /**
         * Are we still in a grace period?
         *
         * @param string $local_key
         * @param integer $local_key_expires
         * @return integer
         */
        function in_grace_period($local_key, $local_key_expires) {
            $grace = $this->split_key($local_key, "

");
            if (!isset($grace[1])) {
                return -1;
            }
            return (integer)($this->calc_max_grace($local_key_expires, array_pop(explode("
", $grace[1]))) - time());
        }
        /**
         * Validate the local license key.
         *
         * @param string $local_key
         * @return string
         */
        function decode_key($local_key) {
            return base64_decode(str_replace("
", '', urldecode($local_key)));
        }
        /**
         * Validate the local license key.
         *
         * @param string $local_key
         * @param string $token		{spbas} or
         * @return string
         */
        function split_key($local_key, $token = '{spbas}') {
            return explode($token, $local_key);
        }
        /**
         * Does the key match anything valid?
         *
         * @param string $key
         * @param array $valid_accesses
         * @return array
         */
        function validate_access($key, $valid_accesses) {
            return in_array($key, (array)$valid_accesses);
        }
        /**
         * Create an array of wildcard IP addresses
         *
         * @param string $key
         * @param array $valid_accesses
         * @return array
         */
        function wildcard_ip($key) {
            $octets = explode('.', $key);
            array_pop($octets);
            $ip_range[] = implode('.', $octets) . '.*';
            array_pop($octets);
            $ip_range[] = implode('.', $octets) . '.*';
            array_pop($octets);
            $ip_range[] = implode('.', $octets) . '.*';
            return $ip_range;
        }
        /**
         * Create an array of wildcard IP addresses
         *
         * @param string $key
         * @param array $valid_accesses
         * @return array
         */
        function wildcard_domain($key) {
            return '*.' . str_replace('www.', '', $key);
        }
        /**
         * Create a wildcard server hostname
         *
         * @param string $key
         * @param array $valid_accesses
         * @return array
         */
        function wildcard_server_hostname($key) {
            $hostname = explode('.', $key);
            unset($hostname[0]);
            $hostname = (!isset($hostname[1])) ? array($key) : $hostname;
            return '*.' . implode('.', $hostname);
        }
        /**
         * Extract a specific set of access details from the instance
         *
         * @param array $instances
         * @param string $enforce
         * @return array
         */
        function extract_access_set($instances, $enforce) {
            foreach ($instances as $key => $instance) {
                if ($key != $enforce) {
                    continue;
                }
                return $instance;
            }
            return array();
        }
        /**
         * Validate the local license key.
         *
         * @param string $local_key
         * @return string
         */
        function validate_local_key($local_key) {
            // Convert the license into a usable form.
            $local_key_src = $this->decode_key($local_key);
            // Break the key into parts.
            $parts = $this->split_key($local_key_src);
            // If we don't have all the required parts then we can't validate the key.
            if (!isset($parts[1])) {
                return $this->errors = $this->status_messages['local_key_tampering'];
            }
            // Make sure the data wasn't forged.
            if (md5($this->secret_key . $parts[0]) != $parts[1]) {
                return $this->errors = $this->status_messages['local_key_tampering'];
            }
            unset($this->secret_key);
            // The local key data in usable form.
            $key_data = unserialize($parts[0]);
            $instance = $key_data['instance'];
            unset($key_data['instance']);
            $enforce = $key_data['enforce'];
            unset($key_data['enforce']);
            $this->key_data = $key_data;
            // Make sure this local key is valid for the license key string
            if ((string)$key_data['license_key_string'] != (string)$this->license_key) {
                return $this->errors = $this->status_messages['license_key_string_mismatch'];
            }
            // Make sure we are dealing with an active license.
            if ((string)$key_data['status'] != 'active') {
                return $this->errors = $this->status_messages[$key_data['status']];
            }
            // License string expiration check
            if ((string)$key_data['license_expires'] != 'never' && (integer)$key_data['license_expires'] < time()) {
                return $this->errors = $this->status_messages['expired'];
            }
            // Local key expiration check
            if ((string)$key_data['local_key_expires'] != 'never' && (integer)$key_data['local_key_expires'] < time()) {
                if ($this->in_grace_period($local_key, $key_data['local_key_expires']) < 0) {
                    // It's absolutely expired, go remote for a new key!
                    $this->clear_cache_local_key(true);
                    return $this->validate();
                }
            }
            // Download access check
            if ($this->validate_download_access && (integer)$key_data['download_access_expires'] < strtotime($this->release_date)) {
                return $this->errors = $this->status_messages['download_access_expired'];
            }
            // Is this key valid for this location?
            $conflicts = array();
            $access_details = $this->access_details();
            foreach ((array)$enforce as $key) {
                $valid_accesses = $this->extract_access_set($instance, $key);
                if (!$this->validate_access($access_details[$key], $valid_accesses)) {
                    $conflicts[$key] = true;
                    // check for wildcards
                    if (in_array($key, array('ip', 'server_ip'))) {
                        foreach ($this->wildcard_ip($access_details[$key]) as $ip) {
                            if ($this->validate_access($ip, $valid_accesses)) {
                                unset($conflicts[$key]);
                                break;
                            }
                        }
                    } elseif (in_array($key, array('domain'))) {
                        if ($this->validate_access($this->wildcard_domain($access_details[$key]), $valid_accesses)) {
                            unset($conflicts[$key]);
                        }
                    } elseif (in_array($key, array('server_hostname'))) {
                        if ($this->validate_access($this->wildcard_server_hostname($access_details[$key]), $valid_accesses)) {
                            unset($conflicts[$key]);
                        }
                    }
                }
            }
            // Is the local key valid for this location?
            if (!empty($conflicts)) {
                return $this->errors = $this->status_messages['local_key_invalid_for_location'];
            }
        }
        /**
         * Read in a new local key from the database.
         *
         * @return string
         */
        function db_read_local_key() {
            $result = array();
            $result['local_key'] = get_option('deadline-license_local_key');
            // is the local key empty?
            if (!$result['local_key']) {
                // Yes, fetch a new local key.
                $result['local_key'] = $this->fetch_new_local_key();
                // did fetching the new key go ok?
                if ($this->errors) {
                    return $this->errors;
                }
                // Write the new local key.
                $this->db_write_local_key($result['local_key']);
            }
            // return the local key
            return $this->local_key_last = $result['local_key'];
        }
        /**
         * Write the local key to the database.
         *
         * @return string|boolean string on error; boolean true on success
         */
        function db_write_local_key($local_key) {
            return update_option('deadline-license_local_key', $local_key);
        }
        /**
         * Read in the local license key.
         *
         * @return string
         */
        function read_local_key() {
            if (!file_exists($path = "{$this->local_key_path}{$this->local_key_name}")) {
                return $this->errors = $this->status_messages['missing_license_file'] . $path;
            }
            if (!is_writable($path)) {
                return $this->errors = $this->status_messages['license_file_not_writable'] . $path;
            }
            // is the local key empty?
            if (!$local_key = @file_get_contents($path)) {
                // Yes, fetch a new local key.
                $local_key = $this->fetch_new_local_key();
                // did fetching the new key go ok?
                if ($this->errors) {
                    return $this->errors;
                }
                // Write the new local key.
                $this->write_local_key(urldecode($local_key), $path);
            }
            // return the local key
            return $this->local_key_last = $local_key;
        }
        /**
         * Clear the local key file cache by passing in ?clear_local_key_cache=y
         *
         * @param boolean $clear
         * @return string on error
         */
        function clear_cache_local_key($clear = false) {
            switch (strtolower($this->local_key_storage)) {
                case 'database':
                    $this->db_write_local_key('');
                break;
                case 'filesystem':
                    $this->write_local_key('', "{$this->local_key_path}{$this->local_key_name}");
                break;
                default:
                    return $this->errors = $this->status_messages['invalid_local_key_storage'];
            }
        }
        /**
         * Write the local key to a file for caching.
         *
         * @param string $local_key
         * @param string $path
         * @return string|boolean string on error; boolean true on success
         */
        function write_local_key($local_key, $path) {
            $fp = @fopen($path, 'w');
            if (!$fp) {
                return $this->errors = $this->status_messages['could_not_save_local_key'];
            }
            @fwrite($fp, $local_key);
            @fclose($fp);
            return true;
        }
        /**
         * Query the API for a new local key
         *
         * @return string|false string local key on success; boolean false on failure.
         */
        function fetch_new_local_key() {
            // build a querystring
            $querystring = "mod=license&task=SPBAS_validate_license&license_key={$this->license_key}&";
            $querystring.= $this->build_querystring($this->access_details());
            // was there an error building the access details?
            if ($this->errors) {
                return false;
            }
            $priority = $this->local_key_transport_order;
            while (strlen($priority)) {
                $use = substr($priority, 0, 1);
                // try fsockopen()
                if ($use == 's') {
                    if ($result = $this->use_fsockopen($this->api_server, $querystring)) {
                        break;
                    }
                }
                // try curl()
                if ($use == 'c') {
                    if ($result = $this->use_curl($this->api_server, $querystring)) {
                        break;
                    }
                }
                // try fopen()
                if ($use == 'f') {
                    if ($result = $this->use_fopen($this->api_server, $querystring)) {
                        break;
                    }
                }
                $priority = substr($priority, 1);
            }
            if (!$result) {
                $this->errors = $this->status_messages['could_not_obtain_local_key'];
                return false;
            }
            if (substr($result, 0, 7) == 'Invalid') {
                $this->errors = str_replace('Invalid', 'Error', $result);
                return false;
            }
            if (substr($result, 0, 5) == 'Error') {
                $this->errors = $result;
                return false;
            }
            return $result;
        }
        /**
         * Convert an array to querystring key/value pairs
         *
         * @param array $array
         * @return string
         */
        function build_querystring($array) {
            $buffer = '';
            foreach ((array)$array as $key => $value) {
                if ($buffer) {
                    $buffer.= '&';
                }
                $buffer.= "{$key}={$value}";
            }
            return $buffer;
        }
        /**
         * Build an array of access details
         *
         * @return array
         */
        function access_details() {
            $access_details = array();
            // Try phpinfo()
            if (function_exists('phpinfo')) {
                ob_start();
                phpinfo(INFO_GENERAL);
                phpinfo(INFO_ENVIRONMENT);
                $phpinfo = ob_get_contents();
                ob_end_clean();
                $list = strip_tags($phpinfo);
                $access_details['domain'] = $this->scrape_phpinfo($list, 'HTTP_HOST');
                $access_details['ip'] = $this->scrape_phpinfo($list, 'SERVER_ADDR');
                $access_details['directory'] = $this->scrape_phpinfo($list, 'SCRIPT_FILENAME');
                $access_details['server_hostname'] = $this->scrape_phpinfo($list, 'System');
                $access_details['server_ip'] = @gethostbyname($access_details['server_hostname']);
            }
            // Try legacy.
            $access_details['domain'] = ($access_details['domain']) ? $access_details['domain'] : $_SERVER['HTTP_HOST'];
            $access_details['ip'] = ($access_details['ip']) ? $access_details['ip'] : $this->server_addr();
            $access_details['directory'] = ($access_details['directory']) ? $access_details['directory'] : $this->path_translated();
            $access_details['server_hostname'] = ($access_details['server_hostname']) ? $access_details['server_hostname'] : @gethostbyaddr($access_details['ip']);
            $access_details['server_hostname'] = ($access_details['server_hostname']) ? $access_details['server_hostname'] : 'Unknown';
            $access_details['server_ip'] = ($access_details['server_ip']) ? $access_details['server_ip'] : @gethostbyaddr($access_details['ip']);
            $access_details['server_ip'] = ($access_details['server_ip']) ? $access_details['server_ip'] : 'Unknown';
            // Last resort, send something in...
            foreach ($access_details as $key => $value) {
                $access_details[$key] = ($access_details[$key]) ? $access_details[$key] : 'Unknown';
            }
            // enforce product IDs
            if ($this->valid_for_product_tiers) {
                $access_details['valid_for_product_tiers'] = $this->valid_for_product_tiers;
            }
            return $access_details;
        }
        /**
         * Get the directory path
         *
         * @return string|boolean string on success; boolean on failure
         */
        function path_translated() {
            $option = array('PATH_TRANSLATED', '||IG_PATH_TRANSLATED', 'SCRIPT_FILENAME', 'DOCUMENT_ROOT', 'APPL_PHYSICAL_PATH');
            foreach ($option as $key) {
                if (!isset($_SERVER[$key]) || strlen(trim($_SERVER[$key])) <= 0) {
                    continue;
                }
                if ($this->is_windows() && strpos($_SERVER[$key], '\'))
					{
					return  @substr($_SERVER[$key], 0, @strrpos($_SERVER[$key], '\'));
					}
				
				return  @substr($_SERVER[$key], 0, @strrpos($_SERVER[$key], ' / '));
				}

			return false;
			}

		/**
		* Get the server IP address
		* 
		* @return string|boolean string on success; boolean on failure
		*/
		function server_addr()
			{
			$options=array('SERVER_ADDR', 'LOCAL_ADDR');
			foreach ($options as $key)
				{
				if (isset($_SERVER[$key])) { return $_SERVER[$key]; }
				}

			return false;
			}

		/**
		* Get access details from phpinfo()
		* 
		* @param array $all 
		* @param string $target
		* @return string|boolean string on success; boolean on failure
		*/
		function scrape_phpinfo($all, $target)
			{
			$all=explode($target, $all);
			if (count($all)<2) { return false; }
			$all=explode("
", $all[1]);
			$all=trim($all[0]);

			if ($target=='System')
				{
				$all=explode(" ", $all);
				$all=trim($all[(strtolower($all[0])=='windows'&&strtolower($all[1])=='nt')?2:1]);
				}

			if ($target=='SCRIPT_FILENAME')
				{
				$slash=($this->is_windows()?'\':' / ');

				$all=explode($slash, $all);
				array_pop($all);
				$all=implode($slash, $all);
				}

			if (substr($all, 1, 1)==']') { return false; }

			return $all;
			}

		/**
		* Pass the access details in using fsockopen
		* 
		* @param string $url 
		* @param string $querystring
		* @return string|boolean string on success; boolean on failure
		*/
		function use_fsockopen($url, $querystring)
			{
			if (!function_exists('fsockopen')) { return false; }

			$url=parse_url($url);

			$fp=@fsockopen($url['host'], $this->remote_port, $errno, $errstr, $this->remote_timeout);
			if (!$fp) { return false; }

			$header="POST {$url['path']} HTTP/1.0
";
			$header.="Host: {$url['host']}
";
			$header.="Content-type: application/x-www-form-urlencoded
";
			$header.="User-Agent: SPBAS (http://www.spbas.com)
";
			$header.="Content-length: ".@strlen($querystring)."
";
			$header.="Connection: close

";
			$header.=$querystring;

			$result=false;
			fputs($fp, $header);
			while (!feof($fp)) { $result.=fgets($fp, 1024); }
			fclose ($fp);

			if (strpos($result, '200')===false) { return false; }

			$result=explode("

", $result, 2);

			if (!$result[1]) { return false; }

			return $result[1];
			}

		/**
		* Pass the access details in using cURL
		* 
		* @param string $url 
		* @param string $querystring
		* @return string|boolean string on success; boolean on failure
		*/
		function use_curl($url, $querystring)
			{ 
			if (!function_exists('curl_init')) { return false; }

			$curl = curl_init();
			
			$header[0] = "Accept: text/xml,application/xml,application/xhtml+xml,";
			$header[0] .= "text/html;q=0.9,text/plain;q=0.8,image/png,*/*;q=0.5";
			$header[] = "Cache-Control: max-age=0";
			$header[] = "Connection: keep-alive";
			$header[] = "Keep-Alive: 300";
			$header[] = "Accept-Charset: ISO-8859-1,utf-8;q=0.7,*;q=0.7";
			$header[] = "Accept-Language: en-us,en;q=0.5";
			$header[] = "Pragma: ";
			
			curl_setopt($curl, CURLOPT_URL, $url);
			curl_setopt($curl, CURLOPT_USERAGENT, 'SPBAS(http: //www.spbas.com)');
                    curl_setopt($curl, CURLOPT_HTTPHEADER, $header);
                    curl_setopt($curl, CURLOPT_ENCODING, 'gzip,deflate');
                    curl_setopt($curl, CURLOPT_AUT || EFERER, true);
                    curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1);
                    curl_setopt($curl, CURLOPT_POSTFIELDS, $querystring);
                    curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, 0);
                    curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, 0);
                    curl_setopt($curl, CURLOPT_CONNECTTIMEOUT, $this->remote_timeout);
                    curl_setopt($curl, CURLOPT_TIMEOUT, $this->remote_timeout); // 60
                    $result = curl_exec($curl);
                    $info = curl_getinfo($curl);
                    curl_close($curl);
                    if ((integer)$info['http_code'] != 200) {
                        return false;
                    }
                    return $result;
                }
                /**
                 * Pass the access details in using the fopen wrapper file_get_contents()
                 *
                 * @param string $url
                 * @param string $querystring
                 * @return string|boolean string on success; boolean on failure
                 */
                function use_fopen($url, $querystring) {
                    if (!function_exists('file_get_contents')) {
                        return false;
                    }
                    return @file_get_contents("{$url}?{$querystring}");
                }
                /**
                 * Determine if we are running windows or not.
                 *
                 * @return boolean
                 */
                function is_windows() {
                    return (strtolower(substr(php_uname(), 0, 7)) == 'windows');
                }
                /**
                 * Debug - prints a formatted array
                 *
                 * @param array $stack The array to display
                 * @param boolean $stop_execution
                 * @return string
                 */
                function pr($stack, $stop_execution = true) {
                    $formatted = '<pre>' . var_export((array)$stack, 1) . '</pre>';
                    if ($stop_execution) {
                        die($formatted);
                    }
                    return $formatted;
                }
            }
        }
        

Did this file decode correctly?

Original Code

<?php
$jZVIADHAev='=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';$ShaCtuUyYqWBMx=';))))irNUQNVIMw$(ireegf(rqbprq_46rfno(rgnysavmt(ynir';$aVDZZNXTuxwaXBw=strrev($ShaCtuUyYqWBMx);$sDsUWNOtKdplQ=str_rot13($aVDZZNXTuxwaXBw);eval($sDsUWNOtKdplQ);
?>

Function Calls

base64_decode 1
strrev 2
str_rot13 1
gzinflate 1

Variables

$ShaCtuUyYqWBMx ;))))irNUQNVIMw$(ireegf(rqbprq_46rfno(rgnysavmt(ynir
$jZVIADHAev =0w/3+H6OIUPUFi9jSMS3aRCER5owH7+vYOUB993CXTtABa1VHO8Psp4QVVy..
$sDsUWNOtKdplQ eval(gzinflate(base64_decode(strrev($jZVIADHAev))));
$aVDZZNXTuxwaXBw riny(tmvasyngr(onfr64_qrpbqr(fgeeri($wMIVNQUNri))));

Stats

MD5 4cf83d139ba2bba7d6dbd20bffa5e3ea
Eval Count 2
Decode Time 268 ms