本文整理汇总了PHP中EfrontLesson::getUsers方法的典型用法代码示例。如果您正苦于以下问题:PHP EfrontLesson::getUsers方法的具体用法?PHP EfrontLesson::getUsers怎么用?PHP EfrontLesson::getUsers使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类EfrontLesson
的用法示例。
在下文中一共展示了EfrontLesson::getUsers方法的11个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: array
$load_editor = true;
$form = new HTML_QuickForm("content_report_form", "post", "content_report.php", "", null, true);
$form->registerRule('checkParameter', 'callback', 'eF_checkParameter');
//Register this rule for checking user input with our function, eF_checkParameter
//$form -> addElement('text', 'topic', _TOPIC, 'class = "inputText"');
//$form -> addRule('topic', _THEFIELD.' "'._TOPIC.'" '._ISMANDATORY, 'required', null, 'client');
$form->addElement('hidden', 'page', htmlspecialchars_decode(http_build_query($_GET)));
$form->addElement('textarea', 'notes', _NOTES, 'class = "inputTextArea" style="width:45em;height:15em;"');
//$form -> addRule('notes', _THEFIELD.' "'._NOTES.'" '._ISMANDATORY, 'required', null, 'client');
$form->addElement('submit', 'submit_report', _REPORT, 'class = "flatButton"');
if ($form->isSubmitted()) {
if ($form->validate()) {
$values = $form->exportValues();
$recipients = array();
$lesson = new EfrontLesson($_SESSION['s_lessons_ID']);
$lessonProfs = $lesson->getUsers("professor");
foreach ($lessonProfs as $key => $value) {
$recipients[] = $key;
}
if (strpos($values['page'], "glossary") !== false) {
$title = _ERRORREPORTFOR . ' ' . $lesson->lesson['name'] . ' [' . _GLOSSARY . ']';
} elseif (strpos($values['page'], "edit_question") !== false) {
$title = _ERRORREPORTFOR . ' ' . $lesson->lesson['name'] . ' [' . _QUESTION . ']';
} else {
$contentId = mb_substr($values['page'], 10);
preg_match("/.*view_unit=(\\d+).*/", $values['page'], $matches);
$resultType = eF_getTableData("content", "ctg_type", "id=" . $matches[1]);
if ($resultType[0]['ctg_type'] == "tests") {
$title = _ERRORREPORTFOR . ' ' . $lesson->lesson['name'] . ' [' . _TESTS . ']';
} else {
$title = _ERRORREPORTFOR . ' ' . $lesson->lesson['name'] . ' [' . _CONTENT . ']';
示例2: serialize
if ($visibility) {
$positions = serialize(array('first' => array_unique($firstlist), 'second' => array_unique($secondlist), 'visibility' => $visibility));
} else {
$positions = serialize(array('first' => array_unique($firstlist), 'second' => array_unique($secondlist)));
}
//Dashboard positions
if ($_POST['dashboard']) {
eF_updateTableData("users", array('dashboard_positions' => $positions), "login='" . $currentUser->user['login'] . "'");
} else {
if ($currentUser->user['user_type'] == 'administrator' && !isset($_POST['lessons_ID'])) {
EfrontConfiguration::setValue($currentUser->user['login'] . "_positions", $positions);
} else {
if (isset($_POST['set_default']) && ($currentUser->user['user_type'] == 'administrator' || $roles[$currentLesson->getRole($currentUser->user['login'])] == 'professor')) {
$currentLesson->setOptions(array("default_positions" => $positions));
$positions = serialize(array('first' => array_unique($firstlist), 'second' => array_unique($secondlist), 'visibility' => $visibility, 'update' => true));
$lessonStudents = $currentLesson->getUsers('student');
if (sizeof($lessonStudents) > 0) {
$users = implode("','", array_keys($lessonStudents));
eF_updateTableData("users_to_lessons", array('positions' => $positions), "users_LOGIN in ('" . $users . "') and lessons_ID=" . $currentLesson->lesson['id']);
}
} else {
if (!$visibility) {
$result = eF_getTableData("users_to_lessons", "positions", "lessons_ID=" . $currentLesson->lesson['id'] . " AND users_LOGIN='" . $currentUser->user['login'] . "'");
$result = unserialize($result[0]['positions']);
$visibility = $result['visibility'];
if (isset($result['visibility'])) {
$positions = serialize(array('first' => array_unique($firstlist), 'second' => array_unique($secondlist), 'visibility' => $visibility));
}
}
eF_updateTableData("users_to_lessons", array('positions' => $positions), "lessons_ID=" . $currentLesson->lesson['id'] . " AND users_LOGIN='" . $currentUser->user['login'] . "'");
}
示例3: getUsersTime
/**
* Get user login time in a lesson
*
* This function calculates the total time each student spent in the lesson
* If $users is not specified, then information on all users is calculated.
* <br/>Example:
* <code>
* EfrontStats :: getUsersTime(3, 'jdoe'); //Get statistics for user jdoe in lesson 3
* EfrontStats :: getUsersTime(3, array('jdoe', 'george')); //Get statistics for users george and jdoe in lesson 3
* EfrontStats :: getUsersTime(3); //Get statistics for all users in lesson 3
* </code>
* The results are of the form:
* <code>
* Array
* (
* [jdoe] => Array
* (
* [minutes] => 0
* [seconds] => 42
* [hours] => 0
* [total_seconds] => 42
* [accesses] => 5
* )
* )
* </code>
* Accesses are the times the user accessed content on the lesson. total_seconds is the sum of time spent in the lesson in seconds
*
* @param int $lesson Either the lesson id or the equivalent EfrontLesson object
* @param mixed $users One or more optional user logins
* @return array The total time per user
* @since 3.5.0
* @access public
* @static
*/
public static function getUsersTime($lesson, $users = false, $fromTimestamp = false, $toTimestamp = false)
{
if (!$lesson instanceof EfrontLesson) {
$lesson = new EfrontLesson($lesson);
}
$lessonId = $lesson->lesson['id'];
if (!$users) {
$users = array_keys($lesson->getUsers());
} else {
if (!is_array($users)) {
$users = array($users);
}
}
!$fromTimestamp ? $fromTimestamp = mktime(0, 0, 0, 1, 1, 1970) : null;
!$toTimestamp ? $toTimestamp = time() : null;
$result = eF_getTableData("logs", "id, timestamp, lessons_ID, users_LOGIN", "users_LOGIN in (\"" . implode('","', $users) . "\") and timestamp between {$fromTimestamp} and {$toTimestamp} order by timestamp");
foreach ($result as $value) {
$logResults[$value['users_LOGIN']][] = $value;
}
$result = eF_getTableData("logs", "users_LOGIN, count(id) as accesses", "users_LOGIN in (\"" . implode('","', $users) . "\") and lessons_ID = {$lessonId} and timestamp between {$fromTimestamp} and {$toTimestamp} group by users_LOGIN order by users_LOGIN");
foreach ($result as $value) {
$accessResults[$value['users_LOGIN']] = $value['accesses'];
}
$userTimes = array();
foreach ($users as $login) {
$totalTime = array('minutes' => 0, 'seconds' => 0, 'hours' => 0, 'total_seconds' => 0);
$lessonStart = 0;
$inLesson = 0;
if (isset($logResults[$login])) {
foreach ($logResults[$login] as $value) {
if ($inLesson) {
if ($value['timestamp'] - $lessonStart >= 0) {
$interval = eF_convertIntervalToTime($value['timestamp'] - $lessonStart);
} else {
$interval = eF_convertIntervalToTime(0);
//This is to avoid negative times
}
if ($interval['hours'] == 0 && $interval['minutes'] <= 30) {
//not with $GLOBALS['configuration']['autologout_time'] because it may be changed
$totalTime['minutes'] += $interval['minutes'];
$totalTime['seconds'] += $interval['seconds'];
}
if ($value['lessons_ID'] != $lessonId) {
$inLesson = 0;
} else {
$lessonStart = $value['timestamp'];
}
} else {
if ($value['lessons_ID'] == $lessonId) {
$inLesson = 1;
$lessonStart = $value['timestamp'];
}
}
}
}
$sec = $totalTime['seconds'];
if ($sec >= 60) {
$totalTime['seconds'] = $sec % 60;
$totalTime['minutes'] += floor($sec / 60);
}
if ($totalTime['minutes'] >= 60) {
$totalTime['hours'] = floor($totalTime['minutes'] / 60);
$totalTime['minutes'] = $totalTime['minutes'] % 60;
}
$totalTime['total_seconds'] = $totalTime['hours'] * 3600 + $totalTime['minutes'] * 60 + $totalTime['seconds'];
$userTimes[$login] = $totalTime;
//.........这里部分代码省略.........
示例4: getFiles
/**
* Get project files
*
* This function returns a list of file ids that have been posted
* for this project. this list includes the user name and surname,
* the id, full path and name of the file and finally the time it
* was uploaded.
* <br/>Example:
* <code>
* $project -> getFiles();
* </code>
*
* @return array The list of files posted for this project
* @since 3.5.0
* @access public
*/
public function getFiles()
{
$files = eF_getTableData("files f, users u, users_to_projects up", "f.*, u.name, u.surname, u.login, up.upload_timestamp", "up.filename = f.id and up.users_LOGIN = u.login and up.projects_ID=" . $this->project['id']);
$currentLesson = new EfrontLesson($GLOBALS['currentLesson']->lesson['id']);
$lessonUsers = $currentLesson->getUsers('student');
foreach ($files as $key => $file) {
if (!in_array($file['login'], array_keys($lessonUsers))) {
unset($files[$key]);
}
}
return $files;
}
示例5: EfrontLesson
echo "</xml>";
}
break;
case 'lesson_info':
if (isset($_GET['token']) && checkToken($_GET['token'])) {
if (isset($_GET['lesson'])) {
if (eF_checkParameter($_GET['lesson'], 'id') == false) {
echo "<xml>";
echo "<status>error</status>";
echo "<message>Invalid lesson id</message>";
echo "</xml>";
exit;
}
try {
$lesson = new EfrontLesson($_GET['lesson']);
$users = $lesson->getUsers('professor');
$content = $lesson->getUnits();
$info = $lesson->getStatisticInformation();
$lesson_info = unserialize($lesson->lesson['info']);
$metadata = unserialize($lesson->lesson['metadata']);
echo "<xml>";
echo "<general_info>";
echo "<name>" . $lesson->lesson['name'] . "</name>";
echo "<direction>" . $lesson->lesson['directions_ID'] . "</direction>";
echo "<price>";
echo "<value>" . $info['price'] . "</value>";
echo "<currency>" . $GLOBALS['configuration']['currency'] . "</currency>";
echo "</price>";
echo "<language>" . $info['language'] . "</language>";
echo "<info>";
foreach ($lesson_info as $key => $value) {
示例6: getRecipients
public function getRecipients()
{
$recipients_list = array();
if (isset($this->notification['send_conditions'])) {
//echo $this -> notification['send_conditions'];
if ($this->notification['send_conditions'] == "N;") {
$recipients = eF_getTableData("users", "*", "active=1 and archive=0");
//sending_queue_msgs[$key]['recipients'] = _ALLUSERS;
foreach ($recipients as $recipient) {
$recipients_list[$recipient['login']] = $recipient;
}
} else {
// the send_conditions field contains the information which identify the recipients
// it is defined in ....
//digests.php during the definition of the event notification
$this->notification['send_conditions'] = unserialize($this->notification['send_conditions']);
if ($this->notification['send_conditions'] == "supervisors") {
if (G_VERSIONTYPE == 'enterprise') {
#cpp#ifdef ENTERPRISE
$recipients = eF_getTableData("module_hcd_employee_works_at_branch as meb, users as u", "u.*", "meb.users_login=u.login and u.active=1 and u.archive=0 and meb.supervisor=1");
foreach ($recipients as $recipient) {
$recipients_list[$recipient['login']] = $recipient;
}
}
#cpp#endif
} elseif (is_array($this->notification['send_conditions'])) {
$this->recipients = $this->notification['send_conditions'];
// The recipients array definitely exists, due to constructor checks
if (isset($this->recipients["lessons_ID"]) && $this->recipients["lessons_ID"]) {
$lesson = new EfrontLesson($this->recipients["lessons_ID"]);
if (isset($this->recipients["user_type"])) {
// return lesson users of specific type
$recipients = array();
foreach ($lesson->getUsers($this->recipients["user_type"]) as $value) {
if ($value['active']) {
$recipients[] = $value;
}
}
} else {
if (isset($this->recipients["completed"])) {
// return lesson students according to whether they have completed the lesson or not
$recipients = array();
foreach ($lesson->getUsersCompleted($this->recipients["completed"]) as $value) {
if ($value['active']) {
$recipients[] = $value;
}
}
} else {
// return all users
$recipients = array();
foreach ($lesson->getUsers() as $value) {
if ($value['active']) {
$recipients[] = $value;
}
}
}
}
} else {
if (isset($this->recipients["courses_ID"])) {
$entity_parts = explode("_", $this->notification['id_type_entity']);
$notification_type = $entity_parts[1];
if ($this->recipients['user_type'] == "professor") {
$completed_condition = " AND uc.user_type = 'professor'";
} else {
if ($this->recipients['completed'] == "1") {
$completed_condition = " AND completed = '1'";
} else {
if ($this->recipients['completed'] == "2" || $notification_type == EfrontEvent::COURSE_PROGRAMMED_EXPIRY) {
$completed_condition = " AND completed = '0' and uc.user_type in ('" . implode("','", array_keys(EfrontLessonUser::getStudentRoles())) . "')";
} else {
$completed_condition = "";
}
}
}
if ($this->recipients['supervisor']) {
if ($this->recipients['users_login']) {
$editedUser = EfrontUserFactory::factory($this->recipients['users_login']);
//new EfrontUser();
$editedEmployee = $editedUser->aspects['hcd'];
$supervisors = $editedEmployee->getSupervisors();
$recipients = array();
foreach ($supervisors as $supervisor) {
$recipients[$supervisor] = array("login" => $supervisor);
}
} else {
$query = "select distinct u.login, u.name, u.surname, u.email, u.user_type as basic_user_type, u.active, u.user_types_ID from module_hcd_employee_works_at_branch ewb join users u on u.login=ewb.users_login where supervisor=1 and u.active=1 and u.archive=0 and branch_ID in (select branch_ID from module_hcd_employee_works_at_branch ewb, users_to_courses uc where uc.users_LOGIN=ewb.users_login and uc.courses_ID=" . $this->recipients["courses_ID"] . " and uc.archive=0)";
//get course users' supervisors
$result = eF_executeNew($query);
$recipients = $result->getAll();
}
} elseif ($this->recipients['immediate_supervisor']) {
if ($this->recipients['users_login']) {
$result = eF_getTableDataFlat("module_hcd_employee_works_at_branch", "users_LOGIN", "supervisor=1 and assigned=1 and branch_ID IN (select branch_ID from module_hcd_employee_works_at_branch where assigned=1 and supervisor=0 and users_login='" . $this->recipients['users_login'] . "')");
$recipients = array();
foreach ($result['users_LOGIN'] as $supervisor) {
$recipients[$supervisor] = array("login" => $supervisor);
}
$filtered_recipients = array();
if (!empty($recipients)) {
$active_recipients = eF_getTableDataFlat("users", "login", "active=1 and archive=0 and login IN ('" . implode("','", array_keys($recipients)) . "')");
//.........这里部分代码省略.........
示例7: getModule
public function getModule()
{
$smarty = $this->getSmartyVar();
global $load_editor;
$load_editor = true;
$current_user = $this->getCurrentUser();
$smarty->assign("T_MODULE_CURRENT_USER", $current_user->getType());
$form = new HTML_QuickForm("module_mail_form", "post", $this->moduleBaseUrl, "", "id = 'module_mail_form'");
$form->addElement('hidden', 'recipients', $_GET['rec']);
$form->addElement('text', 'subject', _SUBJECT, 'class = "inputText" style = "width:400px"');
$form->addElement('textarea', 'body', _BODY, 'class = "simpleEditor" style = "width:100%;height:200px"');
$form->addElement('checkbox', 'email', _SENDASEMAILALSO, null, 'id = "send_as_email" class = "inputCheckBox"');
$form->addRule('subject', _THEFIELD . ' "' . _SUBJECT . '" ' . _ISMANDATORY, 'required', null, 'client');
$form->addRule('recipients', _THEFIELD . ' "' . _RECIPIENTS . '" ' . _ISMANDATORY, 'required', null, 'client');
$form->addElement('file', 'attachment[0]', _ATTACHMENT, null, 'class = "inputText"');
$form->addElement('submit', 'submit_mail', _SEND, 'class = "flatButton"');
if ($form->isSubmitted() && $form->validate()) {
$values = $form->exportValues();
switch ($values['recipients']) {
case "lesson_students":
$lesson = new EfrontLesson($_SESSION['s_lessons_ID']);
$lessonUsers = $lesson->getUsers("student");
foreach ($lessonUsers as $value) {
$mail_recipients[] = $value['login'];
}
//pr($mail_recipients);return;
break;
case "lesson_professors":
$lesson = new EfrontLesson($_SESSION['s_lessons_ID']);
$lessonUsers = $lesson->getUsers("professor");
if (isset($_SESSION['s_courses_ID'])) {
$course = new EfrontCourse($_SESSION['s_courses_ID']);
$course_users = $course->getCourseUsers();
foreach ($lessonUsers as $key => $value) {
if (!isset($course_users[$key])) {
unset($lessonUsers[$key]);
}
}
}
foreach ($lessonUsers as $value) {
$mail_recipients[] = $value['login'];
}
break;
case "admin":
$result = eF_getTableData("users", "*", "user_type='administrator' and user_types_ID=0 and archive = 0");
//not
foreach ($result as $value) {
$mail_recipients[] = $value['login'];
}
break;
}
//$list = implode(",",$mail_recipients);
$pm = new eF_PersonalMessage($_SESSION['s_login'], $mail_recipients, $values['subject'], $values['body']);
if ($_FILES['attachment']['name'][0] != "") {
$maxFileSize = FileSystemTree::getUploadMaxSize();
if ($_FILES['attachment']['size'][0] == 0 || $_FILES['attachment']['size'][0] > $maxFileSize * 1024) {
// G_MAXFILESIZE is deprecated
$message = _EACHFILESIZEMUSTBESMALLERTHAN . " " . G_MAXFILESIZE . " Bytes";
$message_type = 'failure';
}
//Upload user avatar file
$pm->sender_attachment_timestamp = time();
$user_dir = G_UPLOADPATH . $_SESSION['s_login'] . '/message_attachments/Sent/' . $pm->sender_attachment_timestamp . '/';
mkdir($user_dir, 0755);
$filesystem = new FileSystemTree($user_dir);
$uploadedFile = $filesystem->uploadFile('attachment', $user_dir, 0);
$pm->sender_attachment_fileId = $uploadedFile['id'];
$pm->setAttachment($uploadedFile['path']);
}
if ($pm->send($values['email'], $values)) {
$message = _MESSAGEWASSENT;
$message_type = 'success';
} else {
$message = $pm->errorMessage;
$message_type = 'failure';
}
}
$renderer = new HTML_QuickForm_Renderer_ArraySmarty($smarty);
//Create a smarty renderer
$renderer->setRequiredTemplate('{$html}{if $required}
<span class = "formRequired">*</span>
{/if}');
$form->setJsWarnings(_BEFOREJAVASCRIPTERROR, _AFTERJAVASCRIPTERROR);
//Set javascript error messages
$form->setRequiredNote(_REQUIREDNOTE);
$form->accept($renderer);
//Assign this form to the renderer, so that corresponding template code is created
$smarty->assign('T_MODULE_MAIL_FORM', $renderer->toArray());
$smarty->assign("T_MESSAGE_MAIL", $message);
$smarty->assign("T_MESSAGE_MAIL_TYPE", $message_type);
//pr($renderer -> toArray());
return true;
}
示例8: end
$lastTest = end($doneTests);
$showTest = unserialize($lastTest['test']);
//Take the last in the row
}
}
if ($showTest->test['content_ID']) {
$result = eF_getTableData("content", "ctg_type", "id=" . $showTest->test['content_ID']);
$testType = $result[0]['ctg_type'];
$smarty->assign("T_TEST_TYPE", $testType);
}
//Check if current user is eligible to see this test
if ($_SESSION['s_type'] != 'administrator') {
//$currentUser = EfrontUserFactory :: factory($_SESSION['s_login'], false);
$result = eF_getTableData("content", "lessons_ID", "id=" . $test->test['content_ID']);
$testLesson = new EfrontLesson($result[0]['lessons_ID']);
$lessonUsers = $testLesson->getUsers();
if (!in_array($_SESSION['s_login'], array_keys($lessonUsers))) {
throw new Exception(_YOUARENOTAUTHORISEDTOSEETHISTEST);
} else {
if ($lessonUsers[$_SESSION['s_login']]['role'] == 'student' && $_SESSION['s_login'] != $showTest->completedTest['login']) {
throw new Exception(_YOUARENOTAUTHORISEDTOSEETHISTEST);
}
}
}
if ($_SESSION['s_type'] != 'student') {
$showTest->options['given_answers'] = 1;
if ($testType != "feedback") {
$showTest->options['answers'] = 1;
$editHanles = true;
}
}
示例9: getJournalLessonsStudents
function getJournalLessonsStudents($professorJournalLessons)
{
$students = array();
foreach ($professorJournalLessons as $lessonID) {
$lesson = new EfrontLesson($lessonID);
$lessonStudents = $lesson->getUsers('student');
foreach ($lessonStudents as $userLogin => $value) {
if (!in_array($userLogin, array_keys($students))) {
$students[$userLogin] = array('login' => $userLogin);
}
}
}
return $students;
}
示例10: getGradebookLessons
private function getGradebookLessons($professorLessons, $currentLessonID)
{
// lessons where GradeBook is installed
$lessons = array();
unset($professorLessons[$currentLessonID]);
// do not use current lesson
foreach ($professorLessons as $key => $value) {
$lesson = new EfrontLesson($key);
$lessonUsers = $lesson->getUsers('student');
// get all students that have this lesson
$result = eF_getTableData("module_gradebook_users", "count(uid) as total_users", "lessons_ID=" . $key);
if ($result[0]['total_users'] != 0) {
// module installed for this lesson
$lessons[$key] = array("id" => $key, "name" => $lesson->lesson['name']);
}
}
return $lessons;
}
示例11: removeUsers
/**
* Remove project from users
*
* This function is used to remove assignment of one or more users from the
* current project.
* <br/>Example:
* <code>
* $project = new EfrontProject(32); //Initialize project with id 32
* $project -> removeUsers('jdoe'); //Remove project from user 'jdoe'
* $project -> removeUsers(array('john', 'george')); //Remove project from users 'john' and 'george'
* </code>
*
* @param mixed The users to remove from the project, may be a single login or an array of logins
* @return array The new projet users list;
* @since 3.5.0
* @access public
*/
public function removeUsers($login)
{
if (!is_array($login)) {
$login = array($login);
}
$projectLesson = new EfrontLesson($this->project['lessons_ID']);
$lessonUsers = $projectLesson->getUsers('student');
foreach ($login as $value) {
if (in_array($value, array_keys($lessonUsers)) && in_array($value, array_keys($this->users)) && eF_checkParameter($value, 'login')) {
eF_deleteTableData("users_to_projects", "users_LOGIN = '{$value}' and projects_ID = " . $this->project['id']);
}
}
return $this->getUsers(true);
}