/**
  * Populates the object using an array.
  *
  * This is particularly useful when populating an object from one of the
  * request arrays (e.g. $_POST).  This method goes through the column
  * names, checking to see whether a matching key exists in populated
  * array. If so the setByName() method is called for that column.
  *
  * You can specify the key type of the array by additionally passing one
  * of the class type constants BasePeer::TYPE_PHPNAME, BasePeer::TYPE_STUDLYPHPNAME,
  * BasePeer::TYPE_COLNAME, BasePeer::TYPE_FIELDNAME, BasePeer::TYPE_NUM.
  * The default key type is the column's phpname (e.g. 'AuthorId')
  *
  * @param      array  $arr     An array to populate the object from.
  * @param      string $keyType The type of keys the array uses.
  * @return     void
  */
 public function fromArray($arr, $keyType = BasePeer::TYPE_PHPNAME)
 {
     $keys = ActivitatsExternesPeer::getFieldNames($keyType);
     if (array_key_exists($keys[0], $arr)) {
         $this->setIdactivitat($arr[$keys[0]]);
     }
     if (array_key_exists($keys[1], $arr)) {
         $this->setTitol($arr[$keys[1]]);
     }
     if (array_key_exists($keys[2], $arr)) {
         $this->setDescripcio($arr[$keys[2]]);
     }
     if (array_key_exists($keys[3], $arr)) {
         $this->setDatainicial($arr[$keys[3]]);
     }
     if (array_key_exists($keys[4], $arr)) {
         $this->setDatafinal($arr[$keys[4]]);
     }
     if (array_key_exists($keys[5], $arr)) {
         $this->setHora($arr[$keys[5]]);
     }
     if (array_key_exists($keys[6], $arr)) {
         $this->setUrl($arr[$keys[6]]);
     }
     if (array_key_exists($keys[7], $arr)) {
         $this->setPoblacio($arr[$keys[7]]);
     }
     if (array_key_exists($keys[8], $arr)) {
         $this->setAdreca($arr[$keys[8]]);
     }
     if (array_key_exists($keys[9], $arr)) {
         $this->setEntitat($arr[$keys[9]]);
     }
     if (array_key_exists($keys[10], $arr)) {
         $this->setCategoria($arr[$keys[10]]);
     }
     if (array_key_exists($keys[11], $arr)) {
         $this->setActiu($arr[$keys[11]]);
     }
 }
 /**
  * Retrieve multiple objects by pkey.
  *
  * @param      array $pks List of primary keys
  * @param      PropelPDO $con the connection to use
  * @throws     PropelException Any exceptions caught during processing will be
  *		 rethrown wrapped into a PropelException.
  */
 public static function retrieveByPKs($pks, PropelPDO $con = null)
 {
     if ($con === null) {
         $con = Propel::getConnection(ActivitatsExternesPeer::DATABASE_NAME, Propel::CONNECTION_READ);
     }
     $objs = null;
     if (empty($pks)) {
         $objs = array();
     } else {
         $criteria = new Criteria(ActivitatsExternesPeer::DATABASE_NAME);
         $criteria->add(ActivitatsExternesPeer::IDACTIVITAT, $pks, Criteria::IN);
         $objs = ActivitatsExternesPeer::doSelect($criteria, $con);
     }
     return $objs;
 }
