From 2f10ac4848c7efdb10f5b89e84beb14d826edc35 Mon Sep 17 00:00:00 2001 From: nmatuschek Date: Thu, 7 Mar 2019 09:47:29 +0100 Subject: [PATCH 1/2] PHP 7.2 compatibility --- Parser/classes/AbstractComposite.php | 9 ++- Parser/classes/CompositeBuilder.php | 10 +++- Parser/classes/CompositeEvaluator.php | 2 +- Parser/classes/CompositeValidator.php | 2 +- classes/class.ilObjQuestionSetPool.php | 2 +- classes/class.ilObjQuestionSetPoolGUI.php | 2 +- classes/class.ilQuestionSetPoolExporter.php | 4 +- classes/class.ilQuestionSetPoolImporter.php | 4 +- .../class.ilQuestionSetPoolXmlValidator.php | 4 +- .../abstract.ilPluginControllerTableGUI.php | 2 +- .../class.ilQuestionSetPoolNodeGUI.php | 2 +- .../class.ilQuestionSetPoolNodesGUI.php | 59 ++++++++++--------- .../class.ilQuestionSetPoolPathGUI.php | 2 +- .../class.ilQuestionSetPoolPathGraphGUI.php | 13 ++-- .../class.ilQuestionSetPoolPathsGUI.php | 59 ++++++++++--------- ...class.ilQuestionSetPoolSetQuestionsGUI.php | 26 ++++---- .../class.ilQuestionSetPoolSetsGUI.php | 32 +++++----- .../class.ilQuestionPoolQuestionList.php | 2 +- classes/tables/class.ilPluginTableGUI.php | 18 ++++-- .../class.ilQuestionSetPoolNodeTableGUI.php | 17 +++--- plugin.php | 4 +- 21 files changed, 155 insertions(+), 120 deletions(-) diff --git a/Parser/classes/AbstractComposite.php b/Parser/classes/AbstractComposite.php index 9fcc7e3..3151b4f 100644 --- a/Parser/classes/AbstractComposite.php +++ b/Parser/classes/AbstractComposite.php @@ -33,9 +33,12 @@ abstract class AbstractComposite implements CompositeInterface { public function describe() { $description = ""; - if(\count($this->nodes) > 0) $description .= "(" . $this->nodes[0]->describe(); - $description .= $this->getDescription(); - if(\count($this->nodes) > 0) $description .= $this->nodes[1]->describe() . ") "; + if(is_array($this->nodes)) + { + if(\count($this->nodes) > 0) $description .= "(" . $this->nodes[0]->describe(); + $description .= $this->getDescription(); + if(\count($this->nodes) > 0) $description .= $this->nodes[1]->describe() . ") "; + } return $description; } } diff --git a/Parser/classes/CompositeBuilder.php b/Parser/classes/CompositeBuilder.php index 699d944..16fd7f0 100644 --- a/Parser/classes/CompositeBuilder.php +++ b/Parser/classes/CompositeBuilder.php @@ -39,12 +39,18 @@ class CompositeBuilder { { $nodes['nodes'][$key] = $this->create($child); } - + + $counted_nodes = 0; + if(is_array($nodes['nodes'])) + { + $counted_nodes = count($nodes['nodes']); + } + foreach($this->operators as $next_operator) { do{ $index = -1; - for($i = 0; $i < count($nodes['nodes']); $i++) + for($i = 0; $i < $counted_nodes; $i++) { if(!is_object($nodes['nodes'][$i]) && $nodes['nodes'][$i]['type'] == 'operator' && $nodes['nodes'][$i]['value'] == $next_operator) { diff --git a/Parser/classes/CompositeEvaluator.php b/Parser/classes/CompositeEvaluator.php index 76b862f..4b3e8af 100644 --- a/Parser/classes/CompositeEvaluator.php +++ b/Parser/classes/CompositeEvaluator.php @@ -36,7 +36,7 @@ class CompositeEvaluator { */ public function evaluate(AbstractComposite $composite) { - if(count($composite->nodes) > 0) + if(is_array($composite->nodes) && count($composite->nodes) > 0) { $composite->nodes[0] = $this->evaluate($composite->nodes[0]); $composite->nodes[1] = $this->evaluate($composite->nodes[1]); diff --git a/Parser/classes/CompositeValidator.php b/Parser/classes/CompositeValidator.php index 5e2734a..349d669 100644 --- a/Parser/classes/CompositeValidator.php +++ b/Parser/classes/CompositeValidator.php @@ -53,7 +53,7 @@ class CompositeValidator public function validate(AbstractComposite $composite) { - if(count($composite->nodes) > 0) + if(is_array($composite->nodes) && count($composite->nodes) > 0) { $this->validate($composite->nodes[0]); $this->validate($composite->nodes[1]); diff --git a/classes/class.ilObjQuestionSetPool.php b/classes/class.ilObjQuestionSetPool.php index 0bbd791..ff85dba 100644 --- a/classes/class.ilObjQuestionSetPool.php +++ b/classes/class.ilObjQuestionSetPool.php @@ -407,7 +407,7 @@ class ilObjQuestionSetPool extends ilObjectPlugin implements ilPluginModelInterf global $DIC; $ilDB = $DIC->database(); - if(count($obj_ids) == 1) + if(is_array($obj_ids) && count($obj_ids) == 1) { $in = ' id = ' . $ilDB->quote(current($obj_ids), 'integer') . ' '; } diff --git a/classes/class.ilObjQuestionSetPoolGUI.php b/classes/class.ilObjQuestionSetPoolGUI.php index 223318c..76abbb2 100755 --- a/classes/class.ilObjQuestionSetPoolGUI.php +++ b/classes/class.ilObjQuestionSetPoolGUI.php @@ -258,7 +258,7 @@ class ilObjQuestionSetPoolGUI extends ilObjectPluginGUI implements ilDesktopItem ilQuestionSetPoolImporter::SINGLE_IMPORT_NO_POOL => $this->lng->txt('assessment_no_pool') ); - if (count($questionpools)) + if (is_array($questionpools) && count($questionpools)) { foreach ($questionpools as $key => $value) { diff --git a/classes/class.ilQuestionSetPoolExporter.php b/classes/class.ilQuestionSetPoolExporter.php index 3509269..96b8313 100755 --- a/classes/class.ilQuestionSetPoolExporter.php +++ b/classes/class.ilQuestionSetPoolExporter.php @@ -278,7 +278,7 @@ class ilQuestionSetPoolExporter extends ilXmlExporter $this->questions[$question['question_id']] = $question['question_id']; } $this->xml_writer->xmlEndTag('Questions'); - if(count($this->questions) > 0) + if(is_array($this->questions) && count($this->questions) > 0) { $this->exportQuestions(); } @@ -500,7 +500,7 @@ class ilQuestionSetPoolExporter extends ilXmlExporter } } - if(count($org_qst_ids) > 0) + if(is_array($org_qst_ids) && count($org_qst_ids) > 0) { $res_2 = $ilDB->query('SELECT obj_fi FROM qpl_questions WHERE '. $ilDB->in('question_id',$org_qst_ids, false, 'integer')); diff --git a/classes/class.ilQuestionSetPoolImporter.php b/classes/class.ilQuestionSetPoolImporter.php index 4d2b62e..3d94e66 100755 --- a/classes/class.ilQuestionSetPoolImporter.php +++ b/classes/class.ilQuestionSetPoolImporter.php @@ -288,7 +288,7 @@ class ilQuestionSetPoolImporter extends ilXmlImporter $this->addNodeMapping($node_data[0]['NodeId'], $node->getId()); $jump_conditions = $node_data['jump_conditions']; - if(count($jump_conditions) == 0) + if(is_array($jump_conditions) && count($jump_conditions) == 0) { continue 1; } @@ -434,7 +434,7 @@ class ilQuestionSetPoolImporter extends ilXmlImporter $this->initializeQplObject($new_qpl_id); } // Containter-Import (Plugin liegt im Kurs, die Originale unserer Fragen liegen ggf.(!!) in ebenfalls importierten Fragenpools) - else if ($this->is_single_import || count($this->qpl_qst_mapping['new_qpl']) > 0) + else if ($this->is_single_import || (is_array($this->qpl_qst_mapping['new_qpl']) && count($this->qpl_qst_mapping['new_qpl']) > 0)) { $parent_ref_id = $a_mapping->getTargetId(); if (!$this->is_single_import && $this->current_parent_ref_id > 0) diff --git a/classes/class.ilQuestionSetPoolXmlValidator.php b/classes/class.ilQuestionSetPoolXmlValidator.php index 4f22c3a..c819dd6 100644 --- a/classes/class.ilQuestionSetPoolXmlValidator.php +++ b/classes/class.ilQuestionSetPoolXmlValidator.php @@ -229,7 +229,7 @@ class ilQuestionSetPoolXmlValidator return true; } - if(count($this->errors)) + if(is_array($this->errors) && count($this->errors)) { return false; } @@ -275,7 +275,7 @@ class ilQuestionSetPoolXmlValidator } } libxml_clear_errors(); - if(count($this->errors)) + if(is_array($this->errors) && count($this->errors)) { return false; } diff --git a/classes/controllers/abstract.ilPluginControllerTableGUI.php b/classes/controllers/abstract.ilPluginControllerTableGUI.php index 1225571..bbadb40 100644 --- a/classes/controllers/abstract.ilPluginControllerTableGUI.php +++ b/classes/controllers/abstract.ilPluginControllerTableGUI.php @@ -19,6 +19,6 @@ abstract class ilPluginControllerTableGUI extends ilPluginControllerGUI */ protected function dataSelected($key) { - return (isset($_POST[$key]) && count($_POST[$key]) > 0); + return (isset($_POST[$key]) && (is_array($_POST[$key]) && count($_POST[$key]) > 0)); } } diff --git a/classes/controllers/class.ilQuestionSetPoolNodeGUI.php b/classes/controllers/class.ilQuestionSetPoolNodeGUI.php index 56ea5a1..34ba51a 100644 --- a/classes/controllers/class.ilQuestionSetPoolNodeGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolNodeGUI.php @@ -264,7 +264,7 @@ class ilQuestionSetPoolNodeGUI extends ilPluginControllerFormGUI */ protected function redirectIfUnableToAddNewNode($model) { - if (count($this->getQuestionOptions($model)) == 0) + if (is_array($this->getQuestionOptions($model)) && count($this->getQuestionOptions($model)) == 0) { ilUtil::sendFailure($this->plugin->txt("unable_to_add_new_node"), true); $this->redirect( diff --git a/classes/controllers/class.ilQuestionSetPoolNodesGUI.php b/classes/controllers/class.ilQuestionSetPoolNodesGUI.php index d0a7892..d5a662f 100644 --- a/classes/controllers/class.ilQuestionSetPoolNodesGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolNodesGUI.php @@ -135,13 +135,15 @@ class ilQuestionSetPoolNodesGUI extends ilPluginControllerTableGUI "path_id" => (int)$_GET["path_id"] )); } - - for($i = 0; $i < count($data); $i++) + + if(is_array($data)) { - $data[$i]["node_index"] = ($i + 1); - $model->getNodes()->update($data[$i]); + for($i = 0; $i < count($data); $i++) + { + $data[$i]["node_index"] = ($i + 1); + $model->getNodes()->update($data[$i]); + } } - return $data; } @@ -194,40 +196,43 @@ class ilQuestionSetPoolNodesGUI extends ilPluginControllerTableGUI */ protected function conditionsAreValid($data) { - for ($index = 1; $index < count($data); $index++) + if(is_array($data)) { - $node = new ilQuestionSetPoolNode($data[$index]["id"]); - $node->read(); - $node->setIndex($data[$index]["node_index"]); - - if(!ilQuestionSetPoolConditionValidator::isValid($node->getInitialCondition(),$node,$data,$this->plugin)) + for($index = 1; $index < count($data); $index++) { - return false; - } + $node = new ilQuestionSetPoolNode($data[$index]["id"]); + $node->read(); + $node->setIndex($data[$index]["node_index"]); - foreach ($data[$index]["jump_conditions"] as $jump_condition) - { - if(!ilQuestionSetPoolConditionValidator::isValid($jump_condition["jump_condition"],$node,$data,$this->plugin)) + if(!ilQuestionSetPoolConditionValidator::isValid($node->getInitialCondition(), $node, $data, $this->plugin)) { return false; } - $error = false; - for ($inner_index = 0; $inner_index <= $index; $inner_index++) + foreach($data[$index]["jump_conditions"] as $jump_condition) { - if ($data[$inner_index]["question_fi"] == $jump_condition["question_fi"] || $jump_condition["question_fi"] == null) + if(!ilQuestionSetPoolConditionValidator::isValid($jump_condition["jump_condition"], $node, $data, $this->plugin)) { - $error = false; - break; + return false; } - else + + $error = false; + for($inner_index = 0; $inner_index <= $index; $inner_index++) { - $error = true; + if($data[$inner_index]["question_fi"] == $jump_condition["question_fi"] || $jump_condition["question_fi"] == null) + { + $error = false; + break; + } + else + { + $error = true; + } + } + if($error) + { + return false; } - } - if ($error) - { - return false; } } } diff --git a/classes/controllers/class.ilQuestionSetPoolPathGUI.php b/classes/controllers/class.ilQuestionSetPoolPathGUI.php index 7e674db..aa11d49 100644 --- a/classes/controllers/class.ilQuestionSetPoolPathGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolPathGUI.php @@ -167,7 +167,7 @@ class ilQuestionSetPoolPathGUI extends ilPluginControllerFormGUI */ protected function doesSetHaveQuestions($set) { - return count($set->getQuestionList()->getData()) > 0; + return is_array($set->getQuestionList()->getData()) ? count($set->getQuestionList()->getData()) > 0 : 0; } /** diff --git a/classes/controllers/class.ilQuestionSetPoolPathGraphGUI.php b/classes/controllers/class.ilQuestionSetPoolPathGraphGUI.php index 4b3fc8d..ff1b8d1 100644 --- a/classes/controllers/class.ilQuestionSetPoolPathGraphGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolPathGraphGUI.php @@ -51,7 +51,8 @@ class ilQuestionSetPoolPathGraphGUI extends ilPluginControllerGUI $model = new ilQuestionSetPoolPath($path['id']); $model->read(); $nodes = $model->getNodes()->getData(); - $num_nodes = count($nodes); + + $num_nodes = is_array($nodes) ? count($nodes): 0; for($i = 0; $i < $num_nodes; $i++) { $nodeId = 'Q' . $nodes[$i]['question_index']; @@ -73,7 +74,7 @@ class ilQuestionSetPoolPathGraphGUI extends ilPluginControllerGUI $model = new ilQuestionSetPoolPath($path['id']); $model->read(); $nodes = $model->getNodes()->getData(); - $num_nodes = count($nodes); + $num_nodes = is_array($nodes) ? count($nodes): 0; for($i = 0; $i < $num_nodes; $i++) { if(isset($nodes[$i + 1])) @@ -103,21 +104,21 @@ class ilQuestionSetPoolPathGraphGUI extends ilPluginControllerGUI { foreach($data_target as $node_target => $data_conditions) { - if(count($data_conditions['initial']) > 0) + if(is_array($data_conditions['initial']) && count($data_conditions['initial']) > 0) { $initial = join("\n", array_filter($data_conditions['initial'])); $edge = new Fhaculty\Graph\Edge\Directed($graph->getVertex($node_source), $graph->getVertex($node_target)); $edge->setAttribute('graphviz.color', 'darkgreen'); $edge->setAttribute('graphviz.label', $initial); } - if(count($data_conditions['jump']) > 0) + if(is_array($data_conditions['jump']) && count($data_conditions['jump']) > 0) { $jump = join("\n", array_filter($data_conditions['jump'])); $edge = new Fhaculty\Graph\Edge\Directed($graph->getVertex($node_source), $graph->getVertex($node_target)); $edge->setAttribute('graphviz.color', 'blue'); $edge->setAttribute('graphviz.label', $jump); } - if(count($data_conditions['end']) > 0) + if(is_array($data_conditions['end']) && count($data_conditions['end']) > 0) { $end = join("\n", array_filter($data_conditions['end'])); $edge = new Fhaculty\Graph\Edge\Directed($graph->getVertex($node_source), $graph->getVertex($node_target)); @@ -201,7 +202,7 @@ class ilQuestionSetPoolPathGraphGUI extends ilPluginControllerGUI $template->setVariable("QUESTION_INDEX", $node["question_index"]); $template->parseCurrentBlock(); - if (count($node["jump_conditions"]) > 0) + if (is_array($node["jump_conditions"]) && count($node["jump_conditions"]) > 0) { foreach ($node["jump_conditions"] as $jump_condition) { diff --git a/classes/controllers/class.ilQuestionSetPoolPathsGUI.php b/classes/controllers/class.ilQuestionSetPoolPathsGUI.php index 5e71fb0..194c28d 100644 --- a/classes/controllers/class.ilQuestionSetPoolPathsGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolPathsGUI.php @@ -36,7 +36,7 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI $set->read(); $table->setModelList($set->getPathList()); - $table->setTitle($set->getTitle() . " - " .$this->plugin->txt('paths')); + $table->setTitle($set->getTitle() . " - " . $this->plugin->txt('paths')); $table->addCommandButton("ilQuestionSetPoolPathsGUI.saveSorting", $this->plugin->txt("save_sorting")); $table->populate(); @@ -65,7 +65,7 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI $path = new ilQuestionSetPoolPath($path_id); $path->read(); - $data = $path->getSet()->getQuestionList()->getData(); + $data = $path->getSet()->getQuestionList()->getData(); $question_ids = array(); foreach($data as $element) { @@ -73,7 +73,7 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI } $title = $path->getTitle(); - $i = 2; + $i = 2; while(in_array($title . ' (' . $i . ')', $path_titles)) { $i++; @@ -164,15 +164,17 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI } $missing_perm_path_titles = array_filter($missing_perm_path_titles); - if(1 == count($missing_perm_path_titles)) + if(is_array($missing_perm_path_titles)) { - ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_s'), implode(', ', $missing_perm_path_titles))); - } - else if(count($missing_perm_path_titles) > 1) - { - ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_p'), implode(', ', $missing_perm_path_titles))); + if(1 == count($missing_perm_path_titles)) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_s'), implode(', ', $missing_perm_path_titles))); + } + else if(count($missing_perm_path_titles) > 1) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_p'), implode(', ', $missing_perm_path_titles))); + } } - if(!$num_items) { $this->listPaths(); @@ -229,15 +231,17 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI } $missing_perm_path_titles = array_filter($missing_perm_path_titles); - if(1 == count($missing_perm_path_titles)) + if(is_array($missing_perm_path_titles)) { - ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_s'), implode(', ', $missing_perm_path_titles))); - } - else if(count($missing_perm_path_titles) > 1) - { - ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_p'), implode(', ', $missing_perm_path_titles))); + if(1 == count($missing_perm_path_titles)) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_s'), implode(', ', $missing_perm_path_titles))); + } + else if(count($missing_perm_path_titles) > 1) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('paths_del_perm_err_p'), implode(', ', $missing_perm_path_titles))); + } } - $this->ctrl->setParameter($this->controller, 'set_id', $set->getId()); $this->redirect(__CLASS__ . '.listPaths'); } @@ -290,22 +294,23 @@ class ilQuestionSetPoolPathsGUI extends ilPluginControllerTableGUI $model->read(); $data = $model->getPathList()->getData(); - foreach ($data as $key => $element) + foreach($data as $key => $element) { $data[$key]["path_index"] = (int)$_POST["sorting"][$element["id"]]; } usort( - $data, function ($a, $b) - { - return $a["path_index"] - $b["path_index"]; - } + $data, function ($a, $b) { + return $a["path_index"] - $b["path_index"]; + } ); - - for ($i = 0; $i < count($data); $i++) + if(is_array($data)) { - $data[$i]["path_index"] = ($i + 1); - $model->getPathList()->update($data[$i]); + for($i = 0; $i < count($data); $i++) + { + $data[$i]["path_index"] = ($i + 1); + $model->getPathList()->update($data[$i]); + } } } -} +} \ No newline at end of file diff --git a/classes/controllers/class.ilQuestionSetPoolSetQuestionsGUI.php b/classes/controllers/class.ilQuestionSetPoolSetQuestionsGUI.php index b6ce621..9251792 100644 --- a/classes/controllers/class.ilQuestionSetPoolSetQuestionsGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolSetQuestionsGUI.php @@ -136,24 +136,26 @@ class ilQuestionSetPoolSetQuestionsGUI extends ilPluginControllerTableGUI ilUtil::sendFailure($this->lng->txt('copy_no_questions_selected')); $this->listQuestions(); } - + $question_ids = array_filter((array)$_POST['q_id']); $set = new ilQuestionSetPoolSet((int)$_GET["set_id"]); $set->read(); $set->getQuestionList()->insert($question_ids, $this->controller->object); - - if(1 == count($question_ids)) - { - ilUtil::sendSuccess($this->plugin->txt('copy_questions_success_s'), true); - } - else + if(is_array($question_ids)) { - ilUtil::sendSuccess($this->plugin->txt('copy_questions_success_p'), true); + if(1 == count($question_ids)) + { + ilUtil::sendSuccess($this->plugin->txt('copy_questions_success_s'), true); + } + else + { + ilUtil::sendSuccess($this->plugin->txt('copy_questions_success_p'), true); + } + $this->redirect("ilQuestionSetPoolSetQuestionsGUI.listQuestions", array( + 'set_id' => (int)$_GET['set_id'] + )); } - $this->redirect("ilQuestionSetPoolSetQuestionsGUI.listQuestions", array( - 'set_id' => (int)$_GET['set_id'] - )); } /** @@ -220,7 +222,7 @@ class ilQuestionSetPoolSetQuestionsGUI extends ilPluginControllerTableGUI $model->read(); $model->getQuestionList()->remove($questions_to_delete); - if(count($questions_to_delete) == 1) + if(is_array($questions_to_delete) && count($questions_to_delete) == 1) { ilUtil::sendSuccess($this->plugin->txt('deleted_selected_questions_s'), true); } diff --git a/classes/controllers/class.ilQuestionSetPoolSetsGUI.php b/classes/controllers/class.ilQuestionSetPoolSetsGUI.php index 58957d0..7e6510a 100644 --- a/classes/controllers/class.ilQuestionSetPoolSetsGUI.php +++ b/classes/controllers/class.ilQuestionSetPoolSetsGUI.php @@ -85,15 +85,17 @@ class ilQuestionSetPoolSetsGUI extends ilPluginControllerTableGUI } $missing_perm_nodes_titles = array_filter($missing_perm_nodes_titles); - if(1 == count($missing_perm_nodes_titles)) + if(is_array($missing_perm_nodes_titles)) { - ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_s'), implode(', ', $missing_perm_nodes_titles))); - } - else if(count($missing_perm_nodes_titles) > 1) - { - ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_p'), implode(', ', $missing_perm_nodes_titles))); + if(1 == count($missing_perm_nodes_titles)) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_s'), implode(', ', $missing_perm_nodes_titles))); + } + else if(count($missing_perm_nodes_titles) > 1) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_p'), implode(', ', $missing_perm_nodes_titles))); + } } - if(!$num_items) { $this->show(); @@ -146,15 +148,17 @@ class ilQuestionSetPoolSetsGUI extends ilPluginControllerTableGUI } $missing_perm_nodes_titles = array_filter($missing_perm_nodes_titles); - if(1 == count($missing_perm_nodes_titles)) + if(is_array($missing_perm_nodes_titles)) { - ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_s'), implode(', ', $missing_perm_nodes_titles))); - } - else if(count($missing_perm_nodes_titles) > 1) - { - ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_p'), implode(', ', $missing_perm_nodes_titles))); + if(1 == count($missing_perm_nodes_titles)) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_s'), implode(', ', $missing_perm_nodes_titles))); + } + else if(count($missing_perm_nodes_titles) > 1) + { + ilUtil::sendFailure(sprintf($this->plugin->txt('sets_del_perm_err_p'), implode(', ', $missing_perm_nodes_titles))); + } } - $this->redirect(__CLASS__ . '.show'); } diff --git a/classes/models/class.ilQuestionPoolQuestionList.php b/classes/models/class.ilQuestionPoolQuestionList.php index 0743b5b..7cb1992 100644 --- a/classes/models/class.ilQuestionPoolQuestionList.php +++ b/classes/models/class.ilQuestionPoolQuestionList.php @@ -38,7 +38,7 @@ class ilQuestionPoolQuestionList extends ilPluginModelList $available_pools = array_keys(ilObjQuestionPool::_getAvailableQuestionpools(true,false, false, false, false)); - if(count($available_pools) == 0) + if(is_array($available_pools) && count($available_pools) == 0) { return null; } diff --git a/classes/tables/class.ilPluginTableGUI.php b/classes/tables/class.ilPluginTableGUI.php index 8e324bf..67f9e96 100644 --- a/classes/tables/class.ilPluginTableGUI.php +++ b/classes/tables/class.ilPluginTableGUI.php @@ -219,12 +219,15 @@ abstract class ilPluginTableGUI extends ilTable2GUI $data = $this->getModelList()->loadData($params, $filter); - if(!count($data['items']) && $this->getOffset() > 0 && $this->getExternalSegmentation()) + if(is_array($data['items'])) { - $this->resetOffset(); - $params['limit'] = $this->getLimit(); - $params['offset'] = $this->getOffset(); - $data = $this->getModelList()->loadData($params, $filter); + if(!count($data['items']) && $this->getOffset() > 0 && $this->getExternalSegmentation()) + { + $this->resetOffset(); + $params['limit'] = $this->getLimit(); + $params['offset'] = $this->getOffset(); + $data = $this->getModelList()->loadData($params, $filter); + } } if($data != null) @@ -235,7 +238,10 @@ abstract class ilPluginTableGUI extends ilTable2GUI $this->setData($data); if($this->getExternalSegmentation()) { - $this->setMaxCount(count($data)); + if(is_array($data)) + { + $this->setMaxCount(count($data)); + } } } } diff --git a/classes/tables/class.ilQuestionSetPoolNodeTableGUI.php b/classes/tables/class.ilQuestionSetPoolNodeTableGUI.php index 07390ea..a2037d2 100644 --- a/classes/tables/class.ilQuestionSetPoolNodeTableGUI.php +++ b/classes/tables/class.ilQuestionSetPoolNodeTableGUI.php @@ -214,13 +214,16 @@ class ilQuestionSetPoolNodeTableGUI extends ilPluginTableGUI $conditions .= $action->getHTML(); $conditions .= "
"; - if($key != count($row["jump_conditions"])-1) + if(is_array($row['jump_conditions'])) { - $conditions .= ' '; - } - else - { - $conditions .= ' '; + if($key != count($row["jump_conditions"]) - 1) + { + $conditions .= ' '; + } + else + { + $conditions .= ' '; + } } if($condition["repititions"] == null) @@ -231,7 +234,7 @@ class ilQuestionSetPoolNodeTableGUI extends ilPluginTableGUI $conditions .= $this->plugin->txt("repititions") . ": " . $condition["repititions"]; $conditions .= ""; } - if (count($row['jump_conditions'])) + if (is_array($row['jump_conditions']) && count($row['jump_conditions'])) { $row['jump_conditions'] = $conditions; } diff --git a/plugin.php b/plugin.php index ff53b3e..fc33423 100755 --- a/plugin.php +++ b/plugin.php @@ -7,10 +7,10 @@ * @author Thomas Joußen */ $id = "xqsp"; -$version = "5.0.3"; +$version = "5.1.0"; $ilias_min_version = "5.3.0"; -$ilias_max_version = "5.3.999"; +$ilias_max_version = "5.4.999"; $responsible = "Thomas Joußen"; $responsible_mail = "tjoussen@databay.de"; -- GitLab From 6b7768de9eda99c7570ada76f40cc664e5242bac Mon Sep 17 00:00:00 2001 From: nmatuschek Date: Mon, 11 Mar 2019 08:59:33 +0100 Subject: [PATCH 2/2] Changed plugin version --- README.md | 2 +- plugin.php | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index 72616e1..9242bd5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,5 @@ # ILIAS QuestionSetPool -* For ILIAS versions: 5.3.0 - 5.3.999 +* For ILIAS versions: 5.3.0 - 5.4.999 ## Installation Instructions 1. Create the plugin path: diff --git a/plugin.php b/plugin.php index ff53b3e..3aa3b76 100755 --- a/plugin.php +++ b/plugin.php @@ -7,10 +7,10 @@ * @author Thomas Joußen */ $id = "xqsp"; -$version = "5.0.3"; +$version = "6.0.0"; $ilias_min_version = "5.3.0"; -$ilias_max_version = "5.3.999"; +$ilias_max_version = "5.4.999"; $responsible = "Thomas Joußen"; $responsible_mail = "tjoussen@databay.de"; -- GitLab