public function __construct($query) { $res = ['civico' => ['street_number', 'long_name'], 'via' => ['route', 'long_name'], 'comune' => ['locality', 'long_name'], 'provincia' => ['administrative_area_level_2', 'long_name'], 'regione' => ['administrative_area_level_1', 'long_name'], 'stato' => ['country', 'short_name'], 'cap' => ['postal_code', 'long_name']]; $query = urlencode($query); $url = self::GEOCODING_URL . $query; $query = file_get_contents($url); $query = json_decode($query); if (!$query->results) { $this->risultati = []; return; } foreach ($query->results as $r) { $n = new GeocoderResult(); foreach ($r->address_components as $ac) { foreach ($res as $pr => $va) { if (contiene($va[0], $ac->types)) { $n->{$pr} = $ac->{$va[1]}; } } } $n->lat = $r->geometry->location->lat; $n->lng = $r->geometry->location->lng; $n->provincia = str_replace('Province of ', '', $n->provincia); $n->indirizzo = $n->via . ', ' . $n->civico; $n->formattato = $r->formatted_address; $n->formattato = str_replace('Province of ', '', $n->formattato); $this->risultati[] = $n; } }
/** * Sovrascrive metodo __get se unita' principale * ref. https://github.com/CroceRossaCatania/gaia/issues/360 */ public function __get($_nome) { $nonSovrascrivere = ['id', 'nome', 'principale', 'locale']; if (parent::__get('principale') && !contiene($_nome, $nonSovrascrivere)) { return $this->locale()->{$_nome}; } return parent::__get($_nome); }
/** * Realiza el cierre de sesion de un proyecto <br> * Para eso, recorre el array de Sesion buscando cuales son las claves usadas * para ese proyecto en particular y las elimina * @param string $idProyecto <p>El nombre del proyecto</p> */ function cerrarSesion($idProyecto) { activarSesion(); //UBICO EL POINTER EN LA PRIMER POSICION reset($_SESSION); while (list($key, $val) = each($_SESSION)) { //ELIMINO TODAS LAS CLAVES QUE SOLO ESTEN ASOCIADAS CON //ESTE PROYECTO if (contiene($key, $idProyecto)) { eliminarValorDeSesion($key); } } //VUELVO A REUBICAR EL POINTER PARA ORDENAR EL ARRAY reset($_SESSION); }
<!DOCTYPE html> <html lang=""> <head> <meta charset="utf-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title></title> <link rel="stylesheet" type="text/css" href=" "> </head> <body> <?php function contiene($cadena, $valor) { for ($i = 0; $i < sizeof($cadena); $i++) { if ($cadena[$i] == $valor) { return true; } } return false; } $nombres = array("ana", "maria"); if (contiene($nombres, 'sa')) { echo 'la palabra esta '; } else { echo 'no esta'; } ?> </body> </html>
public function modificabileDa(Utente $utente) { $id = $utente->id; return (bool) ($this->referente()->id == $id or $utente->admin() or contiene($this, $utente->gruppiDiCompetenza())); }
/** * Ritorna se un Utente e' assente o meno alla lezione * @param Utente $utente * @param bool */ public function assente(Utente $u) { return contiene($u, $this->assenti()); }
/** * Informa se un corso è cancellabile da un determianto utente * @return bool */ public function cancellabileDa(Utente $u) { return (bool) contiene($this, $u->corsiBaseDiGestione()); }
/** * Controlla la riammissibilità entro l'anno solare di un volontario * @return true se volontario riammissibile false se non riammissibile */ public function riammissibile() { // appartenenza aperta di qualche tipo if ($this->appartenenzaAttuale()) { return false; } // fuori tempo $app = $this->ultimaAppartenenza(MEMBRO_DIMESSO); $limiteRiammissione = $app->fine + ANNO; if ($limiteRiammissione < time()) { return false; } // controllo tipo dimissione $dimissione = Dimissione::by('appartenenza', $app); if (!contiene($dimissione->motivo, [DIM_TURNO, DIM_QUOTA])) { return false; } return true; }
public function modificabileDa(Utente $u) { return (bool) ($u->id == $this->referente || $u->admin() || contiene($this->area, $u->areeDiCompetenza()) || contiene($this, $u->attivitaDiGestione())); }