Class ilUnitConfigurationRepository.
More...
◆ __construct()
ilUnitConfigurationRepository::__construct |
( |
int |
$consumer_id | ) |
|
◆ addUnit()
◆ checkDeleteCategory()
ilUnitConfigurationRepository::checkDeleteCategory |
( |
int |
$id | ) |
|
Definition at line 202 of file class.ilUnitConfigurationRepository.php.
References $res, checkDeleteUnit(), and null.
Referenced by deleteCategory().
204 $res = $this->db->queryF(
205 'SELECT unit_id FROM il_qpl_qst_fq_unit WHERE category_fi = %s',
210 if ($this->db->numRows(
$res)) {
211 while ($row = $this->db->fetchAssoc(
$res)) {
213 if (!is_null($unit_res)) {
checkDeleteUnit(int $id, ?int $category_id=null)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ checkDeleteUnit()
ilUnitConfigurationRepository::checkDeleteUnit |
( |
int |
$id, |
|
|
?int |
$category_id = null |
|
) |
| |
Definition at line 453 of file class.ilUnitConfigurationRepository.php.
References ILIAS\Repository\lng(), and null.
Referenced by checkDeleteCategory(), and deleteUnit().
455 $result = $this->db->queryF(
456 "SELECT * FROM il_qpl_qst_fq_var WHERE unit_fi = %s",
460 if ($this->db->numRows($result) > 0) {
461 return $this->
lng->txt(
"err_unit_in_variables");
464 $result = $this->db->queryF(
465 "SELECT * FROM il_qpl_qst_fq_res WHERE unit_fi = %s",
469 if ($this->db->numRows($result) > 0) {
470 return $this->
lng->txt(
"err_unit_in_results");
473 if (!is_null($category_id)) {
474 $result = $this->db->queryF(
475 "SELECT * FROM il_qpl_qst_fq_unit WHERE baseunit_fi = %s AND category_fi != %s",
476 [
'integer',
'integer',
'integer'],
480 $result = $this->db->queryF(
481 "SELECT * FROM il_qpl_qst_fq_unit WHERE baseunit_fi = %s AND unit_id != %s",
482 [
'integer',
'integer'],
487 if ($this->db->numRows($result) > 0) {
488 return $this->
lng->txt(
"err_unit_is_baseunit");
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ clearUnits()
ilUnitConfigurationRepository::clearUnits |
( |
| ) |
|
|
protected |
◆ cloneUnits()
ilUnitConfigurationRepository::cloneUnits |
( |
int |
$from_consumer_id, |
|
|
int |
$to_consumer_id |
|
) |
| |
Definition at line 656 of file class.ilUnitConfigurationRepository.php.
References $res, and copyCategory().
658 $category_mapping = [];
660 $res = $this->db->queryF(
"SELECT * FROM il_qpl_qst_fq_ucat WHERE question_fi = %s", [
'integer'], [$from_consumer_id]);
661 while ($row = $this->db->fetchAssoc(
$res)) {
662 $new_category_id = $this->
copyCategory((
int) $row[
'category_id'], $to_consumer_id);
663 $category_mapping[$row[
'category_id']] = $new_category_id;
666 foreach ($category_mapping as $old_category_id => $new_category_id) {
667 $res = $this->db->queryF(
668 'SELECT * FROM il_qpl_qst_fq_unit WHERE category_fi = %s',
675 while ($row = $this->db->fetchAssoc(
$res)) {
676 $next_id = $this->db->nextId(
'il_qpl_qst_fq_unit');
678 $units[$i][
'old_unit_id'] = $row[
'unit_id'];
679 $units[$i][
'new_unit_id'] = $next_id;
682 'il_qpl_qst_fq_unit',
684 'unit_id' => [
'integer', $next_id],
685 'unit' => [
'text', $row[
'unit']],
686 'factor' => [
'float', $row[
'factor']],
687 'baseunit_fi' => [
'integer', (
int) $row[
'baseunit_fi']],
688 'category_fi' => [
'integer', (
int) $new_category_id],
689 'sequence' => [
'integer', (
int) $row[
'sequence']],
690 'question_fi' => [
'integer', $to_consumer_id]
696 foreach (
$units as $unit) {
699 'il_qpl_qst_fq_unit',
700 [
'baseunit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
702 'baseunit_fi' => [
'integer', (
int) $unit[
'old_unit_id']],
703 'question_fi' => [
'integer', $to_consumer_id]
710 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
712 'unit_fi' => [
'integer', (
int) $unit[
'old_unit_id']],
713 'question_fi' => [
'integer', $to_consumer_id]
720 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
722 'unit_fi' => [
'integer', (
int) $unit[
'old_unit_id']],
723 'question_fi' => [
'integer', $to_consumer_id]
729 'il_qpl_qst_fq_res_unit',
730 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
732 'unit_fi' => [
'integer', (
int) $unit[
'old_unit_id']],
733 'question_fi' => [
'integer', $to_consumer_id]
copyCategory(int $category_id, int $question_fi, ?string $category_name=null)
◆ copyCategory()
ilUnitConfigurationRepository::copyCategory |
( |
int |
$category_id, |
|
|
int |
$question_fi, |
|
|
?string |
$category_name = null |
|
) |
| |
Definition at line 66 of file class.ilUnitConfigurationRepository.php.
References $res, and null.
Referenced by cloneUnits().
68 $res = $this->db->queryF(
69 'SELECT category FROM il_qpl_qst_fq_ucat WHERE category_id = %s',
73 $row = $this->db->fetchAssoc(
$res);
75 if (
null === $category_name) {
76 $category_name = $row[
'category'];
79 $next_id = $this->db->nextId(
'il_qpl_qst_fq_ucat');
83 'category_id' => [
'integer', $next_id],
84 'category' => [
'text', $category_name],
85 'question_fi' => [
'integer', (
int) $question_fi]
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
◆ copyUnitsByCategories()
ilUnitConfigurationRepository::copyUnitsByCategories |
( |
int |
$from_category_id, |
|
|
int |
$to_category_id, |
|
|
int |
$qustion_fi |
|
) |
| |
Definition at line 92 of file class.ilUnitConfigurationRepository.php.
References $res.
94 $res = $this->db->queryF(
95 'SELECT * FROM il_qpl_qst_fq_unit WHERE category_fi = %s',
101 while ($row = $this->db->fetchAssoc(
$res)) {
102 $next_id = $this->db->nextId(
'il_qpl_qst_fq_unit');
104 $units[$i][
'old_unit_id'] = $row[
'unit_id'];
105 $units[$i][
'new_unit_id'] = $next_id;
108 'il_qpl_qst_fq_unit',
110 'unit_id' => [
'integer', $next_id],
111 'unit' => [
'text', $row[
'unit']],
112 'factor' => [
'float', $row[
'factor']],
113 'baseunit_fi' => [
'integer', (
int) $row[
'baseunit_fi']],
114 'category_fi' => [
'integer', (
int) $to_category_id],
115 'sequence' => [
'integer', (
int) $row[
'sequence']],
116 'question_fi' => [
'integer', (
int) $qustion_fi]
122 foreach (
$units as $unit) {
125 'il_qpl_qst_fq_unit',
126 [
'baseunit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
128 'baseunit_fi' => [
'integer', $unit[
'old_unit_id']],
129 'category_fi' => [
'integer', $to_category_id]
136 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
138 'unit_fi' => [
'integer', $unit[
'old_unit_id']],
139 'question_fi' => [
'integer', $qustion_fi]
146 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
148 'unit_fi' => [
'integer', $unit[
'old_unit_id']],
149 'question_fi' => [
'integer', $qustion_fi]
155 'il_qpl_qst_fq_res_unit',
156 [
'unit_fi' => [
'integer', (
int) $unit[
'new_unit_id']]],
158 'unit_fi' => [
'integer', $unit[
'old_unit_id']],
159 'question_fi' => [
'integer', $qustion_fi]
◆ createNewUnit()
Definition at line 601 of file class.ilUnitConfigurationRepository.php.
References clearUnits(), assFormulaQuestionUnit\getCategory(), getConsumerId(), assFormulaQuestionUnit\getUnit(), assFormulaQuestionUnit\setBaseUnit(), assFormulaQuestionUnit\setFactor(), assFormulaQuestionUnit\setId(), and assFormulaQuestionUnit\setSequence().
603 $next_id = $this->db->nextId(
'il_qpl_qst_fq_unit');
604 $this->db->manipulateF(
605 'INSERT INTO il_qpl_qst_fq_unit (unit_id, unit, factor, baseunit_fi, category_fi, sequence, question_fi) VALUES (%s, %s, %s, %s, %s, %s, %s)',
606 [
'integer',
'text',
'float',
'integer',
'integer',
'integer',
'integer'],
617 $unit->
setId($next_id);
◆ deleteCategory()
ilUnitConfigurationRepository::deleteCategory |
( |
int |
$id | ) |
|
Definition at line 572 of file class.ilUnitConfigurationRepository.php.
References $res, checkDeleteCategory(), clearUnits(), deleteUnit(), ILIAS\Repository\lng(), and null.
575 if (!is_null(
$res)) {
576 return $this->
lng->txt(
'err_category_in_use');
579 $res = $this->db->queryF(
580 'SELECT * FROM il_qpl_qst_fq_unit WHERE category_fi = %s',
584 while ($row = $this->db->fetchAssoc(
$res)) {
588 $ar = $this->db->manipulateF(
589 'DELETE FROM il_qpl_qst_fq_ucat WHERE category_id = %s',
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
checkDeleteCategory(int $id)
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ deleteUnit()
ilUnitConfigurationRepository::deleteUnit |
( |
int |
$id | ) |
|
Definition at line 222 of file class.ilUnitConfigurationRepository.php.
References $res, checkDeleteUnit(), clearUnits(), and null.
Referenced by deleteCategory().
225 if (!is_null(
$res)) {
229 $affectedRows = $this->db->manipulateF(
230 "DELETE FROM il_qpl_qst_fq_unit WHERE unit_id = %s",
235 if ($affectedRows > 0) {
checkDeleteUnit(int $id, ?int $category_id=null)
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ getAdminUnitCategories()
ilUnitConfigurationRepository::getAdminUnitCategories |
( |
| ) |
|
- Returns
- array<int, array{value: int, text: string, qst_id: int}>
Definition at line 414 of file class.ilUnitConfigurationRepository.php.
References ILIAS\Repository\int(), and ILIAS\Repository\lng().
418 $result = $this->db->queryF(
419 "SELECT * FROM il_qpl_qst_fq_ucat WHERE question_fi = %s ORDER BY category",
424 if ($result = $this->db->numRows($result)) {
425 while ($row = $this->db->fetchAssoc($result)) {
426 $value = strcmp(
'-qpl_qst_formulaquestion_' . $row[
'category'] .
'-', $this->
lng->txt($row[
'category'])) === 0
428 : $this->
lng->txt($row[
'category']);
430 if (trim($row[
'category']) !==
'') {
432 'value' => (
int) $row[
'category_id'],
434 'qst_id' => (
int) $row[
'question_fi']
436 $categories[(
int) $row[
'category_id']] = $cat;
◆ getAllUnitCategories()
ilUnitConfigurationRepository::getAllUnitCategories |
( |
| ) |
|
- Returns
- assFormulaQuestionUnitCategory[]
Definition at line 553 of file class.ilUnitConfigurationRepository.php.
References getConsumerId().
556 $result = $this->db->queryF(
557 "SELECT * FROM il_qpl_qst_fq_ucat WHERE question_fi = %s OR question_fi = %s ORDER BY category",
558 [
'integer',
'integer'],
562 if ($result->numRows() > 0) {
563 while ($row = $this->db->fetchAssoc($result)) {
565 $category->initFormArray($row);
566 $categories[] = $category;
◆ getCategorizedUnits()
ilUnitConfigurationRepository::getCategorizedUnits |
( |
| ) |
|
- Returns
- assFormulaQuestionUnit[]|assFormulaQuestionUnitCategory[]
Definition at line 265 of file class.ilUnitConfigurationRepository.php.
References $categorizedUnits, and getConsumerId().
267 if (count($this->categorizedUnits) === 0) {
268 $result = $this->db->queryF(
270 SELECT units.*, il_qpl_qst_fq_ucat.category, il_qpl_qst_fq_ucat.question_fi, baseunits.unit baseunit_title 271 FROM il_qpl_qst_fq_unit units 272 INNER JOIN il_qpl_qst_fq_ucat ON il_qpl_qst_fq_ucat.category_id = units.category_fi 273 LEFT JOIN il_qpl_qst_fq_unit baseunits ON baseunits.unit_id = units.baseunit_fi 274 WHERE units.question_fi = %s 275 ORDER BY il_qpl_qst_fq_ucat.category, units.sequence",
280 if ($this->db->numRows($result) > 0) {
282 while ($row = $this->db->fetchAssoc($result)) {
284 $unit->initFormArray($row);
286 if ($category !== $unit->getCategory()) {
288 $cat->initFormArray([
289 'category_id' => (
int) $row[
'category_fi'],
290 'category' => $row[
'category'],
291 'question_fi' => (
int) $row[
'question_fi'],
293 $this->categorizedUnits[] = $cat;
294 $category = $unit->getCategory();
297 $this->categorizedUnits[] = $unit;
◆ getCategoryUnitCount()
ilUnitConfigurationRepository::getCategoryUnitCount |
( |
int |
$id | ) |
|
Definition at line 165 of file class.ilUnitConfigurationRepository.php.
167 $result = $this->db->queryF(
168 "SELECT * FROM il_qpl_qst_fq_unit WHERE category_fi = %s",
173 return $this->db->numRows($result);
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ getConsumerId()
ilUnitConfigurationRepository::getConsumerId |
( |
| ) |
|
◆ getUnit()
ilUnitConfigurationRepository::getUnit |
( |
int |
$id | ) |
|
- Parameters
-
- Returns
- assFormulaQuestionUnit|null
Definition at line 362 of file class.ilUnitConfigurationRepository.php.
References $id, loadUnits(), and null.
364 if (count($this->units) === 0) {
368 if (array_key_exists(
$id, $this->units)) {
369 return $this->units[
$id];
376 return $this->units[
$id] ??
null;
while($session_entry=$r->fetchRow(ilDBConstants::FETCHMODE_ASSOC)) return null
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ getUnitCategories()
ilUnitConfigurationRepository::getUnitCategories |
( |
| ) |
|
- Returns
- array<int, array{value: int, text: string, qst_id: int}>
Definition at line 382 of file class.ilUnitConfigurationRepository.php.
References ILIAS\Repository\int(), and ILIAS\Repository\lng().
385 $result = $this->db->queryF(
386 "SELECT * FROM il_qpl_qst_fq_ucat WHERE question_fi > %s ORDER BY category",
391 if ($this->db->numRows($result)) {
392 while ($row = $this->db->fetchAssoc($result)) {
393 $value = strcmp(
'-qpl_qst_formulaquestion_' . $row[
'category'] .
'-', $this->
lng->txt($row[
'category'])) === 0
395 : $this->
lng->txt($row[
'category']);
397 if (trim($row[
'category']) !==
'') {
399 'value' => (
int) $row[
'category_id'],
401 'qst_id' => (
int) $row[
'question_fi']
403 $categories[(
int) $row[
'category_id']] = $cat;
◆ getUnitCategoryById()
ilUnitConfigurationRepository::getUnitCategoryById |
( |
int |
$id | ) |
|
Definition at line 494 of file class.ilUnitConfigurationRepository.php.
References $res.
496 $query =
'SELECT * FROM il_qpl_qst_fq_ucat WHERE category_id = ' . $this->db->quote(
$id,
'integer');
497 $res = $this->db->query($query);
498 if (!$this->db->numRows(
$res)) {
502 $row = $this->db->fetchAssoc(
$res);
504 $category->initFormArray($row);
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ getUnits()
ilUnitConfigurationRepository::getUnits |
( |
| ) |
|
◆ isCRUDAllowed()
ilUnitConfigurationRepository::isCRUDAllowed |
( |
int |
$category_id | ) |
|
◆ isUnitInUse()
ilUnitConfigurationRepository::isUnitInUse |
( |
int |
$id | ) |
|
Definition at line 176 of file class.ilUnitConfigurationRepository.php.
178 $result_1 = $this->db->queryF(
179 "SELECT unit_fi FROM il_qpl_qst_fq_res_unit WHERE unit_fi = %s",
184 $result_2 = $this->db->queryF(
185 "SELECT unit_fi FROM il_qpl_qst_fq_var WHERE unit_fi = %s",
189 $result_3 = $this->db->queryF(
190 "SELECT unit_fi FROM il_qpl_qst_fq_res WHERE unit_fi = %s",
195 $cnt_1 = $this->db->numRows($result_1);
196 $cnt_2 = $this->db->numRows($result_2);
197 $cnt_3 = $this->db->numRows($result_3);
199 return $cnt_1 > 0 || $cnt_2 > 0 || $cnt_3 > 0;
$id
plugin.php for ilComponentBuildPluginInfoObjectiveTest::testAddPlugins
◆ loadUnits()
ilUnitConfigurationRepository::loadUnits |
( |
| ) |
|
|
protected |
Definition at line 242 of file class.ilUnitConfigurationRepository.php.
References addUnit().
Referenced by getUnit(), and getUnits().
244 $result = $this->db->query(
246 SELECT units.*, il_qpl_qst_fq_ucat.category, baseunits.unit baseunit_title 247 FROM il_qpl_qst_fq_unit units 248 INNER JOIN il_qpl_qst_fq_ucat ON il_qpl_qst_fq_ucat.category_id = units.category_fi 249 LEFT JOIN il_qpl_qst_fq_unit baseunits ON baseunits.unit_id = units.baseunit_fi 250 ORDER BY il_qpl_qst_fq_ucat.category, units.sequence" 253 if ($this->db->numRows($result)) {
254 while ($row = $this->db->fetchAssoc($result)) {
256 $unit->initFormArray($row);
addUnit(assFormulaQuestionUnit $unit)
◆ loadUnitsForCategory()
ilUnitConfigurationRepository::loadUnitsForCategory |
( |
int |
$category | ) |
|
- Parameters
-
- Returns
- assFormulaQuestionUnit[]
Definition at line 330 of file class.ilUnitConfigurationRepository.php.
References $DIC, $ilDB, and $units.
333 $ilDB = $DIC[
'ilDB'];
336 $result =
$ilDB->queryF(
337 "SELECT units.*, baseunits.unit baseunit_title, il_qpl_qst_fq_ucat.category 338 FROM il_qpl_qst_fq_unit units 339 INNER JOIN il_qpl_qst_fq_ucat ON il_qpl_qst_fq_ucat.category_id = units.category_fi 340 LEFT JOIN il_qpl_qst_fq_unit baseunits ON baseunits.unit_id = units.baseunit_fi 341 WHERE il_qpl_qst_fq_ucat.category_id = %s 342 ORDER BY units.sequence",
347 if ($result->numRows() > 0) {
348 while ($row =
$ilDB->fetchAssoc($result)) {
350 $unit->initFormArray($row);
◆ saveCategory()
Definition at line 508 of file class.ilUnitConfigurationRepository.php.
References $res, assFormulaQuestionUnitCategory\getCategory(), getConsumerId(), and assFormulaQuestionUnitCategory\getId().
510 $res = $this->db->queryF(
511 'SELECT * FROM il_qpl_qst_fq_ucat WHERE category = %s AND question_fi = %s AND category_id != %s',
512 [
'text',
'integer',
'integer'],
515 if ($this->db->numRows(
$res)) {
519 $this->db->manipulateF(
520 'UPDATE il_qpl_qst_fq_ucat SET category = %s WHERE question_fi = %s AND category_id = %s',
521 [
'text',
'integer',
'integer'],
◆ saveNewUnitCategory()
Definition at line 526 of file class.ilUnitConfigurationRepository.php.
References $res, assFormulaQuestionUnitCategory\getCategory(), getConsumerId(), and assFormulaQuestionUnitCategory\setId().
528 $res = $this->db->queryF(
529 'SELECT category FROM il_qpl_qst_fq_ucat WHERE category = %s AND question_fi = %s',
533 if ($this->db->numRows(
$res)) {
537 $next_id = $this->db->nextId(
'il_qpl_qst_fq_ucat');
538 $this->db->manipulateF(
539 "INSERT INTO il_qpl_qst_fq_ucat (category_id, category, question_fi) VALUES (%s, %s, %s)",
540 [
'integer',
'text',
'integer'],
547 $category->
setId($next_id);
◆ saveUnit()
Definition at line 625 of file class.ilUnitConfigurationRepository.php.
References $res, clearUnits(), assFormulaQuestionUnit\getBaseUnit(), assFormulaQuestionUnit\getCategory(), getConsumerId(), assFormulaQuestionUnit\getFactor(), assFormulaQuestionUnit\getId(), assFormulaQuestionUnit\getSequence(), assFormulaQuestionUnit\getUnit(), ILIAS\Repository\int(), and assFormulaQuestionUnit\setFactor().
627 $res = $this->db->queryF(
628 'SELECT unit_id FROM il_qpl_qst_fq_unit WHERE unit_id = %s',
632 if ($this->db->numRows(
$res)) {
633 $row = $this->db->fetchAssoc(
$res);
639 $ar = $this->db->manipulateF(
640 'UPDATE il_qpl_qst_fq_unit SET unit = %s, factor = %s, baseunit_fi = %s, category_fi = %s, sequence = %s WHERE unit_id = %s AND question_fi = %s',
641 [
'text',
'float',
'integer',
'integer',
'integer',
'integer',
'integer'],
◆ saveUnitOrder()
ilUnitConfigurationRepository::saveUnitOrder |
( |
int |
$unit_id, |
|
|
int |
$sequence |
|
) |
| |
◆ setConsumerId()
ilUnitConfigurationRepository::setConsumerId |
( |
int |
$consumer_id | ) |
|
◆ $categorizedUnits
array ilUnitConfigurationRepository::$categorizedUnits = [] |
|
private |
◆ $consumer_id
int ilUnitConfigurationRepository::$consumer_id = 0 |
|
protected |
◆ $db
◆ $lng
◆ $units
array ilUnitConfigurationRepository::$units = [] |
|
private |
The documentation for this class was generated from the following file: