61 changed files with 873 additions and 1042 deletions
View File
+7 -19
View File
@@ -1,26 +1,14 @@
AddHandler application/x-httpd-php .html .htm
<IfModule mod_deflate.c>
<IfModule mod_setenvif.c>
BrowserMatch ^Mozilla/4 gzip-only-text/html
BrowserMatch ^Mozilla/4\.0[678] no-gzip
BrowserMatch \bMSIE !no-gzip !gzip-only-text/html
BrowserMatch \bMSI[E] !no-gzip !gzip-only-text/html
</IfModule>
<IfModule mod_headers.c>
Header append Vary User-Agent env=!dont-vary
</IfModule>
AddOutputFilterByType DEFLATE text/css application/x-javascript text/html text/richtext image/svg+xml text/plain text/xsd text/xsl text/xml image/x-icon
</IfModule>
<ifModule mod_rewrite.c>
RewriteEngine On
RewriteRule ^index.html$ index.php [L]
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /IlLievitarioManut/js/libs/$1.js [L]
RewriteRule ^js/(.*)\.[0-9]+\.js$ /IlLievitarioManut/js/$1.js [L]
RewriteRule ^css/(.*)\.[0-9]+\.css$ /IlLievitarioManut/css/$1.css [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /IlLievitarioManut/Resources/img/$1.png [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /IlLievitarioManut/Resources/img/$1.gif [L]
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /IlLievitarioManut/Resources/icons/$1.png [L]
RewriteRule ^index.html$ /NewMobileWebSite/index.php [L]
RewriteRule ^js/libs/(.*)\.[0-9]+\.js$ /NewMobileWebSite/js/libs/$1.js [L]
RewriteRule ^js/(.*)\.[0-9]+\.js$ /NewMobileWebSite/js/$1.js [L]
RewriteRule ^css/(.*)\.[0-9]+\.css$ /NewMobileWebSite/css/$1.css [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.png$ /NewMobileWebSite/Resources/img/$1.png [L]
RewriteRule ^Resources/img/(.*)\.[0-9]+\.gif$ /NewMobileWebSite/Resources/img/$1.gif [L]
RewriteRule ^Resources/icons/(.*)\.[0-9]+\.png$ /NewMobileWebSite/Resources/icons/$1.png [L]
</ifModule>
<ifModule mod_headers.c>
Binary file not shown.

After

Width:  |  Height:  |  Size: 770 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.8 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 874 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 436 B

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.3 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.1 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 15 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 17 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 2.0 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.9 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.7 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.4 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 4.5 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 14 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 3.2 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 1.9 KiB

-1
View File
@@ -2,4 +2,3 @@ REM node r.js -o app.build_dev.js
node r.js -o app.build_prod.js
REM call cleancss -o .\css\loadingStyle.min.css .\css\loadingStyle.css
call cleancss -o .\css\style.min.css .\css\style.css
pause
+57 -7
View File
@@ -3,18 +3,68 @@
height: 400px;
}
.circle
{
position: relative;
top: -6px;
left: 15px;
width: 12px;
height: 12px;
border-radius: 12px;
font-size: 10px;
color: #fff;
line-height: 12px;
text-align: center;
background: red;
z-index: 1;
text-indent: 0;
}
.nav-glyphish-example .ui-btn { padding-top: 35px !important; }
.nav-glyphish-example .ui-btn:after { width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important; }
.ui-icon-myHome:after {
background: url("https://dl.dropboxusercontent.com/s/w5evmv0suijf2jd/house.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; margin-left: -15px !important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
width: 30px!important; height: 30px!important; margin-left: -15px !important;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
.notification:after {
background: url("https://dl.dropboxusercontent.com/s/afsciy4lipub4hf/notification.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; margin-left: -15px !important;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#optionBtn:after {
background: url("https://dl.dropboxusercontent.com/s/gnlhujh5a86qdhi/property.png?dl=0") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; margin-left: -15px !important;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#favoriteBtn:after {
background: url("https://dl.dropboxusercontent.com/s/ptt4475xkrv0chu/favorite.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#scattaPhotoBtn:after {
background: url("https://dl.dropboxusercontent.com/s/kou4hv3nzau9161/camera.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#uploadPhotoBtn:after {
background: url("https://dl.dropboxusercontent.com/s/k65p3k0frglitu2/photo.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#backBtn:after { background: url("https://dl.dropboxusercontent.com/s/b5feph9hnl1wvep/previous.png") 50% 50% no-repeat; background-size: 22px 22px;
margin-top: -15px !important;
width: 30px!important; height: 30px!important; margin-left: -15px !important;
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;
}
#favoriteBtn:after { background: url("https://dl.dropboxusercontent.com/s/ptt4475xkrv0chu/favorite.png") 50% 50% no-repeat; background-size: 22px 22px; }
#infoBtn:after { background: url("https://dl.dropboxusercontent.com/s/uoe0goxll3anh3x/info.png") 50% 50% no-repeat; background-size: 22px 22px; }
#backBtn:after { background: url("https://dl.dropboxusercontent.com/s/b5feph9hnl1wvep/previous.png") 50% 50% no-repeat; background-size: 16px 16px; }
#noteBtn:after { background: url("https://dl.dropboxusercontent.com/s/vtl7zq0b144aiep/blocco.png") 50% 50% no-repeat; background-size: 22px 22px; }
#indexBtn:after { background: url("https://dl.dropboxusercontent.com/s/pn37wqdw6z1rd8s/ricette.png") 50% 50% no-repeat; background-size: 22px 22px; }
#toolsBtn:after { background: url("https://dl.dropboxusercontent.com/s/8n0npemivbc6kuy/toolbox.png") 50% 50% no-repeat; background-size: 22px 22px; }
@@ -27,22 +77,22 @@
box-shadow: none!important; -moz-box-shadow: none!important; -webkit-box-shadow: none!important; -webkit-border-radius: 0 !important; border-radius: 0 !important;}
.loginfb {
content: url('https://www.dropbox.com/s/vsc19gan0ihjptr/fblogin.png');
content: url('https://dl.dropboxusercontent.com/s/vsc19gan0ihjptr/fblogin.png');
width: 200px;
}
.logoutfb {
content: url('https://www.dropbox.com/s/sdbe56vqxeqevph/fblogout.png');
content: url('https://dl.dropboxusercontent.com/s/sdbe56vqxeqevph/fblogout.png');
width: 200px;
}
.logingplus {
content: url('https://www.dropbox.com/s/k43w3cfzowlynhk/gpluslogin.png');
content: url('https://dl.dropboxusercontent.com/s/k43w3cfzowlynhk/gpluslogin.png');
width: 200px;
}
.logoutgplus {
content: url('https://www.dropbox.com/s/nnprsunm8zg31en/gpluslogout.png');
content: url('https://dl.dropboxusercontent.com/s/nnprsunm8zg31en/gpluslogout.png');
width: 200px;
}
+1 -1
View File
File diff suppressed because one or more lines are too long
+9 -9
View File
@@ -1,6 +1,6 @@
<!DOCTYPE html>
<html>
<head>
<head>
<title>Il Lievitario</title>
<meta name="google" value="notranslate" />
<meta http-equiv="expires" content="0">
@@ -9,7 +9,7 @@
<meta name="mobile-web-app-capable" content="yes">
<meta name="apple-mobile-web-app-capable" content="yes">
<meta name="format-detection" content="telephone=no">
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jquerymobile/1.4.3/jquery.mobile.structure.min.css" >
<link rel="stylesheet" href="http://code.jquery.com/mobile/1.4.5/jquery.mobile-1.4.5.min.css" >
<link rel="stylesheet" href="css/jquery.mobile.icons.min.<?php echo filemtime('css/jquery.mobile.icons.min.css'); ?>.css">
<link rel="stylesheet" href="css/IlLievitario.min.<?php echo filemtime('css/IlLievitario.min.css'); ?>.css">
<link rel="stylesheet" href="css/style.min.<?php echo filemtime('css/style.min.css'); ?>.css">
@@ -24,15 +24,15 @@
<script type='text/javascript' src="js/openfb.<?php echo filemtime('js/openfb.js'); ?>.js"></script>
<script type='text/javascript' src="js/opengplus.<?php echo filemtime('js/opengplus.js'); ?>.js"></script>
<script type='text/javascript'>
if(openFB && window.location &&
if (openFB && window.location &&
window.location.href.indexOf("access_token") != -1 &&
window.localStorage.getItem("tryLogin")=="fb") {
window.localStorage.getItem("tryLogin") == "fb") {
openFB.oauthCallback(window.location.href);
window.location.href = "#syncView/tokenFound";
}
else if(openGPlus && window.location &&
else if (openGPlus && window.location &&
window.location.href.indexOf("access_token") != -1 &&
window.localStorage.getItem("tryLogin")=="gplus") {
window.localStorage.getItem("tryLogin") == "gplus") {
openGPlus.oauthCallback(window.location.href);
window.location.href = "#syncView/tokenFound";
}
@@ -40,8 +40,8 @@
</script>
<!--<script type='text/javascript' src="js/manifest.<?php echo filemtime('js/manifest.js'); ?>.js"></script>-->
<script data-main="js/config" src="js/libs/require.<?php echo filemtime('js/libs/require.js'); ?>.js"></script>
</head>
<body style="background-color: #1d1d1d;">
</head>
<body style="background-color: #1d1d1d;">
<?php include_once("analyticstracking.php") ?>
<div id="loadingFrm" style="text-align: center;">
<img src="https://dl.dropboxusercontent.com/s/6qrdp9mbi1rb92k/sfondo.png" class="loadingSfondo">
@@ -50,5 +50,5 @@
<img src="https://dl.dropboxusercontent.com/s/mw90t9oay2v9jev/loading.gif">
</div>
</div>
</body>
</body>
</html>
+13 -9
View File
@@ -1,9 +1,14 @@
define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
($, _, Backbone,Router, Profile) {
'use strict';
var init=function(){
define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],
function($, _, Backbone, Router, Profile) {
var Application={
_retThis: function() {
return this;
},
router: null,
initialize:function(){
//create backbone router
var router=new Router();
this.router=new Router();
Backbone.history.start();
Backbone.emulateJSON = true;
var origin = location.protocol + '//' + location.hostname + (location.port ? ':' + location.port : '') + (location.pathname?location.pathname:'');
@@ -11,7 +16,7 @@ define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
openGPlus.init('319140243944-qk0lfhgmi8shi4go97r83l69f1k0gdf4.apps.googleusercontent.com', origin, window.localStorage);
//console.log("Backbone history start");
// Trigger 'route' event on router instance.
router.on('route', function(name, args) {
this.router.on('route', function(name, args) {
//alert(name);
});
@@ -21,9 +26,8 @@ define(['jquery','underscore', 'backbone', 'router', 'classes/profile'],function
$('body').css('background-color', '');
$('#loadingFrm').remove();
}
};
return {
initialize:init
};
return Application._retThis();
});
+6 -1
View File
@@ -27,7 +27,8 @@ define(['jquery', 'backbone'],
"gender":null,
"tema": 'b',
"risRic": '10',
"type": null
"type": null,
"lastNumRicette": null
},
isConnected: function(){
@@ -64,12 +65,16 @@ define(['jquery', 'backbone'],
self.data.tema = response[0].TemaUI;
self.data.risRic = response[0].RisultatiRicerca;
self.data.type = response[0].TipoAccesso;
self.data.lastNumRicette = response[0].NumRicette;
retBool = true;
}
if(successFn)
successFn(retBool);
},
getLastNumRicette: function(){
return this.data.lastNumRicette;
},
getKeySave: function(){
return window.localStorage.getItem("KeySave");
},
+50
View File
@@ -0,0 +1,50 @@
/*
* To change this license header, choose License Headers in Project Properties.
* To change this template file, choose Tools | Templates
* and open the template in the editor.
*/
/**
* Created by Denis on 19/06/2014.
*/
define(['jquery', 'backbone','libs/fastclick', 'jqm', 'jQueryPlugins'],
function($, Backbone, FastClick){
var Utility = {
retMe: function(){
return this;
},
changePage: function(view){
//append to dom
$('body').append(view.$el);
$.mobile.pageContainer.pagecontainer ("change", $(view.el), {changeHash:false});
FastClick.attach(document.body);
$(":jqmData(role='page'):last").on("pageshow", function (event) {
if (view.onShowed !== null)
view.onShowed();
});
$('input[type=radio].star').rating({
callback: function(value, link){
var tip = $('#hover-test');
if(value === undefined)
{
$('#hover-test').html("Nessuna" || 'value: ' );
}
else
$('#hover-test').html(link.title || 'value: ' + value);
},
focus: function(value, link){
var tip = $('#hover-test');
tip[0].data = tip[0].data || tip.html();
tip.html(link.title || 'value: ' + value);
}
});
}
};
return Utility.retMe();
});
+2 -1
View File
@@ -1,5 +1,6 @@
var pathJquery = "http://ajax.googleapis.com/ajax/libs/jquery/" + myManifest.Settings.JQueryVersion + "/jquery.min";
var pathJqueryMobile = "http://ajax.googleapis.com/ajax/libs/jquerymobile/"+ myManifest.Settings.JQueryMobileVersion + "/jquery.mobile.min";
var pathJqueryMobile = "http://code.jquery.com/mobile/" + myManifest.Settings.JQueryMobileVersion + "/jquery.mobile-" + myManifest.Settings.JQueryMobileVersion + ".min";
// "http://ajax.googleapis.com/ajax/libs/jquerymobile/"+ myManifest.Settings.JQueryMobileVersion + "/jquery.mobile.min";
requirejs.config({
baseUrl: 'js',
+3 -2
View File
@@ -1,5 +1,5 @@
define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.html'],
function($, _, Backbone, headerTemplate){
define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.html', 'classes/profile'],
function($, _, Backbone, headerTemplate, Profile){
var header = Backbone.View.extend({
@@ -22,6 +22,7 @@ define(['jquery', 'underscore', 'backbone','text!controls/header/headerTemplate.
//append the compiled template into view div container
this.$el.append(this.template( { "title":this.title } ));
this.$el.find('#notifyBtn').closest('.ui-btn').hide();
//return to enable chained calls
return this;
}
+2 -1
View File
@@ -1,2 +1,3 @@
<a href="#homeView" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext">Home</a>
<a id="homeBtn" href="#homeView" class="nav-glyphish-example ui-btn ui-icon-myHome ui-btn-icon-notext">Home</a>
<h4><%= title %></h4>
<a href="#newsView" id="notifyBtn" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext">News<div class="circle">3</div></a>
+2 -1
View File
@@ -1,7 +1,8 @@
//1. load app.js,
//2. configure jquery mobile to prevent default JQM ajax navigation
//3. bootstrapping application
define(["app", "jqm", "jqm-config", 'jQueryPlugins'], function( app ){
define(["app", "jqm", "jqm-config", 'jQueryPlugins'],
function( app ){
if(myManifest.Agent.browser.name == "IE Mobile" && myManifest.Agent.browser.version <= 9 ) {
window.location.href = "http://old.gruppolapastamadre.it";
}
+6 -6
View File
@@ -1,20 +1,20 @@
var myManifest = {
Debug: false,
Name: "Il Lievitario",
Version: "2.2.3",
Version: "3.0.0.0",
Author: "Denis Ironi",
Settings: {
//DefaultURL: "http://localhost:8081/Service",
DefaultURL: "http://app.gruppolapastamadre.it/Service",
DefaultURL: "http://localhost:8081/Service",
//DefaultURL: "http://dev.gruppolapastamadre.it/Service",
JQueryVersion: "1.11.1",
JQueryMobileVersion: "1.4.3",
Device:{
JQueryMobileVersion: "1.4.5",
Device: {
Width: (window.innerWidth > 0) ? window.innerWidth : screen.width,
Height: (window.innerHeight > 0) ? window.innerHeight : screen.height
}
},
Agent: (new UAParser()).getResult(),
getUrlArg: function(){
getUrlArg: function() {
return (this.Debug ? this.Version + "." + (Math.random() * 1000) : this.Version);
}
};
@@ -11,7 +11,7 @@ var CategoryItems=Backbone.Collection.extend({
model:Category,
url: function() {
return myManifest.Settings.DefaultURL + "/api/categoryitems/" + this.categoryId;
return myManifest.Settings.DefaultURL + "/api/ricette/" + this.categoryId;
}
});
+2 -2
View File
@@ -1,5 +1,5 @@
define(['jquery', 'underscore', 'backbone'],
function ($, _, Backbone){
function($, _, Backbone) {
var CategoryItem = Backbone.Model.extend({
//default attributes
@@ -14,5 +14,5 @@ function ($, _, Backbone){
});
return CategoryItem;
});
});
+1 -1
View File
@@ -17,7 +17,7 @@ define(['app', 'jquery', 'underscore', 'backbone', 'model/categoryItem/categoryI
model:Category,
url: function() {
var u = myManifest.Settings.DefaultURL + "/api/categoryitems/search/" + this.numItems +
var u = myManifest.Settings.DefaultURL + "/api/ricette/search/" + this.numItems +
"/" + this.dataFilter.categoryId +
"/" + this.dataFilter.difficolta;
if(this.dataFilter.titolo !== null)
@@ -0,0 +1,21 @@
define(['app', 'jquery', 'underscore', 'backbone', 'model/lastRicette/lastRicetteModel'],
function (app, $, _, Backbone, LastRicette){
var lastRicette=Backbone.Collection.extend({
profileID: null,
initialize: function (options) {
this.profileID = options.profileID;
},
// Book is the model of the collection
model:LastRicette,
url: function() {
return myManifest.Settings.DefaultURL + "/api/ricette/lastinserted/" + this.profileID;
}
});
return lastRicette;
});
+18
View File
@@ -0,0 +1,18 @@
define(['jquery', 'underscore', 'backbone'],
function($, _, Backbone) {
var LastRicette = Backbone.Model.extend({
//default attributes
defaults: {
ricetta_id: "",
titolo: '',
autore: '',
valutazione: 0,
difficolta: 0,
categoria_name: ''
}
});
return LastRicette;
});
+15 -19
View File
@@ -1,49 +1,45 @@
define(['jquery', 'underscore', 'backbone','text!modules/category/categoryViewTemplate.html', 'text!modules/category/categoryItemTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView){
define(['jquery', 'underscore', 'backbone', 'text!modules/category/categoryViewTemplate.html', 'text!modules/category/categoryItemTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView) {
var CategoryView = BaseView.extend({
collection: null,
categoryName: null,
//initialize template
template:_.template(categoryViewTemplate),
itemtemplate:_.template(categoryItemTemplate),
initialize: function (options) {
template: _.template(categoryViewTemplate),
itemtemplate: _.template(categoryItemTemplate),
initialize: function(options) {
var self = this;
CategoryView.__super__.initialize.call(this);
this.collection = options.collection;
this.categoryName = options.categoryName;
this.collection.fetch({
success: function(data, textStatus, jqXHR){
success: function(data, textStatus, jqXHR) {
self.renderItem();
}
//success: function(){ self.renderItem(); }
});
},
renderItem: function(){
renderItem: function() {
var $ul = $('#allRicette');
var items = this.itemtemplate({data:this.collection.toJSON()});
var items = this.itemtemplate({data: this.collection.toJSON()});
$ul.html( items );
$ul.listview( "refresh" );
$ul.trigger( "updatelayout");
$ul.html(items);
$ul.listview("refresh");
$ul.trigger("updatelayout");
$.mobile.loading( 'hide' );
$.mobile.loading('hide');
//$( '[data-alpha="true"]' ).alphascroll();
},
//render the content into div of view
render: function(){
render: function() {
//this.header.title = "pippo";
CategoryView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template({ categoryName: this.categoryName }));
this.$el.append(this.template({categoryName: this.categoryName}));
this.$el.append(this.footer.$el);
//return to enable chained calls
this.$el.find("#indexBtn").addClass("ui-btn-active");
@@ -51,4 +47,4 @@ function($, _, Backbone, categoryViewTemplate, categoryItemTemplate, BaseView){
}
});
return CategoryView;
});
});
-498
View File
@@ -1,498 +0,0 @@
define(['jquery', 'underscore', 'backbone',
'text!modules/converter/converterViewTemplate.html',
'modules/base/baseView'],
function($, _, Backbone, converterViewTemplate, BaseView){
var ConverterView = BaseView.extend({
collection: null,
//initialize template
template:_.template(converterViewTemplate),
initialize: function (options) {
var self = this;
ConverterView.__super__.initialize.call(this);
//this.header.title = "pippo";
},
events: {
"click #calculate": "performCalcBtn",
"change #typeLvStart": "typeLvStartChanged"
},
performCalcBtn: function (e) {
e.preventDefault();
//this.calculateConvert();
this.$el.find("#inputForm").submit();
},
typeLvStartChanged: function(e){
e.preventDefault();
if(this.$el.find("#typeLvStart").val() == "ldbf" ||
this.$el.find("#typeLvStart").val() == "ldbs"){
}
else{
}
},
calculateConvert: function(){
var ret ="";
if(this.$el.find("#typeLvStart").val() == "ldbf" ||
this.$el.find("#typeLvStart").val() == "ldbs"){
this.$el.find("#qtaLvlAlt").val(this.impostaPmConsigliata());
ret += this.convertiLDB();
}
else{
this.$el.find("#qtaLvlAlt").val(this.impostaPmConsigliata());
ret += this.convertiPM();
}
this.$el.find('#result')[0].innerHTML = ret.replace(/<br>/g, "<br><br>");
this.$el.find('#popupConvertResult').popup("open");
},
convertiPM: function(){
// dichiaro e inizializzo la variabile che conterrà il risultato dell'elaborazione
var risultato = "";
// imposto come fissa al 50% l'idratazione della PM solida
var VidratazionePmSolida = 50;
// ottengo i valori scelti dall'utente
var vTipoPmPartenza = this.$el.find("#typeLvStart").val();
var vTipoPmFinale = "";
var vIdratazionePmFinale = 0;
var vIdratazionePmPartenza = 50; //parseInt(this.$el.find("#qtaLiquidi").val());
if(this.$el.find("#typeLvStart").val() == "lic100" )
vIdratazionePmPartenza = 100;
else if(this.$el.find("#typeLvStart").val() == "lic130" )
vIdratazionePmPartenza = 130;
var vQuantitaPmPartenza = parseInt(this.$el.find("#qtaLvStart").val());
var vQuantitaFarinaPartenza = parseInt(this.$el.find("#qtaFarina").val());
var vQuantitaAcquaPartenza = parseInt(this.$el.find("#qtaLiquidi").val());
var vQuantitaPmFinale = parseInt(this.$el.find("#qtaLvlAlt").val());
// Imposto di il tipo di PM finale in funzione di quello scelto come partenza
// e visualizzo o nascondo di conseguenza la select per l'idratazione
switch (this.$el.find("#typeLvDest").val()){
case "pm":
vTipoPmFinale = "SOLIDA";
vIdratazionePmFinale = 50;
break;
case "lic100":
vTipoPmFinale = "LIQUIDA";
vIdratazionePmFinale = 100;
break;
case "lic130":
vTipoPmFinale = "LIQUIDA";
vIdratazionePmFinale = 130;
break;
default:
vTipoPmFinale = "";
}
// elaborazione per PM finale SOLIDA
if (vTipoPmFinale == "SOLIDA") {
// quanta acqua c'è nella PM liquida di partenza?
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + vIdratazionePmPartenza)) * vIdratazionePmPartenza;
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
// quanta farina c'è nella PM liquida di partenza?
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
// quanta acqua c'è nella PM finale?
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + VidratazionePmSolida)) * VidratazionePmSolida
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
// quanta farina c'è nella PM finale?
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
// come devo modificare l'acqua prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
// se il delta acqua è negativo lo tolgo
// altrimenti lo aggiungo
if (deltaAcquaPM < 0) {
qAcquaImpastoFinale -= deltaAcquaPM;
}
else {
qAcquaImpastoFinale += deltaAcquaPM;
}
// come devo modificare la farina prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
// se il delta farina è negativo lo aggiungo
// altrimenti lo tolgo
if (deltaFarinaPM < 0) {
qFarinaImpastoFinale += deltaFarinaPM;
}
else {
qFarinaImpastoFinale -= deltaFarinaPM;
}
risultato += "PM solida gr " + vQuantitaPmFinale.toString();
risultato += "<br>";
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
risultato += "<br>";
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
}
// elaborazione per PM finale LIQUIDA
if (vTipoPmFinale == "LIQUIDA"){
// CASO PM LIQUIDA FINALE AL 100%
// quanta acqua c'è nella PM solida iniziale?
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + VidratazionePmSolida)) * VidratazionePmSolida
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
// quanta farina c'è nella PM solida iniziale?
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
// quanta acqua c'è nella PM finale?
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + 100)) * 100;
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
// quanta farina c'è nella PM finale?
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
// come devo modificare l'acqua prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
// se il delta acqua è negativo lo aggiungo
// altrimenti lo tolgo
if (deltaAcquaPM < 0){
qAcquaImpastoFinale += deltaAcquaPM;
}
else{
qAcquaImpastoFinale -= deltaAcquaPM;
}
// come devo modificare la farina prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
// se il delta farina è negativo lo aggiungo
// altrimenti lo tolgo
if (deltaFarinaPM < 0){
qFarinaImpastoFinale -= deltaFarinaPM;
}
else{
qFarinaImpastoFinale += deltaFarinaPM;
}
if(vIdratazionePmFinale == 100) {
risultato += "PM liquida 100% gr " + vQuantitaPmFinale.toString();
risultato += "<br>";
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
risultato += "<br>";
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
}
else {
// CASO PM LIQUIDA FINALE AL 130%
// quanta acqua c'è nella PM solida iniziale?
var qAcquaPmPartenza = (vQuantitaPmPartenza / (100 + VidratazionePmSolida)) * VidratazionePmSolida
qAcquaPmPartenza = qAcquaPmPartenza.toFixed(0);
// quanta farina c'è nella PM solida iniziale?
var qFarinaPmPartenza = vQuantitaPmPartenza - qAcquaPmPartenza;
// quanta acqua c'è nella PM finale?
var qAcquaPmFinale = (vQuantitaPmFinale / (100 + 130)) * 130;
qAcquaPmFinale = qAcquaPmFinale.toFixed(0);
// quanta farina c'è nella PM finale?
var qFarinaPmFinale = vQuantitaPmFinale - qAcquaPmFinale;
// come devo modificare l'acqua prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra l'acqua della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaAcquaPM = qAcquaPmPartenza - qAcquaPmFinale;
// ...e la aggiungo/tolgo all'acqua dell'impasto della ricetta originale
var qAcquaImpastoFinale = vQuantitaAcquaPartenza;
// se il delta acqua è negativo lo aggiungo
// altrimenti lo tolgo
if (deltaAcquaPM < 0) {
qAcquaImpastoFinale += deltaAcquaPM;
}
else {
qAcquaImpastoFinale -= deltaAcquaPM;
}
// come devo modificare la farina prevista dalla ricetta originale?
// devo aggiungere/togliere la differenza tra la farina della PM di partenza e quella finale
// quindi calcolo tale differenza...
var deltaFarinaPM = qFarinaPmPartenza - qFarinaPmFinale;
// ...e la aggiungo/tolgo alla farina dell'impasto della ricetta originale
var qFarinaImpastoFinale = vQuantitaFarinaPartenza;
// se il delta farina è negativo lo aggiungo
// altrimenti lo tolgo
if (deltaFarinaPM < 0) {
qFarinaImpastoFinale -= deltaFarinaPM;
}
else {
qFarinaImpastoFinale += deltaFarinaPM;
}
risultato += "PM liquida 130% gr " + vQuantitaPmFinale.toString();
risultato += "<br>";
risultato += "Farina gr " + qFarinaImpastoFinale.toString();
risultato += "<br>";
risultato += "Acqua gr " + qAcquaImpastoFinale.toString();
}
}
return risultato;
},
convertiLDB: function(){
// dichiaro e inizializzo la variabile che conterrà il risultato dell'elaborazione
var risultato = "";
// dichiaro e inizializzo la variabile che conterrà la quantità di farina da usare
var vQuantitaFarinaDaUsare = 0;
// dichiaro e inizializzo la variabile che conterrà la quantità di acqua da usare
var vQuantitaAcquaDaUsare = 0;
// dichiaro e inizializzo la variabile per la quantità di farina presente nella PM da usare
var qFarinaPmDaUsare = 0;
// dichiaro e inizializzo la variabile per la quantità di acqua presente nella PM da usare
var qAcquaPmDaUsare = 0;
// ricavo la quantità di LDB della ricetta originale
var vQuantitaLdbPartenza = parseInt(this.$el.find("#qtaLvStart").val());
// ricavo l'idratazione della PM da usare
var vIdratazionePmFinale = 50;
if(this.$el.find("#typeLvDest").val() == "lic100" )
vIdratazionePmFinale = 100;
else if(this.$el.find("#typeLvDest").val() == "lic130" )
vIdratazionePmFinale = 130;
// ricavo la quantità di farina della ricetta originale
var vQuantitaFarinaPartenza = parseInt(this.$el.find("#qtaFarina").val());
// ricavo la quantità di acqua della ricetta originale
var vQuantitaAcquaPartenza = parseInt(this.$el.find("#qtaLiquidi").val());
// ricavo la quantità di PM da usare
var vQuantitaPmDaUsare = parseInt(this.$el.find("#qtaLvlAlt").val());
// quanta acqua c'è nella PM da usare?
var qAcquaPmDaUsare = (vQuantitaPmDaUsare / (100 + vIdratazionePmFinale)) * vIdratazionePmFinale;
qAcquaPmDaUsare = qAcquaPmDaUsare.toFixed(0);
// ricavo la quantità di farina presente nella PM da usare
qFarinaPmDaUsare = vQuantitaPmDaUsare - qAcquaPmDaUsare;
// diminuisco la farina della ricetta originale di una quantità pari a quella presente nella PM da usare
vQuantitaFarinaDaUsare = vQuantitaFarinaPartenza - qFarinaPmDaUsare;
// diminuisco l'acqua della ricetta originale di una quantità pari a quella presente nella PM da usare
vQuantitaAcquaDaUsare = vQuantitaAcquaPartenza - qAcquaPmDaUsare;
// costruisco la stringa del risultato
risultato += "PM gr " + vQuantitaPmDaUsare.toString();
risultato += "<br>";
risultato += "Farina gr " + vQuantitaFarinaDaUsare.toString();
risultato += "<br>";
risultato += "Acqua gr " + vQuantitaAcquaDaUsare.toString();
return risultato;
},
impostaPmConsigliata: function(){
var dummy = "";
// dichiaro e inizializzo la variabile per la quantità consigliata di pasta madre
var vQuantitaPmConsigliata = 0;
if(this.$el.find("#typeLvStart").val() == "pm")
{
vQuantitaPmConsigliata = ((parseInt(this.$el.find("#qtaLvStart").val()) / 3) * 2);
}
else if(this.$el.find("#typeLvStart").val() == "lic100" ||
this.$el.find("#typeLvStart").val() == "lic130")
{
vQuantitaPmConsigliata = ((parseInt(this.$el.find("#qtaLvStart").val()) / 2) * 3);
}
else {
// dichiaro e inizializzo la variabile per la quantità di lievito di birra
var vQuantitaLdbPartenza = 0;
// dichiaro e inizializzo la variabile per il tipo di lievito di birra
var vTipoLdbPartenza = "";
// dichiaro e inizializzo la variabile per la quantità consigliata di pasta madre massima ammessa
var vQuantitaPmConsigliataMax = 0;
// imposto il rapporto percentuale di default PM solida/Farina... ma è solo orientativo
var rapportoPmSolidaFarina = 25;
// imposto il rapporto percentuale di default PM liquida 100%/Farina... ma è solo orientativo
var rapportoPm100Farina = 16.5;
// imposto il rapporto percentuale di default PM liquida 100%/Farina... ma è solo orientativo
var rapportoPm130Farina = 16.5;
// ricavo la quantità di farina della ricetta originale
var vQuantitaFarinaPartenza = parseInt(this.$el.find('#qtaFarina').val());
// ricavo l'idratazione della PM da usare
var vIdratazionePmFinale = 0;
switch (this.$el.find("#typeLvDest").val()) {
case "pm":
vTipoPmFinale = "SOLIDA";
vIdratazionePmFinale = 50;
break;
case "lic100":
vTipoPmFinale = "LIQUIDA";
vIdratazionePmFinale = 100;
break;
case "lic130":
vTipoPmFinale = "LIQUIDA";
vIdratazionePmFinale = 130;
break;
default:
vTipoPmFinale = "";
}
// altrimenti faccio il rapporto partendo dalla quantità del lievito di birra
// ricavo la quantità di lievito di birra
vQuantitaLdbPartenza = parseInt(this.$el.find('#qtaLvStart').val());
// ricavo il tipo di lievito di birra
vTipoLdbPartenza = this.$el.find("#typeLvStart").val();
if (!isNaN(vQuantitaLdbPartenza)) {
if (vQuantitaLdbPartenza > 0) {
if (vTipoLdbPartenza == "ldbs") {
// 6 ldb = 240 PM
vQuantitaPmConsigliata = (240 / 6) * vQuantitaLdbPartenza;
}
else {
// 15 ldb = 240 PM
vQuantitaPmConsigliata = (240 / 15) * vQuantitaLdbPartenza;
}
// SE IL RISULTATO OTTENUTO E' IRRAGIONEVOLE LO CORREGGO
switch (this.$el.find('#typeLvDest').val()) {
case "pm":
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPmSolidaFarina;
break;
case "lic100":
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPm100Farina;
break;
case "lic130":
vQuantitaPmConsigliataMax = (vQuantitaFarinaPartenza / 100) * rapportoPm130Farina;
break;
default:
vQuantitaPmConsigliataMax = 0;
}
if (vQuantitaPmConsigliata > vQuantitaPmConsigliataMax) {
vQuantitaPmConsigliata = vQuantitaPmConsigliataMax;
}
}
else {
vQuantitaPmConsigliata = 0;
alert("Impossibile calcolare\nAccertati di aver scritto bene la quantita'\ndi lievito di birra nella ricetta originale.");
}
}
else {
vQuantitaPmConsigliata = 0;
alert("Impossibile calcolare\nAccertati di aver scritto bene la quantita'\ndi lievito di birra nella ricetta originale.");
}
}
return vQuantitaPmConsigliata;
},
//render the content into div of view
render: function(){
//this.header.title = "pippo";
ConverterView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
var self = this;
this.$el.append(this.header.$el);
this.$el.append(this.template({ deviceWidth: myManifest.Settings.Device.Width }));
this.$el.append(this.footer.$el);
//this.$el.find("#popupConvertResult").css("max-width", myManifest.Settings.Device.Width + "px" );
jQuery.validator.addMethod("cRequired", $.validator.methods.required,
"Il campo è richiesto, si prega di completarlo");
jQuery.validator.addMethod("requireIf", function(value, element, params) {
if(self.$el.find('#typeLvStart').val() != "ldbf" &&
self.$el.find('#typeLvStart').val() != "ldbs")
{
return value!="";
}
return true;
}, jQuery.validator.format("Il campo è richiesto, si prega di completarlo"));
jQuery.validator.addClassRules("cRequireIf", {
requireIf: true
});
jQuery.validator.addClassRules("cRequired", {
cRequired: true
});
this.$el.find("#inputForm").validate({
submitHandler: function() {
self.calculateConvert();
}
});
this.$el.find("#moreBtn").addClass("ui-btn-active");
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
}
});
return ConverterView;
});
@@ -1,57 +0,0 @@
<div data-role="content">
<h1>Convertitore</h1>
<form id="inputForm">
<label for="typeLvStart">Tipo lievito della ricetta originale:</label>
<select name="typeLvStart" id="typeLvStart" data-theme="a" class="cRequired">
<option value="">Selezionare il tipo di lievito</option>
<option value="ldbf">Lievito di Birra Fresco</option>
<option value="ldbs">Lievito di Birra Secco</option>
<option value="pm">PM Solida</option>
<option value="lic100">PM Liquida 100% (Li.Co.Li.)</option>
<option value="lic130">PM Liquida 130% (Li.Co.Li.)</option>
</select>
<br>
<label for="qtaLvStart">Lievito nella ricetta originale:</label>
<input type="number" data-clear-btn="false" name="qtaLvStart" id="qtaLvStart" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
<br>
<label for="typeLvDest">Tipo lievito che si vuole utilizzare:</label>
<select name="typeLvDest" id="typeLvDest" data-theme="a" class="cRequired">
<option value="">Selezionare il tipo di lievito</option>
<option value="pm">PM Solida</option>
<option value="lic100">PM Liquida 100% (Li.Co.Li.)</option>
<option value="lic130">PM Liquida 130% (Li.Co.Li.)</option>
</select>
<br>
<label for="qtaFarina">Farina per l'impasto nella ricetta originale:</label>
<input type="number" data-clear-btn="false" name="qtaFarina" id="qtaFarina" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
<br>
<label for="qtaLiquidi">Liquidi (acqua, latte...) per l'impasto nella ricetta originale:</label>
<input type="number" data-clear-btn="false" name="qtaLiquidi" id="qtaLiquidi" value="" placeholder="Specificare quantità in grammi" data-theme="a" class="cRequired">
<br>
<!-- <label for="qtaLvlAlt">Lievito alternativo rispetto alla ricetta originale che intendi usare:</label>-->
<input type="hidden" data-clear-btn="false" name="qtaLvlAlt" id="qtaLvlAlt" value="" placeholder="Specificare quantità in grammi" data-theme="a" disabled="disabled">
<br>
<button type="submit" id="calculate" class="ui-shadow ui-btn ui-corner-all" data-theme="a">Calcola</button>
</form>
<div data-role="popup" id="popupConvertResult" data-dismissible="false" style="width: 300px;max-width: <%= deviceWidth%>px">
<div data-role="header">
<h1>Conversione</h1>
</div>
<div role="main" class="ui-content">
<h3 class="ui-title" id="result" style="text-align: center;"></h3>
<p style="text-align: center;font-style: italic;"><br><br>IMPORTANTE<br><br>
La quantità consigliata è da ritenersi
<br>
assolutamente indicativa in quanto la scelta
<br>
dovrebbe essere fatta sulla base
<br>
dell'esperienza, del particolare impasto
<br>
e delle condizioni ambientali di temperatura
<br>
e umidità</p>
<a href="" class="ui-btn ui-corner-all ui-shadow ui-btn-b ui-icon-check" data-rel="back">Ok</a>
</div>
</div>
</div>
+21 -3
View File
@@ -1,5 +1,7 @@
define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, homeViewTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.html',
'modules/base/baseView', 'classes/profile', 'classes/utility', 'model/lastRicette/lastRicetteCollection', 'modules/lastricette/lastRicette'],
function($, _, Backbone, homeViewTemplate,
BaseView, Profile, Utility, LastRicetteCollection, LastRicette ){
var HomeView = BaseView.extend({
@@ -12,7 +14,8 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
},
events: {
"click #goFbGroup": "goFbGroup"
"click #goFbGroup": "goFbGroup",
"click #notifyBtn": "onNotifyBtn"
},
goFbGroup: function(){
@@ -20,6 +23,14 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
window.location.href = "https://www.facebook.com/groups/732844273469518/";
},
onNotifyBtn:function(){
var lastricette = new LastRicetteCollection();
// will render home view and navigate to homeView
var lastRicetteView=new LastRicette({ collection: lastricette});
//indexView.render();
lastRicetteView.bind('renderCompleted:Categories',Utility.changePage,this);
},
onShowed: function()
{
if(window.localStorage.getItem("goFbGroup") !== "1")
@@ -38,6 +49,13 @@ define(['jquery', 'underscore', 'backbone','text!modules/home/homeViewTemplate.h
this.$el.append(this.footer.$el);
this.$el.find("#homeBtn").addClass("ui-btn-active");
var lastNumRicette = Profile.getLastNumRicette();
//if( lastNumRicette > 0)
{
this.$el.find('#notifyBtn').closest('.ui-btn').show();
this.$el.find('#notifyBtn').addClass("notification");
this.$el.find('.circle').text(12);
}
//$("#homeBtn").addClass("ui-btn-active");
//return to enable chained calls
return this;
+1 -1
View File
@@ -9,7 +9,7 @@
</div>
<div data-role="popup" id="nuovoGruppo" data-history="false" data-dismissible="false">
<div data-role="header"><h1>IMPORTANTE</h1></div>
    <div role="main" class="ui-content">
<div role="main" class="ui-content">
<p style="text-align: center;font-style: italic;">
<img src="https://dl.dropboxusercontent.com/s/xnbrbbe7eejkfv2/festa.png"><br><br>
Le admin <br><br><b>Alessia, Elena e Francesca</b><br><br>hanno RIFONDATO IL GRUPPO!!<br>
+91 -23
View File
@@ -1,17 +1,14 @@
define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, itemViewTemplate, BaseView, Profile){
define(['jquery', 'underscore', 'backbone', 'text!modules/item/itemViewTemplate.html', 'modules/base/baseView', 'classes/profile'],
function($, _, Backbone, itemViewTemplate, BaseView, Profile) {
var ItemView = BaseView.extend({
collRicetta: null,
collIngredienti: null,
fetchedRicetta: false,
fetchedIngredienti: false,
//initialize template
template:_.template(itemViewTemplate),
initialize: function (options) {
template: _.template(itemViewTemplate),
initialize: function(options) {
var self = this;
ItemView.__super__.initialize.call(this);
this.collRicetta = options.collRicetta;
@@ -26,23 +23,93 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
self.render();
}});
},
events: {
"click #favoriteBtn": "favBtn",
"click #backBtn": "backBtn"
"click #optionBtn": "optionBtn",
"click #backBtn": "backBtn",
"click #scattaPhotoBtn": "scattaPhotoBtn",
"change #cameraFile": "cameraFileChanged",
"click #uploadPhotoBtn": "uploadPhotoBtn",
"change #galleyFile": "galleyFileChanged"
},
backBtn:function(e){
backBtn: function(e) {
e.preventDefault();
window.history.back();
},
optionBtn: function(e) {
e.preventDefault();
var self = this;
self.$el.find('#optionPopupDialog').popup("open");
},
scattaPhotoBtn: function(e) {
e.preventDefault();
var self = this;
favBtn:function(e){
if (!Profile.isConnected())
{
self.$el.find('#popupDialog').popup("open");
return;
}
$("#cameraFile").click();
},
uploadPhotoBtn: function(e) {
e.preventDefault();
var self = this;
if (!Profile.isConnected())
{
self.$el.find('#popupDialog').popup("open");
return;
}
$("#galleyFile").click();
},
loadPhoto: function(objInputFile){
var self = this;
self.$el.find('#optionPopupDialog').popup("close");
$.mobile.loading( "show", {
text: "Caricamento immagine in corso...",
textVisible: true,
theme: "a",
textonly: false
});
var ric = this.collRicetta.toJSON()[0];
var data = new FormData();
data.append("ricetta_id", ric.ricetta_id);
data.append("image", objInputFile[0].files[0]);
data.append("keyStore", Profile.getKeySave());
$.ajax({
url: myManifest.Settings.DefaultURL + "/api/photos",
cache: false,
contentType: false,
processData: false,
type: 'POST',
data: data,
success: function(msg) {
$.mobile.loading( "hide" );
alert("Immagine inviata con successo\n\nSarà cura degl'admin di validare la foto inviata");
objInputFile.val("");
}
});
},
galleyFileChanged: function(e) {
e.preventDefault();
this.loadPhoto($("#galleyFile"));
},
cameraFileChanged: function(e) {
e.preventDefault();
this.loadPhoto($("#cameraFile"));
},
favBtn: function(e) {
e.preventDefault();
var self = this;
var ric = this.collRicetta.toJSON()[0];
if(!Profile.isConnected())
if (!Profile.isConnected())
{
self.$el.find('#popupDialog').popup("open");
return;
@@ -56,8 +123,8 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
);
},
//render the content into div of view
render: function(){
if(this.fetchedIngredienti && this.fetchedRicetta )
render: function() {
if (this.fetchedIngredienti && this.fetchedRicetta)
{
ItemView.__super__.render.call(this);
var self = this;
@@ -75,12 +142,12 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
self.$arrayNavBar = self.$el.find('div[data-role="navbar"] a');
var favBtn = self.$el.find('#favoriteBtn');
if(exist > 0)
if (exist > 0)
favBtn.addClass('ui-disabled');
self.$arrayNavBar.on("click", function(e){
self.$arrayNavBar.on("click", function(e) {
e.preventDefault();
var index = jQuery.inArray( this , self.$arrayNavBar);
var index = jQuery.inArray(this, self.$arrayNavBar);
self.goToContent(index);
});
@@ -92,7 +159,10 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
var index = jQuery.inArray(this, self.$arrayContent);
self.goToContent(index - 1 );
});
self.trigger("renderCompleted:Item",self);
// self.$arrayContent.on("tap", function(e) {
// self.optionBtn(e);
// });
self.trigger("renderCompleted:Item", self);
}
);
@@ -106,8 +176,7 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
return this;
}
},
goToContent:function(newIndex)
goToContent: function(newIndex)
{
if(this.$arrayContent.length > newIndex && newIndex >= 0)
{
@@ -115,8 +184,7 @@ define(['jquery', 'underscore', 'backbone','text!modules/item/itemViewTemplate.h
this.switchContent();
}
},
switchContent: function(){
switchContent: function() {
this.$arrayContent.hide();
this.$arrayNavBar.removeClass('ui-btn-active');
this.$arrayNavBar.removeClass('ui-state-persist');
+14 -2
View File
@@ -1,7 +1,7 @@
<div data-role="header" data-position="fixed" data-tap-toggle="false">
<a id="favoriteBtn" href="" data-role="button" class="ui-btn-left" data-icon="custom" style="font-size: x-small;">Agg. al Blocco</a>
<a id="optionBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext"></a>
<h3 id='titoloRicetta'><%= unescape(ricetta.titolo)%></h3>
<a id="backBtn" href="" data-role="button" class="ui-btn-right" data-icon="custom">Indietro</a>
<a id="backBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-notext">Indietro</a>
</div>
<div id="contentIngredienti" data-role="content">
<h1>Ingredienti</h1>
@@ -46,6 +46,18 @@
<h1 id="linkFonte" style="padding: 0px;"><a target="_blank" href="<%= ricetta.link_fonte%>">Link Fonte</a></h1>
<% }%>
</div>
<div data-role="popup" id="optionPopupDialog">
<div data-role="header">
<h1>Opzioni</h1>
</div>
<div role="main" class="ui-content">
<a id="favoriteBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Agg. al Blocco</a>
<a id="scattaPhotoBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Scatta Foto</a>
<a id="uploadPhotoBtn" href="" class="ui-btn ui-icon-withoutCorner ui-btn-icon-left">Carica Foto</a>
<input id="cameraFile" type="file" accept="image/*" capture style="position:absolute; top:-100px; visibility: hidden;">
<input id="galleyFile" type="file" accept="image/*" style="position:absolute; top:-100px; visibility: hidden;">
</div>
</div>
<div data-role="popup" id="popupDialog">
<div data-role="header">
<h1>Informazione</h1>
+49
View File
@@ -0,0 +1,49 @@
define(['jquery', 'underscore', 'backbone', 'text!modules/lastRicette/lastRicetteViewTemplate.html',
'text!modules/lastRicette/lastRicetteItemTemplate.html', 'modules/base/baseView'],
function($, _, Backbone, lastRicetteViewTemplate, lastRicetteItemTemplate, BaseView) {
var LastRicetteView = BaseView.extend({
collection: null,
//initialize template
template: _.template(lastRicetteViewTemplate),
itemtemplate: _.template(lastRicetteItemTemplate),
initialize: function(options) {
var self = this;
LastRicetteView.__super__.initialize.call(this);
this.collection = options.collection;
this.collection.fetch({
success: function(data, textStatus, jqXHR) {
self.renderItem();
}
//success: function(){ self.renderItem(); }
});
},
renderItem: function() {
var $ul = $('#allRicette');
var items = this.itemtemplate({data: this.collection.toJSON()});
$ul.html(items);
$ul.listview("refresh");
$ul.trigger("updatelayout");
$.mobile.loading('hide');
//$( '[data-alpha="true"]' ).alphascroll();
},
//render the content into div of view
render: function() {
//this.header.title = "pippo";
LastRicetteView.__super__.render.call(this);
//this.el is the root element of Backbone.View. By default, it is a div.
//$el is cached jQuery object for the view's element.
//append the compiled template into view div container
this.$el.append(this.header.$el);
this.$el.append(this.template());
this.$el.append(this.footer.$el);
//return to enable chained calls
//this.$el.find("#indexBtn").addClass("ui-btn-active");
return this;
}
});
return LastRicetteView;
});
@@ -0,0 +1,6 @@
<% if(data.length == 0){ %>
<h1>Nessuna ricetta trovata</h1>
<%} else { for (var i = 0; i < data.length; i++) { %>
<% var item = data[i]; %>
<li><a href="#ricetta/<%= item.ricetta_id%>" class="ui-btn ui-btn-icon-right ui-icon-carat-r"><div class='ricettaTitolo'><%= unescape(item.titolo) %></div><div class='ricettaAutore'><%= unescape(item.autore) %></div></a></li>
<% }} %>
@@ -0,0 +1,5 @@
<div id="lastRicetteListContent" data-role="content">
<h1>Ultime Ricette Inserite</h1>
<ul id="allRicette" data-role="listview" data-autodividers="true" data-alpha="true" data-inset="true">
</ul>
</div>
+71 -92
View File
@@ -1,17 +1,17 @@
define(['jquery', 'underscore', 'backbone',
'modules/home/home', 'modules/faq/faq', 'modules/index/index', 'modules/category/category', 'modules/item/item',
'modules/home/home','modules/faq/faq','modules/index/index', 'modules/category/category', 'modules/item/item',
'modules/about/about', 'modules/search/search', 'modules/search/found', 'modules/more/more', 'modules/note/note',
'modules/sync/sync', 'modules/converter/converter', 'modules/donation/donation', 'modules/settings/settings',
'model/note/noteCollection', 'model/category/categoryCollection', 'model/categoryItem/categoryItemCollection',
'model/item/itemCollection', 'model/item/ingredientiCollection', 'model/categoryItem/foundItemCollection',
'libs/fastclick', 'jqm', 'jQueryPlugins'],
function ($, _, Backbone,
'modules/sync/sync', 'modules/donation/donation','modules/settings/settings',
'model/note/noteCollection', 'model/category/categoryCollection','model/categoryItem/categoryItemCollection',
'model/item/itemCollection','model/item/ingredientiCollection','model/categoryItem/foundItemCollection',
'classes/utility', 'jqm', 'jQueryPlugins'],
function($, _, Backbone,
HomeView, FaqView, IndexView, CategoryView, ItemView,
AboutView, SearchView, FoundView, MoreView, NoteView,
SyncView, ConverterView, DonationView, SettingsView,
SyncView, DonationView, SettingsView,
NoteCollection, CategoryCollection, CategoryItemCollection,
ItemCollection, IngredientiCollection, FoundItemCollection,
FastClick) {
Utility) {
'use strict';
var Router = Backbone.Router.extend({
@@ -21,10 +21,10 @@ define(['jquery', 'underscore', 'backbone',
'homeView': 'showHome', //home view as well
'faqView': 'showFaq', //home view as well
'indexView': 'showIndex', //home view as well
'category/:categoryName/:categoryId': 'showCategory',
'ricetta/:itemId': 'showItem',
'aboutView': 'showAbout',
'syncView(/)*founded': 'showSync',
'category/:categoryName/:categoryId' : 'showCategory',
'ricetta/:itemId' : 'showItem',
'aboutView' : 'showAbout',
'syncView(/)*founded' : 'showSync',
'noteView': 'showNote',
'searchView': 'showSearch',
'settingsView': 'showSettings',
@@ -34,71 +34,81 @@ define(['jquery', 'underscore', 'backbone',
'moreView': 'showMore',
'*actions': 'defaultAction' //default action
},
defaultAction: function (actions) {
defaultAction: function(actions){
this.showHome(actions);
},
showHome: function (actions) {
showHome:function(actions){
// will render home view and navigate to homeView
var homeView = new HomeView();
var homeView=new HomeView();
homeView.render();
this.changePage(homeView);
},
showSettings: function (actions) {
var settingsView = new SettingsView();
showSettings:function(actions){
var settingsView=new SettingsView();
settingsView.render();
this.changePage(settingsView);
},
showDonation: function (actions) {
var donationView = new DonationView();
showDonation:function(actions){
var donationView=new DonationView();
donationView.render();
this.changePage(donationView);
},
showAbout: function (actions) {
showAbout:function(actions){
// will render home view and navigate to homeView
var aboutView = new AboutView();
var aboutView=new AboutView();
aboutView.render();
this.changePage(aboutView);
},
showSync: function (actions) {
showSync:function(actions){
var option = {};
if (actions)
if(actions)
{
option = {tokenFound: 1};
option = { tokenFound: 1 };
}
// will render home view and navigate to homeView
var syncView = new SyncView(option);
var syncView=new SyncView(option);
syncView.render();
this.changePage(syncView);
},
showNote: function (actions) {
showNote:function(actions){
var notes = new NoteCollection();
// will render home view and navigate to homeView
var noteView = new NoteView({collection: notes});
var noteView=new NoteView({collection: notes});
noteView.render();
this.changePage(noteView);
},
showFaq: function (actions) {
showFaq:function(actions){
// will render home view and navigate to homeView
var faqView = new FaqView();
var faqView=new FaqView();
faqView.render();
this.changePage(faqView);
},
showIndex: function (actions) {
showIndex:function(actions){
var categories = new CategoryCollection();
// will render home view and navigate to homeView
var indexView = new IndexView({collection: categories});
var indexView=new IndexView({ collection: categories});
//indexView.render();
indexView.bind('renderCompleted:Categories', this.changePage, this);
indexView.bind('renderCompleted:Categories',this.changePage,this);
},
showCategory: function (categoryName, categoryId) {
var categories = new CategoryItemCollection({categoryId: categoryId});
showCategory: function(categoryName, categoryId){
var categories = new CategoryItemCollection({ categoryId: categoryId });
// will render home view and navigate to homeView
var categoryView = new CategoryView({categoryName: categoryName, collection: categories});
var categoryView=new CategoryView({ categoryName: categoryName, collection: categories});
categoryView.render();
this.changePage(categoryView);
$.mobile.loading('show', {
$.mobile.loading( 'show', {
text: 'Caricamento categoria ' + categoryName + '...',
textVisible: true,
//theme: 'z',
@@ -106,98 +116,67 @@ define(['jquery', 'underscore', 'backbone',
});
//categoryView.bind('renderCompleted:Category',this.changePage,this);
},
showItem: function (itemId) {
var item = new ItemCollection({ricettaId: itemId});
var ingr = new IngredientiCollection({ricettaId: itemId});
showItem: function(itemId){
var item = new ItemCollection({ ricettaId: itemId });
var ingr = new IngredientiCollection({ ricettaId: itemId });
// will render home view and navigate to homeView
var itemView = new ItemView({
var itemView=new ItemView({
collRicetta: item,
collIngredienti: ingr
});
//indexView.render();
itemView.bind('renderCompleted:Item', this.changePage, this);
itemView.bind('renderCompleted:Item',this.changePage,this);
},
showConverter: function () {
var converterView = new ConverterView();
converterView.render();
this.changePage(converterView);
},
showMore: function () {
showMore: function(){
var moreView = new MoreView();
moreView.render();
this.changePage(moreView);
},
showSearch: function () {
showSearch: function(){
var categories = new CategoryCollection();
// will render home view and navigate to homeView
var searchView = new SearchView({collection: categories});
var searchView=new SearchView({ collection: categories});
//indexView.render();
searchView.bind('renderCompleted:Search', this.changePage, this);
searchView.bind('renderCompleted:Search',this.changePage,this);
},
searchFn: function (nresult, categoria, difficolta, titolo) {
searchFn: function(nresult, categoria, difficolta, titolo){
//console.log("Search by Titolo: " + titolo + ", Categoria: " + categoria + ", Difficoltà: " + difficolta);
var foundedItems = new FoundItemCollection({categoryId: categoria, difficolta: difficolta, titolo: titolo, nResult: nresult});
var foundView = new FoundView({collection: foundedItems});
var foundedItems = new FoundItemCollection({ categoryId: categoria, difficolta: difficolta, titolo: titolo, nResult:nresult });
var foundView = new FoundView({ collection: foundedItems });
foundView.render();
this.changePage(foundView);
$.mobile.loading('show', {
$.mobile.loading( 'show', {
text: 'Caricamento ricerca ricette...',
textVisible: true,
//theme: 'z',
html: ""
});
},
init: true,
init:true,
//1. changePage will insert view into DOM and then call changePage to enhance and transition
//2. for the first page, jQuery mobile will present and enhance automatically
//3. for the other page, we will call $.mobile.changePage() to enhance page and make transition
//4. argument 'view' is passed from event trigger
changePage: function (view) {
changePage:function (view) {
//append to dom
$('body').append(view.$el);
Utility.changePage(view);
$.mobile.pageContainer.pagecontainer("change", $(view.el), {changeHash: false});
if(!this.init){
FastClick.attach(document.body);
$(":jqmData(role='page'):last").on("pageshow", function (event) {
if (view.onShowed !== null)
view.onShowed();
});
$('input[type=radio].star').rating({
callback: function (value, link) {
var tip = $('#hover-test');
if (value == undefined)
{
$('#hover-test').html("Nessuna" || 'value: ');
}
else
$('#hover-test').html(link.title || 'value: ' + value);
},
focus: function (value, link) {
var tip = $('#hover-test');
tip[0].data = tip[0].data || tip.html();
tip.html(link.title || 'value: ' + value);
}
// ,
// blur: function(value, link){
// var tip = $('#hover-test');
// $('#hover-test').html(tip[0].data || '');
// }
});
if (!this.init) {
} else {
}else{
this.init = false;
}
}
});
return Router;
});
});
+2
View File
@@ -1 +1,3 @@
browser=Chrome.INTEGRATED
external.project.url=
server=INTERNAL
+13 -1
View File
@@ -2,6 +2,18 @@
<project-private xmlns="http://www.netbeans.org/ns/project-private/1">
<editor-bookmarks xmlns="http://www.netbeans.org/ns/editor-bookmarks/2" lastBookmarkId="0"/>
<open-files xmlns="http://www.netbeans.org/ns/projectui-open-files/2">
<group/>
<group>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/manifest.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/config.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicetteViewTemplate.html</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/router.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/app.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/classes/profile.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/jqm-config.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicette.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/main.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/home/home.js</file>
<file>file:/E:/Sviluppo/IlLievitario/WebClient/js/modules/lastricette/lastRicetteItemTemplate.html</file>
</group>
</open-files>
</project-private>
+4
View File
@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<catalog xmlns="urn:oasis:names:tc:entity:xmlns:xml:catalog" prefer="system">
<system systemId="http://www.sitemaps.org/schemas/sitemap/0.9" uri="www.sitemaps.org/schemas/sitemap/0.9/index"/>
</catalog>
@@ -0,0 +1,3 @@
<html><head><title>www.sitemaps.org - /schemas/sitemap/0.9/</title></head><body><H1>www.sitemaps.org - /schemas/sitemap/0.9/</H1><hr>
<pre><A HREF="/schemas/sitemap/">[To Parent Directory]</A><br><br> 2/1/2013 8:18 PM 2591 <A HREF="/schemas/sitemap/0.9/siteindex.xsd">siteindex.xsd</A><br> 2/1/2013 8:19 PM 4451 <A HREF="/schemas/sitemap/0.9/sitemap.xsd">sitemap.xsd</A><br></pre><hr></body></html>
+16 -2
View File
@@ -1,3 +1,17 @@
file.reference.IlLievitario-WebClient_210=.
auxiliary.org-netbeans-modules-css-prep.less_2e_compiler_2e_options=
auxiliary.org-netbeans-modules-css-prep.less_2e_enabled=false
auxiliary.org-netbeans-modules-css-prep.less_2e_mappings=/less:/css
auxiliary.org-netbeans-modules-css-prep.sass_2e_compiler_2e_options=
auxiliary.org-netbeans-modules-css-prep.sass_2e_enabled=false
auxiliary.org-netbeans-modules-css-prep.sass_2e_mappings=/scss:/css
auxiliary.org-netbeans-modules-javascript2-requirejs.enabled=true
auxiliary.org-netbeans-modules-web-clientproject-api.js_2e_libs_2e_folder=app-build_prod/libs
browser.autorefresh.SL[/Browsers/webviewBrowser=true
browser.highlightselection.SL[/Browsers/webviewBrowser=true
config.folder=
file.reference.IlLievitario-WebClient=.
files.encoding=UTF-8
site.root.folder=${file.reference.IlLievitario-WebClient_210}
site.root.folder=${file.reference.IlLievitario-WebClient}
start.file=index.php
test.folder=
web.context.root=/WebClient
+1 -1
View File
@@ -3,7 +3,7 @@
<type>org.netbeans.modules.web.clientproject</type>
<configuration>
<data xmlns="http://www.netbeans.org/ns/clientside-project/1">
<name>WebClient_Manut</name>
<name>Il Lievitario</name>
</data>
</configuration>
</project>
+15 -14
View File
@@ -1,5 +1,5 @@
/**
* @license r.js 2.1.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
* @license r.js 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license.
* see: http://github.com/jrburke/requirejs for details
*/
@@ -20,7 +20,7 @@ var requirejs, require, define, xpcUtil;
(function (console, args, readFileFunc) {
var fileName, env, fs, vm, path, exec, rhinoContext, dir, nodeRequire,
nodeDefine, exists, reqMain, loadedOptimizedLib, existsForNode, Cc, Ci,
version = '2.1.14',
version = '2.1.15',
jsSuffixRegExp = /\.js$/,
commandOption = '',
useLibLoaded = {},
@@ -238,7 +238,7 @@ var requirejs, require, define, xpcUtil;
}
/** vim: et:ts=4:sw=4:sts=4
* @license RequireJS 2.1.14 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
* @license RequireJS 2.1.15 Copyright (c) 2010-2014, The Dojo Foundation All Rights Reserved.
* Available via the MIT or new BSD license.
* see: http://github.com/jrburke/requirejs for details
*/
@@ -251,7 +251,7 @@ var requirejs, require, define, xpcUtil;
(function (global) {
var req, s, head, baseElement, dataMain, src,
interactiveScript, currentlyAddingScript, mainScript, subPath,
version = '2.1.14',
version = '2.1.15',
commentRegExp = /(\/\*([\s\S]*?)\*\/|([^:]|^)\/\/(.*)$)/mg,
cjsRequireRegExp = /[^.]\s*require\s*\(\s*["']([^'"\s]+)["']\s*\)/g,
jsSuffixRegExp = /\.js$/,
@@ -22949,7 +22949,7 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
//Like traverse, but skips if branches that would not be processed
//after has application that results in tests of true or false boolean
//literal values.
var key, child, result, i, params, param,
var key, child, result, i, params, param, tempObject,
hasHas = options && options.has;
fnExpScope = fnExpScope || emptyScope;
@@ -22979,14 +22979,14 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
//Build up a "scope" object that informs nested recurse calls if
//the define call references an identifier that is likely a UMD
//wrapped function expresion argument.
//wrapped function expression argument.
if (object.type === 'ExpressionStatement' && object.expression &&
object.expression.type === 'CallExpression' && object.expression.callee &&
object.expression.callee.type === 'FunctionExpression') {
object = object.expression.callee;
tempObject = object.expression.callee;
if (object.params && object.params.length) {
params = object.params;
if (tempObject.params && tempObject.params.length) {
params = tempObject.params;
fnExpScope = mixin({}, fnExpScope, true);
for (i = 0; i < params.length; i++) {
param = params[i];
@@ -23014,12 +23014,12 @@ define('parse', ['./esprimaAdapter', 'lang'], function (esprima, lang) {
//wrapping.
if (typeof result === 'string') {
if (hasProp(fnExpScope, result)) {
//Just a plain return, parsing can continue past this
//point.
return;
//result still in scope, keep jumping out indicating the
//identifier still in use.
return result;
}
return result;
return;
}
}
};
@@ -26539,7 +26539,8 @@ define('build', function (require) {
"excludeShallow": true,
"insertRequire": true,
"stubModules": true,
"deps": true
"deps": true,
"mainConfigFile": true
};
for (i = 0; i < ary.length; i++) {
+63
View File
@@ -0,0 +1,63 @@
<?php
/**
* XML Sitemap PHP Script
* For more info, see: http://yoast.com/xml-sitemap-php-script/
* Copyright (C), 2011 - 2012 - Joost de Valk, [email protected]
*/
// inclusione del file contenente la classe
require_once "./Service/MySqlClass.php";
require_once "./Service/utility.php";
// Get the keys so we can check quickly
// Sent the correct header so browsers display properly, with or without XSL.
header( 'Content-Type: application/xml' );
echo '<?xml version="1.0" encoding="utf-8"?>' . "\n";
$url = "http://app.gruppolapastamadre.it/";
$blog_timezone = 'UTC';
$timezone_offset = '+01:00';
$W3C_datetime_format_php = 'Y-m-d\Th:i:s'; // See http://www.w3.org/TR/NOTE-datetime
function dinamicSite() {
global $url, $blog_timezone, $timezone_offset, $W3C_datetime_format_php;
$mysqlconnetion = new MysqlClass;
//$mysqlconneti on->connetti();
$retObj = $mysqlconnetion->queryToObject("select ID as category_id, NAME as name from categorie order by name");
foreach ($retObj as $key => $value)
{
$catStr = "#category/". $value["name"] ."/" . $value["category_id"];
$lastModified = $mysqlconnetion->queryToObject("select MAX(Data_creazione) as lastModified from ricette where ID_CATEGORIA = ". $value["category_id"]);
$date = DateTime::createFromFormat('Y-m-d H:i:s', $lastModified[0]["lastModified"], new DateTimeZone("Europe/Rome"));
$lastDate = date_format($date, $W3C_datetime_format_php) . $timezone_offset;
?>
<url>
<loc><?php echo $url . $catStr; ?></loc>
<lastmod><?php echo $lastDate; ?></lastmod>
</url><?php
$query = "select ID as ricetta_id, titolo from ricette where ID_CATEGORIA = " . $value["category_id"] . " order by titolo, autore";
$ricItems = $mysqlconnetion->queryToObject($query);
foreach ($ricItems as $keyRic => $valueRic)
{
$itemStr= "#ricetta/" . $valueRic["ricetta_id"];
?>
<url>
<loc><?php echo $url . $itemStr; ?></loc>
</url><?php
}
}
$mysqlconnetion->disconnetti();
}
?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9"><?php
dinamicSite();
?>
</urlset>
+15
View File
@@ -0,0 +1,15 @@
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://app.gruppolapastamadre.it/</loc>
<lastmod>2014-04-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
<url>
<loc>http://app.gruppolapastamadre.it/</loc>
<lastmod>2014-04-09</lastmod>
<changefreq>monthly</changefreq>
<priority>0.8</priority>
</url>
</urlset>