Advertisement
KiberInfinity

vk domain links -> ids links

Jun 20th, 2013
703
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. vk_pages.parse_screen_names=function(list){
  2.    var PER_REQ=100;
  3.    var offset=0;
  4.    var links=[];
  5.    var oid=null;
  6.    var type='owner_id';
  7.    var lid=0;
  8.    var abort=false;
  9.    if (oid) list.push(oid);
  10.    function next(){
  11.       offset=0;
  12.       if (lid>=list.length) {
  13.          var to_file=isChecked('links_to_file');
  14.          vkSetVal('vk_collect_links_to_file',to_file?'1':'0');
  15.          ge('vk_links_container').innerHTML='<h2>count: '+links.length+'</h2><textarea style="width:590px; height:300px;">'+links.join('\n')+'</textarea>';
  16.          if (to_file)
  17.             vkSaveText(links.join('\n'),("ids_list_"+list.length).substr(0,250)+".txt");
  18.          return;
  19.       }
  20.       oid=list[lid]+'';
  21.       oid=oid.split(/\?|#/)[0].split('/').pop().replace(/[^a-zA-Z0-9_\.]+/g,'');
  22.       if (!oid || oid==''){
  23.          lid++;
  24.          next();
  25.       } else {
  26.          scan();
  27.          lid++;
  28.       }
  29.    }
  30.    
  31.    function scan(){
  32.       if (abort) return;
  33.       dApi.call('utils.resolveScreenName',{screen_name:oid},function(r){
  34.          if (abort) return;
  35.          var data=r.response;
  36.          if (r.error){
  37.             ge('vk_scan_log').innerHTML+='Scan error. <b>'+oid+'</b> ('+r.error.error_msg+'). Skip...<br>';
  38.             next();
  39.             return;
  40.          }
  41.          var lnk='http://vk.com/';
  42.          switch (data.type){
  43.             case 'user':
  44.                lnk+='id'+data.object_id;
  45.                break;
  46.             case 'group':
  47.                lnk+='club'+data.object_id;
  48.                break;
  49.             case 'page':
  50.                lnk+='public'+data.object_id;
  51.                break;    
  52.             case 'event':
  53.                lnk+='event'+data.object_id;
  54.                break;                  
  55.             case 'application':
  56.                lnk+='app'+data.object_id;
  57.                break;
  58.             default:
  59.                lnk=data.type?'http://vk.com/'+data.type+data.object_id:'Not found: '+oid;
  60.          }
  61.          links.push(lnk);
  62.          ge('vk_links_container_progr').innerHTML=(list.length>1?vkProgressBar(lid,list.length,600):'');
  63.          next();
  64.       })
  65.    }
  66.    
  67.       var html='<div id="vk_links_container"><div id="vk_links_container_progr"></div>'+
  68.                '<br><div class="checkbox'+(vkGetVal('vk_collect_links_to_file')=='1'?' on':'')+' fl_l" id="links_to_file" onclick="checkbox(this);"><div></div>Save links list to file after scan</div><br><div id="vk_scan_log"></div></div>';
  69.    var box=vkAlertBox(IDL('Links'),html,function(){abort=true;});
  70.    box.setOptions({width:"640px"});
  71.    next();
  72. }
  73. vk_pages.scan_links_list_box=function(){
  74.    var html='<textarea id="vk_links_list" style="width:560px; height:300px;"></textarea>';
  75.    
  76.    var aBox = new MessageBox({title: IDL('Enter_links')});
  77.    aBox.removeButtons();
  78.    aBox.addButton(getLang('box_cancel'),aBox.hide, 'no')
  79.    aBox.addButton('OK',function(){  
  80.       var links=ge('vk_links_list').value;
  81.       links=trim(links).split(/\s*[\r\n,]+\s*/);
  82.       aBox.hide();
  83.       if (links.length==0){
  84.          alert('List is empty...');
  85.       } else {
  86.          vk_pages.parse_screen_names(links);
  87.       }
  88.    },'yes');
  89.    aBox.content(html);
  90.    aBox.setOptions({width:"600px", onHide:function(){aBox.content('');}});
  91.    aBox.show();
  92. }
  93. vk_pages.scan_links_list_box();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement