protected function _setPriority() { if (!($parent_id = $this->getParentId())) { $parent_id = lmbCmsDocument::findRoot()->getId(); } $sql = "SELECT MAX(priority) FROM " . $this->_db_table_name . " WHERE parent_id = " . $parent_id; $max_priority = lmbDBAL::fetchOneValue($sql); $this->setPriority($max_priority + 10); }
function testDispatch_FoundInDb() { $document = $this->_createDocument('news', lmbCmsDocument::findRoot()); $document->setIsPublished(1); $document->save(); $result = $this->_createDispatcher(); $this->assertEqual($result['controller'], 'document'); $this->assertEqual($result['action'], 'item'); $this->assertEqual($result['id'], $document->getId()); }
protected function _generateDocument($identifier, $parent_document = false) { $document = new lmbCmsDocument(); $document->setIdentifier($identifier); $document->setTitle('title_' . microtime(true)); $document->setContent('content_' . microtime(true)); if (!$parent_document) { $parent_document = lmbCmsDocument::findRoot(); } $document->setParent($parent_document); return $document; }
/** * @param string $identifier * @return lmbCmsDocument */ function _createDocument($identifier = false, $parent_document = false) { $this->identifier++; if (!$identifier) { $identifier = 'identifier_' . microtime(true) . $this->identifier; } $document = new lmbCmsDocument(); $document->setIdentifier($identifier); $document->setTitle('title_' . microtime(true)); $document->setContent('content_' . microtime(true)); if (!$parent_document) { $parent_document = lmbCmsDocument::findRoot(); } $document->setParent($parent_document); $document->save(); return $document; }
function doDisplay() { if (!($id = $this->request->getInteger('id'))) { $this->is_root = true; $criteria = new lmbSQLCriteria('parent_id > 0'); $criteria->addAnd(new lmbSQLCriteria('level = 1')); $this->item = lmbCmsDocument::findRoot(); } else { $this->is_root = false; if (!($this->item = $this->_getObjectByRequestedId())) { return $this->forwardTo404(); } $criteria = new lmbSQLCriteria('parent_id = ' . $this->item->getId()); } $this->items = lmbActiveRecord::find($this->_object_class_name, array('criteria' => $criteria, 'sort' => array('priority' => 'ASC'))); $this->_applySortParams(); }
function testGetParents() { $root = lmbCmsDocument::findRoot(); $parent1 = $this->_createDocument('parent1', $root); $parent2 = $this->_createDocument('parent2', $root); $parent3 = $this->_createDocument('parent3', $root); $child_1_1 = $this->_createDocument('child_1_1', $parent1); $child_1_2 = $this->_createDocument('child_1_2', $parent1); $child_2_1 = $this->_createDocument('child_2_1', $parent2); $child_2_2 = $this->_createDocument('child_2_2', $parent2); $child_2_3 = $this->_createDocument('child_2_3', $parent2); $child_3_1 = $this->_createDocument('child_3_1', $parent3); $child_3_2 = $this->_createDocument('child_3_2', $parent3); $child_2_2_1 = $this->_createDocument('child_2_2_1', $child_2_2); $child_2_2_2 = $this->_createDocument('child_2_2_2', $child_2_2); $child_2_2_3 = $this->_createDocument('child_2_2_3', $child_2_2); $child_2_2_4 = $this->_createDocument('child_2_2_4', $child_2_2); $child_2_2_3_1 = $this->_createDocument('child_2_2_3_1', $child_2_2_3); $child_2_2_3_2 = $this->_createDocument('child_2_2_3_2', $child_2_2_3); $child_2_2_3_3 = $this->_createDocument('child_2_2_3_3', $child_2_2_3); $assert = array($root['id'], $parent2['id'], $child_2_2['id']); foreach ($child_2_2_3->getParents() as $node) { $this->assertTrue(in_array($node['id'], $assert)); $this->assertEqual('lmbCmsDocument', get_class($node)); } }