46 if ($this->type->isStandardField($inst->getIdentifier()) != $inst->getisStandardField()) {
47 $inst->setIsStandardField($this->type->isStandardField($inst->getIdentifier()));
63 throw new ilException(
"bibliografic identifier {$identifier} not found");
79 $inst->setIdentifier($identifier);
80 $inst->setDataType(
$type);
81 $inst->setIsStandardField((
bool) $this->
getType()->isStandardField($identifier));
84 $inst->setDataType(
$type);
85 $inst->setIdentifier($identifier);
86 $inst->setIsStandardField((
bool) $this->
getType()->isStandardField($identifier));
100 =
"SELECT DISTINCT(il_bibl_attribute.name), il_bibl_data.file_type FROM il_bibl_data
101 JOIN il_bibl_entry ON il_bibl_entry.data_id = il_bibl_data.id
102 JOIN il_bibl_attribute ON il_bibl_attribute.entry_id = il_bibl_entry.id
103 WHERE il_bibl_data.id = %s;";
105 $result =
$DIC->database()->queryF($sql, [
'integer'], [$obj_id]);
140 if ($field ===
null) {
142 $field->setIdentifier($attribute->
getName());
143 $field->setDataType($this->type->getId());
144 $field->setIsStandardField($this->type->isStandardField($attribute->
getName()));
147 $field->setDataType($this->type->getId());
162 $q =
"UPDATE {$tablename} SET position = position + 1 WHERE data_type = %s AND position >= %s;";
163 $DIC->database()->manipulateF(
165 [
'integer',
'integer'],
172 $DIC->database()->query(
"SET @i=0");
173 $DIC->database()->manipulateF(
174 "UPDATE {$tablename} SET position = (@i := @i + 1) WHERE data_type = %s ORDER BY position",
196 $q =
"SELECT MAX(position) + 1 as next_position FROM {$tablename} WHERE data_type = %s;";
200 return (
int)
$data->next_position;
228 throw new ilException(
"bibliografic type not found");
243 $collection->where(array(
'data_type' =>
$type->getId()));
246 $sorting_column = $queryInfo->getSortingColumn() ? $queryInfo->getSortingColumn() :
null;
247 $offset = $queryInfo->getOffset() ? $queryInfo->getOffset() : 0;
248 $sorting_direction = $queryInfo->getSortingDirection();
249 $limit = $queryInfo->getLimit();
250 if ($sorting_column) {
251 $collection->orderBy($sorting_column, $sorting_direction);
253 $collection->limit($offset, $limit);
255 foreach ($queryInfo->getFilters() as $queryFilter) {
256 switch ($queryFilter->getFieldName()) {
258 $collection->where(array($queryFilter->getFieldName() => $queryFilter->getFieldValue()), $queryFilter->getOperator());
static where($where, $operator=null)
static findOrFail($primary_key, array $add_constructor_args=array())
Tries to find the object and throws an Exception if object is not found, instead of returning null.
An exception for terminatinating execution or to throw for unit testing.
Class ilBiblFieldFactory.
getNextFreePosition(ilBiblFieldInterface $field)
filterAllFieldsForType(ilBiblTypeInterface $type, ilBiblTableQueryInfoInterface $queryInfo=null)
@inheritDoc
getType()
\ilBiblTypeInterface
getCollectionForFilter(ilBiblTypeInterface $type, ilBiblTableQueryInfoInterface $queryInfo=null)
getAvailableFieldsForObjId(int $obj_id)
@inheritDoc
getARInstance($type, $identifier)
getFieldByTypeAndIdentifier(int $type, string $identifier)
\ilBiblFieldInterface ilException if a wrong $type is passed or field is not found
findOrCreateFieldOfAttribute(ilBiblAttributeInterface $attribute)
@inheritDoc
findOrCreateFieldByTypeAndIdentifier(int $type, string $identifier)
\ilBiblFieldInterface ilException if a wrong $type is passed
filterAllFieldsForTypeAsArray(ilBiblTypeInterface $type, ilBiblTableQueryInfoInterface $queryInfo=null)
@inheritDoc
forcePosition(ilBiblFieldInterface $field)
@inheritDoc
__construct(\ilBiblTypeInterface $type)
ilBiblFieldFactory constructor.
Base class for ILIAS Exception handling.
for( $i=6;$i< 13;$i++) for($i=1; $i< 13; $i++) $d
Interface ilBiblAttributeInterface.
Interface ilBiblFieldFactoryInterface.
Interface ilBiblEntryInterface.
store()
Stores the Object, creates a newone in Db if non existing or updates an existing.
Interface ilBiblTableQueryInfoInterface.
Interface ilBiblTypeInterface.
foreach($_POST as $key=> $value) $res