DataEntry

Extends\SurveyCommonAction

dataentry

This controller contains common functions for survey related views.

package

LimeSurvey

author
copyright

2011

access

public

Methods

__construct

__construct( $controller = null, $id = null)
inherited

Arguments

$controller

$id

Some functions have different parameters, which are just an alias of the usual parameters we're getting in the url. This function just populates those variables so that we don't end up in an error.

addPseudoParams(array $params): array
inherited

This is also used while rendering wrapped template SurveyCommonAction::renderWrappedTemplate()

Throws
\CHttpException

Arguments

$params

array

Parameters to parse and populate

Response

array

Populated parameters

This is a duplicate of the array_filter_help function in printablesurvey.php TODO: Why is this duplicated? Use just one solution.

arrayFilterHelp(array $qidattributes,string $surveyprintlang,integer $surveyid): string

Arguments

$qidattributes

array

Given Attributes

$surveyprintlang

string

Given Language

$surveyid

integer

Given Survey ID

Response

string

Returns content from event beforeSideMenuRender

beforeSideMenuRender(array $aData): string
inherited

REFACTORED in LayoutHelper

Arguments

$aData

array

Response

string

dataentry::delete() delete dataentry

delete(): void

dataentry::editdata() Edit dataentry.

editdata(string $subaction,integer $id,integer $surveyid): void

Arguments

$subaction

string

Given Subaction

$id

integer

Given ID

$surveyid

integer

Given Survey ID

Get extra menus from plugins that are using event beforeAdminMenuRender

fetchExtraMenus(array $aData): \array<ExtraMenu>
inherited

Arguments

$aData

array

Response

\array

filterImportedResources

filterImportedResources(string $extractdir,string $destdir): array
inherited
deprecated

use ServiceClass FilterImportedResources instead ... (models/services/)

Arguments

$extractdir

string

$destdir

string

Response

array

Renders the fullpager bar That's the white bar with action buttons example: 'Back' Button

fullpagebar(array $aData)
inherited
Throws
\CException

Arguments

$aData

array

REFACTORED in LayoutHelper

generaltopbar( $aData)
inherited
Throws
\CException

Arguments

$aData

Returns Encoding Array.

getEncodingsArray(): array

Response

array

Returns the last answer for token or anonymous survey.

getLastAnswerByTokenOrAnonymousSurvey(\Survey $survey,\Token $token = null): string

Arguments

$survey

\Survey

Survey

$token

\Token

Token

Response

string

Takes a table schema and finds the field for some question id.

getQidColumn(\CDbTableSchema $schema,string $qid): \CDbColumnSchema

Arguments

$schema

\CDbTableSchema

Given Schema

$qid

string

Given Question ID

Response

\CDbColumnSchema

Returns an Token.

getToken(integer $id,string $token): null|\Token

Arguments

$id

integer

Survey ID

$token

string

Token (Post Request Data)

Response

null|\Token

Handles file upload Method.

handleFileUpload(integer $iSurveyId,array $aData): void

Arguments

$iSurveyId

integer

Given Survey ID

$aData

array

Given Data

dataentry::import() Function responsible to import responses from old survey table(s).

import(integer $surveyid): void

Arguments

$surveyid

integer

Given Survey ID

index

index(): void
inherited

dataentry::insert() insert new dataentry

insert()

Compares 2 table schema to see if they are compatible.

isCompatible(\CDbTableSchema $base,\CDbTableSchema $old,boolean $checkColumnTypes = true): boolean

Arguments

$base

\CDbTableSchema

Given Base Database Schema

$old

\CDbTableSchema

Given Old Database Schema

$checkColumnTypes

boolean

Checks Column Types

Response

boolean

Iterate Survey Method.

iteratesurvey(integer $surveyid): void

Arguments

$surveyid

integer

Given Survey ID

REFACTORED in LayoutHelper

listquestiongroups(array $aData)
inherited

listquestion groups

Arguments

$aData

array

REFACTORED in LayoutHelper

listquestions( $aData)
inherited
Throws
\CException

Arguments

$aData

Move uploaded files Method.

moveUploadedFile(array $aData): void|string

Arguments

$aData

array

Given Data

Response

void|string

Display notifications

notifications()
inherited
  • REFACTORED (in LayoutHelper.php)

Show admin menu for question group view

nquestiongroupbar(array $aData)
inherited

Arguments

$aData

array

?

REFACTORED in LayoutHelper

nsurveysummary(array $aData)
inherited

Survey summary

Arguments

$aData

array

Render the save/cancel bar for Organize question groups/questions

organizequestionbar(array $aData)
inherited

REFACTORED in LayoutHelper

since 2014-09-30
author

LimeSurvey GmbH

Arguments

$aData

array

Shows admin menu for question

questionbar(array $aData)
inherited
deprecated

not in use anymore

Arguments

$aData

array

Rendering the subviews and views of renderWrappedTemplate

renderCentralContents(string $sAction,array|string $aViewUrls,array $aData = array()): string
inherited

Arguments

$sAction

string

$aViewUrls

array|string

$aData

array

Response

string

renderInternal

renderInternal(string $_viewFile_, $_data_ = null, $_return_ = false)
inherited
inheritdoc

Arguments

$_viewFile_

string

$_data_

$_return_

