X-Git-Url: http://git.roojs.org/?a=blobdiff_plain;f=DataObjects%2FCore_person_signup.php;h=a59f67d09c430106d492c9741c341a68911d7ed2;hb=1524f8b36295809a3eedd6da3c6494f8aa0d86f5;hp=7b3d7e0992a0e25c2084b57389899857e1db2188;hpb=17a3570ac8868f28c9a97f6d119663007fb2468a;p=Pman.Core
diff --git a/DataObjects/Core_person_signup.php b/DataObjects/Core_person_signup.php
index 7b3d7e09..a59f67d0 100644
--- a/DataObjects/Core_person_signup.php
+++ b/DataObjects/Core_person_signup.php
@@ -1,9 +1,9 @@
page;
+ $old = clone($this);
+ // this shold not really happen...
+ if($target->get('email', $this->email)){
+ return false;
+ }
+
+ $target->setFrom($this->toArray());
+
+ $target->insert();
+
+ $this->person_id = $target->id;
+ $this->person_table = $target->tableName();
+ $this->update($old);
+
+ if(!empty($this->inviter_id) && method_exists($target, 'createFriend')){
+ $target->createFriend($this->inviter_id);
+ }
+
+ return $target;
+ }
- function verify($key)
+ function sendVerification($template, $roo)
{
- // if key matches verify_key
- // copy into person or other entity...
- // and delete....
- //$this->whereAdd("verify_key = '".$key."'");
- if(!$this->get("verify_key",$key)){
- var_dump($this);
- exit();
- $p = DB_DataObject::factory('person');
- $p->honor = $this->honor;
- $p->name = $this->name;
- $p->email = $this->email;
- $p->firstname = $this->firstname;
- $p->lastname = $this->lastname;
- $p->firstname_alt = $this->firstname_alt;
- $p->lastname_alt = $this->lastname_alt;
- $temp_pwd = $p->generatePassword();
- //$temp_pwd = mt_rand(100000,999999);
- //$p->passwd = $temp_pwd;
- if($p->insert()){
-
- $this->delete();
-
- //login
- @session_start();
+ $content = array(
+ 'template' => $template,
+ 'person' => $this,
+ 'serverName' => $_SERVER['SERVER_NAME'],
+ 'baseURL' => $roo->baseURL
+ );
- $_SESSION['Hydra']['authUser'] = $p ? serialize($p) : false;
-
- //mail pwd
- $htmlStr = "";
- $htmlStr .= "Dear ".$p->honor.".".$p->lastname."
";
- $htmlStr .= "Congratulations on Joining HydRa.
";
- $htmlStr .= "If you need to access the system again please log in using the password ";
- $htmlStr .= $temp_pwd;
-
- $name = "Roojs";
- $email_sender = "no-reply@roojs.com";
- $subject = "Congratulations";
- $recipient_email = $p->email;
-
- var_dump($p->email);
- exit();
-
- $headers = "MIME-Version: 1.0\r\n";
- $headers .= "Content-type: text/html; charset=utf-8\r\n";
- $headers .= "From: {$name} ";
- $headers .= "<";
- $headers .= $email_sender;
- $headers .= ">\r\n";
-
- $body = $htmlStr;
- if(!mail($recipient_email, $subject, $body, $headers)){
- error_log("Sending failed.");
- }
- }else{
- error_log("db insert error");
- return false;
- }
+ $sent = DB_DataObject::factory('core_email')->send($content);
+
+ if(!is_object($sent)){
+ return true;
}
- return false;
+ return $sent;
+ }
+
+ function getEmailFrom()
+ {
+ if (empty($this->name)) {
+ return $this->email;
+ }
+ return '"' . addslashes($this->name) . '" <' . $this->email . '>';
}
}
-
\ No newline at end of file