1
0
Fork 0
mirror of https://github.com/YunoHost-Apps/limesurvey_ynh.git synced 2024-09-03 19:36:32 +02:00
limesurvey_ynh/sources/application/libraries/PluginManager/Question/iQuestion.php

54 lines
2 KiB
PHP

<?php
interface iQuestion {
public function __construct(iPlugin $plugin, LimesurveyApi $api, $questionId = null, $responseId = null);
/**
* Function that returns meta data for the available attributes
* for the question type.
*
*/
public function getAttributes($language = null);
/**
* Returns the number of question this question contains.
* Defaults to 1, can be set to 0 if this question should not be counted
* like in case for display only or equation questions.
* @return int
*/
public function getCount();
/**
* This function derives a unique identifier for identifying a question type.
*/
public static function getGUID();
/**
* Returns the variables exposed by this question.
* The returned array contains a key for each variable name and the value is an array with meta data.
* @return array
*/
public function getVariables();
/**
* @param Twig_Environment $twig A reference to configured Twig Environment.
* This Twig environment will have a correctly configured translation environment.
* This Twig environment will have the plugin view path configured in its loader.
* @param bool $return If true, return the content instead of outputting it.
*/
public function render($name, $language, $return = false);
/**
* This function must save the custom question attributes for a question.
* The default implementation just iterates over the array and saves each property.
* @param $attributes A array containing the value for each attribute filled in.
* @return boolean True on success, false on failure(s).
*/
public function saveAttributes(array $attributes, $qid = null);
}
?>