Source for file class.yellowpages.php
Documentation is available at class.yellowpages.php
* @package linea21.modules
* @subpackage yellowpages
* @author linea21 <info@linea21.com>
* @license http://opensource.org/licenses/gpl-3.0.html
public function __call($method, $arguments)
$event = $this->dispatcher->notifyUntil(new sfEvent($this, 'yellowpages.extensible_function', array(
'arguments' => $arguments
if (!$event->isProcessed())
throw new Exception(sprintf('Call to undefined method %s::%s.', get_class($this), $method));
return $event->getReturnValue();
* yellowpages::CheckDataIntegrity()
* Vérification des données d'une entreprise
* @param array $table_yp : contient les composants d'une entreprise
* @return boolean si ok renvoie true sinon message d'erreurs (string)
if (strlen($table[0]) < 2) return _t('yp','object_notname');
if (strlen($table[1]) < 2) return _t('yp','object_notactivity');
if (strlen($table[3]) < 2) return _t('yp','object_notstreet');
if (strlen($table[4]) < 2) return _t('yp','object_notpostal_code');
if (strlen($table[5]) < 2) return _t('yp','object_notcity');
//if (strlen($table[6]) < 2) return $notcountry;
$testmail = $this->_checkEmailValidity($table[9]);
if ($testmail=== false) return _t('yp','object_notemail');
if (strlen($table[10]) > 10) {
if (trim($table[7]) != '' && !is_numeric($table[7])) return _t('yp','object_notphone');
if (trim($table[8]) != '' && !is_numeric($table[8])) return _t('yp','object_notfax');
* yellowpages::_checkEmailValidity()
* Vérification de la grammaire du mail
function _checkEmailValidity($email)
* resources::IsValidProtocol()
* vérifie si une url donnée a un protocole reconnu par un client web standard
* @param array $url : chemin absolu
if (substr($url, 0, 7) != 'http://' && substr($url, 0, 8) != 'https://' && substr($url, 0, 6) != 'ftp://' && substr($url, 0, 7) != 'ftps://') return false;
* yellowpages::AddYellowPages()
* Ajout d'une nouvelle entreprise dans l'annuaire
* @param array $table contient les composants d'une organisation
* @param object $sql_object
* @return integer $last_id
$table= $sql_object->DBescape($table);
$this->THEME = $table[2];
$requete = "INSERT INTO " . $this->TDB_YELLOWPAGES . " (yellowp_name, yellowp_activity, yellowp_theme, yellowp_street, " . "yellowp_postal_code, yellowp_city, yellowp_country, yellowp_phone, yellowp_fax, yellowp_email, " . "yellowp_website, yellowp_longitude, yellowp_latitude, yellowp_statut, yellowp_date_crea) " . "VALUES('" . $this->NAME . "', '" . $this->ACTIVITY . "', " . $this->THEME . ", '" . $this->STREET . "', '" . $this->POSTAL_CODE . "', '" . $this->CITY . "', '" . $this->COUNTRY . "', '" . $this->PHONE . "', '" . $this->FAX . "', '" . $this->EMAIL . "', '" . $this->WEBSITE . "', '" . $this->LONG. "', '" . $this->LAT. "', '" . $this->STATUT . "', NOW());";
$last_id = $sql_object->DBInsert ($requete, 1);
* yellowpages::StateYellowPages()
* modification du statut d'une organisation
* @param int $ID identifiant de l'organisation
* @param string $state (facultatif) 'P' Public/'D' Draft/'AA' AdminArchive/'PA' PublicArchive
* @param object $sql_object
$requete = "UPDATE " . $this->TDB_YELLOWPAGES . " set yellowp_statut='" . $this->STATUT . "' WHERE yellowp_id=" . $this->ID . ";";
$result = $sql_object->DBQuery($requete);
* yellowpages::DeleteYellowPages()
* suppression d'une organisatione
* @param int $ID identifiant de l'organisation
* @param object $sql_object
$requete = "UPDATE " . $this->TDB_YELLOWPAGES . " SET yellowp_statut='E', yellowp_last_modify = NOW() WHERE yellowp_id=" . $this->ID . ";";
$result = $sql_object->DBQuery ($requete);
* yellowpages::ModifyYellowPages()
* modification d'une organisation
* @param int $ID identifiant de l'organisation
* @param array $table contient les composants d'une entreprise
* @param object $sql_object
$table= $sql_object->DBescape($table);
$this->THEME = $table[2];
$requete = "UPDATE " . $this->TDB_YELLOWPAGES . " set yellowp_name='" . $this->NAME . "', yellowp_activity='" . $this->ACTIVITY . "' , yellowp_theme=" . $this->THEME . ", yellowp_street='" . $this->STREET . "', yellowp_postal_code='" . $this->POSTAL_CODE . "', yellowp_city='" . $this->CITY . "', yellowp_country='" . $this->COUNTRY . "', yellowp_phone='" . $this->PHONE . "', yellowp_fax='" . $this->FAX . "', yellowp_email='" . $this->EMAIL . "', yellowp_longitude='" . $this->LONG . "', yellowp_latitude='" . $this->LAT . "', yellowp_website='" . $this->WEBSITE . "', yellowp_statut='" . $this->STATUT . "', yellowp_last_modify = NOW() WHERE yellowp_id=" . $this->ID . ";";
$result = $sql_object->DBQuery($requete);
* yellowpages::_geocode()
* prepare and geocode a given address
private function _geocode() {
if($o->{'status'}== 'OK') {
$this->LONG = $o->{'results'}[0]->{'geometry'}->{'location'}->{'lng'};
$this->LAT = $o->{'results'}[0]->{'geometry'}->{'location'}->{'lat'};
|