当前位置: 首页>>代码示例>>PHP>>正文


PHP cmsForm::getFormFields方法代码示例

本文整理汇总了PHP中cmsForm::getFormFields方法的典型用法代码示例。如果您正苦于以下问题:PHP cmsForm::getFormFields方法的具体用法?PHP cmsForm::getFormFields怎么用?PHP cmsForm::getFormFields使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在cmsForm的用法示例。


在下文中一共展示了cmsForm::getFormFields方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。

示例1: forms

function forms()
{
    cmsCore::loadClass('form');
    $do = cmsCore::getInstance()->do;
    global $_LANG;
    //========================================================================================================================//
    //========================================================================================================================//
    if ($do == 'view') {
        // Получаем форму
        $form = cmsForm::getFormData(cmsCore::request('form_id', 'int'));
        if (!$form) {
            cmsCore::error404();
        }
        // Получаем данные полей формы
        $form_fields = cmsForm::getFormFields($form['id']);
        // Если полей нет, 404
        if (!$form_fields) {
            cmsCore::error404();
        }
        $errors = array();
        $attachment = array();
        // Получаем данные формы
        // Если не переданы, назад
        $form_input = cmsForm::getFieldsInputValues($form['id']);
        if (!$form_input) {
            $errors[] = $_LANG['FORM_ERROR'];
        }
        // Проверяем значения формы
        foreach ($form_input['errors'] as $field_error) {
            if ($field_error) {
                $errors[] = $field_error;
            }
        }
        // проверяем каптчу
        if (!cmsPage::checkCaptchaCode()) {
            $errors[] = $_LANG['ERR_CAPTCHA'];
        }
        if ($errors) {
            if (cmsCore::isAjax()) {
                cmsCore::jsonOutput(array('error' => true, 'text' => end($errors)));
            } else {
                foreach ($errors as $error) {
                    cmsCore::addSessionMessage($error, 'error');
                }
                cmsCore::redirectBack();
            }
        }
        if (!cmsUser::checkCsrfToken()) {
            cmsCore::error404();
        }
        // Подготовим начало письма
        $mail_message = '<h3>' . $_LANG['FORM'] . ': ' . $form['title'] . '</h3>';
        // Добавляем заполненные поля в письмо
        foreach ($form_fields as $field) {
            // Значение поля
            $value = $form_input['values'][$field['id']];
            if (!$value) {
                continue;
            }
            if (is_string($value)) {
                $mail_message .= '<h5>' . $field['title'] . '</h5><p>' . $value . '</p>';
            } elseif (is_array($value)) {
                // если массив, значит к форме прикреплен файл
                if ($form['sendto'] == 'mail') {
                    $attachment[] = !empty($value['url']) ? PATH . $value['url'] : '';
                } elseif (!empty($value['url'])) {
                    $mail_message .= '<h5>' . $field['title'] . '</h5><p><a href="' . $value['url'] . '">' . $value['name'] . '</a></p>';
                }
            }
        }
        // Отправляем форму
        if ($form['sendto'] == 'mail') {
            $emails = explode(',', $form['email']);
            if ($emails) {
                foreach ($emails as $email) {
                    cmsCore::mailText(trim($email), cmsConfig::getConfig('sitename') . ': ' . $form['title'], $mail_message, $attachment);
                }
            }
            // удаляем прикрепленные файлы
            foreach ($attachment as $attach) {
                @unlink($attach);
            }
        } else {
            cmsUser::sendMessage(-2, $form['user_id'], $mail_message);
        }
        cmsUser::sessionClearAll();
        if (cmsCore::isAjax()) {
            cmsCore::jsonOutput(array('error' => false, 'text' => $_LANG['FORM_IS_SEND']));
        } else {
            cmsCore::addSessionMessage($_LANG['FORM_IS_SEND'], 'info');
            cmsCore::redirectBack();
        }
    }
    //========================================================================================================================//
}
开发者ID:vicktorwork,项目名称:cms1,代码行数:95,代码来源:frontend.php


注:本文中的cmsForm::getFormFields方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。