Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- function vkCopyPhotos(){
- var REQ_CNT=10;//100;
- var REQ_DELAY=400;
- var box=null;
- var ids=[];
- var proc_offset=0;
- var cur_offset=0;
- var abort=false;
- var done=function(){
- box.hide();
- vkMsg(IDL("CopyDone"),3000);
- };
- var target_aid=0;
- var oid=cur.oid;
- var copy=function(callback){
- if (abort) return;
- var proc_count=ids.length;
- ge('vk_proc_info').innerHTML=vkProgressBar(proc_offset,proc_count,310,IDL('copying..')+' %');
- var obj=ids[proc_offset];
- if (!obj){
- ge('vk_proc_info').innerHTML=vkProgressBar(1,1,310,' ');
- proc_offset=0;
- callback();
- } else
- dApi.call('photos.copy', {owner_id:obj[0], photo_id:obj[1]},function(r,t){
- proc_offset++;
- var pid = r.response;
- if (target_aid!=0){
- setTimeout(function(){
- dApi.call('photos.move',{owner_id:vk.id, photo_id:pid, target_album_id:target_aid},function(r){
- setTimeout(function(){copy(callback);},REQ_DELAY);
- })
- },REQ_DELAY);
- } else {
- setTimeout(function(){copy(callback);},REQ_DELAY);
- }
- });
- };
- var info_count=0;
- var scan=function(){
- ids=[];
- if (cur_offset==0){
- ge('vk_proc_info').innerHTML=vkProgressBar(1,1,310,' ');
- ge('vk_scan_info').innerHTML=vkProgressBar(cur_offset,2,310,IDL('listreq')+' %');
- }
- dApi.call('photos.getAll',{owner_id:oid, no_service_albums:0, offset:cur_offset, count:REQ_CNT},function(r){
- if (abort) return;
- var data=r.response;
- if (data==0 || !data[1]){
- done();
- return;
- }
- if (info_count==0) info_count=data.shift();
- else data.shift();
- ge('vk_scan_info').innerHTML=vkProgressBar(cur_offset+REQ_CNT,info_count,310,IDL('listreq')+' %');
- for (var i=0;i<data.length;i++) ids.push([data[i].owner_id,data[i].pid]);
- cur_offset+=REQ_CNT;
- //vklog(ids);
- copy(scan);
- });
- };
- var run=function(){
- box=new MessageBox({title: IDL('Copy'),closeButton:true,width:"350px"});
- box.removeButtons();
- box.addButton(IDL('Cancel'),function(r){abort=true; box.hide();},'no');
- var html='<div id="vk_proc_info" style="padding-bottom:10px;"></div><div id="vk_scan_info"></div>';
- box.content(html).show();
- scan();
- };
- box=new MessageBox({title: IDL('Copy'),closeButton:true,width:"350px"});
- box.removeButtons();
- box.content(vkBigLdrImg).show();
- var sel=function(){
- box.content('<div id="vk_sel_album"></div>').show();
- box.addButton(IDL('OK'),function(){box.hide(); run();},'no');
- stManager.add(['ui_controls.js', 'ui_controls.css'],function(){
- var albums=_vk_albums_list_cache['move'+oid];
- var def_aid=0;
- cur.vk_pvGrabToAlbum = new Dropdown(ge('vk_sel_album'), albums, {
- width: 125,
- selectedItems: [def_aid],
- autocomplete: (albums.length > 7),
- onChange: function(val) {
- if (!intval(val)) {
- cur.vk_pvGrabToAlbum.val(def_aid);
- }
- target_aid=cur.vk_pvGrabToAlbum.val();
- }
- });
- });
- }
- // GET ALBUMS [cache/API]
- if (_vk_albums_list_cache['move'+oid])
- sel();
- else
- dApi.call('photos.getAlbums',{uid:vk.id},function(r){
- var data=r.response;
- var albums = [];
- var albums_full=[];
- for (var i=0; i<data.length;i++)
- //if (data[i].size<501)
- if (data[i].size<10001)
- albums.push([data[i].aid,data[i].title,data[i].size+""]);
- /*else
- albums_full.push([data[i].aid,data[i].title,data[i].size+""]);*/
- _vk_albums_list_cache['move'+oid]=albums.concat(albums_full);
- sel();
- });
- }
- vkCopyPhotos();
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement