kernel/content/ezcontentoperationcollection.php
static public 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' );
    }
static public 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' );
    }
static public 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' ) ; }
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
Registers the object in search engine .