Spaces:
No application file
No application file
namespace MauticPlugin\MauticFullContactBundle\Services; | |
/** | |
* This class handles everything related to names that aren't person-based info lookup. | |
* | |
* @author Keith Casey <contrib@caseysoftware.com> | |
* @license http://www.apache.org/licenses/LICENSE-2.0 Apache | |
*/ | |
class FullContact_Name extends FullContact_Base | |
{ | |
/** | |
* Supported lookup methods. | |
* | |
* @var array | |
*/ | |
protected $_supportedMethods = ['normalizer', 'deducer', 'similarity', 'stats', 'parser']; | |
protected $_resourceUri = ''; | |
/** | |
* This takes a name and breaks it into its individual parts. | |
* | |
* @param type $name | |
* @param type $casing -> valid values are uppercase, lowercase, titlecase | |
* | |
* @return type | |
*/ | |
public function normalizer($name, $casing = 'titlecase') | |
{ | |
$this->_resourceUri = '/name/normalizer.json'; | |
$this->_execute(['q' => $name, 'method' => 'normalizer', 'casing' => $casing]); | |
return $this->response_obj; | |
} | |
/** | |
* This resolves a person's name from either their email address or a | |
* username. This is basically a wrapper for the Person lookup methods. | |
* | |
* @param type $type -> valid values are email and username | |
* @param type $casing -> valid values are uppercase, lowercase, titlecase | |
* | |
* @return type | |
*/ | |
public function deducer($value, $type = 'email', $casing = 'titlecase') | |
{ | |
$this->_resourceUri = '/name/deducer.json'; | |
$this->_execute([$type => $value, 'method' => 'deducer', 'casing' => $casing]); | |
return $this->response_obj; | |
} | |
/** | |
* These are two names to compare. | |
* | |
* @param type $name1 | |
* @param type $name2 | |
* @param type $casing | |
* | |
* @return type | |
*/ | |
public function similarity($name1, $name2, $casing = 'titlecase') | |
{ | |
$this->_resourceUri = '/name/similarity.json'; | |
$this->_execute(['q1' => $name1, 'q2' => $name2, 'method' => 'similarity', 'casing' => $casing]); | |
return $this->response_obj; | |
} | |
public function stats($value, $type = 'givenName', $casing = 'titlecase') | |
{ | |
$this->_resourceUri = '/name/stats.json'; | |
$this->_execute([$type => $value, 'method' => 'stats', 'casing' => $casing]); | |
return $this->response_obj; | |
} | |
public function parser($name, $casing = 'titlecase') | |
{ | |
$this->_resourceUri = '/name/parser.json'; | |
$this->_execute(['q' => $name, 'method' => 'parser', 'casing' => $casing]); | |
return $this->response_obj; | |
} | |
} | |