Here is the last, and I think, complete, version.
Macros.cfg:
----------
--------------- No change since the last post ----------------
# Variable publique utilisée par AllowTemporary(), AddWhiteList(), RemoveTemporary() and RemoveWhiteList()
$NoScriptProtocols = "file: resource: about: chrome:";
--------------- Some changes ----------------
#Variable utiliseé par NSRemove() et OnQuit(), Ne pas utiliser par ailleurs
$quit=false;
....
--------------- No change since the last post ----------------
JSEnable{
$ex=false;
getpref(BOOL,$jscript)==false ? &JS:0;
getpref(BOOL,$noscript)==false ? &NS:0;
$ex == false ? macros($macro):0;
}
JS{
&JSToggle;
$ex ? 0:macros($macro);
getpref(BOOL,$noscript)==false ? &NS:0;
$ex == false ? macros($macro):0;
&JSToggle;
}
NS{
&NSToggle;
macros($macro);
$ex=true;
&NSToggle;
}
--------------- Some changes ----------------
OnQuit{
....
$quit=true;
$temp=getpref(STRING,"noscript.allow.temp");
$temp == "" ? 0:&ClearSites;
$temp=getpref(STRING,"noscript.block.temp");
$temp == "" ? 0:&RepairSites;
}
--------------- No change since the last post ----------------
NSToggle{
togglepref(STRING,$nscript,"noAccess","allAccess");
togglepref(BOOL,$noscript);
getpref(STRING,$nscript)=="noAccess"? $tip=">> LISTE BLANCHE":$tip=">> TOUS LES ACCES";
getpref(BOOL,$noscript)==false ? $tip=">> LISTE BLANCHE":$tip=">> TOUS LES ACCES";
&Sync;
statusbar("NoScript ".$tip);
}
NoFlash{
togglepref(BOOL,$nflash); &Sync;
getpref(BOOL,$nflash)==false ? $tip="autorisées":$tip="bloquées";
statusbar("NoScript >> animations Flash ".$tip);
}
NoJava{
togglepref(BOOL,$njava); &Sync;
getpref(BOOL,$njava)==false ? $tip="autorisés":$tip="bloqués";
statusbar("NoScript >> Applets Java ".$tip);
}
NoPlugs{
togglepref(BOOL,$nplug); &Sync;
getpref(BOOL,$nplug)==false ? $tip="autorisés":$tip="bloqués";
statusbar("NoScript >> Plugins ".$tip);
}
--------------- No change since the last post ----------------
Attention, the bar names are in french !!! (replace with yours)
Sync {
....
setcheck("macros(NSToggle)",getpref(STRING,$nscript)=="noAccess"? true:false);
pluginmsg(toolbars,"CheckButton","Outils externes,macros(NSToggle), ".(getpref(STRING,$nscript)=="allAccess"? 1:0));
pluginmsg(toolbars,"CheckButton","Vie privée,macros(NSToggle), ".(getpref(STRING,$nscript)=="allAccess"? 1:0));
setcheck("macros(NSToggle)",getpref(BOOL,$noscript)? false:true);
pluginmsg(toolbars,"CheckButton","Outils externes,macros(NSToggle), ".(getpref(BOOL,$noscript)? 0:1));
pluginmsg(toolbars,"CheckButton","Vie privée,macros(NSToggle), ".(getpref(BOOL,$noscript)? 0:1));
setcheck("macros(NoFlash)",getpref(BOOL,$nflash));
pluginmsg(toolbars,"CheckButton","Outils externes,macros($nflash),".(getpref(BOOL,$nflash)? 0:1));
pluginmsg(toolbars,"CheckButton","Vie privée,macros($nflash),".(getpref(BOOL,$nflash)? 0:1));
setcheck("macros(NoJava)",getpref(BOOL,$njava));
pluginmsg(toolbars,"CheckButton","Outils externes,macros($njava),".(getpref(BOOL,$njava)? 0:1));
pluginmsg(toolbars,"CheckButton","Vie privée,macros($njava),".(getpref(BOOL,$njava)? 0:1));
setcheck("macros(NoPlugs)",getpref(BOOL,$nplug));
pluginmsg(toolbars,"CheckButton","Outils externes,macros($nplug),".(getpref(BOOL,$nplug)? 0:1));
pluginmsg(toolbars,"CheckButton","Vie privée,macros($nplug),".(getpref(BOOL,$nplug)? 0:1));
....
}
--------------- No change since the last post ----------------
Noscript{
$xul="chrome://noscript/content/noscriptOptions.xul"; &XUL;
}
NoscriptAbout{
$xul="chrome://noscript/content/about.xul"; &XUL;
}
--------------- Some changes ----------------
Some macros more + some renamed (NSO >> NSadd) to make it ok with new macros (NSremove)
It's also a little more complicated
AddWhiteList{
$fct="Add";
$a = $URL;
$Protocol = substr($a,0,index($a,"://")+1);
index($NoScriptProtocols,$Protocol) == -1 ? &NSAdd:0;
&Sync;
}
AllowTemporary{
$fct="Temp"
$a = $URL;
$Protocol = substr($a,0,index($a,"://")+1);
index($NoScriptProtocols,$Protocol) == -1 ? &Allow2:0;
&Sync;
}
Allow2{
getpref(BOOL,$nscript)==false ? &NSAdd:0;
}
NSAdd{
$Protocol = $Protocol."//";
$a = substr($a,length($Protocol));
$address=""; $word=""; $domaine1="";$domaine2="";
&MakeStrings;
$string = $address." ".$domaine1." ".$domaine2;
$t = getpref(STRING,"noscript.allow.temp");
$t == "" ? $t = $t.$string:$t= $t." ".$string;
$fct == "Temp" ? setpref(STRING,"noscript.allow.temp",$t):0;
$t = getpref(STRING,"noscript.temp");
$t == "" ? $temp = $t.$string:$t." ".$string;
setpref(STRING,"noscript.temp",$t);
$s =getpref(STRING,"capability.policy.maonoscript.sites");
$sites = $s." ".$string;
setpref(STRING,"capability.policy.maonoscript.sites",$sites);
&NSToggle;
id(ID_NAV_RELOAD);
&NSToggle;
}
MakeStrings{
$address = substr($a,0,index($a,"/"));
$world = substr($address,0,index($address,".")).".";
$domaine2 = substr($address,length($world));
$domaine1 = $address;
$address = $Protocol.$domaine1;
}
RemoveWhiteList{
$fct="Perm";
$a = $URL;
$Protocol = substr($a,0,index($a,"://")+1);
index($NoScriptProtocols,$Protocol) == -1 ? &NSRemove:0;
&Sync;
}
RemoveTemporary{
$fct="Temp"
$a = $URL;
$Protocol = substr($a,0,index($a,"://")+1);
index($NoScriptProtocols,$Protocol) == -1 ? &NSRemove:0;
&Sync;
}
NSRemove{
$Protocol = $Protocol."//";
$a = substr($a,length($Protocol));
$address=""; $word=""; $domaine1="";$domaine2="";
&MakeStrings;
alert($address."\n".$domaine1."\n".$domaine2);
$list = $address." ".$domaine1." ".$domaine2;
$t = getpref(STRING,"noscript.block.temp");
$t == "" ? $t = $t.$list:$t= $t." ".$list;
$fct == "Temp" ? setpref(STRING,"noscript.block.temp",$t):0;
$t = getpref(STRING,"noscript.temp");
$t == "" ? $temp = $t.$list:$t." ".$list;
setpref(STRING,"noscript.temp",$t);
$sites =getpref(STRING,"capability.policy.maonoscript.sites");
&ClearSites;
&NSToggle;
id(ID_NAV_RELOAD);
&NSToggle;
}
ClearSites{
$quit ? $list=getpref(STRING,"noscript.allow.temp"):0;
$quit ? $setpref(STRING,"noscript.allow.temp",""):0;
$quit ? $sites=getpref(STRING,"capability.policy.maonoscript.sites"):0;
&RemoveString;
$list == "" ? 0:&RemoveString;
$list == "" ? 0:&RemoveString;
$list == "" ? 0:&RemoveString;
$list == "" ? 0:&RemoveString;
setpref(STRING,"capability.policy.maonoscript.sites",$sites):0;
}
RemoveString{
$list != "" ? &RS:0;
$list != "" ? &RS:0;
$list != "" ? &RS:0;
}
RS{
$temp=substr($list,0,index($list," "));
$temp == "" ? $temp=$list:0;
$list=substr($list,length($temp));
substr($list,0,1)==" "?$list=substr($list,1):0;
$sites=gsub($temp,"",$sites);
}
RepairSites{
$temp=getpref(STRING,"noscript.block.temp");
$s=getpref(STRING,"capability.policy.maonoscript.sites");
$sites= $sites." ".$temp;
setpref(STRING,"capability.policy.maonoscript.sites",$sites);
setpref(STRING,"noscript.block.temp","");
}
Menus.cfg:
----------
--------------- No change since the last post ----------------
But always in french
Gestion des scripts{
macros(AllowTemporary,Autoriser la page pour la session)
macros(RemoveTemporary,Bloquer la page pour la session)
-
macros(AddWhiteList,Ajouter à la liste blanche)
macros(RemoveWhiteList,Retirer de la liste blanche)
-
macros(NoFlash, Bloquer les Flash dans NoScript)
macros(NoJava, Bloquer les applets Java dans NoScript)
macros(NoPlugs, Bloquer les Plugins dans NoScript)
-
macros(Noscript,Options globales de NoScript)
macros(NoscriptAbout,A propos de NoScript)
}
That's all folks...
Thanks to report the problems ....