本文整理汇总了PHP中enrol_into_course函数的典型用法代码示例。如果您正苦于以下问题:PHP enrol_into_course函数的具体用法?PHP enrol_into_course怎么用?PHP enrol_into_course使用的例子?那么恭喜您, 这里精选的函数代码示例或许可以为您提供帮助。
在下文中一共展示了enrol_into_course函数的13个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: check_entry
/**
* The other half to print_entry, this checks the form data
*
* This function checks that the user has completed the task on the
* enrolment entry page and then enrolls them.
*
* @param form the form data submitted, as an object
* @param course the current course, as an object
*/
function check_entry($form, $course)
{
global $CFG, $USER, $SESSION, $THEME;
if (empty($form->password)) {
$form->password = '';
}
if (empty($course->password)) {
// do not allow entry when no course password set
// automatic login when manual primary, no login when secondary at all!!
error('illegal enrolment attempted');
}
$groupid = $this->check_group_entry($course->id, $form->password);
if (stripslashes($form->password) == $course->password or $groupid !== false) {
if (isguestuser()) {
// only real user guest, do not use this for users with guest role
$USER->enrolkey[$course->id] = true;
add_to_log($course->id, 'course', 'guest', 'view.php?id=' . $course->id, getremoteaddr());
} else {
/// Update or add new enrolment
if (enrol_into_course($course, $USER, 'manual')) {
// force a refresh of mycourses
unset($USER->mycourses);
if ($groupid !== false) {
if (!groups_add_member($groupid, $USER->id)) {
print_error('couldnotassigngroup');
}
}
} else {
print_error('couldnotassignrole');
}
}
if ($SESSION->wantsurl) {
$destination = $SESSION->wantsurl;
unset($SESSION->wantsurl);
} else {
$destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}";
}
redirect($destination);
} else {
if (!isset($CFG->enrol_manual_showhint) or $CFG->enrol_manual_showhint) {
$this->errormsg = get_string('enrolmentkeyhint', '', substr($course->password, 0, 1));
} else {
$this->errormsg = get_string('enrolmentkeyerror', 'enrol_manual');
}
}
}
示例2: error
}
echo "<br> Context id is {$context->id}";
if (!($user = get_record('user', 'username', $username))) {
echo 'The username ' . $username . ' is invalid';
error("That's an invalid username");
exit;
}
echo "<br> User is {$user->firstname} {$user->lastname}";
// If user wasn't enrolled, enrol now. Ignore otherwise.
if ($role = get_record('role', 'name', 'Student')) {
// if (($role = get_default_course_role($course))) {
echo "<br> The role description is {$role->description}";
echo "<br> Calling user_has_role_assignment(\$user->id, \$role->id, \$context->id) with user_has_role_assignment({$user->id}, {$role->id}, {$context->id})";
if (!user_has_role_assignment($user->id, $role->id, $context->id)) {
echo "<br> User is not enroled in this course";
if (!enrol_into_course($course, $user, 'manual')) {
print_error('couldnotassignrole');
echo "<br> User could NOT be enrolled into the course";
error("User could NOT be enrolled into the course");
exit;
}
echo "<br> User was just enrolled into the course";
// force a refresh of mycourses
unset($user->mycourses);
if (!empty($SESSION->wantsurl)) {
$destination = $SESSION->wantsurl;
unset($SESSION->wantsurl);
} else {
$destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}";
}
echo "<br> \$destination is set to {$destination}";
示例3: cc_submit
//.........这里部分代码省略.........
email_to_admin("Error while trying to insert new data", $order);
return "Insert record error. Admin has been notified!";
}
$extra = new stdClass();
$extra->x_card_num = $form->cc;
$extra->x_card_code = $form->cvv;
$extra->x_exp_date = $exp_date;
$extra->x_currency_code = $curcost['currency'];
$extra->x_amount = $curcost['cost'];
$extra->x_first_name = $form->firstname;
$extra->x_last_name = $form->lastname;
$extra->x_country = $form->cccountry;
$extra->x_address = $form->ccaddress;
$extra->x_state = $form->ccstate;
$extra->x_city = $form->cccity;
$extra->x_zip = $form->cczip;
$extra->x_invoice_num = $order->id;
$extra->x_description = $course->shortname;
$extra->x_cust_id = $USER->id;
$extra->x_email = $USER->email;
$extra->x_customer_ip = $useripno;
$extra->x_email_customer = empty($CFG->enrol_mailstudents) ? 'FALSE' : 'TRUE';
$extra->x_phone = '';
$extra->x_fax = '';
if (!empty($CFG->an_authcode) && !empty($form->ccauthcode)) {
$action = AN_ACTION_CAPTURE_ONLY;
$extra->x_auth_code = $form->ccauthcode;
} elseif (!empty($CFG->an_review)) {
$action = AN_ACTION_AUTH_ONLY;
} else {
$action = AN_ACTION_AUTH_CAPTURE;
}
$message = '';
if (AN_APPROVED != authorize_action($order, $message, $extra, $action, $form->cctype)) {
email_to_admin($message, $order);
return $message;
}
$SESSION->ccpaid = 1;
// security check: don't duplicate payment
if (AN_ACTION_AUTH_ONLY == $action) {
// review enabled, inform payment managers and redirect the user who have paid to main page.
$a = new stdClass();
$a->url = "{$CFG->wwwroot}/enrol/authorize/index.php?order={$order->id}";
$a->orderid = $order->id;
$a->transid = $order->transid;
$a->amount = "{$order->currency} {$order->amount}";
$a->expireon = userdate(authorize_getsettletime($timenow + 30 * 3600 * 24));
$a->captureon = userdate(authorize_getsettletime($timenow + intval($CFG->an_capture_day) * 3600 * 24));
$a->course = $course->fullname;
$a->user = fullname($USER);
$a->acstatus = $CFG->an_capture_day > 0 ? get_string('yes') : get_string('no');
$emailmessage = get_string('adminneworder', 'enrol_authorize', $a);
$a = new stdClass();
$a->course = $course->shortname;
$a->orderid = $order->id;
$emailsubject = get_string('adminnewordersubject', 'enrol_authorize', $a);
$context = get_context_instance(CONTEXT_COURSE, $course->id);
if ($paymentmanagers = get_users_by_capability($context, 'enrol/authorize:managepayments')) {
foreach ($paymentmanagers as $paymentmanager) {
email_to_user($paymentmanager, $USER, $emailsubject, $emailmessage);
}
}
redirect($CFG->wwwroot, get_string("reviewnotify", "enrol_authorize"), '30');
return;
}
// Credit card captured, ENROL student now...
if (enrol_into_course($course, $USER, 'authorize')) {
if (!empty($CFG->enrol_mailstudents)) {
send_welcome_messages($order->id);
}
if (!empty($CFG->enrol_mailteachers)) {
$context = get_context_instance(CONTEXT_COURSE, $course->id);
$paymentmanagers = get_users_by_capability($context, 'enrol/authorize:managepayments', '', '', '0', '1');
$paymentmanager = array_shift($paymentmanagers);
$a = new stdClass();
$a->course = "{$course->fullname}";
$a->user = fullname($USER);
email_to_user($paymentmanager, $USER, get_string("enrolmentnew", '', format_string($course->shortname)), get_string('enrolmentnewuser', '', $a));
}
if (!empty($CFG->enrol_mailadmins)) {
$a = new stdClass();
$a->course = "{$course->fullname}";
$a->user = fullname($USER);
$admins = get_admins();
foreach ($admins as $admin) {
email_to_user($admin, $USER, get_string("enrolmentnew", '', format_string($course->shortname)), get_string('enrolmentnewuser', '', $a));
}
}
} else {
email_to_admin("Error while trying to enrol " . fullname($USER) . " in '{$course->fullname}'", $order);
}
if ($SESSION->wantsurl) {
$destination = $SESSION->wantsurl;
unset($SESSION->wantsurl);
} else {
$destination = "{$CFG->wwwroot}/course/view.php?id={$course->id}";
}
load_all_capabilities();
redirect($destination, get_string('paymentthanks', 'moodle', $course->fullname), 10);
}
示例4: redirect
}
} else {
redirect($CFG->wwwroot . '/index.php');
}
$id = required_param('id', PARAM_INT);
// Masoud Sadjadi: PARAM_ALPHANUM changed to PARAM_RAW to support emails being passed as user names.
// $username = required_param('username', PARAM_ALPHANUM);
$username = required_param('username', PARAM_RAW);
$loginasguest = optional_param('loginasguest', 0, PARAM_BOOL);
// hmm, is this still needed?
if (!isloggedin()) {
// do not use require_login here because we are usually comming from it
redirect(get_login_url());
}
if (!($course = get_record('course', 'id', $id))) {
print_error("That's an invalid course id");
}
if (!($context = get_context_instance(CONTEXT_COURSE, $course->id))) {
print_error("That's an invalid course id");
}
if (!($USER = get_record('user', 'username', $username))) {
print_error("That's an invalid username");
}
/// Users can't enroll to site course
if ($course->id != SITEID) {
if (!enrol_into_course($course, $USER, 'auto')) {
print_error('couldnotassignrole');
} else {
echo "Enrolled - " . $username;
}
}
示例5: moodle_url
// if the plugin auto-opens the course, then find the course this cohort enrols for and set it as the opener link
if (get_config('auth/wp2moodle', 'autoopen') == 'yes') {
if ($enrolrow = $DB->get_record('enrol', array('enrol' => 'cohort', 'customint1' => $cohortrow->id, 'status' => 0))) {
$SESSION->wantsurl = new moodle_url('/course/view.php', array('id' => $enrolrow->courseid));
}
}
}
}
}
// also optionally find a groupid we sent in, enrol this user in that group, and optionally open the course
if (!empty($group)) {
$ids = explode(',', $group);
foreach ($ids as $group) {
if ($DB->record_exists('groups', array('idnumber' => $group))) {
$grouprow = $DB->get_record('groups', array('idnumber' => $group));
enrol_into_course($grouprow->courseid, $user->id);
if (!$DB->record_exists('groups_members', array('groupid' => $grouprow->id, 'userid' => $user->id))) {
// internally triggers groups_member_added event
groups_add_member($grouprow->id, $user->id);
// not a component ,'enrol_wp2moodle');
}
// if the plugin auto-opens the course, then find the course this group is for and set it as the opener link
if (get_config('auth/wp2moodle', 'autoopen') == 'yes') {
$SESSION->wantsurl = new moodle_url('/course/view.php', array('id' => $grouprow->courseid));
}
}
}
}
// also optionally find a courseid we sent in, enrol this user in that course
if (!empty($course)) {
// find in table roles, record with shortname = student
示例6: format_float
if ((double) $course->cost < 0) {
$cost = (double) $CFG->enrol_cost;
} else {
$cost = (double) $course->cost;
}
if ($data->payment_gross < $cost) {
$cost = format_float($cost, 2);
email_paypal_error_to_admin("Amount paid is not enough ({$data->payment_gross} < {$cost}))", $data);
die;
}
// ALL CLEAR !
if (!insert_record("enrol_paypal", addslashes_object($data))) {
// Insert a transaction record
email_paypal_error_to_admin("Error while trying to insert valid transaction", $data);
}
if (!enrol_into_course($course, $user, 'paypal')) {
email_paypal_error_to_admin("Error while trying to enrol " . fullname($user) . " in '{$course->fullname}'", $data);
die;
} else {
$teacher = get_teacher($course->id);
if (!empty($CFG->enrol_mailstudents)) {
$a->coursename = $course->fullname;
$a->profileurl = "{$CFG->wwwroot}/user/view.php?id={$user->id}";
email_to_user($user, $teacher, get_string("enrolmentnew", '', $course->shortname), get_string('welcometocoursetext', '', $a));
}
if (!empty($CFG->enrol_mailteachers)) {
$a->course = $course->fullname;
$a->user = fullname($user);
email_to_user($teacher, $user, get_string("enrolmentnew", '', $course->shortname), get_string('enrolmentnewuser', '', $a));
}
if (!empty($CFG->enrol_mailadmins)) {
示例7: require_capability
require "../../config.php";
// Allow access only to admin
require_capability('moodle/legacy:admin', get_context_instance(CONTEXT_SYSTEM), NULL, false);
// Get mandatory params
$cid = required_param('cid', PARAM_INT);
// course
$uid = required_param('uid', PARAM_INT);
// user
$action = required_param('action', PARAM_ACTION);
// enrol OR delete
$course = get_record("course", "id", $cid);
$user = get_record("user", "id", $uid);
if ($action == 'delete') {
delete_records('enrol_moderated', 'userid', $uid, 'courseid', $cid);
// Send email to student
$a->site = $SITE->shortname;
$a->course = $course->shortname;
$subject = get_string('applicationsubject', 'enrol_moderated', $a);
$body = get_string('applicationbodyrejected', 'enrol_moderated');
email_to_user($user, $SITE->shortname, $subject, $body);
redirect($CFG->wwwroot . '/enrol/moderated/show_requests.php', get_string('applicationrejected', 'enrol_moderated'), 3);
}
if ($action == 'enrol') {
if (!enrol_into_course($course, $user, 'moderated')) {
print_error('couldnotassignrole');
}
delete_records('enrol_moderated', 'userid', $uid, 'courseid', $cid);
// No needo to send email because enrol_into_course() sends it.
redirect($CFG->wwwroot . '/enrol/moderated/show_requests.php', get_string('applicationaproved', 'enrol_moderated'), 3);
}
示例8: enrol_user
/**
* Enrols user to course with the default role
*
* @param string $username The username of the remote use
* @param int $courseid The id of the local course
* @return bool Whether the enrolment has been successful
*/
function enrol_user($user, $courseid)
{
global $MNET, $MNET_REMOTE_CLIENT;
$userrecord = get_record('user', 'username', addslashes($user['username']), 'mnethostid', $MNET_REMOTE_CLIENT->id);
if ($userrecord == false) {
// We should at least be checking that we allow the remote
// site to create users
// TODO: more rigour here thanks!
$userrecord = new stdClass();
$userrecord->username = addslashes($user['username']);
$userrecord->email = addslashes($user['email']);
$userrecord->firstname = addslashes($user['firstname']);
$userrecord->lastname = addslashes($user['lastname']);
$userrecord->mnethostid = $MNET_REMOTE_CLIENT->id;
if ($userrecord->id = insert_record('user', $userrecord)) {
$userrecord = get_record('user', 'id', $userrecord->id);
} else {
// TODO: Error out
return false;
}
}
if (!($course = get_record('course', 'id', $courseid))) {
// TODO: Error out
return false;
}
$courses = $this->available_courses();
if (!empty($courses[$courseid])) {
if (enrol_into_course($course, $userrecord, 'mnet')) {
return true;
}
}
return false;
}
示例9: unset
if (isguestuser()) {
$is_guest = TRUE;
}
} else {
if (function_exists(isguest)) {
if (isguest()) {
$is_guest = TRUE;
}
}
}
if ($is_guest) {
$json_output["enrol"] = true;
} else {
require_once "{$CFG->dirroot}/enrol/manual/enrol.php";
if (function_exists(enrol_into_course)) {
if (enrol_into_course($course, $USER, 'manual')) {
unset($USER->mycourses);
$json_output["enrol"] = true;
} else {
$json_output["errors"][] = "Error enrolling student into course.";
}
} else {
// For older versions of Moodle.
$timestart = time();
$timeend = $timestart + $course->enrolperiod;
if (enrol_student($USER->id, $course->id, $timestart, $timeend, 'manual')) {
$json_output["enrol"] = true;
unset($USER->mycourses);
} else {
$json_output["errors"][] = "Error enrolling student into course.";
}
示例10: authorize_print_order_details
/**
* authorize_print_order_details
*
* @param int $orderno
*/
function authorize_print_order_details($orderno)
{
global $CFG, $USER;
global $strs, $authstrs;
$cmdcapture = optional_param(ORDER_CAPTURE, '', PARAM_ALPHA);
$cmddelete = optional_param(ORDER_DELETE, '', PARAM_ALPHA);
$cmdrefund = optional_param(ORDER_REFUND, '', PARAM_ALPHA);
$cmdvoid = optional_param(ORDER_VOID, '', PARAM_ALPHA);
$unenrol = optional_param('unenrol', 0, PARAM_BOOL);
$confirm = optional_param('confirm', 0, PARAM_BOOL);
$table = new stdClass();
$table->width = '100%';
$table->size = array('30%', '70%');
$table->align = array('right', 'left');
$order = get_record('enrol_authorize', 'id', $orderno);
if (!$order) {
notice("Order {$orderno} not found.", "index.php");
return;
}
$course = get_record('course', 'id', $order->courseid);
$coursecontext = get_context_instance(CONTEXT_COURSE, $course->id);
if ($USER->id != $order->userid) {
// Current user viewing someone else's order
require_capability('enrol/authorize:managepayments', $coursecontext);
}
echo "<form action=\"index.php\" method=\"post\">\n";
echo "<div>";
echo "<input type=\"hidden\" name=\"order\" value=\"{$orderno}\" />\n";
echo "<input type=\"hidden\" name=\"sesskey\" value=\"" . sesskey() . "\" />";
$settled = authorize_settled($order);
$status = authorize_get_status_action($order);
$table->data[] = array("<b>{$authstrs->paymentmethod}:</b>", $order->paymentmethod == AN_METHOD_CC ? $authstrs->methodcc : $authstrs->methodecheck);
$table->data[] = array("<b>{$authstrs->orderid}:</b>", $orderno);
$table->data[] = array("<b>{$authstrs->transid}:</b>", $order->transid);
$table->data[] = array("<b>{$authstrs->amount}:</b>", "{$order->currency} {$order->amount}");
if (empty($cmdcapture) and empty($cmdrefund) and empty($cmdvoid) and empty($cmddelete)) {
$color = authorize_get_status_color($status->status);
$table->data[] = array("<b>{$strs->course}:</b>", format_string($course->shortname));
$table->data[] = array("<b>{$strs->status}:</b>", "<font style='color:{$color}'>" . $authstrs->{$status->status} . "</font>");
if ($order->paymentmethod == AN_METHOD_CC) {
$table->data[] = array("<b>{$authstrs->nameoncard}:</b>", $order->ccname);
} else {
$table->data[] = array("<b>{$authstrs->echeckfirslasttname}:</b>", $order->ccname);
}
$table->data[] = array("<b>{$strs->time}:</b>", userdate($order->timecreated));
$table->data[] = array("<b>{$authstrs->settlementdate}:</b>", $settled ? userdate($order->settletime) : $authstrs->notsettled);
}
$table->data[] = array(" ", "<hr size='1' />\n");
if (!empty($cmdcapture) and confirm_sesskey()) {
// CAPTURE
if (!in_array(ORDER_CAPTURE, $status->actions)) {
$a = new stdClass();
$a->action = $authstrs->capture;
print_error('youcantdo', 'enrol_authorize', '', $a);
}
if (empty($confirm)) {
$strcaptureyes = get_string('captureyes', 'enrol_authorize');
$table->data[] = array("<b>{$strs->confirm}:</b>", "{$strcaptureyes} <br />\n <input type='hidden' name='confirm' value='1' /><input type='submit' name='" . ORDER_CAPTURE . "' value='{$authstrs->capture}' />\n <a href='index.php?order={$orderno}'>{$strs->no}</a>");
} else {
$message = '';
$extra = NULL;
if (AN_APPROVED != authorize_action($order, $message, $extra, AN_ACTION_PRIOR_AUTH_CAPTURE)) {
$table->data[] = array("<b><font color='red'>{$strs->error}:</font></b>", $message);
} else {
if (empty($CFG->an_test)) {
$user = get_record('user', 'id', $order->userid);
if (enrol_into_course($course, $user, 'authorize')) {
if (!empty($CFG->enrol_mailstudents)) {
send_welcome_messages($order->id);
}
redirect("index.php?order={$orderno}");
} else {
$table->data[] = array("<b><font color='red'>{$strs->error}:</font></b>", "Error while trying to enrol " . fullname($user) . " in '" . format_string($course->shortname) . "'");
}
} else {
$table->data[] = array(get_string('testmode', 'enrol_authorize'), get_string('testwarning', 'enrol_authorize'));
}
}
}
print_table($table);
} elseif (!empty($cmdrefund) and confirm_sesskey()) {
// REFUND
if (!in_array(ORDER_REFUND, $status->actions)) {
$a = new stdClass();
$a->action = $authstrs->refund;
print_error('youcantdo', 'enrol_authorize', '', $a);
}
$refunded = 0.0;
$sql = "SELECT SUM(amount) AS refunded FROM {$CFG->prefix}enrol_authorize_refunds " . "WHERE (orderid = '" . $orderno . "') AND (status = '" . AN_STATUS_CREDIT . "')";
if ($refundval = get_field_sql($sql)) {
$refunded = floatval($refundval);
}
$upto = round($order->amount - $refunded, 2);
if ($upto <= 0) {
error("Refunded to original amount.");
//.........这里部分代码省略.........
示例11: cc_submit
//.........这里部分代码省略.........
// see also: admin/cron.php, $this->cron(), $CFG->an_capture_day...
case AN_ACTION_AUTH_ONLY:
$a = new stdClass();
$a->url = "{$CFG->wwwroot}/enrol/authorize/index.php?order={$order->id}";
$a->orderid = $order->id;
$a->transid = $order->transid;
$a->amount = "{$order->currency} {$order->amount}";
$a->expireon = userdate(AuthorizeNet::getsettletime($timenow + 30 * 3600 * 24));
$a->captureon = userdate(AuthorizeNet::getsettletime($timenow + intval($CFG->an_capture_day) * 3600 * 24));
$a->course = $course->fullname;
$a->user = fullname($USER);
$a->acstatus = $CFG->an_capture_day > 0 ? get_string('yes') : get_string('no');
$emailmessage = get_string('adminneworder', 'enrol_authorize', $a);
$a = new stdClass();
$a->course = $course->shortname;
$a->orderid = $order->id;
$emailsubject = get_string('adminnewordersubject', 'enrol_authorize', $a);
$context = get_context_instance(CONTEXT_COURSE, $course->id);
if ($paymentmanagers = get_users_by_capability($context, 'enrol/authorize:managepayments')) {
foreach ($paymentmanagers as $paymentmanager) {
$eventdata = new object();
$eventdata->modulename = 'moodle';
$eventdata->userfrom = $USER;
$eventdata->userto = $paymentmanager;
$eventdata->subject = $emailsubject;
$eventdata->fullmessage = $emailmessage;
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = '';
$eventdata->smallmessage = '';
events_trigger('message_send', $eventdata);
}
}
redirect($CFG->wwwroot, get_string("reviewnotify", "enrol_authorize"), '30');
break;
case AN_ACTION_CAPTURE_ONLY:
// auth code received via phone and the code accepted.
// auth code received via phone and the code accepted.
case AN_ACTION_AUTH_CAPTURE:
// Credit card captured, ENROL student now...
if (enrol_into_course($course, $USER, 'authorize')) {
if (!empty($CFG->enrol_mailstudents)) {
send_welcome_messages($order->id);
}
if (!empty($CFG->enrol_mailteachers)) {
$context = get_context_instance(CONTEXT_COURSE, $course->id);
$paymentmanagers = get_users_by_capability($context, 'enrol/authorize:managepayments', '', '', '0', '1');
$paymentmanager = array_shift($paymentmanagers);
$a = new stdClass();
$a->course = "{$course->fullname}";
$a->user = fullname($USER);
$eventdata = new object();
$eventdata->modulename = 'moodle';
$eventdata->userfrom = $USER;
$eventdata->userto = $paymentmanager;
$eventdata->subject = get_string("enrolmentnew", '', format_string($course->shortname));
$eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = '';
$eventdata->smallmessage = '';
events_trigger('message_send', $eventdata);
}
if (!empty($CFG->enrol_mailadmins)) {
$a = new stdClass();
$a->course = "{$course->fullname}";
$a->user = fullname($USER);
$admins = get_admins();
foreach ($admins as $admin) {
$eventdata = new object();
$eventdata->modulename = 'moodle';
$eventdata->userfrom = $USER;
$eventdata->userto = $admin;
$eventdata->subject = get_string("enrolmentnew", '', format_string($course->shortname));
$eventdata->fullmessage = get_string('enrolmentnewuser', '', $a);
$eventdata->fullmessageformat = FORMAT_PLAIN;
$eventdata->fullmessagehtml = '';
$eventdata->smallmessage = '';
events_trigger('message_send', $eventdata);
}
}
} else {
message_to_admin("Error while trying to enrol " . fullname($USER) . " in '{$course->fullname}'", $order);
}
load_all_capabilities();
echo $OUTPUT->box_start('generalbox notice');
echo '<p>' . get_string('paymentthanks', 'moodle', $course->fullname) . '</p>';
echo $OUTPUT->container_start('buttons');
echo $OUTPUT->button(html_form::make_button("{$CFG->wwwroot}/enrol/authorize/index.php", array('order' => $order->id), get_string('payments')));
echo $OUTPUT->button(html_form::make_button("{$CFG->wwwroot}/course/view.php", array('id' => $course->id), $course->fullname));
echo $OUTPUT->container_end();
echo $OUTPUT->box_end();
echo $OUTPUT->footer();
exit;
// break;
}
return NULL;
} else {
message_to_admin($message, $order);
return $message;
}
}
示例12: authorize_print_order
/**
* authorize_print_order
*
* @param object $order
*/
function authorize_print_order($orderid)
{
global $CFG, $USER, $DB, $OUTPUT, $PAGE;
global $strs, $authstrs;
$plugin = enrol_get_plugin('authorize');
$an_test = $plugin->get_config('an_test');
$do = optional_param('do', '', PARAM_ALPHA);
$unenrol = optional_param('unenrol', 0, PARAM_BOOL);
$confirm = optional_param('confirm', 0, PARAM_BOOL);
if (!($order = $DB->get_record('enrol_authorize', array('id' => $orderid)))) {
print_error('orderidnotfound', '', "{$CFG->wwwroot}/enrol/authorize/index.php", $orderid);
}
if (!($course = $DB->get_record('course', array('id' => $order->courseid)))) {
print_error('invalidcourseid', '', "{$CFG->wwwroot}/enrol/authorize/index.php");
}
if (!($user = $DB->get_record('user', array('id' => $order->userid)))) {
print_error('nousers', '', "{$CFG->wwwroot}/enrol/authorize/index.php");
}
$coursecontext = context_course::instance($course->id);
if ($USER->id != $order->userid) {
// Current user viewing someone else's order
require_capability('enrol/authorize:managepayments', $coursecontext);
}
$settled = AuthorizeNet::settled($order);
$statusandactions = authorize_get_status_action($order);
$color = authorize_get_status_color($statusandactions->status);
$buttons = '';
if (empty($do)) {
if (empty($statusandactions->actions)) {
if (AN_METHOD_ECHECK == $order->paymentmethod && has_capability('enrol/authorize:uploadcsv', context_user::instance($USER->id))) {
$buttons .= "<form method='get' action='uploadcsv.php'><div><input type='submit' value='" . get_string('uploadcsv', 'enrol_authorize') . "' /></div></form>";
}
} else {
foreach ($statusandactions->actions as $val) {
$buttons .= authorize_print_action_button($orderid, $val);
}
}
}
if (SITEID != $course->id) {
$shortname = format_string($course->shortname, true, array('context' => $coursecontext));
$PAGE->navbar->add($shortname, new moodle_url('/course/view.php', array('id' => $course->id)));
}
$PAGE->navbar->add($authstrs->paymentmanagement, 'index.php?course=' . $course->id);
$PAGE->navbar->add($authstrs->orderid . ': ' . $orderid, 'index.php');
$PAGE->set_course($course);
$PAGE->set_title("{$course->shortname}: {$authstrs->paymentmanagement}");
$PAGE->set_heading($authstrs->orderdetails);
$PAGE->set_cacheable(false);
$PAGE->set_button($buttons);
echo $OUTPUT->header();
$table = new html_table();
$table->width = '100%';
$table->size = array('30%', '70%');
$table->align = array('right', 'left');
if (AN_METHOD_CC == $order->paymentmethod) {
$table->data[] = array("<b>{$authstrs->paymentmethod}:</b>", $authstrs->methodcc);
$table->data[] = array("<b>{$authstrs->nameoncard}:</b>", $order->ccname . ' (<b><a href="' . $CFG->wwwroot . '/user/view.php?id=' . $user->id . '">' . fullname($user) . '</a></b>)');
$table->data[] = array("<b>{$authstrs->cclastfour}:</b>", $order->refundinfo);
} else {
$table->data[] = array("<b>{$authstrs->paymentmethod}:</b>", $authstrs->methodecheck);
$table->data[] = array("<b>{$authstrs->echeckfirslasttname}:</b>", $order->ccname . ' (<b><a href="' . $CFG->wwwroot . '/user/view.php?id=' . $user->id . '">' . fullname($user) . '</a></b>)');
$table->data[] = array("<b>{$authstrs->isbusinesschecking}:</b>", $order->refundinfo == 1 ? $strs->yes : $strs->no);
}
$table->data[] = array("<b>{$authstrs->amount}:</b>", "{$order->currency} {$order->amount}");
$table->data[] = array("<b>{$authstrs->transid}:</b>", $order->transid);
$table->data[] = array("<b>{$strs->time}:</b>", userdate($order->timecreated));
$table->data[] = array("<b>{$authstrs->settlementdate}:</b>", $settled ? userdate($order->settletime) : $authstrs->notsettled);
$table->data[] = array("<b>{$strs->status}:</b>", "<b><font style='color:{$color}'>" . $authstrs->{$statusandactions->status} . "</font></b>");
if (ORDER_CAPTURE == $do && in_array(ORDER_CAPTURE, $statusandactions->actions)) {
if ($confirm && confirm_sesskey()) {
$message = '';
$extra = NULL;
if (AN_APPROVED == AuthorizeNet::process($order, $message, $extra, AN_ACTION_PRIOR_AUTH_CAPTURE)) {
if (empty($an_test)) {
if (enrol_into_course($course, $user, 'authorize')) {
if ($plugin->get_config('enrol_mailstudents')) {
send_welcome_messages($orderid);
}
redirect("{$CFG->wwwroot}/enrol/authorize/index.php?order={$orderid}");
} else {
$shortname = format_string($course->shortname, true, array('context' => $coursecontext));
redirect("{$CFG->wwwroot}/enrol/authorize/index.php?order={$orderid}", "Error while trying to enrol " . fullname($user) . " in '" . $shortname . "'", 20);
}
} else {
redirect("{$CFG->wwwroot}/enrol/authorize/index.php?order={$orderid}", get_string('testwarning', 'enrol_authorize'), 10);
}
} else {
redirect("{$CFG->wwwroot}/enrol/authorize/index.php?order={$orderid}", $message, 20);
}
}
$table->data[] = array("<b>{$strs->confirm}:</b>", get_string('captureyes', 'enrol_authorize') . '<br />' . authorize_print_action_button($orderid, ORDER_CAPTURE, 0, true, false, $strs->no));
echo html_writer::table($table);
} elseif (ORDER_REFUND == $do && in_array(ORDER_REFUND, $statusandactions->actions)) {
$refunded = 0.0;
$sql = "SELECT SUM(amount) AS refunded\n FROM {enrol_authorize_refunds}\n WHERE (orderid = ?)\n AND (status = ?)";
//.........这里部分代码省略.........
示例13: enrol
/**
* Enrols the current user in the specified course
* NOTE: a side effect of this is that it logs-in the user
* @param object $sloodle_course A {@link SloodleCourse} object setup for the necessary course. If null, then the {@link $_session} member is queried instead.
* @param bool True if successful (or the user was already enrolled), or false otherwise
* @access public
*/
function enrol($sloodle_course = null)
{
global $USER, $CFG;
// Attempt to log-in the user
if (!$this->login()) {
return false;
}
// Was course data provided?
if (empty($sloodle_course)) {
// No - attempt to get some from the Sloodle session
if (empty($this->_session)) {
return false;
}
if (empty($this->_session->course)) {
return false;
}
$sloodle_course = $this->_session->course;
}
// NOTE: much of this stuff was lifted from the Moodle 1.8 "course/enrol.php" script
// Fetch the Moodle course data, and a course context
$course = $sloodle_course->get_course_object();
if (!($context = get_context_instance(CONTEXT_COURSE, $course->id))) {
return false;
}
// Ensure we have up-to-date capabilities for the current user
load_all_capabilities();
// Check if the user can view the course, and does not simply have guest access to it
// (No point trying to enrol somebody if they are already enrolled!)
if (has_capability('moodle/course:view', $context) && !has_capability('moodle/legacy:guest', $context, NULL, false)) {
return true;
}
// Make sure auto-registration is enabled for this site/course, and that the controller (if applicable) is enabled
if (!$sloodle_course->check_autoreg()) {
return false;
}
// Can't enrol users on meta courses or the site course
if ($course->metacourse || $course->id == SITEID) {
return false;
}
// Is there an enrolment period in effect?
if ($course->enrolperiod) {
if ($roles = get_user_roles($context, $USER->id)) {
foreach ($roles as $role) {
if ($role->timestart && $role->timestart >= time()) {
return false;
}
}
}
}
// Make sure the course is enrollable
if (!$course->enrollable || $course->enrollable == 2 && $course->enrolstartdate > 0 && $course->enrolstartdate > time() || $course->enrollable == 2 && $course->enrolenddate > 0 && $course->enrolenddate <= time()) {
return false;
}
// Finally, after all that, enrol the user
if (!enrol_into_course($course, $USER, 'manual')) {
return false;
}
// Everything seems fine
// Log the auto-enrolment
add_to_log($course->id, 'sloodle', 'update', '', 'auto-enrolment');
return true;
}