本文整理汇总了PHP中eZContentObject::checkAccess方法的典型用法代码示例。如果您正苦于以下问题:PHP eZContentObject::checkAccess方法的具体用法?PHP eZContentObject::checkAccess怎么用?PHP eZContentObject::checkAccess使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZContentObject
的用法示例。
在下文中一共展示了eZContentObject::checkAccess方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: copyObjectSameDirectory
/**
* Copies the specified object to the same folder, with optional $destinationName.
*
* @param eZContentObject $object
* @param eZContentObject $newParentNode
* @param string $destinationName
* @return bool
*/
protected function copyObjectSameDirectory($object, $newParentNode, $destinationName = null)
{
$object = $object->ContentObject;
$newParentNodeID = $newParentNode->attribute('node_id');
$classID = $object->attribute('contentclass_id');
if (!$newParentNode->checkAccess('create', $classID)) {
$objectID = $object->attribute('id');
return false;
}
$db = eZDB::instance();
$db->begin();
$newObject = $object->copy(true);
// We should reset section that will be updated in updateSectionID().
// If sectionID is 0 than the object has been newly created
$newObject->setAttribute('section_id', 0);
// @as 2009-01-08 - Added check for destination name the same as the source name
// (this was causing problems with nodes disappearing after renaming)
$newName = $destinationName;
if ($destinationName === null || strtolower($destinationName) === strtolower($object->attribute('name'))) {
$newName = 'Copy of ' . $object->attribute('name');
}
// @todo @as avoid using [0] (could be another index in some classes)
$contentObjectAttributes = $newObject->contentObjectAttributes();
$contentObjectAttributes[0]->setAttribute('data_text', $newName);
$contentObjectAttributes[0]->store();
$newObject->store();
$curVersion = $newObject->attribute('current_version');
$curVersionObject = $newObject->attribute('current');
$newObjAssignments = $curVersionObject->attribute('node_assignments');
unset($curVersionObject);
// remove old node assignments
foreach ($newObjAssignments as $assignment) {
$assignment->purge();
}
// and create a new one
$nodeAssignment = eZNodeAssignment::create(array('contentobject_id' => $newObject->attribute('id'), 'contentobject_version' => $curVersion, 'parent_node' => $newParentNodeID, 'is_main' => 1));
$nodeAssignment->store();
// publish the newly created object
eZOperationHandler::execute('content', 'publish', array('object_id' => $newObject->attribute('id'), 'version' => $curVersion));
// Update "is_invisible" attribute for the newly created node.
$newNode = $newObject->attribute('main_node');
eZContentObjectTreeNode::updateNodeVisibility($newNode, $newParentNode);
$db->commit();
return true;
}