HEX
Server: Apache
System: Linux uyu7574470001-7d78c9ff74-xfpwm 4.19.91-21.al7.x86_64 #1 SMP Wed Sep 2 19:47:49 CST 2020 x86_64
User: ()
PHP: 7.4.16
Disabled: chmod,exec,system,passthru,shell_exec,escapeshellarg,escapeshellcmd,proc_close,proc_open,ini_alter,dl,popen,pcntl_exec,socket_accept,socket_bind,socket_clear_error,socket_close,socket_connect,socket_create_listen,socket_create_pair,socket_create,socket_get_option,socket_getpeername,socket_getsockname,socket_last_error,socket_listen,socket_read,socket_recv,socket_recvfrom,socket_select,socket_send,socket_sendto,socket_set_block,socket_set_nonblock,socket_set_option,socket_shutdown,socket_strerror,socket_write,stream_socket_client,stream_socket_server,pfsockopen,disk_total_space,disk_free_space,chown,diskfreespace,getrusage,get_current_user,getmyuid,getmypid,dl,leak,listen,chgrp,link,symlink,dlopen,proc_nice,proc_get_stats,proc_terminate,shell_exec,sh2_exec,posix_getpwuid,posix_getgrgid,posix_kill,ini_restore,mkfifo,dbmopen,dbase_open,filepro,filepro_rowcount,posix_mkfifo,putenv,sleep,fsockopen
Upload Files
File: /usr/home/uyu7574470001/htdocs/wp-content/plugins/newsletter/emails/composer.php
<?php
/** @var NewsletterEmailsAdmin $this */
/** @var NewsletterControls $controls */
/** @var NewsletterLogger $logger */

defined('ABSPATH') || exit;

wp_enqueue_style('tnpc-newsletter-style', home_url('/') . '?na=emails-composer-css');

include NEWSLETTER_INCLUDES_DIR . '/codemirror.php';

$email = null;
$id = (int)($_GET['id'] ?? 0);

if ($controls->is_action()) {

    if ($controls->is_action('reset')) {
        $redirect = $this->get_admin_page_url('composer');
        if (isset($_GET['id'])) {
            $redirect = $this->add_qs($redirect, 'id=' . ((int) $_GET['id']));
        }
        $controls->js_redirect($redirect);
    }


    if (!$id) {

        $logger->info('Saving new newsletter from composer');

        // Create a new email
        $email = new stdClass();
        $email->status = TNP_Email::STATUS_DRAFT;
        $email->track = Newsletter::instance()->get_option('track');
        $email->token = $this->get_token();
        $email->message_text = NewsletterModuleBase::get_email_default_text_part();
        $email->editor = NewsletterEmails::EDITOR_COMPOSER;
        $email->type = 'message';
        $email->send_on = time();
        $email->query = "select * from " . NEWSLETTER_USERS_TABLE . " where status='C'";

        NewsletterComposer::instance()->update_email($email, $controls);

        $email = $this->save_email($email);

        if ($controls->is_action('preview')) {
            $controls->js_redirect('?page=newsletter_emails_edit&id=' . $email->id);
        } else {
            $controls->js_redirect('?page=newsletter_emails_composer&id=' . $email->id);
        }
    } else {

        $email = $this->get_email($id);

        if ($email->status == TNP_Email::STATUS_SENDING) {
            $controls->errors = 'The newsletter is "sending" cannot be modified.';
        } elseif ($email->updated != $controls->data['updated']) {
            $controls->errors = 'This newsletter has been modified by someone else, cannot save. Do you have another tab editing this newsletter?';
        } else {
            NewsletterComposer::instance()->update_email($email, $controls);

            if (empty($email->options['text_message_mode'])) {
                $text = TNP_Composer::convert_to_text($email->message);
                if ($text) {
                    $email->message_text = TNP_Composer::convert_to_text($email->message);
                }
            }

            $email->updated = time();

            $email = $this->save_email($email);

            Newsletter\Logs::add('newsletter-version-' . $email->id, date('Y-m-d H:i:s'), 0, $email->message);

            if (is_wp_error($email)) {
                $controls->errors = $email->get_error_message();
            } else {
                NewsletterComposer::instance()->update_controls($controls, $email);
                if ($controls->is_action('save')) {
                    $controls->add_toast_saved();
                }
            }
        }
    }

    if ($controls->is_action('preview')) {
        $controls->js_redirect('?page=newsletter_emails_edit&id=' . $email->id);
    }

} else {

    if ($id) {
        $email = NewsletterAdmin::instance()->get_email($id);
        if ($email && $email->status == TNP_Email::STATUS_SENDING) {
            die('That newsletter is on sending, cannot be edited');
        }
    }
    NewsletterComposer::instance()->update_controls($controls, $email);
}
?>

<style>
    .tnp-composer-footer {
        background-color: #0073aa;
        border-radius: 3px !important;
        margin: 15px 0px 10px 0;
        padding: 10px;
        font-size: 15px;
        color: #fff !important;
        line-height: 32px;
    }

    .tnp-composer-footer form {
        display: inline-block;
        /*margin-left: 30px;*/
    }

    #wpfooter {
        display: none;
    }
</style>



<div class="wrap tnp-emails-composer" id="tnp-wrap">

    <div id="tnp-body" style="display: flex; flex-direction: column">

        <?php $controls->show() ?>

        <form method="post" action="" id="tnpc-form" style="margin-top: 1rem">
            <?php $controls->init(); ?>

            <?php $controls->button_confirm_secondary('reset', __('Back to last save', 'newsletter'), 'Are you sure?'); ?>
            <?php $controls->button('save', __('Save', 'newsletter')); ?>
            <?php $controls->button('preview', __('Next', 'newsletter') . ' &raquo;'); ?>


            <div>
                <?php $controls->composer_v3(true, true); ?>
            </div>

        </form>


    </div>
</div>