|
Menu principal
OUTILS +
Recherche
Publicité
|
|
|
Augmenter ou diminuer le chiffre d'un champ "+" et "-" |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
Pour augmenter ou diminuer le chiffre d'un champ par le biais de commande "+" et "-"  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
|
|
|
|
|
Extgallery 1.8 de Zoulou |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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 tDans 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_image, true);
}
}
// 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_image, true);
}
}
// Hack SecurityImage de Dugris
Et voila Pour les nullos, voici les 2 fichiers zippés dans le forum
Attacher un fichier: 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
|
|
|
|
|
List of MIME types |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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
|
|
|
|
|
Re: Protection d'un site par iLuc |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
Ouaissssss chouette, Iluc est parmi nous..... Merci pour cet honneur. A+++
Posté le : 3/25 19:13
|
|
|
|
|
Interdire le hotlinking |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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
|
|
|
|
|
Redirect_message avec jgrowl.js de CPascal |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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("/&/i", '&', htmlspecialchars($url, ENT_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 {padding: 1em; z-index: 9999;}
/** positions de la boite sur la page **/
body > div.jGrowl {position: fixed;}
body > div.jGrowl.top-right {right: 25%; left: 25%; top: 15%;}
body > div.jGrowl.bottom-left {left:0; bottom:0;}
body > div.jGrowl.bottom-right {right:0; bottom:0;}
body > div.jGrowl.center {top:0; left:0;}
body > div.jGrowl.top-left {left:0; top:0;}
/*** style de la boite ***/
div.center div.jGrowl-notification, div.center div.jGrowl-closer {margin-left: auto; margin-right: auto;}
div.jGrowl div.jGrowl-notification, div.jGrowl div.jGrowl-closer {
background: #FBE3E4;
color: #DF3066;
width: 100%;
padding: .5em;
margin-top: .5em;
margin-bottom: .5em;
font-family: Tahoma, Arial, Helvetica, sans-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-height: 40px;}
div.jGrowl div.jGrowl-notification div.header {font-weight: bold; font-size: 10px;}
/** croix de fermeture **/
div.jGrowl div.jGrowl-notification div.close {float: right; font-weight: bold; font-size: 12px; cursor: pointer;}
div.jGrowl div.jGrowl-closer {height: 15px; padding-top: 4px; padding-bottom: 4px; cursor: pointer; font-size: 11px; font-weight: bold; text-align: center;}
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 {position: fixed;}
body > div.jGrowl.top-right {right: 35%; left: 35%; top: 15%;}
body > div.jGrowl.bottom-left {left:0; bottom:0;}
body > div.jGrowl.bottom-right {right:0; bottom:0;}
body > div.jGrowl.center {top:0; left:0;}
body > div.jGrowl.top-left {left:0; top:0;}
/*** style de la boite ***/
div.center div.jGrowl-notification, div.center div.jGrowl-closer {margin-left: auto; margin-right: auto;}
div.jGrowl div.jGrowl-notification, div.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-height: 40px;}
div.jGrowl div.jGrowl-notification div.header {font-weight: bold; font-size: 10px;}
/** croix de fermeture **/
div.jGrowl div.jGrowl-notification div.close {float: right; font-weight: bold; font-size: 12px; cursor: pointer;}
div.jGrowl div.jGrowl-closer {height: 15px; padding-top: 4px; padding-bottom: 4px; cursor: pointer; font-size: 11px; font-weight: bold; text-align: center;}
é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( m , o ) {
// To maintain compatibility with older version that only supported one instance we'll create the base container.
if ( $('#jGrowl').size() == 0 )
$('<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( m , o ) {
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: [], element: null, interval: null } ));
$(this).data('jGrowl.instance').startup( this );
}
/** 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( m , o );
}
});
};
};
$.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: '×',
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 , o ) {
var o = $.extend({}, this.defaults, o);
this.notifications.push({ message: message , options: o });
o.log.apply( this.element , [this.element,message,o] );
},
render: function( notification ) {
var self = this;
var message = notification.message;
var o = 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.apply( notification , [notification,message,o,self.element] ) != false ) {
$(this).trigger('jGrowl.open');
}
}).bind('jGrowl.open', function() {
if ( o.open.apply( notification , [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.animateOpen, o.speed, o.easing, function() {
// Fixes some anti-aliasing issues with IE filters.
if ($.browser.msie && (parseInt($(this).css('opacity'), 10) === 1 || parseInt($(this).css('opacity'), 10) === 0))
this.style.removeAttribute('filter');
$(this).data("jGrowl").created = new Date();
});
}
}).bind('jGrowl.beforeClose', function() {
if ( o.beforeClose.apply( notification , [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.animateClose, o.speed, o.easing, function() {
$(this).remove();
var close = o.close.apply( notification , [notification,message,o,self.element] );
if ( $.isFunction(close) )
close.apply( notification , [notification,message,o,self.element] );
});
}).trigger('jGrowl.beforeOpen');
/** Optional Corners Plugin **/
if ( $.fn.corner != undefined ) $(notification).corner( o.corners );
/** Add a Global Closer if more than one notification exists **/
if ( $('div.jGrowl-notification:parent', self.element).size() > 1 &&
$('div.jGrowl-closer', self.element).size() == 0 && 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.animateOpen, this.defaults.speed, this.defaults.easing)
.bind("click.jGrowl", function() {
$(this).siblings().children('div.close').trigger("click.jGrowl");
if ( $.isFunction( self.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 > 0 &&
(this.defaults.pool == 0 || $(this.element).find('div.jGrowl-notification:parent').size() < this.defaults.pool) )
this.render( this.notifications.shift() );
if ( $(this.element).find('div.jGrowl-notification:parent').size() < 2 ) {
$(this.element).find('div.jGrowl-closer').animate(this.defaults.animateClose, this.defaults.speed, this.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) < 7 && !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();
clearInterval( this.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 iciVoila 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 ce qui donne sa si activer  au lieu de sa en mode normal (désactivé)  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
|
|
|
|
|
Affichage des descriptions en javascript de CPascal |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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 {float: right; padding-top: 2px;cursor: pointer;}
/*** boite javascript ***/
span.helptext {
position: absolute;
right: 65%;
z-index: 9000;
background-color: #CCCCCC;
outline: 1px solid #CCCCCC;
border: 2px solid #FFFFFF;
padding: 10px 15px;
max-width: 25%;
display: none;
color: #fff;
text-align: justify;
font-size: 1em;
font-weight: normal;
-moz-border-radius: 5px;
-webkit-border-radius: 5px;
}
span.helptext a {color: #666666; font-weight: normal; background-color: transparent;}
span.helptext a:hover {text-decoration: underline; color: #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:  ce qui vous donnera sa:  et sa au passage de la souri sur l'image view_off.png  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
|
|
|
|
|
Rendre compatible le module Ghost avec morphogenesis |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
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' , 0 ); //=> 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
|
|
|
|
|
convertir un site en UTF8 - PHP/MySQL |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
(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 HTTPTout 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 UTF8Pour 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). 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
|
|
|
|
|
Charset iso-8859-1, iso-8859-15, utf-8, le problème du Charset |
|
Webmestre 
Inscrit: 2007/6/28 19:09
|
(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 ISOCas 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 corrompueSi 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 flashUn 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 doctypeDisons 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’emploiC’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 équivalencesLe 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
|
|
|
|
| |