public static function fetchReverseRelatedObjectsCount($objectID, $attributeID, $allRelations, $ignoreVisibility) { if (!is_numeric($objectID)) { eZDebug::writeError("\$objectID is missing or invalid", __METHOD__); return false; } $object = eZContentObject::fetch($objectID); if (!$object instanceof eZContentObject) { eZDebug::writeError("An error occured fetching object #{$objectID}", __METHOD__); return false; } $params = array(); if (isset($ignoreVisibility)) { $params['IgnoreVisibility'] = $ignoreVisibility; } if (!$attributeID) { $attributeID = 0; } if (isset($allRelations)) { if ($attributeID && !$allRelations) { $params['AllRelations'] = eZContentFunctionCollectionNoLanguage::contentobjectRelationTypeMask(array('attribute')); } elseif ($allRelations === true) { $attributeID = false; } else { $params['AllRelations'] = eZContentFunctionCollectionNoLanguage::contentobjectRelationTypeMask($allRelations); } } if ($attributeID && !is_numeric($attributeID) && !is_bool($attributeID)) { $attributeID = eZContentObjectTreeNodeNoLanguage::classAttributeIDByIdentifier($attributeID); if (!$attributeID) { eZDebug::writeError("Can't get class attribute ID by identifier"); return false; } } return array('result' => $object->reverseRelatedObjectCount(false, $attributeID, $params)); }
/** * Returns available classes as a JSON string * * @param eZContentObjectTreeNodeNoLanguage|bool $node * @param array|bool $includeFilter * @param array|bool $groupList * @param int|bool $fetchID * @param array|bool $classes * @return string */ static function getClassesJsArray($node = false, $includeFilter = true, $groupList = false, $fetchID = false, $classes = false) { $falseValue = "''"; // If $classes is false we should check $node and fetch class list if ($classes === false) { // If $node is object we should fetch available classes from node, from ezcontentclass otherwise $classes = $node instanceof eZContentObjectTreeNodeNoLanguage ? $node->canCreateClassList(false, $includeFilter, $groupList, $fetchID) : eZContentClass::canInstantiateClassList(false, $includeFilter, $groupList, $fetchID); } if (!is_array($classes)) { return $falseValue; } // Create javascript array $classList = array(); foreach ($classes as $class) { if ($class instanceof eZContentClass) { $classID = $class->attribute('id'); $className = $class->attribute('name'); } elseif (is_array($class)) { $classID = $class['id']; $className = $class['name']; } $classList[] = array('classID' => (int) $classID, 'name' => $className); } if ($classList) { return json_encode($classList); } return $falseValue; }