Ejemplo n.º 1
0
<?php

if (sc_ajax()) {
    echo sc_get_opencaptcha_image();
}
function sc_ajax()
{
    return isset($_SERVER['HTTP_X_REQUESTED_WITH']) && $_SERVER['HTTP_X_REQUESTED_WITH'] === 'XMLHttpRequest';
}
function sc_get_opencaptcha_image()
{
    $date = date("Ymd");
    $rand = md5(uniqid(microtime(), true));
    $height = 100;
    $width = 300;
    $img = $date . $rand . '-' . $height . '-' . $width . '.jpgx';
    $return = '<input type="hidden" name="opencaptcha_challenge_field" value="' . $img . '">';
    $return .= '<img src="http://www.opencaptcha.com/img/' . $img . '" alt="OpenCaptcha" />';
    return $return;
}
function sc_render_form($error = null, $template)
{
    global $thisfile_sc, $sc_language, $SITEURL;
    require_once GSPLUGINPATH . 'getsimple_contact/inc/class.template.php';
    // -- look for existing template from parameter setting and get it
    if (file_exists(GSPLUGINPATH . 'getsimple_contact/templates/' . $template . '.frontend.form.tpl')) {
        $template_path = GSPLUGINPATH . 'getsimple_contact/templates/' . $template . '.frontend.form.tpl';
    } else {
        // -- fallback to default, if no template was found
        $template_path = GSPLUGINPATH . 'getsimple_contact/templates/frontend.form.tpl';
    }
    // -- load the template
    $frontend = new SCTemplate($template_path);
    $settings = sc_get_settings();
    $token = sc_get_token();
    if (count($error) > 0) {
        $err = array();
        $err['name'] = isset($error['name']) ? $error['name'] : '';
        $err['subject'] = isset($error['subject']) ? $error['subject'] : '';
        $err['email'] = isset($error['email']) ? $error['email'] : '';
        $err['message'] = isset($error['message']) ? $error['message'] : '';
        $err['attachment'] = isset($error['attachment']) ? $error['attachment'] : '';
        $err['captcha'] = isset($error['captcha']) ? $error['captcha'] : '';
        $err['success'] = isset($error['success_message']) ? $error['success_message'] : '';
        $err['php_mailer'] = isset($error['php_mailer']) ? $error['php_mailer'] : '';
        $err['invalid_form'] = isset($error['invalid_form']) ? $error['invalid_form'] : '';
    } else {
        $err = array('name' => '', 'subject' => '', 'email' => '', 'message' => '', 'attachment' => '', 'captcha' => '', 'success' => '', 'php_mailer' => '', 'invalid_form' => '');
    }
    if ($settings['captcha_type'] == 1) {
        if ($settings['recaptcha_status'] == 1) {
            $reset_recaptcha_img_width = '<script type="text/javascript">jQuery(document).ready(function() { jQuery("#recaptcha_image img").removeAttr("style width height"); jQuery("#recaptcha_image").removeAttr("style"); });</script>';
            $recaptcha = new SCTemplate(GSPLUGINPATH . 'getsimple_contact/templates/recaptcha.tpl');
            $recaptcha->set('FE_CAPTCHA', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA'));
            $recaptcha->set('CAPTCHA_ERROR', $err['captcha']);
            $recaptcha->set('FE_RECAPTCHA_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_RECAPTCHA_PLACEHOLDER'));
            $recaptcha->set('FE_CAPTCHA_RELOAD', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA_RELOAD'));
            $recaptcha->set('FE_CAPTCHA_GET_AUDIO', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA_GET_AUDIO'));
            $recaptcha->set('FE_CAPTCHA_GET_IMAGE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA_GET_IMAGE'));
            $recaptcha->set('FE_CAPTCHA_PUBLIC', $settings['recaptcha_public_key']);
            $recaptcha->set('FE_RECAPTCHA_RESET_IMG_WIDTH', $reset_recaptcha_img_width);
            $captcha_form = $recaptcha->output();
        } else {
            $captcha_form = '';
        }
    } else {
        if ($settings['captcha_type'] == 0) {
            require_once GSPLUGINPATH . 'getsimple_contact/process/process.php';
            $opencaptcha = new SCTemplate(GSPLUGINPATH . 'getsimple_contact/templates/opencaptcha.tpl');
            $opencaptcha->set('FE_CAPTCHA', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA'));
            $opencaptcha->set('CAPTCHA_ERROR', $err['captcha']);
            $opencaptcha->set('FE_OPENCAPTCHA_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_OPENCAPTCHA_PLACEHOLDER'));
            $opencaptcha->set('FE_CAPTCHA_RELOAD', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_CAPTCHA_RELOAD'));
            $opencaptcha->set('FE_OPENCAPTCHA_IMAGE', sc_get_opencaptcha_image());
            $captcha_form = $opencaptcha->output();
        } else {
            $captcha_form = '';
        }
    }
    if ($settings['wysihtml5_editor'] == 1) {
        $wysihtml5 = new SCTemplate(GSPLUGINPATH . 'getsimple_contact/templates/wysihtml5.tpl');
        $wysihtml5->set('FE_EDITOR_BOLD_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_BOLD_TITLE'));
        $wysihtml5->set('FE_EDITOR_ITALIC_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_ITALIC_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_LINK_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_LINK_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_IMAGE_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_IMAGE_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_SMILEY_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_SMILEY_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_SMILEY_LABEL', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_SMILEY_LABEL'));
        $wysihtml5->set('FE_EDITOR_INSERT_H1_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_H1_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_H2_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_H2_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_UL_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_UL_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_OL_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_OL_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_RED_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_RED_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_GREEN_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_GREEN_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_BLUE_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_BLUE_TITLE'));
        $wysihtml5->set('FE_EDITOR_UNDO_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_UNDO_TITLE'));
        $wysihtml5->set('FE_EDITOR_REDO_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_REDO_TITLE'));
        $wysihtml5->set('FE_EDITOR_SWITCH_TO_SOURCE_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_SWITCH_TO_SOURCE_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_LINK_LABEL', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_LINK_LABEL'));
        $wysihtml5->set('FE_EDITOR_INSERT_LINK_OK_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_LINK_OK_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_LINK_CANCEL_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_LINK_CANCEL_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_IMAGE_LABEL', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_IMAGE_LABEL'));
        $wysihtml5->set('FE_EDITOR_INSERT_IMAGE_OK_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_IMAGE_OK_TITLE'));
        $wysihtml5->set('FE_EDITOR_INSERT_IMAGE_CANCEL_TITLE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_INSERT_IMAGE_CANCEL_TITLE'));
        $wysihtml5->set('FE_EDITOR_IMAGE_ALIGN_SELECT_DEFAULT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_IMAGE_ALIGN_SELECT_DEFAULT'));
        $wysihtml5->set('FE_EDITOR_IMAGE_ALIGN_SELECT_LEFT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_IMAGE_ALIGN_SELECT_LEFT'));
        $wysihtml5->set('FE_EDITOR_IMAGE_ALIGN_SELECT_RIGHT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EDITOR_IMAGE_ALIGN_SELECT_RIGHT'));
        $wysihtml5->set('FE_SMILEY_URL', $SITEURL . '/plugins/getsimple_contact/images/smileys/');
        $wysihtml5_editor = $wysihtml5->output();
    } else {
        $wysihtml5_editor = '';
    }
    if ($settings['attachments_status'] == 1) {
        $attachment = new SCTemplate(GSPLUGINPATH . 'getsimple_contact/templates/attachment.tpl');
        $attachment->set('FE_ATTACHMENT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_ATTACHMENT'));
        $attachment->set('FE_ERROR_ATTACHMENT', $err['attachment']);
        $attachment_form = $attachment->output();
        $enctype = 'enctype="multipart/form-data"';
    } else {
        $attachment_form = '';
        $enctype = '';
    }
    $frontend->set('FE_SCRIPTS', sc_scripts());
    $frontend->set('FE_SUCCESS', $err['success']);
    $frontend->set('FE_PHP_MAILER', $err['php_mailer']);
    $frontend->set('FE_INVALID_FORM', $err['invalid_form']);
    $frontend->set('FE_ENCTYPE', $enctype);
    $frontend->set('FE_NAME', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_NAME'));
    $frontend->set('FE_ERROR_NAME', $err['name']);
    $frontend->set('FE_NAME_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_NAME_PLACEHOLDER'));
    $frontend->set('FE_SUBJECT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_SUBJECT'));
    $frontend->set('FE_ERROR_SUBJECT', $err['subject']);
    $frontend->set('FE_SUBJECT_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_SUBJECT_PLACEHOLDER'));
    $frontend->set('FE_EMAIL', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EMAIL'));
    $frontend->set('FE_ERROR_EMAIL', $err['email']);
    $frontend->set('FE_EMAIL_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_EMAIL_PLACEHOLDER'));
    $frontend->set('FE_WYSIHTML5_EDITOR', $wysihtml5_editor);
    $frontend->set('FE_MESSAGE', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_MESSAGE'));
    $frontend->set('FE_ERROR_MESSAGE', $err['message']);
    $frontend->set('FE_MESSAGE_PLACEHOLDER', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_MESSAGE_PLACEHOLDER'));
    $frontend->set('FE_ATTACHMENT_FORM', $attachment_form);
    $frontend->set('FE_FINAL_CAPTCHA', $captcha_form);
    $frontend->set('FE_TOKEN', $token);
    $frontend->set('FE_SUBMIT', sc_i18n($thisfile_sc, $sc_language, 'SC_FE_SUBMIT'));
    // BOF
    $frontend->set('FE_NAME_VALUE', isset($_POST['name']) ? $_POST['name'] : '');
    $frontend->set('FE_SUBJECT_VALUE', isset($_POST['subject']) ? $_POST['subject'] : '');
    $frontend->set('FE_EMAIL_VALUE', isset($_POST['email']) ? $_POST['email'] : '');
    $frontend->set('FE_MESSAGE_VALUE', isset($_POST['message']) && $err['success'] == '' ? $_POST['message'] : '');
    // EOF
    return $frontend->output();
}