Author: Fabrizio
Date: 2010-01-17 21:43:49 +0100 (Sun, 17 Jan 2010)
New Revision: 26781
Added:
plugins/sfQuizPlugin/trunk/
plugins/sfQuizPlugin/trunk/config/
plugins/sfQuizPlugin/trunk/config/app.yml
plugins/sfQuizPlugin/trunk/config/doctrine/
plugins/sfQuizPlugin/trunk/config/doctrine/schema.yml
plugins/sfQuizPlugin/trunk/config/routing.yml
plugins/sfQuizPlugin/trunk/config/settings.yml
plugins/sfQuizPlugin/trunk/config/sfQuizPluginConfiguration.class.php
plugins/sfQuizPlugin/trunk/data/
plugins/sfQuizPlugin/trunk/data/fixtures/
plugins/sfQuizPlugin/trunk/data/fixtures/quiz.yml
plugins/sfQuizPlugin/trunk/lib/
plugins/sfQuizPlugin/trunk/lib/filter/
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeTranslationFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteTranslationFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizTranslationFormFilter.class.php
plugins/sfQuizPlugin/trunk/lib/form/
plugins/sfQuizPlugin/trunk/lib/form/doctrine/
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeTranslationForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteTranslationForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizTranslationForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/nomeGiocatoreForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriCollectionForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriForm.class.php
plugins/sfQuizPlugin/trunk/lib/form/numeroGiocatoriForm.class.php
plugins/sfQuizPlugin/trunk/lib/gestioneQuiz.php
plugins/sfQuizPlugin/trunk/lib/model/
plugins/sfQuizPlugin/trunk/lib/model/doctrine/
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuiz.class.php
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomande.class.php
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomandeTable.class.php
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposte.class.php
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposteTable.class.php
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizTable.class.php
plugins/sfQuizPlugin/trunk/modules/
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/actions/
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/actions/actions.class.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/config/
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/_risposta_successiva.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/fineGiocoSuccess.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/gameSuccess.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/indexSuccess.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/nomiGiocatoriSuccess.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaGiustaSuccess.php
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaSbagliataSuccess.php
Log:
Initial commit
Added: plugins/sfQuizPlugin/trunk/config/app.yml
===================================================================
--- plugins/sfQuizPlugin/trunk/config/app.yml (rev 0)
+++ plugins/sfQuizPlugin/trunk/config/app.yml 2010-01-17 20:43:49 UTC (rev
26781)
@@ -0,0 +1,3 @@
+all:
+ max_num_giocatori: 10
+ max_length_nome_giocatore: 20
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/config/doctrine/schema.yml
===================================================================
--- plugins/sfQuizPlugin/trunk/config/doctrine/schema.yml
(rev 0)
+++ plugins/sfQuizPlugin/trunk/config/doctrine/schema.yml 2010-01-17
20:43:49 UTC (rev 26781)
@@ -0,0 +1,102 @@
+Quiz:
+ tableName: quiz
+ actAs:
+ I18n:
+ fields: [nome, descrizione]
+ columns:
+ id:
+ type: integer(4)
+ primary: true
+ autoincrement: true
+ nome:
+ type: string(50)
+ notnull: false
+ descrizione:
+ type: string(2147483647)
+ notnull: true
+QuizDomande:
+ tableName: quiz_domande
+ actAs:
+ Timestampable:
+ created:
+ name: creato_il
+ type: timestamp
+ format: Y-m-d H:i:s
+ options:
+ notnull: true
+ updated:
+ name: aggiornato_il
+ type: timestamp
+ format: Y-m-d H:i:s
+ options:
+ notnull: true
+ I18n:
+ fields: [domanda]
+ columns:
+ id:
+ type: integer(4)
+ primary: true
+ autoincrement: true
+ quiz_id:
+ type: integer(4)
+ domanda:
+ type: string(2147483647)
+ notnull: true
+ tipo_risposta:
+ type: enum(8)
+ values: ['singola', 'multipla']
+ default: 'singola'
+ notnull: true
+ immagine:
+ type: string(50)
+ notnull: true
+ argomenti_id: integer(1)
+ relations:
+ Quiz:
+ local: quiz_id
+ foreign: id
+ type: one
+ Argomenti:
+ local: argomenti_id
+ foreign: id
+ type: one
+QuizRisposte:
+ tableName: quiz_risposte
+ actAs:
+ Timestampable:
+ created:
+ name: creato_il
+ type: timestamp
+ format: Y-m-d H:i:s
+ options:
+ notnull: true
+ updated:
+ name: aggiornato_il
+ type: timestamp
+ format: Y-m-d H:i:s
+ options:
+ notnull: true
+ I18n:
+ fields: [risposta, commento]
+ columns:
+ id:
+ type: integer(4)
+ primary: true
+ autoincrement: true
+ quiz_domande_id:
+ type: integer(4)
+ default: '0'
+ notnull: true
+ risposta:
+ type: string(2147483647)
+ notnull: true
+ giusta:
+ type: boolean
+ default: false
+ notnull: true
+ commento: string(2147483647)
+ relations:
+ QuizDomande:
+ local: quiz_domande_id
+ foreign: id
+ type: one
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/config/routing.yml
===================================================================
--- plugins/sfQuizPlugin/trunk/config/routing.yml
(rev 0)
+++ plugins/sfQuizPlugin/trunk/config/routing.yml 2010-01-17 20:43:49 UTC
(rev 26781)
@@ -0,0 +1,18 @@
+quiz:
+ url: /quiz
+ param: { module: sfQuizStart, action: index }
+quiz-nomi-giocatori:
+ url: /quiz/nomi-giocatori
+ param: { module: sfQuizStart, action: nomiGiocatori }
+quiz-game:
+ url: /quiz/game
+ param: { module: sfQuizStart, action: game }
+quiz-risposta-giusta:
+ url: /quiz/risposta-giusta
+ param: { module: sfQuizStart, action: rispostaGiusta }
+quiz-risposta-sbagliata:
+ url: /quiz/risposta-sbagliata
+ param: { module: sfQuizStart, action: rispostaSbagliata }
+quiz-fine:
+ url: /quiz/fine-gioco
+ param: { module: sfQuizStart, action: fineGioco }
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/config/settings.yml
===================================================================
--- plugins/sfQuizPlugin/trunk/config/settings.yml
(rev 0)
+++ plugins/sfQuizPlugin/trunk/config/settings.yml 2010-01-17 20:43:49 UTC
(rev 26781)
@@ -0,0 +1,4 @@
+all:
+ .settings:
+ enabled_modules:
+ - sfQuizStart
Added: plugins/sfQuizPlugin/trunk/config/sfQuizPluginConfiguration.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/config/sfQuizPluginConfiguration.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/config/sfQuizPluginConfiguration.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,8 @@
+<?php
+class sfQuizPluginConfiguration extends sfPluginConfiguration
+{
+ public function initialize()
+ {
+ $this->dispatcher->connect('user.method_not_found', array('QuizStart',
'methodNotFound'));
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/data/fixtures/quiz.yml
===================================================================
--- plugins/sfQuizPlugin/trunk/data/fixtures/quiz.yml
(rev 0)
+++ plugins/sfQuizPlugin/trunk/data/fixtures/quiz.yml 2010-01-17 20:43:49 UTC
(rev 26781)
@@ -0,0 +1,209 @@
+Quiz:
+ Quiz01:
+ Translation:
+ it:
+ nome: Quiz su symfony
+ descrizione: >
+ Questo è un quiz utilizzato per lo sviluppo del plugin sfQuizPlugin
+ di symfony
+QuizDomande:
+ Domanda01:
+ Quiz: Quiz01
+ Translation:
+ it:
+ domanda: In symfony 1.4, qual'è l'ORM predefinito?
+ tipo_risposta: singola
+ Domanda02:
+ Quiz: Quiz01
+ Translation:
+ it:
+ domanda: Con quale versione di PHP funziona symfony 2?
+ tipo_risposta: singola
+ Domanda03:
+ Quiz: Quiz01
+ Translation:
+ it:
+ domanda: >
+ In symfony 1.4 quando si cancella una tabella di Doctrine dal file
yaml e si ricostruiscono
+ le classi dei modelli, dei form e dei filtri con ./symfony
doctrine:build --all le classi
+ relative alle tabelle cancellate rimangono. Come si fa ad eliminarle?
+ tipo_risposta: singola
+ Domanda04:
+ Quiz: Quiz01
+ Translation:
+ it:
+ domanda: In symfony 1.4 qual'è la convenzione per le azioni?
+ tipo_risposta: singola
+ Domanda05:
+ Quiz: Quiz01
+ Translation:
+ it:
+ domanda: Quale dei seguenti libri cartacei non è mai esistito?
+ tipo_risposta: singola
+QuizRisposte:
+ Risposta01a:
+ Translation:
+ it:
+ risposta: Propel
+ commento: No, propel era l'ORM predefinito nelle versioni precedenti
alla 1.3
+ QuizDomande: Domanda01
+ giusta: false
+ Risposta01b:
+ Translation:
+ it:
+ risposta: Doctrine
+ QuizDomande: Domanda01
+ giusta: true
+ Risposta01c:
+ Translation:
+ it:
+ risposta: Rocks
+ commento: http://en.wikipedia.org/wiki/Rocks_%28PHP%29
+ QuizDomande: Domanda01
+ giusta: false
+ Risposta01d:
+ Translation:
+ it:
+ risposta: Redbean
+ commento: http://en.wikipedia.org/wiki/Redbean_%28software%29
+ QuizDomande: Domanda01
+ giusta: false
+ Risposta01e:
+ Translation:
+ it:
+ risposta: Torpor
+ commento: http://en.wikipedia.org/wiki/Torpor_%28PHP%29
+ QuizDomande: Domanda01
+ giusta: false
+ Risposta02a:
+ QuizDomande: Domanda02
+ giusta: false
+ Translation:
+ it:
+ risposta: PHP >= 5.0
+ Risposta02b:
+ QuizDomande: Domanda02
+ giusta: false
+ Translation:
+ it:
+ risposta: PHP >= 5.2.4
+ Risposta02c:
+ QuizDomande: Domanda02
+ giusta: true
+ Translation:
+ it:
+ risposta: PHP >= 5.3
+ Risposta02d:
+ QuizDomande: Domanda02
+ giusta: false
+ Translation:
+ it:
+ risposta: PHP >= 6.0
+ Risposta02e:
+ QuizDomande: Domanda02
+ giusta: false
+ Translation:
+ it:
+ risposta: PHP >= 4.0
+ commento: La versione 4 di PHP venne rilasciata nel 2000. Nessuna
versione di symfony ha mai supportato PHP 4.x
+
+ Risposta03a:
+ QuizDomande: Domanda03
+ giusta: false
+ Translation:
+ it:
+ risposta: L'unico modo è cancellare a mano tutte le classi rimaste
orfane
+ Risposta03b:
+ QuizDomande: Domanda03
+ giusta: false
+ Translation:
+ it:
+ risposta: ./symfony clear:cache
+ Risposta03c:
+ QuizDomande: Domanda03
+ giusta: false
+ Translation:
+ it:
+ risposta: ./symfony clear:doctrine-classes
+ Risposta03d:
+ QuizDomande: Domanda03
+ giusta: true
+ Translation:
+ it:
+ risposta: ./symfony doctrine:clean-model-files
+ Risposta03e:
+ QuizDomande: Domanda03
+ giusta: false
+ Translation:
+ it:
+ risposta: ./symfony doctrine:clear-classes
+
+ Risposta04a:
+ QuizDomande: Domanda04
+ giusta: true
+ Translation:
+ it:
+ risposta: >
+ Ogni azione è rappresentata da un metodo di una classe.
+ La classe è il nome del modulo seguito dal suffisso Actions
+ Risposta04b:
+ QuizDomande: Domanda04
+ giusta: false
+ Translation:
+ it:
+ risposta: >
+ Ogni azione è rappresentata da una classe.
+ Il nome della classe associata all'azione ha il suffisso Actions
+ Risposta04c:
+ QuizDomande: Domanda04
+ giusta: false
+ Translation:
+ it:
+ risposta: Ogni azione è rappresentata da un helper che ha come
prefisso Actions
+ Risposta04d:
+ QuizDomande: Domanda04
+ giusta: false
+ Translation:
+ it:
+ risposta: >
+ Ogni azione è rappresentata da una classe.
+ Il nome della classe associata all'azione ha il prefisso Actions
+ Risposta04e:
+ QuizDomande: Domanda04
+ giusta: false
+ Translation:
+ it:
+ risposta: >
+ Ogni azione è rappresentata da un metodo statico.
+ Tali metodi hanno il prefisso Actions
+
+ Risposta05a:
+ QuizDomande: Domanda05
+ giusta: false
+ Translation:
+ it:
+ risposta: La guida di riferimento a symfony 1.2
+ Risposta05b:
+ QuizDomande: Domanda05
+ giusta: false
+ Translation:
+ it:
+ risposta: symfony in pratica, seconda edizione. symfony 1.2 | Doctrine
+ Risposta05c:
+ QuizDomande: Domanda05
+ giusta: false
+ Translation:
+ it:
+ risposta: Di più con symfony
+ Risposta05d:
+ QuizDomande: Domanda05
+ giusta: false
+ Translation:
+ it:
+ risposta: The Definitive Guide to symfony
+ Risposta05e:
+ QuizDomande: Domanda05
+ giusta: true
+ Translation:
+ it:
+ risposta: symfony for dummies
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizDomande form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizDomandeFormFilter extends BaseQuizDomandeFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeTranslationFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeTranslationFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizDomandeTranslationFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizDomandeTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizDomandeTranslationFormFilter extends
BaseQuizDomandeTranslationFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuiz form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizFormFilter extends BaseQuizFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizRisposte form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizRisposteFormFilter extends BaseQuizRisposteFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteTranslationFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteTranslationFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizRisposteTranslationFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizRisposteTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizRisposteTranslationFormFilter extends
BaseQuizRisposteTranslationFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizTranslationFormFilter.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizTranslationFormFilter.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/filter/doctrine/PluginQuizTranslationFormFilter.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage filter
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormFilterPluginTemplate.php 23810
2009-11-12 11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizTranslationFormFilter extends
BaseQuizTranslationFormFilter
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeForm.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeForm.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizDomande form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizDomandeForm extends BaseQuizDomandeForm
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeTranslationForm.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeTranslationForm.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizDomandeTranslationForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizDomandeTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizDomandeTranslationForm extends
BaseQuizDomandeTranslationForm
+{
+}
Added: plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizForm.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizForm.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuiz form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizForm extends BaseQuizForm
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteForm.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteForm.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizRisposte form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizRisposteForm extends BaseQuizRisposteForm
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteTranslationForm.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteTranslationForm.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizRisposteTranslationForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizRisposteTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizRisposteTranslationForm extends
BaseQuizRisposteTranslationForm
+{
+}
Added:
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizTranslationForm.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizTranslationForm.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/form/doctrine/PluginQuizTranslationForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+<?php
+
+/**
+ * PluginQuizTranslation form.
+ *
+ * @package ##PROJECT_NAME##
+ * @subpackage form
+ * @author ##AUTHOR_NAME##
+ * @version SVN: $Id: sfDoctrineFormPluginTemplate.php 23810 2009-11-12
11:07:44Z Kris.Wallsmith $
+ */
+abstract class PluginQuizTranslationForm extends BaseQuizTranslationForm
+{
+}
Added: plugins/sfQuizPlugin/trunk/lib/form/nomeGiocatoreForm.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/form/nomeGiocatoreForm.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/form/nomeGiocatoreForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,15 @@
+<?php
+
+class NomeGiocatoreForm extends BaseForm
+{
+ public function configure()
+ {
+ $this->setWidget('nomeGiocatore', new sfWidgetFormInputText());
+
+ $this->setValidator('nomeGiocatore', new sfValidatorString(array(
+ 'min_length' => 1,
+ 'max_length' => sfConfig::get('max_length_nome_giocatore')
+ )));
+
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriCollectionForm.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriCollectionForm.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriCollectionForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,20 @@
+<?php
+
+class NomiGiocatoriCollectionForm extends sfForm
+{
+ public function configure()
+ {
+
+ if(!$nome = $this->getOption('size'))
+ {
+ throw new InvalidArgumentException(_('You must provide a size.'));
+ }
+
+ for ($i = 0; $i < $this->getOption('size'); $i++)
+ {
+ $form = new NomeGiocatoreForm();
+ $this->embedForm($i, $form);
+ }
+
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriForm.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriForm.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/form/nomiGiocatoriForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,17 @@
+<?php
+
+class NomiGiocatoriForm extends BaseForm
+{
+ public function configure()
+ {
+
+ $form = new NomiGiocatoriCollectionForm(null, array(
+ 'size' => $this->getOption('size')
+ ));
+
+ $this->embedForm('newNomiGiocatori', $form);
+
+ $this->widgetSchema->setNameFormat('newNomiGiocatoriBind[%s]');
+
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/form/numeroGiocatoriForm.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/form/numeroGiocatoriForm.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/form/numeroGiocatoriForm.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,43 @@
+<?php
+class NumeroGiocatoriForm extends BaseForm
+{
+ public function configure()
+ {
+
+ $numDomScelte = array (
+ '1' => '1',
+ '2' => '2',
+ '5' => '5',
+ '10' => '10',
+ '15' => '15',
+ '20' => '20',
+ );
+
+ $this->widgetSchema['numDom'] = new sfWidgetFormChoice(array(
+ 'choices' => $numDomScelte));
+
+ $this->setWidgets(array(
+ 'numeroGiocatori' => new sfWidgetFormInputText(),
+ 'numeroDomandePerGiocatore' => $this->widgetSchema['numDom'],
+ ));
+
+ $this->widgetSchema->setLabels(array(
+ 'numeroGiocatori' => 'Numero di giocatori',
+ 'numeroDomandePerGiocatore' => 'Numero delle domande da fare a ciascun
giocatore'
+ ));
+
+ $this->widgetSchema['numeroGiocatori']->setAttribute('size', 3);
+ $this->widgetSchema['numeroGiocatori']->setAttribute('maxlength', 2);
+
+ $this->widgetSchema->setNameFormat('numeroGiocatori[%s]');
+
+
+ $this->setValidators(array(
+ 'numeroGiocatori' => new sfValidatorNumber(array('min' => 1, 'max' =>
sfConfig::get('app_max_num_giocatori'))),
+ 'numeroDomandePerGiocatore' => new sfValidatorChoice(array('choices' =>
$numDomScelte))
+ ));
+
+
$this->widgetSchema->getFormFormatter()->setTranslationCatalogue('barra_cerca_copertina_form');
+
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/gestioneQuiz.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/gestioneQuiz.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/gestioneQuiz.php 2010-01-17 20:43:49 UTC
(rev 26781)
@@ -0,0 +1,383 @@
+<?php
+/**
+ *
+ * @package sfQuizPlugin
+ * @author Fabrizio Pucci <[email protected]>
+ *
+ */
+class GestioneQuiz
+{
+
+ /**
+ * Identificativo del quiz che si sta giocando
+ *
+ * @var int
+ */
+ private $quiz;
+
+ /**
+ * Numero dei giocatori che partecipano al quiz
+ *
+ * @var int
+ */
+ private $numGiocatori;
+
+ /**
+ * Nomi dei giocatori
+ *
+ * @var array
+ */
+ private $nomiGiocatori = array();
+
+ /**
+ * Numero totale delle domande da fare a ciascun giocatore
+ *
+ * @var int
+ */
+ private $numDomPerGiocatore;
+
+ /**
+ * Memorizza il numero array della domanda corrente
+ *
+ * @var int
+ */
+ private $chiaveDomandaCorrente;
+
+ /**
+ *
+ * Partial score for each player
+ *
+ * Punteggio parziale per ciascun giocatore
+ *
+ * @var array
+ */
+ private $punteggio = array();
+
+ /**
+ * Elenco delle domande da fare
+ * Vanno da 0 a ($numDomPerGiocatore * $numGiocatori)
+ * Struttura: [num domanda] = [domanda_id]
+ *
+ * @var array
+ */
+ private $domande = array();
+
+ private $difficolta = array('difficoltaCostante', 'difficoltaCrescente',
'difficoltaMassima');
+
+ /**
+ * Numero delle risposte da visualizzare per ciascuna domanda
+ * se $modalitàRispostePerDomanda è settato a 'numeroFisso'
+ *
+ * @var int
+ */
+ private $numRispostePerDomanda;
+
+ /**
+ * [num domanda][] = array(
+ * 'risposte_id' => '',
+ * 'giusta' => ''
+ * );
+ *
+ * @var array
+ */
+ private $risposte = array();
+
+ /**
+ * Struttura: [num giocatore][num domanda] = [num risposta][id risposta]
+ *
+ * @var array
+ */
+ private $risposteDate = array();
+
+ /**
+ * Metodo set per identificativo quiz
+ *
+ * @param unknown_type $id
+ * @return void
+ */
+ public function setQuiz($id)
+ {
+ $this->quiz = $id;
+ }
+
+ /**
+ * Metodo get per identificativo quiz
+ *
+ * @return int
+ */
+ public function getQuiz()
+ {
+
+ return $this->quiz;
+ }
+
+ /**
+ * Metodo get/set per il numero dei giocatori
+ *
+ * @param int $num
+ * @return void
+ */
+ public function numGiocatori($num = null)
+ {
+ if ($num != null)
+ {
+ $this->numGiocatori = $num;
+ }
+ return $this->numGiocatori;
+ }
+
+ /**
+ * Numero totale delle domande da fare per giocatore
+ *
+ * @param int $num Valore da assegnare
+ * @return int
+ */
+ public function numDomPerGiocatore($num = null)
+ {
+ if ($num != null)
+ {
+ $this->numDomPerGiocatore = $num;
+ }
+ return $this->numDomPerGiocatore;
+ }
+
+ public function setNomiGiocatori(array $nomi)
+ {
+ foreach ($nomi as $nome)
+ {
+ $this->nomiGiocatori[] = $nome;
+ }
+ }
+
+ public function addNomeGiocatore($nome)
+ {
+ $this->nomiGiocatori[] = $nome;
+ }
+
+ public function nomeGiocatore($i)
+ {
+
+ return $this->nomiGiocatori[$i];
+ }
+
+ /**
+ * Setta la modalità relativa al numero di risposte da visualizzare
+ * per una data domanda
+ *
+ * @param unknown_type $modalita
+ * @return unknown_type
+ */
+ public function setModalitaRispostePerDomanda($modalita)
+ {
+
+ if (in_array($modalita, $this->modalita))
+ {
+ $this->modalitaRispostePerDomanda = $modalita;
+
+ }
+ else
+ {
+ Throw new Exception('La modalità di risposta '.$modalita.' non è
prevista dal plugin sfQuizPlugin');
+ }
+ }
+
+ /**
+ * Metodo get per recuperare la modalità relativa al numero di risposte
+ * da visualizzare per una data domanda
+ * @return string
+ */
+ public function getModalitaRispostePerDomanda()
+ {
+ return $this->modalitaRispostePerDomanda;
+ }
+
+ public function getNumRispostePerDomanda()
+ {
+ return $this->numRispostePerDomanda;
+ }
+
+ public function getNumRispostePerDomandaCorrente()
+ {
+ if ($this->getModalitaRispostePerDomanda == 'difficoltaCostante')
+ {
+ return $this->numRispostePerDomanda;
+ }
+ else if ($this->getModalitaRispostePerDomanda == 'difficoltaCrescente')
+ {
+ // Algoritmo in base a numero domanda attuale?
+ }
+
+ }
+
+ /**
+ * Memorizza gli id delle domande da fare
+ * scelte in modo casuale da una query sul database
+ *
+ * @return void
+ */
+ public function setDomande()
+ {
+
+ $domande =
Doctrine::getTable('QuizDomande')->inizializzaDomandeDaFare($this->getQuiz(),
$this->numGiocatori * $this->numDomPerGiocatore);
+
+ foreach($domande as $domanda)
+ {
+
+ $this->domande[] = $domanda->id;
+ }
+
+ }
+
+ /**
+ * Metodo get per recuperare le chiavi delle domande
+ *
+ * @return array
+ */
+ public function getDomande()
+ {
+ return $this->domande;
+ }
+
+ /**
+ * @return unknown_type
+ */
+ public function setRisposte()
+ {
+ foreach ($this->getDomande() as $d => $domanda)
+ {
+
+ $risposte =
Doctrine::getTable('QuizRisposte')->inizializzaRisposteDaFare($domanda, 5);
+
+
+ foreach($risposte as $r => $risposta)
+ {
+
+ $this->risposte[$d][]= array(
+ 'risposte_id' => $risposta->id,
+ 'giusta' => $risposta->giusta
+ );
+ //echo $risposta->Translation['it']->risposta;
+
+ }
+ }
+
+ }
+
+
+ public function setChiaveDomandaCorrente($num)
+ {
+ $this->chiaveDomandaCorrente = $num;
+ }
+
+ /**
+ * Restituire la chiave array
+ *
+ * @return int
+ */
+ public function getChiaveDomandaCorrente()
+ {
+ return $this->chiaveDomandaCorrente;
+ }
+
+ /**
+ * Restituisce il numero della domanda corrente del giocatore
+ *
+ * @return number
+ */
+ public function numeroDomandaCorrente()
+ {
+ return round(($this->getChiaveDomandaCorrente()+1)/$this->numGiocatori());
+ }
+
+ /**
+ * Restituisce il numero del giocatore corrente
+ *
+ * @return number|number
+ */
+ public function numeroGiocatoreCorrente()
+ {
+ $numDomandaCorrente = $this->getChiaveDomandaCorrente()+1;
+ if ($numDomandaCorrente <= $this->numGiocatori())
+ {
+ return $numDomandaCorrente;
+ }
+ else
+ {
+ return ($numDomandaCorrente % $this->numGiocatori());
+ }
+ }
+
+ /**
+ * Restituisce il nome del giocatore corrente
+ *
+ * @return string
+ */
+ public function nomeGiocatoreCorrente()
+ {
+
+ return $this->nomeGiocatore($this->numeroGiocatoreCorrente()-1);
+ }
+
+ /**
+ * Restituisce il testo di una domanda
+ *
+ * @param int $dom Chiave array della domanda
+ * @return string
+ */
+ public function testoDomanda($dom)
+ {
+ $id = $this->domande[$dom];
+ return Doctrine::getTable('QuizDomande')->testoDomanda($id);
+ }
+
+ /**
+ * Restituisce il testo della domanda corrente
+ *
+ * @return string
+ */
+ public function testoDomandaCorrente()
+ {
+ return $this->testoDomanda($this->getChiaveDomandaCorrente());
+ }
+
+ public function testiRisposte($dom)
+ {
+
+ foreach($this->risposte[$dom] as $i => $risposta)
+ {
+
+ $risp =
Doctrine::getTable('QuizRisposte')->testoRisposta($risposta['risposte_id']);
+
+ $r[$i] = array(
+ 'testo' => $risp[0]->Translation['it']->risposta,
+ );
+
+ }
+ return $r;
+ }
+
+ public function testiRisposteCorrenti()
+ {
+ return $this->testiRisposte($this->getChiaveDomandaCorrente());
+ }
+
+ public function rispostaGiusta($domanda, $risposta)
+ {
+/*
+ echo "Cerco $domanda e $risposta. Verifica
".$this->risposte[$domanda][$risposta]['giusta'];
+ echo "<pre>";
+ print_r($this->risposte);
+ echo "</pre>";
+ */
+ return $this->risposte[$domanda][$risposta]['giusta'];
+ }
+
+ /**
+ * @return unknown_type
+ */
+ public function turnoSuccessivo()
+ {
+ $this->setChiaveDomandaCorrente($this->getChiaveDomandaCorrente()+1);
+
+ }
+}
Added: plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuiz.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuiz.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuiz.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * PluginQuiz
+ *
+ * This class has been auto-generated by the Doctrine ORM Framework
+ *
+ * @package ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author ##NAME## <##EMAIL##>
+ * @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
+ */
+abstract class PluginQuiz extends BaseQuiz
+{
+
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomande.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomande.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomande.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * PluginQuizDomande
+ *
+ * This class has been auto-generated by the Doctrine ORM Framework
+ *
+ * @package ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author ##NAME## <##EMAIL##>
+ * @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
+ */
+abstract class PluginQuizDomande extends BaseQuizDomande
+{
+
+}
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomandeTable.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomandeTable.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizDomandeTable.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,45 @@
+<?php
+/**
+ */
+/**
+ *
+ * @package sfQuizPlugin
+ * @author Fabrizio Pucci <[email protected]>
+ *
+ */
+class PluginQuizDomandeTable extends Doctrine_Table
+{
+ /**
+ * @param int $numDomande Numero delle domande da fare
+ * @return Doctrine_Collection
+ */
+ public function inizializzaDomandeDaFare($quiz_id, $numDomande)
+ {
+
+ $q = Doctrine_Query::create()
+ ->select('d.id')
+ ->from('QuizDomande d')
+ ->where('d.quiz_id = ? AND d.tipo_risposta = "singola"', $quiz_id)
+ ->orderBy('rand()')
+ ->limit($numDomande);
+
+ return $q->execute();
+
+ }
+
+ /**
+ * @param int $id
+ * @return Doctrine_Collection
+ */
+ public function testoDomanda($id)
+ {
+
+ $q = Doctrine_Query::create()
+ ->select('d.id')
+ ->addSelect('dt.domanda')
+ ->from('QuizDomande d')
+ ->leftJoin('d.Translation dt')
+ ->where('d.id = ?', $id);
+ return $q->execute();
+ }
+}
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposte.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposte.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposte.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,16 @@
+<?php
+
+/**
+ * PluginQuizRisposte
+ *
+ * This class has been auto-generated by the Doctrine ORM Framework
+ *
+ * @package ##PACKAGE##
+ * @subpackage ##SUBPACKAGE##
+ * @author ##NAME## <##EMAIL##>
+ * @version SVN: $Id: Builder.php 6820 2009-11-30 17:27:49Z jwage $
+ */
+abstract class PluginQuizRisposte extends BaseQuizRisposte
+{
+
+}
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposteTable.class.php
===================================================================
---
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposteTable.class.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizRisposteTable.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,64 @@
+<?php
+/**
+ *
+ * @package sfQuizPlugin
+ * @author Fabrizio Pucci <[email protected]>
+ *
+ */
+class PluginQuizRisposteTable extends Doctrine_Table
+{
+ /**
+ * Inizializza le risposte.
+ * La procedura avviene domanda per domanda invece che tutte assieme
+ * in tal modo è possibile assegnare un numero di risposte diverso
+ * (necessario ad esempio per difficoltaCrescente)
+ *
+ * @param unknown_type $quiz_domande_id
+ * @param unknown_type $limit
+ * @return Doctrine_Collection
+ */
+ public function inizializzaRisposteDaFare($quiz_domande_id, $limit)
+ {
+
+ $q = Doctrine_Query::create()
+ ->select('r.id, r.giusta')
+ ->from('QuizRisposte r')
+ ->where('r.quiz_domande_id = ? AND r.giusta = 0', $quiz_domande_id)
+ ->orderBy('RAND()')
+ ;
+
+ if ($limit != null)
+ {
+ $q = $q->limit($limit);
+ }
+ $sbagliate = $q->execute();
+
+ $q = Doctrine_Query::create()
+ ->select('r.id, r.giusta')
+ ->from('QuizRisposte r')
+ ->where('r.quiz_domande_id = ? AND r.giusta = 1', $quiz_domande_id);
+
+ $giuste = $q->execute();
+ return $sbagliate->merge($giuste);
+
+ }
+
+ public function testoRisposta($id)
+ {
+ $q= Doctrine_Query::create()
+ ->select('r.id')
+ ->addSelect('rt.risposta')
+ ->from('QuizRisposte r')
+ ->leftJoin('r.Translation rt')
+ ->where('r.id = ?', $id);
+
+ /*
+ foreach($risposte as $risposta)
+ {
+ $q->orWhere('r.id = '.$risposta['risposte_id']);
+ }
+ */
+
+ return $q->execute();
+ }
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizTable.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizTable.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/lib/model/doctrine/PluginQuizTable.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,7 @@
+<?php
+/**
+ */
+class PluginQuizTable extends Doctrine_Table
+{
+
+}
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/modules/sfQuizStart/actions/actions.class.php
===================================================================
--- plugins/sfQuizPlugin/trunk/modules/sfQuizStart/actions/actions.class.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/modules/sfQuizStart/actions/actions.class.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,131 @@
+<?php
+
+class sfQuizStartActions extends sfActions
+{
+ public function executeIndex(sfWebRequest $request)
+ {
+
+ $this->form = new NumeroGiocatoriForm();
+
+ if ($request->isMethod('post'))
+ {
+
+ $this->form->bind($request->getParameter('numeroGiocatori'));
+ if ($this->form->isValid())
+ {
+
$this->redirect('@quiz-nomi-giocatori?'.http_build_query($this->form->getValues()));
+ }
+
+ }
+ }
+
+ /**
+ *
+ * @todo Modificare la modalità per la selezione del quiz, per ora c'è
cablato $quiz->setQuiz(1)
+ *
+ * @param sfWebRequest $request
+ * @return unknown_type
+ */
+ public function executeNomiGiocatori(sfWebRequest $request)
+ {
+
+ $this->form = new NomiGiocatoriForm(null, array(
+ 'size' => $request->getParameter('numeroGiocatori')
+ ));
+
+ if ($request->isMethod('post'))
+ {
+ $this->form->bind($request->getParameter('newNomiGiocatoriBind'));
+ if ($this->form->isValid())
+ {
+
+ $quiz = new GestioneQuiz();
+
+ // Setta il quiz
+ $quiz->setQuiz(1);
+
+ // Setta numero giocatori
+ $quiz->numGiocatori($request->getParameter('numeroGiocatori'));
+
+ // Setta numero domande per giocatore
+
$quiz->numDomPerGiocatore($request->getParameter('numeroDomandePerGiocatore'));
+
+ // Setta la chiave array della domanda corrente
+ $quiz->setChiaveDomandaCorrente(0);
+
+ // Setta i nomi dei giocatori
+
+ $giocatori = $request->getParameter('newNomiGiocatoriBind');
+ foreach($giocatori['newNomiGiocatori'] as $giocatore)
+ {
+ $quiz->addNomeGiocatore($giocatore['nomeGiocatore']);
+ }
+
+ // Setta le domande da fare
+ $quiz->setDomande();
+
+ // Setta le risposte da fare
+ $quiz->setRisposte();
+
+
+ $this->getUser()->setAttribute('quiz', $quiz);
+ $this->redirect('@quiz-game?');
+ }
+
+ }
+
+ }
+ /**
+ * @param sfWebRequest $request
+ * @return unknown_type
+ */
+ public function executeGame(sfWebRequest $request)
+ {
+
+ $this->quiz = $this->getUser()->getAttribute('quiz');
+
+ if($this->quiz->numeroDomandaCorrente() + 1
>=($this->quiz->numDomPerGiocatore() * $this->quiz->numGiocatori()))
+ {
+ $this->redirect('@quiz-fine');
+ }
+
+ $domanda = $this->quiz->testoDomandaCorrente();
+ $this->domanda = $domanda[0]->Translation['it']->domanda;
+
+ $this->risposte = $this->quiz->testiRisposteCorrenti();
+
+
+
+ if ($request->isMethod('post'))
+ {
+ $this->quiz->turnoSuccessivo();
+ echo 'La tua risposta è '.$request->getParameter('risposta').'. ';
+
+ if ($this->quiz->rispostaGiusta($this->quiz->getChiaveDomandaCorrente(),
$request->getParameter('risposta')))
+ {
+ $this->redirect('@quiz-risposta-giusta');
+
+ }
+ else
+ {
+ $this->redirect('@quiz-risposta-sbagliata');
+
+ }
+ }
+ }
+
+ public function executeRispostaGiusta(sfWebRequest $request)
+ {
+
+ }
+
+ public function executeRispostaSbagliata(sfWebRequest $request)
+ {
+
+ }
+
+ public function executeFineGioco(sfWebRequest $request)
+ {
+
+ }
+}
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/_risposta_successiva.php
===================================================================
---
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/_risposta_successiva.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/_risposta_successiva.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,3 @@
+<p>
+<input type="button" value="Domanda successiva" onclick="location.href='<?php
echo url_for('@quiz-game') ?>'">
+</p>
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/fineGiocoSuccess.php
===================================================================
---
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/fineGiocoSuccess.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/fineGiocoSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1 @@
+Il gioco è terminato
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/gameSuccess.php
===================================================================
--- plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/gameSuccess.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/gameSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,14 @@
+<h2>Domanda <?php echo $quiz->numeroDomandaCorrente() ?> per il giocatore
<?php echo $quiz->nomeGiocatoreCorrente() ?>
+</h2>
+
+<p>
+<?php echo $domanda ?>
+</p>
+<form method="post">
+<?php foreach ($risposte as $i => $risposta): ?>
+<input type="radio" name="risposta" value="<?php echo $i ?>" />
+<?php echo $risposta['testo'] ?><br />
+<?php endforeach ?>
+
+<input type="submit" value=">>">
+</form>
\ No newline at end of file
Added: plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/indexSuccess.php
===================================================================
--- plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/indexSuccess.php
(rev 0)
+++ plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/indexSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,10 @@
+<p>Benvenuti</p>
+
+<form method="post">
+<?php echo $form['numeroGiocatori']->renderRow() ?><br />
+<?php echo $form['numeroDomandePerGiocatore']->renderRow() ?><br />
+<?php echo $form->renderHiddenFields() ?>
+
+<input type="submit" value="<?php echo _('>>') ?>">
+
+</form>
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/nomiGiocatoriSuccess.php
===================================================================
---
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/nomiGiocatoriSuccess.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/nomiGiocatoriSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,13 @@
+
+<form method="post">
+
+<?php foreach ($form['newNomiGiocatori'] as $i => $nome): ?>
+ <div>
+ <?php echo $nome['nomeGiocatore']->renderLabel(_('Nome giocatore').'
'.($i+1)) ?>
+ <?php echo $nome['nomeGiocatore']->render() ?>
+ <?php echo $nome['nomeGiocatore']->renderError() ?>
+ </div>
+<?php endforeach; ?>
+<?php echo $form->renderHiddenFields() ?>
+<input type="submit" value=">>">
+</form>
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaGiustaSuccess.php
===================================================================
---
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaGiustaSuccess.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaGiustaSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,3 @@
+La risposta è GIUSTA !!
+
+<?php include_partial('risposta_successiva')?>
\ No newline at end of file
Added:
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaSbagliataSuccess.php
===================================================================
---
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaSbagliataSuccess.php
(rev 0)
+++
plugins/sfQuizPlugin/trunk/modules/sfQuizStart/templates/rispostaSbagliataSuccess.php
2010-01-17 20:43:49 UTC (rev 26781)
@@ -0,0 +1,3 @@
+La risposta è SBAGLIATA !!
+
+<?php include_partial('risposta_successiva')?>
\ No newline at end of file
--
You received this message because you are subscribed to the Google Groups
"symfony SVN" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/symfony-svn?hl=en.