Remove WEB_UPLOAD_PATH calls

pull/3768/head
Julio Montoya 5 years ago
parent 25f29bec34
commit ccbe5eae9b
  1. 17
      public/main/inc/ajax/session.ajax.php
  2. 245
      public/main/inc/lib/extra_field.lib.php
  3. 30
      public/main/inc/lib/extra_field_value.lib.php
  4. 37
      public/main/inc/lib/sessionmanager.lib.php
  5. 5
      public/main/session/session_add.php

@ -149,7 +149,6 @@ switch ($action) {
$valueList = array_column($values, 'id');
foreach ($allExtraFields as $extra) {
if (!in_array($extra['id'], $valueList)) {
//$urlUpload = api_get_path(WEB_UPLOAD_PATH);
$values[] = [
'id' => $extra['id'],
'variable' => $extra['variable'],
@ -159,23 +158,7 @@ switch ($action) {
}
}
}
$repo = \Chamilo\CoreBundle\Framework\Container::getAssetRepository();
foreach ($values as &$valueItem) {
if ($valueItem['field_type'] &&
in_array($valueItem['field_type'], [ExtraField::FIELD_TYPE_FILE, ExtraField::FIELD_TYPE_FILE_IMAGE])
) {
$valueItem['value_url'] = '';
$asset = $repo->find($valueItem['value']);
if ($asset) {
$url = $repo->getAssetUrl($asset);
$valueItem['value_url'] = $url;
}
}
}
$sessionInfo['extra_fields'] = $values;
if (!empty($sessionInfo)) {
echo json_encode($sessionInfo);
}

@ -2,6 +2,7 @@
/* For licensing terms, see /license.txt */
use Chamilo\CoreBundle\Entity\Asset;
use Chamilo\CoreBundle\Entity\ExtraField as EntityExtraField;
use Chamilo\CoreBundle\Entity\ExtraFieldRelTag;
use Chamilo\CoreBundle\Entity\Tag;
@ -1014,8 +1015,8 @@ class ExtraField extends Model
$valueToFind = $field_details['field_default_value'];
}
// If a value is found we override the default value
if (isset($extraData['extra_'.$field_details['variable']])) {
$valueToFind = $extraData['extra_'.$field_details['variable']];
if (isset($extraData['extra_'.$variable])) {
$valueToFind = $extraData['extra_'.$variable];
}
foreach ($field_details['options'] as $option) {
@ -1066,27 +1067,27 @@ class ExtraField extends Model
case self::FIELD_TYPE_TEXT:
$form->addElement(
'text',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
[
'id' => 'extra_'.$field_details['variable'],
'id' => 'extra_'.$variable,
]
);
$form->applyFilter(
'extra_'.$field_details['variable'],
'extra_'.$variable,
'stripslashes'
);
$form->applyFilter(
'extra_'.$field_details['variable'],
'extra_'.$variable,
'trim'
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_TEXTAREA:
$form->addHtmlEditor(
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
false,
false,
@ -1094,13 +1095,13 @@ class ExtraField extends Model
'ToolbarSet' => 'Profile',
'Width' => '100%',
'Height' => '130',
'id' => 'extra_'.$field_details['variable'],
'id' => 'extra_'.$variable,
]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_RADIO:
@ -1112,7 +1113,7 @@ class ExtraField extends Model
$options[$option_details['option_value']] = $option_details['display_text'];
$group[] = $form->createElement(
'radio',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$option_details['option_value'],
$option_details['display_text'].'<br />',
$option_details['option_value']
@ -1121,11 +1122,11 @@ class ExtraField extends Model
}
$form->addGroup(
$group,
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text']
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_CHECKBOX:
@ -1164,7 +1165,7 @@ class ExtraField extends Model
// We assume that is a switch on/off with 1 and 0 as values
$group[] = $form->createElement(
'checkbox',
'extra_'.$field_details['variable'],
'extra_'.$variable,
null,
get_lang('Yes'),
$checkboxAttributes
@ -1173,11 +1174,11 @@ class ExtraField extends Model
$form->addGroup(
$group,
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text']
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_SELECT:
@ -1195,36 +1196,36 @@ class ExtraField extends Model
}
$form->addElement(
'select',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
$options,
[
'multiple' => 'multiple',
'id' => 'extra_'.$field_details['variable'],
'id' => 'extra_'.$variable,
]
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_DATE:
$form->addDatePicker('extra_'.$field_details['variable'], $field_details['display_text']);
$form->addDatePicker('extra_'.$variable, $field_details['display_text']);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_DATETIME:
$form->addDateTimePicker(
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text']
);
$defaults['extra_'.$field_details['variable']] = api_get_local_time();
if (!isset($form->_defaultValues['extra_'.$field_details['variable']])) {
$defaults['extra_'.$variable] = api_get_local_time();
if (!isset($form->_defaultValues['extra_'.$variable])) {
$form->setDefaults($defaults);
}
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_DOUBLE_SELECT:
@ -1240,7 +1241,7 @@ class ExtraField extends Model
<div class="form-group ">
<div class="col-sm-12">
<div class="panel-separator">
<h4 id="'.$field_details['variable'].'" class="form-separator">'
<h4 id="'.$variable.'" class="form-separator">'
.$field_details['display_text'].'
</h4>
</div>
@ -1249,11 +1250,10 @@ class ExtraField extends Model
');
break;
case self::FIELD_TYPE_TAG:
$variable = $field_details['variable'];
$field_id = $field_details['id'];
$separateValue = 0;
if (isset($separateExtraMultipleSelect[$field_details['variable']])) {
$separateValue = $separateExtraMultipleSelect[$field_details['variable']];
if (isset($separateExtraMultipleSelect[$variable])) {
$separateValue = $separateExtraMultipleSelect[$variable];
}
$selectedOptions = [];
@ -1270,10 +1270,10 @@ class ExtraField extends Model
// ofaj.
for ($i = 0; $i < $separateValue; $i++) {
$tagsSelect = $form->addSelect(
'extra_'.$field_details['variable'].'['.$i.']',
$customLabelsExtraMultipleSelect[$field_details['variable']][$i], //$field_details['display_text'],
'extra_'.$variable.'['.$i.']',
$customLabelsExtraMultipleSelect[$variable][$i], //$field_details['display_text'],
null,
['id' => 'extra_'.$field_details['variable'].'_'.$i]
['id' => 'extra_'.$variable.'_'.$i]
);
if ($addEmptyOptionSelects) {
@ -1298,7 +1298,7 @@ class ExtraField extends Model
}
} else {
$tagsSelect = $form->addSelect(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text'],
[],
['style' => 'width: 100%;']
@ -1310,7 +1310,7 @@ class ExtraField extends Model
$tagsSelect->setAttribute(
'id',
"extra_{$field_details['variable']}"
"extra_{$variable}"
);
$tagsSelect->setMultiple(true);
@ -1355,7 +1355,6 @@ class ExtraField extends Model
foreach ($fieldTags as $fieldTag) {
/** @var Tag $tag */
$tag = $em->find(Tag::class, $fieldTag->getTagId());
if (empty($tag)) {
continue;
}
@ -1366,8 +1365,8 @@ class ExtraField extends Model
$selectedOptions[] = $tag->getTag();
}
if (!empty($extraData) && isset($extraData['extra_'.$field_details['variable']])) {
$data = $extraData['extra_'.$field_details['variable']];
if (!empty($extraData) && isset($extraData['extra_'.$variable])) {
$data = $extraData['extra_'.$variable];
if (!empty($data)) {
foreach ($data as $option) {
$tagsSelect->addOption(
@ -1413,7 +1412,7 @@ class ExtraField extends Model
$form->setDefaults(
[
'extra_'.$field_details['variable'] => $selectedOptions,
'extra_'.$variable => $selectedOptions,
]
);
@ -1441,23 +1440,19 @@ class ExtraField extends Model
case self::FIELD_TYPE_TIMEZONE:
$form->addElement(
'select',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
api_get_timezones(),
''
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_SOCIAL_PROFILE:
// get the social network's favicon
$extra_data_variable = isset($extraData['extra_'.$field_details['variable']])
? $extraData['extra_'.$field_details['variable']]
: null;
$field_default_value = isset($field_details['field_default_value'])
? $field_details['field_default_value']
: null;
$extra_data_variable = isset($extraData['extra_'.$variable]) ? $extraData['extra_'.$variable] : null;
$field_default_value = isset($field_details['field_default_value']) ? $field_details['field_default_value'] : null;
$icon_path = UserManager::get_favicon_from_url(
$extra_data_variable,
$field_default_value
@ -1473,7 +1468,7 @@ class ExtraField extends Model
// print the input field
$form->addElement(
'text',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
[
//'size' => 60,
@ -1488,49 +1483,65 @@ class ExtraField extends Model
),
]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_MOBILE_PHONE_NUMBER:
$form->addElement(
'text',
'extra_'.$field_details['variable'],
$field_details['display_text']." (".get_lang('Include the country dial code').")",
'extra_'.$variable,
$field_details['display_text'].' ('.get_lang('Include the country dial code').')',
['size' => 40, 'placeholder' => '(xx)xxxxxxxxx']
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$field_details['variable'], 'mobile_phone_number_filter');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
$form->applyFilter('extra_'.$variable, 'mobile_phone_number_filter');
$form->addRule(
'extra_'.$field_details['variable'],
'extra_'.$variable,
get_lang('Mobile phone number is incomplete or contains invalid characters'),
'mobile_phone_number'
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_INTEGER:
$form->addElement(
'number',
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
['class' => 'span1', 'step' => 1]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$field_details['variable'], 'intval');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
$form->applyFilter('extra_'.$variable, 'intval');
if ($freezeElement) {
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_FLOAT:
$form->addElement(
'number',
'extra_'.$variable,
$field_details['display_text'],
['class' => 'span1', 'step' => '0.01']
);
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
$form->applyFilter('extra_'.$variable, 'floatval');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_FILE_IMAGE:
$fieldVariable = "extra_{$field_details['variable']}";
$fieldVariable = "extra_{$variable}";
$fieldTexts = [
$field_details['display_text'],
];
@ -1558,39 +1569,23 @@ class ExtraField extends Model
['accept' => 'image/*', 'id' => 'extra_image', 'crop_image' => 'true']
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
$allowedPictureTypes = ['jpg', 'jpeg', 'png', 'gif'];
$form->addRule(
'extra_'.$field_details['variable'],
'extra_'.$variable,
get_lang('Only PNG, JPG or GIF images allowed').' ('.implode(',', $allowedPictureTypes).')',
'filetype',
$allowedPictureTypes
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
}
break;
case self::FIELD_TYPE_FLOAT:
$form->addElement(
'number',
'extra_'.$field_details['variable'],
$field_details['display_text'],
['class' => 'span1', 'step' => '0.01']
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$field_details['variable'], 'floatval');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_FILE:
$fieldVariable = "extra_{$field_details['variable']}";
$fieldVariable = "extra_{$variable}";
$fieldTexts = [
$field_details['display_text'],
];
@ -1598,14 +1593,18 @@ class ExtraField extends Model
if (is_array($extraData) &&
array_key_exists($fieldVariable, $extraData)
) {
if (file_exists(api_get_path(SYS_UPLOAD_PATH).$extraData[$fieldVariable])) {
$assetId = $extraData[$fieldVariable];
$assetRepo = Container::getAssetRepository();
/** @var Asset $asset */
$asset = $assetRepo->find($assetId);
if (null !== $asset) {
$fileName = $asset->getTitle();
$linkUrl = $assetRepo->getAssetUrl($asset);
$linkToDelete = '';
$divItemId = $field_details['variable'];
if (api_is_platform_admin()) {
$url = api_get_path(WEB_AJAX_PATH).'extra_field.ajax.php?type='.$this->type;
$url .= '&a=delete_file&field_id='.$field_details['id'].'&item_id='.$itemId;
$deleteId = $field_details['variable'].'_delete';
$deleteId = $variable.'_delete';
$form->addHtml(
"
<script>
@ -1616,7 +1615,7 @@ class ExtraField extends Model
url: '".$url."',
success: function(result) {
if (result == 1) {
$('#".$divItemId."').html('".get_lang('Deleted')."');
$('#".$variable."').html('".get_lang('Deleted')."');
}
}
});
@ -1632,14 +1631,15 @@ class ExtraField extends Model
['id' => $deleteId]
);
}
$fieldTexts[] = '<div id="'.$divItemId.'">'.Display::url(
basename($extraData[$fieldVariable]),
api_get_path(WEB_UPLOAD_PATH).$extraData[$fieldVariable],
$anchor = Display::url(
$fileName,
$linkUrl,
[
'title' => $field_details['display_text'],
'target' => '_blank',
]
).$linkToDelete.'</div>';
);
$fieldTexts[] = '<div id="'.$variable.'">'.$anchor.$linkToDelete.'</div>';
}
}
@ -1650,87 +1650,84 @@ class ExtraField extends Model
[]
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$field_details['variable'], 'trim');
$form->applyFilter('extra_'.$variable, 'stripslashes');
$form->applyFilter('extra_'.$variable, 'trim');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_VIDEO_URL:
$form->addUrl(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text'],
false,
['placeholder' => 'https://']
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_LETTERS_ONLY:
$form->addTextLettersOnly(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text']
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$variable, 'stripslashes');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_ALPHANUMERIC:
$form->addTextAlphanumeric(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text']
);
$form->applyFilter(
'extra_'.$field_details['variable'],
'extra_'.$variable,
'stripslashes'
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_LETTERS_SPACE:
$form->addTextLettersAndSpaces(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text']
);
$form->applyFilter('extra_'.$field_details['variable'], 'stripslashes');
$form->applyFilter('extra_'.$variable, 'stripslashes');
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_ALPHANUMERIC_SPACE:
$form->addTextAlphanumericAndSpaces(
"extra_{$field_details['variable']}",
"extra_{$variable}",
$field_details['display_text']
);
$form->applyFilter(
'extra_'.$field_details['variable'],
'extra_'.$variable,
'stripslashes'
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_GEOLOCALIZATION_COORDINATES:
case self::FIELD_TYPE_GEOLOCALIZATION:
$dataValue = isset($extraData['extra_'.$field_details['variable']])
? $extraData['extra_'.$field_details['variable']]
: '';
$dataValue = isset($extraData['extra_'.$variable]) ? $extraData['extra_'.$variable] : '';
$form->addGeoLocationMapField(
'extra_'.$field_details['variable'],
'extra_'.$variable,
$field_details['display_text'],
$dataValue,
$hideGeoLocalizationDetails
);
if ($freezeElement) {
$form->freeze('extra_'.$field_details['variable']);
$form->freeze('extra_'.$variable);
}
break;
case self::FIELD_TYPE_SELECT_WITH_TEXT_FIELD:
@ -2934,7 +2931,7 @@ JAVASCRIPT;
);
$fieldType = (int) $field['field_type'];
if (ExtraField::FIELD_TYPE_TAG === (int) $fieldType) {
if (self::FIELD_TYPE_TAG === $fieldType) {
$tags = $repoTag->findBy(['fieldId' => $field['id'], 'itemId' => $itemId]);
if ($tags) {
/** @var ExtraFieldRelTag $tag */
@ -2953,7 +2950,6 @@ JAVASCRIPT;
continue;
}
$displayedValue = get_lang('None');
switch ($fieldType) {
case self::FIELD_TYPE_CHECKBOX:
if (false !== $valueData && '1' == $valueData['value']) {
@ -2985,8 +2981,8 @@ JAVASCRIPT;
break;
}
if ($fieldType === self::FIELD_TYPE_FILE_IMAGE) {
$url = $assetRepo->getAssetUrl($asset);
$url = $assetRepo->getAssetUrl($asset);
if (self::FIELD_TYPE_FILE_IMAGE === $fieldType) {
$image = Display::img(
$url,
$field['display_text'],
@ -3124,6 +3120,11 @@ JAVASCRIPT;
return $result;
}
public static function getExtraFieldTypesWithFiles() : array
{
return [self::FIELD_TYPE_FILE_IMAGE, self::FIELD_TYPE_FILE];
}
/**
* @param \FormValidator $form
* @param int $defaultValueId

@ -722,6 +722,8 @@ class ExtraFieldValue extends Model
}
$sql .= ' ORDER BY id';
$repo = Container::getAssetRepository();
$result = Database::query($sql);
if (Database::num_rows($result)) {
$result = Database::fetch_array($result, 'ASSOC');
@ -741,10 +743,8 @@ class ExtraFieldValue extends Model
if (ExtraField::FIELD_TYPE_SELECT_WITH_TEXT_FIELD == $result['field_type']) {
if (!empty($result['value'])) {
$options = explode('::', $result['value']);
$field_option = new ExtraFieldOption($this->type);
$result = $field_option->get($options[0]);
if (!empty($result)) {
$result['value'] = $result['display_text']
.'&rarr;'
@ -756,7 +756,6 @@ class ExtraFieldValue extends Model
if (!empty($result['value'])) {
$optionIds = explode(';', $result['value']);
$optionValues = [];
foreach ($optionIds as $optionId) {
$objEfOption = new ExtraFieldOption('user');
$optionInfo = $objEfOption->get($optionId);
@ -767,6 +766,17 @@ class ExtraFieldValue extends Model
$result['value'] = implode(' / ', $optionValues);
}
}
if (in_array($result['field_type'], ExtraField::getExtraFieldTypesWithFiles())) {
$result['url'] = '';
if (!empty($result['value'])) {
$asset = $repo->find($result['value']);
if ($asset) {
$url = $repo->getAssetUrl($asset);
$result['url'] = $url;
}
}
}
}
return $result;
@ -916,7 +926,18 @@ class ExtraFieldValue extends Model
if (Database::num_rows($result)) {
$result = Database::store_result($result, 'ASSOC');
$finalResult = [];
$repo = Container::getAssetRepository();
foreach ($result as $item) {
$fieldType = (int) $item['field_type'];
$item['url'] = '';
if (in_array($fieldType, ExtraField::getExtraFieldTypesWithFiles(), true)) {
$asset = $repo->find($item['value']);
if ($asset) {
$url = $repo->getAssetUrl($asset);
$item['url'] = $url;
}
}
$finalResult[$item['id']] = $item;
}
$idList = array_column($result, 'id');
@ -928,10 +949,11 @@ class ExtraFieldValue extends Model
$allData = $extraField->get_all(['filter = ?' => 1]);
$allResults = [];
foreach ($allData as $field) {
$fieldType = (int) $field['field_type'];
if (in_array($field['id'], $idList)) {
$allResults[] = $finalResult[$field['id']];
} else {
if (ExtraField::FIELD_TYPE_TAG == $field['field_type']) {
if (ExtraField::FIELD_TYPE_TAG === $fieldType) {
$tagResult = [];
$tags = $em->getRepository(ExtraFieldRelTag::class)
->findBy(

@ -3921,7 +3921,6 @@ class SessionManager
if (!empty($keyword)) {
$keyword = Database::escape_string($keyword);
$keywordCondition = " AND (s.name LIKE '%$keyword%' ) ";
if (!empty($description)) {
$description = Database::escape_string($description);
$keywordCondition = " AND (s.name LIKE '%$keyword%' OR s.description LIKE '%$description%' ) ";
@ -3965,8 +3964,6 @@ class SessionManager
$sessions = [];
if (Database::num_rows($result) > 0) {
$sysUploadPath = api_get_path(SYS_UPLOAD_PATH).'sessions/';
$webUploadPath = api_get_path(WEB_UPLOAD_PATH).'sessions/';
$imgPath = Display::return_icon(
'session_default_small.png',
null,
@ -3976,38 +3973,43 @@ class SessionManager
true
);
$extraFieldValue = new ExtraFieldValue('session');
while ($row = Database::fetch_array($result)) {
if ($getOnlySessionId) {
$sessions[$row['id']] = $row;
continue;
}
$imageFilename = ExtraFieldModel::FIELD_TYPE_FILE_IMAGE.'_'.$row['id'].'.png';
$row['image'] = is_file($sysUploadPath.$imageFilename) ? $webUploadPath.$imageFilename : $imgPath;
if ('0000-00-00 00:00:00' == $row['display_start_date'] || '0000-00-00' == $row['display_start_date']) {
$extraFieldImage = $extraFieldValue->get_values_by_handler_and_field_variable($row['id'], 'image');
$image = $imgPath;
if (!empty($extraFieldImage) && isset($extraFieldImage['url'])) {
$image = $extraFieldImage['url'];
}
$row['image'] = $image;
if ('0000-00-00 00:00:00' === $row['display_start_date'] || '0000-00-00' === $row['display_start_date']) {
$row['display_start_date'] = null;
}
if ('0000-00-00 00:00:00' == $row['display_end_date'] || '0000-00-00' == $row['display_end_date']) {
if ('0000-00-00 00:00:00' === $row['display_end_date'] || '0000-00-00' === $row['display_end_date']) {
$row['display_end_date'] = null;
}
if ('0000-00-00 00:00:00' == $row['access_start_date'] || '0000-00-00' == $row['access_start_date']) {
if ('0000-00-00 00:00:00' === $row['access_start_date'] || '0000-00-00' === $row['access_start_date']) {
$row['access_start_date'] = null;
}
if ('0000-00-00 00:00:00' == $row['access_end_date'] || '0000-00-00' == $row['access_end_date']) {
if ('0000-00-00 00:00:00' === $row['access_end_date'] || '0000-00-00' === $row['access_end_date']) {
$row['access_end_date'] = null;
}
if ('0000-00-00 00:00:00' == $row['coach_access_start_date'] ||
'0000-00-00' == $row['coach_access_start_date']
if ('0000-00-00 00:00:00' === $row['coach_access_start_date'] ||
'0000-00-00' === $row['coach_access_start_date']
) {
$row['coach_access_start_date'] = null;
}
if ('0000-00-00 00:00:00' == $row['coach_access_end_date'] ||
'0000-00-00' == $row['coach_access_end_date']
if ('0000-00-00 00:00:00' === $row['coach_access_end_date'] ||
'0000-00-00' === $row['coach_access_end_date']
) {
$row['coach_access_end_date'] = null;
}
@ -4570,17 +4572,20 @@ class SessionManager
$extraFieldsValuesToCopy = [];
if (!empty($extraFieldsValues)) {
foreach ($extraFieldsValues as $extraFieldValue) {
//$extraFieldsValuesToCopy['extra_'.$extraFieldValue['variable']] = $extraFieldValue['value'];
$extraFieldsValuesToCopy['extra_'.$extraFieldValue['variable']] = $extraFieldValue['value'];
$extraFieldsValuesToCopy['extra_'.$extraFieldValue['variable']]['extra_'.$extraFieldValue['variable']] = $extraFieldValue['value'];
}
}
if (isset($extraFieldsValuesToCopy['extra_image']) && isset($extraFieldsValuesToCopy['extra_image']['extra_image'])) {
// @todo fix session image url copy.
/*if (isset($extraFieldsValuesToCopy['extra_image']) &&
isset($extraFieldsValuesToCopy['extra_image']['extra_image'])
) {
$extraFieldsValuesToCopy['extra_image'] = [
'tmp_name' => api_get_path(SYS_UPLOAD_PATH).$extraFieldsValuesToCopy['extra_image']['extra_image'],
'error' => 0,
];
}
}*/
// Now try to create the session
$sid = self::create_session(

@ -319,9 +319,8 @@ $(function() {
}
break;
case '16':
if (item.value_url) {
var url = item.value_url;
if (item.url) {
var url = item.url;
var divFormGroup = fieldName + '-form-group';
var divWrapper = fieldName + '_crop_image';
var divPreview = fieldName + '_preview_image';

Loading…
Cancel
Save