Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/plugin/vchamilo/views/syncparams.php

83 lines
3.0 KiB

<?php
/* For licensing terms, see /license.txt */
$cidReset = true;
require_once __DIR__.'/../../../main/inc/global.inc.php';
api_protect_admin_script();
$action = isset($_GET['what']) ? $_GET['what'] : '';
define('CHAMILO_INTERNAL', true);
$plugin = VChamiloPlugin::create();
$thisurl = api_get_path(WEB_PLUGIN_PATH).'vchamilo/views/manage.php';
if ($action) {
require_once(api_get_path(SYS_PLUGIN_PATH).'vchamilo/views/syncparams.controller.php');
}
$settings = api_get_settings();
$table = new HTML_Table(array('class' => 'data_table', 'width' => '100%'));
$column = 0;
$row = 0;
$headers = array(
'',
$plugin->get_lang('variable').' ['.$plugin->get_lang('subkey').']',
$plugin->get_lang('category'),
$plugin->get_lang('accessurl'),
$plugin->get_lang('value'),
'',
);
$attrs = array('center' => 'left');
$table->addRow($headers, $attrs, 'th');
foreach ($settings as $param) {
if ($param['subkey'] == 'vchamilo') {
continue;
}
$check = '';
$attrs = array('center' => 'left');
$syncButton = '
<input class="btn btn-default" type="button" name="syncthis" value="'.$plugin->get_lang('syncthis').'" onclick="ajax_sync_setting(\''.$param['id'].'\')" />
<span id="res_'.$param['id'].'"></span>';
$data = array(
$check,
isset($param['subkey']) && !empty($param['subkey']) ? $param['variable'].' ['.$param['subkey'].']' : $param['variable'],
$param['category'],
$param['access_url'],
'<input type="text" disabled name="value_'.$param['id'].'" value="'.htmlspecialchars($param['selected_value'], ENT_COMPAT, 'UTF-8').'" />'.
'<br />Master value: '.$param['selected_value'],
$syncButton,
);
$row = $table->addRow($data, $attrs, 'td');
$table->setRowAttributes($row, array('id' => 'row_'.$param['id']), true);
}
$content = '<form name="settingsform" action="'.$thisurl.'">';
$content .= '<input type="hidden" name="what" value="" />';
$content .= $table->toHtml();
$content .= '</form>';
Display::addFlash(Display::return_message($plugin->get_lang('Sync your master settings to all instances.')));
$interbreadcrumb[] = array('url' => 'manage.php', 'name' => get_lang('VChamilo'));
$htmlHeadXtra[] = "<script>
function ajax_sync_setting(settingid) {
var webUrl = '".api_get_path(WEB_PATH)."';
var spare = $('#row_'+settingid).html();
var formobj = document.forms['settingsform'];
var url = webUrl + 'plugin/vchamilo/ajax/service.php?what=syncthis&settingid='+settingid+'&value='+encodeURIComponent(formobj.elements['value_'+settingid].value);
$('#row_'+settingid).html('<td colspan=\"7\"><img src=\"'+webUrl+'plugin/vchamilo/pix/ajax_waiter.gif\" /></td>');
$.get(url, function (data) {
$('#row_'+settingid).html(spare);
$('#res_'+settingid).html(data);
});
}
</script>";
$tpl = new Template($plugin->get_lang('SyncSettings'), true, true, false, true, false);
$tpl->assign('content', $content);
$tpl->display_one_col_template();