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.


Reply via email to