Пример #1
0
 /**
  * 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);
 }
Пример #2
0
 * @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);
    }
}