Vous ne trouvez pas de réponse à votre problème ? Alors posez la question dans le forum. Souvenez-vous qu'il n'y a jamais de question bête, mais rester dans l'ignorance parce que l'on n'ose pas poser une question, ça c'est une erreur !

60 commentaire(s) de MangaII sur des sources sur tout CodeS-SourceS

Le : 12/01/2009 11:28:37
Source : CLASSE : GÉNÉRATEUR DE MINIATURE STRICTE OPTIMISÉ
Ton problème de centrage viens de là :
$border = max($l,$h);
l'une des 2 valeurs est forcément = 0
L'autre est forcément négative (puisque tu croppe sur le plus petit coté, l'autre est donc plus grand et $this->hmaxi - $hratio; doit donner un résultat négatif).

Hors tu cherche le max des 2 ... mais un négatif est toujours plus petit que 0. Ce qui fait que c'est toujours 0 qui sort pour le border. Donc pas le bon coté !

Met un min à la place du max (tu aura un border négatif) et border/2 correspondra bien au décalage négatif pour déplacer l'image.

Je vois que mes suggestions t'on inspiré ...


Le : 12/01/2009 09:09:41
Source : CLASSE : GÉNÉRATEUR DE MINIATURE STRICTE OPTIMISÉ
Salut !

Plutot sympa
Dans ton source, dans le form, le nom du fichier n'est pas le bon (testmini au lieu de miniform)
Petit bug ? l'image est toujours coupées en bas ou à droite. Essaye de centrer l'image !

Le code est clair et simple.
Quelques suggestions, pour pouvoir le réutiliser :
- passe en paramêtre directement le nom du fichier source (et pas le tableau file). On ne redimensionne pas toujours une image uploadée.
- A priori, tu croppe toujours l'image. Mais il peut être intéressant au contraire de la réduire plus pour qu'elle rentre en entier. Via un paramêtre on peut demander à cropper ou pas. Ca amène quelques soucis supplémentaire : est-ce qu'on redimensionne la sortie (pour s'adapter aux proportions de l'image) ou est-ce qu'on force aux dimensions demandées. Et si on force les dimensions, il faut définir la couleur du fond (pour les bords).
- Un petit détail, tu supprime toujours l'image source. C'est vrai que pour un fichier uploadé, c'est mieux. Néanmoins, si tu l'utilise sur autre chose comme image, c'est dommage de supprimer l'original !
- Pour l'enregistrement du devrai mettre en paramêtre le format choisi (et le taux de compression pour le jpg) !
- Idem, dans la fonction geneMimi tu pourrais passer le nom désiré pour le fichier (optionnel). Ca permettrai de donner un nom précis (ex : identifiant de base de donnée)

Seul truc ... (test de disponibilité du nom ) 1 seule ligne, et évite les accolades :
$this->iname = $fonly.$i.'.'.$this->tfile;

Continue comme ça !


Le : 05/01/2009 09:10:45
Source : GÉNÉRATION/GESTION DE FORMULAIRE VIA FICHIER XML
Salut !

Plutôt intéressant !
J'ai développé il y a quelques mois un système similaire. Je trouve qu'il manque quelque chose d'important dans ton XML : les actions !
D'expérience, les formulaire servent rarement à afficher leur contenu dans des pages HTML ! la plupart du temps, c'est pour enregistrée en base de donnée ou envoyer des mails.
Du coup, j'ai mis en place des formulaires en étapes (et non en section ...) et pour chaque étape des actions (vérification, enregistrement, mail ...).
J'ai aussi rajouté en plus des vérifications php en ajax (pour les passages à l'étape suivante) une pré vérification en javascript (grace à des regex) ! ça permet de valider instantanément le champ si les données sont valides (vert / rouge).

