Merge branch '1.10.x' into BT9438

1.10.x
Imanol Losada 11 years ago
commit 8e5286087c
  1. 67
      main/admin/index.php
  2. 38
      main/inc/ajax/admin.ajax.php
  3. 61
      main/template/default/admin/settings_index.tpl
  4. 28
      main/template/default/auth/sessions_catalog.tpl

@ -4,7 +4,6 @@
* Index page of the admin tools
* @package chamilo.admin
*/
// Resetting the course id.
$cidReset = true;
@ -19,6 +18,9 @@ api_protect_admin_script(true);
$nameTools = get_lang('PlatformAdmin');
$accessUrlId = 0;
$adminExtraContentDir = api_get_path(SYS_PATH) . "home/admin/";
if (api_is_multiple_url_enabled()) {
$accessUrlId = api_get_current_access_url_id();
@ -28,8 +30,6 @@ if (api_is_multiple_url_enabled()) {
$cleanUrl = str_replace('/', '-', $url);
$adminExtraContentDir = api_get_path(SYS_PATH) . "home/$cleanUrl/admin/";
}
} else {
$adminExtraContentDir = api_get_path(SYS_PATH) . "home/admin/";
}
// Displaying the header
@ -402,30 +402,55 @@ $tpl->assign('web_admin_ajax_url', $admin_ajax_url);
$tpl->assign('blocks', $blocks);
if (api_is_platform_admin()) {
$extraDataForm = new FormValidator(
$extraContentForm = new FormValidator(
'block_extra_data',
'post',
'#',
null,
array(
'id' => 'block-extra-data',
'class' => 'form-inline'
)
'class' => ''
),
FormValidator::LAYOUT_BOX_NO_LABEL
);
$extraContentFormRenderer = $extraContentForm->getDefaultRenderer();
if ($extraContentForm->validate()) {
$extraData = $extraContentForm->getSubmitValues();
$extraData = array_map(['Security', 'remove_XSS'], $extraData);
if (!empty($extraData['block'])) {
if (!is_dir($adminExtraContentDir)) {
mkdir(
$adminExtraContentDir,
api_get_permissions_for_new_directories(),
true
);
}
if (!is_writable($adminExtraContentDir)) {
die;
}
$fullFilePath = $adminExtraContentDir . $extraData['block'];
$fullFilePath .= "_extra.html";
file_put_contents($fullFilePath, $extraData['extra_content']);
$extraDataForm->add_html_editor(
Header::location(api_get_self());
}
}
$extraContentForm->addTextarea(
'extra_content',
null,
false,
false,
array(
'name' => 'extra-content',
'ToolbarSet' => 'AdminPanels',
'Width' => 530,
'Height' => 300
)
['id' => 'extra_content']
);
$extraContentFormRenderer->setElementTemplate(
'<div class="form-group">{element}</div>',
'extra_content'
);
$extraDataForm->addElement(
$extraContentForm->addElement(
'hidden',
'block',
null,
@ -433,16 +458,12 @@ if (api_is_platform_admin()) {
'id' => 'extra-block'
)
);
$extraDataForm->add_button(
'submit',
$extraContentForm->addButtonExport(
get_lang('Save'),
array(
'id' => 'btn-block-editor-save',
'class' => 'btn btn-primary'
)
'submit_extra_content'
);
$tpl->assign('extraDataForm', $extraDataForm->toHtml());
$tpl->assign('extraDataForm', $extraContentForm->returnForm());
}
// The template contains the call to the AJAX version checker

@ -32,44 +32,6 @@ switch ($action) {
echo version_check();
break;
case 'save_block_extra':
$content = isset($_POST['extra_content']) ? Security::remove_XSS($_POST['extra_content']) : null;
$blockName = isset($_POST['block']) ? Security::remove_XSS($_POST['block']) : null;
if (empty($blockName)) {
die;
}
if (api_is_multiple_url_enabled()) {
$accessUrlId = api_get_current_access_url_id();
if ($accessUrlId == -1) {
die;
}
$urlInfo = api_get_access_url($accessUrlId);
$url = api_remove_trailing_slash(preg_replace('/https?:\/\//i', '', $urlInfo['url']));
$cleanUrl = str_replace('/', '-', $url);
$newUrlDir = api_get_path(SYS_PATH) . "home/$cleanUrl/admin/";
} else {
$newUrlDir = api_get_path(SYS_PATH) . "home/admin/";
}
if (!is_dir($newUrlDir)) {
mkdir($newUrlDir, api_get_permissions_for_new_directories(), true);
}
if (!is_writable($newUrlDir)) {
die;
}
$fullFilePath = "{$newUrlDir}{$blockName}_extra.html";
file_put_contents($fullFilePath, $content);
break;
case 'get_extra_content':
$blockName = isset($_POST['block']) ? Security::remove_XSS($_POST['block']) : null;

@ -7,40 +7,35 @@ $(document).ready(function() {
}
});
$('a.edit-block').on('click', function(e) {
e.preventDefault();
var $self = $(this);
{% if _u.is_admin %}
(function(CKEDITOR) {
CKEDITOR.replace('extra_content');
var extraContent = $.ajax('{{ _p.web_ajax }}admin.ajax.php', {
type: 'post',
data: {
a: 'get_extra_content',
block: $self.data('id')
}
});
var extraContentEditor = CKEDITOR.instances.extra_content;
$.when(extraContent).done(function(content) {
$('#extra-content').val(content);
$('#extra-block').val($self.data('id'));
$('#modal-extra-title').text($self.data('label'));
$('a.edit-block').on('click', function(e) {
e.preventDefault();
$('#modal-extra').modal('show');
});
});
var $self = $(this);
$('#btn-block-editor-save').on('click', function(e) {
e.preventDefault();
var extraContent = $.ajax('{{ _p.web_ajax }}admin.ajax.php', {
type: 'post',
data: {
a: 'get_extra_content',
block: $self.data('id')
}
});
var save = $.ajax('{{ _p.web_ajax }}admin.ajax.php', {
type: 'post',
data: $('#block-extra-data').serialize() + '&a=save_block_extra'
});
$.when(extraContent).done(function(content) {
extraContentEditor.setData(content);
$('#extra-block').val($self.data('id'));
$('#modal-extra-title').text($self.data('label'));
$.when(save).done(function() {
window.location.reload();
$('#modal-extra').modal('show');
});
});
});
})(window.CKEDITOR);
{% endif %}
});
</script>
@ -108,17 +103,7 @@ $(document).ready(function() {
<h4 class="modal-title" id="modal-extra-title">{{ 'Blocks' | get_lang }}</h4>
</div>
<div class="modal-body">
<form action="#" method="post" id="block-extra-data">
<div class="form-group">
<textarea rows="15" name="content" class="form-control" id="extra-content"></textarea>
<input type="hidden" name="block" id="extra-block" value="">
</div>
</form>
</div>
<div class="modal-footer">
<button id="btn-block-editor-save" class="btn btn-primary">
<i class="fa fa-floppy-o"></i> {{ 'Save' | get_lang }}
</button>
{{ extraDataForm }}
</div>
</div>
</div>

@ -2,19 +2,21 @@
{% block body %}
<script type="text/javascript">
$(document).on('ready', function() {
$().ready(function() {
$('#date').datepicker({
dateFormat: 'yy-mm-dd'
});
$('.accordion').on('show', function(e) {
$('.accordion').click(function(e) {
e.preventDefault();
var tempTarget = e.target.toString().split('#');
tempTarget = '#' + tempTarget[1];
// use the target of the link as the ID of the element to find
var target = $(tempTarget);
var targetContent = target.find('.accordion-inner');
var $target = $(e.target);
var $targetContent = $target.find('.accordion-inner');
if ($targetContent.is(':empty')) {
var idParts = $target.attr('id').split('-');
if (targetContent.is(':empty')) {
var idParts = tempTarget.split('-');
var sessionId = parseInt(idParts[1], 10);
@ -37,14 +39,14 @@
coursesUL += '</li>';
});
$targetContent.html('<ul class="items-session">' + coursesUL + '</ul>');
$target.css({
height: $targetContent.outerHeight()
targetContent.html('<ul class="items-session">' + coursesUL + '</ul>');
target.css({
height: targetContent.outerHeight()
}).addClass('in');
}
});
} else {
$target.addClass('in');
target.addClass('in');
}
});
});
@ -62,7 +64,7 @@
<div class="controls">
<div class="input-append">
<input class="span2" type="text" name="search_term" />
<button class="btn" type="submit">{{ 'Search' | get_lang }}</button>
<button class="btn btn-default" type="submit"><i class="fa fa-search"></i> {{ 'Search' | get_lang }}</button>
</div>
</div>
</div>
@ -94,7 +96,7 @@
<form class="form-search" method="post" action="{{ api_get_self }}?action=display_sessions">
<div class="input-append">
<input type="date" name="date" id="date" class="span2 search-session" value="{{ searchDate }}" readonly>
<button class="btn" type="submit">{{ 'Search' | get_lang }}</button>
<button class="btn btn-default" type="submit"><i class="fa fa-search"></i> {{ 'Search' | get_lang }}</button>
</div>
</form>
</li>

Loading…
Cancel
Save