$delete_link = Display::tag('div', $delete_link, array('style' => 'float:left; padding:0px; margin:0px'));
 $actions = Display::tag('div', $edit_link . $clone_link . $delete_link, array('class' => 'edition', 'style' => 'width:100px; right:10px;     margin-top: 0px;     position: absolute;     top: 10%;'));
 $title = Security::remove_XSS($objQuestionTmp->selectTitle());
 $move = Display::return_icon('all_directions.png', get_lang('Move'), array('class' => 'moved', 'style' => 'margin-bottom:-0.5em;'));
 // Question name
 $questionName = Display::tag('div', '<a href="#" title = "' . $title . '">' . $move . ' ' . Text::cut($title, 42) . '</a>', array('style' => $styleQuestion));
 // Question type.
 list($typeImg, $typeExpl) = $objQuestionTmp->get_type_icon_html();
 $question_media = null;
 if (!empty($objQuestionTmp->parent_id)) {
     $objQuestionMedia = Question::read($objQuestionTmp->parent_id);
     $question_media = ' ' . Question::getMediaLabel($objQuestionMedia->question);
 }
 $questionType = Display::tag('div', Display::return_icon($typeImg, $typeExpl, array(), ICON_SIZE_MEDIUM), array('style' => $styleType));
 // Question category.
 $category_labels = Testcategory::return_category_labels($objQuestionTmp->category_list, $category_list);
 if (empty($category_labels)) {
     $category_labels = "";
 }
 $questionCategory = Display::tag('div', '<a href="#" style="padding:0px; margin:0px;">' . $category_labels . $question_media . '</a>', array('style' => $styleCat));
 // Question level.
 $txtQuestionLevel = $objQuestionTmp->level;
 if (empty($objQuestionTmp->level)) {
     $txtQuestionLevel = '-';
 }
 $questionLevel = Display::tag('div', $txtQuestionLevel, array('style' => $styleLevel));
 // Question score
 $questionScore = Display::tag('div', $objQuestionTmp->selectWeighting(), array('style' => $styleScore));
 echo '<div id="question_id_list_' . $id . '" >';
 echo '<div class="header_operations">';
 echo $questionName;
function get_question_category_for_question($course_id, $question_id)
{
    global $all_category_list;
    $objQuestionTmp = Question::read($question_id, $course_id);
    return Testcategory::return_category_labels($objQuestionTmp->category_list, $all_category_list);
}
 /**
  *
  * @param int $start
  * @param int $limit
  * @param int $sidx
  * @param string $sord
  * @param array $where_condition
  * @param array $extraFields
  */
 public function getQuestionListPagination($start, $limit, $sidx, $sord, $where_condition = array(), $extraFields = array())
 {
     if (!empty($this->id)) {
         $category_list = Testcategory::getListOfCategoriesNameForTest($this->id, false);
         //$category_list = Testcategory::getListOfCategoriesIDForTestObject($this);
         $TBL_EXERCICE_QUESTION = Database::get_course_table(TABLE_QUIZ_TEST_QUESTION);
         $TBL_QUESTIONS = Database::get_course_table(TABLE_QUIZ_QUESTION);
         $sql = "SELECT q.iid\n                    FROM {$TBL_EXERCICE_QUESTION} e INNER JOIN {$TBL_QUESTIONS}  q\n                        ON (e.question_id = q.iid AND e.c_id = " . $this->course_id . " )\n\t\t\t\t\tWHERE e.exercice_id\t= '" . Database::escape_string($this->id) . "'\n\t\t\t\t\t";
         $orderCondition = "ORDER BY question_order";
         if (!empty($sidx) && !empty($sord)) {
             if ($sidx == 'question') {
                 if (in_array(strtolower($sord), array('desc', 'asc'))) {
                     $orderCondition = " ORDER BY q.{$sidx} {$sord}";
                 }
             }
         }
         $sql .= $orderCondition;
         $limitCondition = null;
         if (isset($start) && isset($limit)) {
             $start = intval($start);
             $limit = intval($limit);
             $limitCondition = " LIMIT {$start}, {$limit}";
         }
         $sql .= $limitCondition;
         $result = Database::query($sql);
         $questions = array();
         if (Database::num_rows($result)) {
             if (!empty($extraFields)) {
                 $extraFieldValue = new ExtraFieldValue('question');
             }
             while ($question = Database::fetch_array($result, 'ASSOC')) {
                 /** @var Question $objQuestionTmp */
                 $objQuestionTmp = Question::read($question['iid']);
                 $category_labels = Testcategory::return_category_labels($objQuestionTmp->category_list, $category_list);
                 if (empty($category_labels)) {
                     $category_labels = "-";
                 }
                 // Question type
                 list($typeImg, $typeExpl) = $objQuestionTmp->get_type_icon_html();
                 $question_media = null;
                 if (!empty($objQuestionTmp->parent_id)) {
                     $objQuestionMedia = Question::read($objQuestionTmp->parent_id);
                     $question_media = Question::getMediaLabel($objQuestionMedia->question);
                 }
                 $questionType = Display::tag('div', Display::return_icon($typeImg, $typeExpl, array(), ICON_SIZE_MEDIUM) . $question_media);
                 $question = array('id' => $question['iid'], 'question' => $objQuestionTmp->selectTitle(), 'type' => $questionType, 'category' => Display::tag('div', '<a href="#" style="padding:0px; margin:0px;">' . $category_labels . '</a>'), 'score' => $objQuestionTmp->selectWeighting(), 'level' => $objQuestionTmp->level);
                 if (!empty($extraFields)) {
                     foreach ($extraFields as $extraField) {
                         $value = $extraFieldValue->get_values_by_handler_and_field_id($question['id'], $extraField['id']);
                         $stringValue = null;
                         if ($value) {
                             $stringValue = $value['field_value'];
                         }
                         $question[$extraField['field_variable']] = $stringValue;
                     }
                 }
                 $questions[] = $question;
             }
         }
         return $questions;
     }
 }