Survey extends LSActiveRecord in package implements PermissionInterface Uses PermissionTrait
Class Survey
Table of Contents
Interfaces
Properties
- $active : string
- $additional_languages : string
- $additionalLanguages : array<string|int, string>
- $admin : string
- $adminemail : string
- $allLanguages : array<string|int, string>
- $alloweditaftercompletion : string
- $allowprev : string
- $allowregister : string
- $allowsave : string
- $allQuestions : array<string|int, Question>
- $anonymized : string
- $aOptions : mixed
- $assessments : string
- $attributedescriptions : string
- $autonumber_start : int
- $autoredirect : string
- $baseQuestions : array<string|int, Question>
- $bEncryption : mixed
- $bounce_email : string
- $bounceaccountencryption : string
- $bounceaccounthost : string
- $bounceaccountpass : string
- $bounceaccounttype : string
- $bounceaccountuser : string
- $bounceprocessing : string
- $bouncetime : int
- $bShowRealOptionValues : mixed
- $countFullAnswers : int
- $countInputQuestions : int
- $countNoInputQuestions : int
- $countPartialAnswers : int
- $countTotalAnswers : int
- $countTotalQuestions : int
- $creationDate : string
- $currentLanguageSettings : SurveyLanguageSetting
- $datecreated : string
- $datestamp : string
- $defaultlanguage : SurveyLanguageSetting
- $emailnotificationto : string
- $emailresponseto : string
- $expires : string|null
- $expiryDateFormatted : string
- $format : string
- $googleanalyticsapikey : string
- $googleanalyticsapikeysetting : string
- $googleanalyticsstyle : string
- $groups : array<string|int, QuestionGroup>
- $groupsCount : int
- $gsid : int
- $hasResponsesTable : bool
- $hasTimingsTable : bool
- $hasTokensTable : bool
- $htmlemail : string
- $ipaddr : string
- $ipanonymize : string
- $isActive : bool
- $isAllowEditAfterCompletion : bool
- $isAllowPrev : bool
- $isAllowRegister : bool
- $isAllowSave : bool
- $isAnonymized : bool
- $isAssessments : bool
- $isAutoRedirect : bool
- $isDateExpired : bool
- $isDateStamp : bool
- $isHtmlEmail : bool
- $isIpAddr : bool
- $isIpAnonymize : bool
- $isListPublic : bool
- $isNoKeyboard : bool
- $isPrintAnswers : bool
- $isPublicGraphs : bool
- $isPublicStatistics : bool
- $isRefUrl : bool
- $isSaveTimings : bool
- $isSendConfirmation : bool
- $isShowGroupInfo : bool
- $isShowNoAnswer : bool
- $isShowProgress : bool
- $isShowQnumCode : bool
- $isShowWelcome : bool
- $isShowXQuestions : bool
- $isTokenAnswersPersistence : bool
- $isUseCookie : bool
- $language : string
- $languagesettings : array<string|int, SurveyLanguageSetting>
- $listpublic : string
- $navigationdelay : int
- $nokeyboard : string
- $oOptionLabels : mixed
- $oOptions : mixed
- $owner : User
- $owner_id : int
- $permissions : array<string|int, Permission>
- $printanswers : string
- $publicgraphs : string
- $publicstatistics : string
- $questionindex : int
- $quotableQuestions : array<string|int, Question>
- $quotas : array<string|int, Quota>
- $refurl : string
- $responsesTableName : string
- $savetimings : string
- $searched_value : mixed
- $sendconfirmation : string
- $showgroupinfo : string
- $showInherited : mixed
- $shownoanswer : string
- $showprogress : string
- $showqnumcode : string
- $showsurveypolicynotice : bool
- $showsurveypolicynotice : mixed
- $showwelcome : string
- $showxquestions : string
- $sid : int
- $startdate : string|null
- $startDateFormatted : string
- $surveygroup : SurveysGroups
- $surveyinfo : array<string|int, mixed>
- $template : string
- $timingsTableName : string
- $tokenanswerspersistence : string
- $tokenAttributes : array<string|int, mixed>
- $tokenencryptionoptions : string
- $tokenlength : int
- $tokensTableName : string
- $usecaptcha : string
- $usecookie : string
- $usetokens : string
- $findByPkCache : array<string|int, mixed>
- $xssFilterAttributes : array<string|int, string>
- $sSurveyUrl : mixed
Methods
- active() : mixed
- afterFindSurvey() : mixed
- afterFindSurvey to fix and/or add some survey attribute - event afterFindSurvey (for all attributes) - Fix template name to be sure template exist - setOptions for inherited value
- attributeLabels() : mixed
- behaviors() : array<string|int, mixed>
- Lists the behaviors of this model
- calculateEstimatedTime() : float
- Method to make an approximation on how long a survey will last Approx is 3 questions each minute.
- checkExpireAfterStart() : mixed
- Validates the Expiration Date is not lower than the Start Date
- decrypt() : mixed
- Decrypt values from database
- decryptEncryptAttributes() : mixed
- Encrypt/decrypt values
- decryptSingle() : string
- Decrypt single value
- decryptSingleOld() : string
- Decrypt single value
- delete() : mixed
- deleteAllByAttributes() : int
- deleteSurvey() : bool
- Deletes a survey and all its data
- dispatchPluginModelEvent() : PluginEvent
- encrypt() : mixed
- Encrypt values
- encryptAttributeValues() : array<string|int, mixed>
- Attribute values are encrypted ( if needed )to be used for searching purposes
- encryptSave() : mixed
- Encrypt values before saving to the database
- encryptSingle() : mixed
- Enrypt single value
- expire() : bool|null
- Expires a survey. If the object was invoked using find or new surveyId can be ommited.
- filterTemplateSave() : string
- filterTemplateSave to fix some template name
- findAllAsArray() : array<string|int, mixed>
- Finds all active records satisfying the specified condition but returns them as array
- findAllByAttributes() : array<string|int, static>
- Overriding of Yii's findAllByAttributes method to provide encrypted attribute value search
- findAllPublic() : mixed
- findByAttributes() : static|null
- Overriding of Yii's findByAttributes method to provide encrypted attribute value search
- findByPk() : mixed
- findQuestionByType() : Question
- fixInvalidQuestions() : mixed
- Fix invalid question in this survey Delete question that don't exist in primary language
- getActiveWord() : string
- getAdditionalLanguages() : array<string|int, mixed>
- Returns additional languages formatted into a string
- getAliasForLanguage() : string|null
- Returns the survey alias for the specified language.
- getAllEncryptedAttributes() : array<string|int, mixed>
- getAllLanguages() : array<string|int, mixed>
- Returns all languages array
- getAllQuestions() : array<string|int, Question>
- getAnonymizedResponses() : string
- getBaseQuestions() : array<string|int, Question>
- getButtons() : string
- Returns buttons for gridview.
- getCountFullAnswers() : int|string
- getCountInputQuestions() : int
- Get the coutn of questions that need input (skipping text-display etc.)
- getCountNoInputQuestions() : int
- Get the coutn of questions that do not need input (skipping text-display etc.)
- getCountPartialAnswers() : int
- getCountTotalAnswers() : int
- getCountTotalQuestions() : int
- getCPDBMappings() : array<string|int, mixed>
- This function returns any valid mappings from the survey participants tables to the CPDB in the form of an array [<cpdb_attribute_id>=><participant_table_attribute_name>]
- getCreationDate() : string
- getCurrentLanguageSettings() : SurveyLanguageSetting
- The Survey languagesettings in currently active language. Falls back to the surveys' default language if the current language is not available.
- getDecodedAttributedescriptions() : array<string|int, mixed>
- decodes the attributedescriptions to be used anywhere necessary
- getExpiryDateFormatted() : string
- getGoogleanalyticsapikey() : string
- Returns the value for the SurveyEdit GoogleAnalytics API-Key UseGlobal Setting
- getGoogleanalyticsapikeysetting() : string
- Returns the value for the SurveyEdit GoogleAnalytics API-Key UseGlobal Setting
- getGroupsCount() : mixed
- Gets number of groups inside a particular survey
- getHasResponsesTable() : bool
- Wheteher the survey responses (data) table exists in DB
- getHasTimingsTable() : bool
- Wheteher the survey responses timings exists in DB
- getHasTokensTable() : bool
- Returns true in a survey participants table exists for survey
- getIsActive() : bool
- getIsAllowEditAfterCompletion() : bool
- getIsAllowPrev() : bool
- getIsAllowRegister() : bool
- getIsAllowSave() : bool
- getIsAnonymized() : bool
- getIsAssessments() : bool
- getIsAutoRedirect() : bool
- getIsDateExpired() : bool
- getIsDateStamp() : bool
- getIsHtmlEmail() : bool
- getIsIpAddr() : bool
- getIsIpAnonymize() : bool
- getIsListPublic() : bool
- getIsNoKeyboard() : bool
- getIsPrintAnswers() : bool
- getIsPublicGraphs() : bool
- getIsPublicStatistics() : bool
- getIsRefUrl() : bool
- getIsSaveTimings() : bool
- getIsSendConfirmation() : bool
- getIsShowGroupInfo() : bool
- getIsShowNoAnswer() : bool
- getIsShowProgress() : bool
- getIsShowQnumCode() : bool
- getIsShowWelcome() : bool
- getIsShowXQuestions() : bool
- getIsTokenAnswersPersistence() : bool
- getIsUseCookie() : bool
- getLanguageForSurveyTaking() : string
- Return the language of the current survey It can be: - the selected language by user via the language selector (POST then Session) - the selected language via URL (GET then Session) - the survey default language
- getLocalizedTitle() : mixed
- Returns the title of the survey. Uses the current language and falls back to the surveys' default language if the current language is not available.
- getMaxId() : false|int
- Return the max value for a field
- getMinId() : false|int
- Return the min value for a field
- getMinimalPermissionRead() : null|string
- getOwnerId() : int
- Get the owner id of this Survey Used for Permission
- getOwnerUserName() : string
- getPermissionData() : array<string|int, mixed>
- Get Permission data for Survey
- getQuotableQuestions() : array<string|int, Question>
- getResponsesTableName() : string
- Return the name of survey responses (the data) table name
- getRunning() : string
- Returns the status of the survey, including and icon and wrapped by a link to the survey
- getsSurveyUrl() : mixed
- TODO: Not used anywhere. Deprecate it?
- getStartDateFormatted() : string
- getState() : string
- Get state of survey, which can be one of five: 1. Not active 2. Expired 3. Will expire in the future (running now) 3. Will run in future 4. Running now (no expiration date)
- getSurveyMenus() : array<string|int, mixed>
- Get surveymenu configuration from table surveymenu and prepares
- getSurveysWithTokenTable() : array<string|int, Survey>
- Get all surveys that has participant table
- getSurveyTemplateConfiguration() : TemplateConfiguration
- Returns Survey Template Configuration.
- getSurveyUrl() : string
- Returns the survey URL with the specified params.
- getTemplateEffectiveName() : string
- Returns the name of the template to be used for the survey.
- getTimingsTableName() : string
- Return the name of survey timigs table
- getTokenAttributes() : array<string|int, mixed>
- Returns the additional token attributes
- getTokenEncryptionOptions() : array<string|int, mixed>
- decodes the tokenencryptionoptions to be used anywhere necessary
- getTokensTableName() : string
- Return the name of survey tokens table
- hasPermission() : bool
- hasQuestionType() : bool
- Returns true if this survey has any question of type $type.
- init() : mixed
- Set defaults
- insertNewSurvey() : Survey
- Creates a new survey - with a random sid
- model() : Survey
- permission() : CActiveRecord
- permission scope for this model Actually only test if user have minimal access to survey (read)
- primaryKey() : mixed
- relations() : mixed
- replacePolicyLink() : string
- Get the final label for survey ID
- resetCache() : void
- findByPk uses a cache to store a result. Use this method to force clearing that cache.
- rules() : mixed
- saveTranscribeCaptchaOptions() : string
- Transcribe from 3 checkboxes to 1 char for captcha usages Uses variables from $_POST and transferred Surveyobject
- scopes() : mixed
- search() : CActiveDataProvider
- Search
- setAllowjumps() : mixed
- Attribute renamed to questionindex in dbversion 169 Y maps to 1 otherwise 0;
- setEncryptedAttributeLabel() : string
- Function to show encryption symbol in gridview attribute header if value ois encrypted
- setGoogleanalyticsapikeysetting() : void
- Sets Google Analytics API Key Setting.
- setOptions() : mixed
- setOptionsFromDatabase() : mixed
- setToInherit() : mixed
- setTokenEncryptionOptions() : mixed
- tableName() : mixed
- updateAll() : int
- Updates records with the specified condition.
- getPermissionCriteria() : CDbCriteria
- Get criteria from Permission
- query() : mixed
- Modified version that default to do the same as the original, but allows via a third parameter to retrieve the result as array instead of active records. This solves a joining problem. Usage via findAllAsArray method
- getDateFormatted() : string
- getQuestionOrderCriteria() : CDbCriteria
- Get the DB criteria to get questions as ordered in survey
- getSurveyQuestionsCriteria() : mixed
- setAttributeDefaults() : mixed
- shiftedDateTime() : DateTime|null
- Get a dateime DB and return DateTime or null adjusted
Properties
$active
public string $active Whether survey is acive or not (Y/N)
$additional_languages
public string $additional_languages Survey additional languages delimited by space ' '
$additionalLanguages
public array<string|int, string> $additionalLanguages Additional survey languages
$admin
public string $admin Survey Admin's full name
$adminemail
public string $adminemail Survey administrator email address
$allLanguages
public array<string|int, string> $allLanguages $alloweditaftercompletion
public string $alloweditaftercompletion Allow multiple responses or update responses with one token: (Y/N)
$allowprev
public string $allowprev Allow backwards navigation (Y/N)
$allowregister
public string $allowregister Allow public registration (Y/N)
$allowsave
public string $allowsave Is participant allowed save and resume later (Y/N)
$allQuestions
public array<string|int, Question> $allQuestions All survey questions including subquestions
$anonymized
public string $anonymized Whether survey is anonymized or not (Y/N)
$aOptions
public mixed $aOptions = array() $assessments
public string $assessments Enable assessment mode: (Y/N)
$attributedescriptions
public string $attributedescriptions $autonumber_start
public int $autonumber_start $autoredirect
public string $autoredirect Automatically load URL when survey complete: (Y/N)
$baseQuestions
public array<string|int, Question> $baseQuestions Survey questions NOT including subquestions
$bEncryption
public mixed $bEncryption = \false $bounce_email
public string $bounce_email Bounce email address
$bounceaccountencryption
public string $bounceaccountencryption $bounceaccounthost
public string $bounceaccounthost $bounceaccountpass
public string $bounceaccountpass $bounceaccounttype
public string $bounceaccounttype $bounceaccountuser
public string $bounceaccountuser $bounceprocessing
public string $bounceprocessing $bouncetime
public int $bouncetime $bShowRealOptionValues
public mixed $bShowRealOptionValues = \true $countFullAnswers
public int $countFullAnswers Full-answers count
$countInputQuestions
public int $countInputQuestions Count of questions that need input (skipping text-display etc.)
$countNoInputQuestions
public int $countNoInputQuestions Count of questions that DO NOT need input (skipping text-display etc.)
All Y/N columns in the model can be accessed as boolean values:
$countPartialAnswers
public int $countPartialAnswers Full-answers count
$countTotalAnswers
public int $countTotalAnswers Total-answers count
$countTotalQuestions
public int $countTotalQuestions Count of questions (in that language, without subquestions)
$creationDate
public string $creationDate Creation date formatted according to user format
$currentLanguageSettings
public SurveyLanguageSetting $currentLanguageSettings Survey languagesettings in currently active language
$datecreated
public string $datecreated Date survey was created as SQL datetime (YYYY-MM-DD hh:mm:ss)
$datestamp
public string $datestamp Whether respondents' datestamps will be saved (Y/N)
$defaultlanguage
public SurveyLanguageSetting $defaultlanguage $emailnotificationto
public string $emailnotificationto Email address to send basic admin notification email to
$emailresponseto
public string $emailresponseto e-mail address to send detailed admin notification email to
$expires
public string|null $expires Expiry date as SQL datetime (YYYY-MM-DD hh:mm:ss)
$expiryDateFormatted
public string $expiryDateFormatted Expiry date formatted according to user format
$format
public string $format A : All in one, G : Group by group, Q : question by question, I : inherit value from survey group
$googleanalyticsapikey
public string $googleanalyticsapikey Google Analytics Tracking ID
$googleanalyticsapikeysetting
public string $googleanalyticsapikeysetting Returns the value for the SurveyEdit GoogleAnalytics API-Key UseGlobal Setting
$googleanalyticsstyle
public string $googleanalyticsstyle Google Analytics style: (0: off; 1:Default; 2:Survey-SID/Group)
$groups
public array<string|int, QuestionGroup> $groups $groupsCount
public int $groupsCount Number of groups in a survey (in base language)
$gsid
public int $gsid survey group id, from which this survey belongs to and inherits values from when set to 'I'
$hasResponsesTable
public bool $hasResponsesTable Wheteher the survey responses (data) table exists in DB
$hasTimingsTable
public bool $hasTimingsTable Wheteher the survey timings table exists in DB
$hasTokensTable
public bool $hasTokensTable Whether survey has a tokens table or not
$htmlemail
public string $htmlemail Use HTML format for token emails: (Y/N)
$ipaddr
public string $ipaddr Whether Participants IP address will be saved: (Y/N)
$ipanonymize
public string $ipanonymize Whether id addresses should be anonymized (Y/N)
$isActive
public bool $isActive Whether Survey is active
$isAllowEditAfterCompletion
public bool $isAllowEditAfterCompletion Allow multiple responses or update responses with one token
$isAllowPrev
public bool $isAllowPrev Allow backwards navigation
$isAllowRegister
public bool $isAllowRegister Allow public registration
$isAllowSave
public bool $isAllowSave Is participant allowed save and resume later
$isAnonymized
public bool $isAnonymized Whether survey is anonymized or not
$isAssessments
public bool $isAssessments Enable assessment mode
$isAutoRedirect
public bool $isAutoRedirect Automatically load URL when survey complete
$isDateExpired
public bool $isDateExpired Whether survey is expired depending on the current time and survey configuration status
$isDateStamp
public bool $isDateStamp Whether respondents' datestamps will be saved
$isHtmlEmail
public bool $isHtmlEmail Use HTML format for token emails
$isIpAddr
public bool $isIpAddr Whether Participants IP address will be saved
$isIpAnonymize
public bool $isIpAnonymize Whether Participants IP address will be saved
$isListPublic
public bool $isListPublic List survey publicly
$isNoKeyboard
public bool $isNoKeyboard Show on-screen keyboard
$isPrintAnswers
public bool $isPrintAnswers Participants may print answers
$isPublicGraphs
public bool $isPublicGraphs Show graphs in public statistics
$isPublicStatistics
public bool $isPublicStatistics Public statistics
$isRefUrl
public bool $isRefUrl Save referrer URL
$isSaveTimings
public bool $isSaveTimings Whether survey timings are saved
$isSendConfirmation
public bool $isSendConfirmation Send confirmation emails
$isShowGroupInfo
public bool $isShowGroupInfo Show group name and/or group description
$isShowNoAnswer
public bool $isShowNoAnswer Show "No answer"
$isShowProgress
public bool $isShowProgress how progress bar
$isShowQnumCode
public bool $isShowQnumCode Show question number and/or code
$isShowWelcome
public bool $isShowWelcome Show welcome screen
$isShowXQuestions
public bool $isShowXQuestions Show "There are X questions in this survey"
$isTokenAnswersPersistence
public bool $isTokenAnswersPersistence Enable token-based response persistence
$isUseCookie
public bool $isUseCookie Are cookies used to prevent repeated participation
$language
public string $language Survey base language
$languagesettings
public array<string|int, SurveyLanguageSetting> $languagesettings $listpublic
public string $listpublic List survey publicly: (Y/N)
$navigationdelay
public int $navigationdelay Navigation delay (seconds) (It shows the number of seconds before the previous, next, and submit buttons are enabled. If none is specified, the option will use the default value, which is "0" (seconds))
$nokeyboard
public string $nokeyboard Show on-screen keyboard: (Y/N)
$oOptionLabels
public mixed $oOptionLabels $oOptions
public mixed $oOptions $owner
public User $owner $owner_id
public int $owner_id $permissions
public array<string|int, Permission> $permissions $printanswers
public string $printanswers Participants may print answers: (Y/N)
$publicgraphs
public string $publicgraphs Show graphs in public statistics: (Y/N)
$publicstatistics
public string $publicstatistics Public statistics: (Y/N)
$questionindex
public int $questionindex Show question index / allow jumping (0: diabled; 1: Incremental; 2: Full)
$quotableQuestions
public array<string|int, Question> $quotableQuestions $quotas
public array<string|int, Quota> $quotas $refurl
public string $refurl Save referrer URL: (Y/N)
$responsesTableName
public string $responsesTableName Name of survey resonses table
$savetimings
public string $savetimings Whether survey timings are saved (Y/N)
$searched_value
public mixed $searched_value $sendconfirmation
public string $sendconfirmation Send confirmation emails:(Y/N)
$showgroupinfo
public string $showgroupinfo Show group name and/or group description: (Y/N)
$showInherited
public mixed $showInherited = 1 $shownoanswer
public string $shownoanswer Show "No answer": (Y/N)
$showprogress
public string $showprogress how progress bar: (Y/N)
$showqnumcode
public string $showqnumcode Show question number and/or code: (Y/N)
$showsurveypolicynotice
public bool $showsurveypolicynotice Show the security notice
$showsurveypolicynotice
public mixed $showsurveypolicynotice = 0 $showwelcome
public string $showwelcome Show welcome screen: (Y/N)
$showxquestions
public string $showxquestions Show "There are X questions in this survey": (Y/N)
$sid
public int $sid Survey ID
$startdate
public string|null $startdate Survey Start date as SQL datetime (YYYY-MM-DD hh:mm:ss)
$startDateFormatted
public string $startDateFormatted Start date formatted according to user format
$surveygroup
public SurveysGroups $surveygroup $surveyinfo
public array<string|int, mixed> $surveyinfo $template
public string $template Template name
$timingsTableName
public string $timingsTableName Name of survey timings table
$tokenanswerspersistence
public string $tokenanswerspersistence Enable token-based response persistence: (Y/N)
$tokenAttributes
public array<string|int, mixed> $tokenAttributes Additional token attribute names
$tokenencryptionoptions
public string $tokenencryptionoptions Token encryption options
$tokenlength
public int $tokenlength Token length: MIN:5 MAX:36
$tokensTableName
public string $tokensTableName Name of survey tokens table
$usecaptcha
public string $usecaptcha $usecookie
public string $usecookie Are cookies used to prevent repeated participation (Y/N)
$usetokens
public string $usetokens $findByPkCache
protected static array<string|int, mixed> $findByPkCache = [] $xssFilterAttributes
protected array<string|int, string> $xssFilterAttributes = [] Array of attributes that should be XSS filtered on mass updates
$sSurveyUrl
private mixed $sSurveyUrl Methods
active()
public active() : mixed afterFindSurvey()
afterFindSurvey to fix and/or add some survey attribute - event afterFindSurvey (for all attributes) - Fix template name to be sure template exist - setOptions for inherited value
public afterFindSurvey() : mixed attributeLabels()
public attributeLabels() : mixed Tags
behaviors()
Lists the behaviors of this model
public behaviors() : array<string|int, mixed> Below is a list of all behaviors we register:
Tags
Return values
array<string|int, mixed>calculateEstimatedTime()
Method to make an approximation on how long a survey will last Approx is 3 questions each minute.
public calculateEstimatedTime() : float Tags
Return values
floatcheckExpireAfterStart()
Validates the Expiration Date is not lower than the Start Date
public checkExpireAfterStart(mixed $attributes, mixed $params) : mixed Parameters
- $attributes : mixed
- $params : mixed
decrypt()
Decrypt values from database
public decrypt([mixed $value = '' ]) : mixed Parameters
- $value : mixed = ''
decryptEncryptAttributes()
Encrypt/decrypt values
public decryptEncryptAttributes([mixed $action = 'decrypt' ]) : mixed Parameters
- $action : mixed = 'decrypt'
decryptSingle()
Decrypt single value
public static decryptSingle([string $value = '' ]) : string Parameters
- $value : string = ''
-
String value which needs to be decrypted
Return values
string —the decrypted string
decryptSingleOld()
Decrypt single value
public static decryptSingleOld([string $value = '' ]) : string Parameters
- $value : string = ''
-
String value which needs to be decrypted
Return values
string —the decrypted string
delete()
public delete([bool $recursive = true ]) : mixed Parameters
- $recursive : bool = true
Tags
deleteAllByAttributes()
public deleteAllByAttributes(array<string|int, mixed> $attributes[, string $condition = '' ][, array<string|int, mixed> $params = [] ]) : int Parameters
- $attributes : array<string|int, mixed>
-
list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.
- $condition : string = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Tags
Return values
int —number of rows affected by the execution.
deleteSurvey()
Deletes a survey and all its data
public deleteSurvey(int $iSurveyID[, bool $recursive = true ]) : bool Parameters
- $iSurveyID : int
- $recursive : bool = true
Tags
Return values
booldispatchPluginModelEvent()
public dispatchPluginModelEvent(string $sEventName, CDbCriteria $criteria = null, array<string|int, mixed> $eventParams = []) : PluginEvent Parameters
- $sEventName : string
- $criteria = null : CDbCriteria
- $eventParams = [] : array<string|int, mixed>
Return values
PluginEventencrypt()
Encrypt values
public encrypt() : mixed encryptAttributeValues()
Attribute values are encrypted ( if needed )to be used for searching purposes
public encryptAttributeValues([array<string|int, mixed> $attributes = null ][, mixed $bEncryptedOnly = false ][, mixed $bReplaceValues = true ]) : array<string|int, mixed> Parameters
- $attributes : array<string|int, mixed> = null
-
list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.
- $bEncryptedOnly : mixed = false
- $bReplaceValues : mixed = true
Return values
array<string|int, mixed> —attributes array with encrypted atrribute values is returned
encryptSave()
Encrypt values before saving to the database
public encryptSave([mixed $runValidation = false ]) : mixed Parameters
- $runValidation : mixed = false
encryptSingle()
Enrypt single value
public static encryptSingle([string $value = '' ]) : mixed Parameters
- $value : string = ''
-
String value which needs to be encrypted
expire()
Expires a survey. If the object was invoked using find or new surveyId can be ommited.
public expire([int $surveyId = null ]) : bool|null Parameters
- $surveyId : int = null
-
Survey ID
Return values
bool|nullfilterTemplateSave()
filterTemplateSave to fix some template name
public filterTemplateSave(string $sTemplateName) : string Parameters
- $sTemplateName : string
Return values
stringfindAllAsArray()
Finds all active records satisfying the specified condition but returns them as array
public findAllAsArray([mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : array<string|int, mixed> Parameters
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
array<string|int, mixed> —list of active records satisfying the specified condition. An empty array is returned if none is found.
findAllByAttributes()
Overriding of Yii's findAllByAttributes method to provide encrypted attribute value search
public findAllByAttributes(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : array<string|int, static> Parameters
- $attributes : array<string|int, mixed>
-
list of attribute values (indexed by attribute names) that the active records should match. An attribute value can be an array which will be used to generate an IN condition.
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
array<string|int, static> —the records found. An empty array is returned if none is found.
findAllPublic()
public findAllPublic() : mixed findByAttributes()
Overriding of Yii's findByAttributes method to provide encrypted attribute value search
public findByAttributes(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = [] ]) : static|null Parameters
- $attributes : array<string|int, mixed>
-
list of attribute values (indexed by attribute names) that the active record should match. An attribute value can be an array which will be used to generate an IN condition.
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = []
-
parameters to be bound to an SQL statement.
Return values
static|null —the record found. Null if none is found.
findByPk()
public findByPk(mixed $pk[, mixed $condition = '' ][, mixed $params = array() ]) : mixed Parameters
- $pk : mixed
- $condition : mixed = ''
- $params : mixed = array()
Tags
findQuestionByType()
public findQuestionByType(string $type[, bool $includeSubquestions = false ]) : Question Parameters
- $type : string
-
Question->type
- $includeSubquestions : bool = false
Return values
QuestionfixInvalidQuestions()
Fix invalid question in this survey Delete question that don't exist in primary language
public fixInvalidQuestions() : mixed getActiveWord()
public getActiveWord() : string Return values
stringgetAdditionalLanguages()
Returns additional languages formatted into a string
public getAdditionalLanguages() : array<string|int, mixed> Tags
Return values
array<string|int, mixed>getAliasForLanguage()
Returns the survey alias for the specified language.
public getAliasForLanguage([string|null $language = null ]) : string|null Parameters
- $language : string|null = null
Return values
string|nullgetAllEncryptedAttributes()
public getAllEncryptedAttributes(int $iSurveyId, string $sClassName) : array<string|int, mixed> Parameters
- $iSurveyId : int
- $sClassName : string
Return values
array<string|int, mixed> —TODO: Should be split into seperate functions in the appropiate model or helper class TODO: Make an interface for records that support encryption.
getAllLanguages()
Returns all languages array
public getAllLanguages() : array<string|int, mixed> Tags
Return values
array<string|int, mixed>getAllQuestions()
public getAllQuestions() : array<string|int, Question> Return values
array<string|int, Question>getAnonymizedResponses()
public getAnonymizedResponses() : string Return values
stringgetBaseQuestions()
public getBaseQuestions() : array<string|int, Question> Return values
array<string|int, Question>getButtons()
Returns buttons for gridview.
public getButtons() : string Tags
Return values
stringgetCountFullAnswers()
public getCountFullAnswers() : int|string Return values
int|stringgetCountInputQuestions()
Get the coutn of questions that need input (skipping text-display etc.)
public getCountInputQuestions() : int Return values
intgetCountNoInputQuestions()
Get the coutn of questions that do not need input (skipping text-display etc.)
public getCountNoInputQuestions() : int Return values
intgetCountPartialAnswers()
public getCountPartialAnswers() : int Return values
intgetCountTotalAnswers()
public getCountTotalAnswers() : int Return values
intgetCountTotalQuestions()
public getCountTotalQuestions() : int Return values
intgetCPDBMappings()
This function returns any valid mappings from the survey participants tables to the CPDB in the form of an array [<cpdb_attribute_id>=><participant_table_attribute_name>]
public getCPDBMappings() : array<string|int, mixed> Return values
array<string|int, mixed> —Array of mappings
getCreationDate()
public getCreationDate() : string Return values
string —formatted date
getCurrentLanguageSettings()
The Survey languagesettings in currently active language. Falls back to the surveys' default language if the current language is not available.
public getCurrentLanguageSettings() : SurveyLanguageSetting Return values
SurveyLanguageSettinggetDecodedAttributedescriptions()
decodes the attributedescriptions to be used anywhere necessary
public getDecodedAttributedescriptions() : array<string|int, mixed> Return values
array<string|int, mixed>getExpiryDateFormatted()
public getExpiryDateFormatted() : string Return values
string —formatted date
getGoogleanalyticsapikey()
Returns the value for the SurveyEdit GoogleAnalytics API-Key UseGlobal Setting
public getGoogleanalyticsapikey() : string Return values
stringgetGoogleanalyticsapikeysetting()
Returns the value for the SurveyEdit GoogleAnalytics API-Key UseGlobal Setting
public getGoogleanalyticsapikeysetting() : string Return values
stringgetGroupsCount()
Gets number of groups inside a particular survey
public getGroupsCount() : mixed getHasResponsesTable()
Wheteher the survey responses (data) table exists in DB
public getHasResponsesTable() : bool Return values
boolgetHasTimingsTable()
Wheteher the survey responses timings exists in DB
public getHasTimingsTable() : bool Return values
boolgetHasTokensTable()
Returns true in a survey participants table exists for survey
public getHasTokensTable() : bool Return values
boolgetIsActive()
public getIsActive() : bool Return values
boolgetIsAllowEditAfterCompletion()
public getIsAllowEditAfterCompletion() : bool Return values
boolgetIsAllowPrev()
public getIsAllowPrev() : bool Return values
boolgetIsAllowRegister()
public getIsAllowRegister() : bool Return values
boolgetIsAllowSave()
public getIsAllowSave() : bool Return values
boolgetIsAnonymized()
public getIsAnonymized() : bool Return values
boolgetIsAssessments()
public getIsAssessments() : bool Return values
boolgetIsAutoRedirect()
public getIsAutoRedirect() : bool Return values
boolgetIsDateExpired()
public getIsDateExpired() : bool Tags
Return values
boolgetIsDateStamp()
public getIsDateStamp() : bool Return values
boolgetIsHtmlEmail()
public getIsHtmlEmail() : bool Return values
boolgetIsIpAddr()
public getIsIpAddr() : bool Return values
boolgetIsIpAnonymize()
public getIsIpAnonymize() : bool Return values
boolgetIsListPublic()
public getIsListPublic() : bool Return values
boolgetIsNoKeyboard()
public getIsNoKeyboard() : bool Return values
boolgetIsPrintAnswers()
public getIsPrintAnswers() : bool Return values
boolgetIsPublicGraphs()
public getIsPublicGraphs() : bool Return values
boolgetIsPublicStatistics()
public getIsPublicStatistics() : bool Return values
boolgetIsRefUrl()
public getIsRefUrl() : bool Return values
boolgetIsSaveTimings()
public getIsSaveTimings() : bool Return values
boolgetIsSendConfirmation()
public getIsSendConfirmation() : bool Return values
boolgetIsShowGroupInfo()
public getIsShowGroupInfo() : bool Return values
boolgetIsShowNoAnswer()
public getIsShowNoAnswer() : bool Return values
boolgetIsShowProgress()
public getIsShowProgress() : bool Return values
boolgetIsShowQnumCode()
public getIsShowQnumCode() : bool Return values
boolgetIsShowWelcome()
public getIsShowWelcome() : bool Return values
boolgetIsShowXQuestions()
public getIsShowXQuestions() : bool Return values
boolgetIsTokenAnswersPersistence()
public getIsTokenAnswersPersistence() : bool Return values
boolgetIsUseCookie()
public getIsUseCookie() : bool Return values
boolgetLanguageForSurveyTaking()
Return the language of the current survey It can be: - the selected language by user via the language selector (POST then Session) - the selected language via URL (GET then Session) - the survey default language
public getLanguageForSurveyTaking() : string Return values
string —the correct language
getLocalizedTitle()
Returns the title of the survey. Uses the current language and falls back to the surveys' default language if the current language is not available.
public getLocalizedTitle() : mixed getMaxId()
Return the max value for a field
public getMaxId([string $field = null ][, bool $forceRefresh = false ]) : false|int This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Parameters
- $field : string = null
-
The field that contains the Id, when null primary key is used if it is a single field
- $forceRefresh : bool = false
-
Don't use value from static cache but always requery the database
Tags
Return values
false|intgetMinId()
Return the min value for a field
public getMinId([string $field = null ][, bool $forceRefresh = false ]) : false|int This is a convenience method, that uses the primary key of the model to retrieve the highest value.
Parameters
- $field : string = null
-
The field that contains the Id, when null primary key is used if it is a single field
- $forceRefresh : bool = false
-
Don't use value from static cache but always requery the database
Tags
Return values
false|intgetMinimalPermissionRead()
public static getMinimalPermissionRead() : null|string Tags
Return values
null|stringgetOwnerId()
Get the owner id of this Survey Used for Permission
public getOwnerId() : int Return values
intgetOwnerUserName()
public getOwnerUserName() : string Return values
stringgetPermissionData()
Get Permission data for Survey
public static getPermissionData() : array<string|int, mixed> Return values
array<string|int, mixed>getQuotableQuestions()
public getQuotableQuestions() : array<string|int, Question> Return values
array<string|int, Question>getResponsesTableName()
Return the name of survey responses (the data) table name
public getResponsesTableName() : string Return values
stringgetRunning()
Returns the status of the survey, including and icon and wrapped by a link to the survey
public getRunning() : string Tags
Return values
stringgetsSurveyUrl()
TODO: Not used anywhere. Deprecate it?
public getsSurveyUrl() : mixed getStartDateFormatted()
public getStartDateFormatted() : string Return values
string —formatted date
getState()
Get state of survey, which can be one of five: 1. Not active 2. Expired 3. Will expire in the future (running now) 3. Will run in future 4. Running now (no expiration date)
public getState() : string Code copied from getRunning below.
Return values
string —- 'inactive', 'expired', 'willRun', 'willExpire' or 'running'
getSurveyMenus()
Get surveymenu configuration from table surveymenu and prepares
public getSurveyMenus([string $position = '' ]) : array<string|int, mixed> Parameters
- $position : string = ''
-
Position
Tags
Return values
array<string|int, mixed>getSurveysWithTokenTable()
Get all surveys that has participant table
public static getSurveysWithTokenTable() : array<string|int, Survey> Return values
array<string|int, Survey>getSurveyTemplateConfiguration()
Returns Survey Template Configuration.
public getSurveyTemplateConfiguration() : TemplateConfiguration Return values
TemplateConfigurationgetSurveyUrl()
Returns the survey URL with the specified params.
public getSurveyUrl([string|null $language = null ][, array<string|int, mixed>|string|mixed $params = [] ][, bool $preferShortUrl = true ]) : string If $preferShortUrl is true (default), and an alias is available, it returns the short version of the URL.
Parameters
- $language : string|null = null
- $params : array<string|int, mixed>|string|mixed = []
-
Optional parameters to include in the URL.
- $preferShortUrl : bool = true
-
If true, tries to return the short URL instead of the traditional one.
Return values
stringgetTemplateEffectiveName()
Returns the name of the template to be used for the survey.
public getTemplateEffectiveName() : string It resolves inheritance from group and from default settings.
Tags
Return values
stringgetTimingsTableName()
Return the name of survey timigs table
public getTimingsTableName() : string Return values
stringgetTokenAttributes()
Returns the additional token attributes
public getTokenAttributes() : array<string|int, mixed> Tags
Return values
array<string|int, mixed>getTokenEncryptionOptions()
decodes the tokenencryptionoptions to be used anywhere necessary
public getTokenEncryptionOptions() : array<string|int, mixed> Return values
array<string|int, mixed>getTokensTableName()
Return the name of survey tokens table
public getTokensTableName() : string Return values
stringhasPermission()
public hasPermission(mixed $sPermission[, mixed $sCRUD = 'read' ][, mixed $iUserID = null ]) : bool Parameters
- $sPermission : mixed
- $sCRUD : mixed = 'read'
- $iUserID : mixed = null
Tags
Return values
boolhasQuestionType()
Returns true if this survey has any question of type $type.
public hasQuestionType(string $type[, bool $includeSubquestions = false ]) : bool Parameters
- $type : string
-
Question type, like 'L', 'T', etc.
- $includeSubquestions : bool = false
-
If true, will also check the types of subquestions.
Tags
Return values
boolinit()
Set defaults
public init() : mixed Tags
insertNewSurvey()
Creates a new survey - with a random sid
public insertNewSurvey(array<string|int, mixed> $aData) : Survey Parameters
- $aData : array<string|int, mixed>
-
Array with fieldname=>fieldcontents data
Return values
Surveymodel()
public static model([mixed $className = __CLASS__ ]) : Survey Parameters
- $className : mixed = __CLASS__
Tags
Return values
Surveypermission()
permission scope for this model Actually only test if user have minimal access to survey (read)
public permission(int $loginID) : CActiveRecord Parameters
- $loginID : int
Tags
Return values
CActiveRecordprimaryKey()
public primaryKey() : mixed Tags
relations()
public relations() : mixed Tags
replacePolicyLink()
Get the final label for survey ID
public static replacePolicyLink(string $dataSecurityNoticeLabel, int $surveyId) : string Parameters
- $dataSecurityNoticeLabel : string
-
current label
- $surveyId : int
-
unused
Return values
stringresetCache()
findByPk uses a cache to store a result. Use this method to force clearing that cache.
public resetCache() : void rules()
public rules() : mixed Tags
saveTranscribeCaptchaOptions()
Transcribe from 3 checkboxes to 1 char for captcha usages Uses variables from $_POST and transferred Surveyobject
public static saveTranscribeCaptchaOptions([Survey $oSurvey = null ]) : string 'A' = All three captcha enabled 'B' = All but save and load 'C' = All but registration 'D' = All but survey access 'X' = Only survey access 'R' = Only registration 'S' = Only save and load
'E' = All inherited 'F' = Inherited save and load + survey access + registration 'G' = Inherited survey access + registration + save and load 'H' = Inherited registration + save and load + survey access 'I' = Inherited save and load + inherited survey access + registration 'J' = Inherited survey access + inherited registration + save and load 'K' = Inherited registration + inherited save and load + survey access
'L' = Inherited survey access + save and load 'M' = Inherited survey access + registration 'O' = Inherited registration + survey access '1' = Inherited survey access + inherited registration '2' = Inherited survey access + inherited save and load '3' = Inherited registration + inherited save and load '4' = Inherited survey access '5' = Inherited save and load '6' = Inherited registration
'N' = None
Parameters
- $oSurvey : Survey = null
Tags
Return values
string —One character that corresponds to captcha usage
scopes()
public scopes() : mixed Tags
search()
Search
public search([array<string|int, mixed> $options = [] ]) : CActiveDataProvider $options = [ 'pageSize' => 10, 'currentPage' => 1 ];
Parameters
- $options : array<string|int, mixed> = []
Return values
CActiveDataProvidersetAllowjumps()
Attribute renamed to questionindex in dbversion 169 Y maps to 1 otherwise 0;
public setAllowjumps(string $value) : mixed Parameters
- $value : string
setEncryptedAttributeLabel()
Function to show encryption symbol in gridview attribute header if value ois encrypted
public setEncryptedAttributeLabel(int $surveyId, string $className, string $attributeName) : string Parameters
- $surveyId : int
- $className : string
- $attributeName : string
Tags
Return values
stringsetGoogleanalyticsapikeysetting()
Sets Google Analytics API Key Setting.
public setGoogleanalyticsapikeysetting(string $value) : void Parameters
- $value : string
-
Google Analytics Key
setOptions()
public setOptions([mixed $gsid = 1 ]) : mixed Parameters
- $gsid : mixed = 1
setOptionsFromDatabase()
public setOptionsFromDatabase() : mixed setToInherit()
public setToInherit() : mixed setTokenEncryptionOptions()
public setTokenEncryptionOptions(mixed $options) : mixed Parameters
- $options : mixed
tableName()
public tableName() : mixed Tags
updateAll()
Updates records with the specified condition.
public updateAll(array<string|int, mixed> $attributes[, mixed $condition = '' ][, array<string|int, mixed> $params = array() ]) : int XSS filtering is enforced for attributes listed in model's $xssFilterAttributes property. See for detailed explanation about $condition and $params. Note, the attributes are not checked for safety and no validation is done.
Parameters
- $attributes : array<string|int, mixed>
-
list of attributes (name=>$value) to be updated
- $condition : mixed = ''
-
query condition or criteria.
- $params : array<string|int, mixed> = array()
-
parameters to be bound to an SQL statement.
Return values
int —the number of rows being updated
getPermissionCriteria()
Get criteria from Permission
protected static getPermissionCriteria([ $userid = null ]) : CDbCriteria Parameters
Tags
Return values
CDbCriteriaquery()
Modified version that default to do the same as the original, but allows via a third parameter to retrieve the result as array instead of active records. This solves a joining problem. Usage via findAllAsArray method
protected query(CDbCriteria $criteria[, bool $all = false ][, bool $asAR = true ]) : mixed Performs the actual DB query and populates the AR objects with the query result. This method is mainly internally used by other AR query methods.
Parameters
- $criteria : CDbCriteria
-
the query criteria
- $all : bool = false
-
whether to return all data
- $asAR : bool = true
Tags
Return values
mixed —the AR objects populated with the query result
getDateFormatted()
private getDateFormatted(string $attribute) : string Parameters
- $attribute : string
-
date attribute name
Return values
string —formatted date
getQuestionOrderCriteria()
Get the DB criteria to get questions as ordered in survey
private getQuestionOrderCriteria() : CDbCriteria Return values
CDbCriteriagetSurveyQuestionsCriteria()
private getSurveyQuestionsCriteria() : mixed setAttributeDefaults()
private setAttributeDefaults() : mixed shiftedDateTime()
Get a dateime DB and return DateTime or null adjusted
private static shiftedDateTime(mixed $datetime) : DateTime|null Parameters
- $datetime : mixed