public function testPageElementDeleteSortingMultiLanguage() { $objPage = new class_module_pages_page(); $objPage->setStrName("sortTest"); $objPage->updateObjectToDb(); $objPagelementb1 = new class_module_pages_pageelement(); $objPagelementb1->setStrPlaceholder("b_test"); $objPagelementb1->setStrName("b"); $objPagelementb1->setStrElement("row"); $objPagelementb1->setStrLanguage("a1"); $objPagelementb1->updateObjectToDb($objPage->getSystemid()); $objPagelementc1 = new class_module_pages_pageelement(); $objPagelementc1->setStrPlaceholder("b_test"); $objPagelementc1->setStrName("b"); $objPagelementc1->setStrElement("row"); $objPagelementc1->setStrLanguage("a2"); $objPagelementc1->updateObjectToDb($objPage->getSystemid()); $objPagelementb2 = new class_module_pages_pageelement(); $objPagelementb2->setStrPlaceholder("b_test"); $objPagelementb2->setStrName("b"); $objPagelementb2->setStrElement("row"); $objPagelementb2->setStrLanguage("a1"); $objPagelementb2->updateObjectToDb($objPage->getSystemid()); $objPagelementb3 = new class_module_pages_pageelement(); $objPagelementb3->setStrPlaceholder("b_test"); $objPagelementb3->setStrName("b"); $objPagelementb3->setStrElement("row"); $objPagelementb3->setStrLanguage("a1"); $objPagelementb3->updateObjectToDb($objPage->getSystemid()); $objPagelementc2 = new class_module_pages_pageelement(); $objPagelementc2->setStrPlaceholder("b_test"); $objPagelementc2->setStrName("b"); $objPagelementc2->setStrElement("row"); $objPagelementc2->setStrLanguage("a2"); $objPagelementc2->updateObjectToDb($objPage->getSystemid()); $objPagelementc3 = new class_module_pages_pageelement(); $objPagelementc3->setStrPlaceholder("b_test"); $objPagelementc3->setStrName("b"); $objPagelementc3->setStrElement("row"); $objPagelementc3->setStrLanguage("a2"); $objPagelementc3->updateObjectToDb($objPage->getSystemid()); $arrElements = class_module_pages_pageelement::getElementsByPlaceholderAndPage($objPage->getSystemid(), "b_test", "a1", false); $this->assertEquals(3, count($arrElements)); $this->assertEquals(1, $arrElements[0]->getIntSort()); $this->assertEquals($objPagelementb1->getSystemid(), $arrElements[0]->getSystemid()); $this->assertEquals(2, $arrElements[1]->getIntSort()); $this->assertEquals($objPagelementb2->getSystemid(), $arrElements[1]->getSystemid()); $this->assertEquals(3, $arrElements[2]->getIntSort()); $this->assertEquals($objPagelementb3->getSystemid(), $arrElements[2]->getSystemid()); $arrElements = class_module_pages_pageelement::getElementsByPlaceholderAndPage($objPage->getSystemid(), "b_test", "a2", false); $this->assertEquals(3, count($arrElements)); $this->assertEquals(1, $arrElements[0]->getIntSort()); $this->assertEquals($objPagelementc1->getSystemid(), $arrElements[0]->getSystemid()); $this->assertEquals(2, $arrElements[1]->getIntSort()); $this->assertEquals($objPagelementc2->getSystemid(), $arrElements[1]->getSystemid()); $this->assertEquals(3, $arrElements[2]->getIntSort()); $this->assertEquals($objPagelementc3->getSystemid(), $arrElements[2]->getSystemid()); $objPagelementb2->deleteObjectFromDatabase(); $this->flushDBCache(); $arrElements = class_module_pages_pageelement::getElementsByPlaceholderAndPage($objPage->getSystemid(), "b_test", "a1", false); $this->assertEquals(2, count($arrElements)); $this->assertEquals(1, $arrElements[0]->getIntSort()); $this->assertEquals($objPagelementb1->getSystemid(), $arrElements[0]->getSystemid()); $this->assertEquals(2, $arrElements[1]->getIntSort()); $this->assertEquals($objPagelementb3->getSystemid(), $arrElements[1]->getSystemid()); $arrElements = class_module_pages_pageelement::getElementsByPlaceholderAndPage($objPage->getSystemid(), "b_test", "a2", false); $this->assertEquals(3, count($arrElements)); $this->assertEquals(1, $arrElements[0]->getIntSort()); $this->assertEquals($objPagelementc1->getSystemid(), $arrElements[0]->getSystemid()); $this->assertEquals(2, $arrElements[1]->getIntSort()); $this->assertEquals($objPagelementc2->getSystemid(), $arrElements[1]->getSystemid()); $this->assertEquals(3, $arrElements[2]->getIntSort()); $this->assertEquals($objPagelementc3->getSystemid(), $arrElements[2]->getSystemid()); $objPage->deleteObjectFromDatabase(); }
/** * @return bool */ public function deleteObjectFromDatabase() { //delete elements in the database $arrElements = $this->objDB->getPArray("SELECT page_element_id FROM " . _dbprefix_ . "page_element WHERE page_element_ph_element = ?", array($this->getStrName())); foreach ($arrElements as $arrOneRow) { $objElement = new class_module_pages_pageelement($arrOneRow["page_element_id"]); $objElement->deleteObjectFromDatabase(); } parent::deleteObjectFromDatabase(); }