un exemple de form xml (la syntaxe est pas aussi jolie ... mais c'est plus court) :

<?xml version="1.0" encoding="UTF-8"?>
<formulaire>
<etape num='1'>
<aff type='champ' nom='Nom' champtype='text' oblige='/(.){2,32}/'><label>Nom</label></aff>
<aff type='champ' nom='Mail' champtype='text' oblige='/^[^\s]{2,64}@[^\s]{2,32}\.[^\s]{2,5}$/'><label>Mail</label></aff>
<aff type='champ' nom='Message' champtype='textarea' option='nohtml'><label>Message</label></aff>
<aff type='champ' nom='Date' champtype='hidden' val='sql:NOW()'><label></label></aff>


<action type='db' dest='insert:Commentaires' ><val>Nom,Mail,Message,Date</val></action>
<action type='mail' dest='*****@yahoo.fr' ><val>Mail</val></action>
<action type='goto' dest='2' ></action>

</etape>
<etape num='2'>
<aff type='texte'><txt>Message enregistré</txt></aff>
</etape>
</formulaire>


Pour expliquer, à l'étape 1, j'affiche 4 champs.
Lors de la validation (si tous les champs sont OK), de fait les 3 action : insertion dans la base de donnée (avec les paramêtres), j'envoi le form par mail à l'adresse indiquée, et je vais à l'étape 2 !
A l'étape 2, j'affiche juste le texte "Message enregistré".

L'idée de tout ça, c'est que le formulaire soit vraiment autonome !
Parmis les champs, j'ai donc la possibilité aussi d'afficher du texte (en plus des inputs)

Voilà !
Si ça peut te donner des idées ....

A+
Nico


Le : 20/10/2008 10:01:44
Source : COLORATION DE MOTS-CLÉS
Ca ma l'air pas mal du tout !
J'ai l'impression que c'est quand même un peu compliqué pour l'effet recherché ... mais bon !

Je suis confronté à un cas un peu plus compliqué, c'est de colorer des mots clés, dans un texte HTML !
Le soucis c'est qu'il faut garder les balises HTML, détecter les mots clés, rajouter des balises autour, le tout sans perturber le contenu ...

Une idée pour adapter cette source ???

Nico


Le : 13/10/2008 09:34:52
Source : DÉTECTER LES GENTILS ROBOTS POUR BANNIR LES MECHANTS ROBOTS
Bonjour,

l'idée est sympa, mais j'emet un doute sur le postula de départ !
En effet, les méchants bots vont scanner tout le site, très vite sans trop s'inquiéter du robots.txt !
Par contre, les gentils robots (notemment google) ne fonctionnent pas tout a fait comme ça.
Déjà, il ralentissent leurs progressions au sein du site pour ne par faire trop de requettes trop vite et donc ne pas être assimilés à de mauvais bots !
De plus, il n'est pas certain que google scanne toutes les pages de ton site ! Il viendra forcément sur la page d'accueil, mais pour le reste ... ce n'est pas garanti, et même il suivra en priorité les liens qui lui paraissent importants (ex : menus, liens sur des H1 ...) ! de là à ce qu'il scanne une page en lien sur un gif de 1x1 px, c'est une autre histoire ...

En gros, l'idée de google est justement de se faire passer pour un humain !

Pour ce qui est de mysql, je rejoins IRCLAND, tu peux remplacer les 4 UPDATE de la fin en 1 seul ...

# if($table_un=="N" & $un=="Y")
#     $un = ", `1`='Y' ";
#
# if($table_deux=="N" & $deux=="Y")
#     $deux = ", `2`='Y' ";
#
# mysql_query("UPDATE `ip_ban` SET `requests`='$table_requests', `timestamp`='$timestamp' $un $deux WHERE `ip`='$ip'");

On pourrai encore simplifier, mais bon ... c'est déjà un début

A titre info, il existe déjà des blacklist d'ip de méchants bots ...


Le : 14/12/2007 14:21:36
Source : QUOTED-PRINTABLE (ENCODE / DECODE)
Encore une petite modif :
L'utilisation du DEFINE au début génère un Warning, si on appele plusieurs fois la fonction au sein d'un script.

On peut supprimer la ligne (DEFINE) et utiliser directement :

  $out .= $newpara . "=\r\n";



Le : 14/12/2007 12:28:33
Source : QUOTED-PRINTABLE (ENCODE / DECODE)
Très pratique lorsque l'on a pas les fonctions imap_8bit dispos sur le serveur.

3 petites modifs tout de même :

l'expression régulière de séparation des lignes, ne prend pas de ?, et il faudrait envisager les encodages unix et mac (\n ou \r) mais ceci n'importe peu dans l'encodage. au pire, on perd les saut de lignes.

  $char = '=' . strtoupper ( dechex( $ascii ) );
devient
  $char = '=' . strtoupper ( sprintf("%02X", $ascii ) );

pour éviter les soucis d'encodage avec des tabulations et retour à la ligne ( ex code ascii 9 => =09 ) dans l'ancienne version, il ne mettait pas le 0 devant, ce qui générait des problèmes.

et enlever le $char sur la ligne
  $out .= $newpara . $char;
ce qui avait pour effet de doubler le dernier caractère de la ligne ...

Nouvelle version complète:

function QPencode($str)
{
DEFINE('CRLF', "\r\n");
$lines = preg_split("/\r\n/", $str);
$out = '';

foreach ($lines as $line)
{
$newpara = '';

for ($j = 0; $j <= strlen($line) - 1; $j++)
{
$char = substr ( $line, $j, 1 );
$ascii = ord ( $char );


if ( $ascii < 32 || $ascii == 61 || $ascii > 126 )
$char = '=' . strtoupper ( sprintf("%02X", $ascii ) );

if ( ( strlen ( $newpara ) + strlen ( $char ) ) >= 76 )
{
$out .= $newpara . '=' . CRLF;
$newpara = '';
}
$newpara .= $char;
}
$out .= $newpara;
}
return trim ( $out );
}


Le : 09/08/2007 16:04:39
Source : CLASSE D'ACCÈS SIMPLE A LA BASE DE REGISTRE POUR VC++ #CORRIGÉE#
Merci !

Je suis content de voir que ce code sert encore ...
Je ne suis plus dans ma période C, donc, je te crois sur parole Jojo ... :P)

J'espère que ce code reste compatible avec Vista ... j'ai pas testé, mais y'a pas de raison ...

PS : Toujours présent ci besoin !!!!

MangaII


Le : 02/10/2006 13:42:54
Source : BUG FIX TRANSPARENCE PNG IE (SIMPLE)
En effet, ca pourrai fonctionner !
Mais là encore on utilise un hack spécifique à IE ! et le problème ici c'est que la CSS n'est plus valide ( http://jigsaw.w3.org/css-validator/ ), donc cette solution est à éviter ...


Le : 02/10/2006 08:01:06
Source : LIBRAIRIE UTF8 (CODAGE ET DECODAGE À LA VOLÉE )
Excellent !
Mais pourquoi met-tu le texte en variable avant de le décoder ???
Il serai beaucoup plus simple de passer directement le texte à la fonction encode et decode ! comme ca, 1 seul appel à la fonction ...



1 2 3 4 5 6


Nos sponsors

Sondage...

CalendriCode

Juillet 2009
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
2728293031  

Consulter la suite du CalendriCode

Comparez les prix Nouvelle version

Photothèque Nouveau !



Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés
Temps d'éxécution de la page : 0,218 sec

Google Coop CodeS-SourceS Google Coop CodeS-SourceS


Certaines images présentes sur le site (notament certains avatars) sont issues des collections IconShock, donc si vous souhaitez utiliser ces icons vous devez les acheter, ne les copiez pas et ne utilisez pas dans vos sites et applications sans les avoir commandé.