var facebookReadCount = 0; var keyList = new Array(); var topKeyList = new Array(); var eventDataList = new Array(); var eventDataTopList = new Array(); // ▼ hyodo ADDS var eventDataTopTopList = new Array(); // ▲ hyodo ADDE var eventCount = 0; // Facebookのハッシュタグ //var eventTag = '#kuruppa'; //var eventTagTop = '#kuruppa_top'; var eventTag = '#kuruppa'; var eventTagTop = '#kuruppa_top'; // ▼ hyodo ADDS var eventTagTopTop = '#kuruppa_top_top'; // ▲ hyodo ADDE var regexTag = new RegExp(eventTag); var regexTagTop = new RegExp(eventTagTop); // ▼ hyodo ADDS var regexTagTopTop = new RegExp(eventTagTopTop); // ▲ hyodo ADDE var pageType = 'top'; // ハッシュタグが関係ないアカウント var noTagCheckIdList = new Array('190'); // ハッシュタグと関係がないアカウントをいくつ表示するかの設定 var noTagLimit = 10; // くるっぱの向きの制御フラグ var kuruppaDirection = 1; // イベント情報の保持クラス var eventData = function eventData(accountName, accountUrl, date, title, entriesUrl, picture) { this.accountName = accountName; this.accountUrl = accountUrl; this.date = date; this.title = title; this.entriesUrl = entriesUrl; // ▼ 20170323 Matsue EDIT_START this.picture = picture; // ▲ 20170323 Matsue EDIT_END }; /* 画面ごとの初期設定 */ $(document).ready( function(){ //▼ 20160711 Fujii DELETE_START(TOPデザイン変更のため 不要な処理をコメントアウト) // insertHeader(); // insertMenu(); // offSelectMenu('map'); //▲ 20160711 Fujii DELETE_END(TOPデザイン変更のため 不要な処理をコメントアウト) //▼ 20160318 Fujii EDIT_START // $('#menu_top').html('' + // 'TOPへ戻るアイコン' + // // '
ホーム
'); //▼ 20160711 Fujii DELETE_START(TOPデザイン変更のため 不要な処理をコメントアウト) // offSelectMenu(pageType); //▲ 20160711 Fujii DELETE_END(TOPデザイン変更のため 不要な処理をコメントアウト) //▲ 20160318 Fujii EDIT_START //▼ 20160711 Fujii DELETE_START(TOPデザイン変更のため 不要な処理をコメントアウト) // setInterval('animationKuruppa()', 500); //▲ 20160711 Fujii DELETE_END (TOPデザイン変更のため 不要な処理をコメントアウト) //▼ 20160711 Fujii ADD_START(TOPデザインのCopyrightの当年を関数化) setCopyright(); //▲ 20160711 Fujii ADD_END(TOPデザインのCopyrightの当年を関数化) readAccountDataCsv(); }); // 画面設定 function settingViews() { $('#main_contents').css({ 'overflow' : 'scroll', '-webkit-overflow-scrolling' : 'touch' }); scrollAreaHeightSetting(); var ua = navigator.userAgent; if( ua.search(/Android 2.3/) != -1 ){ $('#main_contents').flickSimple({ snap: '', vertical: true, horizontal: false, lock: true }); } // ▼ 20160711 Fujii DELETE_START(翻訳時にLoadingが消えるので移動) // ▼ 2015/07/09 hyodo ADDS // document.getElementById("loading").style.display = "none"; // ▲ 2015/07/09 hyodo ADDE // ▲ 20160711 Fujii DELETE_START(翻訳時にLoadingが消えるので移動) } // ▼ 2015/07/09 hyodo MODS //// ウォール情報の取得 //function getFacebookData(eachAccountData) { // categoryId = eachAccountData.categoryId; // facebookId = eachAccountData.facebookId; // accountName = eachAccountData.accountName; // // // IDやアカウント名がない場合は、次のデータへ進む(基本的にはありえないが一応) // if (!(facebookId != null && facebookId != '' && accountName != null && accountName != '')) { // nextReadFacebookData(); // return; // } // var eachAccountUrl = 'https://www.facebook.com/' + facebookId; // // var eventLimit = 30; // // ハッシュタグを参照しないアカウント名の場合 // if ($.inArray(categoryId, noTagCheckIdList) >= 0) { // eventLimit = noTagLimit; // } // // $.getJSON( // 'http://ajax.googleapis.com/ajax/services/feed/load?callback=?', // { // // q: 'http://www.facebook.com/feeds/page.php?id=' + facebookId + '&format=rss20', // v: '2.2', // num: eventLimit // }, // function (data) { // // データの取得ができなかった場合、次のデータへ進む // if (data.responseData == null) { // nextReadFacebookData(); // return; // } // // // ハッシュタグを参照しないアカウント名の場合 // if ($.inArray(categoryId, noTagCheckIdList) >= 0) { // $.each(data.responseData.feed.entries, function(i, item){ // eventDataList.push(new eventData(accountName, // eachAccountUrl, // new Date(item.publishedDate), // deleteHtmlTag(item.content), // item.link)); // }); // } else { // var firstTop = true; // $.each(data.responseData.feed.entries, function(i, item){ // // ▼ hyodo ADDS // if ((item.content).match(regexTagTopTop)) { // if (firstTop) { // eventDataTopTopList.push(new eventData(accountName, // eachAccountUrl, // new Date(item.publishedDate), // deleteHtmlTag(item.content), // item.link)); // firstTop = false; // } // } else // // ▲ hyodo ADDE // if ((item.content).match(regexTagTop)) { // // ▼ hyodo MODS // //if (firstTop) { // // eventDataTopList.push(new eventData(accountName, // // eachAccountUrl, // // new Date(item.publishedDate), // // // (item.title).replace(eventTagTop, ''), // // deleteHtmlTag(item.content), // // item.actions[0].link)); // // firstTop = false; // //} // eventDataTopList.push(new eventData(accountName, // eachAccountUrl, // new Date(item.publishedDate), // deleteHtmlTag(item.content), // item.link)); // // ▲ hyodo MODE // } else if ((item.content).match(regexTag)){ // eventDataList.push(new eventData(accountName, // eachAccountUrl, // new Date(item.publishedDate), // deleteHtmlTag(item.content), // item.link)); // } // }); // } // nextReadFacebookData(); // } // ); // //}; // ウォール情報の取得 function getFacebookData(accountDataList) { var pageId = ''; for (i = 0; i < accountDataList.length; i++) { if (i != 0) { pageId = pageId + ':'; } pageId = pageId + accountDataList[i].facebookId; } $.getJSON( 'js/feed.php', { pageIdString:pageId }, function (data) { var firstTopTop = true; var firstTop = true; var categoryId = ''; var facebookId = ''; var preFacebookId = ''; var accountName = ''; var eachAccountUrl = ''; // ▼ 20170322 Matsue EDIT_START var picture =''; // ▲ 20170322 Matsue EDIT_END $.each(data, function(i, item){ // ▼ 2015/07/27 hyodo ADDS // ▼ 20151218 Fujii EDIT_START // if ((item != null) { var itemCount = 0; if ((item != null) && (item.error == null)) { // ▲ 20151218 Fujii EDIT_END console.log(item); $.each(item.data, function(i, item){ // ▲ 2015/07/27 hyodo ADDE for (i = 0; i < accountDataList.length; i++) { // ▼ 20180409 Kurokawa EDIT_START if(item.from != null){ if (accountDataList[i].facebookId == item.from.id) { categoryId = accountDataList[i].categoryId; facebookId = accountDataList[i].facebookId; accountName = accountDataList[i].accountName; eachAccountUrl = 'https://www.facebook.com/' + facebookId; // ▼ 20170322 Matsue EDIT_START picture = item.picture; // ▲ 2015/07/27 hyodo ADDE } } // ▲ 20180409 Kurokawa EDIT_END } // Topはidごとに一つだけ載せることができる if (preFacebookId != facebookId) { firstTop = true; } // 記事の内容を結合 var contents = stringNvl(item.name) + stringNvl(item.message) + stringNvl(item.description); // ハッシュタグを参照しないアカウント名の場合 if ($.inArray(categoryId, noTagCheckIdList) >= 0) { eventDataList.push(new eventData(accountName, eachAccountUrl, new Date(formatNewDate(item.updated_time)), deleteHtmlTag(contents), // ▼ 20170908 Fujii EDIT_START(SDK仕様変更のため) // item.actions[0].link, item.permalink_url, // ▲ 20170908 Fujii EDIT_END(SDK仕様変更のため) // ▼ 20170322 Matsue EDIT_START picture // ▲ 20170322 Matsue EDIT_END )); } else { if ((categoryId == null || categoryId == '') && contents != null && (contents).match(regexTagTopTop)) { // TopTopは全体一つだけ載せることができる if (firstTopTop) { eventDataTopTopList.push(new eventData(accountName, eachAccountUrl, new Date(formatNewDate(item.updated_time)), deleteHtmlTag(contents), // ▼ 20170908 Fujii EDIT_START(SDK仕様変更のため) // item.actions[0].link, item.permalink_url, // ▲ 20170908 Fujii EDIT_END(SDK仕様変更のため) // ▼ 20170322 Matsue EDIT_START picture // ▲ 20170322 Matsue EDIT_END )); firstTopTop = false; } } else if (contents != null && (contents).match(regexTagTop)) { if (firstTop) { eventDataTopList.push(new eventData(accountName, eachAccountUrl, new Date(formatNewDate(item.updated_time)), deleteHtmlTag(contents), // ▼ 20170908 Fujii EDIT_START(SDK仕様変更のため) // item.actions[0].link, item.permalink_url, // ▲ 20170908 Fujii EDIT_END(SDK仕様変更のため) // ▼ 20170322 Matsue EDIT_START picture // ▲ 20170322 Matsue EDIT_END )); firstTop = false; } } else if (contents != null && (contents).match(regexTag)){ eventDataList.push(new eventData(accountName, eachAccountUrl, new Date(formatNewDate(item.updated_time)), deleteHtmlTag(contents), // ▼ 20170908 Fujii EDIT_START(SDK仕様変更のため) // item.actions[0].link, item.permalink_url, // ▲ 20170908 Fujii EDIT_END(SDK仕様変更のため) // ▼ 20170322 Matsue EDIT_START picture // ▲ 20170322 Matsue EDIT_END )); } } preFacebookId = facebookId; // ▼ 2015/07/27 hyodo ADDS }); } // ▲ 2015/07/27 hyodo ADDE }); // ウォール情報の画面設定 eventSort(); eventView(); var ua = navigator.userAgent; if( ua.search(/Android 2.3/) != -1 && !resizeFlg){ $('#2_3_scroll_frame').css({ height:$('#2_3_scroll_frame').height() + 20 }); resizeFlg = true; } settingViews(); // ▼ 20160711 Fujii ADD_START(翻訳時にLoadingが消えるので移動) document.getElementById("loading").style.display = "none"; // ▲ 20160711 Fujii ADD_START(翻訳時にLoadingが消えるので移動) } ); }; // ▲ 2015/07/09 hyodo MODE // 次のFacebookのウォール情報読み込む function nextReadFacebookData() { facebookReadCount++; if (facebookReadCount < accountDataCount) { getFacebookData(accountDataList[facebookReadCount]); } else { // 既に全て読み込み終わっていたら画面設定 eventSort(); eventView(); var ua = navigator.userAgent; if( ua.search(/Android 2.3/) != -1 && !resizeFlg){ $('#2_3_scroll_frame').css({ height:$('#2_3_scroll_frame').height() + 20 }); resizeFlg = true; } settingViews(); } } // イベント情報のソートを行う function eventSort() { // ▼ hyodo ADDS eventDataTopTopList.sort(function(a, b) { return ( a.date < b.date ? 1 : -1); }); // ▲ hyodo ADDE eventDataTopList.sort(function(a, b) { return ( a.date < b.date ? 1 : -1); }); eventDataList.sort(function(a, b) { return ( a.date < b.date ? 1 : -1); }); } // イベント情報を表示する function eventView() { // 既存のイベントを一旦すべて削除 $('.eachInformation').remove(); // ▼ 20160711 Fujii EDIT_START(イベント一覧をクリックしたときの対応) /* // ▼ hyodo ADDS // #kuurppa_top_topを先に描写 $.each(eventDataTopTopList, function(i, item){ appendEventDataTopTop(item); }); // ▲ hyodo ADDE // ▼ hyodo MODS //// #kuurppa_topを先に描写 //$.each(eventDataTopList, function(i, item){ // appendEventDataTop(item); //}); // #kuurppa_topは 20 - #kuurppa_top_topの数 まで表示 var stopCount = 0; if ((limitCount - eventDataTopTopList.length) > eventDataTopList.length) { stopCount = eventDataTopList.length; } else { stopCount = limitCount - eventDataTopTopList.length; } for (i = 0; i < stopCount; i++) { appendEventDataTop(eventDataTopList[i]); } // ▲ hyodo MODE // ▼ hyodo MODS //// #kuurppaは 20 - #kuurppa_topの数 まで表示 //var stopCount = 0; //if ((20- eventDataTopList.length) > eventDataList.length) { // stopCount = eventDataList.length; //} else { // stopCount = 20- eventDataTopList.length; //} //for (i = 0; i < stopCount; i++) { // appendEventData(eventDataList[i]); //} // #kuurppaは 20 - #kuurppa_top - #kuurppa_top_topの数 まで表示 stopCount = 0; if ((limitCount - eventDataTopList.length - eventDataTopTopList.length) > eventDataList.length) { stopCount = eventDataList.length; } else { stopCount = limitCount - eventDataTopList.length - eventDataTopTopList.length; } for (i = 0; i < stopCount; i++) { appendEventData(eventDataList[i]); } // ▲ hyodo MODE */ //編集前をすべてコメントアウトして、必要な処理だけを下に整理 var limitCount; if ($('#facebook').hasClass('all')) { limitCount = 20; } else { limitCount = 3; } // #kuurppa_top_topは全件表示 $.each(eventDataTopTopList, function(i, item){ appendEventDataTopTop(item); }); //// #kuurppa_topを次に描写 // #kuurppa_topは 20 - #kuurppa_top_topの数 まで表示 var stopCount = 0; if ((limitCount - eventDataTopTopList.length) > eventDataTopList.length) { stopCount = eventDataTopList.length; } else { stopCount = limitCount - eventDataTopTopList.length; } for (i = 0; i < stopCount; i++) { appendEventDataTop(eventDataTopList[i]); } // #kuurppaは 20 - #kuurppa_top - #kuurppa_top_topの数 まで表示 stopCount = 0; if ((limitCount - eventDataTopList.length - eventDataTopTopList.length) > eventDataList.length) { stopCount = eventDataList.length; } else { stopCount = limitCount - eventDataTopList.length - eventDataTopTopList.length; } for (i = 0; i < stopCount; i++) { appendEventData(eventDataList[i]); } // ▲ 20160711 Fujii EDIT_END(イベント一覧をクリックしたときの対応) } // ▼ hyodo ADDS // facebookタグへのイベント情報の追加(TOP版) function appendEventDataTopTop(eventData) { // ▼ 20170323 Matsue EDIT_START $(document).ready(function() { // ▲ 20170322 Matsue EDIT_END $('#facebook').append('
' + '

