static public function publishUserContentObject( $userID )
    {
        $object = eZContentObject::fetch( $userID );
        if( $object->attribute( 'current_version' ) !== '1' )
        {
            eZDebug::writeError( 'Current version is wrong for the user object. User ID: ' . $userID , 'user/register' );
            return array( 'status' => eZModuleOperationInfo::STATUS_CANCELLED );
        }
        eZDebugSetting::writeNotice( 'kernel-user' , 'publishing user object', 'user register' );
        // if the object is already published, continue the operation
        if( $object->attribute( 'status' ) )
        {
            eZDebugSetting::writeNotice( 'kernel-user', 'User object publish is published.', 'user register' );
            return array( 'status' => eZModuleOperationInfo::STATUS_CONTINUE );
        }
        $result = eZOperationHandler::execute( 'content', 'publish', array( 'object_id' => $userID, 'version' => 1 ) );
        if( $result['status'] === eZModuleOperationInfo::STATUS_HALTED )
        {
            eZDebugSetting::writeNotice( 'kernel-user', 'User object publish is in pending.', 'user register' );
            return array( 'status' => eZModuleOperationInfo::STATUS_HALTED );
        }
        return $result;
    }