Merge branch 'master' of git.lattuga.net:hacklabbo/Ilovexm24
This commit is contained in:
commit
15fe72c394
7 changed files with 74 additions and 16 deletions
19
README.md
19
README.md
|
@ -100,7 +100,24 @@ Error: CocoaPods was not found. Please install version 1.0.1 or greater from htt
|
||||||
|
|
||||||
Occore installare `CocoaPods` come descritto sulla [documentazione del plugin](https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#ios-details)
|
Occore installare `CocoaPods` come descritto sulla [documentazione del plugin](https://github.com/phonegap/phonegap-plugin-push/blob/master/docs/INSTALLATION.md#ios-details)
|
||||||
|
|
||||||
|
## Download ##
|
||||||
|
|
||||||
|
## Google Play ##
|
||||||
|
|
||||||
|
Solo per chi ha un account google.
|
||||||
|
|
||||||
|
Sconsigliamo l'installazione dal Google Play perche' google come multinazionale profila ogni tuo gusto e l'utilizza a scopo commerciale. In pratica ti tratta come merce per accaparrarsi profitto. Se ti e' possibile quindi utilizza fdroid.
|
||||||
|
|
||||||
|
https://play.google.com/store/apps/details?id=xm24.digitigrafo.it
|
||||||
|
|
||||||
|
## Repository Privato Fdroid ##
|
||||||
|
|
||||||
|
Repository gestito da hacklabbo, non e' il repository fdroid ufficiale.
|
||||||
|
|
||||||
|
Per poter utilizzare questo repository devi comunque scaricare l'applicazione [fdroid](https://f-droid.org/) e aggiungere questo repository ed attivarlo nella configurazione dell'applicazaione. E' un operazione piuttosto semplice da effettuare.
|
||||||
|
|
||||||
|
https://fdroid.hacklabbo.indivia.net/
|
||||||
|
|
||||||
## TODO, ISSUE e FEATURE ##
|
## TODO, ISSUE e FEATURE ##
|
||||||
|
|
||||||
Usiamo l'[issue tracker](https://git.lattuga.net/hacklabbo/Ilovexm24/issues) non il wiki.
|
Usiamo l'[issue tracker](https://git.lattuga.net/hacklabbo/Ilovexm24/issues) non il wiki.
|
||||||
|
|
Binary file not shown.
|
@ -32,7 +32,6 @@
|
||||||
<preference name = "SplashScreenDelay" value="3000" />
|
<preference name = "SplashScreenDelay" value="3000" />
|
||||||
<preference name = "SplashMaintainAspectRatio" value="true" />
|
<preference name = "SplashMaintainAspectRatio" value="true" />
|
||||||
<preference name = "SplashShowOnlyFirstTime" value="false" />
|
<preference name = "SplashShowOnlyFirstTime" value="false" />
|
||||||
<preference name="AndroidPersistentFileLocation" value="Compatibility" />
|
|
||||||
</platform>
|
</platform>
|
||||||
<platform name="ios">
|
<platform name="ios">
|
||||||
<allow-intent href="itms:*" />
|
<allow-intent href="itms:*" />
|
||||||
|
|
39
hooks/after_prepare/030_remove_permissions.js
Executable file
39
hooks/after_prepare/030_remove_permissions.js
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/usr/bin/env node
|
||||||
|
|
||||||
|
//
|
||||||
|
// This hook removes specific permissions from the AndroidManifest.xml
|
||||||
|
// The AndroidManifest is re-generated during the prepare stage,
|
||||||
|
// so this must be run on the "after_prepare" hook.
|
||||||
|
//
|
||||||
|
|
||||||
|
|
||||||
|
// Configure the permissions to be forcefully removed.
|
||||||
|
// NOTE: These permissions will be removed regardless of how many plugins
|
||||||
|
// require the permission. You can check the permission is only required
|
||||||
|
// by the plugin you *think* needs it, by looking at the "count" shown in
|
||||||
|
// your /plugins/android.json file.
|
||||||
|
// If the count is more than 1, you should search through
|
||||||
|
// the /plugins//plugin.xml files for <uses-permission> tags.
|
||||||
|
|
||||||
|
var permsToRm = [ "RECORD_AUDIO", "MODIFY_AUDIO_SETTINGS", "READ_PHONE_STATE" ];
|
||||||
|
|
||||||
|
var fs = require('fs');
|
||||||
|
var path = require('path');
|
||||||
|
var rootdir = process.argv[2];
|
||||||
|
var manifestFile = path.join(rootdir, "platforms/android/AndroidManifest.xml");
|
||||||
|
|
||||||
|
fs.readFile( manifestFile, "utf8", function( err, data ) {
|
||||||
|
if (err)
|
||||||
|
return console.log( "Error reading AndroidManifest.xml", err );
|
||||||
|
|
||||||
|
var result = data;
|
||||||
|
for(var i = 0; i < permsToRm.length; i++) {
|
||||||
|
var search = '<uses-permission android:name="android.permission.' + permsToRm[i] + '" />';
|
||||||
|
result = result.replace(search, '');
|
||||||
|
}
|
||||||
|
|
||||||
|
fs.writeFile( manifestFile, data, "utf8", function( err ){
|
||||||
|
if (err)
|
||||||
|
return console.log( "Error writing AndroidManifest.xml", err );
|
||||||
|
});
|
||||||
|
} );
|
|
@ -1,6 +1,5 @@
|
||||||
function myJsonCategory(Qcategory, div, addTagCategory) {
|
function myJsonCategory(Qcategory, div, addTagCategory) {
|
||||||
$.mobile.loading('show');
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM xm24_posts WHERE category = ? ORDER BY date COLLATE NOCASE DESC;", [Qcategory], function (resultSet) {
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM xm24_posts WHERE category = ? ORDER BY date COLLATE NOCASE DESC;", [Qcategory], function (resultSet) {
|
|
||||||
var items = [];
|
var items = [];
|
||||||
for (var i = 0; i < resultSet.rows.length; i++) {
|
for (var i = 0; i < resultSet.rows.length; i++) {
|
||||||
var val = JSON.parse(resultSet.rows.item(i).post);
|
var val = JSON.parse(resultSet.rows.item(i).post);
|
||||||
|
@ -83,7 +82,10 @@ var drawListPost = function(div, resultSet, position) {
|
||||||
} else if(position == 'prepend'){
|
} else if(position == 'prepend'){
|
||||||
ul.prependTo(div);
|
ul.prependTo(div);
|
||||||
}
|
}
|
||||||
$.mobile.loading('hide');
|
|
||||||
|
setTimeout(function () {
|
||||||
|
$.mobile.loading('hide');
|
||||||
|
}, 1000);
|
||||||
};
|
};
|
||||||
|
|
||||||
var appendPostList = function(div, resultSet, categories, fallback) {
|
var appendPostList = function(div, resultSet, categories, fallback) {
|
||||||
|
@ -144,7 +146,7 @@ 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 DISTINCT * FROM xm24_posts JOIN xm24_cats_to_posts USING(id) WHERE ",
|
||||||
end : "ORDER BY date COLLATE NOCASE DESC LIMIT ?"
|
end : "ORDER BY date COLLATE NOCASE DESC LIMIT ?"
|
||||||
};
|
};
|
||||||
|
|
||||||
|
@ -195,7 +197,7 @@ function myJsonLastPage(div) {
|
||||||
var firstTime = storage.getItem('db_lastnews_firsttime');
|
var firstTime = storage.getItem('db_lastnews_firsttime');
|
||||||
if (firstTime != 'yes') {
|
if (firstTime != 'yes') {
|
||||||
if (lastnewsDate) {
|
if (lastnewsDate) {
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM xm24_posts WHERE date > ? ORDER BY date COLLATE NOCASE DESC LIMIT 40;", [lastnewsDate], function (resultSet) {
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM xm24_posts WHERE date > ? ORDER BY date COLLATE NOCASE DESC LIMIT 40;", [lastnewsDate], function (resultSet) {
|
||||||
var items = [];
|
var items = [];
|
||||||
$(div).empty();
|
$(div).empty();
|
||||||
if (resultSet.rows.length > 0) {
|
if (resultSet.rows.length > 0) {
|
||||||
|
@ -232,7 +234,7 @@ function myJsonLastPage(div) {
|
||||||
|
|
||||||
function myJsonCategoryPaginated(Qcategory, div, pageNumber) {
|
function myJsonCategoryPaginated(Qcategory, div, pageNumber) {
|
||||||
$.mobile.loading('show');
|
$.mobile.loading('show');
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM xm24_posts WHERE category = ? ORDER BY date COLLATE NOCASE DESC;", [Qcategory], function (resultSet) {
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM xm24_posts WHERE category = ? ORDER BY date COLLATE NOCASE DESC;", [Qcategory], function (resultSet) {
|
||||||
var items = [];
|
var items = [];
|
||||||
$(div).empty();
|
$(div).empty();
|
||||||
for (var i = 0; i < resultSet.rows.length; i++) {
|
for (var i = 0; i < resultSet.rows.length; i++) {
|
||||||
|
@ -313,7 +315,7 @@ function myJsonPost(Qid, div_title, div_content, _class) {
|
||||||
table = EVENTS.table.single;
|
table = EVENTS.table.single;
|
||||||
}
|
}
|
||||||
|
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM " + table + " WHERE id = ?;", [Qid], function(resultSet) {
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM " + table + " WHERE id = ?;", [Qid], function(resultSet) {
|
||||||
if(!_class){
|
if(!_class){
|
||||||
drawPost(div_title, div_content, resultSet);
|
drawPost(div_title, div_content, resultSet);
|
||||||
} else {
|
} else {
|
||||||
|
@ -325,7 +327,7 @@ function myJsonPost(Qid, div_title, div_content, _class) {
|
||||||
function myJsonPage(Qid, div_title, div_content) {
|
function myJsonPage(Qid, div_title, div_content) {
|
||||||
$.mobile.loading('show');
|
$.mobile.loading('show');
|
||||||
var pageId = parseInt(Qid);
|
var pageId = parseInt(Qid);
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM xm24_pages WHERE id = ?;", [pageId], function (resultSet) {
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM xm24_pages WHERE id = ?;", [pageId], function (resultSet) {
|
||||||
for (var i = 0; i < resultSet.rows.length; i++) {
|
for (var i = 0; i < resultSet.rows.length; i++) {
|
||||||
var data = resultSet.rows.item(i);
|
var data = resultSet.rows.item(i);
|
||||||
var id = data.id;
|
var id = data.id;
|
||||||
|
@ -342,7 +344,7 @@ function myJsonPage(Qid, div_title, div_content) {
|
||||||
|
|
||||||
function myJsonRandomPost(div_title, div_content) {
|
function myJsonRandomPost(div_title, div_content) {
|
||||||
$.mobile.loading('show');
|
$.mobile.loading('show');
|
||||||
FONTE.dbHandler.executeSql("SELECT * FROM xm24_posts ORDER BY RANDOM() LIMIT 1;", [], function (resultSet) {
|
FONTE.dbHandler.executeSql("SELECT DISTINCT * FROM xm24_posts ORDER BY RANDOM() LIMIT 1;", [], function (resultSet) {
|
||||||
for (var i = 0; i < resultSet.rows.length; i++) {
|
for (var i = 0; i < resultSet.rows.length; i++) {
|
||||||
var val = JSON.parse(resultSet.rows.item(i).post);
|
var val = JSON.parse(resultSet.rows.item(i).post);
|
||||||
var id = val.id;
|
var id = val.id;
|
||||||
|
|
|
@ -245,9 +245,9 @@ function getLastSinglePageRecur(url, pagenum, categories) {
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
if (data.length == 0) {
|
// if (data.length === 0) {
|
||||||
renderLastNews(FONTE.contentListClass, categories);
|
// renderLastNews(FONTE.contentListClass, categories);
|
||||||
}
|
// }
|
||||||
},
|
},
|
||||||
error: JSONErrorHandler
|
error: JSONErrorHandler
|
||||||
});
|
});
|
||||||
|
|
|
@ -8,7 +8,7 @@ function initStorage() {
|
||||||
}
|
}
|
||||||
|
|
||||||
/*per network info*/
|
/*per network info*/
|
||||||
function checkConnection(code, msgConnect) {
|
function checkConnection(code, msgConnect, print) {
|
||||||
var msgTitle = "Non sei connesso";
|
var msgTitle = "Non sei connesso";
|
||||||
msgConnect = msgConnect || "Occore essere connessi per poter ricevere i nuovi articoli";
|
msgConnect = msgConnect || "Occore essere connessi per poter ricevere i nuovi articoli";
|
||||||
|
|
||||||
|
@ -23,7 +23,8 @@ function checkConnection(code, msgConnect) {
|
||||||
states[Connection.CELL] = 'Cell generic connection';
|
states[Connection.CELL] = 'Cell generic connection';
|
||||||
states[Connection.NONE] = 'No network connection';
|
states[Connection.NONE] = 'No network connection';
|
||||||
if (states[networkState] == 'Unknown connection' || states[networkState] == 'No network connection') {
|
if (states[networkState] == 'Unknown connection' || states[networkState] == 'No network connection') {
|
||||||
toastr.warning(msgConnect, msgTitle);
|
if(! print)
|
||||||
|
toastr.warning(msgConnect, msgTitle);
|
||||||
console.log(code);
|
console.log(code);
|
||||||
return false;
|
return false;
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in a new issue