jQuery(function() { jQuery('#cffx_fix_meta input').click(function(){ cffx_fix_postmeta('cffx_fix_meta'); return false; }); /* jQuery('#cffx_fix_attachment_metadata').submit(function(){ cffx_fix_postmeta('cffx_fix_attachment_metadata'); return false; }); */ jQuery('#cffx_fix_attachment_guids input').click(function() { cffx_fix_postmeta('cffx_fix_attachment_guids'); return false; }); function cffx_fix_postmeta(metafix) { var batch_offset = 0; var batch_increment = 100; var finished = false; params = {'cffx_rebuild_indexes':'1', 'cffx_rebuild_offset':'0' } cffx_update_status('Processing post meta'); // process posts while(!finished) { response = cffx_batch_request(batch_offset,batch_increment,metafix); if(!response.result && !response.finished) { cffx_update_status('Post Meta processing failed. Server said: ' + response.message); return; } else if(!response.result && response.finished) { cffx_update_status('Post Meta processing complete.'); finished = true; } else if(response.result) { cffx_update_status(response.message); batch_offset = (batch_offset + batch_increment); } } } // make a request function cffx_batch_request(offset,increment,metafix) { var r = jQuery.ajax({type:'post', url:'index.php', dataType:'json', async:false, data:'cf_action='+metafix+'&cffx_batch_offset=' + offset + '&cffx_batch_increment=' + increment }).responseText; var j = eval( '(' + r + ')' ); return j; } // handle the building of indexes function cffx_index_build_callback(response) { if(response.result) { cffx_update_status('Post Meta Fix Complete'); } else { cffx_update_status('Failed to fix post meta'); } } // update status message function cffx_update_status(message) { if(!jQuery('#index-status').hasClass('updated')) { jQuery('#index-status').addClass('updated'); } jQuery('#index-status p').html(message); } });