- ;### get_update - Mises à jours du script officiel - MiRaGe - 23/01/2011 - Le modifier serait une folie :)
- alias check_update dialog -om check_update check_update
- dialog check_update {
- title Skyrock update
- icon $mircdir\icones\icon_v5.ico
- size -1 -1 228 106
- button "", 9, 100 0 0 0, ok
- icon 10, 0 0 228 17, icones\popup-top.png, noborder
- icon 11, 0 17 228 43, icones\update.png, noborder
- icon 12, 0 60 115 31, icones\popup-no.png, noborder
- icon 13, 114 60 115 31, icones\popup-yes.png, noborder
- icon 14, 0 91 228 17, icones\popup-bot.png, noborder
- }
- on *:dialog:check_update:sclick:*:{
- if ($did == 12) { dialog -x check_update | welcome }
- if ($did == 13) { dialog -x check_update | start_update }
- }
- on *:START:$iif($readini(database.ini,n,options,updatescript) == On,check_update,welcome)
- alias start_update {
- if ($server == $null) {
- if (%server_update == skyrock.net || %server_update == superponey.net) {
- echo 2 -s * mIRC $version - irc.skyrock.net - %version
- echo -a 05* Recherche des mises à jour du script officiel en cours...
- sockclose get_script_update
- sockopen get_script_update op. $+ %server_update 80
- .timerget_script_update 1 10 sockclose get_script_update
- .timerget_script_update 1 10 echo -a 05-> Erreur de connectivité
- .timerget_script_update 1 10 end_update
- }
- else { echo -ea 05* Erreur, le serveur de mise à jour est incorrect. | welcome }
- }
- else { echo -ea 05* Erreur, vous devez être déconnecté du serveur IRC pour procéder à la mise à jour. | welcome }
- }
- on *:sockopen:get_script_update:{
- sockwrite -n $sockname GET http://op. $+ %server_update $+ /files/mirc/list_script.php HTTP/1.1
- sockwrite -n $sockname Host: %server_update
- sockwrite -n $sockname User-agent: mIRC Script Skyrock.com
- sockwrite -n $sockname $crlf
- }
- on *:sockread:get_script_update:{
- if ($sockerr) { echo -t Récupération des données échoué mise à jours annulée | halt }
- sockread %get_script_update
- if ($regex(%get_script_update,/(HTTP/1.1\s200\sOK)/i) == 1 && %get_script_server != 1) { set %get_script_server 1 | .timerget_script_update off }
- elseif (%get_script_server != 1) {
- unset %get_script_update
- echo -a 05-> Mises à jours échouées, le serveur distant ne répond pas
- .timerget_script_update off
- end_update
- sockclose $sockname
- }
- elseif ($gettok(%get_script_update,1,58) == UpdateScripts) {
- if ($gettok(%get_script_update,2,58) != %version) {
- echo -a 05-> Mises à jours trouvées, téléchargement de la version12 $gettok(%get_script_update,2,58) $+ 05...
- set %get_script_list $gettok(%get_script_update,3,58)
- set %nb_scripts_files $numtok(%get_script_list,59)
- set %inc_script_file 1
- set %script_must_update 1
- }
- else echo -a 05<- Aucune mise à jour trouvée des scripts...
- }
- elseif ($gettok(%get_script_update,1,58) == UpdateLanguage) {
- if ($gettok(%get_script_update,2,58) == ON) {
- set %language_must_update 1
- set %get_language_list $gettok(%get_script_update,3,58)
- set %nb_language_files $numtok(%get_language_list,59)
- set %inc_language_file 1
- }
- if (%script_must_update != 1 && %language_must_update != 1) { echo -a 05<- Aucune mise à jour trouvée des fichiers de langues... | end_update | sockclose $sockname }
- elseif (%script_must_update == 1) { get_scripts_files | sockclose $sockname }
- elseif (%script_must_update != 1 && %language_must_update == 1) { echo -a 05* Recherche des mises à jour des fichiers de langue en cours... | get_language_files | sockclose $sockname }
- }
- unset %get_script_update
- }
- alias get_scripts_files {
- unset %get_script_server %get_script_data_file_write %get_script_data_file_exist
- if (%inc_script_file <= %nb_scripts_files) {
- set %get_script_file $gettok(%get_script_list,%inc_script_file,59)
- set %ticks $ticks
- write -c scripts\ $+ %get_script_file $+ .update
- sockclose get_script_file_ $+ %get_script_file
- sockopen get_script_file_ $+ %get_script_file op. $+ %server_update 80
- .timerget_script_file_ $+ %get_script_file 1 10 sockclose get_script_file_ $+ %get_script_file
- .timerget_script_file_ $+ %get_script_file 1 10 echo -a 05-> Erreur de connectivité
- .timerget_script_file_ $+ %get_script_file 1 10 end_update
- }
- else {
- unset %nb_scripts_files %inc_script_file
- echo -a 05* Mise à jours des scripts terminée
- if (%language_must_update == 1) { language_update }
- elseif (%script_must_update == 1) { get_script_variable }
- else end_update
- }
- }
- on *:sockopen:get_script_file_*:{
- sockwrite -n $sockname GET http://op. $+ %server_update $+ /files/mirc/scripts/ $+ %get_script_file HTTP/1.1
- sockwrite -n $sockname Host: %server_update
- sockwrite -n $sockname $crlf
- }
- on *:sockread:get_script_file_*:{
- if ($sockerr) { halt }
- sockread %get_script_data_file
- if ($regex(%get_script_data_file,/(HTTP/1.1\s200\sOK)/i) == 1 && %get_script_data_file_exist == $null) { set %get_script_data_file_exist 1 | .timerget_script_file_ $+ %get_script_file off }
- elseif ( %get_script_data_file_exist == $null) {
- echo -s 05--> Téléchargement de12 $remove($sockname,get_script_file_) 05: 04ÉCHOUÉ 05( $+ $calc(( $ticks - %ticks )/1000 $+ ) secondes)
- echo -s 05<- Mise à jour annulée, merci de contacter un administrateur
- .timerget_script_file_ $+ %get_script_file off
- unset %nb_scripts_files
- unset %inc_script_file
- sockclose $sockname
- end_update
- }
- if ($regex(%get_script_data_file,/(;###StartScript)/i) == 1) { set %get_script_data_file_write 1 }
- if (%get_script_data_file_exist == 1 && %get_script_data_file_write == 1) {
- write scripts\ $+ $remove($sockname,get_script_file_) $+ .update %get_script_data_file
- if (%get_script_data_file == ;###EndScript) {
- echo -s 05--> Téléchargement de12 $remove($sockname,get_script_file_) 05: 03OK 05( $+ $calc(( $ticks - %ticks )/1000 $+ ) secondes)
- inc %inc_script_file
- get_scripts_files
- sockclose $sockname
- }
- }
- unset %get_script_data_file
- }
- alias language_update {
- echo -a 05* Recherche des mises à jour des fichiers de langue en cours...
- if (%get_language_list != $null) {
- echo -s 05* Mise à jour trouvés pour les fichiers de langues...
- get_language_files
- }
- else {
- echo -a 05<- Aucune mise à jour trouvée des fichiers de langues...
- script_install_update
- }
- }
- alias get_language_files {
- unset %get_script_server %get_language_data_file_write %get_language_data_file_exist
- if (%inc_language_file <= %nb_language_files) {
- set %get_language_file $gettok(%get_language_list,%inc_language_file,59)
- if (!$isdir(locales\ $+ %get_language_file $+ \)) { mkdir locales\ $+ %get_language_file $+ \ }
- write -c locales\ $+ %get_language_file $+ \language.ini
- set %ticks $ticks
- sockclose get_language_file_ $+ %get_language_file
- sockopen get_language_file_ $+ %get_language_file op. $+ %server_update 80
- .timerget_language_file_ $+ %get_language_file 1 10 sockclose get_language_file_ $+ %get_language_file
- .timerget_language_file_ $+ %get_language_file 1 10 echo -a 05-> Erreur de connectivité
- .timerget_language_file_ $+ %get_language_file 1 10 end_update
- }
- else {
- unset %nb_language_files %inc_language_file
- get_script_variable
- }
- }
- on *:sockopen:get_language_file_*:{
- sockwrite -n $sockname GET http://op. $+ %server_update $+ /files/mirc/locales/ $+ %get_language_file $+ /language.ini HTTP/1.1
- sockwrite -n $sockname Host: %server_update
- sockwrite -n $sockname $crlf
- }
- on *:sockread:get_language_file_*:{
- if ($sockerr) { echo -t Récupération des données échoué | halt }
- sockread %get_language_data_file
- if ($regex(%get_language_data_file,/(HTTP/1.1\s200\sOK)/i) == 1 && %get_language_data_file_exist == $null) { set %get_language_data_file_exist 1 | .timerget_language_file_ $+ %get_language_file off }
- elseif ( %get_language_data_file_exist != 1) {
- echo -s 05--> Téléchargement de12 $remove($sockname,get_language_file_) $+ \language.ini 05: 04ÉCHOUÉ 05( $+ $calc(( $ticks - %ticks )/1000 $+ ) secondes)
- echo -s 05<- Mise à jour annulée, merci de contacter un administrateur
- .timerget_language_file_ $+ %get_language_file off
- sockclose $sockname
- unset %nb_language_files %inc_language_file
- end_update
- }
- if ($chr(91) $+ $remove($sockname,get_language_file_) $+ $chr(93) isin %get_language_data_file ) { set %get_language_data_file_write 1 }
- if (%get_language_data_file_exist == 1 && %get_language_data_file_write == 1) {
- write locales\ $+ $remove($sockname,get_language_file_) $+ \language.ini %get_language_data_file
- if (%get_language_data_file == ;###EndLanguage) {
- echo -s 05--> Téléchargement de12 $remove($sockname,get_language_file_) $+ \language.ini 05: 03OK 05( $+ $calc(( $ticks - %ticks )/1000 $+ ) secondes)
- inc %inc_language_file
- unset %get_language_data_file_exist %get_language_data_file_write
- get_language_files
- sockclose $sockname
- }
- }
- unset %get_language_data_file
- }
- alias script_install_update {
- var %inc_script_file 1
- var %nb_scripts_files $numtok(%get_script_list,59)
- while (%inc_script_file <= %nb_scripts_files) {
- var %get_script_file $gettok(%get_script_list,%inc_script_file,59)
- if ($script(%get_script_file) != $null) { .unload -rs scripts\ $+ %get_script_file }
- .remove scripts\ $+ %get_script_file
- .rename scripts\ $+ %get_script_file $+ .update scripts\ $+ %get_script_file
- .load -rs scripts\ $+ %get_script_file
- inc %inc_script_file
- }
- end_update
- }
- alias end_update {
- unset %ticks %get_script_* %get_language_* %*_must_update %*_must_update %nb_language_files %inc_language_file
- echo -a 05* Opérations terminées.
- welcome
- }
- alias get_script_variable {
- if (%script_must_update == 1) {
- sockclose get_script_variable
- sockopen get_script_variable op. $+ %server_update 80
- .timerget_script_variable 1 10 sockclose get_script_variable
- .timerget_script_variable 1 10 echo -a 05-> Erreur de connectivité
- .timerget_script_variable 1 10 end_update
- }
- else end_update
- }
- on *:sockopen:get_script_variable:{
- sockwrite -n $sockname GET http://op. $+ %server_update $+ /files/mirc/script_var.php HTTP/1.1
- sockwrite -n $sockname Host: %server_update
- sockwrite -n $sockname User-agent: mIRC Script Skyrock.com
- sockwrite -n $sockname $crlf
- }
- on *:sockread:get_script_variable:{
- if ($sockerr) { echo -t Récupération des données échoué mise à jours annulée | halt }
- sockread %get_script_variable
- if ($regex(%get_script_variable,/(HTTP/1.1\s200\sOK)/i) == 1 && %get_script_server == $null) { set %get_script_server 1 | .timerget_script_variable off }
- elseif (%get_script_server != 1) {
- .timerget_script_variable off
- unset %get_script_variable
- echo -s 05--> Récupération des variables 05: 04ÉCHOUÉ
- echo -s 05<- Mise à jour annulée, merci de contacter un administrateur
- sockclose $sockname
- end_update
- }
- if ($gettok(%get_script_variable,1,32) == cmnd_dstnt) { $remove(%get_script_variable,cmnd_dstnt) }
- if ($gettok(%get_script_variable,1,32) == ;###EndScript) {
- echo -s 05--> Récupération des variables 05: 03OK
- unset %get_script_variable
- sockclose $sockname
- script_install_update
- }