本文整理汇总了PHP中eZSearch::removeObjectById方法的典型用法代码示例。如果您正苦于以下问题:PHP eZSearch::removeObjectById方法的具体用法?PHP eZSearch::removeObjectById怎么用?PHP eZSearch::removeObjectById使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZSearch
的用法示例。
在下文中一共展示了eZSearch::removeObjectById方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: registerSearchObject
/**
* Registers the object in search engine.
*
* @note Transaction unsafe. If you call several transaction unsafe methods you must enclose
* the calls within a db transaction; thus within db->begin and db->commit.
*
* @param int $objectID Id of the object.
* @param int $version Operation collection passes this default param. Not used in the method
* @param bool $isMoved true if node is being moved
*/
public static function registerSearchObject($objectID, $version = null, $isMoved = false)
{
$objectID = (int) $objectID;
eZDebug::createAccumulatorGroup('search_total', 'Search Total');
$ini = eZINI::instance('site.ini');
$insertPendingAction = false;
$object = null;
switch ($ini->variable('SearchSettings', 'DelayedIndexing')) {
case 'enabled':
$insertPendingAction = true;
break;
case 'classbased':
$classList = $ini->variable('SearchSettings', 'DelayedIndexingClassList');
$object = eZContentObject::fetch($objectID);
if (is_array($classList) && in_array($object->attribute('class_identifier'), $classList)) {
$insertPendingAction = true;
}
}
if ($insertPendingAction) {
$action = $isMoved ? 'index_moved_node' : 'index_object';
eZDB::instance()->query("INSERT INTO ezpending_actions( action, param ) VALUES ( '{$action}', '{$objectID}' )");
return;
}
if ($object === null) {
$object = eZContentObject::fetch($objectID);
}
// Register the object in the search engine.
$needCommit = eZSearch::needCommit();
if (eZSearch::needRemoveWithUpdate()) {
eZDebug::accumulatorStart('remove_object', 'search_total', 'remove object');
eZSearch::removeObjectById($objectID);
eZDebug::accumulatorStop('remove_object');
}
eZDebug::accumulatorStart('add_object', 'search_total', 'add object');
if (!eZSearch::addObject($object, $needCommit)) {
eZDebug::writeError("Failed adding object ID {$object->attribute('id')} in the search engine", __METHOD__);
}
eZDebug::accumulatorStop('add_object');
}
示例2: removeThis
/**
* Archives the current object and removes assigned nodes
*
* Transaction unsafe. If you call several transaction unsafe methods you must enclose
* the calls within a db transaction; thus within db->begin and db->commit.
*
* @param int $nodeID
*/
function removeThis( $nodeID = null )
{
$delID = $this->ID;
// Who deletes which content should be logged.
eZAudit::writeAudit( 'content-delete', array( 'Object ID' => $delID, 'Content Name' => $this->attribute( 'name' ),
'Comment' => 'Setted archived status for the current object: eZContentObject::remove()' ) );
$nodes = $this->attribute( 'assigned_nodes' );
if ( $nodeID === null or count( $nodes ) <= 1 )
{
$db = eZDB::instance();
$db->begin();
$mainNodeKey = false;
foreach ( $nodes as $key => $node )
{
if ( $node->attribute( 'main_node_id' ) == $node->attribute( 'node_id' ) )
{
$mainNodeKey = $key;
}
else
{
$node->removeThis();
}
}
if ( $mainNodeKey !== false )
{
$nodes[$mainNodeKey]->removeNodeFromTree( true );
}
$this->setAttribute( 'status', eZContentObject::STATUS_ARCHIVED );
eZSearch::removeObjectById( $delID );
$this->store();
eZContentObject::fixReverseRelations( $delID, 'trash' );
// Delete stored attribute from other tables
$db->commit();
}
else if ( $nodeID !== null )
{
$node = eZContentObjectTreeNode::fetch( $nodeID , false );
if ( is_object( $node ) )
{
if ( $node->attribute( 'main_node_id' ) == $nodeID )
{
$db = eZDB::instance();
$db->begin();
foreach ( $additionalNodes as $additionalNode )
{
if ( $additionalNode->attribute( 'node_id' ) != $node->attribute( 'main_node_id' ) )
{
$additionalNode->remove();
}
}
$node->removeNodeFromTree( true );
$this->setAttribute( 'status', eZContentObject::STATUS_ARCHIVED );
eZSearch::removeObjectById( $delID );
$this->store();
eZContentObject::fixReverseRelations( $delID, 'trash' );
$db->commit();
}
else
{
eZContentObjectTreeNode::removeNode( $nodeID );
}
}
}
else
{
eZContentObjectTreeNode::removeNode( $nodeID );
}
}
示例3: foreach
$cli->output($cli->stylize('bold', 'Updating object attributes'));
if (is_array($IDs) and count($IDs) > 0) {
foreach ($IDs as $id) {
$cli->output('Updating object attribute: id - ' . $id['id'] . ' & version - ' . $id['version']);
$objectAttribute = eZContentObjectAttribute::fetch($id['id'], $id['version']);
$textString = $objectAttribute->attribute('data_text');
$textArray = explode('***', $textString);
$objectAttribute->setAttribute('data_type_string', 'sckenhancedselection');
$objectAttribute->DataTypeString = 'sckenhancedselection';
$objectAttribute->setAttribute('data_text', serialize($textArray));
$objectAttribute->store();
$objectAttribute->updateSortKey();
$object = $objectAttribute->attribute('object');
$class = $object->attribute('content_class');
// Reset the name
$object->setName($class->contentObjectName($object));
// Update the nodes
$nodes = $object->attribute('assigned_nodes');
foreach ($nodes as $node) {
eZContentOperationCollection::publishNode($node->attribute('parent_node_id'), $object->attribute('id'), $object->attribute('current_version'), $object->attribute('main_node_id'));
}
eZSearch::removeObjectById($object->attribute('id'));
eZSearch::addObject($object);
unset($objectAttribute, $object, $class, $node);
}
} else {
$cli->output('No object attributes to update!');
}
$cli->output();
$cli->output('Done.');
$script->shutdown();