24 include_once
'./Services/Container/classes/class.ilContainer.php';
58 $this->obj_id = $a_obj_id;
71 if(self::$instances[$a_obj_id])
73 return self::$instances[$a_obj_id];
75 return self::$instances[$a_obj_id] =
new self($a_obj_id);
83 $query =
"SELECT * FROM container_sorting_set ".
84 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
" ";
89 return $row->sort_mode;
105 global $tree,
$ilDB, $objDefinition;
108 $query =
"SELECT * FROM container_sorting_set ".
109 "WHERE obj_id = ".$ilDB->quote($a_obj_id ,
'integer').
" ";
116 return $row->sort_mode;
119 return self::lookupSortModeFromParentContainer($a_obj_id);
129 global $tree,
$ilDB, $objDefinition;
140 if($cont_ref_id = $tree->checkForParentType(
$ref_id,
'grp'))
149 if($cont_ref_id = $tree->checkForParentType(
$ref_id,
'crs'))
174 $query =
"SELECT sort_mode,sort_direction,new_items_position,new_items_order ".
175 "FROM container_sorting_set ".
176 "WHERE obj_id = ".$ilDB->quote($a_old_id ,
'integer').
" ";
178 while(
$row = $ilDB->fetchAssoc(
$res))
180 $query =
"DELETE FROM container_sorting_set ".
181 "WHERE obj_id = ".$ilDB->quote($a_new_id).
" ";
182 $ilDB->manipulate(
$query);
184 $query =
"INSERT INTO container_sorting_set ".
185 "(obj_id,sort_mode, sort_direction, new_items_position, new_items_order) ".
187 $ilDB->quote($a_new_id ,
'integer').
", ".
188 $ilDB->quote(
$row[
"sort_mode"],
'integer').
", ".
189 $ilDB->quote(
$row[
"sort_direction"],
'integer').
', '.
190 $ilDB->quote(
$row[
"new_items_position"],
'integer').
', '.
191 $ilDB->quote(
$row[
"new_items_order"],
'integer').
' '.
193 $ilDB->manipulate(
$query);
206 return $this->sort_mode ? $this->sort_mode : 0;
245 $this->sort_mode = (int) $a_mode;
254 $this->sort_direction = (int) $a_direction;
263 $this->new_items_position = (int)$a_position;
272 $this->new_items_order = (int)$a_order;
285 $query =
"DELETE FROM container_sorting_set ".
286 "WHERE obj_id = ".$ilDB->quote($this->obj_id,
'integer');
302 $query =
"INSERT INTO container_sorting_set ".
303 "(obj_id,sort_mode, sort_direction, new_items_position, new_items_order) ".
305 $this->db->quote($this->obj_id ,
'integer').
", ".
306 $this->db->quote($this->sort_mode ,
'integer').
", ".
307 $this->db->quote($this->sort_direction,
'integer').
', '.
308 $this->db->quote($this->new_items_position,
'integer').
', '.
309 $this->db->quote($this->new_items_order,
'integer').
' '.
318 public function delete()
322 $query =
'DELETE FROM container_sorting_set WHERE obj_id = '.$ilDB->quote($this->obj_id,
'integer');
340 $query =
"SELECT * FROM container_sorting_set ".
341 "WHERE obj_id = ".$this->db->quote($this->obj_id ,
'integer').
" ";
346 $this->sort_mode =
$row->sort_mode;
347 $this->sort_direction =
$row->sort_direction;
348 $this->new_items_position =
$row->new_items_position;
349 $this->new_items_order =
$row->new_items_order;
363 $lng->loadLanguageModule(
'crs');
367 return $lng->txt(
'crs_sort_activation');
370 return $lng->txt(
'crs_sort_manual');
373 return $lng->txt(
'crs_sort_title');
376 return $lng->txt(
'sorting_creation_header');
389 $settings = self::getInstanceByObjId(
$obj_id);
392 switch($settings->getSortMode())
395 switch($settings->getSortNewItemsOrder())
398 $order =
'Activation';
433 'type' =>
'Activation' 452 $settings = self::getInstanceByObjId(
$obj_id);
454 switch($attibs[
'type'])
470 switch($attibs[
'direction'])
480 switch($attibs[
'position'])
490 switch($attibs[
'order'])
setSortDirection($a_direction)
Set sort direction.
setSortMode($a_mode)
set sort mode
const SORT_NEW_ITEMS_POSITION_TOP
static _readSortMode($a_obj_id)
static _importContainerSortingSettings($attibs, $obj_id)
sorting import for all container objects
xmlElement($tag, $attrs=NULL, $data=Null, $encode=TRUE, $escape=TRUE)
Writes a basic element (no children, just textual content)
setSortNewItemsPosition($a_position)
SET new item position.
static _cloneSettings($a_old_id, $a_new_id)
Clone settings.
static _getAllReferences($a_id)
get all reference ids of object
const DB_FETCHMODE_OBJECT
getSortNewItemsOrder()
GET new item order.
getSortMode()
get sort mode
const SORT_NEW_ITEMS_POSITION_BOTTOM
const SORT_NEW_ITEMS_ORDER_CREATION
static _lookupObjId($a_id)
static lookupSortModeFromParentContainer($a_obj_id)
Lookup sort mode from parent container.
static _lookupType($a_id, $a_reference=false)
lookup object type
static sortModeToString($a_sort_mode)
get String representation of sort mode
const SORT_NEW_ITEMS_ORDER_ACTIVATION
getSortNewItemsPosition()
GET new item position.
const SORT_DIRECTION_DESC
static _exportContainerSortingSettings(ilXmlWriter $xml, $obj_id)
sorting XML-export for all container objects
setSortNewItemsOrder($a_order)
SET new item order.
static _lookupSortMode($a_obj_id)
lookup sort mode
static getInstanceByObjId($a_obj_id)
Get singleton instance.
const SORT_NEW_ITEMS_ORDER_TITLE
getSortDirection()
Get sort direction.
__construct($a_obj_id=0)
Constructor.