public function setup()
 {
     $this->setWidgets(array('idDescompte' => new sfWidgetFormChoice(array('choices' => DescomptesPeer::getDescomptesArray($this->getOption('IDS'), true, true))), 'idExtern' => new sfWidgetNumber(array(), array()), 'Nom' => new sfWidgetFormInput(array(), array('style' => 'width:200px;')), 'Percentatge' => new sfWidgetFormInput(array(), array('style' => 'width:50px;')), 'Preu' => new sfWidgetFormInput(array(), array('style' => 'width:50px;')), 'Tipus' => new sfWidgetFormChoice(array('choices' => array(1 => 'Estàndard'))), 'actiu' => new sfWidgetFormChoice(array('choices' => array(1 => 'Sí', 0 => 'No')), array()), 'site_id' => new sfWidgetFormInputHidden()));
     $this->setValidators(array('idDescompte' => new sfValidatorChoice(array('choices' => array($this->getObject()->getIddescompte()), 'empty_value' => $this->getObject()->getIddescompte(), 'required' => false)), 'idExtern' => new sfValidatorInteger(array('required' => true)), 'Nom' => new sfValidatorString(), 'Percentatge' => new sfValidatorNumber(), 'Preu' => new sfValidatorNumber(), 'Tipus' => new sfValidatorInteger(array('min' => -32768, 'max' => 32767, 'required' => false)), 'actiu' => new sfValidatorInteger(array('min' => -128, 'max' => 127)), 'site_id' => new sfValidatorInteger(array('min' => -32768, 'max' => 32767))));
     $this->widgetSchema->setNameFormat('descomptes[%s]');
     $this->errorSchema = new sfValidatorErrorSchema($this->validatorSchema);
     $this->widgetSchema->setLabels(array('idDescompte' => 'Escull un descompte: ', 'idExtern' => 'Titol', 'Descripcio' => 'Descripció', 'Percentatge' => 'Descompte (%)', 'Percentatge_txt' => 'Descompte text (20%)', 'Tipus' => 'Tipus'));
 }
 /**
  * Treu un llistat dels assistents a l'espectacle.
  * */
 public static function DocLlistatEntrades($IDH, $IDA, $idS)
 {
     //Comença la càrrega d'informació.
     $LOER = self::getEntradesVenudes($IDA, $IDH, true);
     $desc = DescomptesPeer::getDescomptesArray($idS, false, false);
     $OA = ActivitatsPeer::retrieveByPK($IDA);
     //$HTML = file_get_contents('c:\temp\hola.html');
     $HTML = OptionsPeer::getString('BODY_DOC_LLISTAT_ENTRADES', $idS);
     preg_match_all('/^\\s*####(.*?)####(.*?)####\\/(.*?)####\\s*$/sm', $HTML, $A);
     $FILA = "";
     $PATTERN = $A[2][0];
     $i = 1;
     $TMP = "";
     foreach ($LOER as $OER) {
         $TMP = $PATTERN;
         $TMP = str_replace('@@ID@@', $i++, $TMP);
         $TMP = str_replace('@@NOM_USUARI@@', $OER->getNomUsuari(), $TMP);
         $TMP = str_replace('@@CODI_UNIC@@', substr(sha1($OER->getIdentrada()), 0, 4), $TMP);
         $TMP = str_replace('@@QUANTITAT@@', $OER->getQuantitat(), $TMP);
         $TMP = str_replace('@@ESTAT@@', $OER->getEstatString(), $TMP);
         $TMP = str_replace('@@DESCOMPTE@@', $desc[$OER->getDescompte()], $TMP);
         $TMP = str_replace('@@COMENTARI@@', $OER->getComentari(), $TMP);
         $FILA .= $TMP;
     }
     //CONSULTEM USUARI
     $HTML = str_replace('@@NOM_ESPECTACLE@@', $OA->getNom(), $HTML);
     $HTML = str_replace($A[0][0], $FILA, $HTML);
     return $HTML;
 }