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'],
171 $DIC->database()->query(
"SET @i=0");
172 $DIC->database()->manipulateF(
173 "UPDATE {$tablename} SET position = (@i := @i + 1) WHERE data_type = %s ORDER BY position",
195 $q =
"SELECT MAX(position) + 1 as next_position FROM {$tablename} WHERE data_type = %s;";
199 return (
int)
$data->next_position;
227 throw new ilException(
"bibliografic type not found");
242 $collection->where(array(
'data_type' =>
$type->getId()));
245 $sorting_column = $queryInfo->getSortingColumn() ? $queryInfo->getSortingColumn() :
null;
246 $offset = $queryInfo->getOffset() ? $queryInfo->getOffset() : 0;
247 $sorting_direction = $queryInfo->getSortingDirection();
248 $limit = $queryInfo->getLimit();
249 if ($sorting_column) {
250 $collection->orderBy($sorting_column, $sorting_direction);
252 $collection->limit($offset, $limit);
254 foreach ($queryInfo->getFilters() as $queryFilter) {
255 switch ($queryFilter->getFieldName()) {
257 $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)
ilException if a wrong $type is passed or field is not found\ilBiblFieldInterface
findOrCreateFieldOfAttribute(ilBiblAttributeInterface $attribute)
@inheritDoc
findOrCreateFieldByTypeAndIdentifier(int $type, string $identifier)
ilException if a wrong $type is passed\ilBiblFieldInterface
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
if(!array_key_exists('StateId', $_REQUEST)) $id
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