diff --git a/src/components/com_tjucm/site/models/item.php b/src/components/com_tjucm/site/models/item.php index 4715d402..922ecaf5 100644 --- a/src/components/com_tjucm/site/models/item.php +++ b/src/components/com_tjucm/site/models/item.php @@ -251,10 +251,36 @@ public function publish(&$id, $state = 1) { $table = $this->getTable(); $table->load($id); - $table->draft = $state == 1 ? 0 : 1; $table->state = $state; - return $table->store(); + // Only if item is published + if ($state == 1) + { + $table->draft = 0; + } + + if ($table->store()) + { + JLoader::import('components.com_tjucm.models.items', JPATH_SITE); + $itemsModel = BaseDatabaseModel::getInstance('Items', 'TjucmModel', array('ignore_request' => true)); + $itemsModel->setState("parent_id", $id); + $children = $itemsModel->getItems(); + + foreach ($children as $child) + { + $childTable = $this->getTable(); + $childTable->load($child->id); + $childTable->state = $state; + + // Only if item is published + if ($state == 1) + { + $childTable->draft = 0; + } + + $childTable->store(); + } + } } /**