Gentics Portal.Node PHP API
 All Classes Namespaces Functions Variables Pages
internet.php
1 <?php
2 
3 /**
4 * Internet Class
5 */
6 class Internet extends Faker
7 {
8  /**
9  * Do nothing on being instanced
10  *
11  * @return void
12  * @author Caius Durling
13  */
14 
15  private static $_domain_suffix = array('co.uk','com','us','org','ca','biz','info','name');
16  private static $_free = array('gmail.com','googlemail.com','yahoo.com','hotmail.com','hotmail.co.uk');
17  private static $_name_formats = array(array('first_name'),array('first_name','surname'));
18 
19  public function __construct()
20  {
21  }
22 
23  public function __get( $var )
24  {
25  if ( strpos( $var, "(" ) && strpos( $var, ")" ) ) {
26  return $this->$var;
27  } else {
28  return $this->$var();
29  }
30  }
31 
32  public function domain_suffix()
33  {
34  return parent::random( self::$_domain_suffix );
35  }
36 
37  public function domain_word()
38  {
39  $result = explode( ' ', parent::__get('Company')->name );
40  $result = $result[0];
41  $result = strtolower( $result );
42  $result = preg_replace( "/\W/", '', $result );
43  return $result;
44  }
45 
46  public function domain_name()
47  {
48  $result[] = $this->domain_word;
49  $result[] = $this->domain_suffix;
50  return join( $result, '.' );
51  }
52 
53  public function user_name( $name = null )
54  {
55  if ( $name ) {
56  return $this->sanitise_name( $name );
57  }
58 
59  // get first_name, surname
60  $n = parent::__get('Name');
61  $a = parent::random( self::$_name_formats );
62 
63  foreach ( $a as $method ) {
64  $na[] = $n->$method;
65  }
66 
67  // run sanitise_name()
68  $na = join( ' ', $na );
69  $result = $this->sanitise_name( $na );
70  return $result;
71  }
72 
73  public function email( $name = null)
74  {
75  return join( array( $this->user_name($name), $this->domain_name() ), "@" );
76  }
77 
78  public function free_email( $name = null)
79  {
80  return join( array( $this->user_name($name), parent::random( self::$_free ) ), "@" );
81  }
82 
83  protected function sanitise_name( $name )
84  {
85  $name = strtolower( $name );
86  $n = explode(' ', $name );
87  $n = preg_replace("/\W/", "", $n);
88  $d = array( '.', '_');
89  // Randomise the array order
90  shuffle( $n );
91  return join( $n, parent::random( $d ) );
92  }
93 
94 }
95 
96 ?>