[svn r12171] Removed deprecated method and useless white lines

skala
Yannick Warnier 19 years ago
parent f0b2c1c4c8
commit 34e3798e9a
  1. 110
      main/newscorm/learnpath.class.php

@ -732,55 +732,30 @@ class learnpath {
} }
/** /**
* Static admin function allowing removal of a learnpath * Static admin function allowing removal of a learnpath
* @param string Course code * @param string Course code
* @param integer Learnpath ID * @param integer Learnpath ID
* @param string Whether to delete data or keep it (default: 'keep', others: 'remove') * @param string Whether to delete data or keep it (default: 'keep', others: 'remove')
* @return boolean True on success, false on failure (might change that to return number of elements deleted) * @return boolean True on success, false on failure (might change that to return number of elements deleted)
*/ */
function delete($course=null,$id=null,$delete='keep') function delete($course=null,$id=null,$delete='keep')
{ {
//TODO implement a way of getting this to work when the current object is not set //TODO implement a way of getting this to work when the current object is not set
//In clear: implement this in the item class as well (abstract class) and use the given ID in queries //In clear: implement this in the item class as well (abstract class) and use the given ID in queries
//if(empty($course)){$course = api_get_course_id();} //if(empty($course)){$course = api_get_course_id();}
//if(empty($id)){$id = $this->get_id();} //if(empty($id)){$id = $this->get_id();}
//if($this->debug>0){error_log('New LP - In learnpath::delete()',0);} //if($this->debug>0){error_log('New LP - In learnpath::delete()',0);}
foreach($this->items as $id => $dummy) foreach($this->items as $id => $dummy)
{ {
$this->items[$id]->delete(); $this->items[$id]->delete();
} }
$lp = Database::get_course_table('lp'); $lp = Database::get_course_table('lp');
$lp_view = Database::get_course_table('lp_view'); $lp_view = Database::get_course_table('lp_view');
$sql_del_view = "DELETE FROM $lp_view WHERE lp_id = ".$this->lp_id; $sql_del_view = "DELETE FROM $lp_view WHERE lp_id = ".$this->lp_id;
//if($this->debug>2){error_log('New LP - Deleting views bound to lp '.$this->lp_id.': '.$sql_del_view,0);} //if($this->debug>2){error_log('New LP - Deleting views bound to lp '.$this->lp_id.': '.$sql_del_view,0);}
$res_del_view = api_sql_query($sql_del_view); $res_del_view = api_sql_query($sql_del_view);
//if($this->debug>2){error_log('New LP - Deleting lp '.$this->lp_id.' of type '.$this->type,0);} //if($this->debug>2){error_log('New LP - Deleting lp '.$this->lp_id.' of type '.$this->type,0);}
if($this->type == 2 OR $this->type==3){ if($this->type == 2 OR $this->type==3){
//this is a scorm learning path, delete the files as well //this is a scorm learning path, delete the files as well
$sql = "SELECT path FROM $lp WHERE id = ".$this->lp_id; $sql = "SELECT path FROM $lp WHERE id = ".$this->lp_id;
@ -811,157 +786,72 @@ class learnpath {
} }
/** /**
* Removes all the children of one item - dangerous! * Removes all the children of one item - dangerous!
* @param integer Element ID of which children have to be removed * @param integer Element ID of which children have to be removed
* @return integer Total number of children removed * @return integer Total number of children removed
*/ */
function delete_children_items($id){ function delete_children_items($id){
if($this->debug>0){error_log('New LP - In learnpath::delete_children_items('.$id.')',0);} if($this->debug>0){error_log('New LP - In learnpath::delete_children_items('.$id.')',0);}
$num = 0; $num = 0;
if(empty($id) || $id != strval(intval($id))){return false;} if(empty($id) || $id != strval(intval($id))){return false;}
$lp_item = Database::get_course_table('lp_item'); $lp_item = Database::get_course_table('lp_item');
$sql = "SELECT * FROM $lp_item WHERE parent_item_id = $id"; $sql = "SELECT * FROM $lp_item WHERE parent_item_id = $id";
$res = api_sql_query($sql); $res = api_sql_query($sql);
while($row = Database::fetch_array($res)){ while($row = Database::fetch_array($res)){
$num += $this->delete_children_items($row['id']); $num += $this->delete_children_items($row['id']);
$sql_del = "DELETE FROM $lp_item WHERE id = ".$row['id']; $sql_del = "DELETE FROM $lp_item WHERE id = ".$row['id'];
$res_del = api_sql_query($sql_del); $res_del = api_sql_query($sql_del);
$num++; $num++;
} }
return $num; return $num;
} }
/** /**
* Removes an item from the current learnpath * Removes an item from the current learnpath
* @param integer Elem ID (0 if first) * @param integer Elem ID (0 if first)
* @param integer Whether to remove the resource/data from the system or leave it (default: 'keep', others 'remove') * @param integer Whether to remove the resource/data from the system or leave it (default: 'keep', others 'remove')
* @return integer Number of elements moved * @return integer Number of elements moved
* @todo implement resource removal * @todo implement resource removal
*/ */
function delete_item($id, $remove='keep') function delete_item($id, $remove='keep')
{ {
if($this->debug>0){error_log('New LP - In learnpath::delete_item()',0);} if($this->debug>0){error_log('New LP - In learnpath::delete_item()',0);}
//TODO - implement the resource removal //TODO - implement the resource removal
if(empty($id) || $id != strval(intval($id))){return false;} if(empty($id) || $id != strval(intval($id))){return false;}
//first select item to get previous, next, and display order //first select item to get previous, next, and display order
$lp_item = Database::get_course_table('lp_item'); $lp_item = Database::get_course_table('lp_item');
$sql_sel = "SELECT * FROM $lp_item WHERE id = $id"; $sql_sel = "SELECT * FROM $lp_item WHERE id = $id";
$res_sel = api_sql_query($sql_sel,__FILE__,__LINE__); $res_sel = api_sql_query($sql_sel,__FILE__,__LINE__);
if(Database::num_rows($res_sel)<1){return false;} if(Database::num_rows($res_sel)<1){return false;}
$row = Database::fetch_array($res_sel); $row = Database::fetch_array($res_sel);
$previous = $row['previous_item_id']; $previous = $row['previous_item_id'];
$next = $row['next_item_id']; $next = $row['next_item_id'];
$display = $row['display_order']; $display = $row['display_order'];
$parent = $row['parent_item_id']; $parent = $row['parent_item_id'];
$lp = $row['lp_id']; $lp = $row['lp_id'];
//delete children items //delete children items
$num = $this->delete_children_items($id); $num = $this->delete_children_items($id);
if($this->debug>2){error_log('New LP - learnpath::delete_item() - deleted '.$num.' children of element '.$id,0);} if($this->debug>2){error_log('New LP - learnpath::delete_item() - deleted '.$num.' children of element '.$id,0);}
//now delete the item //now delete the item
$sql_del = "DELETE FROM $lp_item WHERE id = $id"; $sql_del = "DELETE FROM $lp_item WHERE id = $id";
if($this->debug>2){error_log('New LP - Deleting item: '.$sql_del,0);} if($this->debug>2){error_log('New LP - Deleting item: '.$sql_del,0);}
$res_del = api_sql_query($sql_del,__FILE__,__LINE__); $res_del = api_sql_query($sql_del,__FILE__,__LINE__);
//now update surrounding items //now update surrounding items
$sql_upd = "UPDATE $lp_item SET next_item_id = $next WHERE id = $previous"; $sql_upd = "UPDATE $lp_item SET next_item_id = $next WHERE id = $previous";
$res_upd = api_sql_query($sql_upd,__FILE__,__LINE__); $res_upd = api_sql_query($sql_upd,__FILE__,__LINE__);
$sql_upd = "UPDATE $lp_item SET previous_item_id = $previous WHERE id = $next"; $sql_upd = "UPDATE $lp_item SET previous_item_id = $previous WHERE id = $next";
$res_upd = api_sql_query($sql_upd,__FILE__,__LINE__); $res_upd = api_sql_query($sql_upd,__FILE__,__LINE__);
//now update all following items with new display order //now update all following items with new display order
$sql_all = "UPDATE $lp_item SET display_order = display_order-1 WHERE lp_id = $lp AND parent_item_id = $parent AND display_order > $display"; $sql_all = "UPDATE $lp_item SET display_order = display_order-1 WHERE lp_id = $lp AND parent_item_id = $parent AND display_order > $display";
$res_all = api_sql_query($sql_all,__FILE__,__LINE__); $res_all = api_sql_query($sql_all,__FILE__,__LINE__);
} }
/** /**
* Updates an item's content in place * Updates an item's content in place
* @param integer Element ID * @param integer Element ID
* @param string New content * @param string New content
* @return boolean True on success, false on error * @return boolean True on success, false on error
*/ */
function old_edit_item($id,$content)
{
if($this->debug>0){error_log('New LP - In learnpath::edit_item()',0);}
if(empty($id) or ($id != strval(intval($id))) or empty($content)){ return false; }
$content = $this->escape_string($content);
$lp_item = Database::get_course_table('lp_item');
$sql_upd = "UPDATE $lp_item SET title = '$content' WHERE id = $id";
$res_upd = api_sql_query($sql_upd,__FILE__,__LINE__);
//TODO update the item object (can be ignored for now because refreshed)
return true;
}
function edit_item($id, $parent, $previous, $title, $description, $prerequisites=0) function edit_item($id, $parent, $previous, $title, $description, $prerequisites=0)
{ {
if($this->debug > 0){error_log('New LP - In learnpath::edit_item()', 0);} if($this->debug > 0){error_log('New LP - In learnpath::edit_item()', 0);}

Loading…
Cancel
Save