Menu principal

OUTILS +

Recherche

Publicité



   Tous les messages

 Bas   Précédent   Suivant

(1) 2 3 4 ... 45 »


Augmenter ou diminuer le chiffre d'un champ "+" et "-"
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
Pour augmenter ou diminuer le chiffre d'un champ par le biais de commande "+" et "-"

Open in new window


il faut créer des [Procédure événementielle] sur clic .

Pour ajouter:


Private Sub command0_Click()
Me!Quantite_Stock Me!Quantite_Stock 1
End Sub

Pour baisser:

Private Sub command1_Click()
If 
Me!Quantite_Stock 0 Then
  Me
!Quantite_Stock Me!Quantite_Stock 1
End 
If
End Sub

Posté le : 7/16 5:30
Crer un fichier PDF de la contribution Imprimer


Extgallery 1.8 de Zoulou
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
Pour une autre méthode de protection, notamment pour les envoi par "send e-cards", suivez ce lien.
Sinon, avec le module Securityimage de Dugris, c'est comme cela.

ATTENTION!! N'OUBLIEZ PAS D'ENLEVER LES ESPACES DU MOT:
j a v a s c r i p t


Dans le fichier public-upload.php


$permHandler 
ExtgalleryPublicPermHandler::getHandler();
if(
count($permHandler->getAuthorizedPublicCat($xoopsUser'public_upload')) < 1) {
    
redirect_header("index.php"3_MD_EXTGALLERY_NOPERM);
    exit;
}
switch(
$step) {
    case 
'enreg':
// Hack SecurityImage de Dugris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') && !SecurityImage::CheckSecurityImage() ) {
    
redirect_header'j a v a s c r i p t:history.go(-1)'2_SECURITYIMAGE_ERROR ) ;
    exit();
    }
// Hack SecurityImage de Dugris 
        
$photoHandler xoops_getmodulehandler('publicphoto''extgallery');
        
$result $photoHandler->postPhotoTraitement('photo_file'false);
        if(
$result == 2) {

Et enfin, ceci

$plugin 
xoops_getmodulehandler('plugin''extgallery');
        
$plugin->triggerEvent('photoForm'$form);
        
$form->addElement(new XoopsFormHidden("step"'enreg'));
// Hack SecurityImage de Dugris
        
if (defined('SECURITYIMAGE_INCLUDED')) {
        
$security_image = new SecurityImage_SECURITYIMAGE_GETCODE );
        if (
$security_image->render()) {
        
$form->addElement($security_imagetrue);
        }
    }
// Hack SecurityImage de Dugris
        
