[svn r11326] Upgraded announcements backup/restore

Improved (unfinished) the learnpath backup/restore
skala
Yannick Warnier 18 years ago
parent 492a850788
commit 085b5d2670
  1. 9
      main/coursecopy/classes/Announcement.class.php
  2. 29
      main/coursecopy/classes/CourseBuilder.class.php
  3. 9
      main/coursecopy/classes/CourseRestorer.class.php

@ -1,4 +1,4 @@
<?php // $Id: Announcement.class.php 5246 2005-05-31 08:49:27Z bmol $
<?php // $Id: Announcement.class.php 11326 2007-03-02 10:34:18Z yannoo $
/*
==============================================================================
Dokeos - elearning and course management software
@ -46,6 +46,10 @@ class Announcement extends Resource
* The display order of this announcement
*/
var $display_order;
/**
* Has the e-mail been sent?
*/
var $email_sent;
/**
* Create a new announcement
* @param int $id
@ -54,13 +58,14 @@ class Announcement extends Resource
* @param string $date
* @param int display_order
*/
function Announcement($id,$title,$content,$date,$display_order)
function Announcement($id,$title,$content,$date,$display_order,$email_sent)
{
parent::Resource($id,RESOURCE_ANNOUNCEMENT);
$this->content = $content;
$this->title = $title;
$this->date = $date;
$this->display_order = $display_order;
$this->email_sent = $email_sent;
}
/**
* Show this announcement

@ -1,4 +1,4 @@
<?php // $Id: CourseBuilder.class.php 10197 2006-11-26 18:45:33Z pcool $
<?php // $Id: CourseBuilder.class.php 11326 2007-03-02 10:34:18Z yannoo $
/*
==============================================================================
Dokeos - elearning and course management software
@ -294,7 +294,7 @@ class CourseBuilder
$db_result = api_sql_query($sql, __FILE__, __LINE__);
while ($obj = mysql_fetch_object($db_result))
{
$announcement = new Announcement($obj->id, $obj->title, $obj->content, $obj->end_date,$obj->display_order);
$announcement = new Announcement($obj->id, $obj->title, $obj->content, $obj->end_date,$obj->display_order,$obj->email_sent);
$this->course->add_resource($announcement);
}
}
@ -331,9 +331,8 @@ class CourseBuilder
*/
function build_learnpaths()
{
$table_main = Database :: get_course_table(TABLE_LEARNPATH_MAIN);
$table_chapter = Database :: get_course_table(TABLE_LEARNPATH_CHAPTER);
$table_item = Database :: get_course_table(TABLE_LEARNPATH_ITEM);
$table_main = Database :: get_course_table(TABLE_LP_MAIN);
$table_item = Database :: get_course_table(TABLE_LP_ITEM);
$table_tool = Database::get_course_table(TABLE_TOOL_LIST);
$sql = 'SELECT * FROM '.$table_main;
@ -341,38 +340,36 @@ class CourseBuilder
while ($obj = mysql_fetch_object($db_result))
{
$sql_chapters = "SELECT * FROM ".$table_chapter." WHERE learnpath_id = ".$obj->learnpath_id."";
$sql_chapters = "SELECT * FROM ".$table_item." WHERE lp_id = ".$obj->id." AND item_type in ('dokeos_chapter','dir')";
$db_chapters = api_sql_query($sql_chapters);
$chapters = array ();
while ($obj_chapter = mysql_fetch_object($db_chapters))
{
$chapter['name'] = $obj_chapter->chapter_name;
$chapter['description'] = $obj_chapter->chapter_description;
$chapter['name'] = $obj_chapter->title;
$chapter['description'] = $obj_chapter->description;
$chapter['display_order'] = $obj_chapter->display_order;
$chapter['items'] = array();
$sql_items = "SELECT * FROM ".$table_item." WHERE chapter_id = ".$obj_chapter->id."";
$sql_items = "SELECT * FROM ".$table_item." WHERE parent_item_id = ".$obj_chapter->id."";
$db_items = api_sql_query($sql_items);
while ($obj_item = mysql_fetch_object($db_items))
{
$item['type'] = $obj_item->item_type;
$item['id'] = $obj_item->item_id;
$item['id'] = $obj_item->id;
$item['title'] = $obj_item->title;
$item['display_order'] = $obj_item->display_order;
$item['description'] = $obj_item->description;
$item['prereq'] = $obj_item->prereq_id;
$item['prereq_type'] = $obj_item->prereq_type;
$item['prereq_completion_limit'] = $obj_item->prereq_completion_limit;
$item['ref_id'] = $obj_item->id;
$item['prereq'] = $obj_item->prerequisite;
$item['ref_id'] = $obj_item->ref;
$chapter['items'][] = $item;
}
$chapters[] = $chapter;
}
$sql_tool = "SELECT 1 FROM ".$table_tool." WHERE (name='".addslashes($obj->learnpath_name)."' and image='scormbuilder.gif') AND visibility='1'";
$sql_tool = "SELECT 1 FROM ".$table_tool." WHERE (name='".addslashes($obj->name)."' and image='scormbuilder.gif') AND visibility='1'";
$db_tool = api_sql_query($sql_tool);
if(mysql_num_rows($db_tool))
@ -384,7 +381,7 @@ class CourseBuilder
$visibility='0';
}
$lp = new Learnpath($obj->learnpath_id, $obj->learnpath_name, $obj->learnpath_description, $visibility, $chapters);
$lp = new Learnpath($obj->id, $obj->name, $obj->description, $visibility, $chapters);
$this->course->add_resource($lp);
}

@ -1,7 +1,7 @@
<?php
// $Id: CourseRestorer.class.php 10197 2006-11-26 18:45:33Z pcool $
// $Id: CourseRestorer.class.php 11326 2007-03-02 10:34:18Z yannoo $
/*
==============================================================================
Dokeos - elearning and course management software
@ -531,7 +531,12 @@ class CourseRestorer
$resources = $this->course->resources;
foreach ($resources[RESOURCE_ANNOUNCEMENT] as $id => $announcement)
{
$sql = "INSERT INTO ".$table." SET title = '".mysql_real_escape_string($announcement->title)."',content = '".mysql_real_escape_string($announcement->content)."', end_date = '".$announcement->date."', display_order = '".$announcement->display_order."'";
$sql = "INSERT INTO ".$table." " .
"SET title = '".mysql_real_escape_string($announcement->title)."'," .
"content = '".mysql_real_escape_string($announcement->content)."', " .
"end_date = '".$announcement->date."', " .
"display_order = '".$announcement->display_order."', " .
"email_sent = '".$announcement->email_sent."'";
api_sql_query($sql, __FILE__, __LINE__);
$this->course->resources[RESOURCE_ANNOUNCEMENT][$id]->destination_id = mysql_insert_id();
}

Loading…
Cancel
Save