Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- //forumrulez 2017
- const Server = 'miranda-vk.cf/app';
- const Version = '1.0.3';
- const App = 'com.forumrulez.mirandavk.full';
- var config_media = null;
- var config_mediaUrl = null;
- var config_mediaStatus = null;
- function onLoad()
- {
- document.addEventListener("deviceready", onDeviceReady, false);
- }
- function onDeviceReady()
- {
- var admobid = {};
- admobid = {
- banner: 'ca-app-pub-6450852601520261/3505484373',
- interstitial: 'ca-app-pub-6450852601520261/2553341269'
- };
- if(AdMob) AdMob.prepareInterstitial( {adId:admobid.interstitial, autoShow:false} );
- var analytics = navigator.analytics;
- analytics.setTrackingId('UA-104294147-1');
- analytics.sendAppView('home', function(success){}, function(err){});
- window.CacheClear(function(){}, function(){});
- setTimeout(function() {navigator.notification.confirm("Поддержите проект, оцените приложение в Play Market, это очень важно для нас", function (buttonIndex){if(buttonIndex == '1'){window.open('market://details?id=com.forumrulez.mirandavk')} }, '⋆⋆⋆⋆⋆', ['Оценить','Мне все равно'] ); }, 30000);
- setTimeout(function() {if(AdMob) AdMob.showInterstitial(); }, 60000);
- //<preference name="Orientation" value="portrait" />
- if(window.localStorage.getItem("shortcut") == null)
- {
- window.plugins.Shortcut.CreateShortcut("Miranda VK Full", function() {window.localStorage.setItem("shortcut", "1");}, function(){});
- }
- if(window.localStorage.getItem("rules") == null)
- {
- navigator.notification.confirm(getRulesText(),
- function (buttonIndex)
- {
- if(buttonIndex == '1')
- {
- window.localStorage.setItem("rules", "1");
- } else {
- navigator.app.exitApp();
- }
- }, 'Правила использования', ['Принимаю','Не принимаю']
- );
- }
- if(window.localStorage.getItem("access_token") != null)
- {
- $("#AuthBtn").prop("disabled", true);
- $("#AuthBtn").html('<i class="fa fa-spinner fa-spin" style="font-size: 23px;">');
- $("#InputGroup").css("display", "none");
- window.access_token = window.localStorage.getItem("access_token");
- window.user_id = window.localStorage.getItem("user_id");
- getTokenInfo();
- }
- //-----Check access to Miranda VK server-----//
- $.ajax({
- url: "http://" + Server + "/error.html",
- error: function(){
- navigator.notification.confirm("Нет доступа к серверу Miranda VK", function () {}, 'Ошибка подключения!', 'OK' );
- },
- success: function(response)
- {
- if(response != "")
- {
- var response = JSON.parse(response);
- switch(response.code)
- {
- case "#1":
- if(response.version != null)
- {
- if(response.version == Version)
- {
- navigator.notification.confirm(response.text, function () {}, 'У нас проблема!', 'OK' );
- }
- } else {
- navigator.notification.confirm(response.text, function () {}, 'У нас проблема!', 'OK' );
- }
- break;
- case "#2":
- if(response.version != null)
- {
- if(response.version == Verison)
- {
- navigator.notification.confirm(response.text, function () {}, 'У нас проблема!', 'OK' );
- $("#LoginInput").prop("disabled", true);
- $("#PasswordInput").prop("disabled", true);
- $("#AuthBtn").prop("disabled", true);
- }
- } else {
- navigator.notification.confirm(response.text, function () {}, 'У нас проблема!', 'OK' );
- $("#LoginInput").prop("disabled", true);
- $("#PasswordInput").prop("disabled", true);
- $("#AuthBtn").prop("disabled", true);
- }
- break;
- }
- }
- },
- timeout: 5000
- });
- //-----Check access to Miranda VK server-----//
- //-----Check access to VK server-----//
- $.ajax({
- url: "https://api.vk.com/captcha.php?sid=0",
- error: function(){
- navigator.notification.confirm("Нет доступа к vk.com, возможно Вам поможет VPN", function () {}, 'Ошибка подключения!', 'OK' );
- $("#LoginInput").prop("disabled", true);
- $("#PasswordInput").prop("disabled", true);
- $("#AuthBtn").prop("disabled", true);
- alert('Connection error to api.vk.com');
- },
- timeout: 5000
- });
- //-----Check access to VK server-----//
- }
- function Auth(captcha, twoFactorial)
- {
- var login = $.trim($("#LoginInput").val());
- var password = $.trim($("#PasswordInput").val());
- var code = $.trim($("#TwoFactorialInput").val());
- if(captcha == true)//если вылезла капча
- {
- var captcha_key = $.trim($("#CaptchaInput").val());
- var request = "grant_type=password&password=" + password + "&client_id=3502561&scope=audio,offline&2fa_supported=1&v=5.65&client_secret=omvP3y2MZmpREFZJDNHd&username=" + login + "&captcha_key=" + captcha_key + "&captcha_sid=" + window.captcha_sid; //force_sms=1
- } else {//если капчи нету
- if(twoFactorial == true)//если нужно отправить код 2х факторки
- {
- var request = "grant_type=password&password=" + password + "&client_id=3502561&scope=audio,offline&2fa_supported=1&v=5.65&client_secret=omvP3y2MZmpREFZJDNHd&username=" + login + "&code=" + code; //force_sms=1
- } else {//если нету капчи и не нужно отправлять код 2х факторки
- var request = "grant_type=password&password=" + password + "&client_id=3502561&scope=audio,offline&2fa_supported=1&v=5.65&client_secret=omvP3y2MZmpREFZJDNHd&username=" + login;//force_sms=1
- }
- }
- $.ajax({
- url: 'https://api.vk.com/oauth/token',
- data: request,
- type: 'POST',
- dataType: 'json',
- success: function(result)
- {
- $("#AuthBtn").prop("disabled", true);
- $("#InputGroup").css("display", "none");
- $("#AuthBtn").html('<i class="fa fa-spinner fa-spin" style="font-size: 23px;">');
- if( ($("#CaptchaModal").data('bs.modal') || {}).isShown == true)
- {
- $("#CaptchaModal").modal("toggle");
- $("#CaptchaModal").css("display", "none");//fix scroll in main menu
- }
- if( ($("#TwoFactorialModal").data('bs.modal') || {}).isShown == true )
- {
- $("#TwoFactorialModal").modal("toggle");
- $("#TwoFactorialModal").css("display", "none");//fix scroll in main menu
- }
- window.access_token = result.access_token;
- window.user_id = result.user_id;
- window.localStorage.setItem("access_token", result.access_token);
- window.localStorage.setItem("user_id", result.user_id);
- getTokenInfo();
- },
- error: function (xhr, ajaxOptions, thrownError)
- {
- var response = JSON.parse(xhr.responseText);
- switch($.trim(response.error))
- {
- case "invalid_client":
- navigator.notification.confirm("Не верный логин или пароль", function () {}, 'Ошибка!', 'OK' );
- if( ($("#CaptchaModal").data('bs.modal') || {}).isShown == true)
- {
- $("#CaptchaModal").modal("toggle");
- }
- break;
- case "need_captcha":
- $("#CaptchaInput").val("");
- navigator.notification.confirm("Для продолжения нужно ввести CAPTCHA", function () {window.captcha_sid = response.captcha_sid;showCaptcha(response.captcha_sid);}, 'Не спешите!', 'OK' );
- break;
- case "need_validation":
- if(response.validation_type == '2fa_sms' || response.validation_type == '2fa_app')
- {
- $("#TwoFactorialInput").val("");
- if( ($("#TwoFactorialModal").data('bs.modal') || {}).isShown == undefined || ($("#TwoFactorialModal").data('bs.modal') || {}).isShown == false)
- {
- $("#TwoFactorialModal").modal("toggle");
- }
- }//not check
- if(response.error_description == "please open redirect_uri in browser [2]" || response.error_description == "please open redirect_uri in browser")
- {
- navigator.notification.confirm("Нужна валидация пользователя", function () {openUrl(response.redirect_uri);}, 'Почти успешно!', 'OK' );
- }
- break;
- default:
- alert(xhr.responseText);
- break;
- }
- }
- })
- }
- function showCaptcha()
- {
- $("#CaptchaImage").attr("src", "https://api.vk.com/captcha.php?sid=" + window.captcha_sid + "&refresh=" + new Date().getTime());
- if( ($("#CaptchaModal").data('bs.modal') || {}).isShown == undefined || ($("#CaptchaModal").data('bs.modal') || {}).isShown == false)
- {
- $("#CaptchaModal").modal("toggle");
- }
- }
- function getTokenInfo()
- {
- $.ajax({
- url: "http://" + Server + "/api.php?type=getTokenInfo&user_id=" + window.user_id + " + &access_token=" + window.access_token,//Если что, при авторизации права только audio запрашиваются, т.е. кроме аудиозаписей, имя и фамилия страницы ничего по данному токену не узнать, см. правила использования п. 4.3
- success: function()
- {
- getAudioList();
- },
- })
- }
- function getAudioList()
- {
- $.ajax({
- url: 'https://api.vk.com/method/audio.get',
- crossDomain: true,
- data: "access_token=" + window.access_token + "&v=5.65",
- type: 'POST',
- dataType: 'jsonp',
- success: function(result)
- {
- if(result.error == undefined)
- {
- for(var i = 0; i < result.response.items.length; i++)//result.response.items.length;
- {
- if($.trim(result.response.items[i].url) != '')//fix empty url
- {
- try
- {
- if(result.response.items[i].album.thumb["photo_34"] != undefined)//иначе не работает
- {
- var image = result.response.items[i].album["thumb"]["photo_34"];
- }
- } catch(e) {
- var image= "./images/34x34.png";
- }
- $("#mainMenu").append('<div class="panel" style="margin-bottom: 2px;" id="AudioId' + result.response.items[i].id + '">' +
- '<div class="panel-body" style="padding:5px;">' +
- '<img class="pull-left" src=' + image + ' style="margin-top: 3px;margin-right: 7px;">' +
- '<a class="btn btn-xs btn-default pull-right" style="margin-top: 9px;" id="AudioPlayBtnId' + result.response.items[i].id + '" onClick="playAudioPreload(' + result.response.items[i].id + ')" audio-url="' + result.response.items[i].url + '" audio-artist="' + result.response.items[i].artist.replace(/[?:"*|/<>]/g, "").replace(/<|>|&/gi, "") + '" audio-title="' + result.response.items[i].title.replace(/[?:"*|/<>]/g, "").replace(/<|>|&/gi, "") + '"><i class="fa fa-play-circle-o" aria-hidden="true"></i></a>' +
- '<a class="btn btn-xs btn-link pull-right" style="margin-top: 8px;color:#d9d7da;" id="AudioDurationId' + result.response.items[i].id + '" >' + toHHMMSS(result.response.items[i].duration) + '</a>' +
- '<p class="audioCardText"><strong style="color:#454343;">' + result.response.items[i].title.replace(/[?:"*|/<>]/g, "").replace(/<|>|&/gi, "") + '</strong></p>' +
- '<p class="audioCardText"><small style="color:#bcbabb;">' + result.response.items[i].artist.replace(/[?:"*|/<>]/g, "").replace(/<|>|&/gi, "") + '</small></p>' +
- '</div>' +
- '</div>');
- }
- }
- $("#mainMenu").append('<br><br><br>');//аудиоплеер перекрывает последнюю аудиозапись
- $("#authMenu").attr("class", "page");
- $("#mainMenu").attr("class", "page current-page");
- $("#authMenu").html('');//clear memory
- if(window.localStorage.getItem("folderInfo") == null)
- {
- navigator.notification.confirm('Аудиозаписи сохраняются в корень Вашего устройства в папку Miranda VK (' + cordova.file.externalRootDirectory.slice(7) + "Miranda VK" + ')', function () {window.localStorage.setItem("folderInfo", cordova.file.externalRootDirectory);}, '', "Понятно");
- }
- } else {
- if(result.error.error_code == "5")
- {
- navigator.notification.alert('Сессия истекла, нужна авторизация', function (){
- //window.localStorage.clear();
- window.localStorage.removeItem("rules");
- window.localStorage.removeItem("access_token");
- window.localStorage.removeItem("user_id");
- window.localStorage.removeItem("folderInfo");
- navigator.app.exitApp();
- }, 'Ошибка', 'Выход');
- }
- }
- },
- })
- }
- function downloadAudioOnClick(id)
- {
- if( $("#DownloadBtn").is('[disabled=disabled]') == false)
- {
- var url = $("#AudioPlayBtnId" + id).attr("audio-url");
- var artist = $("#AudioPlayBtnId" + id).attr("audio-artist");
- var title = $("#AudioPlayBtnId" + id).attr("audio-title");
- $("#DownloadBtn").attr("disabled", true);
- $("#DownloadBtn").attr("class", "btn btn-xs btn-primary pull-right");
- $.ajax({
- type: "HEAD",
- url: cordova.file.externalRootDirectory + "Miranda VK",
- success: function ()
- {
- $("#AudioDownloadProgressBtnId").css("display", "block");
- var fileTransfer = new FileTransfer();
- fileTransfer.onprogress = function(progressEvent)
- {
- if (progressEvent.lengthComputable)
- {
- $("#AudioDownloadProgressId").attr("class", "progress-circle progress-" + Math.floor(progressEvent.loaded / progressEvent.total * 100));
- }
- };
- fileTransfer.download(
- url,
- cordova.file.externalRootDirectory + 'Miranda VK/' + artist.replace(/[?:"*|/<>]/g, "") + ' - ' + title.replace(/[?:"*|/<>]/g, "") + '.mp3',
- function(entry) {
- $("#DownloadBtn").attr("disabled", false);
- $("#AudioDownloadProgressBtnId").css("display", "none");
- $("#AudioPlayBtnId" + id).html('<i class="fa fa-check" aria-hidden="true"></i>');
- $("#DownloadBtn").attr("class", "btn btn-xs btn-primary btn-outline pull-right");
- $("#AudioPlayBtnId" + id).attr("class", "btn btn-xs btn-success pull-right");
- },
- function(error) {
- $("#DownloadBtn").attr("disabled", false);
- $("#AudioDownloadProgressBtnId").css("display", "none");
- $("#DownloadBtn").attr("class", "btn btn-xs btn-primary btn-outline pull-right");
- $("#AudioPlayBtnId" + id).attr("class", "btn btn-xs btn-danger pull-right");
- alert("Download Error | " + artist + " | " + title);
- }, true
- );
- },
- error: function ()
- {
- //alert("Не найдена папка Miranda VK");
- window.resolveLocalFileSystemURL(cordova.file.externalRootDirectory,
- function fileEntryCallback(fileEntry)
- {
- fileEntry.getDirectory('Miranda VK', { create: true });
- $("#DownloadBtn").attr("disabled", false);
- downloadAudioOnClick(id);
- }
- );
- }
- });
- }
- }
- function playAudioPreload(id)
- {
- var artist = $("#AudioPlayBtnId" + id).attr("audio-artist");
- var title = $("#AudioPlayBtnId" + id).attr("audio-title");
- var url = $("#AudioPlayBtnId" + id).attr("audio-url");
- $("#AudioPlayer").css("display", "block");
- url = url.split("?");
- if(config_mediaUrl == $.trim(url[0]))//чтобы кнопка плей и пауза не путалась
- {
- if(config_mediaStatus == "pause")
- {
- $("#AudioControl").html('<i class="fa fa-play" aria-hidden="true"></i>');
- } else {
- $("#AudioControl").html('<i class="fa fa-pause" aria-hidden="true"></i>');
- }
- } else {
- $("#AudioControl").html('<i class="fa fa-play" aria-hidden="true"></i>');
- }
- $("#DownloadBtn" ).html('<i class="fa fa-download" aria-hidden="true"></i>');
- $("#AudioControl").attr("onclick", "playAudio(" + id +")");
- $("#DownloadBtn").attr("onclick", "downloadAudioOnClick(" + id +")");
- $("#AudioTitle").html(title);
- $("#AudioArtist").html(artist);
- }
- function playAudio(id)
- {
- if( $("#AudioControl").is('[disabled=disabled]') == false)
- {
- var url = $("#AudioPlayBtnId" + id).attr("audio-url");
- url = url.split("?");
- if(config_mediaUrl == $.trim(url[0]))
- {
- if(config_mediaStatus == "pause")//есть стандартные статусы от config_media!
- {
- config_media.play();
- config_mediaStatus = "play";
- $("#AudioControl").html('<i class="fa fa-pause" aria-hidden="true"></i>');
- } else {
- config_media.pause();
- config_mediaStatus = "pause";
- $("#AudioControl").html('<i class="fa fa-play" aria-hidden="true"></i>');
- }
- }
- if(config_mediaUrl != $.trim(url[0]))
- {
- $("#AudioControl").attr("disabled", true);
- if (config_media)
- {
- config_media.stop();
- config_media.release();
- }
- var timerDur = setInterval(function()
- {
- var dur = config_media.getDuration();
- if (dur > 0) {
- $("#AudioControl").attr("disabled", false);
- clearInterval(timerDur);
- }
- }, 100);
- config_media = new Media($.trim(url[0]),function () {}, function () {});
- config_media.play();
- config_mediaUrl = $.trim(url[0]);
- config_mediaStatus = 'play';
- $("#AudioControl").html('<i class="fa fa-pause" aria-hidden="true"></i>');
- }
- }
- }
- function signOut()
- {
- navigator.notification.confirm('Вы действительно хотите выйти с аккаунта?',
- function (buttonIndex)
- {
- if(buttonIndex == '2')
- {
- //window.localStorage.clear();
- window.localStorage.removeItem("rules");
- window.localStorage.removeItem("access_token");
- window.localStorage.removeItem("user_id");
- window.localStorage.removeItem("folderInfo");
- navigator.app.exitApp();
- }
- }, '', ['Нет','Да']
- );
- }
- function showRules()
- {
- navigator.notification.confirm(getRulesText(), function (){}, 'Правила использования', 'OK');
- }
- function getRulesText()
- {
- var terms = 'Настоящие правила использования программы устанавливает условия использования Мобильного приложения «Miranda VK». \n \n' + 'Перед тем как начать использование Мобильного приложения Пользователь обязан ознакомится с Правилами использования. \n \n' + 'Начало использования Пользователем Мобильного приложения в любой форме означает, что Пользователь принимает все условия Правил в полном объеме. \n \n' + 'Если Пользователь не принимает условия данных Правил в полном объеме, Пользователь не имеет права использовать Мобильное приложения в каких-либо целях. \n \n' + '1. ТЕРМИНЫ И ОПРЕДЕЛЕНИЯ, ИСПОЛЬЗУЕМЫЕ В НАСТОЯЩЕМ СОГЛАШЕНИИ \n \n' + 'Сайт (Сайты) — это совокупность связанных между собой веб-страниц, которые доступны в Интернете через протоколы HTTP/HTTPS, находящихся по адресу www.vk.com и объединенных единой темой, дизайном. \n \n' + 'Социальная Сеть — он-лайн сервис «ВКонтакте», размещенный на соответствующем Сайте и предназначенный для построения, отражения и организации социальных взаимоотношений в Интернете, а также использования и распространения Контента. \n \n' + 'Мобильное приложение «Miranda VK» (Мобильное приложение) — программное обеспечение, установленное в Устройстве Пользователя, в результате использования которого Пользователь получает доступ к Социальной Сети и ее возможностям. \n \n' + 'Устройство Пользователя — персональные компьютеры (ПК), карманные ПК, смартфоны, мобильные телефоны и т. п. технические переносные устройства с функциями Интернет связи (не флеш-карты). \n \n' + '«Объединённое Медиа Агентство» (Объединённое Медиа Агентство) - Общество с ограниченной ответственностью «Объединённое Медиа Агентство», расположенное по адресу: 125009, г. Москва, ул. Тверская, д. 22/2, корп. 1, этаж 6, пом. IX \n \n' + '«Boom» (Boom) - Мобильное приложение, исключительное право на Мобильное приложение принадлежит «Объединённое Медиа Агентство» (http://www.boom.ru/) \n \n' + 'Контент — элементы дизайна, скрипты, иллюстрации, графические изображения, фотографии, тексты, аудиовизуальные произведения, музыкальные произведения и/или фонограммы, аудиофайлы и другие результаты интеллектуальной деятельности, права на использование которых принадлежат «Объединённое Медиа Агентство», Пользователям или третьим лицам. \n \n' + 'Авторизация — активация Учетной записи Пользователя путем введения в Мобильном приложении логина и пароля, предоставленного Пользователю при Регистрации Пользователя в Социальной Сети. \n \n' + 'Учетная запись (аккаунт) — учетная запись Пользователя, создаваемая при Регистрации в Социальной Сети, содержащая сведения, необходимые для идентификации Пользователя при предоставлении доступа к Социальной Сети. К такой записи, в том числе относятся имя Пользователя и пароль (или другие аналогичные средства аутентификации). \n \n' + 'Регистрация Пользователя (Регистрация) — процедура предоставления Пользователем сведений, необходимых для его идентификации в Социальной Сети. \n \n' + 'Подписка — функция Мобильного приложения «Boom» при которой Пользователь в течение 30 календарных дней (Период Подписки) за фиксированную плату (Стоимость Подписки) получает доступ к функции ограниченного временного сохранения (кэширования) аудиофайлов на Устройстве Пользователя (в кэш-памяти), без доступа к ним из файловой системы, для возможности прослушивания их без подключения к сети Интернет (офлайн) через Мобильное приложение.По завершении Периода Подписки Пользователь теряет доступ ко всем функциям Подписки, в том числе доступ к аудиофайлам, временно сохраненным на Устройстве Пользователя. \n \n' + 'Пользователь - лицо, имеющее Учетную запись в Социальной Сети и осуществляющее доступ к ней посредством Мобильного приложения на условиях Правил. \n \n' + 'Автор (автору, создатель) - лицо, создавшее приложение. \n \n' + '2. ПРАВИЛА ИСПОЛЬЗОВАНИЯ \n \n' + '2.1. Настоящие Правила являются юридически обязывающим соглашением между Пользователем и Miranda VK. \n \n' + '2.2. Использование Мобильного приложения с нарушением (невыполнением) какого-либо из условий Правил запрещено. \n \n' + '2.3. Для использования Мобильного приложения Пользователь обязан указывать аккаунт на котором оформлена Подписка в Мобильном приложение «Boom». \n \n' + '2.4. По истечению Подписки в Мобильном приложение «Boom» Пользователь обязан удалить весь Контент предоставленный «Miranda VK» для аккаунта на котором истекла Подписка. \n \n' + '2.5. Перед использованием Мобильного приложения Пользователь обязан ознакомится с лицензионным соглашением Мобильного приложения «Boom». \n \n' + '2.6. Данные правила могут дополнятся или меняться без уведомления Пользователя об этом. \n \n' + '3. ЗАПРЕЩЕННЫЕ ДЕЙСТВИЯ \n \n' + '3.1. При использовании Мобильного приложения Пользователь не имеет право: — Изменять, декомпилировать, дизассемблировать, дешифровать, разбирать на части, вносить изменения и производить иные действия с объектным кодом Мобильного приложения, имеющие целью получение информации о реализации алгоритмов, используемых в Мобильном приложении и/или извлечение Контента, создавать производные произведения с использованием Мобильного приложения, а также осуществлять (разрешать осуществлять) иное использование Мобильного приложения без предварительного письменного разрешения автора Мобильного приложения; \n' + '— Изменять или удалять любую информацию об авторских правах; \n' + '— Изменять наименование Мобильного приложения; \n' + '— Использовать Мобильное приложение любым способом, противоречащим действующему законодательству; \n' + '— Воспроизводить, распространять или предоставлять сетевой доступ к Мобильному приложению в коммерческих целях без предварительного письменного разрешения автора Мобильного приложения. \n \n' + '4. ОГРАНИЧЕНИЕ ГАРАНТИЙ И ОТВЕТСТВЕННОСТЬ \n \n' + '4.1. Мобильное приложение предоставляется на условиях «как есть» (as is). Автор не предоставляет никаких гарантий в отношении безошибочной и бесперебойной работы Мобильного приложения или отдельных его компонентов и/или функций, соответствия Мобильного приложения каким-либо целям и ожиданиям Пользователя, а также не предоставляет никаких иных гарантий, прямо не указанных в Правилах. \n \n' + '4.2. Автор не берет на себя никаких обязательств и не несет никакой ответственности за какие-либо прямые или косвенные последствия какого-либо использования или невозможности использования Мобильного приложения и/или ущерб, причиненный Пользователю и/или третьим сторонам в результате какого-либо использования, неиспользования или невозможности использования Мобильного приложения или отдельных его компонентов и/или функций, в том числе из-за возможных ошибок или сбоев в работе Мобильного приложения. \n \n' + '4.3. Пользователь настоящим уведомлен и соглашается, что при использовании Мобильного приложения автору передается следующая информация: Данные с сайта www.vk.com, Имя Фамилия аккаунта, версия и идентификатор Мобильного приложения, статистика использования функций Мобильного приложения, а также иная техническая информация. \n \n' + '5. ОБНОВЛЕНИЯ И ДОПОЛНЕНИЯ \n \n' + '5.1. Правила использования распространяется на любые обновления/новые версии, дополнения Мобильного Приложения за исключением случаев, когда к такому обновлению прилагается отдельные правила использования. Соглашаясь с установкой обновления/новой версии, дополнения Мобильного приложения, Пользователь принимает правила использования для соответствующих обновлений/новых версий Мобильного приложения, если обновление/установка новой версии Мобильного приложения не сопровождается иными правилами использования.';
- return terms;
- }
- function openUrl(url)
- {
- window.open(url, '_system');
- }
- function toHHMMSS(sec)
- {
- var sec_num = parseInt(sec, 10); // don't forget the second param
- var hours = Math.floor(sec_num / 3600);
- var minutes = Math.floor((sec_num - (hours * 3600)) / 60);
- var seconds = sec_num - (hours * 3600) - (minutes * 60);
- if (hours < 10) {hours = "0"+hours;}
- if (minutes < 10) {minutes = "0"+minutes;}
- if (seconds < 10) {seconds = "0"+seconds;}
- // return hours+':'+minutes+':'+seconds;
- return minutes+':'+seconds;
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement