本文整理汇总了PHP中UrlManager::add_course_to_url方法的典型用法代码示例。如果您正苦于以下问题:PHP UrlManager::add_course_to_url方法的具体用法?PHP UrlManager::add_course_to_url怎么用?PHP UrlManager::add_course_to_url使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类UrlManager
的用法示例。
在下文中一共展示了UrlManager::add_course_to_url方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: register_course
//.........这里部分代码省略.........
}
if (empty($visual_code)) {
$error_msg[] = 'courseScreenCode is missing';
$ok_to_register_course = false;
}
if (empty($directory)) {
$error_msg[] = 'courseRepository is missing';
$ok_to_register_course = false;
}
if (empty($title)) {
$error_msg[] = 'title is missing';
$ok_to_register_course = false;
}
if (empty($expiration_date)) {
$expiration_date = api_get_utc_datetime(time() + $firstExpirationDelay);
} else {
$expiration_date = api_get_utc_datetime($expiration_date);
}
if ($visibility < 0 || $visibility > 4) {
$error_msg[] = 'visibility is invalid';
$ok_to_register_course = false;
}
if (empty($disk_quota)) {
$disk_quota = api_get_setting('document.default_document_quotum');
}
$time = api_get_utc_datetime();
if (stripos($department_url, 'http://') === false && stripos($department_url, 'https://') === false) {
$department_url = 'http://' . $department_url;
}
//just in case
if ($department_url == 'http://') {
$department_url = '';
}
$course_id = 0;
if ($ok_to_register_course) {
// Here we must add 2 fields.
$sql = "INSERT INTO " . $TABLECOURSE . " SET\n code = '" . Database::escape_string($code) . "',\n directory = '" . Database::escape_string($directory) . "',\n course_language = '" . Database::escape_string($course_language) . "',\n title = '" . Database::escape_string($title) . "',\n description = '" . self::lang2db(get_lang('CourseDescription')) . "',\n category_code = '" . Database::escape_string($category_code) . "',\n visibility = '" . $visibility . "',\n show_score = '1',\n disk_quota = '" . intval($disk_quota) . "',\n creation_date = '{$time}',\n expiration_date = '" . $expiration_date . "',\n last_edit = '{$time}',\n last_visit = NULL,\n tutor_name = '" . Database::escape_string($tutor_name) . "',\n department_name = '" . Database::escape_string($department_name) . "',\n department_url = '" . Database::escape_string($department_url) . "',\n subscribe = '" . intval($subscribe) . "',\n unsubscribe = '" . intval($unsubscribe) . "',\n visual_code = '" . Database::escape_string($visual_code) . "'";
Database::query($sql);
$course_id = Database::insert_id();
if ($course_id) {
$sort = api_max_sort_value('0', api_get_user_id());
// Default true
$addTeacher = isset($params['add_user_as_teacher']) ? $params['add_user_as_teacher'] : true;
if ($addTeacher) {
$i_course_sort = CourseManager::userCourseSort($user_id, $code);
if (!empty($user_id)) {
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET\n c_id = '" . $course_id . "',\n user_id = '" . intval($user_id) . "',\n status = '1',\n is_tutor = '0',\n sort = '" . $i_course_sort . "',\n user_course_cat = '0'";
Database::query($sql);
}
}
if (!empty($teachers)) {
if (!is_array($teachers)) {
$teachers = array($teachers);
}
foreach ($teachers as $key) {
//just in case
if ($key == $user_id) {
continue;
}
if (empty($key)) {
continue;
}
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET\n c_id = '" . Database::escape_string($course_id) . "',\n user_id = '" . Database::escape_string($key) . "',\n status = '1',\n is_tutor = '0',\n sort = '" . ($sort + 1) . "',\n user_course_cat = '0'";
Database::query($sql);
}
}
// Adding the course to an URL.
if (api_is_multiple_url_enabled()) {
$url_id = 1;
if (api_get_current_access_url_id() != -1) {
$url_id = api_get_current_access_url_id();
}
UrlManager::add_course_to_url($course_id, $url_id);
} else {
UrlManager::add_course_to_url($course_id, 1);
}
// Add event to the system log.
$user_id = api_get_user_id();
Event::addEvent(LOG_COURSE_CREATE, LOG_COURSE_CODE, $code, api_get_utc_datetime(), $user_id, $course_id);
$send_mail_to_admin = api_get_setting('course.send_email_to_admin_when_create_course');
// @todo Improve code to send to all current portal administrators.
if ($send_mail_to_admin == 'true') {
$siteName = api_get_setting('platform.site_name');
$recipient_email = api_get_setting('admin.administrator_email');
$recipient_name = api_get_person_name(api_get_setting('admin.administrator_name'), api_get_setting('admin.administrator_surname'));
$iname = api_get_setting('platform.institution');
$subject = get_lang('NewCourseCreatedIn') . ' ' . $siteName . ' - ' . $iname;
$message = get_lang('Dear') . ' ' . $recipient_name . ",\n\n" . get_lang('MessageOfNewCourseToAdmin') . ' ' . $siteName . ' - ' . $iname . "\n";
$message .= get_lang('CourseName') . ' ' . $title . "\n";
$message .= get_lang('Category') . ' ' . $category_code . "\n";
$message .= get_lang('Tutor') . ' ' . $tutor_name . "\n";
$message .= get_lang('Language') . ' ' . $course_language;
$userInfo = api_get_user_info($user_id);
$additionalParameters = array('smsType' => SmsPlugin::NEW_COURSE_BEEN_CREATED, 'userId' => $user_id, 'courseName' => $title, 'creatorUsername' => $userInfo['username']);
api_mail_html($recipient_name, $recipient_email, $subject, $message, $siteName, $recipient_email, null, null, null, $additionalParameters);
}
}
}
return $course_id;
}
示例2: update_urls_rel_course
/**
* Updates the access_url_rel_course table with a given user list
* @author Julio Montoya
* @param array $course_list
* @param int access_url_id
* */
public static function update_urls_rel_course($course_list, $access_url_id)
{
$table_url_rel_course = Database::get_main_table(TABLE_MAIN_ACCESS_URL_REL_COURSE);
$sql = "SELECT c_id FROM {$table_url_rel_course}\n WHERE access_url_id = " . intval($access_url_id);
$result = Database::query($sql);
$existing_courses = array();
while ($row = Database::fetch_array($result)) {
$existing_courses[] = $row['c_id'];
}
// Adding courses
foreach ($course_list as $course_code) {
if (!in_array($course_code, $courseId)) {
UrlManager::add_course_to_url($courseId, $access_url_id);
CourseManager::update_course_ranking($courseId, 0, $access_url_id);
}
}
// Deleting old courses
foreach ($existing_courses as $courseId) {
if (!in_array($courseId, $course_list)) {
UrlManager::delete_url_rel_course($courseId, $access_url_id);
CourseManager::update_course_ranking($courseId, 0, $access_url_id);
}
}
}
示例3: WSAddCourseToPortal
function WSAddCourseToPortal($params)
{
if (!WSHelperVerifyKey($params['secret_key'])) {
return return_error(WS_ERROR_SECRET_KEY);
}
$courseInfo = CourseManager::getCourseInfoFromOriginalId($params['original_course_id_value'], $params['original_course_id_name']);
$courseId = $courseInfo['real_id'];
$portalId = $params['portal_id'];
UrlManager::add_course_to_url($courseId, $portalId);
$result = UrlManager::relation_url_course_exist($courseId, $portalId);
return intval($result);
}
示例4: register_course
//.........这里部分代码省略.........
if ($ok_to_register_course) {
/** @var Course $course */
$course = self::getCourseManager()->create();
$course->setCode($code)->setDirectory($directory)->setCourseLanguage($course_language)->setTitle($title)->setDescription(get_lang('CourseDescription'))->setCategoryCode($category_code)->setVisibility($visibility)->setShowScore(1)->setDiskQuota($disk_quota)->setCreationDate(new \DateTime())->setExpirationDate(new \DateTime($expiration_date))->setDepartmentName($department_name)->setDepartmentUrl($department_url)->setSubscribe($subscribe)->setUnsubscribe($unsubscribe)->setVisualCode($visual_code);
self::getCourseManager()->save($course, true);
$course_id = $course->getId();
/*// Here we must add 2 fields.
$sql = "INSERT INTO ".$TABLECOURSE . " SET
code = '".Database :: escape_string($code) . "',
directory = '".Database :: escape_string($directory) . "',
course_language = '".Database :: escape_string($course_language) . "',
title = '".Database :: escape_string($title) . "',
description = '".Database::escape_string(get_lang('CourseDescription')) . "',
category_code = '".Database :: escape_string($category_code) . "',
visibility = '".$visibility . "',
show_score = '1',
disk_quota = '".intval($disk_quota) . "',
creation_date = '$time',
expiration_date = '".$expiration_date . "',
last_edit = '$time',
last_visit = NULL,
tutor_name = '".Database :: escape_string($tutor_name) . "',
department_name = '".Database :: escape_string($department_name) . "',
department_url = '".Database :: escape_string($department_url) . "',
subscribe = '".intval($subscribe) . "',
unsubscribe = '".intval($unsubscribe) . "',
visual_code = '".Database :: escape_string($visual_code) . "'";
Database::query($sql);
$course_id = Database::insert_id();*/
//$course->addUsers()
if ($course_id) {
$settingsManager = Container::getCourseSettingsManager();
$schemas = $settingsManager->getSchemas();
$schemas = array_keys($schemas);
/**
* @var string $key
* @var \Sylius\Bundle\SettingsBundle\Schema\SchemaInterface $schema
*/
foreach ($schemas as $schema) {
$settings = $settingsManager->loadSettings($schema);
$settingsManager->setCourse($course);
$settingsManager->saveSettings($schema, $settings);
}
$sort = api_max_sort_value('0', api_get_user_id());
$i_course_sort = CourseManager::userCourseSort($user_id, $code);
if (!empty($user_id)) {
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET\n c_id = '" . Database::escape_string($course_id) . "',\n user_id = '" . intval($user_id) . "',\n status = '1',\n tutor_id = '0',\n sort = '" . $i_course_sort . "',\n user_course_cat = '0'";
Database::query($sql);
}
if (!empty($teachers)) {
if (!is_array($teachers)) {
$teachers = array($teachers);
}
foreach ($teachers as $key) {
//just in case
if ($key == $user_id) {
continue;
}
if (empty($key)) {
continue;
}
$sql = "INSERT INTO " . $TABLECOURSUSER . " SET\n c_id = '" . Database::escape_string($course_id) . "',\n user_id = '" . Database::escape_string($key) . "',\n status = '1',\n role = '',\n tutor_id = '0',\n sort = '" . ($sort + 1) . "',\n user_course_cat = '0'";
Database::query($sql);
}
}
// Adding the course to an URL
if (api_is_multiple_url_enabled()) {
$url_id = 1;
if (api_get_current_access_url_id() != -1) {
$url_id = api_get_current_access_url_id();
}
UrlManager::add_course_to_url($course_id, $url_id);
} else {
UrlManager::add_course_to_url($course_id, 1);
}
// Add event to the system log.
$user_id = api_get_user_id();
Event::addEvent(LOG_COURSE_CREATE, LOG_COURSE_CODE, $code, api_get_utc_datetime(), $user_id, $code);
$send_mail_to_admin = api_get_setting('course.send_email_to_admin_when_create_course');
// @todo Improve code to send to all current portal administrators.
if ($send_mail_to_admin == 'true') {
$siteName = api_get_setting('platform.site_name');
$recipient_email = api_get_setting('platform.administrator_email');
$recipient_name = api_get_person_name(api_get_setting('platform.administrator_name'), api_get_setting('platform.administrator_surname'));
$iname = api_get_setting('platform.institution');
$subject = get_lang('NewCourseCreatedIn') . ' ' . $siteName . ' - ' . $iname;
$body = get_lang('Dear') . ' ' . $recipient_name . ",\n\n" . get_lang('MessageOfNewCourseToAdmin') . ' ' . $siteName . ' - ' . $iname . "\n";
$body .= get_lang('CourseName') . ' ' . $title . "\n";
$body .= get_lang('Category') . ' ' . $category_code . "\n";
$body .= get_lang('Tutor') . ' ' . $tutor_name . "\n";
$body .= get_lang('Language') . ' ' . $course_language;
//api_mail_html($recipient_name, $recipient_email, $subject, $message, $siteName, $recipient_email);
$message = \Swift_Message::newInstance()->setSubject($subject)->setFrom($recipient_email)->setTo($recipient_email)->setBody(Container::getTemplate()->render('ChamiloCoreBundle:Mailer:Course/new_course.html.twig', array('recipient_name' => $recipient_name, 'sitename' => $siteName, 'institution' => $iname, 'course_name' => $title, 'category' => $category_code, 'tutor' => $tutor_name, 'language' => $course_language)));
Container::getMailer()->send($message);
}
}
}
return $course_id;
}