Load more funzionante per le info, preparato per il tag ilovexm24.
This commit is contained in:
parent
3a7c880edf
commit
5740a77ed5
4 changed files with 207 additions and 170 deletions
|
@ -40,10 +40,11 @@
|
||||||
|
|
||||||
<!--script src="js/swipe-page.js"></script-->
|
<!--script src="js/swipe-page.js"></script-->
|
||||||
<script type="text/javascript" src="js/main.js"></script>
|
<script type="text/javascript" src="js/main.js"></script>
|
||||||
<script type="text/javascript" src="js/update.js"></script>
|
|
||||||
<script type="text/javascript" src="js/query.js"></script>
|
<script type="text/javascript" src="js/query.js"></script>
|
||||||
<script type="text/javascript" src="js/eventsCRUD.js"></script>
|
<script type="text/javascript" src="js/update.js"></script>
|
||||||
|
<script type="text/javascript" src="js/tag.update.js"></script>
|
||||||
<script type="text/javascript" src="js/events.js"></script>
|
<script type="text/javascript" src="js/events.js"></script>
|
||||||
|
<script type="text/javascript" src="js/crud.events.js"></script>
|
||||||
<script type="text/javascript" src="js/push.js"></script>
|
<script type="text/javascript" src="js/push.js"></script>
|
||||||
<script type="text/javascript" src="js/share.js"></script>
|
<script type="text/javascript" src="js/share.js"></script>
|
||||||
|
|
||||||
|
@ -99,12 +100,26 @@
|
||||||
<i>Non è stato attalmente caricato alcun contenuto</i>
|
<i>Non è stato attalmente caricato alcun contenuto</i>
|
||||||
</span>
|
</span>
|
||||||
</p>
|
</p>
|
||||||
<button onclick="loadMore()">LoadMore</button>
|
<!-- TODO: possiamo usare il l'id, occhio vanno cambiati i nomi degli attributi nella FONTE -->
|
||||||
|
<button onclick="loadMore('info')">Altre News</button>
|
||||||
</div>
|
</div>
|
||||||
<!-- chiude body-->
|
|
||||||
</div>
|
</div>
|
||||||
<!--chiude content -->
|
</div><!--chiude content -->
|
||||||
</div>
|
|
||||||
|
<div data-role="page" id="ilove" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
|
<div role="main" class="ui-content">
|
||||||
|
<div class="ui-body">
|
||||||
|
<p class="introlettera">I love Xm24</p>
|
||||||
|
<p id="mostralista" class="listatovirgole listevoci">
|
||||||
|
<span class="preload">
|
||||||
|
<i>Non è stato attalmente caricato alcun contenuto</i>
|
||||||
|
</span>
|
||||||
|
</p>
|
||||||
|
<!-- TODO: possiamo usare il l'id, occhio vanno cambiati i nomi degli attributi nella FONTE -->
|
||||||
|
<button onclick="loadMore('ilove')">Altre News</button>
|
||||||
|
</div>
|
||||||
|
</div>
|
||||||
|
</div><!-- chiude pagina -->
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
<div data-role="page" id="events" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
<div data-role="page" id="events" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
|
@ -151,23 +166,6 @@
|
||||||
</div>
|
</div>
|
||||||
<!-- chiude pagina -->
|
<!-- chiude pagina -->
|
||||||
|
|
||||||
|
|
||||||
<div data-role="page" id="ilove" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
|
||||||
|
|
||||||
<div role="main" class="ui-content">
|
|
||||||
|
|
||||||
<div class="ui-body">
|
|
||||||
<p class="introlettera">IO AMO XM</p>
|
|
||||||
<p id="mostralista" class="listatovirgole listevoci">
|
|
||||||
<img class="gifloader" src="./image/ajax_loader_red_512.gif" />
|
|
||||||
</p>
|
|
||||||
</div>
|
|
||||||
<!-- chiude body-->
|
|
||||||
</div>
|
|
||||||
<!--chiude content -->
|
|
||||||
</div>
|
|
||||||
<!-- chiude pagina -->
|
|
||||||
|
|
||||||
<!-- chiude pagina -->
|
<!-- chiude pagina -->
|
||||||
<div data-role="page" id="quotidiano" data-transition="slide" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
<div data-role="page" id="quotidiano" data-transition="slide" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
<div role="main" class="ui-content">
|
<div role="main" class="ui-content">
|
||||||
|
@ -183,25 +181,18 @@
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div data-role="page" id="singleQpost" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
<div data-role="page" id="singleQpost" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
|
|
||||||
<div role="main" class="ui-content">
|
<div role="main" class="ui-content">
|
||||||
|
|
||||||
<div class="ui-body">
|
<div class="ui-body">
|
||||||
<p class="introlettera" id="titolosingle"></p>
|
<p class="introlettera" id="titolosingle"></p>
|
||||||
|
|
||||||
<p id="mostracontentsingle">
|
<p id="mostracontentsingle">
|
||||||
<img class="gifloader" src="./image/ajax_loader_red_512.gif" />
|
<span class="preload">
|
||||||
|
<i>Non è stato attalmente caricato alcun contenuto</i>
|
||||||
|
</span>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
<script>
|
|
||||||
//funzione carica pagina
|
|
||||||
</script>
|
|
||||||
<button onclick="shareMeNow('ciao', 'testo', 'http://www.enc.org/xm24')">Text Share</button>
|
<button onclick="shareMeNow('ciao', 'testo', 'http://www.enc.org/xm24')">Text Share</button>
|
||||||
</div>
|
</div>
|
||||||
<!-- chiude body-->
|
<!-- chiude body-->
|
||||||
</div>
|
</div>
|
||||||
<!--chiude content -->
|
|
||||||
</div>
|
</div>
|
||||||
<!-- chiude pagina -->
|
<!-- chiude pagina -->
|
||||||
<div data-role="page" id="ultime" data-transition="slide" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
<div data-role="page" id="ultime" data-transition="slide" data-prev="index" data-next="" data-dom-cache="true" data-theme="a" class="ui-page">
|
||||||
|
|
|
@ -22,15 +22,21 @@ FONTE.dbName = "xm24";
|
||||||
FONTE.dbHandler;
|
FONTE.dbHandler;
|
||||||
FONTE.tagsPageInitiated = false;
|
FONTE.tagsPageInitiated = false;
|
||||||
FONTE.categoriesList = [8, 497];
|
FONTE.categoriesList = [8, 497];
|
||||||
FONTE.categoriesILove = [497,647,590]; //ilove, 4mar, solid
|
FONTE.categories = {
|
||||||
FONTE.categoriesInfo = [8,42,68,3];
|
ilove : [497,647,590], //ilove, 4mar, solid
|
||||||
|
info : [8,42,68,3], //ilove, 4mar, solid
|
||||||
|
}
|
||||||
|
|
||||||
|
FONTE.page_loaded = {
|
||||||
|
ilove : 0,
|
||||||
|
info : 0,
|
||||||
|
};
|
||||||
|
|
||||||
FONTE.updatedCategoriesCount;
|
FONTE.updatedCategoriesCount;
|
||||||
FONTE.updatedPostsCount;
|
FONTE.updatedPostsCount;
|
||||||
FONTE.neededPostsCount;
|
FONTE.neededPostsCount;
|
||||||
FONTE.hrefseguente = "";
|
FONTE.hrefseguente = "";
|
||||||
FONTE.info_page_loaded = 0;
|
FONTE.contentListId = '#mostralistainfo';
|
||||||
FONTE.ilove_page_loaded = 0;
|
|
||||||
|
|
||||||
FONTE.ajaxError = false;
|
FONTE.ajaxError = false;
|
||||||
/*
|
/*
|
||||||
* data ultimo aggiornamento
|
* data ultimo aggiornamento
|
||||||
|
@ -131,9 +137,9 @@ function run() {
|
||||||
initStorage();
|
initStorage();
|
||||||
overlayblock();
|
overlayblock();
|
||||||
if (checkConnection()) {
|
if (checkConnection()) {
|
||||||
partialUpdate();
|
partialUpdate(FONTE.categories['info']);
|
||||||
} else {
|
} else {
|
||||||
|
renderLastNews(FONTE.contentListId, FONTE.categories['info']);
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -311,7 +317,7 @@ function postInListTag(div) {
|
||||||
function cercaMe() {
|
function cercaMe() {
|
||||||
var input_text = $("input.cerca").val();
|
var input_text = $("input.cerca").val();
|
||||||
input_text = encodeURIComponent(input_text);
|
input_text = encodeURIComponent(input_text);
|
||||||
var jsonurl = weburl + "wp-json/wp/v2/posts?per_page=100&search=" + input_text + "";
|
var jsonurl = weburl + "wp-json/wp/v2/posts?per_page=10&search=" + input_text + "";
|
||||||
$(".listresult").empty();
|
$(".listresult").empty();
|
||||||
$("body").pagecontainer("change", "#ricerca");
|
$("body").pagecontainer("change", "#ricerca");
|
||||||
$.mobile.loading('show');
|
$.mobile.loading('show');
|
||||||
|
@ -354,22 +360,6 @@ function cercaMe() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
function checkloader(categories) {
|
|
||||||
var div = '#mostralistainfo';
|
|
||||||
|
|
||||||
displayLastUpdateDate(categories);
|
|
||||||
renderLastNews(div, categories);
|
|
||||||
|
|
||||||
if ($(div).html() == "<span>Non ci sono nuovi contenuti.</span>") {
|
|
||||||
$("#aggiorna").attr("src", "./image/aggiorna.png");
|
|
||||||
|
|
||||||
return true
|
|
||||||
//console.log("ultime2");
|
|
||||||
}
|
|
||||||
// console.log("ultime3");
|
|
||||||
return false
|
|
||||||
}
|
|
||||||
|
|
||||||
function initTagsPage() {
|
function initTagsPage() {
|
||||||
if (!FONTE.tagsPageInitiated) {
|
if (!FONTE.tagsPageInitiated) {
|
||||||
initTag("#mostralistaTag"); // questo mostra i tag
|
initTag("#mostralistaTag"); // questo mostra i tag
|
||||||
|
|
|
@ -36,26 +36,51 @@ function myJsonCategory(Qcategory, div, addTagCategory) {
|
||||||
$.mobile.loading('hide');
|
$.mobile.loading('hide');
|
||||||
};
|
};
|
||||||
|
|
||||||
function drawPostsList(div, resultSet, categories, fallback) {
|
var drawListPost = function(div, resultSet, position) {
|
||||||
var items = [];
|
var items = [];
|
||||||
|
for (var i = 0; i < resultSet.rows.length; i++) {
|
||||||
|
var val = JSON.parse(resultSet.rows.item(i).post);
|
||||||
|
var id = val.id;
|
||||||
|
var date = val.modified;
|
||||||
|
var title = val.title.rendered;
|
||||||
|
var url = val.guid.rendered;
|
||||||
|
var cleanTime = EVENTS.formatDate(date, EVENTS.dateFormat.display.date);
|
||||||
|
//key mi dice l'indice'
|
||||||
|
items.push("<li><a href='#singleQpost' data-post='" + id + "'>" + title + "</a><br/><small>" + cleanTime + "</small>");
|
||||||
|
}
|
||||||
|
|
||||||
|
var ul = $("<ul/>", {
|
||||||
|
"class": "my-new-list",
|
||||||
|
html: items.join("")
|
||||||
|
})
|
||||||
|
|
||||||
|
if(position == 'append'){
|
||||||
|
ul.appendTo(div);
|
||||||
|
} else if(position == 'prepend'){
|
||||||
|
ul.prependTo(div);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
var appendPostList = function(div, resultSet, categories, fallback) {
|
||||||
|
var type = getObjKey(FONTE.categories, categories);
|
||||||
|
|
||||||
|
if (resultSet.rows.length > 0) {
|
||||||
|
FONTE.page_loaded[type]++;
|
||||||
|
drawListPost(div, resultSet, 'append');
|
||||||
|
} else if (fallback) {
|
||||||
|
fallback();
|
||||||
|
} else {
|
||||||
|
toastr.info("Non ci sono altri articoli da visualizzare");
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
|
var prependPostsList = function(div, resultSet, categories, fallback) {
|
||||||
|
var type = getObjKey(FONTE.categories, categories);
|
||||||
|
|
||||||
$(div).empty();
|
$(div).empty();
|
||||||
if (resultSet.rows.length > 0) {
|
if (resultSet.rows.length > 0) {
|
||||||
for (var i = 0; i < resultSet.rows.length; i++) {
|
FONTE.page_loaded[type]++;
|
||||||
var val = JSON.parse(resultSet.rows.item(i).post);
|
drawListPost(div, resultSet, 'prepend');
|
||||||
var id = val.id;
|
|
||||||
var time = val.modified;
|
|
||||||
var title = val.title.rendered;
|
|
||||||
var url = val.guid.rendered;
|
|
||||||
// console.log(Url);
|
|
||||||
var splitTime = time.split("T");
|
|
||||||
var cleanTime = splitTime[0];
|
|
||||||
//key mi dice l'indice'
|
|
||||||
items.push("<li><a href='#singleQpost' data-post='" + id + "'>" + title + "</a><br/><small>" + cleanTime + "</small>");
|
|
||||||
}
|
|
||||||
$("<ul/>", {
|
|
||||||
"class": "my-new-list"
|
|
||||||
, html: items.join("")
|
|
||||||
}).prependTo(div);
|
|
||||||
} else if (fallback) {
|
} else if (fallback) {
|
||||||
fallback(div, categories);
|
fallback(div, categories);
|
||||||
} else {
|
} else {
|
||||||
|
@ -92,15 +117,15 @@ var getCategoryWhere = function(categories) {
|
||||||
var POST = POST || {};
|
var POST = POST || {};
|
||||||
POST.sql = {
|
POST.sql = {
|
||||||
init: "SELECT * FROM xm24_posts JOIN xm24_cats_to_posts USING(id) WHERE ",
|
init: "SELECT * FROM xm24_posts JOIN xm24_cats_to_posts USING(id) WHERE ",
|
||||||
end : "ORDER BY date COLLATE NOCASE DESC LIMIT 10"
|
end : "ORDER BY date COLLATE NOCASE DESC LIMIT ?"
|
||||||
}
|
}
|
||||||
|
|
||||||
var selectLastNews = function(div, categories) {
|
var selectLastNews = function(div, categories) {
|
||||||
var catsWhere = getCategoryWhere(categories);
|
var catsWhere = getCategoryWhere(categories);
|
||||||
|
|
||||||
var sql = POST.sql.init + catsWhere + POST.sql.end;
|
var sql = POST.sql.init + catsWhere + POST.sql.end;
|
||||||
FONTE.dbHandler.executeSql(sql, [], function (resultSet) {
|
FONTE.dbHandler.executeSql(sql, [REST_PARAMS.max_page], function (resultSet) {
|
||||||
drawPostsList(div, resultSet);
|
prependPostsList(div, resultSet, categories);
|
||||||
}, sqlErrHandler);
|
}, sqlErrHandler);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -114,8 +139,8 @@ function renderLastNews(div, categories) {
|
||||||
} else if (firstTime == 'no') {
|
} else if (firstTime == 'no') {
|
||||||
if (lastnewsDate) {
|
if (lastnewsDate) {
|
||||||
var sql = POST.sql.init + "date > ? AND " + getCategoryWhere(categories) + POST.sql.end;
|
var sql = POST.sql.init + "date > ? AND " + getCategoryWhere(categories) + POST.sql.end;
|
||||||
FONTE.dbHandler.executeSql(sql, [lastnewsDate], function (resultSet) {
|
FONTE.dbHandler.executeSql(sql, [lastnewsDate, REST_PARAMS.max_page], function (resultSet) {
|
||||||
drawPostsList(div, resultSet, categories, selectLastNews);
|
prependPostsList(div, resultSet, categories, selectLastNews);
|
||||||
}, sqlErrHandler);
|
}, sqlErrHandler);
|
||||||
} else {
|
} else {
|
||||||
selectLastNews(div, categories);
|
selectLastNews(div, categories);
|
||||||
|
@ -126,6 +151,13 @@ function renderLastNews(div, categories) {
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
function renderPrevNews(div, categories, page, callback){
|
||||||
|
var sql = POST.sql.init + getCategoryWhere(categories) + POST.sql.end + ', ?';
|
||||||
|
FONTE.dbHandler.executeSql(sql, [page * REST_PARAMS.max_page, (page+1) * REST_PARAMS.max_page], function (resultSet) {
|
||||||
|
appendPostList(div, resultSet, categories, callback);
|
||||||
|
}, sqlErrHandler);
|
||||||
|
}
|
||||||
|
|
||||||
function myJsonLastPage(div) {
|
function myJsonLastPage(div) {
|
||||||
var storage = window.localStorage;
|
var storage = window.localStorage;
|
||||||
var lastnewsDate = storage.getItem('db_lastnews_date');
|
var lastnewsDate = storage.getItem('db_lastnews_date');
|
||||||
|
@ -366,7 +398,7 @@ function createDB() {
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_posts (id INTEGER PRIMARY KEY, title, date, post)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_posts (id INTEGER PRIMARY KEY, title, date, post)');
|
||||||
|
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats (catid INTEGER PRIMARY KEY, title, cat)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats (catid INTEGER PRIMARY KEY, title, cat)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats_to_posts (id, catid)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_cats_to_posts (id, catid, PRIMARY KEY (id, catid))');
|
||||||
|
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags (id INTEGER PRIMARY KEY, title, tag)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags (id INTEGER PRIMARY KEY, title, tag)');
|
||||||
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_posts (id, tagid)');
|
FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_posts (id, tagid)');
|
||||||
|
|
204
www/js/update.js
204
www/js/update.js
|
@ -1,6 +1,6 @@
|
||||||
var REST_PARAMS = REST_PARAMS || {};
|
var REST_PARAMS = REST_PARAMS || {};
|
||||||
REST_PARAMS.per_page = 'per_page=10';
|
REST_PARAMS.max_page = 10;
|
||||||
FONTE.page_loaded = 0;
|
REST_PARAMS.per_page = 'per_page=' + REST_PARAMS.max_page;
|
||||||
|
|
||||||
function aggiornaPages() {
|
function aggiornaPages() {
|
||||||
var jsonurl = weburl + "wp-json/wp/v2/pages/";
|
var jsonurl = weburl + "wp-json/wp/v2/pages/";
|
||||||
|
@ -38,43 +38,6 @@ function aggiornaSingleCategory(category) {
|
||||||
getSinglePageRecur(jsonurl, category, 1)
|
getSinglePageRecur(jsonurl, category, 1)
|
||||||
};
|
};
|
||||||
|
|
||||||
function aggiornaTagsToPosts(id, tagId) {
|
|
||||||
FONTE.dbHandler.executeSql('INSERT INTO xm24_tags_to_posts VALUES (?,?)', [id, tagId], function (resultSet) {
|
|
||||||
console.log('resultSet.insertId: ' + resultSet.insertId);
|
|
||||||
console.log('resultSet.rowsAffected: ' + resultSet.rowsAffected);
|
|
||||||
}, function (error) {
|
|
||||||
console.log('INSERT error: ' + error.message);
|
|
||||||
//feedback
|
|
||||||
$("#aggiorna").attr("src", "./image/aggiorna.png");
|
|
||||||
});
|
|
||||||
}
|
|
||||||
|
|
||||||
function aggiornaTags(pagenum) {
|
|
||||||
var jsonurl = weburl + "wp-json/wp/v2/tags?per_page=100&page=" + pagenum;
|
|
||||||
$.ajax({
|
|
||||||
dataType: "json"
|
|
||||||
, url: jsonurl
|
|
||||||
, success: function (data, status, xhr) {
|
|
||||||
var totalPages = parseInt(xhr.getResponseHeader("X-WP-TotalPages"));
|
|
||||||
$.each(data, function (key, val) {
|
|
||||||
var name = val.name;
|
|
||||||
var slug = val.slug;
|
|
||||||
var id = val.id;
|
|
||||||
var blob = JSON.stringify(val);
|
|
||||||
FONTE.dbHandler.executeSql('INSERT INTO xm24_tags VALUES (?,?,?)', [id, slug, blob], function (resultSet) {
|
|
||||||
console.log('resultSet.insertId: ' + resultSet.insertId);
|
|
||||||
console.log('resultSet.rowsAffected: ' + resultSet.rowsAffected);
|
|
||||||
}, function (error) {
|
|
||||||
console.log('INSERT error: ' + error.message);
|
|
||||||
});
|
|
||||||
});
|
|
||||||
pagenum += 1
|
|
||||||
if (pagenum <= totalPages) aggiornaTags(pagenum)
|
|
||||||
}
|
|
||||||
, error: JSONErrorHandler
|
|
||||||
});
|
|
||||||
};
|
|
||||||
|
|
||||||
function aggiornaora() {
|
function aggiornaora() {
|
||||||
$("#aggiornaora").popup("open");
|
$("#aggiornaora").popup("open");
|
||||||
};
|
};
|
||||||
|
@ -99,9 +62,21 @@ function update() {
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
|
||||||
function partialUpdate() {
|
var getObjKey = function(obj, val){
|
||||||
|
var key = null;
|
||||||
|
for(var k in obj){
|
||||||
|
if(obj[k] == val){
|
||||||
|
key = k;
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return key;
|
||||||
|
}
|
||||||
|
|
||||||
|
function partialUpdate(categories) {
|
||||||
var storage = window.localStorage;
|
var storage = window.localStorage;
|
||||||
var jsonurl = weburl + "wp-json/wp/v2/posts?" + REST_PARAMS.per_page + "&categories=" + FONTE.categoriesInfo.join(',');
|
var jsonurl = weburl + "wp-json/wp/v2/posts?" + REST_PARAMS.per_page + "&categories=" + categories.join(',');
|
||||||
|
|
||||||
FONTE.updatedCategoriesCount = 0;
|
FONTE.updatedCategoriesCount = 0;
|
||||||
FONTE.updatedPostsCount = 0;
|
FONTE.updatedPostsCount = 0;
|
||||||
|
@ -109,9 +84,6 @@ function partialUpdate() {
|
||||||
|
|
||||||
FONTE.ajaxError = false;
|
FONTE.ajaxError = false;
|
||||||
|
|
||||||
//feedback
|
|
||||||
$("#aggiorna").attr("src", "./image/icona_aggiorna.gif");
|
|
||||||
|
|
||||||
var lastUpdate = storage.getItem('db_update_date');
|
var lastUpdate = storage.getItem('db_update_date');
|
||||||
if (lastUpdate)
|
if (lastUpdate)
|
||||||
jsonurl += "&after=" + lastUpdate;
|
jsonurl += "&after=" + lastUpdate;
|
||||||
|
@ -121,7 +93,7 @@ function partialUpdate() {
|
||||||
if (firstTime == null) storage.setItem('db_lastnews_firsttime', 'yes');
|
if (firstTime == null) storage.setItem('db_lastnews_firsttime', 'yes');
|
||||||
if (firstTime == 'yes') storage.setItem('db_lastnews_firsttime', 'no');
|
if (firstTime == 'yes') storage.setItem('db_lastnews_firsttime', 'no');
|
||||||
|
|
||||||
mygetSinglePageRecur(jsonurl, 1, FONTE.categoriesInfo);
|
getLastSinglePageRecur(jsonurl, 1, categories);
|
||||||
};
|
};
|
||||||
|
|
||||||
var updateLocalStorageDate = function(){
|
var updateLocalStorageDate = function(){
|
||||||
|
@ -136,27 +108,106 @@ var updateLocalStorageDate = function(){
|
||||||
window.localStorage.setItem('db_lastnews_date', lastUpdate);
|
window.localStorage.setItem('db_lastnews_date', lastUpdate);
|
||||||
}
|
}
|
||||||
|
|
||||||
function mygetSinglePageRecur(url, pagenum, categories) {
|
var getPrevNews = function(div, categories, page) {
|
||||||
|
var storage = window.localStorage;
|
||||||
|
var type = getObjKey(FONTE.categories, categories);
|
||||||
|
var jsonurl = weburl + "wp-json/wp/v2/posts?" + REST_PARAMS.per_page + "&categories=" + FONTE.categories[type].join(',');
|
||||||
|
|
||||||
|
FONTE.updatedCategoriesCount = 0;
|
||||||
|
FONTE.updatedPostsCount = 0;
|
||||||
|
FONTE.neededPostsCount = 0;
|
||||||
|
|
||||||
|
var oldest_date = window.localStorage.getItem('db_oldest_' + type + '_date');
|
||||||
|
if (oldest_date)
|
||||||
|
jsonurl += "&before=" + oldest_date;
|
||||||
|
|
||||||
|
getPrevSinglePageRecur(jsonurl, 1, FONTE.categories[type]);
|
||||||
|
}
|
||||||
|
|
||||||
|
function loadMore(type) {
|
||||||
|
var categories = FONTE.categories[type];
|
||||||
|
|
||||||
|
renderPrevNews(FONTE.contentListId, categories, FONTE.page_loaded[type], function(){
|
||||||
|
getPrevNews(FONTE.contentListId, categories, FONTE.page_loaded[type])
|
||||||
|
});
|
||||||
|
}
|
||||||
|
|
||||||
|
function getPrevSinglePageRecur(url, pagenum, categories) {
|
||||||
|
var type = getObjKey(FONTE.categories, categories);
|
||||||
|
|
||||||
console.log('url:'+url);
|
console.log('url:'+url);
|
||||||
$.ajax({
|
$.ajax({
|
||||||
dataType: "json"
|
dataType: "json"
|
||||||
, url: url + "&page=" + pagenum
|
, url: url + "&page=" + pagenum
|
||||||
, success: function (data, textStatus, jqXHR) {
|
, success: function (data, textStatus, jqXHR) {
|
||||||
var totalPages = jqXHR.getResponseHeader('X-WP-TotalPages');
|
var totalPages = jqXHR.getResponseHeader('X-WP-TotalPages');
|
||||||
if (pagenum == totalPages || totalPages == 0)
|
|
||||||
FONTE.updatedCategoriesCount += 1;
|
FONTE.neededPostsCount += data.length;
|
||||||
|
if (FONTE.neededPostsCount == 0) {
|
||||||
|
toastr.info('Non ci sono altri alticoli da visualizzare in questa sezione');
|
||||||
|
updateLocalStorageDate();
|
||||||
|
}
|
||||||
|
|
||||||
|
var n_error = 0
|
||||||
|
var oldest_date = window.localStorage.getItem('db_oldest_' + type + '_date');
|
||||||
|
$.each(data, function (key, val) {
|
||||||
|
var id = val.id;
|
||||||
|
var time = val.modified;
|
||||||
|
var title = val.title.rendered;
|
||||||
|
var tags = val.tags;
|
||||||
|
var postCategories = val.categories;
|
||||||
|
var blob = JSON.stringify(val);
|
||||||
|
|
||||||
|
FONTE.dbHandler.executeSql('INSERT OR REPLACE INTO xm24_posts VALUES (?,?,?,?)', [id, title, time, blob], function (resultSet) {
|
||||||
|
FONTE.updatedPostsCount++;
|
||||||
|
oldest_date = time;
|
||||||
|
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount) {
|
||||||
|
updateLocalStorageDate();
|
||||||
|
window.localStorage.setItem('db_oldest_' + type + '_date', oldest_date);
|
||||||
|
toastr.info('Caricati altri ' + FONTE.updatedPostsCount + ' articoli.');
|
||||||
|
loadMore(type);
|
||||||
|
} //manca il caso in cui sono stati cancellati dei post online, vanno cancellati anche dall'app.
|
||||||
|
}, function (error) {
|
||||||
|
n_error++;
|
||||||
|
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount && FONTE.updatedPostsCount > 0 ) {
|
||||||
|
updateLocalStorageDate();
|
||||||
|
window.localStorage.setItem('db_oldest_' + type + '_date', oldest_date);
|
||||||
|
toastr.info('Caricati altri ' + FONTE.updatedPostsCount + ' articoli.');
|
||||||
|
loadMore(type);
|
||||||
|
}
|
||||||
|
});
|
||||||
|
|
||||||
|
$.each(postCategories, function (key, val) {
|
||||||
|
insertOrUpdateCatToPost(id, val);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
}
|
||||||
|
, error: JSONErrorHandler
|
||||||
|
});
|
||||||
|
};
|
||||||
|
|
||||||
|
function getLastSinglePageRecur(url, pagenum, categories) {
|
||||||
|
var type = getObjKey(FONTE.categories, categories);
|
||||||
|
|
||||||
|
console.log('url:'+url);
|
||||||
|
$.ajax({
|
||||||
|
dataType: "json"
|
||||||
|
, url: url + "&page=" + pagenum
|
||||||
|
, success: function (data, textStatus, jqXHR) {
|
||||||
|
var totalPages = jqXHR.getResponseHeader('X-WP-TotalPages');
|
||||||
|
|
||||||
FONTE.neededPostsCount += data.length;
|
FONTE.neededPostsCount += data.length;
|
||||||
if (FONTE.neededPostsCount == 0) {
|
if (FONTE.neededPostsCount == 0) {
|
||||||
toastr.info('Nessun nuovo articolo.');
|
toastr.info('Nessun nuovo articolo.');
|
||||||
updateLocalStorageDate();
|
updateLocalStorageDate();
|
||||||
$("#aggiorna").attr("src", "./image/aggiorna.png");
|
if(FONTE.page_loaded[type] == 0) {
|
||||||
if(FONTE.info_page_loaded == 0) {
|
renderLastNews(FONTE.contentListId, categories);
|
||||||
checkloader(categories);
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
var n_error = 0
|
var n_error = 0
|
||||||
|
var oldest_date = window.localStorage.getItem('db_oldest_' + type + '_date');
|
||||||
|
var older_date = null;
|
||||||
$.each(data, function (key, val) {
|
$.each(data, function (key, val) {
|
||||||
var id = val.id;
|
var id = val.id;
|
||||||
var time = val.modified;
|
var time = val.modified;
|
||||||
|
@ -168,18 +219,24 @@ function mygetSinglePageRecur(url, pagenum, categories) {
|
||||||
FONTE.dbHandler.executeSql('INSERT OR REPLACE INTO xm24_posts VALUES (?,?,?,?)', [id, title, time, blob], function (resultSet) {
|
FONTE.dbHandler.executeSql('INSERT OR REPLACE INTO xm24_posts VALUES (?,?,?,?)', [id, title, time, blob], function (resultSet) {
|
||||||
FONTE.updatedPostsCount++;
|
FONTE.updatedPostsCount++;
|
||||||
console.log('Voci aggiornate: ' + FONTE.updatedPostsCount);
|
console.log('Voci aggiornate: ' + FONTE.updatedPostsCount);
|
||||||
|
older_date = time;
|
||||||
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount) {
|
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount) {
|
||||||
updateLocalStorageDate();
|
updateLocalStorageDate();
|
||||||
toastr.info('Aggiornati ' + FONTE.updatedPostsCount + ' articoli.');
|
if(! oldest_date)
|
||||||
checkloader(categories);
|
window.localStorage.setItem('db_oldest_' + type + '_date', older_date);
|
||||||
|
|
||||||
|
toastr.info('Ci sono ' + FONTE.updatedPostsCount + ' nuovi articoli.');
|
||||||
|
renderLastNews(FONTE.contentListId, categories);
|
||||||
} //manca il caso in cui sono stati cancellati dei post online, vanno cancellati anche dall'app.
|
} //manca il caso in cui sono stati cancellati dei post online, vanno cancellati anche dall'app.
|
||||||
}, function (error) {
|
}, function (error) {
|
||||||
n_error++;
|
n_error++;
|
||||||
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount && FONTE.updatedPostsCount > 0 ) {
|
if (n_error + FONTE.updatedPostsCount >= FONTE.neededPostsCount && FONTE.updatedPostsCount > 0 ) {
|
||||||
updateLocalStorageDate();
|
updateLocalStorageDate();
|
||||||
toastr.info('Aggiornati ' + FONTE.updatedPostsCount + ' articoli.');
|
if(! oldest_date)
|
||||||
checkloader(categories);
|
window.localStorage.setItem('db_oldest_' + type + '_date', older_date);
|
||||||
|
|
||||||
|
toastr.info('Aggiornati ' + FONTE.updatedPostsCount + ' nuovi articoli.');
|
||||||
|
renderLastNews(FONTE.contentListId, categories);
|
||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
|
@ -191,40 +248,7 @@ function mygetSinglePageRecur(url, pagenum, categories) {
|
||||||
insertOrUpdateCatToPost(id, val);
|
insertOrUpdateCatToPost(id, val);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
// if (pagenum < totalPages) {
|
|
||||||
// pagenum += 1;
|
|
||||||
// getSinglePageRecur(url, category, pagenum)
|
|
||||||
// }
|
|
||||||
}
|
}
|
||||||
, error: JSONErrorHandler
|
, error: JSONErrorHandler
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
// function partialUpdate() {
|
|
||||||
// //feedback
|
|
||||||
// $("#aggiorna").attr("src", "./image/icona_aggiorna.gif");
|
|
||||||
// var storage = window.localStorage;
|
|
||||||
// var jsonurl = weburl + "wp-json/wp/v2/posts?" + REST_PARAMS.per_page + "&categories=";
|
|
||||||
//
|
|
||||||
// FONTE.updatedCategoriesCount = 0;
|
|
||||||
// FONTE.updatedPostsCount = 0;
|
|
||||||
// FONTE.neededPostsCount = 0;
|
|
||||||
// for (var index in FONTE.categoriesList) {
|
|
||||||
// aggiornaSingleCategory(FONTE.categoriesList[index])
|
|
||||||
// }
|
|
||||||
// FONTE.dbHandler.executeSql('DROP TABLE IF EXISTS xm24_tags;');
|
|
||||||
// // FONTE.dbHandler.executeSql('DROP TABLE IF EXISTS xm24_tags_to_posts;');
|
|
||||||
// FONTE.dbHandler.executeSql('DROP TABLE IF EXISTS xm24_pages;');
|
|
||||||
// FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags (id INTEGER PRIMARY KEY, title, tag)');
|
|
||||||
// // FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_tags_to_posts (id, tagid)');
|
|
||||||
// FONTE.dbHandler.executeSql('CREATE TABLE IF NOT EXISTS xm24_pages (id INTEGER PRIMARY KEY, title, date, page)');
|
|
||||||
// aggiornaTags(1);
|
|
||||||
// aggiornaPages();
|
|
||||||
//
|
|
||||||
// var firstTime = storage.getItem('db_lastnews_firsttime');
|
|
||||||
// if (firstTime == null) storage.setItem('db_lastnews_firsttime', 'yes');
|
|
||||||
// if (firstTime == 'yes') storage.setItem('db_lastnews_firsttime', 'no');
|
|
||||||
// $("#benvenuta").popup("close");
|
|
||||||
// checkloader();
|
|
||||||
//
|
|
||||||
// };
|
|
Loading…
Reference in a new issue