TutorialsController

Extends\SurveyCommonAction

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

Methods

__construct

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

Arguments

$controller

$id

Specifies the access control rules.

accessRules(): array

This method is used by the 'accessControl' filter.

Response

array

access control rules

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

Manages all models.

admin()

Returns content from event beforeSideMenuRender

beforeSideMenuRender(array $aData): string
inherited

REFACTORED in LayoutHelper

Arguments

$aData

array

Response

string

Creates a new model.

create()

If creation is successful, the browser will be redirected to the 'view' page.

Deletes a particular model.

delete(integer $id)

If deletion is successful, the browser will be redirected to the 'admin' page.

Arguments

$id

integer

the ID of the model to be deleted

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

filters

filters(): array<mixed,string>

Response

array<mixed,string>

action filters

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

index

index(): void
inherited

index

index()

REFACTORED in LayoutHelper

listquestiongroups(array $aData)
inherited

listquestion groups

Arguments

$aData

array

REFACTORED in LayoutHelper

listquestions( $aData)
inherited
Throws
\CException

Arguments

$aData

Returns the data model based on the primary key given in the GET variable.

loadModel(integer $id): \Tutorial

If the data model is not found, an HTTP exception will be raised.

Throws
\CHttpException

Arguments

$id

integer

the ID of the model to be loaded

Response

\Tutorial

the loaded model

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

Performs the AJAX validation.

performAjaxValidation(\Tutorial $model)

Arguments

$model

\Tutorial

the model to be validated

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, wich 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 wich 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.

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

servertutorial

servertutorial()

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

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

REFACTORED in LayoutHelper.php

titlebar( $aData)
inherited
Throws
\CException

Arguments

$aData

triggerfinished

triggerfinished( $tid)

Arguments

$tid

Updates a particular model.

update(integer $id)

If update is successful, the browser will be redirected to the 'view' page.

Arguments

$id

integer

the ID of the model to be updated

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

view

view()