Вход Регистрация
Файл: js/al/abuse.js
Строк: 256
<?php
Abuse 
= {
  
changeReasonDD: [],
  
switchSection: function (newSection, event) {
    if (
checkEvent(event)) {
      return 
false;
    }
    
hide('ab_pages');
    
show('ab_progress');
    var 
params = clone(cur.options.base_params || {0: 'abuse'});
    if (
newSection != 'all') {
      
params = extend(params, {section: newSection});
    }
    return 
nav.go(params);
  },
  
switchActivitySection: function (oid, reason, solved, section, event) {
    if (
checkEvent(event)) {
      return 
true;
    }
    
ajax.post('abuse.php', {act: 'a_get_activity', reason: reason, solved: solved, oid: oid, section: section}, {
      
showProgress: setStyle.pbind('ab_owner_header_progress' + oid, {display: 'inline'}),
      
hideProgress: hide.pbind('ab_owner_header_progress' + oid),
      
onDone: function (html) {
        var 
suffix = '';
        if (
section == 'recent_media' || section == 'recent_photos' || section == 'recent_videos' || section == 'photos' || section == 'videos') {
          
suffix = '_media';
        }
        
val('ab_abuserow_activity' + suffix + oid, html);
      }
    });
    return 
false;
  },
  
checkActivity: function (oid, ev, el, event) {
    if (
Abuse.checkActivityClick(el, event)) {
      return;
    }
    var 
isOn = false, checked = cur.checkedActivity[oid];
    if (
checked == undefined) {
      
checked = cur.checkedActivity[oid] = {};
    } else if (
checked[ev]) {
      
isOn = true;
    }
    
toggleClass(ge('ab_abuserow_activity_' + ev), 'ab_abuserow_activity_on');
    if (
isOn) {
      
delete checked[ev];
    } else {
      
checked[ev] = 1;
    }
  },
  
checkActivityClick: function (el, event) {
    
event = event || window.event;
    if (!
el && !event) return false;
    var 
target = event.target || event.srcElement,
        
i = 4,
        
foundGood = false,
        
checkeRE = /ab_abuserow_activity_info|ab_userow_activity_photo/;
    do {
      if (!
target ||
          
target == el ||
          
target.onclick ||
          
target.onmousedown ||
          
target.tagName == 'A' ||
          
target.tagName == 'IMG' ||
          
target.tagName == 'TEXTAREA' ||
          (
foundGood = checkeRE.test(target.className))
      ) {
        break;
      }
    } while (
i-- && (target = target.parentNode));
    if (!
foundGood) {
      return 
true;
    }
    var 
sel = trim((
      
window.getSelection && window.getSelection() ||
      
document.getSelection && document.getSelection() ||
      
document.selection && document.selection.createRange().text || ''
    
).toString());
    if (
sel) {
      return 
true;
    }
    return 
false;
  },
  
checkLogMsg: function (msg_id) {
    var 
pos = indexOf(cur.selMsgs, msg_id), row = ge('mess' + msg_id);
    if (!
row || cur.deletedRows[msg_id]) return;
    if (
pos == -1) {
      if (
cur.selMsgs.length >= 100) {
        return 
false;
      }
      
cur.selMsgs.push(msg_id);
      
addClass(row, 'im_sel_row');
      
removeClass(ge('mess_check' + msg_id), 'im_log_check_on');
      
setStyle('ma' + msg_id, {visibility: ''});
    } else {
      
cur.selMsgs.splice(pos, 1);
      
removeClass(row, 'im_sel_row');
    }
    
val('im_n_marked', getLang('mail_im_X_sel_msgs', cur.selMsgs.length));
    
toggle('im_tabs', !cur.selMsgs.length);
    
toggle('im_log_controls', cur.selMsgs.length);
  },

  
solve: function (oid, status, hash) {
    var 
evs = [];
    if (
cur.checkedActivity) each(cur.checkedActivity[oid] || {}, function (ev) {evs.push(ev)});

    
ajax.post('abuse.php', {act: 'a_solve', oid: oid, status: status, evs: evs.join(','), hash: hash, reason: ge('top_reason_'+oid).value}, {
      
onDone: function (text) {
        
val('ab_abuserow_solveform' + oid, text);
      }
    });
    
val('ab_abuserow_solveform' + oid, '<div class="progress ab_admin_solve_progress"></div>');
    if (
cur.options) {
      if (!
cur.options.section) {
        
cur.pgOffset--;
        
cur.pgCount--;
        
animate('ab_abuserow' + oid, {opacity: 0.5}, 200);
      } else {
        
cur.pgOffset++;
        
cur.pgCount++;
      }
    }
    return 
false;
  },
  
solveCancel: function (oid, solved, hash) {
    
ajax.post('abuse.php', {act: 'a_cancel_solve', oid: oid, solved: solved, hash: hash}, {
      
onDone: function (text) {
        
val('ab_abuserow_solveform' + oid, text);
      }
    });
    
val('ab_abuserow_solveform' + oid, '<div class="progress ab_admin_solve_progress"></div>');
    if (
cur.options) {
      if (!
cur.options.section) {
        
cur.pgOffset++;
        
cur.pgCount++;
        
animate('ab_abuserow' + oid, {opacity: 1}, 200);
      } else {
        
cur.pgOffset--;
        
cur.pgCount--;
      }
    }
    return 
false;
  },
  
reasonsBox: function (oid, type, solved) {
    return 
showBox('abuse.php', {act: 'a_reasons_box', oid: oid, type: type || 0, solved: solved || 0}, {
      
params: {bodyStyle: 'height: 300px; padding: 0;'}
    });
  },
  
showFullPhoto: function (oid, src, targ) {
    if (
cur.photoSrc != src) {
      
hide(cur.photo);
      
val(cur.photo, '<img class="ab_full_photo" src="' + (cur.photoSrc = src) + '"/>');
    }
    
show(cur.photo);
    var 
pos = getXY(targ);
    
setStyle(cur.photo, {top: pos[1], left: pos[0] - 210});
  },
  
hideFullPhoto: function () {
    
hide(cur.photo);
  },
  
initCommon: function () {
    
placeholderSetup('ab_search');
    
addEvent(ge('ab_search'), 'keydown', function (e) {
      if (
e.keyCode != KEY.RETURN) {
        return;
      }
      var 
v = val(this);
      if (!
v) return;
      
hide('ab_pages');
      
show('ab_progress');
      
nav.go({0: 'abuse', q: v});
    });
    
bodyNode.insertBefore(cur.photo = ce('div', {id: 'ab_full_photo'}), ge('page_wrap'));
    
cur.destroy.push(re.pbind(cur.photo));

    
cur._back = {
      
text: getLang('global_back'),
      
show: [],
      
hide: [Abuse.hideFullPhoto],
      
loc: false
    
};
    if (
window.Pagination && cur.initScrollFn) {
      
cur._back.show.push(Pagination.reinit.pbind(false));
      
cur._back.hide.push(Pagination.deinit);
    }
  },
  
init: function (opts) {
    
extend(cur, {
      
options: opts,
      
checkedActivity: {},
      
module: 'abuse',

      
pgStart: opts.start,
      
pgOffset: opts.offset,
      
pgCount: opts.count,
      
pgPerPage: opts.per_page,
      
pgCont: ge('ab_rows'),
      
pgMore: ge('ab_more_link'),
      
pgPages: ge('ab_pages'),
      
pgMorePrg: ge('ab_more_progress'),
      
pgPreload: opts.preload,
      
pgUrl: opts.url,
      
pgParams: opts.params,
      
pgHref: opts.href
    
});
    
Pagination.init();
    
cur.destroy.push(Pagination.deinit);
    
Abuse.initCommon();
  },
  
initModerators: function(opts) {
    var 
tableOptions = {layout: {topControl: '', bottomControl: ''}, noControls: 1};
    
cur.paginatedTable = new PaginatedTable(ge('paginated_table'), tableOptions, opts.table_content);
    
Abuse.initCommon();
  },
  
initSingle: function (opts) {
    
extend(cur, {
      
options: opts || {},
      
checkedActivity: {},
      
module: 'abuse'
    
});
    
Abuse.initCommon();
  },
  
initChangeReasonDD: function (oid) {
    if (
Abuse.changeReasonDD[oid]) {
      
re(Abuse.changeReasonDD[oid].container);
    }
    
Abuse.changeReasonDD[oid] = new DropdownMenu([[1,'Порнография'],[2,'Спам'],[3,'Угрозы']], {
      
target: ge('ab_changetype_' + oid + '_dd'),
      
value: (ge('top_reason_' + oid)) ? ge('top_reason_' + oid).value : 0,
      
fadeSpeed: 0,
      
onSelect: function(event) {
        
ge('top_reason_' + oid).value = event.target.index || 0;
      }
    });
  }
}


try{
stManager.done('abuse.js');}catch(e){}
?>
Онлайн: 2
Реклама