Method to render an array as a json document

renderJSON(array $aData, $success = true): void
inherited

REFACTORED in LSBaseController (this one called by a lot of actions in different controllers)

Arguments

$aData

array

$success

Render the quick-menu that is shown when side-menu is hidden.

renderQuickmenu(array $aData): string
inherited

REFACTORED in LayoutHelper

Only show home-icon for now.

Add support for plugin to attach icon elements using event afterQuickMenuLoad

todo

Make quick-menu user configurable

Arguments

$aData

array

Response

string

Renders template(s) wrapped in header and footer

renderWrappedTemplate(string $sAction = '',array|string $aViewUrls = array(),array $aData = array(),string|boolean $sRenderFile = false)
inherited

Addition of parameters should be avoided if they can be added to $aData

NOTE FROM LOUIS : We want to remove this function, which doesn't respect MVC pattern. The work it's doing should be handle by layout files, and subviews inside views. Eg : for route "admin/survey/sa/listquestiongroups/surveyid/282267" the Group controller should use a main layout (with admin menu bar as a widget), then render the list view, in which the question group bar is called as a subview.

So for now, we try to evacuate all the renderWrappedTemplate logic (if statements, etc.) to subfunctions, then it will be easier to remove. Comments starting with //// indicate how it should work in the future

Throws
\CHttpException

Arguments

$sAction

string

Current action, the folder to fetch views from

$aViewUrls

array|string

View url(s)

$aData

array

Data to be passed on. Optional.

$sRenderFile

string|boolean

File to be rendered as a layout. Optional.

Validates that the request method is POST.

requirePostRequest()
inherited

This is intended to be used on subactions. When possible (eg. when refactoring a SurveyCommonAction into an actual controller), use 'postOnly' filter instead.

Throws
\CHttpException

with 405 status if the request method is not POST.

Returns Error Message if access code is not valid or already in use.

returnAccessCodeIsNotValidOrAlreadyInUseErrorMessage(): string

Response

string

Returns Error Message if access code is already recorded.

returnAlreadyRecordedAnswerForAccessCodeErrorMessage(): string

Response

string

Returns Error Message if the survey only supports closed access.

returnClosedAccessSurveyErrorMessage(): string

Response

string

Returns Error Message if LastAnswerForToken is not Privacy Protected. Appends it to the given ErrorMessage.

returnErrorMessageIfLastAnswerForTokenIsNotPrivacyProtected(string $lastAnswer,integer $id,string $errorMessage): string

Arguments

$lastAnswer

string

Last Answer for Token

$id

integer

Survey ID

$errorMessage

string

Error Message

Response

string

Returns Error Message if Last Answer for Token is Privacy Protected.

returnErrorMessageIfLastAnswerForTokenIsPrivacyProtected(string $errorMessage): string

Arguments

$errorMessage

string

Error Message

Response

string

Routes the action into correct subaction

route(string $sa,array<mixed,string> $get_vars): mixed
inherited
access

protected

Arguments

$sa

string

$get_vars

array<mixed,string>

Response

mixed

Action classes require them to have a run method. We reroute it to index if called.

run()
inherited

Override runWithParams() implementation in CAction to help us parse requests with subactions.

runWithParams(array $params): boolean
inherited

Arguments

$params

array

URL Parameters

Response

boolean

showadminmenu() function returns html text for the administration button bar

showadminmenu( $aData): string
inherited

REFACTORED (in LayoutHelper.php)

access

public

global

string $homedir

string $scriptname

string $surveyid

string $setfont

string $imageurl

int $surveyid

Arguments

$aData

Response

string

Header

showHeaders(array $aData, $sendHTTPHeader = true)
inherited
  • REFACTORED (in LayoutHelper.php)

Arguments

$aData

array

$sendHTTPHeader

Show upload form Method.

showUploadForm(array<mixed,string> $aEncodings,integer $surveyid,array $aData): void

Arguments

$aEncodings

array<mixed,string>

Given Encoding

$surveyid

integer

Given Survey ID

$aData

array

Given Data

Shows admin menu for surveys

surveybar(array $aData)
inherited
deprecated

Arguments

$aData

array

Renders the green bar with page title Also called SurveyManagerBar

surveyManagerBar(array $aData)
inherited
todo

Needs to be removed later. Duplication in LayoutHelper.

Arguments

$aData

array

Show side menu for survey view

surveysidemenu(array $aData)
inherited

REFACTORED in LayoutHelper.php

Arguments

$aData

array

all the needed data

Takes a list of tablenames and creates a nice key value array.

tableList(array $tables): array

Arguments

$tables

array

Given Tables

Response

array

REFACTORED in LayoutHelper.php

titlebar( $aData)
inherited
Throws
\CException

Arguments

$aData

dataentry::update() update dataentry

update(): void

Display the update notification

updatenotification()
inherited

REFACTORED (in LayoutHelper.php)

Load menu bar of user group controller.

userGroupBar(array $aData): void
inherited

REFACTORED (it's in UserGroupController and uses function from Layouthelper->renderMenuBar())

Arguments

$aData

array

dataentry::view() view a dataentry

view(integer $surveyid): void

Arguments

$surveyid

integer

Given Survey ID

Function responsible for importing responses from file (.csv)

vvimport(): void