/** * Adding users from the Invitaion URL and setting the Co-Worker * relation between the invitee and the invitor * @param $evtcl -- Object */ function eventNewInvitedUserAdd(EventControler $evtcl) { $fields = $evtcl->fields; if ($fields["firstname"] == '' || $fields["lastname"] == '' || $fields["email"] == '' || $fields["username"] == '') { $msg = "You must fill the require fields"; $errorpage = $evtcl->errorpage; $dispError = new Display($errorpage); $dispError->addParam("id", $evtcl->id); $dispError->addParam("message", $msg); $evtcl->setDisplayNext($dispError); } else { if ($evtcl->validation_fail == 'No') { $q = new sqlQuery($this->getDbCon()); $q->query("select * from user where email = '" . $fields["email"] . "'"); $q1 = new sqlQuery($this->getDbCon()); $q1->query("select * from user where username = '******'"); if ($q1->getNumRows() > 0) { $msg = "Username is already in use"; $errorpage = $evtcl->errorpage; $dispError = new Display($errorpage); $dispError->addParam("id", $evtcl->id); $dispError->addParam("message", $msg); $evtcl->setDisplayNext($dispError); } elseif ($q->getNumRows() > 0) { $msg = "reg_duplicate_email"; $errorpage = $evtcl->errorpage; $dispError = new Display($errorpage); $dispError->addParam("id", $evtcl->id); $dispError->addParam("message", $msg); $evtcl->setDisplayNext($dispError); } else { //Add the user include_once "class/UserRelations.class.php"; $do_user_rel = new UserRelations(); $_SESSION['do_User']->firstname = $fields["firstname"]; $_SESSION['do_User']->lastname = $fields["lastname"]; $_SESSION['do_User']->email = $fields["email"]; $_SESSION['do_User']->username = $fields["username"]; $_SESSION['do_User']->company = $fields["company"]; $_SESSION['do_User']->regdate = date("Y-m-d"); //$_SESSION['do_User']->password = $do_user_rel->encrypt($fields["password"]); $_SESSION['do_User']->password = $fields["password"]; $_SESSION['do_User']->plan = "free"; $_SESSION['do_User']->status = "active"; $_SESSION['do_User']->add(); $last_id = $this->getInsertId($this->table, $this->primary_key); // Update the user_relations $do_user_rel = new UserRelations(); $iduser_relations = $do_user_rel->decrypt($evtcl->id); $do_user_rel->getId($iduser_relations); $do_user_rel->idcoworker = $last_id; $do_user_rel->enc_email = $do_user_rel->encrypt($fields["email"]); $do_user_rel->accepted = 'Yes'; $id_sender = $do_user_rel->iduser; $do_user_rel->update(); $do_user_rel_rev = new UserRelations(); $do_user_rel_rev->addNew(); $do_user_rel_rev->accepted = 'Yes'; $do_user_rel_rev->iduser = $last_id; $do_user_rel_rev->idcoworker = $id_sender; $do_user_rel_rev->add(); //Set the session variable $userdata = array(); $userdata['id'] = $last_id; $userdata['firstname'] = $fields["firstname"]; $userdata['lastname'] = $fields["lastname"]; $userdata['email'] = $fields["email"]; $userdata['username'] = $this->{$this->getUsernameField()}; $userdata['user_table'] = $this->table; $_SESSION['userdata'] = $userdata; if (!$this->isPersistent()) { $this->sessionPersistent("do_" . $this->getObjectName(), "signout.php", 36000); } //Adding contact if ($fields["company"]) { $do_company = new Company(); $idcompany = $do_company->addNewCompany($fields["company"], $last_id); } $do_contact = new Contact(); $do_contact->firstname = $fields["firstname"]; $do_contact->lastname = $fields["lastname"]; $do_contact->iduser = $last_id; $do_contact->idcompany = $idcompany; $do_contact->company = $fields["company"]; $do_contact->add(); $do_contact->addEmail($fields["email"], 'Home'); $lastInsertedContId = $do_contact->getPrimaryKeyValue(); $this->getId($last_id); $this->idcontact = $lastInsertedContId; $this->update(); $contact_view = new ContactView(); $contact_view->setUser($last_id); $contact_view->rebuildContactUserTable(); // Send an email to the sender that the Co-Worker has registered $do_user_rel->sendEmailOnCoWorkerRegistration($id_sender, $_SESSION['do_User']); //Redirect the page $errorpage = $evtcl->successpage; $dispError = new Display($errorpage); $evtcl->setDisplayNext($dispError); } } } }