本文整理汇总了PHP中Institution::countInvites方法的典型用法代码示例。如果您正苦于以下问题:PHP Institution::countInvites方法的具体用法?PHP Institution::countInvites怎么用?PHP Institution::countInvites使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Institution
的用法示例。
在下文中一共展示了Institution::countInvites方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: institutionusers_submit
function institutionusers_submit(Pieform $form, $values)
{
global $SESSION, $USER;
$inst = $values['institution'];
$url = '/admin/users/institutionusers.php?usertype=' . $values['usertype'] . (isset($values['lastinstitution']) ? '&lastinstitution=' . $values['lastinstitution'] : '') . '&institution=' . $inst;
if (empty($inst) || !$USER->can_edit_institution($inst)) {
$SESSION->add_error_msg(get_string('notadminforinstitution', 'admin'));
redirect($url);
}
$dataerror = false;
if (!in_array($values['usertype'], array('requesters', 'members', 'lastinstitution', 'nonmembers', 'invited')) || !is_array($values['users'])) {
$dataerror = true;
} else {
foreach ($values['users'] as $id) {
if (!is_numeric($id)) {
$dataerror = true;
break;
}
}
}
if ($dataerror) {
$SESSION->add_error_msg(get_string('errorupdatinginstitutionusers', 'admin'));
redirect($url);
} else {
if (empty($values['users'])) {
$SESSION->add_ok_msg(get_string('nousersupdated', 'admin'));
redirect($url);
}
}
if ($values['usertype'] == 'members') {
$action = 'removeMembers';
} else {
if ($values['usertype'] == 'requesters') {
$action = !empty($values['reject']) ? 'declineRequestFromUser' : 'addUserAsMember';
} else {
if ($values['usertype'] == 'nonmembers') {
$action = !empty($values['add']) && $USER->get('admin') ? 'addUserAsMember' : 'inviteUser';
} else {
if ($values['usertype'] == 'lastinstitution') {
$action = !empty($values['add']) && $USER->get('admin') ? 'addUserAsMember' : 'inviteUser';
} else {
$action = 'uninvite_users';
}
}
}
}
$institution = new Institution($values['institution']);
$maxusers = $institution->maxuseraccounts;
if (!empty($maxusers)) {
$members = $institution->countMembers();
if ($action == 'addUserAsMember' && $members + count($values['users']) > $maxusers) {
$SESSION->add_error_msg(get_string('institutionuserserrortoomanyusers', 'admin'));
redirect($url);
}
if ($action == 'inviteUser' && $members + $institution->countInvites() + count($values['users']) > $maxusers) {
$SESSION->add_error_msg(get_string('institutionuserserrortoomanyinvites', 'admin'));
redirect($url);
}
}
if ($action == 'removeMembers') {
$institution->removeMembers($values['users']);
} else {
if ($action == 'addUserAsMember') {
$institution->add_members($values['users']);
} else {
if ($action == 'inviteUser') {
$institution->invite_users($values['users']);
} else {
if ($action == 'declineRequestFromUser') {
$institution->decline_requests($values['users']);
} else {
if ($action == 'uninvite_users') {
$institution->uninvite_users($values['users']);
}
}
}
}
}
$SESSION->add_ok_msg(get_string('institutionusersupdated_' . $action, 'admin'));
if (!$USER->get('admin') && !$USER->is_institutional_admin()) {
redirect(get_config('wwwroot'));
}
redirect($url);
}
示例2: invite_members
/**
* Invite one or more users to an institution
*
* @param string $institution
* @param array $users
*/
public static function invite_members($institution, $users)
{
global $USER, $WEBSERVICE_INSTITUTION;
self::check_oauth();
$params = array('institution' => $institution, 'users' => $users);
$params = self::validate_parameters(self::invite_members_parameters(), $params);
if (!$USER->get('admin') && !$USER->is_institutional_admin()) {
throw new AccessDeniedException("Institution::invite_members | " . get_string('accessdenied', 'auth.webservice'));
}
// check the institution is allowed
if (!$USER->can_edit_institution($params['institution'])) {
throw new WebserviceInvalidParameterException('invite_members | ' . get_string('accessdeniedforinst', 'auth.webservice', $params['institution']));
}
db_begin();
$userids = array();
foreach ($params['users'] as $user) {
$dbuser = self::checkuser($user);
// Make sure auth is valid
if (!($authinstance = get_record('auth_instance', 'id', $dbuser->authinstance))) {
throw new WebserviceInvalidParameterException('invite_members | ' . get_string('invalidauthtype', 'auth.webservice', $dbuser->authinstance));
}
// check the institution is allowed
// basic check authorisation to edit for the current institution
if (!$USER->can_edit_institution($authinstance->institution)) {
throw new WebserviceInvalidParameterException('invite_members | ' . get_string('accessdeniedforinstuser', 'auth.webservice', $authinstance->institution, $dbuser->id));
}
$userids[] = $dbuser->id;
}
$institution = new Institution($params['institution']);
$maxusers = $institution->maxuseraccounts;
if (!empty($maxusers)) {
if ($members + $institution->countInvites() + count($userids) > $maxusers) {
throw new AccessDeniedException("Institution::invite_members | " . get_string('institutionuserserrortoomanyinvites', 'admin'));
}
}
$institution->invite_users($userids);
db_commit();
return null;
}