This tutorial controller is the first step to have user generated tutorials.
Current project stance is only to serve pregenerated tutorials bay LimeSurvey Company.
TODO | : Make this user editable |
---|---|
package | Default |
__construct( $controller = null, $id = null)
accessRules(): array
This method is used by the 'accessControl' filter.
array
access control rules
addPseudoParams(array $params): array
This is also used while rendering wrapped template SurveyCommonAction::renderWrappedTemplate()
Throws |
|
---|
array
Parameters to parse and populate
array
Populated parameters
admin()
beforeSideMenuRender(array $aData): string
REFACTORED in LayoutHelper
array
string
create()
If creation is successful, the browser will be redirected to the 'view' page.
delete(integer $id)
If deletion is successful, the browser will be redirected to the 'admin' page.
integer
the ID of the model to be deleted
fetchExtraMenus(array $aData): \array<ExtraMenu>
array
\array
filterImportedResources(string $extractdir,string $destdir): array
deprecated | use ServiceClass FilterImportedResources instead ... (models/services/) |
---|
string
string
array
filters(): array<mixed,string>
array<mixed,string>
action filters
index(): void
index()
listquestiongroups(array $aData)
listquestion groups
array
listquestions( $aData)
Throws |
|
---|
loadModel(integer $id): \Tutorial
If the data model is not found, an HTTP exception will be raised.
Throws |
|
---|
integer
the ID of the model to be loaded
\Tutorial
the loaded model
notifications()
nsurveysummary(array $aData)
Survey summary
array
performAjaxValidation(\Tutorial $model)
renderCentralContents(string $sAction,array|string $aViewUrls,array $aData = array()): string
string
array|string
array
string
renderInternal(string $_viewFile_, $_data_ = null, $_return_ = false)
inheritdoc | |
---|---|
string
renderJSON(array $aData, $success = true): void
REFACTORED in LSBaseController (this one called by a lot of actions in different controllers)
array
renderWrappedTemplate(string $sAction = '',array|string $aViewUrls = array(),array $aData = array(),string|boolean $sRenderFile = false)
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 |
|
---|
string
Current action, the folder to fetch views from
array|string
View url(s)
array
Data to be passed on. Optional.
string|boolean
File to be rendered as a layout. Optional.
requirePostRequest()
This is intended to be used on subactions. When possible (eg. when refactoring a SurveyCommonAction into an actual controller), use 'postOnly' filter instead.
Throws |
|
---|
route(string $sa,array<mixed,string> $get_vars): mixed
access | protected |
---|
string
array<mixed,string>
mixed
run()
runWithParams(array $params): boolean
array
URL Parameters
boolean
servertutorial()
showHeaders(array $aData, $sendHTTPHeader = true)
array
surveyManagerBar(array $aData)
todo | Needs to be removed later. Duplication in LayoutHelper. |
---|---|
array
triggerfinished( $tid)
update(integer $id)
If update is successful, the browser will be redirected to the 'view' page.
integer
the ID of the model to be updated
updatenotification()
REFACTORED (in LayoutHelper.php)
userGroupBar(array $aData): void
REFACTORED (it's in UserGroupController and uses function from Layouthelper->renderMenuBar())
array
view()