' + formatDate(eventData.date) + '【' + eventData.accountName + '】

' + // ▼ 20160318 Fujii EDIT_START // ' ' + eventData.title + ' 続きを読む' + ' ' + eventData.title + '

続きを読む

' + // ▲ 20160318 Fujii EDIT_END // ▼ 20170322 Matsue EDIT_START ''+ // ▲ 20170322 Matsue EDIT_END '
'); // ▼ 20170323 Matsue EDIT_START $('img').error(function() { $(this).remove(); });   }); // ▲ 20170322 Matsue EDIT_END } // ▲ hyodo ADDE // facebookタグへのイベント情報の追加(TOP版) function appendEventDataTop(eventData) { // ▼ 20170323 Matsue EDIT_START $(document).ready(function() { // ▲ 20170323 Matsue EDIT_END $('#facebook').append('
' + '

' + formatDate(eventData.date) + '【' + eventData.accountName + '】

' + // ▼ 20160318 Fujii EDIT_START // ' ' + eventData.title + ' 続きを読む' + ' ' + eventData.title + '

続きを読む

' + // ▲ 20160318 Fujii EDIT_END // ▼ 20170322 Matsue EDIT_START ''+ // ▼ 20170322 Matsue EDIT_START '
'); // ▼ 20170323 Matsue EDIT_START $('img').error(function() { $(this).remove(); }); }); // ▲ 20170323 Matsue EDIT_END } // facebookタグへのイベント情報の追加 function appendEventData(eventData) { // ▼ 20170323 Matsue EDIT_START $(document).ready(function() { // ▲ 20170323 Matsue EDIT_END $('#facebook').append('
' + '

