mirror of
https://github.com/php/doc-es.git
synced 2026-03-23 23:12:09 +01:00
shmop: fix XML by converting para to simpara tags via script
This commit is contained in:
@@ -1,19 +1,18 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 46a9cdd2dbef4ec89bf65fad9930e2feb78bbb98 Maintainer: Marqitos Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: Marqitos Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
|
||||
<book xml:id="book.shmop" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
||||
<book xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xml:id="book.shmop">
|
||||
<?phpdoc extension-membership="bundled" ?>
|
||||
<title>Memoria compartida</title>
|
||||
|
||||
<!-- {{{ preface -->
|
||||
<preface xml:id="intro.shmop">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
Shmop es un conjunto de funciones que permiten a PHP leer,
|
||||
escribir, crear y borrar de forma sencilla segmentos de memoria compartida de tipo UNIX.
|
||||
</para>
|
||||
</simpara>
|
||||
</preface>
|
||||
<!-- }}} -->
|
||||
|
||||
@@ -23,7 +22,6 @@
|
||||
&reference.shmop.shmop;
|
||||
|
||||
</book>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
|
||||
@@ -1,17 +1,15 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 96c9d88bad9a7d7d44bfb7f26c226df7ee9ddf26 Maintainer: jesusruiz Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: jesusruiz Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
|
||||
<section xml:id="shmop.installation" xmlns="http://docbook.org/ns/docbook">
|
||||
<section xmlns="http://docbook.org/ns/docbook" xml:id="shmop.installation">
|
||||
&reftitle.install;
|
||||
<para>
|
||||
<simpara>
|
||||
Para utilizar shmop tendrá que compilar PHP con el parámetro
|
||||
<option role="configure">--enable-shmop</option> en su
|
||||
línea de configuración.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
|
||||
<!-- Keep this comment at the end of the file
|
||||
Local variables:
|
||||
mode: sgml
|
||||
@@ -32,4 +30,3 @@ vim600: syn=xml fen fdm=syntax fdl=2 si
|
||||
vim: et tw=78 syn=sgml
|
||||
vi: ts=1 sw=1
|
||||
-->
|
||||
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-close">
|
||||
<refnamediv>
|
||||
@@ -20,10 +20,10 @@
|
||||
<methodparam><type>Shmop</type><parameter>shmop</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
¬e.resource-migration-8.0-dead-function;
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_close</function> sirve para cerrar un bloque de
|
||||
memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -31,19 +31,19 @@
|
||||
<varlistentry>
|
||||
<term><parameter>shmop</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El recurso de memoria compartida creado por
|
||||
<function>shmop_open</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.void;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -87,10 +87,10 @@ shmop_close($shm_id);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo cierra el bloque de memoria compartida
|
||||
identificado por <literal>$shm_id</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-delete">
|
||||
<refnamediv>
|
||||
@@ -13,9 +13,9 @@
|
||||
<type>bool</type><methodname>shmop_delete</methodname>
|
||||
<methodparam><type>Shmop</type><parameter>shmop</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_delete</function> se utiliza para destruir un bloque de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -23,19 +23,19 @@
|
||||
<varlistentry>
|
||||
<term><parameter>shmop</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El recurso de memoria compartida creado por
|
||||
<function>shmop_open</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
&return.success;
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -73,10 +73,10 @@ shmop_delete($shm_id);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo elimina el bloque de memoria compartida
|
||||
identificado por <literal>$shm_id</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-open">
|
||||
<refnamediv>
|
||||
@@ -16,10 +16,10 @@
|
||||
<methodparam><type>int</type><parameter>permissions</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>size</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_open</function> puede crear o abrir un bloque
|
||||
de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -28,11 +28,11 @@
|
||||
<varlistentry>
|
||||
<term><parameter>key</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Identificador del sistema para el bloque de memoria compartida.
|
||||
Este argumento puede ser pasado como un decimal o
|
||||
un hexadecimal.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
@@ -80,45 +80,45 @@
|
||||
<varlistentry>
|
||||
<term><parameter>permissions</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Los permisos que se otorgan a este bloque. Son
|
||||
los mismos que para los archivos. Estos permisos deben
|
||||
ser pasados en formato octal (i.e. 0644).
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>size</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El tamaño del bloque de memoria compartida que se quiere crear, en bytes
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
<note>
|
||||
<para>
|
||||
<simpara>
|
||||
Nota: Los tercer y cuarto argumentos deben ser pasados a 0 si se quiere abrir un bloque de memoria compartida ya existente.
|
||||
</para>
|
||||
</simpara>
|
||||
</note>
|
||||
</para>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
En caso de éxito, <function>shmop_open</function> devuelve una
|
||||
instancia de <classname>Shmop</classname> que puede ser utilizada para acceder a la memoria que
|
||||
se acaba de crear. &false; será devuelto en caso de fallo.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
<simpara>
|
||||
Si <parameter>mode</parameter> es inválido, o si <parameter>size</parameter> es inferior o igual a cero,
|
||||
se lanza una <classname>ValueError</classname>.
|
||||
En otros casos de fallo, se emite un <constant>E_WARNING</constant>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -165,10 +165,10 @@ $shm_id = shmop_open($shm_key, "c", 0644, 100);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo abre un nuevo bloque de memoria compartida,
|
||||
cuyo identificador es devuelto por <function>ftok</function>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: no -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-read">
|
||||
<refnamediv>
|
||||
@@ -14,10 +14,10 @@
|
||||
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>size</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_read</function> lee una cadena en un bloque de
|
||||
memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -25,30 +25,30 @@
|
||||
<varlistentry>
|
||||
<term><parameter>shmop</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El identificador del bloque de memoria compartida, creado por la función
|
||||
<function>shmop_open</function>
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>offset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Posición desde la cual se debe comenzar a leer; debe ser superior o igual a cero
|
||||
e inferior o igual a la longitud real del segmento de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>size</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El número de bytes a leer; debe ser superior o igual a cero,
|
||||
y la suma de <parameter>offset</parameter> y <parameter>size</parameter>
|
||||
debe ser inferior o igual a la longitud real del segmento de memoria compartida.
|
||||
<literal>0</literal> lee <code>shmop_size($shmid) - $start</code> bytes.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
@@ -56,17 +56,17 @@
|
||||
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
Devuelve los datos.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
<simpara>
|
||||
Si <parameter>offset</parameter> o <parameter>size</parameter> están fuera del rango,
|
||||
se lanza una <classname>ValueError</classname>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -112,10 +112,10 @@ $shm_data = shmop_read($shm_id, 0, 50);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo lee 50 bytes del bloque de memoria compartida
|
||||
y los coloca en <literal>$shm_data</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="seealso">
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-size">
|
||||
<refnamediv>
|
||||
@@ -13,10 +13,10 @@
|
||||
<type>int</type><methodname>shmop_size</methodname>
|
||||
<methodparam><type>Shmop</type><parameter>shmop</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_size</function> sirve para conocer
|
||||
el tamaño en bytes de un bloque de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -24,20 +24,20 @@
|
||||
<varlistentry>
|
||||
<term><parameter>shmop</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El identificador del bloque de memoria compartido creado por la función
|
||||
<function>shmop_open</function>
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
Devuelve un &integer;, que representa el número de bytes que ocupa
|
||||
la memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -75,10 +75,10 @@ $shm_size = shmop_size($shm_id);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo lee el tamaño del bloque identificado por
|
||||
<literal>$shm_id</literal>, y lo coloca en <literal>$shm_size</literal>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
</refentry>
|
||||
<!-- Keep this comment at the end of the file
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- $Revision$ -->
|
||||
<!-- EN-Revision: 6ce09e40979a5cd7ee87a4799cbaf1d8d17a3dc1 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<refentry xmlns="http://docbook.org/ns/docbook" xml:id="function.shmop-write">
|
||||
<refnamediv>
|
||||
@@ -15,10 +15,10 @@
|
||||
<methodparam><type>string</type><parameter>data</parameter></methodparam>
|
||||
<methodparam><type>int</type><parameter>offset</parameter></methodparam>
|
||||
</methodsynopsis>
|
||||
<para>
|
||||
<simpara>
|
||||
<function>shmop_write</function> escribe una cadena en
|
||||
un bloque de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="parameters">
|
||||
&reftitle.parameters;
|
||||
@@ -26,45 +26,45 @@
|
||||
<varlistentry>
|
||||
<term><parameter>shmop</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
El identificador del bloque de memoria compartida, creado por la función
|
||||
<function>shmop_open</function>
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>data</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Una cadena para escribir en el bloque de la memoria compartida
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
<varlistentry>
|
||||
<term><parameter>offset</parameter></term>
|
||||
<listitem>
|
||||
<para>
|
||||
<simpara>
|
||||
Especifica la posición desde la cual los datos deben ser escritos
|
||||
en la memoria compartida. El offset debe ser superior o igual a cero
|
||||
e inferior o igual al tamaño real del segmento de memoria compartida.
|
||||
</para>
|
||||
</simpara>
|
||||
</listitem>
|
||||
</varlistentry>
|
||||
</variablelist>
|
||||
</refsect1>
|
||||
<refsect1 role="returnvalues">
|
||||
&reftitle.returnvalues;
|
||||
<para>
|
||||
<simpara>
|
||||
El tamaño de los datos escritos.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="errors">
|
||||
&reftitle.errors;
|
||||
<para>
|
||||
<simpara>
|
||||
Si <parameter>offset</parameter> está fuera de límite, o si un segmento de memoria compartida
|
||||
de solo lectura debe ser escrito, se levanta una <classname>ValueError</classname>.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
|
||||
<refsect1 role="changelog">
|
||||
@@ -108,12 +108,12 @@ $shm_bytes_written = shmop_write($shm_id, $my_string, 0);
|
||||
]]>
|
||||
</programlisting>
|
||||
</example>
|
||||
<para>
|
||||
<simpara>
|
||||
Este ejemplo escribe los datos de la cadena
|
||||
<literal>$my_string</literal> en un bloque de memoria
|
||||
compartida. <literal>$shm_bytes_written</literal>
|
||||
representará el número de bytes escritos.
|
||||
</para>
|
||||
</simpara>
|
||||
</refsect1>
|
||||
<refsect1 role="seealso">
|
||||
&reftitle.seealso;
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<!-- EN-Revision: 4d17b7b4947e7819ff5036715dd706be87ae4def Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- EN-Revision: 41d34439ea8cae2bb1204264c1bce15d88284503 Maintainer: PhilDaiguille Status: ready -->
|
||||
<!-- Reviewed: yes -->
|
||||
<reference xml:id="class.shmop" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
|
||||
<reference xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude" xml:id="class.shmop" role="class">
|
||||
<title>La clase Shmop</title>
|
||||
<titleabbrev>Shmop</titleabbrev>
|
||||
|
||||
@@ -10,9 +10,9 @@
|
||||
<!-- {{{ Shmop intro -->
|
||||
<section xml:id="shmop.intro">
|
||||
&reftitle.intro;
|
||||
<para>
|
||||
<simpara>
|
||||
Una clase opaca que reemplaza los recursos <literal>shmop</literal> a partir de PHP 8.0.0.
|
||||
</para>
|
||||
</simpara>
|
||||
</section>
|
||||
<!-- }}} -->
|
||||
|
||||
|
||||
Reference in New Issue
Block a user