Chamilo is a learning management system focused on ease of use and accessibility
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
chamilo-lms/main/notebook/course_import.class.php

85 lines
1.8 KiB

<?php
namespace Notebook;
/**
* Import notebook entries into a course/session.
*
* Usage
*
* //init
* $course = (object)array();
* $course->c_id = xxx;
* $course->session_id = xxx;
* $import = new CourseImport($course);
*
* //create notebook entry
* $item = (object)array();
* $item->title = 'xxx';
* $item->description = 'xxx';
*
* //import notebook entry
* $import->add($item);
*
* @license /licence.txt
* @author Laurent Opprecht <laurent@opprecht.info>
*/
class CourseImport
{
protected $course = false;
protected $update_existing_entries = false;
protected $objects_imported = 0;
protected $objects_skipped = 0;
public function __construct($course)
{
$this->course = $course;
}
public function get_course()
{
return $this->course;
}
public function get_objects_imported()
{
return $this->objects_imported;
}
public function get_objects_skipped()
{
return $this->objects_skipped;
}
/**
*
* @param array $items
*/
public function add($items)
{
$this->objects_imported = 0;
$this->objects_skipped = 0;
foreach ($items as $item) {
$title = $item->title;
$description = $item->description;
if (empty($title) || empty($description)) {
$this->objects_skipped++;
continue;
}
$item->c_id = $this->course->c_id;
$item->session_id = $this->course->session_id;
$repo = Notebook::repository();
$success = $repo->save($item);
if ($success) {
$this->objects_imported++;
} else {
$this->objects_skipped++;
}
}
}
}