$form->addElement(new XoopsFormButton("""submit"_SUBMIT"submit"));
        
$form->display();
        include(
XOOPS_ROOT_PATH."/footer.php");
        break;


===================================
Pour le send e-cards, vous pouvez faire ceci:

Ouvrez le fichier public-sendecard.php

REMPLACER EXACTEMENT CECI

include_once XOOPS_ROOT_PATH.'/modules/extgallery/class/php-captcha.inc.php';
        
        
// Enable captcha only if GD is Used
        
if($xoopsModuleConfig['graphic_lib'] == 'GD') {
            if (!
PhpCaptcha::Validate($_POST['captcha'])) {
                
redirect_header("public-photo.php?photoId=".$photoId."#photoNav"3_MD_EXTGALLERY_CAPTCHA_ERROR);
                exit;
            }
        }


PAR CELA:

// Hack SecurityImage de Dugris
    
include_once(XOOPS_ROOT_PATH "/class/xoopsformloader.php");
    if ( 
defined('SECURITYIMAGE_INCLUDED') && !SecurityImage::CheckSecurityImage() ) {
    
redirect_header'j a v a s c r i p t:history.go(-1)'2_SECURITYIMAGE_ERROR ) ;
    exit();
    }
// Hack SecurityImage de Dugris


ET ENFIN, REMPLACER EXACTEMENT CECI

// Enable captcha only if GD is Used
        
if($xoopsModuleConfig['graphic_lib'] == 'GD') {
            
$form->addElement(new XoopsFormText(_MD_EXTGALLERY_SECURITY'captcha''10''5'''),false);
        }


PAR CELA:

// Hack SecurityImage de Dugris
        
if (defined('SECURITYIMAGE_INCLUDED')) {
        
$security_image = new SecurityImage_SECURITYIMAGE_GETCODE );
        if (
$security_image->render()) {
        
$form->addElement($security_imagetrue);
        }
    }
// Hack SecurityImage de Dugris


Et voila

Pour les nullos, voici les 2 fichiers zippés dans le forum

Attacher un fichier:


zip securityimage_extgallery_108.zip Taille: 3.44 KB; Hits: 13

Posté le : 6/10 19:29

Edité par webmaster sur 10/06/2010 19:57:45
Crer un fichier PDF de la contribution Imprimer


List of MIME types
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
These documentation pages are no longer maintained. Please visit the new documentation site.

List of common MIME types and their corresponding file extensions.
ez=> application/andrew-inset,
hqx=> application/mac-binhex40,
cpt=> application/mac-compactpro,
doc=> application/msword,
bin=> application/octet-stream,
dms=> application/octet-stream,
lha=> application/octet-stream,
lzh=> application/octet-stream,
exe=> application/octet-stream,
rar=> application/x-rar-compressed,
class=> application/octet-stream,
so=> application/octet-stream,
dll=> application/octet-stream,
oda=> application/oda,
pdf=> application/pdf,
ai=> application/postscript,
eps=> application/postscript,
ps=> application/postscript,
smi=> application/smil,
smil=> application/smil,
mif=> application/vnd.mif,
xls=> application/vnd.ms-excel,
ppt=> application/vnd.ms-powerpoint,
wbxml=> application/vnd.wap.wbxml,
wmlc=> application/vnd.wap.wmlc,
wmlsc=> application/vnd.wap.wmlscriptc,
bcpio=> application/x-bcpio,
vcd=> application/x-cdlink,
pgn=> application/x-chess-pgn,
cpio=> application/x-cpio,
csh=> application/x-csh,
dcr=> application/x-director,
dir=> application/x-director,
dxr=> application/x-director,
dvi=> application/x-dvi,
spl=> application/x-futuresplash,
gtar=> application/x-gtar,
hdf=> application/x-hdf,
js=> application/x-javascript,
skp=> application/x-koan,
skd=> application/x-koan,
skt=> application/x-koan,
skm=> application/x-koan,
latex=> application/x-latex,
nc=> application/x-netcdf,
cdf=> application/x-netcdf,
sh=> application/x-sh,
shar=> application/x-shar,
swf=> application/x-shockwave-flash,
sit=> application/x-stuffit,
sv4cpio=> application/x-sv4cpio,
sv4crc=> application/x-sv4crc,
tar=> application/x-tar,
tcl=> application/x-tcl,
tex=> application/x-tex,
texinfo=> application/x-texinfo,
texi=> application/x-texinfo,
t=> application/x-troff,
tr=> application/x-troff,
roff=> application/x-troff,
man=> application/x-troff-man,
me=> application/x-troff-me,
ms=> application/x-troff-ms,
ustar=> application/x-ustar,
src=> application/x-wais-source,
xhtml=> application/xhtml+xml,
xht=> application/xhtml+xml,
zip=> application/zip,
au=> audio/basic,
snd=> audio/basic,
mid=> audio/midi,
midi=> audio/midi,
kar=> audio/midi,
mpga=> audio/mpeg,
mp2=> audio/mpeg,
mp3=> audio/mpeg,
aif=> audio/x-aiff,
aiff=> audio/x-aiff,
aifc=> audio/x-aiff,
m3u=> audio/x-mpegurl,
ram=> audio/x-pn-realaudio,
rm=> audio/x-pn-realaudio,
rpm=> audio/x-pn-realaudio-plugin,
ra=> audio/x-realaudio,
wav=> audio/x-wav,
pdb=> chemical/x-pdb,
xyz=> chemical/x-xyz,
bmp=> image/bmp,
gif=> image/gif,
ief=> image/ief,
jpeg=> image/jpeg,
jpg=> image/jpeg,
jpe=> image/jpeg,
png=> image/png,
tiff=> image/tiff,
tif=> image/tiff,
djvu=> image/vnd.djvu,
djv=> image/vnd.djvu,
wbmp=> image/vnd.wap.wbmp,
ras=> image/x-cmu-raster,
pnm=> image/x-portable-anymap,
pbm=> image/x-portable-bitmap,
pgm=> image/x-portable-graymap,
ppm=> image/x-portable-pixmap,
rgb=> image/x-rgb,
xbm=> image/x-xbitmap,
xpm=> image/x-xpixmap,
xwd=> image/x-xwindowdump,
igs=> model/iges,
iges=> model/iges,
msh=> model/mesh,
mesh=> model/mesh,
silo=> model/mesh,
wrl=> model/vrml,
vrml=> model/vrml,
css=> text/css,
html=> text/html,
htm=> text/html,
asc=> text/plain,
txt=> text/plain,
rtx=> text/richtext,
rtf=> text/rtf,
sgml=> text/sgml,
sgm=> text/sgml,
tsv=> text/tab-separated-values,
wml=> text/vnd.wap.wml,
wmls=> text/vnd.wap.wmlscript,
etx=> text/x-setext,
xsl=> text/xml,
xml=> text/xml,
mpeg=> video/mpeg,
mpg=> video/mpeg,
mpe=> video/mpeg,
qt=> video/quicktime,
mov=> video/quicktime,
mxu=> video/vnd.mpegurl,
avi=> video/x-msvideo,
movie=> video/x-sgi-movie,
ice=> x-conference/x-cooltalk

Posté le : 5/11 9:11
Crer un fichier PDF de la contribution Imprimer


Re: Protection d'un site par iLuc
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
Ouaissssss chouette, Iluc est parmi nous.....

Merci pour cet honneur.

A+++

Posté le : 3/25 19:13
Crer un fichier PDF de la contribution Imprimer


Interdire le hotlinking
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
Quoi de plus pénible que de retrouver vos images présentes sur d'autres sites que le vôtre avec l'insertion de vos liens.

Beaucoup trop d'internautes s'autorisent cette pratique détestable et abusive.

Cela s'appelle un hotlinking d'image.

Les internautes se servent alors de l'adresse du fichier publié sur votre site, souvent une image, pour l'afficher sur un autre site, blog,

forum, page perso, etc...

Ils utilisent ce procédé font l'économie de bande passante sur leur serveur en se servant de la vôtre, ce qui est

inadmissible et peut vous poser un risque de dépassement du quota mensuel si votre bp est restreinte pour votre hébergeur !

Voici un code qui vous permettra de contrer le copier-coller d'images et soulagera la bande passante de votre site qui n'a nul besoin d'être utilisée pour d'autres sites que le vôtre.

La procédure
1) Créez un fichier .htaccess
2) Insérez ce code (qu'il vous faudra modifier)


<IfModule mod_rewrite.c>
      
RewriteEngine on
      RewriteCond 
%{HTTP_REFERER} !^$
      
RewriteCond %{HTTP_REFERER} !^http://(www.)?votre_site.com/.*$ [NC]
      
RewriteRule .(gif|jpe?g|png|bmp)$ - [F]
      </
ifModule>


3) Modifiez votre_site\.com par le nom et l'extension du vôtre.
4) Insérez un fichier.htaccess à la racine de votre site en utilisant votre ftp.
5) Testez-le en insérant une de vos images sur un autre site, vous verrez le résultat.

6) Petite amélioration : vous pouvez faire apparaitre une image que celles "volées". Comme par exemple un panneau d'interdiction où n'importe quelle image à votre convenance.
Modifier alors


RewriteRule 
.(gif|jpe?g|png|bmp)$ - [F]


Par ceci:


RewriteRule 
.*.(gif|jpe?g|png|bmp)$ http://url_de_votre_image.jpg [R,NC]


Toutes les images prises sur votre site seront

remplacées par celle que vous aurait choisie.

Voici une protection simple à mettre en place et loin d'être inutile. N'hésitez pas à l'utiliser. je souris

Info : Ce code ne permet pas l'interdiction du téléchargement de vos images, d'ailleurs il n'en existe aucun fiable

pour éviter cela...

Origine de ce sujet

Posté le : 3/23 4:31
Crer un fichier PDF de la contribution Imprimer


Redirect_message avec jgrowl.js de CPascal
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
CPascal a écrit:
bon nous y voila ! voici ce que j'ai réussi a faire et comment je m'y suis pris:

1) ouvrir le fichier .../install/include/makedata.php ajouter:


//Ajout CPascal - 8 février 2010 - message de redirection en javascript    
//message de redirection en javascript ou non 
$dbm->insert('config'" VALUES (97, 0, 1, 'java_message_redirection', '_MD_AM_JAVAREDIRECTION', '1', '_MD_AM_JAVAREDIRECTIONINFO', 'yesno', 'int', 12)");


2) ouvrir le fichier .../modules/sytem/language/french/admin/preferences.php ajouter:


//Ajout CPascal - 8 février 2010 - message de redirection en javascript dans le thème du site et l'administration
define("_MD_AM_JAVAREDIRECTION""Utilisez la redirection javascript");
define("_MD_AM_JAVAREDIRECTIONINFO""affiche les messages de confirmation, connexion et autres messages dans une boite en javascript sur le site et dans l'administration");


3) ouvrir le fichier .../include/functions.php
rechercher la fonction: function redirect_header (etc...
modifier comme ceci en bas de cette fonction:


$url 
preg_replace("/&amp;/i"'&'htmlspecialchars($urlENT_QUOTES));
$xoopsTpl->assign('url'$url);
$message trim($message) != '' $message _TAKINGBACK;
$xoopsTpl->assign('message'$message);
$xoopsTpl->assign('lang_ifnotreload'sprintf(_IFNOTRELOAD$url));
//modif CPascal - 8 février 2010 - message de redirection en javascript
//$xoopsTpl->display('db:system_redirect.html');
//exit();
//Ajout CPascal - 8 février 2010 - message de redirection en javascript dans le thème du site
if (!headers_sent() && $xoopsConfig['java_message_redirection']==1) {
$_SESSION['redirect_message'] = $message;
header"Location: ".preg_replace("/[&]amp;/i",'&',$url) ) ;
exit();
} else {
$xoopsTpl->display('db:system_redirect.html');
exit();
}
//fin de l'ajout


4) ouvrir le fichier www/xoops/header.php ajouter de cette façon:

// Temporary solution for start page redirection
if (defined("XOOPS_STARTPAGE_REDIRECTED")) {
$params $content $tpl $repeat null;
$xoTheme->headContent($params"<base href='" XOOPS_URL '/modules/' $xoopsConfig['startpage'] . "/' />"$tpl$repeat);
}
    
//Ajout CPascal - 8 février 2010 - message de redirection en javascript dans l'administration et théme modification de la fonction: redirect_header dans le fichier .../include/function.php
$xoTheme->addScript('browse.php?Frameworks/jquery/jquery.js');    
if(! empty( 
$_SESSION['redirect_message'] )){
$xoTheme->addScript('browse.php?Frameworks/jquery/jgrowl.js');
//pour mode debug dans firefox firebug    
$xoTheme->addScript('', array('type' => 'text/javascript'), '
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}
//options réglage
(function($){
$(document).ready(function(){
                $.jGrowl("'
.$_SESSION['redirect_message'].'", {  life:5000, position: "center", speed: "slow", header: "'.$xoopsConfig['sitename'].'" });
});
})(jQuery);
'
);
unset( 
$_SESSION['redirect_message'] ) ;
}
//fin de l'ajout


Petite précision: vous pouvez modifiez le temps d'affichage de la boite java => life:5000
position du texte => position: "center"
vitesse => speed: "slow"
texte dans header => header: "'.$xoopsConfig['sitename'].'"
ou supprimez cette fonction header pour rien mettre ou ajoutez le texte que vous souhaitez exemple: message

et

assurez-vous que le fichier jquery.js est bien appeler dans ce fichier exemple:

$xoTheme
->addScript('browse.php?Frameworks/jquery/jquery.js');



5) ouvrir le fichier de vos thèmes site et administration
prenon par exemple pour l'administration le thème oxygen
ouvrir le fichier ../modules/system/glass/gui/oxygen/oxygen.php ajouter cette portion de code dans la fonction: function header()


$xoTheme
->addScript('browse.php?Frameworks/jquery/jquery.js');
$xoTheme->addStylesheet('modules/system/class/gui/default/css/style.css');

//Ajout CPascal - 8 février 2010 - message de redirection en javascript dans l'administration modification de la fonction: redirect_header dans le fichier .../include/function.php
if(! empty( $_SESSION['redirect_message'] )){
        
$xoTheme->addScript('browse.php?Frameworks/jquery/jgrowl.js');
//pour mode debug dans firebug de firefox    
$xoTheme->addScript('', array('type' => 'text/javascript'), '
if (!window.console || !console.firebug) {
var names = ["log", "debug", "info", "warn", "error", "assert", "dir", "dirxml", "group", "groupEnd", "time", "timeEnd", "count", "trace", "profile", "profileEnd"];
window.console = {};
            
for (var i = 0; i < names.length; ++i) window.console[names[i]] = function() {};
}

(function($){
$(document).ready(function(){
                $.jGrowl("'
.$_SESSION['redirect_message'].'", {  life:3000 , position: "center", speed: "slow" });
});
})(jQuery);
'
);
unset( 
$_SESSION['redirect_message'] ) ;
}
//fin de l'ajout - message de redirection en javascript dans l'administration


Petite précision: vous pouvez modifiez le temps d'affichage de la boite java => life:3000
position du texte => position: "center"
vitesse => speed: "slow"

et

assurez-vous que le fichier jquery.js est bien appeler dans ce fichier exemple:

$xoTheme
->addScript('browse.php?Frameworks/jquery/jquery.js');


6) ouvrir les fichiers CSS des thèmes que vous utilisez:

dans l'administration avec comme exemple le thème oxygen
ouvrir le fichier ../modules/system/glass/gui/oxygen/css/style.css ajouter cette portion de code:


/*** pages de redirection en javascript ***/
div.jGrowl {padding1emz-index9999;}
/** positions de la boite sur la page **/
body div.jGrowl {positionfixed;}
body div.jGrowl.top-right {right25%; left25%; top15%;}
body div.jGrowl.bottom-left {left:0bottom:0;}
body div.jGrowl.bottom-right {right:0bottom:0;}
body div.jGrowl.center {top:0left:0;}
body div.jGrowl.top-left {left:0top:0;}
/*** style de la boite ***/
div.center div.jGrowl-notificationdiv.center div.jGrowl-closer {margin-leftautomargin-rightauto;}
div.jGrowl div.jGrowl-notificationdiv.jGrowl div.jGrowl-closer {
background:             #FBE3E4;
color:                  #DF3066;
width:                  100%;    
padding:        .5em;
margin-top:        .5em;
margin-bottom:        .5em;
font-family:        TahomaArialHelveticasans-serif;
font-size:        1.2em;
text-align:        center;
border:                 1px solid #FBC2C4;
display:         none;
-
moz-border-radius:     5px;
-
webkit-border-radius:    5px;
}
div.jGrowl div.jGrowl-notification {min-height40px;}
div.jGrowl div.jGrowl-notification div.header {font-weightboldfont-size10px;}
/** croix de fermeture **/
div.jGrowl div.jGrowl-notification div.close {floatrightfont-weightboldfont-size12pxcursorpointer;}
div.jGrowl div.jGrowl-closer {height15pxpadding-top4pxpadding-bottom4pxcursorpointerfont-size11pxfont-weightboldtext-aligncenter;}


7) ouvrir le fichier style.css de votre thème de site utiliser (.../themes/votre thème/css/style.css ajoutez le même code css moi personnellement j'ai mis ce code


/** positions de la boite sur la page **/
body div.jGrowl {positionfixed;}
body div.jGrowl.top-right {right35%; left35%; top15%;}
body div.jGrowl.bottom-left {left:0bottom:0;}
body div.jGrowl.bottom-right {right:0bottom:0;}
body div.jGrowl.center {top:0left:0;}
body div.jGrowl.top-left {left:0top:0;}
/*** style de la boite ***/
div.center div.jGrowl-notificationdiv.center div.jGrowl-closer {margin-leftautomargin-rightauto;}
div.jGrowl div.jGrowl-notificationdiv.jGrowl div.jGrowl-closer {
background:             #000;
color:                  #fff;
width:            100%;
padding:        .2em;
margin-top:        .5em;
margin-bottom:        .5em;
font-family:            "Trebuchet MS",Arial,Helvetica,sans-serif;
font-size:        .9em;
text-align:        center;
border:                 1px solid #7E7648;
display:        none;
-
moz-border-radius:     5px;
-
webkit-border-radius:    5px;
}
div.jGrowl div.jGrowl-notification {min-height40px;}
div.jGrowl div.jGrowl-notification div.header {font-weightboldfont-size10px;}
/** croix de fermeture **/
div.jGrowl div.jGrowl-notification div.close {floatrightfont-weightboldfont-size12pxcursorpointer;}
div.jGrowl div.jGrowl-closer {height15pxpadding-top4pxpadding-bottom4pxcursorpointerfont-size11pxfont-weightboldtext-aligncenter;}


évidement modifier couleurs, position etc.. selon vos goûts et thème utilisez aussi bien dans l'administration que dans votre thème site.

Maintenant il vous reste a ajouter le javascript jGrowl.js (version 1.2.4) et jquery.js dans le dossier: ../xoops_lib/Frameworks/jquery/

javascript jGrowl version 1.2.4


/**
 * jGrowl 1.2.4
 *
 * jGrowl is a jQuery plugin implementing unobtrusive userland notifications.  These 
 * notifications function similarly to the Growl Framework available for
 * Mac OS X (http://growl.info).
 *
 
 */
(function($) {

    
/** jGrowl Wrapper - Establish a base jGrowl Container for compatibility with older releases. **/
    
$.jGrowl = function( ) {
        
// To maintain compatibility with older version that only supported one instance we'll create the base container.
        
if ( $('#jGrowl').size() == 
            $(
'<div id="jGrowl"></div>').addClass($.jGrowl.defaults.position).appendTo('body');

        
// Create a notification on the container.
        
$('#jGrowl').jGrowl(m,o);
    };


    
/** Raise jGrowl Notification on a jGrowl Container **/
    
$.fn.jGrowl = function( ) {
        if ( $.
isFunction(this.each) ) {
            var 
args arguments;

            return 
this.each(function() {
                var 
self this;

                
/** Create a jGrowl Instance on the Container if it does not exist **/
                
if ( $(this).data('jGrowl.instance') == undefined ) {
                    $(
this).data('jGrowl.instance', $.extend( new $.fn.jGrowl(), { notifications: [], elementnullintervalnull } ));
                    $(
this).data('jGrowl.instance').startupthis );
                }

                
/** Optionally call jGrowl instance methods, or just raise a normal notification **/
                
if ( $.isFunction($(this).data('jGrowl.instance')[m]) ) {
                    $(
this).data('jGrowl.instance')[m].apply( $(this).data('jGrowl.instance') , $.makeArray(args).slice(1) );
                } else {
                    $(
this).data('jGrowl.instance').create);
                }
            });
        };
    };

    $.
extend( $.fn.jGrowl.prototype , {

        
/** Default JGrowl Settings **/
        
defaults: {
            
pool:             0,
            
header:         '',
            
group:             '',
            
sticky:         false,
            
position:         'top-right'// Is this still needed?
            
glue:             'after',
            
theme:             'default',
            
corners:         '10px',
            
check:             250,
            
life:             3000,
            
speed:             'normal',
            
easing:         'swing',
            
closer:         true,
            
closeTemplate'&times;',
            
closerTemplate'<div>[ close all ]</div>',
            
log:             function(e,m,o) {},
            
beforeOpen:     function(e,m,o) {},
            
open:             function(e,m,o) {},
            
beforeClose:     function(e,m,o) {},
            
close:             function(e,m,o) {},
            
animateOpen:     {
                
opacity:     'show'
            
},
            
animateClose:     {
                
opacity:     'hide'
            
}
        },
        
        
notifications: [],
        
        
/** jGrowl Container Node **/
        
element:     null,
    
        
/** Interval Function **/
        
interval:   null,
        
        
/** Create a Notification **/
        
create:     function( message ) {
            var 
= $.extend({}, this.defaultso);

            
this.notifications.push({ messagemessage options});
            
            
o.log.applythis.element , [this.element,message,o] );
        },
        
        
render:         function( notification ) {
            var 
self this;
            var 
message notification.message;
            var 
notification.options;

            var 
notification = $(
                
'<div class="jGrowl-notification ui-state-highlight ui-corner-all' 
                ((
o.group != undefined && o.group != '') ? ' ' o.group '') + '">' +
                
'<div class="close">' o.closeTemplate '</div>' +
                
'<div class="header">' o.header '</div>' +
                
'<div class="message">' message '</div></div>'
            
).data("jGrowl"o).addClass(o.theme).children('div.close').bind("click.jGrowl", function() {
                $(
this).parent().trigger('jGrowl.close');
            }).
parent();


            
/** Notification Actions **/
            
$(notification).bind("mouseover.jGrowl", function() {
                $(
'div.jGrowl-notification'self.element).data("jGrowl.pause"true);
            }).
bind("mouseout.jGrowl", function() {
                $(
'div.jGrowl-notification'self.element).data("jGrowl.pause"false);
            }).
bind('jGrowl.beforeOpen', function() {
                if ( 
o.beforeOpen.applynotification , [notification,message,o,self.element] ) != false ) {
                    $(
this).trigger('jGrowl.open');
                }
            }).
bind('jGrowl.open', function() {
                if ( 
o.open.applynotification , [notification,message,o,self.element] ) != false ) {
                    if ( 
o.glue == 'after' ) {
                        $(
'div.jGrowl-notification:last'self.element).after(notification);
                    } else {
                        $(
'div.jGrowl-notification:first'self.element).before(notification);
                    }
                    
                    $(
this).animate(o.animateOpeno.speedo.easing, function() {
                        
// Fixes some anti-aliasing issues with IE filters.
                        
if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === || parseInt($(this).css('opacity'), 10) === 0))
                            
this.style.removeAttribute('filter');

                        $(
this).data("jGrowl").created = new Date();
                    });
                }
            }).
bind('jGrowl.beforeClose', function() {
                if ( 
o.beforeClose.applynotification , [notification,message,o,self.element] ) != false )
                    $(
this).trigger('jGrowl.close');
            }).
bind('jGrowl.close', function() {
                
// Pause the notification, lest during the course of animation another close event gets called.
                
$(this).data('jGrowl.pause'true);
                $(
this).animate(o.animateCloseo.speedo.easing, function() {
                    $(
this).remove();
                    var 
close o.close.applynotification , [notification,message,o,self.element] );

                    if ( $.
isFunction(close) )
                        
close.applynotification , [notification,message,o,self.element] );
                });
            }).
trigger('jGrowl.beforeOpen');
        
            
/** Optional Corners Plugin **/
            
if ( $.fn.corner != undefined ) $(notification).cornero.corners );

            
/** Add a Global Closer if more than one notification exists **/
            
if ( $('div.jGrowl-notification:parent'self.element).size() > && 
                 $(
'div.jGrowl-closer'self.element).size() == && this.defaults.closer != false ) {
                $(
this.defaults.closerTemplate).addClass('jGrowl-closer ui-state-highlight ui-corner-all').addClass(this.defaults.theme)
                    .
appendTo(self.element).animate(this.defaults.animateOpenthis.defaults.speedthis.defaults.easing)
                    .
bind("click.jGrowl", function() {
                        $(
this).siblings().children('div.close').trigger("click.jGrowl");

                        if ( $.
isFunctionself.defaults.closer ) ) {
                            
self.defaults.closer.apply( $(this).parent()[0] , [$(this).parent()[0]] );
                        }
                    });
            };
        },

        
/** Update the jGrowl Container, removing old jGrowl notifications **/
        
update:     function() {
            $(
this.element).find('div.jGrowl-notification:parent').each( function() {
                if ( $(
this).data("jGrowl") != undefined && $(this).data("jGrowl").created != undefined && 
                     ($(
this).data("jGrowl").created.getTime() + $(this).data("jGrowl").life)  < (new Date()).getTime() && 
                     $(
this).data("jGrowl").sticky != true && 
                     ($(
this).data("jGrowl.pause") == undefined || $(this).data("jGrowl.pause") != true) ) {

                    
// Pause the notification, lest during the course of animation another close event gets called.
                    
$(this).trigger('jGrowl.beforeClose');
                }
            });

            if ( 
this.notifications.length && 
                 (
this.defaults.pool == || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) )
                
this.renderthis.notifications.shift() );

            if ( $(
this.element).find('div.jGrowl-notification:parent').size() < ) {
                $(
this.element).find('div.jGrowl-closer').animate(this.defaults.animateClosethis.defaults.speedthis.defaults.easing, function() {
                    $(
this).remove();
                });
            }
        },

        
/** Setup the jGrowl Notification Container **/
        
startup:    function(e) {
            
this.element = $(e).addClass('jGrowl').append('<div class="jGrowl-notification"></div>');
            
this.interval setInterval( function() { 
                $(
e).data('jGrowl.instance').update(); 
            }, 
this.defaults.check);
            
            if ($.
browser.msie && parseInt($.browser.version) < && !window["XMLHttpRequest"]) {
                $(
this.element).addClass('ie6');
            }
        },

        
/** Shutdown jGrowl, removing it and clearing the interval **/
        
shutdown:   function() {
            $(
this.element).removeClass('jGrowl').find('div.jGrowl-notification').remove();
            
clearIntervalthis.interval );
        },
        
        
close:     function() {
            $(
this.element).find('div.jGrowl-notification').each(function(){
                $(
this).trigger('jGrowl.beforeClose');
            });
        }
    });
    
    
/** Reference the Defaults Object for compatibility with older versions of jGrowl **/
    
$.jGrowl.defaults = $.fn.jGrowl.prototype.defaults;

})(
jQuery);


et j'utilise jQuery version 1.4.1 ici

Voila je pense avoir rien oublier si c'est le cas n'hésitez pas, seul petit souci quand ont ce déconnecte du site le message du style: "vous êtes maintenant déconnectez du site" n'apparaît pas pourquoi ? j'espère qu'un programmateur PHP au grand cœur passera par la !

ATTENTION ! pour les débutants ajouter uniquement les portions de code entre l'indication //Ajout CPascal et //fin de l'ajout j'ai mis un peut de code xoops pour vous aidez a vous repérez sur le fichier ouvert

il serait mieux de diviser cette option en deux mode d'option préférence du style:

option 1
choix d'utilisez la redirection en java sur le site
$xoopsConfig['java_message_redirection_site']==1)

option 2
choix d'utilisez la redirection en java dans l'administration
$xoopsConfig['java_message_redirection_admin']==1)


concernant la deuxième modifs (Mr burning) je le post sur un nouveau sujet afin d'éviter les confusions ici
==========================
voici ce que cela peut donner:

dans l'administration:
Option supplémentaire dans preference
Open in new window


ce qui donne sa si activer
Open in new window


au lieu de sa en mode normal (désactivé)

Open in new window


la même chose sur le site la page de redirection ne s'affiche pas c'est une boite javascript qui s'affiche en restant sur la page en cours dans la plupart des cas
après c'est une histoire de goût

Posté le : 2/27 21:58
Crer un fichier PDF de la contribution Imprimer


Affichage des descriptions en javascript de CPascal
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
CPascal a écrit:
bonjour

pour donner suite a ce post voici la deuxième modif: affichage des descriptions des modules et system en javascript ce qui permet d'avoir a mon sens des pages moins longues tout en ayant la possibilité de mieux détailler les descriptions/explications des modules et du module system

1) ouvrir le fichier .../modules/system/admin/preferences/mains.php

modifiez ver la ligne 108 comme ceci


$config_handler 
=& xoops_gethandler('config');
$criteria = new CriteriaCompo();
$criteria->add(new Criteria('conf_modid'0));
$criteria->add(new Criteria('conf_catid'$confcat_id));
$config $config_handler->getConfigs($criteria);
$confcount count($config);
for (
$i 0$i $confcount$i++) {

//descriptions du système dans administration        
//modif CPascal - 12 février 2010     
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<br /><br /><span style="font-weight:normal;">' . constant($config[$i]->getVar('conf_desc')) . '</span>';


//ajout CPascal - ajout javascript dans les descriptions des modules et du système dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> ) 
$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')) . '<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext">' constant($config[$i]->getVar('conf_desc')) . '</span>';            
//fin de l'ajout            


switch ($config[$i]->getVar('conf_formtype')) {
case 
'textarea':


puis faite la même chose vers la ligne 302 comme ceci


$form
->addElement(new XoopsFormHidden('redirect'$myts->htmlspecialchars($_GET["redirect"]))); } elseif ($module->getInfo('adminindex')) {            $form->addElement(new XoopsFormHidden('redirect'XOOPS_URL '/modules/' $module->getVar('dirname') . '/' $module->getInfo('adminindex')));
        }
for (
$i 0$i $count$i++) {

//descriptions des modules dans administration        
//modif CPascal - 12 février 2010         
//$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')).'<br /><br /><span style="font-weight:normal;">'.constant($config[$i]->getVar('conf_desc')).'</span>';

//ajout CPascal - ajout javascript dans les descriptions des modules dans administration: (<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext"> )           
$title = (!defined($config[$i]->getVar('conf_desc')) || constant($config[$i]->getVar('conf_desc')) == '') ? constant($config[$i]->getVar('conf_title')) : constant($config[$i]->getVar('conf_title')).'<img class="helptip" src="./images/view_off.png" alt="Vew help text" /><span class="helptext">'.constant($config[$i]->getVar('conf_desc')).'</span>';
//fin de l'ajout            

switch ($config[$i]->getVar('conf_formtype')) {
case 
'textarea':



ATTENTION ! pour les débutants ajouter uniquement les portions de code entre l'indication //Ajout CPascal et //fin de l'ajout j'ai mis un peut de code xoops pour vous aidez a vous repérez sur le fichier ouvert

2) ouvrir le fichier .../modules/system/class/gui.php
ajouter dans la fonction: function header() cette portion de code java comme ceci:


class XoopsSystemGui
{
//modèle template
    
var $template;
//navigation
    
var $navigation;
//nom de dossier
    
var $foldername;
//pour le thème
    
var $xoTheme;
//ajout CPascal - 12 février 2010 - javascript    
    
var $js '';
//fin
    
function header()
    {
global 
$xoops$xoopsConfig$xoopsModule$xoopsModuleConfig$xoopsUser$xoopsOption$xoTheme$js$xoopsTpl;
        
ob_start();

        
xoops_loadLanguage('admin''system');
        
xoops_loadLanguage('cpanel''system');
        
xoops_loadLanguage('modinfo''system');

        
$xoopsLogger =& XoopsLogger::getInstance();
        
$xoopsLogger->stopTime('Module init');
        
$xoopsLogger->startTime('XOOPS output init');

if (!
headers_sent()) {
header('Content-Type:text/html; charset=' _CHARSET);
header('Expires: Mon, 26 Jul 1997 05:00:00 GMT');
header("Last-Modified: " gmdate("D, d M Y H:i:s") . " GMT");
header('Cache-Control: no-store, no-cache, must-revalidate');
header("Cache-Control: post-check=0, pre-check=0"false);
header("Pragma: no-cache");
}

require_once 
XOOPS_ROOT_PATH '/class/template.php';
require_once 
XOOPS_ROOT_PATH '/class/theme.php';

$adminThemeFactory = new xos_opal_AdminThemeFactory();
$this->xoTheme =& $adminThemeFactory->createInstance(array(
'folderName' => $this->foldername,
'themesPath' => 'modules/system/class/gui'));

$this->xoTheme->loadLocalization('admin');
$this->template =& $this->xoTheme->template;

$GLOBALS['xoTheme'] =& $this->xoTheme;
$GLOBALS['adminTpl'] =& $this->xoTheme->template;

$xoopsLogger->stopTime('XOOPS output init');
$xoopsLogger->startTime('Module display');

$xoopsPreload =& XoopsPreload::getInstance();
        
$xoopsPreload->triggerEvent('system.class.gui.header');
//ajout CPascal - 12 février 2010 - javascript pour les descriptions des modules et du système
//modif CPascal: modification du code: $("img.helptip").hover(function() remplacer par ce code: $("img.helptip").click(function() pour les liens
// dans les descriptions
   
echo $js '<script type="text/javascript">
   $(function() {
   $("span.helptext").hide();
   $("img.helptip").click(function() {
   $(this).nextAll().each( function() {
   if ($(this).filter("span.helptext").is(":visible")) {
   $(this).filter("span.helptext").toggle("slow");
   return false;
   } else {
   $("span.helptext").fadeOut("slow");
   }
   if ($(this).filter("img.helptip").length) {
   return false;
   }
   $(this).filter("span.helptext").toggle("slow");
   });
   });
   });
   </script>'
;        
//fin        
    
}


3) ouvrir le fichiers CSS du thème administration que vous utilisez:

prenons comme exemple le thème oxygen
ouvrir le fichier ../modules/system/glass/gui/oxygen/css/style.css ajouter cette portion de code css:


/* ==================== info bulle descriptions des modules et du système ==================== */
/*** image info dans les description ***/
.caption-text img {floatrightpadding-top2px;cursorpointer;}
/*** boite javascript ***/
span.helptext {
    
positionabsolute;
    
right65%;
    
z-index9000;
    
background-color#CCCCCC;
    
outline1px solid #CCCCCC;
    
border2px solid #FFFFFF;
    
padding10px 15px;
    
max-width25%;
    
displaynone;
    
color#fff;
    
text-alignjustify;
    
font-size1em;
    
font-weightnormal;
    -
moz-border-radius5px;
    -
webkit-border-radius5px;
}
span.helptext a {color#666666; font-weight: normal; background-color: transparent;}
span.helptext a:hover {text-decorationunderlinecolor#fff; font-weight: normal; background-color: transparent;}


évidement modifier couleurs, position etc.. selon vos goûts et thème utilisez dans l'administration

et enfin ajouter une image nommée view_off.png dans le fichier: ../modules/system/images

celle çi par exemple:
Open in new window


ce qui vous donnera sa:

Open in new window


et sa au passage de la souri sur l'image view_off.png

Open in new window




voila je pense avoir rien oublier n'hésitez pas si c'est la cas


Attention: éditer le 15 février pour apporter correction en cas de lien dans les descriptions.

Posté le : 2/27 21:33
Crer un fichier PDF de la contribution Imprimer


Rendre compatible le module Ghost avec morphogenesis
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
pour tous ceux qui veulent utiliser ghost avec les ancien et nouveaux thèmes basés sur morphogenesis.

celetron a écrit:
En modifiant le fichier index.php de ghost pour réussir à faire marcher les blocs!

Remplacement de:

if ( is_object($xoopsTpl) ) {

$xoopsTpl->assign'xoBlocks' );  //=> tous les blocs - All blocks//$xoopsTpl->append( 'xoBlocks', array( 'canvas_top' => 0 ), true );

//$xoopsTpl->append( 'xoBlocks', array( 'canvas_right' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'canvas_left' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_topleft' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_topcenter' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_topright' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_bottomleft' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_bottomcenter' => 0 ), true );
//$xoopsTpl->append( 'xoBlocks', array( 'page_bottomright' => 0 ), true );    
//$xoopsTpl->append( 'xoBlocks', array( 'canvas_bottom ' => 0 ), true );
}


Par:

$xoopsTpl
->assign('xoops_pagetitle'$pagetitle);//this will only work if your theme is using this smarty variables
$xoopsTpl->assign'xoops_showlblock'1); //set to 0 to hide left blocks
$xoopsTpl->assign'xoops_showrblock'1); //set to 0 to hide right blocks
$xoopsTpl->assign'xoops_showcblock'1); //set to 0 to hide center blocks)


Posté le : 2/22 2:58
Crer un fichier PDF de la contribution Imprimer


convertir un site en UTF8 - PHP/MySQL
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
(Ce travail est une copie provenant de ce site Je remercie leurs auteurs)

Alors qu'il y a quelques années l'UTF8 naissait
, réconcilliant le monde entier, on aurait pu penser qu'il aurait
immédiatement trouvé sa place. Si aujourd'hui créer un projet en UTF-8
est bien loin d'être systématique, il ne s'agit pas forcément d'un
manque de volonté, mais plutôt d'une difficulté de mise en oeuvre,
souvent déconcertante. Le problème d'encodage est récurrent, mais je
vais essayer dans cet article de vous prouver que la mise en oeuvre de
l'UTF-8 dans vos projets peut se faire très rapidement. Voici donc les
grandes étapes pour migrer votre application web en UTF8, et pourquoi
pas conquérir de lointains marchés !

Requêtes HTTP


Tout d'abord quand un visiteur arrive sur votre site, son navigateur
doit savoir qu'il a affaire à de l'UTF8, alors voici la marche à
suivre.


  • Par ordre de priorité pour le navigateur :

  • Fixer le parametre charset dans les requêtes HTTP (cf W3C)
    • dans apache remplacez AddDefaultCharset ISO-8859-1 par AddDefaultCharset UTF-8, (dans httpd.conf sinon rajoutez la ligne dans le .htaccess)
    • ou/et dans PHP avec header('Content-Type: text/html; charset=utf-8');
  • Mettre après le dans votre fichier HTML le code suivant (ce code est connu de tous)




MySQL


  • Ensuite, il faut premièrement changer les interclassements
    • de la base
      • ALTER DATABASE nomBase CHARACTER SET UTF8
    • des tables
      • ALTER TABLE nomTable CHARACTER SET UTF8
    • des colonnes
      • ALTER TABLE nomTable CONVERT TO CHARACTER SET UTF8
      • ceci changera toutes les colonnes de la table et convertira les
        données. Si vous aviez déjà mis de l’UTF8 dans une colonne avant d’en
        changer l’encodage il est encore possible de rétablir la cohérence des
        données :
        • ALTER TABLE nomTable CHANGE nomColonne nomColonne BLOB;


          ALTER TABLE
          nomTable CHANGE nomColonne nomColonne TEXT CHARACTER SET UTF8;
  • Puis il faut prévenir MySQL que vos interractions se feront en UTF8 en envoyant à chaque connexion :
  • SET NAMES UTF8




Editez en UTF8




Pour cela il faut configurer votre éditeur pour que vos fichiers soient
en UTF8 (c’est nécessaire uniquement dans le cas de fichiers avec
données sensibles - cad avec accents ou autres caractères non ASCII).


Veillez à placer l’encodage en UTF8 sans BOM car sinon le fichier contiendra un octet d’entête et PHP ne pourra plus envoyer de header ou de session (bug PHP#22108).



Encodage : convertir un site en UTF8 - PHP/MySQL

Developpez en PHP

Attention, une fois que votre site est en UTF-8 il va falloir changer quelques habitudes de développement :
  • jetez un coup d’oeil à l’extension Mbstring, par exemple pour strlen, utilisez mb_strlen
  • Comme l'a dit irnine94 dans son commentaire, faites bien
    attention car certaines fonction prennent en paramètre un charset qui
    par défaut est l'ISO vous devrez donc passer en paramètre UTF-8, comme
    par exemple la fonction htmlentities




Bonne chance à vous, et gardez à l'esprit que l'idée générale est d'avoir de l'UTF8 à tous les endroits de votre application.

Posté le : 2/21 19:09
Crer un fichier PDF de la contribution Imprimer


Charset iso-8859-1, iso-8859-15, utf-8, le problème du Charset
Webmestre
Inscrit:
2007/6/28 19:09
Messages: 262
Hors Ligne
(Ce document est une copie extraite de ce site, je remercie leurs auteurs)
Si il y a bien un problème qui peut virer au casse-tête chinois,
c’est bien celui de l’encodage de caractère dans un fichier, une page
web ou tout document que vous diffusez et qui se révèle truffé
d’erreurs d’encodage.

Arrête ton Charset en dur…

Comment diagnostiquer le problème ? Un symptôme simple, vous voyez

apparaître des signes cabalistiques dans vos pages html par exemple. Je
vous livre in extenso le diagnostic de
http://electron-libre.fassnet.net/utf8.php qui détaille brièvement les
moyens de déterminer le bourbier numérique dans lequel vous venez de
sauter à touches jointes !

Il donne les symptômes et les soins simples de première urgence.

Reconnaissance rapide des problèmes d’affichage UTF-8 ISO


Cas N°1

Si la page affiche des caractères de ce type : “é”, “î”, “Ô, …

=> Les données ont été enregistrées au format UTF-8, et le navigateur les affiche en pensant avoir affaire à de l’ISO.

Cas N°2

Si la page affiche des caractères de ce type : “�”

=> Les données ont été enregistrées au format ISO, et le navigateur les affiche en pensant avoir affaire à de l’UTF-8.

Si les données sont codées en dur dans la page, voir l’encodage de

l’éditeur de texte, le header apache et la balise meta “charset”.

Si les données proviennent de la base, vérifier le format de stockage
et les méthodes de lecture et d’insertion (SET NAMES et charset).

Si les données proviennent de l’extérieur (web services, rss, …),
penser à convertir les chaînes de caractère (utf8_encode-decode et
fonctions du module iconv).

http://electron-libre.fassnet.net/utf8.php

Le mal est déjà fait… Que puis-je faire ?

Il arrive notamment dans le cas d’une BDD que la corruption ait eu

lieu. Vous vous retrouvez par exemple avec une BDD codé à l’origine en
utf-8 mais dont l’unique sauvegarde que vous possédez est un “dump” (un
fichier .sql) fait et ouvert sur une machine en iso-8859-1, un windows
par exemple.


Le cas de la BDD corrompue

Si vous popularisez à nouveau ce “dump” (.sql) dans votre BDD et que

vos pages continuent de se charger en UTF-8, vous êtes alors dans le Cas N°2 décrit plus haut.

Si vous décidez de cautériser le problème directement dans le client

MySQL via le client SSH, dans putty par exemple, n’oubliez de changer
les spécifications de “translation” en sélectionnant UTF-8 afin de
taper vos requêtes SQl en utf-8. Vous pourrez alors passé allègrement
des requêtes, voir même des copier-coller, depuis votre poste ISO sur
le serveur en UTF-8.

Changer les propriétés de traduction dans Putty


Pour télécharger Putty, vous pouvez vous rendre à cette adresse

http://www.chiark.greenend.org.uk/~sgtatham/putty/download.


Le cas de XML pour flash


Un cas qui est rarement évoqué, c’est le xml chargé dans flash, bien qu’il s’agisse rigoureusement de problèmes similaires.


Pour éviter parfois des problèmes à répétition, vous pouvez vous
rabattre sur l’encodage hexadécimal des caractères accentués… ainsi
donc de créer des xml pour vos applications flash sans erreur…



ç s'écrit ç
è s'écrit è
é s'écrit é
ê s'écrit ê


Le plus sur quelque soit le “charset” que vous définissez c’est de
remplacer les caractères accentués par leurs équivalents hexadécimaux.


	 version="1.0" encoding="UTF-8"?>
>
id="one">Cette été je pars pour apprendre le français à Paris>
id="two">Les accents ont été mon pire cauchemar>
>

	 version="1.0" encoding="UTF-8"?>
>
id="one">Cette été je pars pour apprendre le français å Paris>
id="two">Les accents ont été mon pire cauchemar>
>
Il existe des outils de traduction en ligne qui vous donneront les équivalents.


http://rishida.net/scripts/uniview/conversion.php


Enfin, vous pouvez toujours vous référer à la sainte bible du charset.

http://www.w3.org/International/O-charset.fr.php


Le doctype


Disons que pour résumer, le dilemme se pose dans le choix du doctype entre “transitional” et “strict”.
Il est certain que si vous choisissez de publier avec un doctype
strict, l’obtention de la validation par le validator W3C va se montre
plus délicat.

Néanmoins, cela n’est pas impossible que vous puissiez valider ainsi
vous pourrez affubler vos pages du logo qui atteste de la validité de
vos pages.


La déclaration d’un doctype n’est requise que pour la validation.


Le doctype Transitional



	
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">


Le doctype strict



	
Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">


Les icônes W3C









Si vous souhaitez faire de l’évangélisation, vous pouvez aussi toujours ajouter ce petit logo…



Le “W3C Markup Validation Service”

http://validator.w3.org/


L’en-tête à l’emploi


C’est la balise meta qui va indiquer au navigateur comment interprèter un document web.


L’en-tête UTF-8





L’en-tête iso-8859-1





Le tableau des équivalences


Le tableau de toutes les équivalences pour le chartset ISO 8859-1 Character Set ( Latin - 1) - Western / West European


http://www.tableascii.com/iso88591.htm


Pour aller plus loin


Les règles simples pour passer son site de iso à utf-8



Un récapitulatif bien fait sur la déclaration et les en-têtes


http://www.pompage.net/pompe/doctypecontenttype/

Posté le : 2/21 19:07
Crer un fichier PDF de la contribution Imprimer



 Haut
(1) 2 3 4 ... 45 »







 

C.N.I.L 1113850 | Communauty the Nullos ami de Xoops CMS
XOOPS Code hosted on SourceForge   PHP   Powered by MySQL   Powered by Smarty   OSI certified  GPL  All content on this site is subject to the Creative Commons License
  Design by Cyberianet - Katisuhara