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 !

NEWS K-OTIK.


Information sur la source

Catégorie :AddOns Niveau : Débutant Date de création : 07/08/2004 Date de mise à jour : 07/08/2004 12:30:55 Vu : 2 474

Note :
1 / 10 - par 1 personne
1,00 / 10

  • 1

  • 2

  • 3

  • 4

  • 5

  • 6

  • 7

  • 8

  • 9

  • 10

Commentaire sur cette source (9)
Ajouter un commentaire et/ou une note

Description

Voici un code permettant de recevoir les news d'un site sur la sécurité informatique.

Screenshot : http://membres.lycos.fr/xdbconcept/scripting/k-otik.gif
(comme le site accepte pas les .gif et qu'il trouve l'image trop grosse..)
 

Source

  • alias k-otik { if $1 { var %!^ securite,news,virus,exploits
  • if $istok(%!^,$1,44) { set %!: $1 | $iif($2 && $2 == html,set %!:: html,) }
  • if !$window(@K-otik.news) { window -ae @K-otik.news }
  • sockclose k.otik | clear @K-otik.news
  • sockopen k.otik www.k-otik.com 80
  • }
  • else { echo -s /k-otik: paramètres manquants et/ou erronés - /k-otik securite\virus\exploits\news (html) | sockclose k.otik | halt }
  • }
  • on *:sockopen:k.otik:{ if $sockerr { echo -a $_sockerr($sockerr) | return }
  • if %!:: { write -c K-otik.htm $+(<u><b><font color="#002980"><p style="text-align: center">Liste des News du site K-otik.com</b></u>,$chr(58)</p></font>) <br><hr>
  • write K-otik.htm <title>News du site www.k-otik.com par tofu.</title>
  • echo @K-otik.news Création de la page Html en cours ... veuillez patienter, elle s'ouvrira automatiquement. }
  • else { echo @K-otik.news $+($u(Liste des News du site K-otik.com),$chr(58))) }
  • if %!: { sockwrite -n $sockname GET $+($chr(47),$replace(%!:,securite,advisories),.xml) HTTP/1.1 }
  • sockwrite -n $sockname Host: k-otik.com $+ $str($crlf,2)
  • }
  • on *:sockread:k.otik:{
  • sockread %!
  • if <title> isin %! {
  • if !%!:: { echo @K-otik.news - | echo @K-otik.news $str($b($chr(155)),2) $+($b($u($regstrip(%!))),$chr(58)) }
  • else { write K-otik.htm <b>&#8250;&#8250;<u><font color="#002980"> $regstrip(%!) $+ </u></font></b>: <br> }
  • }
  • if <link> isin %! { $iif(!%!::,echo @K-otik.news $+($u(Lien),:) $regstrip(%!),write K-otik.htm <u>Lien</u>: <a href= $+ $regstrip(%!) $+ > $+ $regstrip(%!) </a> <br>) }
  • if <description> isin %! { $iif(!%!::,echo @K-otik.news $+($u(Description),:) $regstrip(%!),write K-otik.htm <u>Description</u>: $regstrip(%!) <br><br>) }
  • }
  • on *:sockclose:k.otik:{
  • if %!:: { write K-otik.htm <br><hr> Fin de la liste des news du site <a href= $+ www.k-otik.com >www.k-otik.com</a> <>
  • write K-otik.htm addon by <a href=mailto:eric@xdb.exagon.org>tofu</a>
  • run iexplore $mircdir $+ K-otik.htm }
  • echo @K-otik.news - | echo @K-otik.news Fin des news . | unset %!* }
  • alias _sockerr {
  • if $$1 == 0 { return aucune erreur }
  • elseif $$1 == 1 { return impossible d'interpréter la requête à cause d'une erreur de format }
  • elseif $$1 == 2 { return impossible d'exécuter à cause d'une erreur interne du serveur }
  • elseif $$1 == 3 { return l'adresse soumise n'existe pas }
  • elseif $$1 == 4 { return type de la requête non supporté }
  • elseif $$1 == 5 { return demande refusée }
  • else { return erreur non documentée }
  • }
  • alias u { return $+($chr(31),$1,$chr(31)) }
  • alias b { return $+($chr(2),$1,$chr(2)) }
  • alias regstrip { var %i,%a = $1-,%b = $regsub(%a,/<[^>]+>/g,,%i) | return $remove(%i,$chr(59),$chr(38)) }
  • menu menubar,channel,@K-otik.news {
  • K-otik
  • .$submenu($menu-k($1))
  • }
  • alias menu-k {
  • if ($1 == begin || $1 == 5 || $1 == 10 || $1 == end) { return - }
  • if ($1 == 1) return News:/k-otik news
  • if ($1 == 2) return Exploits:/k-otik exploits
  • if ($1 == 3) return Virus:/k-otik virus
  • if ($1 == 4) return Sécurité:/k-otik securité
  • if ($1 == 6) return News html:/k-otik news html
  • if ($1 == 7) return Exploits html:/k-otik exploits html
  • if ($1 == 8) return Virus html:/k-otik virus html
  • if ($1 == 9) return Sécurité html:/k-otik securite html
  • if ($1 == 11) return Visiter K-otik.com:url www.k-otik.com
  • }
alias k-otik { if $1 { var %!^ securite,news,virus,exploits
    if $istok(%!^,$1,44) { set %!: $1 | $iif($2 && $2 == html,set %!:: html,) }
    if !$window(@K-otik.news) { window -ae @K-otik.news } 
    sockclose k.otik |  clear @K-otik.news
    sockopen k.otik www.k-otik.com 80
  } 
  else { echo -s /k-otik: paramètres manquants et/ou erronés - /k-otik securite\virus\exploits\news (html) | sockclose k.otik | halt  }
}


on *:sockopen:k.otik:{ if $sockerr { echo -a $_sockerr($sockerr) | return }
  if %!:: { write -c K-otik.htm $+(<u><b><font color="#002980"><p style="text-align: center">Liste des News du site K-otik.com</b></u>,$chr(58)</p></font>) <br><hr>
    write K-otik.htm <title>News du site www.k-otik.com par tofu.</title>
  echo @K-otik.news Création de la page Html en cours ... veuillez patienter, elle s'ouvrira automatiquement. }
  else { echo @K-otik.news $+($u(Liste des News du site K-otik.com),$chr(58))) }
  if %!: { sockwrite -n $sockname GET $+($chr(47),$replace(%!:,securite,advisories),.xml) HTTP/1.1 }
  sockwrite -n $sockname Host: k-otik.com $+ $str($crlf,2)
}
on *:sockread:k.otik:{
  sockread %!
  if <title> isin %! {
    if  !%!:: { echo @K-otik.news - | echo @K-otik.news $str($b($chr(155)),2) $+($b($u($regstrip(%!))),$chr(58)) }
    else { write K-otik.htm <b>&#8250;&#8250;<u><font color="#002980"> $regstrip(%!) $+ </u></font></b>: <br> }
  }
  if <link> isin %! { $iif(!%!::,echo @K-otik.news $+($u(Lien),:) $regstrip(%!),write K-otik.htm <u>Lien</u>: <a href= $+ $regstrip(%!) $+ > $+ $regstrip(%!) </a> <br>) }
  if <description> isin %! { $iif(!%!::,echo @K-otik.news $+($u(Description),:) $regstrip(%!),write K-otik.htm <u>Description</u>: $regstrip(%!) <br><br>) } 
}
on *:sockclose:k.otik:{
  if %!:: { write K-otik.htm <br><hr> Fin de la liste des news du site <a href= $+ www.k-otik.com >www.k-otik.com</a> <>
    write K-otik.htm addon by <a href=mailto:eric@xdb.exagon.org>tofu</a>
  run iexplore $mircdir $+ K-otik.htm }
echo @K-otik.news - | echo @K-otik.news Fin des news . | unset %!* }


alias _sockerr {
  if $$1 == 0 { return aucune erreur }
  elseif $$1 == 1 { return impossible d'interpréter la requête à cause d'une erreur de format }
  elseif $$1 == 2 { return impossible d'exécuter à cause d'une erreur interne du serveur }
  elseif $$1 == 3 { return l'adresse soumise n'existe pas }
  elseif $$1 == 4 { return type de la requête non supporté }
  elseif $$1 == 5 { return demande refusée }
  else { return erreur non documentée }
}
alias u { return $+($chr(31),$1,$chr(31)) }
alias b { return $+($chr(2),$1,$chr(2)) }
alias regstrip { var %i,%a = $1-,%b = $regsub(%a,/<[^>]+>/g,,%i) | return $remove(%i,$chr(59),$chr(38)) }

menu menubar,channel,@K-otik.news {
  K-otik
  .$submenu($menu-k($1))
}
alias menu-k {
  if ($1 == begin || $1 == 5 || $1 == 10 || $1 == end) { return - }
  if ($1 == 1) return News:/k-otik news
  if ($1 == 2) return Exploits:/k-otik exploits
  if ($1 == 3) return Virus:/k-otik virus
  if ($1 == 4) return Sécurité:/k-otik securité
  if ($1 == 6) return News html:/k-otik news html
  if ($1 == 7) return Exploits html:/k-otik exploits html
  if ($1 == 8) return Virus html:/k-otik virus html
  if ($1 == 9) return Sécurité html:/k-otik securite html
  if ($1 == 11) return Visiter K-otik.com:url www.k-otik.com
}

Conclusion

C'est un addon en construction, donc il risque d'y avoir des bugs. si je le poste c'est parce que il est tard et j'ai du mal à voir cmt continuer d'optimiser donc si vous pouviez me donner quelques idées, elles seront les bienvenues.  
 

Historique

07 août 2004 10:01:28 :
Correction de la détection des diff pages en racourcissant le tout par un seul if dans le sockopen.
07 août 2004 10:22:20 :
Sur les conseils de Sorn , j'update en me servant des tokken pour évaluer si l'aliase de départ est correct .
07 août 2004 12:30:55 :
add d'un sshot dans la présentation du code .

Commentaires et avis

signaler à un administrateur
Commentaire de SornDrixer le 07/08/2004 09:52:18 administrateur CS

J'ai à peu près tout testé et je n'ai pas rencontré de bugs.

Niveau coding, voici des petites idées pour raccourcir un tout petit peu ton code :

if $sock(k.otik) { sockclose k.otik }
ca sert à rien de vérifier si le sock est ouvert pour le fermer, fait le sockclose sans vérifier cela, tu n'auras en aucun cas un message d'erreur.

if $1 { if $1 == securite || $1 == news || $1 == virus || $1 == exploits
C'est pas très jolie à voir, je préfère ca :
var %a securite news virus exploit
if $istok(%a,$1,32) { }

Bon boulot sinon, j'aime bien l'idée de proposer les résultats en echo, ou de les afficher dans une page html.

signaler à un administrateur
Commentaire de tofu le 07/08/2004 10:23:47

ah ouai j'avais pas du tout pensé à $istok, merci.

signaler à un administrateur
Commentaire de tofu le 07/08/2004 22:09:11

personne a rien à dire ... ok lol ..

signaler à un administrateur
Commentaire de PaDa le 07/08/2004 22:30:01

j'aime mieux le screen sur mircstudio ^^^^ sinan rien a dire le code est bien a première vue po testé j'attends le release de l'autre truc mouaaa

signaler à un administrateur
Commentaire de PaDa le 07/08/2004 22:35:28

si si on veut chipoter :
$1 == 5 || $1 == 10 > !$calc($1 % 5)

et le "run iexplore $mircdir $+ K-otik.htm " tu peux ptet virer iexplore (je dis ca comme ca , il doit manquer un R non ? , de toute facon pour une adresse mail perso je précise jamais rien /run <adresse> ca marche la je sais po)

a part ca j'aime bien les noms de tes var locales =)

signaler à un administrateur
Commentaire de PaDa le 07/08/2004 22:36:07

adresse internet pas adresse mail ...

signaler à un administrateur
Commentaire de PaDa le 07/08/2004 22:51:01

en fait c pas tant du chipotage que ca : vu que end et begin sont pas des nombres $calc renverra 0 aussi donc :
if ($1 == begin || $1 == 5 || $1 == 10 || $1 == end) { return - }
peut devenir tout simplement :
if !$calc($1 % 5) { return - }
/me est content de lui

signaler à un administrateur
Commentaire de tofu le 08/08/2004 13:03:49

oui ou alors faire pareil que ce que m'a dis sorn au début avec :
var %^ begin,5,10,end | if $istok(%^,$1,44) { return - }

signaler à un administrateur
Commentaire de GFACTION le 09/08/2004 20:11:28

"
alias _sockerr {
    if $$1 == 0 { return aucune erreur }
"

Je pense que c'est inutile ça...

Ajouter un commentaire



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,655 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é.