LORDEAGLE
2015-11-01 14:27
Due to many of the requests I gat from you guys to help u with weezywap's search script b4 I was handicapd cuz its weezy's edition and I respects copy wright but after my chat with weezy tonight he asked me to share it. Note: this might not be exactly the code weezy has in his script bcuz I codded this one based on assumption cuz the script is made of xtscript wich is parsed over the sever and its not available in the page source code but it's 99% the same in output. The only change is the pagination which has more than the 2pages option in weezy's, this is for easy navigation. On the Demo page Here the output has some diff diz is coursd by my css so if u're using weezy's css I assure u of 99% output if not 100%!
Copy Below Fill,Duplicate the folders and Enjoy! One has been done to show example.
Copy Below Fill,Duplicate the folders and Enjoy! One has been done to show example.
<!--parser:xtscript-->
# Get the search query
get search
# Trim any spaces
var $search = call trim $val=$search
# No search query
if not $search
var $disable_js = //
goto @skip_1
endif
# Search query length check
var $len = call strlen $val=$search
if $len < 2
del $search
var $disable_js = //
print <b>Search query too short min 2 chars</b> <br />
goto @skip_1
endif
# Search query health check
# uncomment the next 3 lines to ban wildcards and negation in the search query
# var $neg = call strpos $haystack=#$search;$needle=-
# var $star = call strpos $haystack=#$search;$needle=*
# var $query = call strpos $haystack=#$search;$needle=?
var $dquot = call strpos $haystack=#$search;$needle="
var $squot = call strpos $haystack=#$search;$needle='
if $star or $query or $dquot or $squot or $neg==1
del $search
var $disable_js = //
print <b>Search query contains invalid chars</b> <br />
goto @skip_1
endif
# Set up the search
# Check for "anywhere"
get anywhere
if $anywhere
var $checked = checked="checked"
var $any = *
endif
# Filelist template that creates a javascript array
var $template = ['.file_name_parsed.','.file_url.','.file_size.','.file_datetime.','.file_mime.','.file_type.'],
# Filelist parameters
var $params = template="$template" filter="$any$search*" per_page="0"
# Filelist patterns
var $list1 = xt:filelist folder="/main/2go/files" $params
var $list2 = xt:filelist folder="/FOLDER_2" $params
var $list3 = xt:filelist folder="/FOLDER_3" $params
var $list4 = xt:filelist folder="/FOLDER_4" $params
# Dummy array entry to use up the last , in the filelist template
var $dummy = ['dummy']
# skip_1 landing point
@skip_1
# The search form
print {{
<div class="search_form" id="srch">
<form action="<xt:url/>#srch" method="post">
<input type="search" name="search" value="$search" />
<input type="submit" value="Search" /><br />
Anywhere in filename <input type="checkbox" name="anywhere" value="1" $checked />
</form>
</div><br />}}
# The actual filelist functions are created outside the xtscript to avoid timeouts
# Create an array of the filelist arrays
<!--/parser:xtscript-->
<script type="text/javascript">
// Results array
{_$$disable_js|}var list=[<{_$$list1|}><{_$$list2|}><{_$$list3|}><{_$$list4|}>{_$$dummy|}];
<!--parser:xtscript-->
if $search
# Get page number
get_or_default results_page;0
# Results per page
var $per_page=10
# Create javascript
print {{list.length=list.length-1;
var length=list.length;
if (length){
var total_pages=Math.floor(}}
print {{list.length/$per_page);
var results_page=$results_page;
var search='$search';
var per_page=$per_page}}
print_raw {{;
var offset=(results_page*per_page);
var page_end=(offset + per_page);
if (page_end >= length)page_end=length;
// Output results
list.sort();
document.write('<div class="zxfourborder">');
if (length >= 1)document.write('<div class="zxfourborder" style="text-align:left">'+(offset+1)+' to '+page_end+' of ');
document.write( length+' Result');
if (length > 1) document.write('s');
document.write(' For "<span> '+search+' </span>"</div>');
var baze='http://weezywap.xtgem.com/';
for(i=offset;i < page_end;i++){
document.write('<div class="full" style="background:url('+baze+'/B/Bg/download.png);">\
<table cellspacing="0"><tr style="text-align:center"><td align="left">');
lastDot = list[i][0].lastIndexOf('.') ;
if (lastDot > 0){
ext= list[i][0].slice(lastDot+1);
document.write('<img src="'+baze+'/images/mimes/'+ext+'.png" alt="'+list[i][0]+'" class="ico" width="47px" height="50px" />');}
document.write('</td><td align="left"><img src="'+baze+'/images/rating.gif" /><br/><b>Name:</b><font color="green"> '+list[i][0]+'</font><br/><b>Size:</b> '+list[i][2]+'<br/>• <a href="/download?file='+list[i][5]+'&name='+list[i][0]+'&type='+list[i][4]+'&size='+list[i][2]+'&ext='+list[i][6]+'&link='+list[i][1]+'&date='+list[i][7]+'&time='+list[i][8]+'"><b>Download</b></a></td></tr></table></div><hr style="border: 1px dotted red;"/>');}
}}
# Pagination
var $common_part = document.write('<form style="display:inline" action="<xt:url />#srch" method="post"><input type="hidden" name="search" value="$search" /><input type="hidden" name="anywhere" value="$anywhere" /><input type="hidden" name="results_page" value="'+(results_page
print_raw {{
if (length > per_page){
document.write('<div class="pagination">');
if (offset > per_page){}}
print $common_part
print_raw {{-2)+'" /><span><input type="submit" value="'+(results_page-1)+'" /></span></form>');}
if (offset){}}
print $common_part
print_raw {{-1)+'" /><span><input type="submit" value="'+results_page+'" /></span></form>');}
document.write('<form style="display:inline"><span><input type="button" value="'+(results_page+1)+'" /></span></form>');
if (page_end < length){}}
print $common_part
print_raw {{+1)+'" /><span><input type="submit" value="'+(results_page+2)+'" /></span></form>');}
if (page_end < (length-per_page)){}}
print $common_part
print_raw {{+2)+'" /><span><input type="submit" value="'+(results_page+3)+'" /></span></form>');}
document.write('</div>');}
document.write('</div>');}}
# No search results
print } else {document.write('<div class="zxfourborder"> No results for "<b>$search</b>"
print ;</div>');}
endif
<!--/parser:xtscript-->
</script>
Copy code
# Get the search query
get search
# Trim any spaces
var $search = call trim $val=$search
# No search query
if not $search
var $disable_js = //
goto @skip_1
endif
# Search query length check
var $len = call strlen $val=$search
if $len < 2
del $search
var $disable_js = //
print <b>Search query too short min 2 chars</b> <br />
goto @skip_1
endif
# Search query health check
# uncomment the next 3 lines to ban wildcards and negation in the search query
# var $neg = call strpos $haystack=#$search;$needle=-
# var $star = call strpos $haystack=#$search;$needle=*
# var $query = call strpos $haystack=#$search;$needle=?
var $dquot = call strpos $haystack=#$search;$needle="
var $squot = call strpos $haystack=#$search;$needle='
if $star or $query or $dquot or $squot or $neg==1
del $search
var $disable_js = //
print <b>Search query contains invalid chars</b> <br />
goto @skip_1
endif
# Set up the search
# Check for "anywhere"
get anywhere
if $anywhere
var $checked = checked="checked"
var $any = *
endif
# Filelist template that creates a javascript array
var $template = ['.file_name_parsed.','.file_url.','.file_size.','.file_datetime.','.file_mime.','.file_type.'],
# Filelist parameters
var $params = template="$template" filter="$any$search*" per_page="0"
# Filelist patterns
var $list1 = xt:filelist folder="/main/2go/files" $params
var $list2 = xt:filelist folder="/FOLDER_2" $params
var $list3 = xt:filelist folder="/FOLDER_3" $params
var $list4 = xt:filelist folder="/FOLDER_4" $params
# Dummy array entry to use up the last , in the filelist template
var $dummy = ['dummy']
# skip_1 landing point
@skip_1
# The search form
print {{
<div class="search_form" id="srch">
<form action="<xt:url/>#srch" method="post">
<input type="search" name="search" value="$search" />
<input type="submit" value="Search" /><br />
Anywhere in filename <input type="checkbox" name="anywhere" value="1" $checked />
</form>
</div><br />}}
# The actual filelist functions are created outside the xtscript to avoid timeouts
# Create an array of the filelist arrays
<!--/parser:xtscript-->
<script type="text/javascript">
// Results array
{_$$disable_js|}var list=[<{_$$list1|}><{_$$list2|}><{_$$list3|}><{_$$list4|}>{_$$dummy|}];
<!--parser:xtscript-->
if $search
# Get page number
get_or_default results_page;0
# Results per page
var $per_page=10
# Create javascript
print {{list.length=list.length-1;
var length=list.length;
if (length){
var total_pages=Math.floor(}}
print {{list.length/$per_page);
var results_page=$results_page;
var search='$search';
var per_page=$per_page}}
print_raw {{;
var offset=(results_page*per_page);
var page_end=(offset + per_page);
if (page_end >= length)page_end=length;
// Output results
list.sort();
document.write('<div class="zxfourborder">');
if (length >= 1)document.write('<div class="zxfourborder" style="text-align:left">'+(offset+1)+' to '+page_end+' of ');
document.write( length+' Result');
if (length > 1) document.write('s');
document.write(' For "<span> '+search+' </span>"</div>');
var baze='http://weezywap.xtgem.com/';
for(i=offset;i < page_end;i++){
document.write('<div class="full" style="background:url('+baze+'/B/Bg/download.png);">\
<table cellspacing="0"><tr style="text-align:center"><td align="left">');
lastDot = list[i][0].lastIndexOf('.') ;
if (lastDot > 0){
ext= list[i][0].slice(lastDot+1);
document.write('<img src="'+baze+'/images/mimes/'+ext+'.png" alt="'+list[i][0]+'" class="ico" width="47px" height="50px" />');}
document.write('</td><td align="left"><img src="'+baze+'/images/rating.gif" /><br/><b>Name:</b><font color="green"> '+list[i][0]+'</font><br/><b>Size:</b> '+list[i][2]+'<br/>• <a href="/download?file='+list[i][5]+'&name='+list[i][0]+'&type='+list[i][4]+'&size='+list[i][2]+'&ext='+list[i][6]+'&link='+list[i][1]+'&date='+list[i][7]+'&time='+list[i][8]+'"><b>Download</b></a></td></tr></table></div><hr style="border: 1px dotted red;"/>');}
}}
# Pagination
var $common_part = document.write('<form style="display:inline" action="<xt:url />#srch" method="post"><input type="hidden" name="search" value="$search" /><input type="hidden" name="anywhere" value="$anywhere" /><input type="hidden" name="results_page" value="'+(results_page
print_raw {{
if (length > per_page){
document.write('<div class="pagination">');
if (offset > per_page){}}
print $common_part
print_raw {{-2)+'" /><span><input type="submit" value="'+(results_page-1)+'" /></span></form>');}
if (offset){}}
print $common_part
print_raw {{-1)+'" /><span><input type="submit" value="'+results_page+'" /></span></form>');}
document.write('<form style="display:inline"><span><input type="button" value="'+(results_page+1)+'" /></span></form>');
if (page_end < length){}}
print $common_part
print_raw {{+1)+'" /><span><input type="submit" value="'+(results_page+2)+'" /></span></form>');}
if (page_end < (length-per_page)){}}
print $common_part
print_raw {{+2)+'" /><span><input type="submit" value="'+(results_page+3)+'" /></span></form>');}
document.write('</div>');}
document.write('</div>');}}
# No search results
print } else {document.write('<div class="zxfourborder"> No results for "<b>$search</b>"
print ;</div>');}
endif
<!--/parser:xtscript-->
</script>
Copy code
(Edited by 2015-11-01 14:29 Lordeagle )
-
·
- rated(0)