/** * Test for eZContentObject::fetchListCount(), using content object ID + archived status */ public function testFetchListCountOnObjectIDAndArchivedStatus() { $this->article->setAttribute('status', eZContentObject::STATUS_ARCHIVED); $this->article->store(); $eZContentObjectDefinition = eZContentObject::definition(); $count = eZContentObject::fetchListCount(array($eZContentObjectDefinition['name'] . ".id" => $this->article->id, 'status' => eZContentObject::STATUS_ARCHIVED)); $this->assertEquals(1, $count); }
* @see Issue 19174 */ require "autoload.php"; $script = eZScript::instance(array("description" => "eZ Publish missing relations sanitizer script (#19174).", "use-session" => false, "use-modules" => false, "use-extensions" => true)); $script->startup(); $options = $script->getOptions(); $script->initialize(); $cli = eZCLI::instance(); $affectedClasses = getClassList(); $languages = eZContentLanguage::fetchList(); if (count($languages) < 2) { $script->shutdown(0, "This upgrade script is only required for installations that have more than one language"); } $totalUpdatedRelations = 0; foreach ($affectedClasses as $affectedClassId => $classAttributeIdentifiers) { $count = eZContentObject::fetchListCount(array('contentclass_id' => $affectedClassId)); if ($count > 0) { $done = 0; do { $objects = eZContentObject::fetchList(true, array('contentclass_id' => $affectedClassId), $done, 100); foreach ($objects as $object) { $updatedRelations = restoreXmlRelations($object, $classAttributeIdentifiers); if ($updatedRelations) { $cli->output(str_repeat('.', $updatedRelations), false); } $totalUpdatedRelations += $updatedRelations; } $done += count($objects); } while ($done < $count); } }