public function executeBulkupload() { if ($this->getRequest()->getFileName('csvfile')) { $fileName = md5($this->getRequest()->getFileName('csvfile') . time() . rand(0, 99999)); $ext = $this->getRequest()->getFileExtension('csvfile'); $this->getRequest()->moveFile('csvfile', sfConfig::get('sf_upload_dir') . "//csvfiles//" . $fileName . ".csv"); $fullname = $fileName . ".csv"; //$fullpath = '/uploads/csvfiles/'.$fullname; $fp = sfConfig::get('sf_upload_dir') . "//csvfiles//" . $fileName . ".csv"; $reader = new sfCsvReader($fp, ',', '"'); $reader->open(); $i = 1; $exist; $ignore; $log; $ignoreflag = 0; $success = 0; while ($data = $reader->read()) { $name[] = array(); $name = explode(' ', $data[0]); $roll = $data[1]; $enrol = $data[2]; $branch = $data[3]; $degree = $data[4]; $year = $data[5]; $c = new Criteria(); $c->add(UserPeer::ENROLMENT, $enrol); $user = UserPeer::doSelectOne($c); if (!$user) { $c = new Criteria(); $c->add(BranchPeer::CODE, $branch); $br = BranchPeer::doSelectOne($c); if (!$br) { $br = new Branch(); $br->setName($branch); $br->setCode($branch); $br->save(); } $c = new Criteria(); $c->add(DegreePeer::NAME, $degree); $dg = DegreePeer::doSelectOne($c); if (!$dg) { $dg = new Degree(); $dg->setName($degree); $dg->save(); } $user = new User(); if ($roll) { $user->setRoll($roll); $user->setRollflag(sfConfig::get('app_defaultprivacy_roll')); } if ($enrol) { $user->setEnrolment($enrol); $user->setEnrolflag(sfConfig::get('app_defaultprivacy_enrol')); } else { $ignoreflag = 1; } if ($year) { $user->setGraduationyear($year); $user->setGraduationyearflag(sfConfig::get('app_defaultprivacy_year')); } $user->setBranchId($br->getId()); $user->setBranchflag(sfConfig::get('app_defaultprivacy_branch')); $user->setDegreeId($dg->getId()); $user->setDegreeflag(sfConfig::get('app_defaultprivacy_degree')); $user->setIslocked(sfConfig::get('app_islocked_unclaimed')); $user->setUsertype(sfConfig::get('app_usertypecode_Alumni')); $lastname = ''; $personal = new Personal(); $name[0] = str_replace('.', '', $name[0]); $personal->setFirstname($name[0]); if ($name[3]) { $name[1] = str_replace('.', '', $name[1]); $name[2] = str_replace('.', '', $name[2]); $name[3] = str_replace('.', '', $name[3]); $midname = $name[1] . " " . $name[2]; $personal->setMiddlename($midname); $personal->setLastname($name[3]); $lastname = $name[3]; } elseif ($name[2]) { $name[1] = str_replace('.', '', $name[1]); $name[2] = str_replace('.', '', $name[2]); $personal->setMiddlename($name[1]); $personal->setLastname($name[2]); $lastname = $name[2]; } elseif ($name[1]) { $name[1] = str_replace('.', '', $name[1]); $personal->setLastname($name[1]); $lastname = $name[1]; } $uname_suffix = $branch . substr($year, -2); if ($lastname) { $username = $name[0] . '.' . $lastname . '@'; } else { $username = $name[0] . '@'; } $temp = 1; $tempusername = $username; while ($this->uniqueuser($tempusername . $uname_suffix)) { $tempusername = $username . $temp; $temp++; } $tempusername = $tempusername . $uname_suffix; $user->setUsername($tempusername); if ($ignoreflag == 0) { $e = $user->save(); $personal->setUserId($user->getId()); $personal->save(); $success++; $log[$i][0] = $e == 1 ? "{$i}) Uploaded Successfully" : $e; $log[$i][1] = $data[0]; } else { $ignore[] = $i; $ignoreflag = 0; $log[$i][0] = "{$i}) NO enrolment number"; $log[$i][1] = $data[0]; } } else { $exist[] = $i; $log[$i][0] = "{$i}) In Database as " . $user->getFullname() . ", " . $user->getBranchname() . " " . $user->getGraduationyear(); $log[$i][1] = $data[0]; } $i++; } // while ($data = $reader->read()) ends here $reader->close(); $this->log = $log; $this->success = $success; $this->ignored = $ignore; $this->exists = $exist; } }
public function executeRegistration() { $userid = $this->getRequestParameter('userid'); $this->getUser()->getAttributeHolder()->remove('claimerid'); $roll = $this->getRequestParameter('roll'); $hawa = $this->getRequestParameter('hawa'); $city = $this->getRequestParameter('city'); $hod = $this->getRequestParameter('hod'); $director = $this->getRequestParameter('director'); $teacher = $this->getRequestParameter('favteacher'); $lanka = $this->getRequestParameter('favlankashop'); $email = $this->getRequestParameter('email'); $other = $this->getRequestParameter('otherinfo'); $dusername = $this->getRequestParameter('dusername'); $mob = $this->getRequestParameter('mob'); if (!$userid) { $fname = $this->getRequestParameter('fname'); $mname = $this->getRequestParameter('mname'); $lname = $this->getRequestParameter('lname'); $year = $this->getRequestParameter('year'); $dusername = $this->getRequestParameter('dusername'); $formerrors1 = array(); if (!$fname) { $formerrors1[] = 'Please enter first name'; } if (!$lname) { $formerrors1[] = 'Please enter last name'; } if (!$dusername) { $formerrors1[] = 'Please enter username'; } if ($formerrors1) { $this->getRequest()->setErrors($formerrors1); $this->forward('home', 'getmyaccount'); } $branchn = BranchPeer::retrieveByPK($this->getRequestParameter('branchid')); $degreen = DegreePeer::retrieveByPK($this->getRequestParameter('degreeid')); if (!$dusername) { $newusername = $fname . "." . $lname . "@" . $branchn->getCode() . substr($year, -2); } else { $newusername = $dusername; } $currentyear = date('Y'); if ($currentyear <= $year) { $usertype = '0'; } else { $usertype = '1'; } $user = new User(); $user->setUsername($newusername); $user->setRoll($roll); $user->setRollflag(sfConfig::get('app_defaultprivacy_roll')); $user->setGraduationyear($year); $user->setGraduationyearflag(sfConfig::get('app_defaultprivacy_year')); $user->setBranchId($branchn->getId()); $user->setBranchflag(sfConfig::get('app_defaultprivacy_branch')); $user->setDegreeId($degreen->getId()); $user->setDegreeflag(sfConfig::get('app_defaultprivacy_degree')); $user->setUsertype($usertype); $user->setTempemail($email); $user->setIslocked(sfConfig::get('app_islocked_newreg')); $user->save(); $personal = new Personal(); $personal->setUserId($user->getId()); $personal->setFirstname($fname); $personal->setMiddlename($mname); $personal->setLastname($lname); $personal->setEmail($email); $personal->setMobile($mob); $personal->save(); $userid = $user->getId(); } else { $user = UserPeer::retrieveByPK($userid); $user->setIslocked(sfConfig::get('app_islocked_claimed')); $user->save(); } $c = new Criteria(); $c->add(ClaiminfoPeer::USER_ID, $userid); $claiminfo = ClaiminfoPeer::doSelectOne($c); if ($claiminfo) { $this->user = $claiminfo->getUser(); $this->claiminfo = $claiminfo; } else { $claiminfo = new Claiminfo(); $claiminfo->setUserId($userid); $claiminfo->setRoll($roll); $claiminfo->setHawa($hawa); $claiminfo->setCity($city); $claiminfo->setHod($hod); $claiminfo->setDirector($director); $claiminfo->setTeacher($teacher); $claiminfo->setLankashop($lanka); $claiminfo->setOther($other); $claiminfo->setDusername($dusername); $claiminfo->save(); $this->claiminfo = $claiminfo; $this->user = $user; if ($user) { $username = $user->getUsername(); $personal = $user->getPersonal(); $personal->setEmail($email); $personal->save(); $sendermail = sfConfig::get('app_from_mail'); $sendername = sfConfig::get('app_from_name'); $to = sfConfig::get('app_to_adminmail'); $subject = "Registration request for ITBHU Global Org"; $body = ' Hi, I want to connect to ITBHU Global. My verification information is: '; $body = $body . 'Roll Number : ' . $roll . ' '; $body = $body . 'HAWA : ' . $hawa . ' '; $body = $body . 'City : ' . $city . ' '; $body = $body . 'HoD : ' . $hod . ' '; $body = $body . 'Director : ' . $director . ' '; $body = $body . 'Favourite Teacher : ' . $teacher . ' '; $body = $body . 'Favuorite Lanka Shop : ' . $lanka . ' '; $body = $body . 'My Email : ' . $email . ' '; $body = $body . 'Username I am claiming: ' . $username . ' '; $body = $body . 'Desired Username : '******' '; $body = $body . 'Thanks,'; $body = $body . ' ' . $user->getFullname(); //send mail to admin $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $to, $subject, $body); //send mail to class authorizer $ca = new Criteria(); $ca->add(UserPeer::GRADUATIONYEAR, $user->getGraduationyear()); $ca->add(UserPeer::BRANCH_ID, $user->getBranchId()); $ca->addJoin(UserPeer::ID, UserrolePeer::USER_ID); $ca->add(UserrolePeer::ROLE_ID, sfConfig::get('app_role_auth')); $authusers = UserPeer::doSelect($ca); //if class authorizers are available. if ($authusers) { foreach ($authusers as $authuser) { $toauth = $authuser->getEmail(); $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $toauth, $subject, $body); } $user->setAuthcode(sfConfig::get('app_authcode_classauth')); $user->save(); } else { //get other authorizers $ugyear = $user->getGraduationyear() - 2; $lgyear = $user->getGraduationyear() + 2; $oa = new Criteria(); $oa->add(UserPeer::GRADUATIONYEAR, $ugyear, Criteria::GREATER_EQUAL); $oa->add(UserPeer::GRADUATIONYEAR, $lgyear, Criteria::LESS_EQUAL); $oa->add(UserPeer::BRANCH_ID, $user->getBranchId()); $oa->addJoin(UserPeer::ID, UserrolePeer::USER_ID); $oa->add(UserrolePeer::ROLE_ID, sfConfig::get('app_role_auth')); $authuserspm = UserPeer::doSelect($oa); //if other authorizers are available if ($authuserspm) { foreach ($authuserspm as $authuserpm) { $toauth = $authuserpm->getEmail(); $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $toauth, $subject, $body); $user->setAuthcode(sfConfig::get('app_authcode_otherauth')); $user->save(); } } else { // no authorizers were available, send to master list of authorizers $ma = new Criteria(); $ma->addJoin(UserPeer::ID, UserrolePeer::USER_ID); $ma->add(UserrolePeer::ROLE_ID, sfConfig::get('app_role_masterauth')); $mauths = UserPeer::doSelect($ma); if ($mauths) { foreach ($mauths as $mauth) { $toauth = $mauth->getEmail(); $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $toauth, $subject, $body); $user->setAuthcode(sfConfig::get('app_authcode_masterauth')); $user->save(); } } else { $user->setAuthcode(sfConfig::get('app_authcode_none')); $user->save(); } } } $sendermail = sfConfig::get('app_from_mail'); $sendername = sfConfig::get('app_from_name'); $to = $email; $subject = "Registration request for ITBHU Global Org"; $body = ' Dear ' . $user->getFullname() . ', Thank you for your connect request. We\'ll get back to you shortly. Admin, ITBHU Global '; $mail = myUtility::sendmail($sendermail, $sendername, $sendermail, $sendername, $sendermail, $to, $subject, $body); } } // saving the checkbox data in db $c = new Criteria(); $c->add(PersonalPeer::USER_ID, $user->getId()); $this->personal = PersonalPeer::doSelectOne($c); $c = new Criteria(); $worktypes = WorktypePeer::doSelect($c); foreach ($worktypes as $worktype) { if ($this->getRequestParameter($worktype->getId())) { $personalWorktype = new PersonalWorktype(); $personalWorktype->setPersonalId($this->personal->getId()); $personalWorktype->setWorktypeId($worktype->getId()); $personalWorktype->save(); } } }