XtGem Forum catalog
Eaglenet logo
24/7 updates on happenings in africa
*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.
# 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
# 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
# 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
# Set up the search
# Check for "anywhere"
get anywhere
if $anywhere
var $checked = checked="checked"
var $any = *
# 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
# 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 />
</div><br />}}
# The actual filelist functions are created outside the xtscript to avoid timeouts
# Create an array of the filelist arrays
<script type="text/javascript">
// Results array
{_$$disable_js|}var list=[<{_$$list1|}><{_$$list2|}><{_$$list3|}><{_$$list4|}>{_$$dummy|}];
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
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 &quot;<span> '+search+' </span>&quot;</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>');}
# No search results  
print } else {document.write('<div class="zxfourborder"> No results for &quot;<b>$search</b>&quot
print ;</div>');}

Copy code
(Edited by 2015-11-01 14:29 Lordeagle )
  • rated(0)
*STRIKELORD said to Lordeagle 0n 2015-11-02 23:07
Nice 1, eagle!
  • rated(0)
*UNLIMITEDAPPS 2015-11-09 10:59
Pls divide the above code 4 me, it's too much and i can't copy it
  • rated(0)
*LORDEAGLE said to Unlimitedapps 0n 2015-11-09 17:35
Dividing the code may exit the xtscript I advice u use higher device to copy it to ur site.
  • rated(0)