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.
89 lines
3.5 KiB
89 lines
3.5 KiB
|
11 years ago
|
<?php
|
||
|
|
/* For license terms, see /license.txt */
|
||
|
|
/**
|
||
|
|
* Index of the Advanced subscription plugin courses list
|
||
|
11 years ago
|
* @package chamilo.plugin.advanced_subscription
|
||
|
11 years ago
|
*/
|
||
|
|
/**
|
||
|
|
* Init
|
||
|
|
*/
|
||
|
|
require_once __DIR__ . '/../config.php';
|
||
|
|
// protect
|
||
|
|
api_protect_admin_script();
|
||
|
|
// start plugin
|
||
|
|
$plugin = AdvancedSubscriptionPlugin::create();
|
||
|
11 years ago
|
// Session ID
|
||
|
|
$s = isset($_REQUEST['s']) ? intval($_REQUEST['s']) : null;
|
||
|
11 years ago
|
|
||
|
11 years ago
|
// Init template
|
||
|
11 years ago
|
$tpl = new Template($plugin->get_lang('plugin_title'));
|
||
|
11 years ago
|
// Get all sessions
|
||
|
|
$sessionList = $plugin->listAllSessions();
|
||
|
11 years ago
|
|
||
|
|
if (!empty($s)) {
|
||
|
|
// Get student list in queue
|
||
|
|
$studentList = $plugin->listAllStudentsInQueueBySession($s);
|
||
|
|
// Set selected to current session
|
||
|
|
$sessionList[$s]['selected'] = 'selected="selected"';
|
||
|
11 years ago
|
$studentList['session']['id'] = $s;
|
||
|
11 years ago
|
// Assign variables
|
||
|
11 years ago
|
$fieldsArray = array('description', 'target', 'mode', 'publication_end_date', 'recommended_number_of_participants');
|
||
|
11 years ago
|
$sessionArray = api_get_session_info($s);
|
||
|
|
$extraSession = new ExtraFieldValue('session');
|
||
|
11 years ago
|
$extraField = new ExtraField('session');
|
||
|
|
// Get session fields
|
||
|
|
$fieldList = $extraField->get_all(array(
|
||
|
|
'field_variable IN ( ?, ?, ?, ?, ?)' => $fieldsArray
|
||
|
|
));
|
||
|
|
// Index session fields
|
||
|
|
foreach ($fieldList as $field) {
|
||
|
|
$fields[$field['id']] = $field['field_variable'];
|
||
|
|
}
|
||
|
|
|
||
|
|
$mergedArray = array_merge(array($s), array_keys($fields));
|
||
|
|
$sessionFieldValueList = $extraSession->get_all(array('session_id = ? field_id IN ( ?, ?, ?, ?, ?, ?, ? )' => $mergedArray));
|
||
|
|
foreach ($sessionFieldValueList as $sessionFieldValue) {
|
||
|
|
// Check if session field value is set in session field list
|
||
|
|
if (isset($fields[$sessionFieldValue['field_id']])) {
|
||
|
|
$var = $fields[$sessionFieldValue['field_id']];
|
||
|
|
$val = $sessionFieldValue['field_value'];
|
||
|
|
// Assign session field value to session
|
||
|
|
$sessionArray[$var] = $val;
|
||
|
|
}
|
||
|
|
}
|
||
|
11 years ago
|
$adminsArray = UserManager::get_all_administrators();
|
||
|
|
|
||
|
11 years ago
|
$data['a'] = 'confirm';
|
||
|
|
$data['s'] = $s;
|
||
|
|
$data['current_user_id'] = api_get_user_id();
|
||
|
11 years ago
|
$isWesternNameOrder = api_is_western_name_order();
|
||
|
11 years ago
|
|
||
|
|
foreach ($studentList['students'] as &$student) {
|
||
|
11 years ago
|
$data['u'] = intval($student['user_id']);
|
||
|
|
$data['q'] = intval($student['queue_id']);
|
||
|
11 years ago
|
$data['e'] = ADV_SUB_QUEUE_STATUS_ADMIN_APPROVED;
|
||
|
11 years ago
|
$student['acceptUrl'] = $plugin->getQueueUrl($data);
|
||
|
11 years ago
|
$data['e'] = ADV_SUB_QUEUE_STATUS_ADMIN_DISAPPROVED;
|
||
|
11 years ago
|
$student['rejectUrl'] = $plugin->getQueueUrl($data);
|
||
|
11 years ago
|
$student['complete_name'] = $isWesternNameOrder ?
|
||
|
|
$student['firstname'] . ', ' . $student['lastname'] :
|
||
|
|
$student['lastname'] . ', ' . $student['firstname']
|
||
|
|
;
|
||
|
11 years ago
|
$student['picture'] = UserManager::get_user_picture_path_by_id($student['user_id'], 'web', false, true);
|
||
|
|
$student['picture'] = UserManager::get_picture_user($student['user_id'], $student['picture']['file'], 22, USER_IMAGE_SIZE_MEDIUM);
|
||
|
11 years ago
|
}
|
||
|
11 years ago
|
$tpl->assign('session', $studentList['session']);
|
||
|
|
$tpl->assign('students', $studentList['students']);
|
||
|
|
}
|
||
|
|
|
||
|
11 years ago
|
// Assign variables
|
||
|
|
$tpl->assign('sessionItems', $sessionList);
|
||
|
11 years ago
|
$tpl->assign('approveAdmin', ADV_SUB_QUEUE_STATUS_ADMIN_APPROVED);
|
||
|
|
$tpl->assign('disapproveAdmin', ADV_SUB_QUEUE_STATUS_ADMIN_DISAPPROVED);
|
||
|
11 years ago
|
// Get rendered template
|
||
|
11 years ago
|
$content = $tpl->fetch('/advanced_subscription/views/admin_view.tpl');
|
||
|
11 years ago
|
// Assign into content
|
||
|
|
$tpl->assign('content', $content);
|
||
|
|
// Display
|
||
|
|
$tpl->display_one_col_template();
|