Minor - fixes from ofaj_dev

pull/2865/head
Julio 7 years ago
parent 41527dbfc7
commit ef4e78caef
  1. 6
      main/exercise/hotspot_answers.as.php
  2. 111
      main/inc/ajax/extra_field.ajax.php
  3. 31
      main/inc/ajax/model.ajax.php
  4. 2
      main/inc/ajax/social.ajax.php
  5. 1
      main/inc/lib/CoursesAndSessionsCatalog.class.php
  6. 2257
      main/inc/lib/nusoap/class.soap_server.php
  7. 4
      main/inc/lib/pear/HTML/QuickForm/file.php

@ -102,14 +102,16 @@ if (in_array(
) {
$showOnlyScore = true;
$showResults = true;
$lpId = isset($trackExerciseInfo['orig_lp_id']) ? $trackExerciseInfo['orig_lp_id'] : 0;
$lpItemId = isset($trackExerciseInfo['orig_lp_item_id']) ? $trackExerciseInfo['orig_lp_item_id'] : 0;
if ($objExercise->attempts > 0) {
$attempts = Event::getExerciseResultsByUser(
api_get_user_id(),
$objExercise->id,
$courseId,
api_get_session_id(),
$trackExerciseInfo['orig_lp_id'],
$trackExerciseInfo['orig_lp_item_id'],
$lpId,
$lpItemId,
'desc'
);
$numberAttempts = count($attempts);

@ -65,6 +65,117 @@ switch ($action) {
echo json_encode(['items' => $result]);
break;
case 'search_options_from_tags':
$type = isset($_REQUEST['type']) ? $_REQUEST['type'] : null;
$fieldId = isset($_REQUEST['field_id']) ? $_REQUEST['field_id'] : null;
$tag = isset($_REQUEST['tag']) ? $_REQUEST['tag'] : null;
$extraFieldOption = new ExtraFieldOption($type);
$from = isset($_REQUEST['from']) ? $_REQUEST['from'] : '';
$search = isset($_REQUEST['search']) ? $_REQUEST['search'] : '';
$options = isset($_REQUEST['options']) ? json_decode($_REQUEST['options']) : '';
$extraField = new ExtraField('session');
$result = $extraField->searchOptionsFromTags($from, $search, $options);
$options = [];
$groups = [];
foreach ($result as $data) {
// Try to get the translation
$displayText = $data['display_text'];
$valueToTranslate = str_replace('-', '', $data['value']);
$valueTranslated = str_replace(['[=', '=]'], '', get_lang($valueToTranslate));
if ($valueToTranslate != $valueTranslated) {
$displayText = $valueTranslated;
}
$groups[$displayText][] = [
'id' => $data['id'],
'text' => $data['tag'],
];
}
foreach ($groups as $key => $data) {
$options[] = [
'text' => $key,
'children' => $groups[$key],
];
}
echo json_encode($options);
break;
case 'order':
$variable = isset($_REQUEST['field_variable']) ? $_REQUEST['field_variable'] : '';
$save = isset($_REQUEST['save']) ? $_REQUEST['save'] : '';
$values = isset($_REQUEST['values']) ? json_decode($_REQUEST['values']) : '';
$extraField = new ExtraField('session');
$extraFieldInfo = $extraField->get_handler_field_info_by_field_variable(str_replace('extra_', '', $variable));
$em = Database::getManager();
$search = [
'user' => api_get_user_id(),
'field' => $extraFieldInfo['id'],
];
$extraFieldSavedSearch = $em->getRepository('ChamiloCoreBundle:ExtraFieldSavedSearch')->findOneBy($search);
if ($save) {
$extraField = new \Chamilo\CoreBundle\Entity\ExtraFieldSavedSearch('session');
if ($extraFieldSavedSearch) {
$extraFieldSavedSearch->setValue($values);
$em->merge($extraFieldSavedSearch);
$em->flush();
}
}
if ($extraFieldInfo) {
/** @var \Chamilo\CoreBundle\Entity\ExtraFieldSavedSearch $options */
$extraFieldSavedSearch = $em->getRepository('ChamiloCoreBundle:ExtraFieldSavedSearch')->findOneBy($search);
$values = $extraFieldSavedSearch->getValue();
$url = api_get_self().'?a=order&save=1&field_variable='.$variable;
$html = '
<script>
$(function() {
$( "#sortable" ).sortable();
$( "#sortable" ).disableSelection();
$( "#link_'.$variable.'" ).on("click", function() {
var newList = [];
$("#sortable").find("li").each(function(){
newList.push($(this).text());
});
var save = JSON.stringify(newList);
$.ajax({
url: "'.$url.'",
dataType: "json",
data: "values="+save,
success: function(data) {
console.log(data);
}
});
alert("'.get_lang('Saved').'");
location.reload();
return false;
});
});
</script>';
$html .= '<ul id="sortable">';
foreach ($values as $value) {
$html .= '<li class="ui-state-default">';
$html .= $value;
$html .= '</li>';
}
$html .= '</ul>';
$html .= Display::url(get_lang('Save'), '#', ['id' => 'link_'.$variable, 'class' => 'btn btn-primary']);
echo $html;
}
break;
default:
exit;
break;

@ -73,6 +73,8 @@ if (!in_array(
api_protect_teacher_script(true);
}
$toRemove = ['extra_access_start_date', 'extra_access_end_date'];
// Search features
//@todo move this in the display_class or somewhere else
@ -130,6 +132,8 @@ $searchString = isset($_REQUEST['searchString']) ? $_REQUEST['searchString'] : f
$search = isset($_REQUEST['_search']) ? $_REQUEST['_search'] : false;
$forceSearch = isset($_REQUEST['_force_search']) ? $_REQUEST['_force_search'] : false;
$extra_fields = [];
$accessStartDate = '';
$accessEndDate = '';
$overwriteColumnHeaderExport = [];
if (!empty($searchString)) {
@ -150,6 +154,10 @@ if (($search || $forceSearch) && ($search !== 'false')) {
}
$filters = isset($_REQUEST['filters']) && !is_array($_REQUEST['filters']) ? json_decode($_REQUEST['filters']) : false;
if (isset($_REQUEST['filters2'])) {
$filters = json_decode($_REQUEST['filters2']);
}
if (!empty($filters)) {
if (in_array($action, ['get_questions', 'get_sessions'])) {
switch ($action) {
@ -164,7 +172,25 @@ if (($search || $forceSearch) && ($search !== 'false')) {
if (!empty($type)) {
// Extra field.
$extraField = new ExtraField($type);
foreach ($filters->rules as $key => $data) {
if (empty($data)) {
continue;
}
if ($data->field == 'extra_access_start_date') {
$accessStartDate = $data->data;
}
if ($data->field == 'extra_access_end_date') {
$accessEndDate = $data->data;
}
if (in_array($data->field, $toRemove)) {
unset($filters->rules[$key]);
}
}
$result = $extraField->getExtraFieldRules($filters, 'extra_');
$extra_fields = $result['extra_fields'];
$condition_array = $result['condition_array'];
@ -184,6 +210,7 @@ if (($search || $forceSearch) && ($search !== 'false')) {
$questionFields = $resultQuestion['extra_fields'];
$condition_array = $resultQuestion['condition_array'];
$extraQuestionCondition = '';
if (!empty($condition_array)) {
$extraQuestionCondition = $filters->groupOp.' ( ';
$extraQuestionCondition .= implode($filters->groupOp, $condition_array);
@ -197,6 +224,10 @@ if (($search || $forceSearch) && ($search !== 'false')) {
}
$whereCondition .= $extraQuestionCondition;
if (isset($filters->custom_dates)) {
$whereCondition .= $filters->custom_dates;
}
}
} elseif (!empty($filters->rules)) {
$whereCondition .= ' AND ( ';

@ -273,7 +273,7 @@ switch ($action) {
$start = isset($_REQUEST['start']) ? (int) $_REQUEST['start'] : 0;
$length = isset($_REQUEST['length']) ? (int) $_REQUEST['length'] : 10;
$userId = isset($_REQUEST['u']) ? (int) $_REQUEST['u'] : api_get_user_id();
$html = '';
$html = '';
if ($userId == api_get_user_id()) {
$threadList = SocialManager::getThreadList();
$threadIdList = [];

@ -332,7 +332,6 @@ class CoursesAndSessionsCatalog
$visibilityCondition
ORDER BY RAND()
LIMIT 0, $random_value";
echo $sql;
} else {
$sql = "SELECT id, id as real_id FROM $tbl_course course
WHERE

File diff suppressed because it is too large Load Diff

@ -372,9 +372,9 @@ class HTML_QuickForm_file extends HTML_QuickForm_input
$class = 'input-file';
}
return $js.$this->_getTabs().
return $js.$this->_getTabs().
'<input class="'.$class.'" '.$this->_getAttrString($this->_attributes).' />';
}
}
}
/**

Loading…
Cancel
Save