Пример #3
0
 /**
    * ActivitatsPeer::getActivitatsHospici()
    * 
    * Ens mostra un pager amb les activitats seleccionades
    * 
    * @param mixed $idText
    * @param mixed $idSite
    * @param mixed $idPoble
    * @param mixed $idCategoria
    * @param mixed $idData
    * @param mixed $aDates
    * @param integer $p
    * @return     $aRET = array( 
                 'ON' =>  array( 0 => array( 'QUANTS'=>0 , 'ELEMENT' => 'Escull una població...' ) ), 
                 'QUI' => array( 0 => array( 'QUANTS'=>0 , 'ELEMENT' => 'Escull una entitat...' ) ) , 
                 'QUE' => array( 0 => array( 'QUANTS'=>0 , 'ELEMENT' => 'Escull una categoria...' ) ) , 
                 'A' =>   array( Activitats or Activitatsexternes ) 
                 );
 */
 public static function getActivitatsCercaHospici($CER)
 {
     $idText = $CER['TEXT'];
     $idPoble = $CER['POBLE'];
     $idCategoria = $CER['CATEGORIA'];
     $idSite = $CER['SITE'];
     $datai = myUser::revDate($CER['DATAI']);
     $dataf = myUser::revDate($CER['DATAF']);
     $p = $CER['P'];
     $idText = addslashes($idText);
     //***************************************
     // CONSULTEM LES ACTIVITATS INTERNES
     //***************************************
     $C = new Criteria();
     $C1 = $C->getNewCriterion(ActivitatsPeer::TMIG, "%{$idText}%", Criteria::LIKE);
     $C2 = $C->getNewCriterion(ActivitatsPeer::DMIG, "%{$idText}%", Criteria::LIKE);
     $C1->addOr($C2);
     $C->add($C1);
     $C1 = $C->getNewCriterion(HorarisPeer::DIA, $datai, Criteria::GREATER_EQUAL);
     $C2 = $C->getNewCriterion(HorarisPeer::DIA, $dataf, Criteria::LESS_EQUAL);
     $C1->addAnd($C2);
     $C->add($C1);
     if ($idPoble > 0) {
         $C->add(PoblacionsPeer::IDPOBLACIO, $idPoble);
     }
     if (!empty($idCategoria) && $idCategoria != '0') {
         $C->add(ActivitatsPeer::TIPUSACTIVITAT_IDTIPUSACTIVITAT, $idCategoria);
     }
     if (!empty($idSite) && $idSite != '0') {
         $C->add(SitesPeer::SITE_ID, $idSite);
     }
     $C->addJoin(ActivitatsPeer::ACTIVITATID, HorarisPeer::ACTIVITATS_ACTIVITATID);
     $C->addJoin(HorarisPeer::HORARISID, HorarisespaisPeer::HORARIS_HORARISID);
     $C->addJoin(HorarisespaisPeer::ESPAIS_ESPAIID, EspaisPeer::ESPAIID);
     $C->addJoin(ActivitatsPeer::SITE_ID, SitesPeer::SITE_ID);
     $C->addJoin(PoblacionsPeer::IDPOBLACIO, SitesPeer::POBLE);
     $C->add(ActivitatsPeer::ACTIU, true);
     $C->add(HorarisPeer::ACTIU, true);
     $C->add(HorarisespaisPeer::ACTIU, true);
     $C->add(EspaisPeer::ACTIU, true);
     $C->add(SitesPeer::ACTIU, true);
     $C->add(ActivitatsPeer::PUBLICAWEB, true);
     $C->addGroupByColumn(ActivitatsPeer::ACTIVITATID);
     $C->addAscendingOrderByColumn(HorarisPeer::DIA);
     $C->addAscendingOrderByColumn(ActivitatsPeer::TIPUSACTIVITAT_IDTIPUSACTIVITAT);
     //***************************************
     // CONSULTEM LES ACTIVITATS EXTERNES
     //***************************************
     $CE = new Criteria();
     $C1 = $CE->getNewCriterion(ActivitatsExternesPeer::TITOL, "%{$idText}%", Criteria::LIKE);
     $C2 = $CE->getNewCriterion(ActivitatsExternesPeer::DESCRIPCIO, "%{$idText}%", Criteria::LIKE);
     $C1->addOr($C2);
     $CE->add($C1);
     $C1 = $CE->getNewCriterion(ActivitatsExternesPeer::DATAINICIAL, $datai, Criteria::GREATER_EQUAL);
     $C2 = $CE->getNewCriterion(ActivitatsExternesPeer::DATAINICIAL, $dataf, Criteria::LESS_EQUAL);
     $C1->addAnd($C2);
     $CE->add($C1);
     if ($idPoble > 0) {
         $CE->add(ActivitatsExternesPeer::POBLACIO, $idPoble);
     }
     if (!empty($idCategoria) && $idCategoria != '0') {
         $CE->add(ActivitatsExternesPeer::CATEGORIA, $idCategoria);
     }
     if (!empty($idSite) && $idSite != '0') {
         $CE->add(ActivitatsExternesPeer::ENTITAT, $idSite);
     }
     $CE->addGroupByColumn(ActivitatsExternesPeer::IDACTIVITAT);
     $CE->addAscendingOrderByColumn(ActivitatsExternesPeer::DATAINICIAL);
     $CE->addAscendingOrderByColumn(ActivitatsExternesPeer::CATEGORIA);
     //***************************************
     // CARREGUEM ELS ARRAYS
     //***************************************
     $aRET = array('ON' => array('ELEMENT' => array(0 => 'Escull una població...'), 'QUANTS' => array(0 => 0)), 'QUI' => array('ELEMENT' => array(0 => 'Escull una entitat...'), 'QUANTS' => array(0 => 0)), 'QUE' => array('ELEMENT' => array(0 => 'Escull una categoria...'), 'QUANTS' => array(0 => 0)), 'A' => array());
     foreach (ActivitatsPeer::doSelect($C) as $OA) {
         $OTA = TipusactivitatPeer::retrieveByPK($OA->getTipusactivitatIdtipusactivitat());
         if ($OTA instanceof Tipusactivitat) {
             if (!isset($aRET['QUE']['QUANTS'][$OTA->getIdTipusactivitat()])) {
                 $aRET['QUE']['QUANTS'][$OTA->getIdTipusactivitat()] = 0;
             }
             $aRET['QUE']['QUANTS'][$OTA->getIdTipusactivitat()]++;
             $aRET['QUE']['ELEMENT'][$OTA->getIdTipusactivitat()] = $OTA->getNom() . ' (' . $aRET['QUE']['QUANTS'][$OTA->getIdTipusactivitat()] . ')';
         }
         $OS = SitesPeer::retrieveByPK($OA->getSiteId());
         if ($OS instanceof Sites) {
             if (!isset($aRET['QUI']['QUANTS'][$OS->getSiteid()])) {
                 $aRET['QUI']['QUANTS'][$OS->getSiteid()] = 0;
             }
             $aRET['QUI']['QUANTS'][$OS->getSiteid()]++;
             $aRET['QUI']['ELEMENT'][$OS->getSiteid()] = $OS->getNom() . ' (' . $aRET['QUI']['QUANTS'][$OS->getSiteid()] . ')';
         }
         $OP = PoblacionsPeer::retrieveByPK($OS->getPoble());
         if ($OP instanceof Poblacions) {
             if (!isset($aRET['ON']['QUANTS'][$OP->getIdpoblacio()])) {
                 $aRET['ON']['QUANTS'][$OP->getIdpoblacio()] = 0;
             }
             $aRET['ON']['QUANTS'][$OP->getIdpoblacio()]++;
             $aRET['ON']['ELEMENT'][$OP->getIdpoblacio()] = $OP->getNom() . ' (' . $aRET['ON']['QUANTS'][$OP->getIdpoblacio()] . ')';
         }
         $aRET['A'][$OA->getActivitatid()] = $OA;
     }
     foreach (ActivitatsExternesPeer::doSelect($CE) as $OAE) {
         if (!isset($aRET['QUE']['QUANTS'][$OAE->getCategoria()])) {
             $aRET['QUE']['QUANTS'][$OAE->getCategoria()] = 0;
         }
         $aRET['QUE']['QUANTS'][$OAE->getCategoria()]++;
         $aRET['QUE']['ELEMENT'][$OAE->getCategoria()] = $OAE->getCategoriaNom() . ' (' . $aRET['QUE']['QUANTS'][$OAE->getCategoria()] . ')';
         $OS = SitesPeer::retrieveByPK($OAE->getEntitat());
         if ($OS instanceof Sites && is_int($OAE->getEntitat())) {
             if (!isset($aRET['QUI']['QUANTS'][$OS->getSiteid()])) {
                 $aRET['QUI']['QUANTS'][$OS->getSiteid()] = 0;
             }
             $aRET['QUI']['QUANTS'][$OS->getSiteid()]++;
             $aRET['QUI']['ELEMENT'][$OS->getSiteid()] = $OS->getNom() . ' (' . $aRET['QUI']['QUANTS'][$OS->getSiteid()] . ')';
         } else {
             if (!isset($aRET['QUI']['QUANTS'][$OAE->getEntitat()])) {
                 $aRET['QUI']['QUANTS'][$OAE->getEntitat()] = 0;
             }
             $aRET['QUI']['QUANTS'][$OAE->getEntitat()]++;
             $aRET['QUI']['ELEMENT'][$OAE->getEntitat()] = $OAE->getEntitat() . ' (' . $aRET['QUI']['QUANTS'][$OAE->getEntitat()] . ')';
         }
         $OP = PoblacionsPeer::retrieveByPK($OAE->getPoblacio());
         if ($OP instanceof Poblacions) {
             if (!isset($aRET['ON']['QUANTS'][$OP->getIdpoblacio()])) {
                 $aRET['ON']['QUANTS'][$OP->getIdpoblacio()] = 0;
             }
             $aRET['ON']['QUANTS'][$OP->getIdpoblacio()]++;
             $aRET['ON']['ELEMENT'][$OP->getIdpoblacio()] = $OP->getNom() . ' (' . $aRET['ON']['QUANTS'][$OP->getIdpoblacio()] . ')';
         } else {
             if (!isset($aRET['ON']['QUANTS'][$OAE->getgetPoblacio()])) {
                 $aRET['ON']['QUANTS'][$OAE->getgetPoblacio()] = 0;
             }
             $aRET['ON']['QUANTS'][$OAE->getgetPoblacio()]++;
             $aRET['ON']['ELEMENT'][$OAE->getgetPoblacio()] = $OAE->getgetPoblacio() . ' (' . $aRET['ON']['QUANTS'][$OAE->getgetPoblacio()] . ')';
         }
         $aRET['A']['E' . $OAE->getIdactivitat()] = $OAE;
     }
     $aRET['ON']['ELEMENT'][0] = 'Escull una població (' . sizeof($aRET['A']) . ')...';
     $aRET['QUI']['ELEMENT'][0] = 'Escull una entitat (' . sizeof($aRET['A']) . ')...';
     $aRET['QUE']['ELEMENT'][0] = 'Escull una categoria (' . sizeof($aRET['A']) . ')...';
     return $aRET;
 }
