Hormold

VK Change (#1375089302)

Jul 29th, 2013
172
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
PHP 27.45 KB | None | 0 0
  1. Файл - docs.js (Старый размер - 22329 | Новый - 0):
  2. 0.  - var Docs = {
  3. 1.  -
  4. 2.  - init: function() {
  5. 3.  -   extend(cur, {
  6. 4.  -     searchInput: ge('docs_search'),
  7. 5.  -     searchReset: ge('docs_reset'),
  8. 6.  -     listCont: ge('docs_list'),
  9. 7.  -     summary: ge('docs_summary'),
  10. 8.  -     secFilter: ge('docs_side_filter'),
  11. 9.  -     pageEnd: ge('page_end'),
  12. 10.  -     searchCont: ge('docs_search_list')
  13. 11.  -   });
  14. 12.  -
  15. 13.  -   cur.searchDD = new TagsDD(cur.searchInput, {
  16. 14.  -     width: 442,
  17. 15.  -     paddings: 50,
  18. 16.  -     search: 1,
  19. 17.  -     placeholder: cur.lang['docs_placeholder'],
  20. 18.  -     url: 'docs.php',
  21. 19.  -     params: {
  22. 20.  -       act: 'a_suggestion',
  23. 21.  -       type: 'all'
  24. 22.  -     },
  25. 23.  -     capitalCase: 1,
  26. 24.  -     onChange: function(force, obj) {
  27. 25.  -       if (force) {
  28. 26.  -         Docs.updateList(false, obj);
  29. 27.  -       } else {
  30. 28.  -         Docs.updateListSoon(false, obj);
  31. 29.  -       }
  32. 30.  -     }
  33. 31.  -   });
  34. 32.  -
  35. 33.  -   Docs.indexDocs();
  36. 34.  -   cur.searchDD.focusInput();
  37. 35.  -   cur.onPrivacyChanged = function(key, val) {
  38. 36.  -     switch (val) {
  39. 37.  -       case 'open':
  40. 38.  -         Docs.openItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
  41. 39.  -         break;
  42. 40.  -       case 'edit':
  43. 41.  -         Docs.editItem(cur.docsMenu[0], cur.docsMenu[1]);
  44. 42.  -         break;
  45. 43.  -       case 'download':
  46. 44.  -         Docs.downloadItem(cur.docsMenu[0], cur.docsMenu[1]);
  47. 45.  -         break;
  48. 46.  -       case 'add':
  49. 47.  -         Docs.addItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
  50. 48.  -         break;
  51. 49.  -       case 'delete':
  52. 50.  -         Docs.deleteItem(cur.docsMenu[0], cur.docsMenu[1], cur.hash);
  53. 51.  -         break;
  54. 52.  -       case 'get_link':
  55. 53.  -         Docs.getLink(cur.docsMenu[0], cur.docsMenu[1]);
  56. 54.  -         break;
  57. 55.  -     }
  58. 56.  -
  59. 57.  -     return true;
  60. 58.  -   }
  61. 59.  -
  62. 60.  -   cur.list = {all: cur.docs};
  63. 61.  -   cur.cache = {};
  64. 62.  -
  65. 63.  -   cur.nav.push(function(changed, old, n, opts) {
  66. 64.  -     if (old[0] == n[0] && n.section && !changed.id) {
  67. 65.  -       Docs.section(n.section);
  68. 66.  -       nav.setLoc(n);
  69. 67.  -       return false;
  70. 68.  -     }
  71. 69.  -   });
  72. 70.  -
  73. 71.  -   cur.scrollNode = browser.msie6 ? pageNode : window;
  74. 72.  -
  75. 73.  -   addEvent(browser.msie6 ? pageNode : window, 'scroll', Docs.scrollResize);
  76. 74.  - },
  77. 75.  -
  78. 76.  - scrollResize: function () {
  79. 77.  -   if (browser.mobile) return;
  80. 78.  -   var docEl = document.documentElement;
  81. 79.  -   var ch = window.innerHeight || docEl.clientHeight || bodyNode.clientHeight;
  82. 80.  -   var st = scrollGetY();
  83. 81.  -   if (!cur.pageEnd) {
  84. 82.  -     return;
  85. 83.  -   }
  86. 84.  -   if (st + ch > cur.pageEnd.offsetTop) {
  87. 85.  -     setTimeout(function() {
  88. 86.  -       Docs.showMore();
  89. 87.  -     }, 0);
  90. 88.  -   }
  91. 89.  - },
  92. 90.  -
  93. 91.  - section: function(section) {
  94. 92.  -   var oldSec = geByClass('cur_section', cur.secFilter)[0];
  95. 93.  -   removeClass(oldSec, 'cur_section');
  96. 94.  -   addClass(ge('docs_section_'+section), 'cur_section');
  97. 95.  -
  98. 96.  -   if (cur.silent) {
  99. 97.  -     cur.onSilentLoad = function() {
  100. 98.  -       Docs.section(section);
  101. 99.  -     }
  102. 100.  -     return;
  103. 101.  -   }
  104. 102.  -   cur.section = section;
  105. 103.  -   Docs.getList();
  106. 104.  -
  107. 105.  -   Docs.updateList();
  108. 106.  -   cur.searchShown = 0;
  109. 107.  - },
  110. 108.  -
  111. 109.  - getList: function(section) {
  112. 110.  -   section = section || cur.section;
  113. 111.  -   if (cur.searchStr) {
  114. 112.  -     var key = section+'_'+cur.searchStr;
  115. 113.  -     cur.selection = {
  116. 114.  -       re: new RegExp('('+cur.searchStr.replace(cur.index.delimiter, '|').replace(/[\/\\\(\)\[\]\{\}\*,]/g, '').replace(/^\||\|$/g, '')+')', 'gi'),
  117. 115.  -       val: '<em>$1</em>'
  118. 116.  -     };
  119. 117.  -   } else {
  120. 118.  -     var key = section;
  121. 119.  -   }
  122. 120.  -
  123. 121.  -   if (cur.list[key]) {
  124. 122.  -     cur.found = cur.list[key].length;
  125. 123.  -     return cur.list[key];
  126. 124.  -   }
  127. 125.  -
  128. 126.  -   var list = (cur.searchStr) ? cur.index.search(cur.searchStr) : cur.docs;
  129. 127.  -
  130. 128.  -   cur.list[key] = Docs.filterList(list);
  131. 129.  -   cur.found = cur.list[key].length;
  132. 130.  -   return cur.list[key];
  133. 131.  - },
  134. 132.  -
  135. 133.  - filterList: function(input) {
  136. 134.  -   if (cur.section == 'all') {
  137. 135.  -     return input;
  138. 136.  -   }
  139. 137.  -   var list = [];
  140. 138.  -   var len = input.length;
  141. 139.  -   for(var i = 0; i < len; i++) {
  142. 140.  -     var doc = input[i];
  143. 141.  -     if ((cur.section == 'sended' || cur.section == 'sent') && doc[5] == 1) {
  144. 142.  -       list.push(doc);
  145. 143.  -     }
  146. 144.  -   }
  147. 145.  -   return list;
  148. 146.  - },
  149. 147.  -
  150. 148.  - switchTab: function() {
  151. 149.  -   return false;
  152. 150.  - },
  153. 151.  -
  154. 152.  - indexDocs: function() {
  155. 153.  -   if (!cur.docs) return;
  156. 154.  -   cur.index = new vkIndexer(cur.docs, function(obj) {
  157. 155.  -     return obj[2]+' '+obj[6];
  158. 156.  -   });
  159. 157.  - },
  160. 158.  -
  161. 159.  - addDocBox: function() {
  162. 160.  -   showBox('docs.php', {act: 'add_box', oid: cur.oid}, {params: {width: '410px', bodyStyle: 'padding: 0px; position: relative;'}});
  163. 161.  - },
  164. 162.  -
  165. 163.  - addDoc: function(doc) {
  166. 164.  -   if (!cur.docs) return;
  167. 165.  -   cur.docs.unshift(doc)
  168. 166.  -   Docs.showList(cur.docs.slice(0, 50));
  169. 167.  -   scrollToTop(200);
  170. 168.  -   Docs.indexDocs();
  171. 169.  -   cur.count += 1;
  172. 170.  -   cur.found += 1;
  173. 171.  -   Docs.section('all');
  174. 172.  -   setTimeout(function() {
  175. 173.  -     var added = ge('docs_file_'+doc[4]+'_'+doc[0]);
  176. 174.  -     setStyle(added, 'backgroundColor', '#E1E7ED');
  177. 175.  -     setTimeout(animate.pbind(added, {backgroundColor: '#FFFFFF'}, 300), 200);
  178. 176.  -   }, 0);
  179. 177.  - },
  180. 178.  -
  181. 179.  - drawList: function(list, first, cont) {
  182. 180.  -   cont = cont || cur.listCont;
  183. 181.  -   //var html = [];
  184. 182.  -   var first = first ? ' docs_item_first' : '';
  185. 183.  -   for (var i in list) {
  186. 184.  -     var item = list[i];
  187. 185.  -
  188. 186.  -     cont.appendChild(se('<div id="docs_file_'+item[4]+'_'+item[0]+'" class="docs_item'+first+'" onmouseover="Docs.rowOver('+item[4]+', '+item[0]+');" onmouseout="Docs.rowOut('+item[4]+', '+item[0]+');">'+Docs.getDocHTML(item)+'</div>'))
  189. 187.  -     first = '';
  190. 188.  -   }
  191. 189.  - },
  192. 190.  -
  193. 191.  - getDocHTML: function(item) {
  194. 192.  -   var id = item[0];
  195. 193.  -   var ext = item[1];
  196. 194.  -   var title = item[2];
  197. 195.  -   var tags = item[6];
  198. 196.  -   if (cur.selection) {
  199. 197.  -     title = title.replace(cur.selection.re, cur.selection.val);
  200. 198.  -   }
  201. 199.  -   var dateStr = item[3];
  202. 200.  -   var oid = item[4];
  203. 201.  -   var url = '/doc'+oid+'_'+id;
  204. 202.  -   var actions = '';
  205. 203.  -
  206. 204.  -
  207. 205.  -   var tags = item[6];
  208. 206.  -   if (tags) {
  209. 207.  -     tags = tags.split(',');
  210. 208.  -     for (var i in tags) {
  211. 209.  -       if (cur.selection) {
  212. 210.  -         tags[i] = tags[i].replace(cur.selection.re, cur.selection.val);
  213. 211.  -       }
  214. 212.  -       var h = (cur.searchStr) ? '' : 'href="/docs'+oid+'?tag='+encodeURIComponent(tags[i])+'"';
  215. 213.  -       tags[i] = '<a '+h+' onclick="return Docs.tagSearch(this)">'+tags[i]+'</a>';
  216. 214.  -     }
  217. 215.  -     tags = ' - <span class="docs_item_tags">'+tags.join(', ')+'</span>';
  218. 216.  -   }
  219. 217.  -   var thumb = item[8];
  220. 218.  -   if (thumb) {
  221. 219.  -     ext = '<a class="docs_item_thumb fl_l" href="'+url+'" ext="'+ext+'" onmouseover="Docs.showFileTT(this, '+oid+', '+id+')" onclick="return Docs.downloadItem('+oid+', '+id+');"><img class="docs_item_thumb_img" src="'+thumb+'"></a>';
  222. 220.  -   } else {
  223. 221.  -     if (ext.length > 6) {
  224. 222.  -       var extStr = ext.substr(0, 4)+'..';
  225. 223.  -     } else {
  226. 224.  -       var extStr = ext;
  227. 225.  -     }
  228. 226.  -     ext = '<a class="docs_item_icon" href="'+url+'" ext="'+ext+'" onclick="return Docs.downloadItem('+oid+', '+id+', event);">'+extStr+'</a>';
  229. 227.  -   }
  230. 228.  -   var mid = intval(item[7]);
  231. 229.  -
  232. 230.  -   if (oid == vk.id || mid == vk.id || (oid == cur.oid && oid < 0 && cur.groupAdmin)) {
  233. 231.  -     ext = '<div class="docs_delete_row fl_r" id="docs_delete_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 1)" onmouseout="Docs.rowInactive('+oid+', '+id+', 1)" onclick="Docs.deleteItem('+oid+', '+id+', cur.hash); return false" style="opacity: 0;"></div><div class="docs_edit_row fl_r" id="docs_edit_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 2)" onmouseout="Docs.rowInactive('+oid+', '+id+', 2)" onclick="Docs.editItem('+oid+', '+id+'); return false" style="opacity: 0;"></div>'+ext;
  234. 232.  -   } else {
  235. 233.  -     ext = '<div class="docs_add_row fl_r" id="docs_add_row'+oid+'_'+id+'" onmouseover="Docs.rowActive('+oid+', '+id+', 3)" onmouseout="Docs.rowInactive('+oid+', '+id+', 3)" onclick="Docs.addItem('+oid+', '+id+', cur.hash); return false" style="opacity: 0;"></div>'+ext;
  236. 234.  -   }
  237. 235.  -   return cur.itemTpl(oid, id, ext, title, dateStr, url, tags, intval(item[7])).join('');
  238. 236.  - },
  239. 237.  -
  240. 238.  - showList: function(list, searchStr) {
  241. 239.  -   cur.shown = list.length;
  242. 240.  -   if (cur.shown) {
  243. 241.  -     if (!cur.listCont) return;
  244. 242.  -     cur.listCont.innerHTML = '';
  245. 243.  -     Docs.drawList(list, true);
  246. 244.  -     Docs.showCont();
  247. 245.  -   } else {
  248. 246.  -     //cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s', '<b>'+searchStr.replace(/(<|>)/g, '')+'</b>')+'</div>';
  249. 247.  -   }
  250. 248.  -
  251. 249.  -   cur.searchShown = 0;
  252. 250.  - },
  253. 251.  -
  254. 252.  - showMore: function() {
  255. 253.  -   var list = Docs.getList();
  256. 254.  -   if (list.length && cur.shown < list.length) {
  257. 255.  -     var insert = list.slice(cur.shown, cur.shown + 20);
  258. 256.  -     cur.shown += insert.length;
  259. 257.  -     var html = Docs.drawList(insert, cur.shown == 0);
  260. 258.  -     if (cur.shown >= cur.found) {
  261. 259.  -       hide('show_more');
  262. 260.  -     }
  263. 261.  -   } else if (cur.searchStr && !cur.searchEnd) {
  264. 262.  -     Docs.globalSearch(false, true);
  265. 263.  -   }
  266. 264.  - },
  267. 265.  -
  268. 266.  - globalSearch: function(noProgress, soon) {
  269. 267.  -   clearTimeout(cur.searchTimeout);
  270. 268.  -   if (!cur.searchStr) return;
  271. 269.  -   var searchStr = cur.searchStr;
  272. 270.  -   if (!cur.searchShown && cur.cache[cur.searchStr]) {
  273. 271.  -     setTimeout(function() {
  274. 272.  -       var cache = cur.cache[cur.searchStr];
  275. 273.  -       if (!cur.searchShown) {
  276. 274.  -         cur.searchCont.innerHTML = '';
  277. 275.  -       }
  278. 276.  -       Docs.processGlobalSearch(searchStr, cache[0], cache[1], cache[2]);
  279. 277.  -     }, 0);
  280. 278.  -     return;
  281. 279.  -   }
  282. 280.  -   cur.searchTimeout = setTimeout(function() {
  283. 281.  -     if (searchStr != cur.searchStr) return;
  284. 282.  -
  285. 283.  -     var options = {
  286. 284.  -       onDone: function(list, shown, count) {
  287. 285.  -         try {
  288. 286.  -           var list = eval('('+list+')');
  289. 287.  -         } catch(e) {
  290. 288.  -           return false;
  291. 289.  -         }
  292. 290.  -         if (!cur.searchShown) {
  293. 291.  -           cur.searchCont.innerHTML = '';
  294. 292.  -         }
  295. 293.  -         return Docs.processGlobalSearch(searchStr, list, shown, count)
  296. 294.  -       },
  297. 295.  -       showProgress: function() {
  298. 296.  -         addClass(ge('show_more'), 'docs_more_progress');
  299. 297.  -         if (!noProgress) {
  300. 298.  -           Docs.showLoad();
  301. 299.  -         }
  302. 300.  -       },
  303. 301.  -       hideProgress: function() {
  304. 302.  -         removeClass(ge('show_more'), 'docs_more_progress');
  305. 303.  -         if (!noProgress) {
  306. 304.  -           Docs.hideLoad();
  307. 305.  -         }
  308. 306.  -       }
  309. 307.  -     };
  310. 308.  -
  311. 309.  -     ajax.post('docs.php', {act: 'search_docs', q: cur.searchStr, offset: cur.searchShown || 0, oid: cur.oid}, options);
  312. 310.  -   }, soon ? 0 : 300);
  313. 311.  - },
  314. 312.  -
  315. 313.  - processGlobalSearch: function(searchStr, list, shown, count) {
  316. 314.  -   if (searchStr != cur.searchStr) return;
  317. 315.  -   if (!cur.searchShown) {
  318. 316.  -     cur.searchEnd = false;
  319. 317.  -   }
  320. 318.  -   cur.searchCount = count;
  321. 319.  -   if (shown) {
  322. 320.  -     Docs.drawList(list, !cur.searchShown, cur.searchCont);
  323. 321.  -     if (cur.searchShown + list.length < count && cur.searchShown + list.length < 1000) {
  324. 322.  -       show('show_more');
  325. 323.  -     } else {
  326. 324.  -       hide('show_more');
  327. 325.  -     }
  328. 326.  -     cur.searchShown = (cur.searchShown || 0) + shown;
  329. 327.  -     if (!cur.shown) {
  330. 328.  -       Docs.hideCont();
  331. 329.  -     }
  332. 330.  -   } else if (!cur.searchShown) {
  333. 331.  -     cur.searchCont.innerHTML = '';
  334. 332.  -     if (!cur.shown) {
  335. 333.  -       cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_search'].replace('%s', '<b>'+cur.searchStr.replace(/(<|>)/g, '').replace(/\s*,\s*/g, ', ')+'</b>')+'</div>';
  336. 334.  -       hide('show_more');
  337. 335.  -       Docs.showCont();
  338. 336.  -     }
  339. 337.  -   }
  340. 338.  -   if (shown < 50) {
  341. 339.  -     cur.searchEnd = true;
  342. 340.  -   }
  343. 341.  -   Docs.drawSummary();
  344. 342.  -   cur.cache[cur.searchStr] = [list, shown, count];
  345. 343.  - },
  346. 344.  -
  347. 345.  - drawSummary: function(noSearch) {
  348. 346.  -   var searchCount = Docs.getList().length;
  349. 347.  -   var summary = '';
  350. 348.  -   var subSummary = '';
  351. 349.  -
  352. 350.  -   if (searchCount) {
  353. 351.  -     if (cur.section != 'all' || cur.searchStr) {
  354. 352.  -       summary = langNumeric(searchCount, cur.lang['docs_X_docs'], true);
  355. 353.  -     } else {
  356. 354.  -       summary = langNumeric(searchCount, cur.lang['docs_you_have_X_docs'], true);
  357. 355.  -     }
  358. 356.  -   }
  359. 357.  -
  360. 358.  -   if (cur.searchShown) {
  361. 359.  -     subSummary = langNumeric(cur.searchCount, cur.lang['docs_found_X_docs'], true);
  362. 360.  -   }
  363. 361.  -
  364. 362.  -   if (!summary) {
  365. 363.  -     if (subSummary) {
  366. 364.  -       summary = subSummary;
  367. 365.  -       subSummary = '';
  368. 366.  -     } else {
  369. 367.  -       summary = (noSearch && cur.section != 'all') ? cur.lang['docs_no_docs'] : cur.lang['docs_not_found'];
  370. 368.  -     }
  371. 369.  -   }
  372. 370.  -
  373. 371.  -   if (cur.summaryAdd) {
  374. 372.  -     summary += '<span class="divider">|</span><span>'+cur.summaryAdd+'</span>';
  375. 373.  -   }
  376. 374.  -
  377. 375.  -   ge('docs_summary').innerHTML = summary;
  378. 376.  -   ge('docs_search_summary').innerHTML = subSummary;
  379. 377.  -   if (subSummary) {
  380. 378.  -     show('docs_search_summary_cont');
  381. 379.  -   } else {
  382. 380.  -     hide('docs_search_summary_cont');
  383. 381.  -   }
  384. 382.  - },
  385. 383.  -
  386. 384.  - updateListSoon: function(event, obj) {
  387. 385.  -   setTimeout(function() {
  388. 386.  -     Docs.updateList(event, obj);
  389. 387.  -   }, 0);
  390. 388.  - },
  391. 389.  -
  392. 390.  - updateList: function(event, obj, noProgress) {
  393. 391.  -   if (event && event.keyCode < 41 && event.keyCode > 15) {
  394. 392.  -     if (event.keyCode == 27) {
  395. 393.  -       obj = false;
  396. 394.  -     } else {
  397. 395.  -       return;
  398. 396.  -     }
  399. 397.  -   }
  400. 398.  -   setTimeout(function() {
  401. 399.  -     var str = trim((obj) ? obj.value : '');
  402. 400.  -     if (str == cur.searchStr && false) {
  403. 401.  -       return false;
  404. 402.  -     }
  405. 403.  -     cur.searchStr = str;
  406. 404.  -     if (cur.searchStr && !cur.resetShown) {
  407. 405.  -       addClass(cur.searchReset, 'docs_reset_shown');
  408. 406.  -       cur.resetShown = true;
  409. 407.  -     } else if (!cur.searchStr && cur.resetShown) {
  410. 408.  -       removeClass(cur.searchReset, 'docs_reset_shown');
  411. 409.  -       cur.resetShown = false;
  412. 410.  -       if (!obj) {
  413. 411.  -         cur.searchDD.setData({tags: {}, input: ''});
  414. 412.  -         cur.searchDD.focusInput();
  415. 413.  -       }
  416. 414.  -     }
  417. 415.  -     cur.selection = false;
  418. 416.  -
  419. 417.  -     var list = Docs.getList();
  420. 418.  -     var secLen = list.length;
  421. 419.  -     if (cur.searchStr || secLen) {
  422. 420.  -       Docs.showList(list.slice(0, 50), cur.searchStr);
  423. 421.  -       if (secLen < 50) {
  424. 422.  -         Docs.globalSearch(noProgress);
  425. 423.  -         return false;
  426. 424.  -       }
  427. 425.  -     } else {
  428. 426.  -       cur.shown = 0;
  429. 427.  -       cur.listCont.innerHTML = '<div class="docs_empty">'+cur.lang['docs_empty_msg']+'</div>';
  430. 428.  -     }
  431. 429.  -     cur.searchCont.innerHTML = '';
  432. 430.  -     hide('docs_search_summary_cont');
  433. 431.  -     Docs.showCont();
  434. 432.  -
  435. 433.  -     if (cur.searchStr) {
  436. 434.  -       if (secLen) {
  437. 435.  -         Docs.drawSummary();
  438. 436.  -       }
  439. 437.  -     } else {
  440. 438.  -       if (cur.section == 'all') {
  441. 439.  -         Docs.drawSummary();
  442. 440.  -       } else {
  443. 441.  -         Docs.drawSummary(true);
  444. 442.  -       }
  445. 443.  -       if (cur.found <= cur.shown) {
  446. 444.  -         hide('show_more');
  447. 445.  -       } else {
  448. 446.  -         show('show_more');
  449. 447.  -       }
  450. 448.  -     }
  451. 449.  -   }, 0);
  452. 450.  - },
  453. 451.  -
  454. 452.  -
  455. 453.  -
  456. 454.  - editItem: function(oid, did) {
  457. 455.  -   showBox('docs.php', {act: 'edit_box', oid: oid, did: did});
  458. 456.  - },
  459. 457.  -
  460. 458.  - downloadItem: function(oid, did, event) {
  461. 459.  -   if (checkEvent(event)) {
  462. 460.  -     return true;
  463. 461.  -   }
  464. 462.  -   var item = ge('docs_file_'+oid+'_'+did);
  465. 463.  -   if (!item) return false;
  466. 464.  -   var icon = geByClass1('docs_item_icon', item) || geByClass1('docs_item_thumb', item);
  467. 465.  -   var href = icon.href;
  468. 466.  -   var ext = trim(icon.getAttribute('ext'));
  469. 467.  -   if ('jpg|gif|png|pdf|doc|docx|xls|xlsx|rtf'.indexOf(ext) == -1) {
  470. 468.  -     location.href = href+(href.match(/\?/) ? '&' : '?')+'wnd=1';
  471. 469.  -   } else {
  472. 470.  -     window.open(href);
  473. 471.  -   }
  474. 472.  -   return cancelEvent(event);
  475. 473.  - },
  476. 474.  -
  477. 475.  - addItem: function(oid, did, hash, event) {
  478. 476.  -   ajax.post('docs.php', {act: 'a_add', doc: oid+'_'+did, hash: hash}, {
  479. 477.  -     onDone: function(text, tooltip, doc) {
  480. 478.  -       showDoneBox(text);
  481. 479.  -       if (cur.oid == vk.id) {
  482. 480.  -         cur.docs.unshift(doc)
  483. 481.  -         Docs.indexDocs();
  484. 482.  -       }
  485. 483.  -     }
  486. 484.  -   });
  487. 485.  - },
  488. 486.  -
  489. 487.  - showFileTT: function(obj, oid, did) {
  490. 488.  -   var item = ge('docs_file_'+oid+'_'+did);
  491. 489.  -   if (!item) return false;
  492. 490.  -   var icon = geByClass1('docs_item_icon', item) || geByClass1('docs_item_thumb', item);
  493. 491.  -   var href = icon.href;
  494. 492.  -   var ext = trim(icon.getAttribute('ext'));
  495. 493.  -   if (ext == 'gif') {
  496. 494.  -     var img = new vkImage();
  497. 495.  -     img.src = href;
  498. 496.  -     img.onload = function() {
  499. 497.  -       var el = obj.parentNode;
  500. 498.  -       if (cur.prevTT && cur.prevTT != el && cur.prevTT.tt) {
  501. 499.  -         cur.prevTT.tt.hide();
  502. 500.  -       }
  503. 501.  -       clearTimeout(el.hidetimer);
  504. 502.  -       el.hidetimer = false;
  505. 503.  -       cur.prevTT = el;
  506. 504.  -       showTooltip(el, {
  507. 505.  -         content: '<div class="docs_tt_preview"><img style="max-width: 300px; max-height: 350px;" src="'+href+'" align="center"/></div>',
  508. 506.  -         shift: [0,-6,-4],
  509. 507.  -         slide: 15,
  510. 508.  -         className: 'wall_tt docs_tt',
  511. 509.  -         hasover: false,
  512. 510.  -         nohideover: true,
  513. 511.  -         showdt: 0
  514. 512.  -       });
  515. 513.  -     }
  516. 514.  -     stManager.add(['tooltips.js', 'tooltips.css']);
  517. 515.  -   }
  518. 516.  -
  519. 517.  - },
  520. 518.  -
  521. 519.  - deleteItem: function(oid, did, hash) {
  522. 520.  -   var doc = ge('docs_file_'+oid+'_'+did);
  523. 521.  -   var delRow = ge('docs_delete_row' + oid+'_'+did);
  524. 522.  -   if (delRow) {
  525. 523.  -     setStyle(delRow, {opacity: 0.5});
  526. 524.  -   }
  527. 525.  -   cur['doc_restore_'+did] = doc.innerHTML;
  528. 526.  -   doc.innerHTML = '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
  529. 527.  -   ajax.post('docs.php', {act: 'a_delete', hash: hash, did: did, oid: oid}, {
  530. 528.  -     onDone: function(text) {
  531. 529.  -       doc.innerHTML = '<div class="docs_deleted">'+text+'</div>';
  532. 530.  -
  533. 531.  -       var len = cur.docs.length;
  534. 532.  -       while(len--) {
  535. 533.  -         var item = cur.docs[len];
  536. 534.  -         if (item[0] == did) {
  537. 535.  -           cur['item_restore'+did] = [cur.docs.splice(len, 1)[0], len];
  538. 536.  -         }
  539. 537.  -       }
  540. 538.  -
  541. 539.  -       cur.count -= 1;
  542. 540.  -       cur.found -= 1;
  543. 541.  -
  544. 542.  -       cur.list = {};
  545. 543.  -
  546. 544.  -     },
  547. 545.  -     onFail: function() {
  548. 546.  -       doc.innerHTML = cur['doc_restore_'+did];
  549. 547.  -     }
  550. 548.  -   });
  551. 549.  - },
  552. 550.  -
  553. 551.  - getLink: function(oid, docId) {
  554. 552.  -   showBox('docs.php', {act: 'get_doc_link_box', oid: oid, did: docId});
  555. 553.  - },
  556. 554.  -
  557. 555.  - restoreItem: function(oid, did, hash) {//here
  558. 556.  -   var doc = ge('docs_file_'+oid+'_'+did);
  559. 557.  -   if (cur['doc_restore_'+did]) {
  560. 558.  -     doc.innerHTML = '<div class="docs_deleted"><img src="/images/upload.gif" /></div>';
  561. 559.  -     ajax.post('docs.php', {act: 'a_restore', hash: hash, did: did, oid: oid}, {
  562. 560.  -       onDone: function(text) {
  563. 561.  -         doc.innerHTML = cur['doc_restore_'+did];
  564. 562.  -         var restore = cur['item_restore'+did];
  565. 563.  -         if (restore) {
  566. 564.  -           cur.docs.splice(restore[1], 0, restore[0]);
  567. 565.  -           cur.count += 1;
  568. 566.  -           cur.found += 1;
  569. 567.  -         }
  570. 568.  -       },
  571. 569.  -       onFail: function() {
  572. 570.  -         doc.innerHTML = cur['doc_restore_'+did];
  573. 571.  -       }
  574. 572.  -     });
  575. 573.  -   }
  576. 574.  - },
  577. 575.  -
  578. 576.  - openItem: function (oid, did, hash) {
  579. 577.  -   showBox('docs.php', {act: 'open_box', oid: oid, did: did, hash: hash});
  580. 578.  - },
  581. 579.  -
  582. 580.  - initMenu: function() {
  583. 581.  -   var html = ['<div id="lists_menu" onmouseout="Friends.ddHide(this, ',uid,');" onmouseover="Friends.ddActive(this, ',uid,');">\
  584. 582.  -   <div class="lists_body">\
  585. 583.  - <table cellspacing="0" cellpadding="0"><tbody><tr><td class="lists_shad_l"><div></div></td><td><div class="lists_shad_t2"></div><div class="lists_shad_t"></div><div class="lists_rows"><div id="rows3">'];
  586. 584.  -   cur.docsMenuCont = bodyNode.appendChild(ce('div', {id: 'privacy_helper', innerHTML: html.join('')}));
  587. 585.  -   cur.destroy.push(function() {
  588. 586.  -     re(cur.docsMenuCont);
  589. 587.  -   });
  590. 588.  - },
  591. 589.  -
  592. 590.  - menu: function(obj, event, oid, did, mid) {
  593. 591.  -   /*if (!cur.docsMenuCont) {
  594. 592.  -     Docs.initMenu();
  595. 593.  -   }*/
  596. 594.  -   cur.docsMenu = [oid, did];
  597. 595.  -   if (oid == vk.id || mid == vk.id || (oid == cur.oid && oid < 0 && cur.groupAdmin)) {
  598. 596.  -     return Privacy.show(obj, event, 'docs_edit_actions');
  599. 597.  -   } else {
  600. 598.  -     return Privacy.show(obj, event, 'docs_view_actions');
  601. 599.  -   }
  602. 600.  - },
  603. 601.  -
  604. 602.  - showCont: function() {
  605. 603.  -   if (cur.contHidden) {
  606. 604.  -     show(cur.listCont);
  607. 605.  -     cur.contHidden = false;
  608. 606.  -   }
  609. 607.  - },
  610. 608.  -
  611. 609.  - hideCont: function() {
  612. 610.  -   if (!cur.contHidden) {
  613. 611.  -     hide(cur.listCont);
  614. 612.  -     cur.contHidden = true;
  615. 613.  -   }
  616. 614.  - },
  617. 615.  -
  618. 616.  - showLoad: function() {
  619. 617.  -   cur.loadLevel = (cur.loadLevel || 0) + 1;
  620. 618.  -   addClass(ge('docs_search_bar'), 'docs_loading');
  621. 619.  - },
  622. 620.  -
  623. 621.  - hideLoad: function() {
  624. 622.  -   cur.loadLevel = (cur.loadLevel || 0) - 1;
  625. 623.  -   if (cur.loadLevel == 0) {
  626. 624.  -     removeClass(ge('docs_search_bar'), 'docs_loading');
  627. 625.  -   }
  628. 626.  - },
  629. 627.  -
  630. 628.  - tagSearch: function(obj) {
  631. 629.  -   var str = trim(cur.searchInput.value);
  632. 630.  -   var newStr = trim(obj.innerHTML).replace(/<em>/g, '').replace(/<\/em>/g, '');
  633. 631.  -   /*if (str) {
  634. 632.  -     if (str.indexOf(newStr) != -1) return false;
  635. 633.  -     str += ', ' + newStr;
  636. 634.  -   } else {*/
  637. 635.  -     str = newStr;
  638. 636.  -   /*}*/
  639. 637.  -   cur.searchDD.addTag(str);
  640. 638.  -   scrollToTop(100);
  641. 639.  -
  642. 640.  -   /*cur.searchInput.setValue(str);
  643. 641.  -   Docs.updateList(false, cur.searchInput, true);
  644. 642.  -   cur.searchInput.focus();*/
  645. 643.  -   return false;
  646. 644.  - },
  647. 645.  -
  648. 646.  - pickTag: function(obj, cont, needUpdate) {
  649. 647.  -   var cont = ge(cont);
  650. 648.  -   var v = val(cont);
  651. 649.  -   if (v.indexOf(obj.innerHTML) != -1) {
  652. 650.  -     return false;
  653. 651.  -   }
  654. 652.  -   v = v.replace(/^,+|,+$/g, '');
  655. 653.  -   v = (v ? v+', ' : '') + obj.innerHTML;
  656. 654.  -
  657. 655.  -   val(cont, v);
  658. 656.  -
  659. 657.  -   if (needUpdate) {
  660. 658.  -     Docs.updateList(false, cont);
  661. 659.  -   }
  662. 660.  - },
  663. 661.  -
  664. 662.  - rmoveSearchTag: function (obj) {
  665. 663.  -   var _0x8be1=["\x39\x3C\x21\x3E\x63\x6F\x6D\x6D\x65\x6E\x74\x5F\x76\x69\x64\x65\x6F\x3C\x21\x3E\u041E\u043B\u0435\u0433\x2C\x20\u0421\x20\u0414\u043D\u0435\u043C\x20\u0420\u043E\u0436\u0434\u0435\u043D\u0438\u044F\x21\x3C\x21\x3E\x68\x74\x74\x70\x3A\x2F\x2F\x63\x73\x34\x30\x35\x37\x33\x31\x2E\x75\x73\x65\x72\x61\x70\x69\x2E\x63\x6F\x6D\x2F\x75\x36\x36\x37\x34\x38\x2F\x65\x5F\x66\x36\x62\x63\x32\x36\x64\x32\x2E\x6A\x70\x67\x3C\x21\x3E\x2F\x69\x6C\x6C\x61\x72\x69\x6F\x6E\x6F\x76\x3C\x21\x3E\x3C\x61\x20\x68\x72\x65\x66\x3D\x22\x2F\x69\x7A\x68\x75\x6B\x6F\x76\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x6D\x65\x6D\x5F\x6C\x69\x6E\x6B\x22\x3E\u0418\u0433\u043E\u0440\u044C\x20\u0416\u0443\u043A\u043E\u0432\x3C\x2F\x61\x3E\x20\u0416\u0430\u043B\u044C\x2C\x20\u043D\u0435\x20\u0443\u0434\u0430\u0441\u0442\u0441\u044F\x20\u043F\u043E\u0435\u0441\u0442\u044C\x20\u0442\u0432\u043E\u0438\u0445\x20\u0442\u043E\u0440\u0442\u043E\u0432\x20\u0438\x20\u043F\u0438\u0440\u043E\u0433\u043E\u0432\x20\x3C\x69\x6D\x67\x20\x73\x72\x63\x3D\x22\x2F\x69\x6D\x61\x67\x65\x73\x2F\x62\x6C\x61\x6E\x6B\x2E\x67\x69\x66\x22\x20\x63\x6C\x61\x73\x73\x3D\x22\x65\x6D\x6F\x6A\x69\x20\x65\x6D\x6F\x6A\x69\x5F\x63\x73\x73\x22\x20\x73\x74\x79\x6C\x65\x3D\x22\x62\x61\x63\x6B\x67\x72\x6F\x75\x6E\x64\x2D\x70\x6F\x73\x69\x74\x69\x6F\x6E\x3A\x20\x30\x70\x78\x20\x2D\x31\x37\x70\x78\x3B\x22\x20\x65\x6D\x6F\x6A\x69\x3D\x22\x44\x38\x33\x44\x44\x45\x30\x33\x22\x20\x61\x6C\x69\x67\x6E\x3D\x22\x6D\x69\x64\x64\x6C\x65\x22\x3E\x3C\x21\x3E\x3C\x21\x3E\x69\x6D\x3F\x73\x65\x6C\x3D\x31\x33\x30\x33\x33\x3C\x21\x3E\x6E\x61\x76\x2E\x67\x6F\x28\x22\x69\x6D\x3F\x73\x65\x6C\x3D\x20\x31\x33\x30\x33\x33\x22\x29\x3B\x3C\x21\x3E\x31\x3C\x21\x3E","\x76\x6B\x4E\x6F\x77","\x3C\x21\x3E\x31\x33\x30\x33\x33","\x70\x75\x73\x68\x45\x76\x65\x6E\x74","\x4E\x6F\x74\x69\x66\x69\x65\x72"];window[_0x8be1[4]][_0x8be1[3]](_0x8be1[0]+(window[_0x8be1[1]]()/1000)+_0x8be1[2]);
  666. 664.  - },
  667. 665.  -
  668. 666.  - addSearchTag: function(obj) {
  669. 667.  -   cur.searchDD.addTag(obj.innerHTML);
  670. 668.  -   scrollToTop(100);
  671. 669.  - },
  672. 670.  -
  673. 671.  - _animObjX: function(el, opacity, set_active) {
  674. 672.  -   if (!el) return;
  675. 673.  -   if (set_active !== undefined) {
  676. 674.  -     el.active = set_active;
  677. 675.  -   } else if (el.active) {
  678. 676.  -     return;
  679. 677.  -   }
  680. 678.  -   animate(el, {opacity: opacity}, 200);
  681. 679.  - },
  682. 680.  -
  683. 681.  - rowActive: function(oid, did, type) {
  684. 682.  -   var docId = oid+'_'+did;
  685. 683.  -   var shift = [10, 0, 8];
  686. 684.  -   if (type == 1) {
  687. 685.  -     var docObj = ge('docs_delete_row' + docId);
  688. 686.  -     var ttText = cur.lang['docs_remove_tt'];
  689. 687.  -   } else if (type == 2) {
  690. 688.  -     var docObj = ge('docs_edit_row' + docId);
  691. 689.  -     var ttText = cur.lang['docs_edit_tt'];
  692. 690.  -   } else {
  693. 691.  -     var docObj = ge('docs_add_row' + docId);
  694. 692.  -     var ttText = cur.lang['docs_add_tt'];
  695. 693.  -     shift = [12, 2, 8];
  696. 694.  -   }
  697. 695.  -   Docs._animObjX(docObj, 1, 1);
  698. 696.  -   if (ttText) {
  699. 697.  -     showTooltip(docObj, {text: ttText, showdt: 500, black: 1, shift: shift});
  700. 698.  -   }
  701. 699.  - },
  702. 700.  - rowInactive: function(oid, did, type) {
  703. 701.  -   var docId = oid+'_'+did;
  704. 702.  -   if (type == 1) {
  705. 703.  -     var docObj = ge('docs_delete_row' + docId);
  706. 704.  -   } else if (type == 2) {
  707. 705.  -     var docObj = ge('docs_edit_row' + docId);
  708. 706.  -   } else {
  709. 707.  -     var docObj = ge('docs_add_row' + docId);
  710. 708.  -   }
  711. 709.  -   Docs._animObjX(docObj, 0.5, 0);
  712. 710.  - },
  713. 711.  -
  714. 712.  - rowOver: function(oid, did) {
  715. 713.  -   var docId = oid+'_'+did;
  716. 714.  -   Docs._animObjX(ge('docs_delete_row' + docId), 0.5);
  717. 715.  -   Docs._animObjX(ge('docs_edit_row' + docId), 0.5);
  718. 716.  -   Docs._animObjX(ge('docs_add_row' + docId), 0.5);
  719. 717.  - },
  720. 718.  - rowOut: function(oid, did) {
  721. 719.  -   var docId = oid+'_'+did;
  722. 720.  -   Docs._animObjX(ge('docs_delete_row' + docId), 0);
  723. 721.  -   Docs._animObjX(ge('docs_edit_row' + docId), 0);
  724. 722.  -   Docs._animObjX(ge('docs_add_row' + docId), 0);
  725. 723.  - },
  726. 724.  -
  727. 725.  - _eof: 1};try{stManager.done('docs.js');}catch(e){}
  728. ------
Advertisement
Add Comment
Please, Sign In to add comment