Fork me on GitHub

Rapport de message :*
 

Re: [Pages] - Sécurité de la page Recommandez-nous

Titre du sujet : Re: [Pages] - Sécurité de la page Recommandez-nous
par DuGris sur 22/06/2007 19:09:06

Encore une procédure différente !!!
Le module page n'utilise pas la class formulaire de Xoops, mais les templates !!!

Alors voici le code à ajouter dans le fichier index.php
switch ($op)
{
    case 
"refersend":
    [
color=CC0000][b]
    
// Hack SecurityImage by DuGris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') && !SecurityImage::CheckSecurityImage() ) {
        
redirect_header'javascript:history.go(-1)' 1_SECURITYIMAGE_ERROR ) ;
    }
    
// Hack SecurityImage by DuGris
    
[/b][/color]

    include 
XOOPS_ROOT_PATH "/class/xoopsmailer.php";

    ...
    ...
    ...
    ...

    exit();
    break;

    case 
"refer":

    
$xoopsOption['template_main'] = 'pages_refer.html';

    Global 
$xoopsConfig$xoopsDB$xoopsModuleConfig$xoopsUser;

    
$usersblurb '';

    
$referfriend = array();
    
$result $xoopsDB->query("SELECT * FROM " $xoopsDB->prefix($xoopsModule->dirname()."_refer") . "");
    list(
$titlerefer$chanrefheadline$submenuitem$mainpage$referpagelogo$emailaddress$usersblurb$defblurb$smiley$xcodes$breaks$html$privacy$emailcheck$privacy_statement) = $xoopsDB->fetchrow($result);

    
$html = ($html == 1) ? 1;
    
$smiley = ($smiley == 1) ? 1;
    
$xcodes = ($xcodes == 1) ? 1;
    
$breaks = ($breaks == 0) ? 0;
    
$referfriend['textlink'] = $myts->makeTareaData4Show($titlerefer);
    
$referfriend['chanrefheadline'] = $myts->displayTarea($chanrefheadline$html$smiley$smiley1$breaks);
    
$referfriend['path'] = $xoopsModuleConfig['uploaddir'];
    
$referfriend['linkpagelogo'] = ($referpagelogo == "blank.png" || !$referpagelogo) ? '' $myts->htmlSpecialChars($referpagelogo);

// lien de modification

if (is_object($xoopsUser)) {
    
$xoopsModule XoopsModule::getByDirname($xoopsModule->dirname());
    if (
$xoopsUser->isAdmin($xoopsModule->mid())) {
        
$adminlink XOOPS_URL "/modules/" $xoopsModule->dirname() . "/admin/index.php?op=refer";
        
$xoopsTpl->assign('adminlink'"<a href='".$adminlink."'> <img src='".XOOPS_URL "/modules/" $xoopsModule->dirname() . "/Image/kedit.gif' alt='"._MD_MODIF."'> "._MD_MODIF." </a>");
    } else 
$xoopsTpl->assign('adminlink','');
}

//

    
if ($emailaddress && is_object($xoopsUser))
    {
        
$referfriend['uname'] = $xoopsUser->getVar('uname');
        
$referfriend['emailaddy'] = $xoopsUser->getVar('email');
    }

    if (
$usersblurb == 1)
    {
        
$referfriend['usersblurb'] = $myts->makeTareaData4Show($usersblurb);
        
$referfriend['defblurb'] = $myts->makeTareaData4Show($defblurb);
    }

    if (
$privacy == 1)
    {
        
$referfriend['privacy_statement'] = $myts->displayTarea($privacy_statement1$smiley$smiley1$breaks);
    }

    
$xoopsTpl->assign('referfriend'$referfriend);
    
$xoopsTpl->assign('lang_sendername' _MD_SENDERNAME);
    
$xoopsTpl->assign('lang_senderemail' _MD_SENDEREMAIL);
    
$xoopsTpl->assign('lang_recipname' _MD_RECPINAME);
    
$xoopsTpl->assign('lang_reciptremail' _MD_RECPIEMAIL);
    
$xoopsTpl->assign('lang_writeblurb' _MD_WRITEBLURB);
    
$xoopsTpl->assign('lang_linktous' $myts->makeTareaData4Show($titlerefer));
    
$xoopsTpl->assign('lang_send' _MD_SEND);
    
$xoopsTpl->assign('lang_clear' _MD_CLEAR);


    [
color=CC0000][b]
    
// Hack SecurityImage by DuGris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') ) {
        
$security_image = new SecurityImage_SECURITYIMAGE_GETCODE );
        if ( 
$security_image->render() ) {
            
$xoopsTpl->assign('lang_securityimage'_SECURITYIMAGE_CODE);
            
$xoopsTpl->assign('input_securityimage' $security_image->render() );
        }
    }
    
// Hack SecurityImage by DuGris
    
[/b][/color]

    
display_menus();

    break;


Ensuite, il faut modifier le template : pages_refer.html

<{$adminlink}>
<
br />
<{if 
$referfriend.linkpagelogo }>
<
div align="center">
    <
div><img src='<{$xoops_url}>/<{$referfriend.path}>/<{$referfriend.linkpagelogo}>' name='image' id='image' alt='' /></div>
</
div>
<{/if}>

<
div align"center">
  <
h3><{$lang_linktous}></h3>
</
div>
<
div align"left" style="margin-left: 16px;"><{$referfriend.chanrefheadline}></div>
<
br />
<
br />

<
form name 'refer'  action='index.php?op=refersend' method 'post'>
  <
div align 'center'><b><{$lang_sendername}></b><br />
    <
input type='text' name='uname' size='40' maxlength='50' value'<{ $referfriend.uname }>' /></div>
  <
div align 'center'><b><{$lang_senderemail}></b><br />
    <
input type='text' name='email' size='40' maxlength='50' value'<{ $referfriend.emailaddy }>' /></div>
<
br />
  <
div align 'center'><b><{$lang_recipname}></b><br />
    <
input type='text' name='runame' size='40' maxlength='50' value'' /></div>
  <
div align 'center'><b><{$lang_reciptremail}></b><br />
    <
input type='text' name='remail' size='40' maxlength='50' value'' /></div>
<
br />
<{if 
$referfriend.usersblurb }>
<
div align 'center'><b><{$lang_writeblurb}></b><br />
    <
textarea name="message" cols="60" rows="10"><{ $referfriend.defblurb }>
</
textarea>
</
div>
<
br />
<{/if}>

[
color=CC0000][b]
<!-- 
Hack SecurityImage by DuGris-->
    <
br />
    <
div align ="center">
    <
b><{$lang_securityimage}></b><br />
    <{
$input_securityimage}>
    </
div>
<!-- 
Hack SecurityImage by DuGris-->
[/
b][/color]

<
br />
<
div align ="center">
<
input type 'submit' value '<{$lang_send}>' >
 <
input type 'reset' value '<{$lang_clear}>' >
</
div>
</
form>
<
br />
<
div align"center"><{$referfriend.privacy_statement}></div>

<{if 
$chanlink }>
<
div align="center" nowrap:>|&nbsp;<{foreach item=chanlink from=$chanlink}><a href="index.php<{$chanlink.id}>"><{$chanlink.pagetitle}></a>&nbsp;|
    <{/foreach}>
</
div><br />
<{/if}>

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

23 Personne(s) en ligne (18 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 23 | Plus ...