Runs fine for me. > -----Original Message----- > From: [EMAIL PROTECTED] > [mailto:[EMAIL PROTECTED]]On Behalf Of Glenn Carr > Sent: Tuesday, October 15, 2002 4:00 PM > To: [EMAIL PROTECTED] > Subject: Re: [DQSD-Devel] updated multi.xml > > > Brent, > > Go ahead and check it in! > > ----- Original Message ----- > From: "Brent Beardsley" <[EMAIL PROTECTED]> > To: <[EMAIL PROTECTED]> > Sent: Tuesday, October 15, 2002 1:07 AM > Subject: [DQSD-Devel] updated multi.xml > > > > Hi all, > > > > I've updated multi.xml but have not checked it into > > CVS because I'd like some feedback to make sure I > > didn't break the previous functionality. > > > > I changed the regexp to not include commas because I > > was trying some searches that needed included a comma > > and it didn't work (it tried to split on commas). > > > > Also I added the ability to specify multiple searches > > like with different parameters: > > > > multi fm; sf hs /new; gg wood planes > > > > It is disabled by default but if you add > > > > superMultiModeEnabled=true; > > > > in your local prefs it will be enabled. > > > > superMultiModeSepChar=';'; can also be set to whatever > > character you want to split the string on but > > semicolon is the default. > > > > I've attached a new multi.xml and can check it in if > > nobody has any complaints or feedback. > > > > Brent > > > > > > > > > > __________________________________________________ > > Do you Yahoo!? > > Faith Hill - Exclusive Performances, Videos & More > > http://faith.yahoo.com > > > -------------------------------------------------------------- > ------------------ > > > > <search function="multi"> > > <name>MultiSearch</name> > > <description> > > Perform multiple searches with a single command line > expression.<br/> > > <b><i>superMultiModeEnabled</i></b> can be set to true > in localprefs.js to > enable super multi mode which allows different sets of > > searches to be done (ie: multi search1 > /firstParam; search2 search3 > /secondParam)<br/> > > <b><i>superMultiModeSepChar</i></b> can be set to a > character in > localprefs.js to determine the split character for the super > multi mode > > the default value is ; > > <div class="helpboxDescLabels">Usage:</div> > > <table class="helpboxDescTable"> > > <tr><td>multi <<i>search1</i>> > [<<i>search2</i>> [...]] > <<i>term</i>></td></tr> > > </table> > > <div class="helpboxDescLabels">Example:</div> > > <table class="helpboxDescTable"> > > <tr><td>multi av gg wood planes</td><td> - > </td><td>Display the search > results for wood planes on altavista and google.</td></tr> > > <tr><td>multi fm;sf hs /new</td><td> - > </td><td>Display the new projects > and files on freshmeat, sourceforge, and hotscripts provided > superMultiModeEnabled is set to true in localprefs.js.</td></tr> > > </table> > > </description> > > <category>Search the Web</category> > > <contributor>Neel Doshi</contributor> > > > > <script><![CDATA[ > > > > // This function is almost identical to the shortcut function in > search.html > > function multiIsCommand(t) > > { > > // look for matching commands first > > var search = null; > > var term = null; > > var result = t.match(/^([a-zA-Z]+)\b/) > > if (result) > > { > > if (aliases[result[1]]) > > { > > search = aliases[result[1]]; > > term = t.slice(result[1].length); > > } > > } > > > > // then look for longest matching punctuation prefix > > if (!search) > > { > > result = > t.match(/^([\s~`!@#$%\^&\*()\-=\+{}\[\];:'<>,\.\/\?]+)/); > > if (result) > > { > > for (var subs = result[1].length; subs>0; subs--) > > { > > search = aliases[result[1].slice(0, subs)]; > > if (search) > > { > > term = t.slice(subs); > > break; > > } > > } > > } > > } > > > > // then look for longest matching punctuation suffix > > if (!search) > > { > > result = > t.match(/([\s~`!@#$%\^&\*()\-=\+{}\[\];:'<>,\.\/\?]+)$/); > > if (result) > > { > > for (var subs = result[1].length; subs>0; subs--) > > { > > search = aliases[result[1].slice(-subs)]; > > if (search) > > { > > term = t.slice(0, -subs); > > break; > > } > > } > > } > > } > > > > // no match, no dice > > if (!search) > > return false; > > > > // return the proper search term for the asking procedure > > return search; > > } > > > > // the multi function actually performs the multiple searches given > > // the input parameters. if the user's > reuseBrowserWindowMode parameter > > // is set to 1, multi will not work. Also, if the user's > launchmode > > // is not set to zero, multi will pause between searches > > // to allow multi to work with browsers other than IE. > > function multi(q) > > { > > if ( reuseBrowserWindowMode == 1 ) > > { > > alert("Multisearch requires the > reuseBrowserWindowMode parameter to be > set to zero or two. Otherwise, all the searches will be > spawned in the same > window."); > > return false; > > } > > if ( nullArgs("multi", q) ) > > return false; > > > > var multiCmdSets = new Array(); > > var mySuperMultiModeEnabled = (typeof > superMultiModeEnabled != > "undefined" && superMultiModeEnabled != ""); > > var mySuperSepChar = (typeof superMultiModeSepChar != > "undefined" && > superMultiModeSepChar != "") ? superMultiModeSepChar : ";"; > > if (mySuperMultiModeEnabled == true) > > { > > var myCmds = q.split(mySuperSepChar); > > for (var i=0; i < myCmds.length; i++) > > { > > var oneCmd = myCmds[i]; > > multiCmdSets[i] = oneCmd; > > } > > } else { > > multiCmdSets.push(q); > > } > > > > for (var m=0; m < multiCmdSets.length; m++) > > { > > if (result = (multiCmdSets[m]).split( /[\s]+/ ) ) > > { > > > > var arrCmds = new Array(0); > > var arrParams = new Array(0); > > > > // Loop through the arguments to filter out the commands. > > // if an argument is not a command, then no > future arguments > > // can be commands either. The following > variable keeps track of > this. > > var fLoopBool = 1; > > var strCommandName; > > > > for ( var i = 1; i <= result.length; i++ ) > > { > > strCommandName = multiIsCommand(result[i - 1]); > > if (strCommandName != false && fLoopBool == 1) > > { > > // Append the command list with this command > > arrCmds.push(strCommandName); > > } > > else > > { > > // Set the fLoopBool to zero since no more > commands should be > found > > fLoopBool = 0; > > > > // Append the parameter string with this word > > arrParams.push(result[i - 1].replace("\x27","\\x27")); > > } > > } > > // Loop through the command list and perform the search > > if (arrCmds.length == 0) > > { > > alert("Multisearch needs at least one search > type parameter."); > > return false; > > } > > else > > { > > // Perform each of the searches > > for ( var j = 1; j <= arrCmds.length; j++ ) > > { > > // if the user's launchmode is anything but > zero, pause between > searches. > > if (launchmode != 0) > > { > > var Timeoutms = 1500; > > var SearchString = "performsearch('" + > arrCmds[j - 1] + "','" > + arrParams.join(" ") + "');"; > > setTimeout( SearchString, Timeoutms * (j-1) ); > > } > > else > > performsearch(arrCmds[j - 1], arrParams.join(" ")); > > } > > } > > } > > } > > } > > ]]></script> > > > > <copyright> > > Copyright (c) 2002 David Bau > > Distributed under the terms of the > > GNU Public License, Version 2 (http://www.gnu.org/copyleft/gpl.txt) > > </copyright> > > </search> > > > > > > ------------------------------------------------------- > This sf.net email is sponsored by:ThinkGeek > Welcome to geek heaven. > http://thinkgeek.com/sf > _______________________________________________ > DQSD-Devel mailing list > [EMAIL PROTECTED] > https://lists.sourceforge.net/lists/listinfo/dqsd-devel >
------------------------------------------------------- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf _______________________________________________ DQSD-Devel mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/dqsd-devel
