[Rendimiento]  Problema con código para plantilla
* URL del foro: http://www.libelux.com.ar/index.php * Versión del foro: 1.6 * Actualización: Ninguna Bueno xD, tengo un problema con el spam ultim...


Bueno xD, tengo un problema con el spam ultimamente, se me registran boots y quiero evitar eso, active el captcha es un plugin externo la cosa es que me va bien funciona perfecto por lo que sé, ahora yo uso un plugin page manager algo así se llama, que tiene un .xml de un formulario de contacto, he creado una página nueva que será contacto.php todo esta bien, pero ahora quiero poner el code que tiene el .xml en el contacto.php lo intenté pero sale carácteres raros xD Si pudieran ayudarme en eso.. estaria agradecido, el code es este (del formulario)

[spoiler=Spoiler]
Código:
<?php

global $headerinclude, $header, $theme, $footer, $templates, $lang;

$lang->load('member');
$lang->load('messages');
$lang->load('datahandler_user');

$subject = htmlspecialchars_uni(trim($mybb->input['subject']));
$message = htmlspecialchars_uni(trim($mybb->input['message']));

if(!$mybb->user['uid'])
{
    $name = htmlspecialchars_uni(trim($mybb->input['name']));
    $email = htmlspecialchars_uni(trim($mybb->input['email']));

    $usertemplate = '<tr>
<td width="40%" class="trow1"><strong>{$lang->full_name}</strong></td>
<td width="60%" class="trow1"><input type="text" class="textbox" size="50" name="name" value="{$name}" /></td>
</tr>
<tr>
<td width="40%" class="trow2"><strong>{$lang->email_address}</strong></td>
<td width="60%" class="trow2"><input type="text" class="textbox" size="50" name="email" value="{$email}" /></td>
</tr>';

    $usertemplate = str_replace("\'", "'", addslashes($usertemplate));

    eval("\$usertemplate = \"" . $usertemplate . "\";");
}
else
{
    $name = $mybb->user['username'];
    $email = $mybb->user['email'];

    eval("\$usertemplate = \"" . $templates->get('changeuserbox') . "\";");
}

if($mybb->input['action'] == 'do_email' && $mybb->request_method == 'post')
{
    verify_post_check($mybb->input['my_post_key']);

    if(empty($name))
    {
        $errors[] = $lang->userdata_missing_username;
    }
    elseif(strpos($name, '<') !== false || strpos($name, '>') !== false || strpos($name, '&') !== false || my_strpos($name, '\\') !== false || strpos($name, ';') !== false || strpos($name, ',') !== false)
    {
        $errors[] = $lang->userdata_bad_characters_username;
    }

    if(empty($email))
    {
        $errors[] = $lang->userdata_missing_email;
    }
    elseif(!validate_email_format($email))
    {
        $errors[] = $lang->userdata_invalid_email_format;
    }

    if(empty($subject))
    {
        $errors[] = $lang->error_no_email_subject;
    }

    if(empty($message))
    {
        $errors[] = $lang->error_no_email_message;
    }

    if($mybb->settings['captchaimage'] == 1 && function_exists("imagepng") && !$mybb->user['uid'])
    {
        $imagehash = $db->escape_string($mybb->input['imagehash']);
        $imagestring = $db->escape_string($mybb->input['imagestring']);
        $query = $db->simple_select('captcha', '*', 'imagehash="' . $imagehash . '"');
        $imgcheck = $db->fetch_array($query);
        if(my_strtolower($imgcheck['imagestring']) != my_strtolower($imagestring) || !$imgcheck['imagehash'])
        {
            $errors[] = $lang->error_regimageinvalid;
        }
        $db->delete_query('captcha', 'imagehash="' . $imagehash . '"');
    }

    if(count($errors) == 0)
    {
        if($mybb->settings['mail_handler'] == 'smtp')
        {
            $from = $email;
        }
        else
        {
            $from = $name . ' <' . $email . '>';
        }
        my_mail($mybb->settings['adminemail'], '[' . $mybb->settings['bbname'] . ' ' . $pages['name'] . '] ' . $subject, $message, $from, '', '', false, 'text', '', $email);

        redirect($mybb->settings['bburl'], $lang->redirect_emailsent);
    }
    else
    {
        $errors = inline_error($errors);
    }
}

if($mybb->settings['captchaimage'] == 1 && function_exists('imagepng') && !$mybb->user['uid'])
{
    $randomstr = random_str(5);
    $imagehash = md5(random_str(12));
    $imagearray= array(
        'imagehash' => $imagehash,
        'imagestring' => $randomstr,
        'dateline' => TIME_NOW
    );
    $db->insert_query('captcha', $imagearray);
    eval("\$captcha = \"" . $templates->get('post_captcha') . "\";");
}

