QuickTranslation
    
            
            in package
            
        
    
    
    
This class is responsible for quick translation and all DB actions needed.
Tags
Table of Contents
Properties
- $survey : Survey
- $translateFields : mixed
Methods
- __construct() : mixed
- Quicktranslation constructor.
- getAllTranslateFields() : array<string|int, mixed>
- Get all single array elements from setupTranslateFields() in one array which are in getTabNames().
- getAnswerTranslations() : mixed
- getQuestionTranslations() : mixed
- getSubquestionTranslations() : mixed
- getSurvey() : Survey
- Returns the survey object
- getTabNames() : array<string|int, string>
- Returns all tab names.
- getTranslations() : array<string|int, mixed>|CActiveRecord|mixed|array<string|int, Question>|array<string|int, SurveyLanguageSetting>|void|null
- This function gets the translation for a specific type.
- setupTranslateFields() : array<string|int, mixed>
- Creates a customised array with database information for use by survey translation.
- updateTranslations() : int|null
- Updates the translation for a given field name (e.g. surveyls_title)
Properties
$survey
    private
        Survey
    $survey
    
    
        the survey
$translateFields
    private
    static    mixed
    $translateFields
     = ['title' => [
    'type' => 1,
    'dbColumn' => 'surveyls_title',
    'id1' => '',
    'id2' => '',
    'gid' => false,
    //boolean value to indicate if used or not
    'qid' => false,
    //boolean value to indicate if used or not
    'HTMLeditorType' => "title",
    'HTMLeditorDisplay' => "Inline",
    'associated' => "description",
], 'description' => ['type' => 1, 'dbColumn' => 'surveyls_description', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "description", 'HTMLeditorDisplay' => "Inline", 'associated' => ""], 'welcome' => ['type' => 1, 'dbColumn' => 'surveyls_welcometext', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "welcome", 'HTMLeditorDisplay' => "Inline", 'associated' => "end"], 'end' => ['type' => 1, 'dbColumn' => 'surveyls_endtext', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "end", 'HTMLeditorDisplay' => "Inline", 'associated' => ""], 'group' => ['type' => 2, 'dbColumn' => 'group_name', 'id1' => 'gid', 'id2' => '', 'gid' => true, 'qid' => false, 'HTMLeditorType' => "group", 'HTMLeditorDisplay' => "Modal", 'associated' => "group_desc"], 'group_desc' => ['type' => 2, 'dbColumn' => 'description', 'id1' => 'gid', 'id2' => '', 'gid' => true, 'qid' => false, 'HTMLeditorType' => "group_desc", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'question' => ['type' => 3, 'dbColumn' => 'question', 'id1' => 'qid', 'id2' => '', 'gid' => true, 'qid' => true, 'HTMLeditorType' => "question", 'HTMLeditorDisplay' => "Modal", 'associated' => "question_help"], 'question_help' => ['type' => 3, 'dbColumn' => 'help', 'id1' => 'qid', 'id2' => '', 'gid' => true, 'qid' => true, 'HTMLeditorType' => "question_help", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'subquestion' => ['type' => 4, 'dbColumn' => 'question', 'id1' => 'qid', 'id2' => '', 'gid' => true, 'qid' => true, 'HTMLeditorType' => "question", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'answer' => ['type' => 5, 'dbColumn' => 'answer', 'id1' => 'qid', 'id2' => 'code', 'scaleid' => 'scale_id', 'gid' => false, 'qid' => true, 'HTMLeditorType' => "subquestion", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emailinvite' => ['type' => 1, 'dbColumn' => 'surveyls_email_invite_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emailinvitebody"], 'emailinvitebody' => ['type' => 1, 'dbColumn' => 'surveyls_email_invite', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emailreminder' => ['type' => 1, 'dbColumn' => 'surveyls_email_remind_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emailreminderbody"], 'emailreminderbody' => ['type' => 1, 'dbColumn' => 'surveyls_email_remind', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emailconfirmation' => ['type' => 1, 'dbColumn' => 'surveyls_email_confirm_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emailconfirmationbody"], 'emailconfirmationbody' => ['type' => 1, 'dbColumn' => 'surveyls_email_confirm', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emailregistration' => ['type' => 1, 'dbColumn' => 'surveyls_email_register_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emailregistrationbody"], 'emailregistrationbody' => ['type' => 1, 'dbColumn' => 'surveyls_email_register', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emailbasicadminnotification' => ['type' => 1, 'dbColumn' => 'email_admin_notification_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emailbasicadminnotificationbody"], 'emailbasicadminnotificationbody' => ['type' => 1, 'dbColumn' => 'email_admin_notification', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""], 'emaildetailedadminnotification' => ['type' => 1, 'dbColumn' => 'email_admin_responses_subj', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "", 'associated' => "emaildetailedadminnotificationbody"], 'emaildetailedadminnotificationbody' => ['type' => 1, 'dbColumn' => 'email_admin_responses', 'id1' => '', 'id2' => '', 'gid' => false, 'qid' => false, 'HTMLeditorType' => "email", 'HTMLeditorDisplay' => "Modal", 'associated' => ""]]
    
    
    
Methods
__construct()
Quicktranslation constructor.
    public
                    __construct(Survey $survey) : mixed
    Parameters
- $survey : Survey
- 
                    the survey object 
getAllTranslateFields()
Get all single array elements from setupTranslateFields() in one array which are in getTabNames().
    public
                    getAllTranslateFields() : array<string|int, mixed>
    Return values
array<string|int, mixed>getAnswerTranslations()
    public
                    getAnswerTranslations(mixed $baselang) : mixed
    Parameters
- $baselang : mixed
getQuestionTranslations()
    public
                    getQuestionTranslations(mixed $baselang) : mixed
    Parameters
- $baselang : mixed
getSubquestionTranslations()
    public
                    getSubquestionTranslations(mixed $baselang) : mixed
    Parameters
- $baselang : mixed
getSurvey()
Returns the survey object
    public
                    getSurvey() : Survey
    Return values
SurveygetTabNames()
Returns all tab names.
    public
                    getTabNames() : array<string|int, string>
    Return values
array<string|int, string>getTranslations()
This function gets the translation for a specific type.
    public
                    getTranslations( $type,  $baselang) : array<string|int, mixed>|CActiveRecord|mixed|array<string|int, Question>|array<string|int, SurveyLanguageSetting>|void|null
    Different types need different query.
Parameters
Return values
array<string|int, mixed>|CActiveRecord|mixed|array<string|int, Question>|array<string|int, SurveyLanguageSetting>|void|nullsetupTranslateFields()
Creates a customised array with database information for use by survey translation.
    public
                    setupTranslateFields(string $type) : array<string|int, mixed>
    This array structure is the base for the whole algorithm. Each returned array consists of the following information
type --> this seems to be the db table in types (e.g. 1 --> surveys_languagesettings etc.) dbColumn --> the name of the db column where to find the id1 --> id2 --> gid --> qid --> description --> the tab title HTMLeditorType --> parameter for CKEditor HTMLeditorDisplay --> inline, modal for CKEditor to load it associated --> the associated field for the current one. If empty string this one has no associated field
Parameters
- $type : string
- 
                    Type of database field that is being translated, e.g. title, question, etc. 
Return values
array<string|int, mixed>updateTranslations()
Updates the translation for a given field name (e.g. surveyls_title)
    public
                    updateTranslations( $fieldName,  $tolang,  $new[,  $qidOrgid = 0 ][,  $answerCode = '' ][,  $iScaleID = '' ]) : int|null
    Parameters
- $fieldName :
- 
                    string the field name from frontend 
- $tolang :
- 
                    string shortcut for language (e.g. 'de') 
- $new :
- 
                    string the new value to save as translation 
- $qidOrgid : = 0
- 
                    int groupid or questionid 
- $answerCode : = ''
- 
                    string the answer code 
- $iScaleID : = ''