本文整理汇总了PHP中eZSearch::removeObject方法的典型用法代码示例。如果您正苦于以下问题:PHP eZSearch::removeObject方法的具体用法?PHP eZSearch::removeObject怎么用?PHP eZSearch::removeObject使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类eZSearch
的用法示例。
在下文中一共展示了eZSearch::removeObject方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的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.
*/
public static function registerSearchObject($objectID)
{
$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) {
eZDB::instance()->query("INSERT INTO ezpending_actions( action, param ) VALUES ( 'index_object', '{$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::removeObject($object, $needCommit);
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: eZPendingActions
$nodeID = $module->actionParameter( 'NodeID' );
$languageCode = $module->actionParameter( 'LanguageCode' );
$viewMode = 'full';
if ( !$module->hasActionParameter( 'ViewMode' ) )
{
$viewMode = $module->actionParameter( 'ViewMode' );
}
if ( $module->isCurrentAction( 'IndexObject' )
|| $module->isCurrentAction( 'IndexSubtree' )) {
eZContentOperationCollection::registerSearchObject( $objectID );
}
if ( $module->isCurrentAction( 'IndexSubtree' ) ) {
$pendingAction = new eZPendingActions(
array(
'action' => eZSolr::PENDING_ACTION_INDEX_SUBTREE,
'created' => time(),
'param' => $nodeID
)
);
$pendingAction->store();
}
if ( $module->isCurrentAction( 'RemoveObject' ) ) {
$object = eZContentObject::fetch($objectID);
eZSearch::removeObject($object, true);
}
return $module->redirect( 'content', 'view', array( $viewMode, $nodeID, $languageCode ) );
示例3: removeThis
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::removeObject( $this );
$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::removeObject( $this );
$this->store();
eZContentObject::fixReverseRelations( $delID, 'trash' );
$db->commit();
}
else
{
eZContentObjectTreeNode::removeNode( $nodeID );
}
}
}
else
{
eZContentObjectTreeNode::removeNode( $nodeID );
}
}
示例4: array
*/
if (!$isQuiet) {
$cli->output("Starting processing pending search engine modifications");
}
$contentObjects = array();
$db = eZDB::instance();
$offset = 0;
$limit = 50;
while (true) {
$entries = $db->arrayQuery("SELECT DISTINCT param FROM ezpending_actions WHERE action = 'index_object'", array('limit' => $limit, 'offset' => $offset));
if (is_array($entries) && count($entries) != 0) {
foreach ($entries as $entry) {
$objectID = (int) $entry['param'];
$cli->output("\tIndexing object ID #{$objectID}");
$db->begin();
$object = eZContentObject::fetch($objectID);
if ($object) {
eZSearch::removeObject($object);
eZSearch::addObject($object);
}
$db->query("DELETE FROM ezpending_actions WHERE action = 'index_object' AND param = '{$objectID}'");
$db->commit();
}
} else {
break;
// No valid result from ezpending_actions
}
}
if (!$isQuiet) {
$cli->output("Done");
}