$template = '<html>
<head>
<title>' . $pages['name'] . '</title>
{$headerinclude}
</head>
<body>
{$header}
{$errors}
<form action="' . $_SERVER['REQUEST_URI'] . '" method="post">
<input type="hidden" name="my_post_key" value="{$mybb->post_code}" />
<table border="0" cellspacing="' . $theme['borderwidth'] . '" cellpadding="' . $theme['tablespace'] . '" class="tborder">
<thead>
<tr>
<td colspan="2" class="thead">
<strong>' . $pages['name'] . '</strong>
</td>
</tr>
</thead>
<tbody>
{$usertemplate}
<tr>
<td width="40%" class="trow1"><strong>{$lang->email_subject}</strong></td>
<td width="60%" class="trow1"><input type="text" class="textbox" size="50" name="subject" value="{$subject}" /></td>
</tr>
<tr>
<td valign="top" width="40%" class="trow2"><strong>{$lang->email_message}</strong></td>
<td width="60%" class="trow2"><textarea cols="50" rows="10" name="message">{$message}</textarea></td>
</tr>
{$captcha}
</tbody>
</table>
<br />
<input type="hidden" name="action" value="do_email" />
<div align="center"><input type="submit" class="button" value="{$lang->send_email}" /></div>
</form>
{$footer}
</body>
</html>';

$template = str_replace("\'", "'", addslashes($template));

add_breadcrumb($pages['name']);

eval("\$page = \"" . $template . "\";");

output_page($page);

?>
[/spoiler]

El problem en si, es que en el page manager no funciona el plugin captcha, por eso estoy creando un contacto.php que si lo leerá, espero se pueda.

Saludos.
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
Última modificación: 30 Mar, 2011, 3:28 pm por acelinux.
Usa este xml para el PageManager, ya que este sí debería de traer el captcha. Smile

[attachment=1946]
Gracias abdon, pero me parece que no me expliqué bien.

Yo uso el PageManager, con un .xml de formulario que si trae el captacha, pero al activar el plugin de captcha no me sale en el formulario Sad y el captcha que trae por defecto mybb lo desactivo, sino aparecen dos al momento de registrarse, el de defecto de mybb y el plugin captcha que activo, no sé si me entenderás Smile

O hay alguna manera, que el captcha del plugin funcione en la página de contacto del PageManager? Por lo que leí no lo lee Sad
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
Última modificación: 30 Mar, 2011, 3:38 pm por acelinux.
(30 Mar, 2011, 3:37 pm)Kevinex escribió: Gracias abdon, pero me parece que no me expliqué bien.

Yo uso el PageManager, con un .xml de formulario que si trae el captacha, pero al activar el plugin de captcha no me sale en el formulario Sad y el captcha que trae por defecto mybb lo desactivo, sino aparecen dos al momento de registrarse, el de defecto de mybb y el plugin captcha que activo, no sé si me entenderás Smile

O hay alguna manera, que el captcha del plugin funcione en la página de contacto del PageManager? Por lo que leí no lo lee Sad

Aaah vale vale, al principio entendí que simplemente querías añadirle el captcha al formulario de contacto porque no tenías.

El plugin que usas es este? http://mods.mybb.com/view/recaptcha
(30 Mar, 2011, 3:41 pm)abdonroda escribió:
(30 Mar, 2011, 3:37 pm)Kevinex escribió: Gracias abdon, pero me parece que no me expliqué bien.

Yo uso el PageManager, con un .xml de formulario que si trae el captacha, pero al activar el plugin de captcha no me sale en el formulario Sad y el captcha que trae por defecto mybb lo desactivo, sino aparecen dos al momento de registrarse, el de defecto de mybb y el plugin captcha que activo, no sé si me entenderás Smile

O hay alguna manera, que el captcha del plugin funcione en la página de contacto del PageManager? Por lo que leí no lo lee Sad

Aaah vale vale, al principio entendí que simplemente querías añadirle el captcha al formulario de contacto porque no tenías.

El plugin que usas es este? http://mods.mybb.com/view/recaptcha

Sí, ese uso. Se agrega en el registro, pero tengo que desactivar el captcha por defecto de mybb, sino me sale los dos! Pero al hacer eso, en el de contacto no sale, pero quiero que salga el del plugin en el formulario de contacto.
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
Última modificación: 30 Mar, 2011, 3:44 pm por acelinux.
No sé si funcionará, pero prueba a añadir {$captcha} en el xml, porque acabo de ver el código del plugin de recaptcha y es la edición que hace en la plantilla member_register.
Última modificación: 30 Mar, 2011, 3:55 pm por Cluster.
(30 Mar, 2011, 3:54 pm)abdonroda escribió: No sé si funcionará, pero prueba a añadir {$captcha} en el xml, porque acabo de ver el código del plugin de recaptcha y es la edición que hace en la plantilla member_register.

El formulario tiene ese código, que es del default de mybb. Sad

(30 Mar, 2011, 4:06 pm)DARKNESSDH escribió: prueba poniendo {$captcha['imagearray']}

y me dices si funciono

Me tira error..

Probe con estos del plugin:

{$captcha_options}
{$captcha_image}

Pero tampoco Sad
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda
Última modificación: 30 Mar, 2011, 4:30 pm por acelinux.
(30 Mar, 2011, 4:37 pm)DARKNESSDH escribió: {$imagearray} ????????

Yo quiero que salga el captcha del plugin que active :/
www.ledahost.com | Email: info[at]ledahost.com | Skype: ledahost
VPS SSD - HOSTING Y RESELLER [cPanel, Plesk, etc] - DOMINIOS - BACKUPS - WAREZ & XXX
CUPONES: Hosting 20%: memudoaleda