Пример #4
0
 /**
  * Captura les dades de biblioteques per afegir-les a l'Hospici.   
  * 
  * */
 public function executeImportData(sfWebRequest $request)
 {
     //Carreguem l'arxiu de coincidències amb els tipus d'activitats de la biblioteca
     $XML_T = simplexml_load_file('./documents/RelacioTipusActivitatsBiblioteques.txt');
     $TAA = array();
     foreach ($XML_T->t as $T) {
         $TAA[(string) $T->ext] = (string) $T->ccg;
     }
     $RET = array('NOVES' => 0, 'TROBADES' => 0);
     $XML = simplexml_load_file("http://www.bibgirona.cat/api/vhospici/events/event_items.xml?page=1&per_page=10");
     $total = (int) $XML->info->paginesTotals;
     for ($i = 1; $i < $total; $i++) {
         $XML = simplexml_load_file("http://www.bibgirona.cat/api/vhospici/events/event_items.xml?page={$i}&per_page=10");
         foreach ($XML->caixa as $C) {
             //Canviem el lloc pel que toca de la nostra bdd. Si no el trobem hi posem "altres"
             list($lloc, $entitat) = explode(' - ', $C->espais);
             if ($lloc == 'Vilobí dOnyar') {
                 $lloc = 'Vilobí d\'Onyar';
             } elseif ($lloc == 'La Jonquera') {
                 $lloc = 'Jonquera, la';
             }
             $SQL = new Criteria();
             $SQL->add(PoblacionsPeer::NOM, '%' . $lloc . '%', Criteria::LIKE);
             $OP = PoblacionsPeer::doSelectOne($SQL);
             if (!$OP instanceof Poblacions) {
                 $OP = PoblacionsPeer::retrieveByPK(1);
             }
             $idA = ActivitatsExternesPeer::ExisteixActivitat($OP->getIdPoblacio(), $C->data_inicial, $C->hora_inici, $C->url);
             if ($idA == 0) {
                 $OA = new ActivitatsExternes();
                 $RET['NOVES']++;
             } else {
                 $OA = ActivitatsExternesPeer::retrieveByPK($idA);
                 $RET['TROBADES']++;
             }
             $OA->setTitol($C->titol);
             $OA->setDescripcio($C->text);
             $OA->setDatainicial($C->data_inicial);
             $OA->setDatafinal($C->data_fi);
             $OA->setHora($C->hora_inici);
             $OA->setUrl($C->url);
             $OA->setPoblacio($OP->getIdpoblacio());
             $OA->setAdreca($entitat);
             $OA->setEntitat('Biblioteca ' . $entitat);
             $OA->setCategoria($TAA[(string) $C->tipus_activitat]);
             $OA->setActiu(true);
             $OA->save();
         }
     }
     echo 'Noves: ' . $RET['NOVES'] . '<br />' . 'Trobades: ' . $RET['TROBADES'];
     return sfView::NONE;
 }