Сайт ищет нового владельца по разумной цене :) По всем вопросам: promonik1@ya.ru, skype: nik-luck007, https://vk.com/promonik
2
Вы не авторизованы!
Присоединяйтесь к нашему сообществу :)
авторизация
Вакансии
На сайт требуется контент-менеджер
смотреть вакансии
Отдельная страница загрузки для каталога файлов с таймером

Отдельная страница загрузки для каталога файлов с таймером

Хаки для uCoz 2013-Авг-31 proucoz 4.0k 348 5
На многих сайтах, например, торрент-трекерах, варезниках, музыкальных есть отдельная страница для загрузки файлов. Обычно на такой странице владельцы сайтов размещают рекламу, тем самым увеличивая свой доход. В системе uCoz такой страницы нет ни в одном модуле. Данный скрипт предоставляет такую возможность, причем эту страницу можно оформить как угодно, дать ей любое имя и залить в любое место на сайте.

Немного об алгоритме скрипта:

На странице материала и комментариев к нему скрипт получает ссылку на скачиваемый файл, далее он ее кодирует с помощью Base64, и формирует новую ссылку. Кодировка нужна для того, чтобы в адресную строку можно было передать адрес ссылки на файл, а так же это обеспечивает "секретность" ссылки.

При нажатии на новую сформированную ссылку пользователя перекинет на нашу отдельную страницу, где будет установлен таймер. Скрипт на этой странице считает нужные параметры из адресной строки и выведет после окончания таймера новую прямую ссылку на файл.

Теперь установка:

К материалу прикреплен архив, в нем есть текстовый документ Readme.txt (в нем указана краткая инструкция, если не хотите читать тут) и html-страница download.html. Заливаем в корень сайта страницу download.html.

Далее на страницу материала и комментариев к нему по месту ставим этот код:

Код
<div class="go-link"></div>
   
  <script type="text/javascript">

var Base64 = {
  _keyStr : "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=",
  //метод для кодировки в base64 на javascript
  encode : function (input) {
  var output = "";
  var chr1, chr2, chr3, enc1, enc2, enc3, enc4;
  var i = 0
  input = Base64._utf8_encode(input);
  while (i < input.length) {
  chr1 = input.charCodeAt(i++);
  chr2 = input.charCodeAt(i++);
  chr3 = input.charCodeAt(i++);
  enc1 = chr1 >> 2;
  enc2 = ((chr1 & 3) << 4) | (chr2 >> 4);
  enc3 = ((chr2 & 15) << 2) | (chr3 >> 6);
  enc4 = chr3 & 63;
  if( isNaN(chr2) ) {
  enc3 = enc4 = 64;
  }else if( isNaN(chr3) ){
  enc4 = 64;
  }
  output = output +
  this._keyStr.charAt(enc1) + this._keyStr.charAt(enc2) +
  this._keyStr.charAt(enc3) + this._keyStr.charAt(enc4);
  }
  return output;
  },
   
  // метод для кодировки в utf8
  _utf8_encode : function (string) {
  string = string.replace(/\r\n/g,"\n");
  var utftext = "";
  for (var n = 0; n < string.length; n++) {
  var c = string.charCodeAt(n);
  if( c < 128 ){
  utftext += String.fromCharCode(c);
  }else if( (c > 127) && (c < 2048) ){
  utftext += String.fromCharCode((c >> 6) | 192);
  utftext += String.fromCharCode((c & 63) | 128);
  }else {
  utftext += String.fromCharCode((c >> 12) | 224);
  utftext += String.fromCharCode(((c >> 6) & 63) | 128);
  utftext += String.fromCharCode((c & 63) | 128);
  }
  }
  return utftext;
  }
}

   
  fileurl = '$FILE_URL$' ;
  fileurl = Base64.encode(fileurl);
$('.go-link').html('<a href="/download.html?'+fileurl+'" target="_blank">Скачать файл</a>');
</script>


где в строке fileurl = '$FILE_URL$' ; вместо $FILE_URL$ можете установить любое поле ($OTHER1$, $RILE_URL$, $FILE_DIRECT_URL$ и т. д.), в котором есть ссылка на скачивание, так же тут будут работать и условные операторы.

Примечание:

Страницу download.html можно редактировать как угодно, но скрипт там должен присутствовать в том же виде, как есть сейчас. Имя страницы тоже можно изменять, но тогда стоит изменить его и в самом скрипте, который мы устанавливали на страницу материала и комментариев к нему, в этой строке
Код
$('.go-link').html('<a href="/download.html?'+fileurl+'" target="_blank">Скачать файл</a>');


Скрипт так же моет передавать и иные параметры, но для этого уже необходимо его дорабатывать, если будут вопросы - подскажу.

На этом все. Спасибо всем за внимание. Оставляйте комментарии и следите за обновлениями. Любителей покопипастить просьба указывать хотя бы источник кликабельной ссылкой.
Источник: http://uc-portaller.ru/
5 комментариев
avatar
1
Неплохо smile
avatar
2
Скрипт не плохой ,даже больше скажу отличный скрипт ,но после его установки стали долго загружаться страницы с материалом,завтра ещё попробую поставить может какая беда с нетом или с хостингом. cool
avatar
3
Весьма странно, так как тормозить загрузку страницы там попросту нечем.
avatar
0
4
Как сделать чтобы вместо текста была картинка. У меня что-то ничего не получается.
avatar
5
Здравствуйте!

Скрипт просто замечательный, то что нужно. А как быть с таким вариантом что нужно перенаправление на главной сделать? Где около 20-30 материалов? Под каждым материалом этот скрипт должен быть? Это думаю минимум неплохую нагрузку создаст на главную. Так как на главной имеется кнопка для скачивания для каждого материала.

Буду благодарен, если подскажете.
avatar