32 $this->objective_id = $a_objective_id;
33 if($this->objective_id)
59 $query =
"SELECT crs_id FROM crs_objectives ".
60 "WHERE objective_id = ".$ilDB->quote($a_objective_id ,
'integer');
87 $query =
'SELECT passes from crs_objectives '.
88 'WHERE objective_id = '.$ilDB->quote($a_objective_id,
'integer');
92 return (
int)
$row->passes;
101 $query =
'SELECT title,description from crs_objectives '.
102 'WHERE objective_id = '.$ilDB->quote($a_objective_id,
'integer');
104 while(
$row = $ilDB->fetchAssoc(
$res))
106 if(!$a_add_description)
108 return $row[
'title'];
127 public function ilClone($a_target_id,$a_copy_id)
133 $query =
"SELECT * FROM crs_objectives ".
134 "WHERE crs_id = ".$this->db->quote($this->course_obj->getId() ,
'integer').
' '.
135 "ORDER BY position ";
151 $new_objective->setTitle(
$row->title);
152 $new_objective->setDescription(
$row->description);
153 $new_objective->setActive(
$row->active);
154 $objective_id = $new_objective->add();
158 include_once(
'Modules/Course/classes/class.ilCourseObjectiveQuestion.php');
160 $objective_qst->cloneDependencies($objective_id,$a_copy_id);
162 include_once
'./Modules/Course/classes/Objectives/class.ilLORandomTestQuestionPools.php';
163 include_once
'./Modules/Course/classes/Objectives/class.ilLOSettings.php';
169 $random_i->copy($a_copy_id, $new_course->getId(),
$objective_id);
176 $random_q->copy($a_copy_id, $new_course->getId(),
$objective_id);
178 include_once
'./Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
183 $assignment_it->cloneSettings($a_copy_id, $new_course->getId(),
$objective_id);
189 $assignment_qt->cloneSettings($a_copy_id, $new_course->getId(),
$objective_id);
195 include_once(
'Modules/Course/classes/class.ilCourseObjectiveMaterials.php');
197 $objective_material->cloneDependencies($objective_id,$a_copy_id);
205 $this->active = $a_stat;
215 $this->passes = $a_passes;
225 return $this->passes > 0;
231 $this->title = $a_title;
239 $this->description = $a_description;
243 return $this->description;
247 $this->objective_id = $a_objective_id;
257 $this->position = $a_pos;
266 $next_id = $ilDB->nextId(
'crs_objectives');
267 $query =
"INSERT INTO crs_objectives (crs_id,objective_id,active,title,description,position,created,passes) ".
269 $ilDB->quote($this->course_obj->getId() ,
'integer').
", ".
270 $ilDB->quote($next_id,
'integer').
", ".
271 $ilDB->quote($this->
isActive(),
'integer').
', '.
272 $ilDB->quote($this->
getTitle() ,
'text').
", ".
275 $ilDB->quote(time() ,
'integer').
", ".
276 $ilDB->quote($this->
getPasses(),
'integer').
' '.
282 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
285 return $this->objective_id = $next_id;
293 $query =
"UPDATE crs_objectives ".
294 "SET title = ".$ilDB->quote($this->
getTitle() ,
'text').
", ".
295 'active = '.$ilDB->quote($this->
isActive(),
'integer').
', '.
296 "description = ".$ilDB->quote($this->
getDescription() ,
'text').
", ".
297 'passes = '.$ilDB->quote($this->
getPasses(),
'integer').
' '.
298 "WHERE objective_id = ".$ilDB->quote($this->
getObjectiveId() ,
'integer').
" ".
299 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
317 $query =
"UPDATE crs_objectives ".
318 "SET position = ".$this->db->quote((
string) $a_position ,
'integer').
" ".
319 "WHERE objective_id = ".$this->db->quote($this->
getObjectiveId() ,
'integer').
" ";
332 return (
bool) strlen($this->
getTitle());
339 include_once
'./Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
342 $tmp_obj_qst->deleteAll();
344 include_once
'./Modules/Course/classes/class.ilCourseObjectiveMaterials.php';
347 $tmp_obj_lm->deleteAll();
350 $query =
"DELETE FROM crs_objectives ".
351 "WHERE crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ".
352 "AND objective_id = ".$ilDB->quote($this->getObjectiveId() ,
'integer').
" ";
356 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
376 $query =
"UPDATE crs_objectives ".
377 "SET position = position + 1 ".
378 "WHERE position = ".$ilDB->quote($this->
__getPosition() - 1 ,
'integer').
" ".
379 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
382 $query =
"UPDATE crs_objectives ".
383 "SET position = position - 1 ".
384 "WHERE objective_id = ".$ilDB->quote($this->
getObjectiveId() ,
'integer').
" ".
385 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
407 $query =
"UPDATE crs_objectives ".
408 "SET position = position - 1 ".
409 "WHERE position = ".$ilDB->quote($this->
__getPosition() + 1 ,
'integer').
" ".
410 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
413 $query =
"UPDATE crs_objectives ".
414 "SET position = position + 1 ".
415 "WHERE objective_id = ".$ilDB->quote($this->
getObjectiveId() ,
'integer').
" ".
416 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
427 $this->position = $a_position;
431 return $this->position;
435 $this->created = $a_created;
439 return $this->created;
449 $query =
"SELECT * FROM crs_objectives ".
450 "WHERE crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ".
451 "AND objective_id = ".$ilDB->quote($this->getObjectiveId() ,
'integer').
" ";
474 switch($this->course_obj->getOrderType())
477 return 'ORDER BY position';
480 return 'ORDER BY title';
483 return 'ORDER BY create';
492 $query =
"UPDATE crs_objectives ".
493 "SET position = position - 1 ".
494 "WHERE position > ".$ilDB->quote($this->
__getPosition() ,
'integer').
" ".
495 "AND crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
505 $query =
"SELECT MAX(position) pos FROM crs_objectives ".
506 "WHERE crs_id = ".$ilDB->quote($this->course_obj->getId() ,
'integer').
" ";
522 if($a_activated_only)
524 $query =
"SELECT objective_id FROM crs_objectives ".
525 "WHERE crs_id = ".$ilDB->quote($course_id ,
'integer').
" ".
526 'AND active = '.$ilDB->quote(1,
'integer').
' '.
531 $query =
"SELECT objective_id FROM crs_objectives ".
532 "WHERE crs_id = ".$ilDB->quote($course_id ,
'integer').
" ".
539 $ids[] =
$row->objective_id;
542 return $ids ? $ids : array();
558 $in = $ilDB->in(
'objective_id',$ids,
false,
'integer');
561 $query =
"DELETE FROM crs_objective_lm WHERE ".$in;
564 $query =
"DELETE FROM crs_objective_tst WHERE ".$in;
567 $query =
"DELETE FROM crs_objective_qst WHERE ".$in;
570 $query =
"DELETE FROM crs_objectives WHERE crs_id = ".$ilDB->quote($course_id ,
'integer');
574 include_once(
"./Services/Tracking/classes/class.ilLPStatusWrapper.php");
590 'online' => (
int) $this->
isActive(),
591 'position' => (
int) $this->position,
599 include_once
'./Modules/Course/classes/class.ilCourseObjectiveMaterials.php';
601 $materials->toXml($writer);
604 include_once
'./Modules/Course/classes/class.ilCourseObjectiveQuestion.php';
606 $test->toXml($writer);
608 include_once
'./Modules/Course/classes/Objectives/class.ilLOTestAssignments.php';
612 include_once
'./Modules/Course/classes/Objectives/class.ilLORandomTestQuestionPools.php';
static getInstance($a_container_id)
Get instance by container id.
static lookupObjectiveTitle($a_objective_id, $a_add_description=false)
static toXml(ilXmlWriter $writer, $a_objective_id)
getInstanceByRefId($a_ref_id, $stop_on_error=true)
get an instance of an Ilias object by reference id
static _lookupContainerIdByObjectiveId($a_objective_id)
Get container of object.
static lookupMaxPasses($a_objective_id)
toXml(ilXmlWriter $writer)
write objective xml
xmlStartTag($tag, $attrs=NULL, $empty=FALSE, $encode=TRUE, $escape=TRUE)
Writes a starttag.
static _getObjectiveIds($course_id, $a_activated_only=false)
xmlElement($tag, $attrs=NULL, $data=Null, $encode=TRUE, $escape=TRUE)
Writes a basic element (no children, just textual content)
setObjectiveId($a_objective_id)
xmlEndTag($tag)
Writes an endtag.
const DB_FETCHMODE_OBJECT
class ilCourseObjectiveMaterials
writePosition($a_position)
write position
ilCourseObjective(&$course_obj, $a_objective_id=0)
__setPosition($a_position)
_refreshStatus($a_obj_id, $a_users=null)
Set dirty.
static _getCountObjectives($a_obj_id, $a_activated_only=false)
get count objectives
ilClone($a_target_id, $a_copy_id)
clone objectives
const TYPE_TEST_QUALIFIED
static getLogger($a_component_id)
Get component logger.
class ilcourseobjectiveQuestion
setDescription($a_description)