Вход Регистрация
Файл: system/fields/forms.php
Строк: 79
<?php

class fieldForms extends cmsFormField {

    public 
$title     LANG_PARSER_FORMS;
    public 
$sql       'int(11) UNSIGNED NULL DEFAULT NULL';
    public 
$is_public true;
    public 
$var_type  'integer';
    public 
$allow_index false;
    public 
$excluded_controllers = ['forms'];

    public function 
__construct($name$options false){
        
cmsCore::loadControllerLanguage('forms');
        
parent::__construct($name$options);
    }

    public function 
getOptions(){
        return array(
            new 
fieldCheckbox('show_title', array(
                
'title' => LANG_SHOW_TITLE
            
)),
            new 
fieldString('continue_link', array(
                
'title' => LANG_FORMS_CP_CONTINUE_LINK
            
))
        );
    }

    public function 
parse($value) {

        if(!
$value){ return ''; }

        
$forms cmsCore::getController('forms');

        
$_form_data $forms->getFormData($value);

        if (
$_form_data === false) {
            return 
'';
        }

        list(
$form$form_data) = $_form_data;

        
$form_data['options']['show_title'] = $this->getOption('show_title');
        
$form_data['options']['continue_link'] = $this->getOption('continue_link') ?: $form_data['options']['continue_link'];

        
$submited_data $forms->getSavedUserFormData($form_data['id']);

        if(
$submited_data && !empty($form_data['options']['hide_after_submit'])){
            return 
'';
        }

        if(!empty(
$this->item['user_id'])){
            
$form $forms->setItemAuthor($form$this->item['user_id']);
        }

        return 
cmsTemplate::getInstance()->renderInternal($forms'form_view', [
            
'form_data' => $form_data,
            
'form'      => $form
        
]);
    }

    public function 
parseTeaser($value){ return null; }

    public function 
getStringValue($value) { return null; }

    public function 
applyFilter($model$value) {
        return 
$model->filterNotNull($this->name);
    }

    public function 
store($value$is_submitted$old_value null) {
        return 
$value ?: null;
    }

    public function 
getInput($value) {

        
$this->data['items'] = ['' => ''] + array_collection_to_list(cmsCore::getModel('forms')->get('forms'), 'id''title');

        return 
parent::getInput($value);
    }

}
Онлайн: 0
Реклама