<?php require_once SCORMCLOUD_BASE . 'scormcloudplugin.php'; require_once SCORMCLOUD_BASE . 'db/scormclouddatabase.php'; $inviteId = $_GET['inviteid']; $invTable = ScormCloudDatabase::get_invitations_table(); $regTable = ScormCloudDatabase::get_registrations_table(); $query = $wpdb->prepare('SELECT inv.*, count(reg.reg_id) as reg_count FROM ' . $invTable . ' inv LEFT OUTER JOIN ' . $regTable . ' reg ON inv.invite_id = reg.invite_id WHERE inv.invite_id = %s AND inv.app_id = %s GROUP BY inv.invite_id', array($inviteId, ScormCloudPlugin::get_wp_option('scormcloud_appid'))); $invite = $wpdb->get_row($query, OBJECT); ?> <div class="scormcloud-admin-page trainingDetail"><a class='backLink' href='<?php echo get_option('siteurl') . "/wp-admin/admin.php?page=scormcloud/manage_training"; ?> '><?php _e("Go back to all trainings", "scormcloud"); ?> </a> <h2><?php echo __("Training Details for", "scormcloud") . ' "' . $invite->course_title; ?> "</h2> <div class="invitationStatus"><?php echo __("This training is currently", "scormcloud") . " <span class='activeText' key='" . $inviteId . "'>" . ($invite->active == 1 ? __("Active", "scormcloud") : __("Inactive", "scormcloud")) . "</span>"; if ($invite->active != 2) { echo "(<a href='#' key='" . $inviteId . "' class='activateLink' active='" . $invite->active . "' >" . ($invite->active == 1 ? __("click to deactivate", "scormcloud") : __("click to activate", "scormcloud")) . "</a>)"; } ?>
$inviteReg = $wpdb->get_row($query, OBJECT); if ($inviteReg != null) { $regid = (string) $inviteReg->reg_id; $inviteId = (string) $inviteReg->invite_id; } else { $inviteId = uniqid(); $regid = $inviteId . "-" . uniqid(); $require_login = 0; $show_course_info = 0; $wpdb->insert(ScormCloudDatabase::get_invitations_table(), array('invite_id' => $inviteId, 'blog_id' => $GLOBALS['blog_id'], 'app_id' => ScormCloudPlugin::get_wp_option('scormcloud_appid'), 'post_id' => $postId, 'course_id' => $courseId, 'course_title' => $courseTitle, 'header' => $header, 'description' => $description, 'require_login' => $require_login, 'show_course_info' => $show_course_info), array('%s', '%s', '%s', '%s', '%s', '%s', '%s', '%s', '%d', '%d')); //create the cloud registration $regService->CreateRegistration($regid, $courseId, $user_email, $user_first_name, $user_last_name, $user_email); $wpdb->insert(ScormCloudDatabase::get_registrations_table(), array('invite_id' => $inviteId, 'reg_id' => $regid, 'user_email' => $user_email), array('%s', '%s', '%s')); } $courseTags = 'catalog_widget'; $regTags = $GLOBALS['blog_id'] . ',' . $inviteId . ',' . $courseTags; $learnerTags = isset($current_user->roles[0]) ? $current_user->roles[0] : "anonymous"; if (function_exists("bp_activity_add")) { global $bp; $actionStr = sprintf('%s launched course "%s" from the Catalog Widget', $user_first_name . ' ' . $user_last_name, $courseTitle); //error_log('logged in user: '******'action' => $actionStr, 'content' => '', 'component' => 'scormcloud', 'type' => 'training_launch', 'primary_link' => '', 'user_id' => false, 'item_id' => false, 'secondary_item_id' => false, 'recorded_time' => gmdate("Y-m-d H:i:s"), 'hide_sitewide' => false); $bpActivityId = bp_activity_add($activityArgs); error_log('Logging action: ' . $actionStr . ' Activity ID: ' . $bpActivityId); } $cssUrl = ScormCloudPlugin::get_wp_option('scormcloud_player_cssurl'); echo $regService->GetLaunchUrl($regid, $returnUrl, $cssUrl, null, $courseTags, $learnerTags, $regTags); break; default: break; }
title="' . __("Click here to configure your SCORM Cloud plugin.", "scormcloud") . '">' . __("Click Here to go to the settings page.", "scormcloud") . '</a></div>'; } ?> <h3><?php _e("SCORM Cloud Training History", "scormcloud"); ?> </h3> <?php $invTable = ScormCloudDatabase::get_invitations_table(); $regTable = ScormCloudDatabase::get_registrations_table(); $query = $wpdb->prepare('SELECT inv.*, count(reg.reg_id) as reg_count FROM ' . $invTable . ' inv LEFT OUTER JOIN ' . $regTable . ' reg ON inv.invite_id = reg.invite_id WHERE inv.blog_id = %s AND inv.app_id = %s GROUP BY inv.invite_id ORDER BY inv.create_date DESC', array($GLOBALS['blog_id'], ScormCloudPlugin::get_wp_option('scormcloud_appid'))); $invites = $wpdb->get_results($query, OBJECT); echo '<table class="widefat" cellspacing="0" id="InvitationListTable" >'; echo '<thead>'; echo '<tr class="thead"><th class="manage-column">' . __("Course Title", "scormcloud") . '</th> <th class="manage-column">' . __("Post Title", "scormcloud") . '</th> <th class="manage-column">' . __("Create/Publish Date", "scormcloud") . '</th> <th class="manage-column">' . __("Learners", "scormcloud") . '</th> <th class="manage-column"> </th> <th class="manage-column"> </th></tr>'; echo '</thead>'; foreach ($invites as $invite) { echo "<tr class='regRow' key='" . $invite->invite_id . "'>"; echo "<td class='title'><a title='" . __("Click to view details of this invitation.", "scormcloud") . "' href='" . get_option('siteurl') . "/wp-admin/admin.php?page=scormcloud/manage_training&inviteid=" . $invite->invite_id . "'>" . __($invite->course_title) . "</a></td>"; if ($invite->post_id == "__direct_invite__") { echo "<td>" . __("User Invitation", "scormcloud") . "</td>";