$(function() { $('.thumb').on('click' , function(e){ e.preventDefault();//リンクの停止 var str=$(this).data("video"); $(this).parent().html(''); }); //クリックしたときのファンクションをまとめて指定 $('.tab li').click(function() { //.index()を使いクリックされたタブが何番目かを調べ、 //indexという変数に代入します。 var index = $(this).parent().children('li').index(this); //コンテンツを一度すべて非表示にし、 $(this).parent().next('.content').children('li').css('display','none'); //クリックされたタブと同じ順番のコンテンツを表示します。 $(this).parent().next('.content').children('li').eq(index).css('display','block'); //一度タブについているクラスselectを消し、 $(this).parent().children().removeClass('select'); //クリックされたタブのみにクラスselectをつけます。 $(this).addClass('select') }); }); function tab_change(index){ //コンテンツを一度すべて非表示にし、 $('.content li').css('display','none'); //クリックされたタブと同じ順番のコンテンツを表示します。 $('.content li').eq(index).css('display','block'); //一度タブについているクラスselectを消し、 $('.tab li').removeClass('select'); //クリックされたタブのみにクラスselectをつけます。 $('.tab li').eq(index).addClass('select') } function tab_change1(){ // コンテンツを一度すべて非表示にし、 $('#systemtabcontent li').css('display','none'); //クリックされたタブと同じ順番のコンテンツを表示します。 $('#systemtabcontent li').eq(0).css('display','block'); //一度タブについているクラスselectを消し、 $('#systemtab li').removeClass('select'); //クリックされたタブのみにクラスselectをつけます。 $('#systemtab li').eq(0).addClass('select'); } function tab_change2(){ // コンテンツを一度すべて非表示にし、 $('#systemtabcontent li').css('display','none'); //クリックされたタブと同じ順番のコンテンツを表示します。 $('#systemtabcontent li').eq(1).css('display','block'); //一度タブについているクラスselectを消し、 $('#systemtab li').removeClass('select'); //クリックされたタブのみにクラスselectをつけます。 $('#systemtab li').eq(1).addClass('select'); } function tab_change3(){ // コンテンツを一度すべて非表示にし、 $('#systemtabcontent li').css('display','none'); //クリックされたタブと同じ順番のコンテンツを表示します。 $('#systemtabcontent li').eq(3).css('display','block'); //一度タブについているクラスselectを消し、 $('#systemtab li').removeClass('select'); //クリックされたタブのみにクラスselectをつけます。 $('#systemtab li').eq(3).addClass('select'); } $(function(){ var url = location.href; url= encodeURIComponent(url); var title = $('title').html(); // twitter シェアの生成 var text = encodeURIComponent(title); var tweet_url = 'http://twitter.com/share?url=' + url + '&text=' + text; $('a.js-twitter-share').attr("href", tweet_url); // facebookシェアの生成 var facebook_url = 'https://www.facebook.com/sharer/sharer.php?u=' + url; $('a.js-facebook-share').attr("href", facebook_url); // LINEシェア $('.js-line-share').off('click'); $('.js-line-share').on('click', function(){ var message = title + ' '; var shareLink = 'http://line.me/R/msg/text/?' + encodeURIComponent(message)+url; window.open(shareLink, '_blank'); }); // はてなブックマーク // var hatena_url = 'http://b.hatena.ne.jp/entry/' + url; // $('a.js-hatena-share').attr("href", hatena_url); // 標準のはてなブックマークボタンには次の2つも付くが無くても動作する // $('a.js-hatena-share').attr("data-hatena-bookmark-title", title); // $('a.js-hatena-share').attr("data-hatena-bookmark-layout", "simple"); }); $.fn.extend({ animateCss: function (animationName) { var animationEnd = 'webkitAnimationEnd mozAnimationEnd MSAnimationEnd oanimationend animationend'; this.addClass('animated ' + animationName).one(animationEnd, function() { $(this).removeClass('animated ' + animationName); }); return this; } }); //************************************************************************ //swiperdell //************************************************************************ //var tsJqSwipeX = -1; //var tsJqSwipeY = -1; // //$(function(){ // // 初期状態で[削除]は非表示 // $(".badge").hide(); // // // スワイプ処理 // $(".swipe-item").bind("touchstart", function(){ // tsJqSwipeX = event.changedTouches[0].pageX; // tsJqSwipeY = event.changedTouches[0].pageY; // }); // $(".swipe-item").bind("click touchend", function(){ // tsJqSwipeX = -1; // flag = 0; // }); // $(".swipe-item").bind("touchmove", function(){ // if (Math.abs(event.changedTouches[0].pageY - tsJqSwipeY) > 10) tsJqSwipeX = -1; // if (tsJqSwipeX != -1 && Math.abs(event.changedTouches[0].pageX - tsJqSwipeX) > 10) { // tsJqSwipeX = -1; // // スワイプられた時の処理 // if ($(this).children("span").is(':visible')) { // $(".swipe-item").animate({'left':'0px'},150); // $(".badge").hide(); // } else { // $(".swipe-item").animate({'left':'0px'},150); // $(".badge").hide(); // $(this).animate({'left':'-80px'},150); // //$(this).css('left',"-80px"); // $(this).children("span").show(); // } // } // }); //}); var luminousTrigger = document.querySelector('.luminous'); if( luminousTrigger !== null ) { new Luminous(luminousTrigger); } var mypage=mainurl+"/"+area1+"/mypage/"; $(function(){ $('#loader-bg').css('display','block'); //ウィンドウの高さに合わせでローディング画面を表示 }); $(window).on('load',function(){ stopload(); }); $(function(){ //3秒たったらロードを終わらせる setTimeout('stopload()',1500); }); function stopload(){ $('#loader-bg').fadeOut(800); } //************************************************************************ //API call //************************************************************************ function syscall(params,paramsJson,callback) { var p = $.param(params); if( p!=''&¶msJson!='')p = p + '&'; p = p + paramsJson; $.ajax({ url:mainurl+'/model/interface_js.php', type:"POST", data:p, dataType: "json", timeout:100000, success: callback, error: function(XMLHttpRequest, textStatus, errorThrown) { console.log(XMLHttpRequest); console.log(textStatus); console.log(errorThrown); } }); } //************************************************************************ //API call //************************************************************************ function syscall2(params) { var p = $.param(params); var res= $.ajax({ url:mainurl+'/model/interface_js.php', type:"POST", data:p, dataType: "json", cache : false, async: false }).responseText; return res; } // ダイアログ表示前にJavaScriptで操作する $('#staticModal').on('show.bs.modal', function(event) { var recipient = $(event.relatedTarget).data('whatever'); //< "パラメーター1"を取得 $(this).find('.modal-body .recipient').text(recipient); }); $( function() { $('body').css('overflow-y', $(window).height() < $(document).height() ? "initial" : "scroll"); $( "#staffsortable" ).sortable({ items :'.sortable-item', handle :'.sorthandle', axis : 'y', update: function() { var updateArray = $("#staffsortable").sortable("toArray").join(","); var params = {_apino:212,'updateArray':updateArray}; syscall(params,null,function(res){ if(res.success){ }else{ alert('並び替えに失敗しました。'); location.reload(); } }) } }); } ); //************************************************************************ //topに戻るぼたん //************************************************************************ $(document).ready(function() { var pagetop = $('.pagetop'); $(window).scroll(function () { if ($(this).scrollTop() > 100) { pagetop.fadeIn(); } else { pagetop.fadeOut(); } }); pagetop.click(function () { $('body, html').animate({ scrollTop: 0 }, 500); return false; }); }); //************************************************************************ //スムーススクロール //************************************************************************ $(function(){ //位置・時間調整 var adjust = 100; var time = 500; //URLのハッシュ値を取得 var urlHash = location.hash; //ハッシュ値があればページ内スクロール if(urlHash) { //スクロールを0に戻しておく $('body,html').stop().scrollTop(0); setTimeout(function () { //ロード時の処理を待ち、時間差でスクロール実行 scrollToAnker(urlHash,-250) ; }, 100); } //通常のクリック時 $('a[href^="#"]').click(function(){ // ハッシュ値を取得して URI デコードする // var decodedHash = decodeURI(this.hash); var decodedHash= $(this).attr("href"); // ハッシュの確認 console.log(decodedHash); //リンク先が#か空だったらhtmlに var hash = decodedHash == "#" || decodedHash == "" ? 'html' : decodedHash; //スクロール実行 scrollToAnker(hash,100); return false; }); // 関数:スムーススクロール // 指定したアンカー(#ID)へアニメーションでスクロール function scrollToAnker(hash,adjust) { var target = $(hash); var position = target.offset().top - adjust; console.log(adjust) console.log(position) $('body,html').stop().animate({scrollTop:position}, time, 'swing'); } }) //$(function(){ // var windowWidth = $(window).width(); // var headerHight = 100; //ヘッダの高さ // $('a[href^="#"].anchor-link').click(function(){ // var speed = 500; // var href= $(this).attr("href"); // var target = $(href == "#" || href == "" ? 'html' : href); // var position = target.offset().top-headerHight; // $("html, body").animate({scrollTop:position}, speed, "swing"); // return false; // }); //}); function iinephcount(src){ var params = {_apino:209,'src':src} syscall(params,null,function(res){ if(res.success){ $('[data-src="'+src+'"]').children('.phcaption').children('.iinemarkicon').children('small').html(res['data'][0]); } }) } //************************************************************************ //写真いいね //************************************************************************ //$(document).hammer().on('doubletap','.iineph',function(){ // var ph=$(this) // var src=ph.data('src'); // var iineflag=ph.attr('data-iineflag'); // if(iineflag==1){ // //いいね消す // var params = {_apino:208,'src':src,'dele':1} // syscall(params,null,function(res){ // if(res.success){ // iinephcount(src); // ph.children('.phcaption').children('.iinemarkicon').removeClass('iinemark'); // ph.attr('data-iineflag',0); // }else{ // erroralert(res.error); // } // }); // }else{ // //いいねする // var params = {_apino:208,'src':src} // syscall(params,null,function(res){ // if(res.success){ // iinephcount(src); // ph.children('.iinegif').children('img').attr('src',mainurl+"/img/2.gif?"+$.now()); // ph.children('.iinegif').show(); // setTimeout(function(){ // ph.children('.iinegif').hide(); // },2000); // ph.children('.phcaption').children('.iinemarkicon').addClass('iinemark'); // ph.attr('data-iineflag',1); // }else{ // erroralert(res.error); // } // }) // } //}) //************************************************************************ //メニュー //************************************************************************ $(document).on("click touchend",".mokuji",function(e){ e.preventDefault(); //クリックされた.accordion2の中のp要素に隣接する.accordion2の中の.innerを開いたり閉じたりする。 $(this).next().slideToggle(); //クリックされた.accordion2の中のp要素以外の.accordion2の中のp要素に隣接する.accordion2の中の.innerを閉じる $('.mokuji').not($(this)).next().slideUp(); }); //************************************************************************ //換金 //************************************************************************ $(document).on("click touchend",".nonmail",function(e){ e.preventDefault(); alert('メールアドレスの登録がされていません。\nこのサービスをご利用になるにはメールアドレスの登録が必要です。'); location.href=mainurl+"/"+area1+"/mypage/profileedit/"; }); //************************************************************************ //換金 //************************************************************************ $(document).on("click touchend",".nonbank",function(e){ e.preventDefault(); alert('振込先銀行口座の登録がされていません。\nこのサービスをご利用になるには振込先銀行口座の登録が必要です。'); location.href=mainurl+"/"+area1+"/mypage/bankedit/"; }); //************************************************************************ //退会 //************************************************************************ $(document).on("click touchend","#unsubscribebtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var json=$(this.form).serialize(); var params = {_apino:20}; if ( window.confirm("本当に退会しますか?") ){ syscall(params,json,function(res){ if(res.success){ alert("退会手続きが完了しました。"); location.reload(); }else{ erroralert(res.error); } }) } }); //************************************************************************ //退会→復旧 //************************************************************************ $(document).on("click touchend","#resubscribebtn",function(e){ e.preventDefault(); var params = {_apino:21}; syscall(params,null,function(res){ if(res.success){ alert("復旧手続きが完了しました。"); location.href=mainurl+"/"+area1+"/mypage/"; }else{ erroralert(res.error); } }) }); //************************************************************************ //新規登録エラー問い合わせ //************************************************************************ $(document).on("click touchend","#reginfobtn",function(e){ e.preventDefault(); var params = {_apino:22}; var json=$(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ alert("お問い合わせを受け付けました。"); location.href=mainurl+"/top/"; }else{ erroralert(res.error); } }) }); //************************************************************************ //掲載のお申し込み //************************************************************************ $(document).on("click touchend","#ad_form",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:23}; var json=$(this.form).serialize(); if (confirm('このお申込み内容を送信していいですか?')) { syscall(params,json,function(res){ if(res.success){ alert("お申し込みを受け付けました。"); location.href=mainurl+"/top/"; }else{ erroralert(res.error); } }) } }); //************************************************************************ //メッセージ削除 //************************************************************************ $(document).on("click touchend",".dellmsg",function(e){ e.preventDefault(); var msg_no=$(this).data('msgno'); var flag=$(this).data('flag'); var params = {_apino:142,msg_no:msg_no}; var confirmmsg; if ( window.confirm('このメッセージを削除しますか?') ){ syscall(params,null,function(res){ if(res.success){ location.reload(); }else{ erroralert(res.error); } }) } }); //************************************************************************ //日記コメント非表示 //************************************************************************ $(document).on("click touchend",".diaryhidden",function(e){ e.preventDefault(); var diary_coment_no=$(this).data('diary_coment_no'); var flag=$(this).data('flag'); var params = {_apino:1071,diary_coment_no:diary_coment_no,flag:flag}; var confirmmsg; if(flag==9){ confirmmsg="このコメントを非表示にしますか?"; }else if(flag==1){ confirmmsg="このコメントを再表示しますか?"; } if ( window.confirm(confirmmsg) ){ syscall(params,null,function(res){ if(res.success){ location.reload(); }else{ erroralert(res.error); } }) } }); //************************************************************************ //換金 //************************************************************************ $(document).on("click touchend","#kankinbtn",function(e){ if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var json=$(this.form).serialize(); var params = {_apino:202}; syscall(params,json,function(res){ if(res.success){ location.href=mainurl+"/"+area1+"/mypage/kankin_finish/"; }else{ erroralert(res.error); } }); }); //************************************************************************ //いいね //************************************************************************ $(document).on("click touchend",".iinebtn",function(e){ e.preventDefault(); var obj= $(this); var userno= $(this).data("userno"); var area= $(this).data("area"); var ip= $(this).data("ip"); var usertype= $(this).data("usertype"); var params = {_apino:190,'user_no':userno,'ip':ip,'usertype':usertype,'area':area} var con=$(this).next(".iinecountbox").text(); syscall(params,null,function(res){ console.log(res); if(res.success){ if(con){con=parseInt(con)+1;}else{con=1;} obj.next(".iinecountbox").html(con); obj.addClass('active'); obj.animateCss('heartBeat'); }else{ if(res.error==129){ alert("すでにいいね済みです"); obj.addClass('active'); obj.animateCss('heartBeat'); } erroralert(res.error); } }); }); //************************************************************************ //いいね //************************************************************************ //$(document).on("click touchend",".diaryiinebtn",function(e){ // e.preventDefault(); // var obj= $(this); // var diaryno= $(this).data("diaryno"); // var ip= $(this).data("ip"); // var params = {_apino:195,'diaryno':diaryno,'ip':ip} // var con=$(this).next(".iinecountbox").text(); // syscall(params,null,function(res){ // if(res.success){ // if(con){ // con=parseInt(con)+1; // obj.next(".iinecountbox").html(con); // }else{ // con=1; // obj.next(".iinecountbox").html(con); // } // // obj.addClass('active'); // obj.animateCss('heartBeat'); // // }else{ // erroralert(res.error); // } // }); //}); //************************************************************************ //いいね //************************************************************************ //$(document).on("click touchend","#iinebtn",function(e){ // e.preventDefault(); // // if($(this).attr('data-userno') != undefined) { // var userno= $(this).data("userno"); // var params = {_apino:190,'user_no':userno}; // } else { // var diaryno= $(this).data("diaryno"); // var params = {_apino:195,'diary_no':diaryno}; // } // // var iinepoint= $(this).data("iinepoint"); // // syscall(params,null,function(res){ // if(res.success){ // // var iinecountbox=$('#iinecountbox').text(); // if(iinecountbox!=""||iinecountbox!=" "){iinecountbox=Number(iinecountbox)+1;}else{iinecountbox="";} // $('#iinecountbox').text(iinecountbox); // // if($(this).attr('data-userno') != undefined) { // if(iinepoint==1){ // $('#iinebtn').attr('id','freeiinebtn'); // }else{ // $('#iinebtn').remove(); // } // }else{ // } // }else{ // erroralert(res.error); // } // }); //}); //************************************************************************ //superいいね //************************************************************************ $(document).on("click touchend","#superiinebtn",function(e){ e.preventDefault(); if($(this).attr('data-userno') != undefined) { var userno= $(this).data("userno"); var params = {_apino:194,'user_no':userno}; } else { var diaryno= $(this).data("diaryno"); var params = {_apino:198,'diary_no':diaryno}; } if ( window.confirm("同じ日記、お店やホストに無料でいいね!が\nできるのは1日1回までです。\n\n10ポイントを消費していいね!しますか?") ){ syscall(params,null,function(res){ if(res.success){ alert("サンキュー!Superいいね!"); location.reload(); }else{ erroralert(res.error); } }) } }); //************************************************************************ //無料いいね //************************************************************************ $(document).on("click touchend","#freeiinebtn",function(e){ e.preventDefault(); var userno= $(this).data("userno"); var params = {_apino:197,'user_no':userno}; var con=$(".iinecountbox").text(); if ( window.confirm("同じお店やホストに無料でいいね!が\nできるのは1日1回までです。\n\nホスコインを消費していいね!しますか?") ){ syscall(params,null,function(res){ if(res.success){ con=parseInt(con)+1; $("#iinecountbox").html(con); }else{ erroralert(res.error); } }) } }); //************************************************************************ //日記無料いいね //************************************************************************ $(document).on("click touchend","#diaryfreeiinebtn",function(e){ e.preventDefault(); var diaryno= $(this).data("diaryno"); var params = {_apino:199,'diary_no':diaryno}; if ( window.confirm("同じ日記に無料でいいね!が\nできるのは1日1回までです。\n\nホスコインを消費していいね!しますか?") ){ syscall(params,null,function(res){ if(res.success){ location.reload(); }else{ erroralert(res.error); } }) } }); //************************************************************************ //プレゼント //************************************************************************ $(document).on("click touchend",".giftsend",function(e){ e.preventDefault(); var itemid=$(this).data('itemid'); var point=$(this).data('point'); var staffname=$(this).data('name'); var staffno=$(this).data('staffno'); var itemname=$(this).data('itemname'); var point=$(this).data('point'); var params = {_apino:200,'itemid':itemid,'to_user':staffno}; if ( window.confirm("一度プレゼントしたアイテムの変更、ポイントの変換はできません。\n\n"+itemname+" を "+point+" ptを消費して "+staffname+" にプレゼントしますか?") ){ syscall(params,null,function(res){ if(res.success){ alert("プレゼントを贈りました!"); location.href=mainurl+"/"+area1+"/staffdata/?c="+staffno; }else{ erroralert(res.error); } }) } }); //************************************************************************ //投票 //************************************************************************ $(document).on("click touchend",".voteon",function(e){ e.preventDefault(); var obj=$(this); var rankno=obj.data('rankno'); var staffno=obj.data('staffno'); var ip=obj.data('ip'); var params = {_apino:204,'rankno':rankno,'staffno':staffno,'ip':ip}; syscall(params,null,function(res){ if(res.success){ obj.removeClass('voteon'); obj.addClass('vote'); obj.find('small').text('(本日は投票済み)'); }else{ erroralert(res.error); } }) }); //************************************************************************ //ログインしている人の場合非表示コンテンツ //************************************************************************ $(function(){ if(login_user_no==getUrlVars['c']){ $(".mylogin").hide(); } }); //**************************************************************************** //絵文字エンコード //**************************************************************************** function utf8mb4_encode_numericentity(str) { var re = /[\uD800-\uDBFF][\uDC00-\uDFFF]/g; return str.replace(re, function(match) { return '&#x' + match.codePointAt(0).toString(16).toUpperCase() + ';'; }); } //**************************************************************************** //絵文字デコード //**************************************************************************** function utf8mb4_decode_numericentity(str) { var re = /&#(x([0-9a-fA-F]{5,6})|\d{5,7});/g; return str.replace(re, function(m) { if (typeof arguments[2] !== 'undefined') { var cp = parseInt(arguments[2], 16); } else { var cp = parseInt(arguments[1], 10); } return String.fromCodePoint(cp); }); } //************************************************************************ //headline //************************************************************************ $(function(){ var $setElm = $('.ticker'); var effectSpeed = 1000; var switchDelay = 6000; var easing = 'swing'; $setElm.each(function(){ var effectFilter = $(this).attr('rel'); // 'fade' or 'roll' or 'slide' var $targetObj = $(this); var $targetUl = $targetObj.children('ul'); var $targetLi = $targetObj.find('li'); var $setList = $targetObj.find('li:first'); var ulWidth = $targetUl.width(); var listHeight = $targetLi.height(); $targetObj.css({height:(listHeight)}); $targetLi.css({top:'0',left:'0',position:'absolute'}); var liCont = $targetLi.length; if(effectFilter == 'fade') { $setList.css({display:'block',opacity:'0',zIndex:'98'}).stop().animate({opacity:'1'},effectSpeed,easing).addClass('showlist'); if(liCont > 1) { setInterval(function(){ var $activeShow = $targetObj.find('.showlist'); $activeShow.animate({opacity:'0'},effectSpeed,easing,function(){ $(this).next().css({display:'block',opacity:'0',zIndex:'99'}).animate({opacity:'1'},effectSpeed,easing).addClass('showlist').end().appendTo($targetUl).css({display:'none',zIndex:'98'}).removeClass('showlist'); }); },switchDelay); } } else if(effectFilter == 'roll') { $setList.css({top:'3em',display:'block',opacity:'0',zIndex:'98'}).stop().animate({top:'0',opacity:'1'},effectSpeed,easing).addClass('showlist'); if(liCont > 1) { setInterval(function(){ var $activeShow = $targetObj.find('.showlist'); $activeShow.animate({top:'-3em',opacity:'0'},effectSpeed,easing).next().css({top:'3em',display:'block',opacity:'0',zIndex:'99'}).animate({top:'0',opacity:'1'},effectSpeed,easing).addClass('showlist').end().appendTo($targetUl).css({zIndex:'98'}).removeClass('showlist'); },switchDelay); } } else if(effectFilter == 'slide') { $setList.css({left:(ulWidth),display:'block',opacity:'0',zIndex:'98'}).stop().animate({left:'0',opacity:'1'},effectSpeed,easing).addClass('showlist'); if(liCont > 1) { setInterval(function(){ var $activeShow = $targetObj.find('.showlist'); $activeShow.animate({left:(-(ulWidth)),opacity:'0'},effectSpeed,easing).next().css({left:(ulWidth),display:'block',opacity:'0',zIndex:'99'}).animate({left:'0',opacity:'1'},effectSpeed,easing).addClass('showlist').end().appendTo($targetUl).css({zIndex:'98'}).removeClass('showlist'); },switchDelay); } } }); }); //************************************************************************ //user profile画像アップロード //************************************************************************ $(function() { var file = null; // 選択されるファイル var blob = null; // 画像(BLOBデータ) var userno=""; const THUMBNAIL_WIDTH = 350; // 画像リサイズ後の横の長さの最大値 const THUMBNAIL_HEIGHT = 350; // 画像リサイズ後の縦の長さの最大値 // ファイルが選択されたら $('input[name="user_photo"]').change(function() { userno = $(this).data('userno'); // ファイルを取得 file = $(this).prop('files')[0]; // 選択されたファイルが画像かどうか判定 if (file.type != 'image/jpeg' && file.type != 'image/png') { // 画像でない場合は終了 file = null; blob = null; return; } console.log(userno); // 画像をリサイズする var image = new Image(); var reader = new FileReader(); reader.onload = function(e) { image.onload = function() { var width, height; if(image.width > image.height){ // 横長の画像は横のサイズを指定値にあわせる var ratio = image.height/image.width; width = THUMBNAIL_WIDTH; height = THUMBNAIL_WIDTH * ratio; } else { // 縦長の画像は縦のサイズを指定値にあわせる var ratio = image.width/image.height; width = THUMBNAIL_HEIGHT * ratio; height = THUMBNAIL_HEIGHT; } // サムネ描画用canvasのサイズを上で算出した値に変更 var canvas = $('#canvas') .attr('width', width) .attr('height', height); var ctx = canvas[0].getContext('2d'); // canvasに既に描画されている画像をクリア ctx.clearRect(0,0,width,height); // canvasにサムネイルを描画 ctx.drawImage(image,0,0,image.width,image.height,0,0,width,height); $("#upload").remove(); $("#photobtn").append(""); // canvasからbase64画像データを取得 var base64 = canvas.get(0).toDataURL('image/jpeg'); // base64からBlobデータを作成 var barr, bin, i, len; bin = atob(base64.split('base64,')[1]); len = bin.length; barr = new Uint8Array(len); i = 0; while (i < len) { barr[i] = bin.charCodeAt(i); i++; } blob = new Blob([barr], {type: 'image/jpeg'}); } image.src = e.target.result; } reader.readAsDataURL(file); }); // アップロード開始ボタンがクリックされたら $(document).on("click touchend",'#photoupload',function(){ // ファイルが指定されていなければ何も起こらない if(!file || !blob) { return; } var fd = new FormData(); fd.append('file', blob); // ファイルを添付する fd.append('user_no', userno); // ファイルを添付する $.ajax({ url: mainurl+"/model/user_photo_upload.php", // 送信先 type: 'POST', dataType: 'text', data: fd, processData: false, contentType: false }).done(function( data, textStatus, jqXHR ) { $("#upload").remove(); alert("画像の変更が完了しました"); location.reload(); }).fail(function( jqXHR, textStatus, errorThrown ) { }); }); }); //************************************************************************ //delimit //************************************************************************ var delimit = function(n) { return String(n).replace(/(\d)(?=(\d{3})+(?!\d))/g, '$1,'); }; //************************************************************************ //GET value //************************************************************************ function getUrlVars(){ var vars = [], hash; var hashes = window.location.href.slice(window.location.href.indexOf('?') + 1).split('&'); for(var i = 0; i < hashes.length; i++) { hash = hashes[i].split('='); vars.push(hash[0]); vars[hash[0]] = hash[1]; } return vars; } var getUrlVars=getUrlVars(); //************************************************************************ //rogo click //************************************************************************ $(document).on("click touchend",".logo",function(e){ location.href=mainurl+"/"+area1+"/top/"; }) $(function(){ //************************************************************************ //slide menu //************************************************************************ $(function(){ var MenuBtn = $('#panel-btn'), menuOverlay = $('#menuOverlay'), sidemenu = $('#sidemenu'), main = $('#main'), close = $('#close'), switchPoint = 768, slideSpeed = 300, fadeSpeed = 500, menuWidth = 260; function menuSet(){ //if(window.innerWidth <= switchPoint){ MenuBtn.on('click', function(){ if(MenuBtn.hasClass('btnClose')){ MenuBtn.removeClass('btnClose').removeAttr('style'); menuOverlay.stop().animate({opacity:'0'},fadeSpeed,function(){ menuOverlay.removeAttr('style'); }); sidemenu.stop().animate({left:'-' + menuWidth + 'px'},slideSpeed); main.css({position:'static'}); } else { $(this).addClass('btnClose'); menuOverlay.css({display:'block',opacity:'0'}).stop().animate({opacity:'0.8'},fadeSpeed); sidemenu.stop().animate({left:'0'},slideSpeed); // main.css({position:'fixed',top:0,left:0}); } }); menuOverlay.on('click', function(){ MenuBtn.removeClass('btnClose').removeAttr('style'); menuOverlay.stop().animate({opacity:'0'},fadeSpeed,function(){ menuOverlay.removeAttr('style'); }); sidemenu.stop().animate({left:'-' + menuWidth + 'px'},slideSpeed); main.css({position:'static'}) }); //} else { // menuOverlay.hide(); //} } $(window).on('resize', function(){ menuSet(); }); menuSet(); }); //************************************************************************ //areamenu //************************************************************************ $(function(){ /* var MenuBtn = $('#area_btn'), menuOverlay = $('#menuOverlay'), sidemenu = $('#areamenu'), main = $('#main'), close2 = $('#close2'), switchPoint = 768, slideSpeed = 300, fadeSpeed = 500, menuWidth = 240; function areamenuSet(){ if(window.innerWidth <= switchPoint){ MenuBtn.on('click', function(){ if(MenuBtn.hasClass('btnClose')){ MenuBtn.removeClass('btnClose').removeAttr('style'); menuOverlay.stop().animate({opacity:'0'},fadeSpeed,function(){ menuOverlay.removeAttr('style'); }); sidemenu.stop().animate({right: + menuWidth + 'px'},slideSpeed); main.css({position:'static'}) } else { $(this).addClass('btnClose'); menuOverlay.css({display:'block',opacity:'0'}).stop().animate({opacity:'0.8'},fadeSpeed); sidemenu.stop().animate({right:'0'},slideSpeed); main.css({position:'fixed',top:0,left:0}) } }); menuOverlay.on('click', function(){ MenuBtn.removeClass('btnClose').removeAttr('style'); menuOverlay.stop().animate({opacity:'0'},fadeSpeed,function(){ menuOverlay.removeAttr('style'); }); sidemenu.stop().animate({right:'-' + menuWidth + 'px'},slideSpeed); main.css({position:'static'}) }); } else { menuOverlay.hide(); } } $(window).on('resize', function(){ areamenuSet(); }); areamenuSet(); */ }); //************************************************************************ //画像があるか //************************************************************************ function userimg(user_no){ var filepath=mainurl+"/img/user/"+user_no+"/top.jpg"; var str=filepath; var img = new Image(); img.src = filepath; img.onerror = function() { str = mainurl+"/img/no-photo.gif"; //代用 } return str; } //************************************************************************ //画像がない場合差し替え //************************************************************************ function shortdat2(dat){ var str; //日付と時間に分ける var arr = dat.split(" "); //年・月・日に分ける var arrDate = arr[0].split("-"); //時・分・秒に分ける var arrTime = arr[1].split(":"); //今日 var today = new Date(); if(today.getDate()==arrDate[2]){ str="今日"+" "+arrTime[0]+":"+arrTime[1]; }else if(today.getDate()-1==arrDate[2]){ str="昨日"+" "+arrTime[0]+":"+arrTime[1]; }else if(today.getFullYear()-1==arrDate[0]){ str=arrDate[0]+"/"+arrDate[1]+"/"+arrDate[2]+" "+arrTime[0]+":"+arrTime[1]; }else{ str=arrDate[1]+"/"+arrDate[2]+" "+arrTime[0]+":"+arrTime[1]; } return str; } //************************************************************************ //無限スクロール message //************************************************************************ if(location.pathname=='/tokai/mypage/message/'){ var p=2; let triggerFlag = false; var from_user=$("#from_user").val(); var to_user=$("#to_user").val(); $(window).on('load scroll', function () { var str="", f,bgimg, documentHeight= $(document).height(), scrollBottomPosition = $(window).height() + $(window).scrollTop(), triggerPoint = documentHeight - scrollBottomPosition; if (!triggerFlag && triggerPoint <= 50) { triggerFlag = true; $(".loading").show(); var params = {_apino:143,from_user:from_user,p:p}; syscall(params,null,function(res){ if(res.success){ for(var i=0; i"+f+"
"+shortdat2(res.data[i]['regist_dat'])+"
"; }else{ syscall2({_apino:145,msg_no:res.data[i]['msg_no']}) bgimg=userimg(res.data[i]['from_user']); str+= "
"; str+="
"; str+="
"; str+="
"+utf8mb4_decode_numericentity(res.data[i]['msg_body'])+"
"; str+="
"; str+=""+shortdat2(res.data[i]['regist_dat'])+""; str+="
"; } } $(".line-bc").append(str); }else{ if(res.error==107){finish=false;} } }); p++; } if (triggerPoint >= 51) { triggerFlag = false; } $(".loading").hide(); }); } //************************************************************************ //無限スクロール diary //************************************************************************ if(location.pathname=='/tokai/diarydata/'){ var p=2; let triggerFlag = false; var diary_no=getUrlVars['d']; $(window).on('load scroll', function () { var str="", f,bgimg, documentHeight= $(document).height(), scrollBottomPosition = $(window).height() + $(window).scrollTop(), triggerPoint = documentHeight - scrollBottomPosition; if (!triggerFlag && triggerPoint <= 50) { triggerFlag = true; $(".loading").show(); var params = {_apino:173,diary_no:diary_no,p:p}; syscall(params,null,function(res){ if(res.success){ for(var i=0; i"+f+"
"+shortdat2(res.data[i]['regist_dat'])+"
"; }else{ syscall2({_apino:174,diary_coment_no:res.data[i]['diary_coment_no']}) bgimg=userimg(res.data[i]['from_user']); str+= "
"; str+="
"; str+="
"; str+="
"+utf8mb4_decode_numericentity(res.data[i]['coment'])+"
"; str+="
"; str+=""+shortdat2(res.data[i]['regist_dat'])+""; str+="
"; } } $(".line-bc").append(str); }else{ if(res.error==107){finish=false;} } }); p++; } if (triggerPoint >= 51) { triggerFlag = false; } $(".loading").hide(); }); } //************************************************************************ //無限スクロール item //************************************************************************ if(location.pathname=='/tokai/staffgift/'){ var p=2; let triggerFlag = false; //閉店していれば動かさない var open=$("#open").val(); if(open=="close") return false; // $(window).on('load scroll', function () { // // var str="", // f,bgimg, // documentHeight= $(document).height(), // scrollBottomPosition = $(window).height() + $(window).scrollTop(), // triggerPoint = documentHeight - scrollBottomPosition; // // if (!triggerFlag && triggerPoint <= 50) { // triggerFlag = true; // $(".loading").show(); // var params = {_apino:120,p:p}; // var staff_name=$("#itemlist").data("name"); // var staffno=$("#itemlist").data("staffno"); // // syscall(params,null,function(res){ // if(res.success){ // for(var i=0; i"; // str+= "
"+res.data[i]['itemname']+"
"; // str+= "
"+delimit(res.data[i]['point'])+" ptで購入
"; // str+= ""; // } // $("#itemlist").append(str); // // }else{ // if(res.error==107){finish=false;} // } // }); // p++; // } // // if (triggerPoint >= 51) { // triggerFlag = false; // } // $(".loading").hide(); // }); } //************************************************************************ //会員情報更新 //************************************************************************ $(document).on("click touchend","#userdataeditbtn",function(e){ e.preventDefault(); if(! $("#usereditform").validationEngine('validate', { promptPosition:"bottomLeft", addFailureCssClassToField: "inputError", addSuccessCssClassToField: "inputOk", })) { alert("必須項目が入力されていません"); return false; } var params = {_apino:101}; var json = $("#usereditform").serialize(); syscall(params,json,function(res){ if(res.success){ alert("更新が完了しました。"); location.reload(); }else{ erroralert(res.error); } }); }) //************************************************************************ //銀行情報更新 //************************************************************************ $(document).on("click touchend","#userbankdataeditbtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:1012}; var json = $("#userbankeditform").serialize(); syscall(params,json,function(res){ if(res.success){ alert("更新が完了しました。"); location.reload(); }else{ erroralert(res.error); } }); }) //************************************************************************ //お知らせ追加 //************************************************************************ $(document).on("click touchend","#newsaddbtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:114}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ alert("お知らせを追加しました。"); location.href=mainurl+"/"+area1+"/mypage/newslist/"; }else{ erroralert(res.error); } }); }) //************************************************************************ //新規登録 in //************************************************************************ $(document).on("click touchend","#regbtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:100}; var json = $(this.form).serialize(); syscall(params,json,function(res){ console.log(res) if(res.success){ location.href=mainurl+"/"+area1+"/reg_check/"; }else{ erroralert(res.error); } }); }) //************************************************************************ //新規登録 本登録 //************************************************************************ $(document).on("click touchend","#regcomp",function(e){ e.preventDefault(); var params = {_apino:104}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ location.href=mainurl+"/"+area1+"/reg_comp/"; }else{ erroralert(res.error); } }); }) //************************************************************************ //sign in //************************************************************************ $(document).on("click touchend","#loginbtn",function(e){ e.preventDefault(); var params = {_apino:1}; var json = $(this.form).serialize(); var url=$("#uri").val(); syscall(params,json,function(res){ if(res.success){ location.href=url; }else{ erroralert(res.error); } }); }) //************************************************************************ //sign out //************************************************************************ $(document).on("click touchend","#logout",function(e){ e.preventDefault(); var params = {_apino:2}; syscall(params,"",function(res){ if(res.success){ alert("ご利用ありがとうございました"); location.href=mainurl+"/"+area1+"/top/"; }else{ erroralert(res.error); } }); }) //************************************************************************ //お知らせ削除 //************************************************************************ $(document).on("click touchend",".newsdell",function(e){ e.preventDefault(); if ( window.confirm("このお知らせを削除しますか?") ){ var params = {_apino:116,news_no:$(this).data('newsno')}; syscall(params,null,function(res){ console.log(res) if(res.success){ location.reload(); }else{ erroralert(res.error); } }); } }) //************************************************************************ //notics send //************************************************************************ $(document).on("click touchend","#noticssend",function(e){ e.preventDefault(); var params = {_apino:118}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ alert("通知設定の更新が完了しました") location.href=mypage; }else{ erroralert(res.error); } }); }) //************************************************************************ //block send //************************************************************************ $(document).on("click touchend","#block",function(e){ e.preventDefault(); if ( window.confirm("このユーザーをブロックしますか?") ){ var params = {_apino:13,block_user_no:$(this).data('userno')}; syscall(params,null,function(res){ if(res.success){ alert("ブロック設定が完了しました") location.reload(); }else{ erroralert(res.error); } }); }else{ } }) //************************************************************************ //block dell //************************************************************************ $(document).on("click touchend",".block_dell",function(e){ e.preventDefault(); if ( window.confirm("このユーザーをブロック解除しますか?") ){ var params = {_apino:161,block_no:$(this).data('blockno')}; syscall(params,null,function(res){ if(res.success){ alert("ブロック解除しました") location.reload(); }else{ erroralert(res.error); } }); }else{ } }) //************************************************************************ //favorite send //************************************************************************ $(document).on("click touchend","#favorite",function(e){ e.preventDefault(); swal({ title: "このユーザーを推しメンに追加しますか?", text: "推しメンに追加するにはログインが必要です。", icon: "warning", buttons: true, dangerMode: true, buttons: { cancel: "やめる", ok: "はい" } }).then((willDelete) => { if (willDelete) { swal({ title: "推しメンに追加したことを相手に知られてもいいですか?", icon: "warning", buttons: true, dangerMode: true, buttons: { cancel: "教えない", ok: "知られていい" } }).then((willDelete) => { if (willDelete) { var params = {_apino:14,fav_user_no:$(this).data('userno'),flag:0}; syscall(params,null,function(res){ if(res.success){ alert("推しメンに追加しました"); location.reload(); }else{ erroralert(res.error); } }); } else { var params = {_apino:14,fav_user_no:$(this).data('userno'),flag:1}; syscall(params,null,function(res){ if(res.success){ alert("推しメンに追加しました"); location.reload(); }else{ erroralert(res.error); } }); } }); } }); }) //************************************************************************ //favorite dell //************************************************************************ $(document).on("click touchend",".fav_dell",function(e){ e.preventDefault(); if ( window.confirm("このユーザーを推しメンから外しますか?") ){ var params = {_apino:163,fav_no:$(this).data('favno')}; syscall(params,null,function(res){ if(res.success){ alert("推しメン解除しました"); location.reload(); }else{ erroralert(res.error); } }); }else{ } }) //************************************************************************ //message send //************************************************************************ $(document).on("click touchend","#msgsend",function(e){ var from_user=$("#from_user").val(); var to_user=$("#to_user").val(); e.preventDefault(); if($("#msg_body").val()){ if ( window.confirm("この内容でメッセージを送信しますか?") ){ var params = {_apino:140,from_user:from_user,to_user:to_user,msg_body:$("#msg_body").val()}; syscall(params,null,function(res){ console.log(res) if(res.success){ location.reload(); }else{ erroralert(res.error); } }); }else{ } } }) //************************************************************************ //comentsend //************************************************************************ $(document).on("click touchend","#comentsend",function(e){ e.preventDefault(); var diary_no=$("#diary_no").val(); var diary_user_no=$("#diary_user_no").val(); if($("#coment").val()){ if ( window.confirm("この内容でコメントを送信しますか?") ){ var params = {_apino:172,diary_no:diary_no,coment:$("#coment").val(),diary_user_no:diary_user_no}; syscall(params,null,function(res){ if(res.success){ location.reload(); }else{ erroralert(res.error); } }); }else{ } } }) //************************************************************************ //返信するボタン //************************************************************************ $(document).on("click touchend",".reply",function(e){ e.preventDefault(); var name=$(this).data('name'); $("#coment").val("to:"+name+"さん\n"); $("#coment").focus(); }) //************************************************************************ //検索 //************************************************************************ $(document).on("click touchend","#searchform",function(e){ e.preventDefault(); //正価に戻す var user_type; var param1=$(this.form).find("#pram1").val(); if($(this.form).find("#searchname").val()==""){alert("検索名を入力してください");return false;} var json = $(this.form).serialize(); location.href=mainurl+"/"+area1+"/"+param1+"/?"+json; }) }) //************************************************************************ //resetpass //************************************************************************ $(document).on("click touchend","#resetpassbtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:6}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ location.href=mainurl+"/"+area1+"/uppassguide/"; }else{ erroralert(res.error); } }); }) //************************************************************************ //updatepass //************************************************************************ $(document).on("click touchend","#updatepassbtn",function(e){ e.preventDefault(); if(! $(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } //正価に戻す var params = {_apino:7}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ alert("パスワードの変更が\n完了しました。") location.href=mainurl; }else{ erroralert(res.error); } }); }) //************************************************************************ //パスワード更新 //************************************************************************ $(document).on("click touchend","#passedit",function(e){ e.preventDefault(); if(!$(this.form).validationEngine('validate',{promptPosition:"bottomLeft"})) { return false; } var params = {_apino:8}; var json = $(this.form).serialize(); syscall(params,json,function(res){ if(res.success){ alert("パスワード変更を受付ました") location.reload(); }else{ erroralert(res.error); } }); }) //▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ //店舗管理メニュー //▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼ //************************************************************************ //キャスト非表示 //************************************************************************ $(document).on("click touchend",".adminuserdel",function(e){ e.preventDefault(); if ( window.confirm("このユーザーを非公開にしますか?") ){ var params = {_apino:300,user_no:$(this).data('user')}; syscall(params,null,function(res){ if(res.success){ alert("非公開設定が完了しました") location.reload(); }else{ erroralert(res.error); } }); } }) //************************************************************************ //キャスト非表示 //************************************************************************ $(document).on("click touchend",".adminuserredel",function(e){ e.preventDefault(); if ( window.confirm("このユーザーを公開にしますか?") ){ var params = {_apino:302,user_no:$(this).data('user')}; syscall(params,null,function(res){ if(res.success){ alert("公開設定が完了しました") location.reload(); }else{ erroralert(res.error); } }); } }) //************************************************************************ //日記削除 //************************************************************************ $(document).on("click touchend",".admindiarydel",function(e){ e.preventDefault(); if ( window.confirm("コメントも一緒に削除されます。\n本当にこの日記を削除しますか?") ){ var params = {_apino:107,diary_no:$(this).data('diaryno')}; syscall(params,null,function(res){ if(res.success){ alert("削除が完了しました"); location.reload(); }else{ erroralert(res.error); } }); }else{ } }) //************************************************************************ //日記コメント削除 //************************************************************************ $(document).on("click touchend",".admindiarycomentdel",function(e){ e.preventDefault(); if ( window.confirm("本当にこのコメントを削除しますか?") ){ var params = {_apino:175,diary_coment_no:$(this).data('diarycomentno')}; syscall(params,null,function(res){ if(res.success){ alert("削除が完了しました"); location.reload(); }else{ erroralert(res.error); } }); }else{ } }) //************************************************************************ //店舗画像変更 //************************************************************************ $(document).on("touchstart click",".img_storesetting",function(event){ event.preventDefault(); var user_no=$(this).data('userno'); var params = {_apino:1803,user_no:user_no,photono:$(this).data('photono')}; console.log(params); syscall(params,null,function(res){ if(res.success){ alert("画像設定変更が完了しました"); location.href="/tokai/storeimgedit/?s="+user_no; }else{ console.log(res); } }); }) //************************************************************************ //トップ画像変更 //************************************************************************ $(document).on("touchstart click",".img_topsetting",function(event){ event.preventDefault(); var user_no=$(this).data('userno'); var params = {_apino:1801,user_no:user_no,photono:$(this).data('photono')}; syscall(params,null,function(res){ if(res.success){ alert("画像設定変更が完了しました"); location.href="/tokai/storeimgedit/?s="+user_no; }else{ erroralert(res.error); } }); }) //************************************************************************ //トップ画像変更 //************************************************************************ $(document).on("touchstart click",".img_topsetting_staff",function(event){ event.preventDefault(); var user_no=$(this).data('userno'); var params = {_apino:1801,user_no:user_no,photono:$(this).data('photono')}; syscall(params,null,function(res){ if(res.success){ alert("画像設定変更が完了しました"); location.href="/tokai/imgedit/?c="+user_no; }else{ erroralert(res.error); } }); }) //************************************************************************ //トップ画像変更 //************************************************************************ $(document).on("click touchend",".img_topsetting_old",function(e){ e.preventDefault(); var params = {_apino:180,user_no:$(this).data('userno'),filename:$(this).data('imgname')}; syscall(params,null,function(res){ if(res.success){ alert("画像設定変更が完了しました"); location.reload(); }else{ erroralert(res.error); } }); }) //************************************************************************ //画像削除 //************************************************************************ var toucevent = 'ontouchstart' in window ? 'touchend' : 'click'; $(document).on(toucevent,".imgdell",function(e){ e.preventDefault(); console.log(999) if ( window.confirm("本当にファイルを削除しますか?") ){ var params = {_apino:181,user_no:$(this).data('userno'),filename:$(this).data('imgname'),photono:$(this).data('photono')}; syscall(params,null,function(res){ if(res.success){ alert("画像の削除が完了しました"); location.reload(); }else{ erroralert(res.error); } }); } }) //************************************************************************ //キャスト追加 //************************************************************************ $(document).on("click touchend","#castadd",function(e){ e.preventDefault(); if ( window.confirm("新しくキャストを追加しますか?") ){ var params = {_apino:181,storeno:$(this).data('storeno')}; syscall(params,null,function(res){ if(res.success){ alert("画像の削除が完了しました"); location.reload(); }else{ erroralert(res.error); } }); } }) //************************************************************************ //ストア画像並び替え //************************************************************************ $( function() { $( "#storephsortable" ).sortable({ items :'.sortable-item', //handle :'.sorthandle', update: function() { var updateArray = $("#storephsortable").sortable("toArray").join(","); var params = {_apino:213,'updateArray':updateArray}; syscall(params,null,function(res){ if(res.success){ }else{ alert('並び替えに失敗しました。'); location.reload(); } }) } }); } ); //************************************************************************ //写真追加 //************************************************************************ $(function(){ //************************************************************************ //cast profile画像アップロード //************************************************************************ var file = null; // 選択されるファイル var blob = null; // 画像(BLOBデータ) var userno=""; const THUMBNAIL_WIDTH = 980; // 画像リサイズ後の横の長さの最大値 const THUMBNAIL_HEIGHT = 980; // 画像リサイズ後の縦の長さの最大値 // ファイルが選択されたら $('input[name="cast_photo"]').change(function() { // サムネ描画用canvasのサイズを上で算出した値に変更 $(".thumbnails").prepend(""); userno = $(this).data('userno'); // ファイルを取得 file = $(this).prop('files')[0]; // 選択されたファイルが画像かどうか判定 if (file.type != 'image/jpeg' && file.type != 'image/png') { // 画像でない場合は終了 file = null; blob = null; return; } // 画像をリサイズする var image = new Image(); var reader = new FileReader(); reader.onload = function(e) { image.onload = function() { var width, height; if(image.width > image.height){ // 横長の画像は横のサイズを指定値にあわせる var ratio = image.height/image.width; width = THUMBNAIL_WIDTH; height = THUMBNAIL_WIDTH * ratio; } else { // 縦長の画像は縦のサイズを指定値にあわせる var ratio = image.width/image.height; width = THUMBNAIL_HEIGHT * ratio; height = THUMBNAIL_HEIGHT; } var canvas = $('#canvas') .attr('width', width) .attr('height', height); var ctx = canvas[0].getContext('2d'); // canvasに既に描画されている画像をクリア ctx.clearRect(0,0,width,height); // canvasにサムネイルを描画 ctx.drawImage(image,0,0,image.width,image.height,0,0,width,height); $("#photobtn").text("この画像を追加する").attr("id","photoupload").attr("class","btn btn-danger btn-block castphotoadd"); $("#photobtn2").text("キャンセル").attr("id","photoupload_cansel"); // canvasからbase64画像データを取得 var base64 = canvas.get(0).toDataURL('image/jpeg'); // base64からBlobデータを作成 var barr, bin, i, len; bin = atob(base64.split('base64,')[1]); len = bin.length; barr = new Uint8Array(len); i = 0; while (i < len) { barr[i] = bin.charCodeAt(i); i++; } blob = new Blob([barr], {type: 'image/jpeg'}); } image.src = e.target.result; } reader.readAsDataURL(file); }); $(document).on("click touchend",'#photobtn2',function(){ location.href=mainurl+"/"+area1+"/imgedit/?c="+$(this).data('userno'); }) $(document).on("click touchend",'#photoupload_cansel',function(){ location.reload(); }) var toucevent = 'ontouchstart' in window ? 'touchend' : 'click'; $(document).on(toucevent,'#photoupload',function(){ // ファイルが指定されていなければ何も起こらない if(!file || !blob) { return; } console.log(blob); var fd = new FormData(); fd.append('file', blob); // ファイルを添付する fd.append('user_no', userno); // ファイルを添付する $.ajax({ url: mainurl+"/model/cast_photo_upload.php", // 送信先 type: 'POST', dataType: 'text', data: fd, processData: false, contentType: false }).done(function( data, textStatus, jqXHR ) { alert("画像の追加が完了しました"); location.reload(); }).fail(function( jqXHR, textStatus, errorThrown ) { }); }) }) //************************************************************************ //写真追加 //************************************************************************ $(function(){ //************************************************************************ //store profile画像アップロード //************************************************************************ var file = null; // 選択されるファイル var blob = null; // 画像(BLOBデータ) var userno=""; const THUMBNAIL_WIDTH = 980; // 画像リサイズ後の横の長さの最大値 const THUMBNAIL_HEIGHT = 980; // 画像リサイズ後の縦の長さの最大値 // ファイルが選択されたら $('input[name="store_photo"]').change(function() { // サムネ描画用canvasのサイズを上で算出した値に変更 $(".thumbnails").prepend(""); $(".thumbnails_main").prepend(""); userno = $(this).data('userno'); // ファイルを取得 file = $(this).prop('files')[0]; // 選択されたファイルが画像かどうか判定 if (file.type != 'image/jpeg' && file.type != 'image/png') { // 画像でない場合は終了 file = null; blob = null; return; } // 画像をリサイズする var image = new Image(); var reader = new FileReader(); reader.onload = function(e) { image.onload = function() { var width, height; if(image.width > image.height){ // 横長の画像は横のサイズを指定値にあわせる var ratio = image.height/image.width; width = THUMBNAIL_WIDTH; height = THUMBNAIL_WIDTH * ratio; } else { // 縦長の画像は縦のサイズを指定値にあわせる var ratio = image.width/image.height; width = THUMBNAIL_HEIGHT * ratio; height = THUMBNAIL_HEIGHT; } var canvas = $('#canvas') .attr('width', width) .attr('height', height); var ctx = canvas[0].getContext('2d'); // canvasに既に描画されている画像をクリア ctx.clearRect(0,0,width,height); // canvasにサムネイルを描画 ctx.drawImage(image,0,0,image.width,image.height,0,0,width,height); var canvas2 = $('#canvas2') .attr('width', width) .attr('height', height); var ctx2 = canvas2[0].getContext('2d'); // canvasに既に描画されている画像をクリア ctx2.clearRect(0,0,width,height); // canvasにサムネイルを描画 ctx2.drawImage(image,0,0,image.width,image.height,0,0,width,height); $("#photobtn").text("この画像を追加する").attr("id","photoupload").attr("class","btn btn-danger btn-block castphotoadd"); $("#photobtn3").text("キャンセル").attr("id","photoupload_cansel"); // canvasからbase64画像データを取得 var base64 = canvas.get(0).toDataURL('image/jpeg'); // base64からBlobデータを作成 var barr, bin, i, len; bin = atob(base64.split('base64,')[1]); len = bin.length; barr = new Uint8Array(len); i = 0; while (i < len) { barr[i] = bin.charCodeAt(i); i++; } blob = new Blob([barr], {type: 'image/jpeg'}); } image.src = e.target.result; } reader.readAsDataURL(file); }); $(document).on("click touchend",'#photobtn2',function(){ location.href=mainurl+"/"+area1+"/imgedit/?c="+$(this).data('userno'); }) $(document).on("click touchend",'#photobtn3',function(){ location.href=mainurl+"/"+area1+"/storeimgedit/?s="+$(this).data('userno'); }) $(document).on("click touchend",'#photoupload_cansel',function(){ location.reload(); }) var toucevent = 'ontouchstart' in window ? 'touchend' : 'click'; $(document).on(toucevent,'#photoupload',function(){ // ファイルが指定されていなければ何も起こらない if(!file || !blob) { return; } console.log(blob); var fd = new FormData(); fd.append('file', blob); // ファイルを添付する fd.append('user_no', userno); // ファイルを添付する $.ajax({ url: mainurl+"/model/cast_photo_upload.php", // 送信先 type: 'POST', dataType: 'text', data: fd, processData: false, contentType: false }).done(function( data, textStatus, jqXHR ) { alert("画像の追加が完了しました"); location.reload(); }).fail(function( jqXHR, textStatus, errorThrown ) { }); }) }) function nextfeild(str) { if (str.value.length >= str.maxLength) { for (var i = 0, elm = str.form.elements; i < elm.length; i++) { if (elm[i] == str) { (elm[i + 1] || elm[0]).focus(); break; } } } return (str); } //************************************************************************ ////任意のリンクをモーダル内に読み込む //************************************************************************ $(function(){ $(document).hammer().on("tap",".rankicon",function(e) { var type = $(this).data('ranking_type'); var user_no = $(this).data('user_no'); location.href=mainurl+"/"+area1+"/mypage/ranking_kako_list/?type="+type+"&c="+user_no; }); }); //************************************************************************ //error alert //************************************************************************ function erroralert(no){ switch(no){ case 2: alert("値が入力されていません"); break; case 4: alert("データベース接続エラー"); break; case 100: alert("サービスをご利用になるには\nログインしてください");location.href=mainurl+"/"+area1+"/login/"; break; case 105: alert("ログインIDが違います"); break; case 106: alert("ログインパスワードが違います"); break; case 107: alert("データが存在しません"); break; case 109: alert("データが重複しています"); break; case 110: alert("メールの送信に失敗しました"); break; case 114: var sd=confirm("この電話番号はすでに登録されています。ログインパスワードを忘れた場合は再設定?"); if(sd) location.href=mainurl+"/"+area1+"/passreset/"; break; case 121: alert("reCAPTCHAエラー"); break; case 122: alert("禁止ワードが含まれています。"); break; case 123: alert("ユーザーはサービスの利用を\n制限しています。"); break; case 124: alert("すでにブロック設定しています。"); break; case 125: alert("すでにお気に入り設定しています。"); break; case 128: alert("ポイントが不足しています"); location.href=mainurl+"/"+area1+"/top/";break; case 131: var sd=confirm("この電話番号はすでに仮登録されています。本登録認証ショートメールを再送しますか?"); if(sd){ var tel=$("input[name='tel']").val(); var params = {_apino:19,tel:tel,user_type:2}; syscall(params,null,function(res){ if(res.success){ alert("本登録認証ショートメールをお送りいたしました。"); location.href=mainurl+"/"+area1+"/reg_check/?t=2"; }else{ erroralert(res.error); } }); } break; case 132: var sd=confirm("この電話番号はすでに仮登録されています。本登録認証ショートメールを再送しますか?"); if(sd){ var tel=$("input[name='tel']").val(); var params = {_apino:19,tel:tel,user_type:3}; syscall(params,null,function(res){ if(res.success){ alert("本登録認証ショートメールをお送りいたしました。"); location.href=mainurl+"/"+area1+"/reg_check/?t=3"; }else{ erroralert(res.error); } }); } break; case 133: confirm("この電話番号はすでに無効アカウントとして登録されています。"); break; case 134: var sd=confirm("この電話番号はすでに退会アカウントとして登録されています。復旧しますか?"); var tel=$("input[name='tel']").val(); if(sd){ location.href=mainurl+"/resubscribe/"; } break; case 135: alert("同じホストには2つまでしか投票できません。"); break; } }