/** * @param CmsElement $cmsElement * @param string $revision */ private function updateElementRevision(CmsElement $cmsElement, $revision) { $stmntSetRev = $this->db->prepare("\n\t\t\tUPDATE cms_element_instance\n\t\t\tSET revision = ?\n\t\t\tWHERE ID = ? AND page_IDFK = ?\n\t\t"); $this->db->update($stmntSetRev, array($revision, $cmsElement->getID(), $cmsElement->getPageID())); }
public function reorderElements(DB $db, CmsElement $movedCmsElement, $dropZoneID, array $elementOrder) { // Remove all from column $colNo = (int) StringUtils::afterFirst($dropZoneID, 'column-') + 1; $this->logger->debug('-- Reorder module in column: ' . $colNo); $stmntRemove = $db->prepare("\n\t\t\tDELETE FROM element_column_layout_module WHERE col = ? AND page_IDFK = ? AND element_column_layout_IDFK = ?\n\t\t"); $deletedElements = $db->delete($stmntRemove, array($colNo, $this->pageID, $this->ID)); $this->logger->debug('Deleted ' . $deletedElements . ' elements'); // Remove the element itself (cause of PK crashes) $stmntRemoveOriginal = $db->prepare("\n\t\t\tDELETE FROM element_column_layout_module WHERE element_column_layout_IDFK = ? AND page_IDFK = ? AND element_instance_IDFK = ?\n\t\t"); $deletedOriginal = $db->delete($stmntRemoveOriginal, array($this->ID, $movedCmsElement->getPageID(), $movedCmsElement->getID())); $this->logger->debug('Deleted ' . $deletedOriginal . ' original element'); // Add the new order $stmntInsert = $db->prepare("\n\t\t\tINSERT IGNORE INTO element_column_layout_module\n\t\t\t\tSET element_column_layout_IDFK = ?, page_IDFK = ?, col = ?, element_instance_IDFK = ?, sort = ?\n\t\t"); $stmntUpdate = $db->prepare("UPDATE cms_element_instance SET parent_mod_IDFK = ? WHERE ID = ?"); $this->logger->debug('Add those modules', array($elementOrder)); foreach ($elementOrder as $k => $e) { $this->logger->debug('Added module: ' . $e); $eParts = explode('-', $e); if (isset($eParts[0]) === false) { continue; } $db->update($stmntUpdate, array($this->ID, $eParts[0])); $db->insert($stmntInsert, array($this->ID, $this->pageID, $colNo, $eParts[0], $k + 1)); } }