Beispiel #1
0
 /**
  * return the membre user list of the course
  *
  * @return array of user identification
  */
 public function getRecipientList()
 {
     $userList = array();
     $userCourseList = claro_get_course_user_list($this->courseId);
     if ($userCourseList) {
         foreach ($userCourseList as $user) {
             $userList[] = (int) $user['user_id'];
         }
     }
     return $userList;
 }
Beispiel #2
0
/**
 * return the autorisation of the current user to send a message to the user in parameter
 *
 * @param int $userId user id of the recipient
 * @return bool true if the current user is autorised do send a message to the user in parameter
 *                 flase if the current user is not autorised do send a message to the user in parameter
 */
function current_user_is_allowed_to_send_message_to_user($userId)
{
    if (claro_is_platform_admin()) {
        return true;
    }
    if (claro_is_in_a_group()) {
        if (claro_is_group_tutor() || claro_is_course_manager()) {
            $userList = get_group_user_list(claro_get_current_group_id(), claro_get_current_course_id());
            for ($count = 0; $count < count($userList); $count++) {
                if ($userList[$count]['id'] == $userId) {
                    return true;
                }
            }
        }
        return false;
    } elseif (claro_is_in_a_course()) {
        if (claro_is_course_manager()) {
            $userList = claro_get_course_user_list();
            for ($count = 0; $count < count($userList); $count++) {
                if ($userList[$count]['user_id'] == $userId) {
                    return true;
                }
            }
        }
        return false;
    } else {
        // can answerd to a user
        $tableName = get_module_main_tbl(array('im_message', 'im_recipient'));
        $select = "SELECT count(*)\n" . " FROM `" . $tableName['im_message'] . "` as M\n" . " INNER JOIN `" . $tableName['im_recipient'] . "` as R ON R.message_id = M.message_id\n" . " WHERE (R.user_id = " . (int) claro_get_current_user_id() . " OR R.user_id = 0)\n" . " AND M.sender = " . (int) $userId;
        $nbMessage = claro_sql_query_fetch_single_value($select);
        if ($nbMessage > 0) {
            return true;
        } elseif (get_conf('userCanSendMessage')) {
        }
        return true;
        return false;
    }
}
Beispiel #3
0
        $recipient->addUserIdList($userIdList);
        $recipient->sendMessage($message);
        $dialogBox = new DialogBox();
        $dialogBox->success(get_lang('Message sent'));
        if ($failure = claro_failure::get_last_failure()) {
            $dialogBox->warning($failure);
        }
        $dialogBox->info('<a href="' . $_SERVER['PHP_SELF'] . '">&lt;&lt;&nbsp;' . get_lang('Back') . '</a>');
        $content .= $dialogBox->render();
    }
    // end cmd exSendMessage
} else {
    /*
     * Get user    list of    this course
     */
    $singleUserList = claro_get_course_user_list(claro_get_current_course_id());
    $userList = array();
    if (is_array($singleUserList) && !empty($singleUserList)) {
        foreach ($singleUserList as $singleUser) {
            $userList[] = $singleUser;
        }
    }
    /*
     * Get group list of this course
     */
    $courseTableName = get_module_course_tbl(array('group_team', 'group_rel_team_user'));
    $courseTableName = get_module_course_tbl(array('group_team', 'group_rel_team_user'));
    $mainTableName = claro_sql_get_main_tbl();
    $sql = "SELECT \n                `g`.`id`,\n                `g`.`name`,\n                COUNT(`cu`.`user_id`) AS `userNb`\n            FROM \n                `" . $courseTableName['group_team'] . "` AS `g` \n            LEFT JOIN \n                `" . $courseTableName['group_rel_team_user'] . "` AS `gu`\n            ON \n                `g`.`id` = `gu`.`team`\n            LEFT JOIN \n                `" . $mainTableName['rel_course_user'] . "` AS cu\n            ON \n                `gu`.`user` = cu.user_id\n            AND \n                cu.code_cours = '" . claro_sql_escape(claro_get_current_course_id()) . "'\n            GROUP BY `g`.`id`";
    $groupSelect = claro_sql_query_fetch_all($sql);
    $groupList = array();