Simple Machines Community Forum

SMF Support => Language Specific Support => Español (Spanish) => Topic started by: Jotade29 on August 16, 2022, 05:41:48 PM

Title: [Duda] Cambiar el emisor del mensaje privado de la opción 'Reportar al admin'
Post by: Jotade29 on August 16, 2022, 05:41:48 PM
Buenas, primero que nada avisar que uso la versión 2.0.19

La opción reportar al admin en mensaje privado no está activada por defecto, y permite reportar al administrador los mensajes privados. Partiendo de ahí, me interesa cambiar el emisor del mensaje privado cuando eso. Al administrador le llega que ha emitido el mensaje privado la persona que reporta, y me gustaría que fuese distinto, es decir, que el mensaje lo enviase un usuario predeterminado que tengo como 'bot', que tiene la id 2.

En el manual sale que esto se puede manipular mediante:

$pmfrom = array(
'id' => ,
'name' => "",
'username' => ""
);
           

Pero, dentro de los recursos, en el archivo personalmessage.php, la función que hace eso es "ReportMessage()", y en su estructura no veo que incluya nada parecido a $pmfrom, y no sé cómo modificarlo.

Lo único que se me ha ocurrido que no ha valido es:

// Make the body.
$report_body = str_replace(array('{REPORTER}', '{SENDER}'), array(un_htmlspecialchars($user_info['name']), $memberFromName), $txt['pm_report_pm_user_sent']);
$report_body .= "\n" . '[b]' . $_POST['reason'] . '[/b]' . "\n\n";
if (!empty($recipients))
$report_body .= $txt['pm_report_pm_other_recipients'] . ' ' . implode(', ', $recipients) . "\n\n";
$report_body .= $txt['pm_report_pm_unedited_below'] . "\n" . '[quote author=' . (empty($memberFromID) ? '"' . $memberFromName . '"' : $memberFromName . ' link=action=profile;u=' . $memberFromID . ' date=' . $time) . ']' . "\n" . un_htmlspecialchars($body) . '[/quote]';

// Plonk it in the array ;)
$messagesToSend[$cur_language] = array(
'subject' => ($smcFunc['strpos']($subject, $txt['pm_report_pm_subject']) === false ? $txt['pm_report_pm_subject'] : '') . un_htmlspecialchars($subject),
'body' => $report_body,
'recipients' => array(
'to' => array(),
'bcc' => array()
),
);

añadir después de $messagetosend:

$pmfrom = array(
'id' => 2,
'name' => "bot",
'username' => "bot"
);

¿Alguna idea sobre cómo poder hacer para que los mensajes privados que recibe el admin, sobre reportes de mensajes privados, tenga como emisor al  id que yo quiera, y no que el que envía el mensaje privado sea la misma persona que lo reporta (está así por defecto)? Ojalá sepas cómo hacerlo @Diego Andrés

Mucahs gracias :)

Title: Re: [Duda] Cambiar el emisor del mensaje privado de la opción 'Reportar al admin'
Post by: Jotade29 on August 16, 2022, 07:20:14 PM
Solventado. He estado tocando la línea del sendmp, que estaba en un bucle, y añadía el $pmfrom y no me lo leía, la razón era que lo estaba poniendo en el lugar del "$outbox_store", y en último lugar está el pmfrom.

Gracias igual  :P