' + formatDate(eventData.date) + '【' + eventData.accountName + '】

' + // ▼ 20160318 Fujii EDIT_START // ' ' + eventData.title + ' 続きを読む' + ' ' + eventData.title + '

続きを読む

' + // ▲ 20160318 Fujii EDIT_END // ▼ 20170322 Matsue EDIT_START ''+ // ▼ 20170322 Matsue EDIT_START '
'); // ▼ 20170323 Matsue EDIT_START $('img').error(function() { $(this).remove(); }); }); // ▲ 20170323 Matsue EDIT_END } /* 日付のフォーマットを行う yyyy/MM/dd HH:mm形式*/ function formatDate(date){ return zeroPadding(date.getFullYear(), 4) + '/' + zeroPadding((date.getMonth() + 1), 2) + '/' + zeroPadding(date.getDate(), 2) + ' ' + // 区切り文字 zeroPadding(date.getHours(), 2) + ':' + zeroPadding(date.getMinutes(), 2);// + ':' + zeroPadding(date.getSeconds(), 2); } /* 0が規定数に足りないなら先頭に付加する */ function zeroPadding(value, length){ return new Array(length - ('' + value).length + 1).join('0') + value; } // ▼ 2015/07/09 hyodo ADDS /* new Date用 日付のフォーマットを行う MM/dd/yyyy HH:mm:ss形式*/ function formatNewDate(date){ return date.substr(5, 2) + '/' + date.substr(8, 2) + '/' + date.substr(0, 4) + ' ' + date.substr(11, 8) + ' GMT+0000'; } // ▲ 2015/07/09 hyodo ADDE /* htmlタグを削除する */ function deleteHtmlTag(html) { // ▼ hyodo MODS //var htmlText = $('
').html(html).text().replace(eventTagTop, '').replace(eventTag, ''); var htmlText = $('
').html(html).text().replace(eventTagTopTop, '').replace(eventTagTop, '').replace(eventTag, ''); // ▲ hyodo MODE if (htmlText.length > 80) { htmlText = htmlText.substring(0,80) + '...'; } return htmlText; } // ▼ 2015/07/09 hyodo ADDS /* nullの場合、空文字を返す */ function stringNvl(str) { var returnStr = ""; if (str != null) { returnStr = str; } return returnStr; } // ▲ 2015/07/09 hyodo ADDE /* くるっぱ画像をアニメーションさせる */ function animationKuruppa() { if (kuruppaDirection == 1) { $('#kuruppa_img').html(''); kuruppaDirection = 2; } else { $('#kuruppa_img').html(''); kuruppaDirection = 1; } } // ▼ 20160711 Fujii ADD_START (イベント一覧をクリックしたときの対応) // Facebookを一覧表示するかどうかを決定する function setFeedAll() { $('#facebook').addClass('all'); eventView(); document.getElementById("itiran").style.display = "none"; } // ▲ 20160711 Fujii ADD_END(イベント一覧をクリックしたときの対応)