HEX
Server: LiteSpeed
System: Linux s166.bitcommand.com 4.18.0-513.11.1.lve.el8.x86_64 #1 SMP Thu Jan 18 16:21:02 UTC 2024 x86_64
User: h340499 (1922)
PHP: 8.2.16
Disabled: exec,system,passthru,shell_exec,proc_close,proc_open,dl,popen,show_source,posix_kill,posix_mkfifo,posix_getpwuid,posix_setpgid,posix_setsid,posix_setuid,posix_setgid,posix_seteuid,posix_setegid,posix_uname
Upload Files
File: /home/h340499/public_html/wp-content/plugins/learnpress/inc/Services/CourseService.php
<?php

namespace LearnPress\Services;

use Exception;
use LearnPress\Databases\CourseSectionDB;
use LearnPress\Helpers\Singleton;
use LearnPress\Models\CourseModel;
use LearnPress\Models\CoursePostModel;
use LearnPress\Models\CourseSectionModel;
use LP_Helper;
use LP_Section_DB;
use LP_Settings;
use stdClass;

/**
 * Class CourseService
 *
 * Create course with data.
 *
 * @package LearnPress\Services
 * @since 4.3.0
 * @version 1.0.0
 */
class CourseService {
	use Singleton;

	public function init() {
	}

	/**
	 * Create course info main
	 *
	 * @param array $data [ 'post_title' => '', 'post_content' => '', 'post_status' => '', 'post_author' => , ... ]
	 *
	 * @throws Exception
	 */
	public function create_info_main( array $data ): CoursePostModel {
		$coursePostModelNew = new CoursePostModel( $data );
		$coursePostModelNew->save();

		return $coursePostModelNew;
	}

	/**
	 * Create metadata for course
	 *
	 * @param CoursePostModel $coursePostModel
	 * @param array $data
	 *
	 * @throws Exception
	 */
	public function create_meta_data( CoursePostModel $coursePostModel, array $data ) {
		foreach ( $data as $key => $value ) {
			$coursePostModel->save_meta_value_by_key( $key, $value );
		}
	}
}