public function execute(){ $request = $this->getContext()->getRequest(); $id = $request->getParameter('id'); $this->checkMemberAuth($id); $memberDao = new BaseDao('Member'); $nocDao = new BaseDao("NatureOfChange"); $nocId = $request->getParameter("deletionReason"); if ($nocId) { $memberToDelete = $memberDao->get($id); $memberToDelete->nocFid = $nocId; $member = $memberDao->getPattern(); $member = clone($memberToDelete); $member->deleted = 1; $memberDao->save($member); $this->log("Deleting member: ".$memberToDelete->firstname.", ".$memberToDelete->lastname."."); $this->log("Deleting member: ".$memberToDelete->firstname.", ".$memberToDelete->lastname.".", true); } else{ $request->setAttribute('nocList', $nocDao->search()); return "Form"; } }
public function execute() { $this->checkAdminAuth(); $loginDao = new BaseDao("Login"); $affilateDao = new BaseDao("Affiliate"); $affList = $affilateDao->search(); $loginRecordsToInsert = array(); foreach($affList as $affiliate){ $login = $loginDao->getPattern(); $login->name = $affiliate->abbreviation." admin"; $login->password = "******"; $login->login = $affiliate->abbreviation; $login->roleFid = 2; $login->email = "editme".$affiliate->abbreviation."@acbdb.org"; $id = $login->insert(); $affiliate->editor = $id; $affiliate->update(); } return View::NONE; }
function searchByRole($roleName, $affiliates) { $roleDao = new BaseDao('Role'); $pattern = $roleDao->getPattern(); $pattern->name = $roleName; $results = $roleDao->search($pattern); $logins = array(); if ($results) { $role = $results[0]; $loginDao = new BaseDao('Login'); foreach ($role->getLogins() as $id) { $login = $loginDao->get($id); //var_dump($login); if ($affiliates) { //var_dump($login->getRoles()); //die(); //var_dump(count($affiliates)); foreach ($affiliates as $affiliate) { if ($login->isInRole($roleName, $affiliate->id)) { // echo "<br/>in role!<br/>"; array_push($logins, $login); break; } //else //echo "<br/>not in role!<br/>"; } } else { array_push($logins, $login); } } } return $logins; }
public function destroy() { $atomDao = new BaseDao("CertifierTransactionAtom"); $atom = $atomDao->getPattern(); $atom->transFid = $this->getId(); $list = $atomDao->search($atom); //var_dump($list); foreach ($list as $element) { $element->delete(); } parent::destroy(); }
public static function resume($id, $daoName = "Transaction") { $dao = new BaseDao($daoName); $ex = $dao->getPattern(); $ex->id = $id; $retvals = $dao->search($ex); if ($retvals) { $retval = $retvals[0]; $doDao = new BaseDao("DirtyObject"); $doPattern = $doDao->getPattern(); $doPattern->transactionFid = $retval->getId(); $doPattern->data = null; $res = $doDao->search($doPattern); foreach ($res as $obj) { $retval->queue[$obj->getId()] = $obj; } return $retval; } else { return false; } }
function getMembers($example = null, $certified = 'both', $orderBy = "firstname", $from = 0, $limit = 30000) { $pattern = 0; $dao = new BaseDao("Member"); if (!$example) { $pattern = $dao->getPattern(); } else { $pattern = clone $example; } $pattern->__table = " members, asc_members_affiliates "; if ($certified == 'both') { $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id); } else { if ($certified) { $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id . " and asc_members_affiliates.certified = 1"); } else { $pattern->whereAdd(" members.id = asc_members_affiliates.memberFid and asc_members_affiliates.affiliateFid = " . $this->id . " and asc_members_affiliates.certified = 0"); } } $pattern->orderBy($orderBy); $pattern->limit($from, $limit); return $dao->search($pattern); }
function max5admins($fields){ if ($fields['user']['roleFid'] != 3) { return TRUE; } $errors = array(); $loginDao = new BaseDao("Login"); $login = $loginDao->getPattern(); $login->roleFid = 3; $loginList = $loginDao->search($login); //if user is already superadmin $id = $fields['user']['id']; if (in_array($id, $this->getListOfCertainFieldValues($loginList, 'id'))){ return TRUE; } // print_r(count($loginList)); die(); if (count($loginList) >= 5) { $errors['user[roleFid]'] = "There are already 5 superadmins exist. Remove one before."; } if (empty($errors)) return TRUE; else return $errors; }
private function parseMembers() { $memFile = fopen("./upload/members.txt", "r"); $zipDao = new BaseDao("model_Zip_codes"); $stateDao = new BaseDao("State"); while (!feof($memFile)) { $line = fgets($memFile); $fields = explode("\t", $line); $forum = strlen($fields[16]) == 4 ? 0 : 1; $cert = strlen($fields[26]) > 1 ? 1 : 0; $deleted = null; if ($fields[24]) { $deleted = strlen($fields[24]) == 6 ? 1 : 0; } $isSighted = null; if ($fields[23]) { $isSighted = strlen($fields[23]) == 6 ? 1 : 0; } //noc $noc = null; $nocLetter = strtolower($fields[25]); switch ($nocLetter) { case 'd': $noc = 4; break; case 'u': $noc = 11; break; case 'm': $noc = 9; break; case 'f': $noc = 2; break; } $middleInitial = ""; $tempName = $this->prepareName($fields[6]); if (is_array($tempName)) { $lastName = $tempName[0]; $middleInitial = $tempName[1]; } else { $lastName = $tempName; } $tempName = $this->prepareName($fields[7]); if (is_array($tempName)) { $firstName = $tempName[0]; $middleInitial = $tempName[1]; } else { $firstName = $tempName; } $curRecord = array("recnum" => $fields[0], "lastName" => $lastName, "firstName" => $firstName, "middleInitial" => $middleInitial, "address1" => $fields[8], "zipcode" => $fields[13], "city" => $this->Ufirst($fields[11]), "stateFid" => $fields[12], "added" => date('Y-m-d'), "receivesBrailleForum" => $forum, "isCertified" => $cert, "deleted" => $deleted, "nocFid" => $noc, "isSighted" => $isSighted, "notes" => $fields[22]); $zipPattern = $zipDao->getPattern(); $statePattern = $stateDao->getPattern(); $zipPattern->zip = $curRecord['zipcode']; $zips = $zipDao->search($zipPattern); if ($zips && count($zips) > 0) { $zip = $zips[0]; $curRecord['city'] = $zip->city ? $zip->city : $curRecord['city']; $statePattern->abbr = $zip->state; $state = $stateDao->search($statePattern); $curRecord['stateFid'] = $state[0]->id; } else { $statePattern->abbr = $curRecord['state']; $state = $stateDao->search($statePattern); $curRecord['stateFid'] = $state[0]->id; } $toReturn[] = $curRecord; } return $toReturn; }
function search() { return BaseDao::search("Member", $this); }
private function findEditorAffiliates() { $editorId = $this->getContext()->getUser()->getAttribute('Login')->id; $affDao = new BaseDao("Affiliate"); $affEx = $affDao->getPattern(); $affEx->editor = $editorId; $editorAffiliates = $affDao->search($affEx); return $editorAffiliates; }
public function execute() { $request = $this->getContext()->getRequest(); $identity = $request->getParameter("id"); $redirectTo = "MemberView?id=$identity"; if ($request->getParameter("certifyForAff")){ $certifyForAff = $request->getParameter("certifyForAff"); $redirectTo = "CertifyAffiliate?id=$certifyForAff"; } $userRole = $this->checkMemberAuth($identity); $request->setAttribute('userRole', $userRole); //redirect if we press Cancel button if($request->getParameter('cancel')) { //redirecting to list of members if we aren't press cancles when adding new member. if (!identity){ $redirectTo = "Search?searchFor=Member"; } $this->log("Canceling editing of member record. Member id: $identity."); header("location: $redirectTo"); return View::NONE; } $this->dao = new BaseDao("Member"); $this->assocDao = new BaseDao("MemberToAffiliateAssociation"); $this->affDao = new BaseDao("Affiliate"); if($identity){ $member = $this->dao->get($identity); $member->dig(); } else { $this->log("Inserting new member."); $member = $this->dao->getPattern(); } $request->setAttribute('member', $member); $needToSaveChanges = !($this->isRecordModifiedBySameRolePerson($member, $userRole)); $request->setAttribute("needToApproveChanges", $needToSaveChanges && $this->isRecordHasActiveTransactions($member)); if ($request->getParameter('rollback')) { $this->log("Rolling back changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName."."); $this->log("Rolling back changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true); $this->rollBackChanges($member); $this->dao->save($member); } elseif($request->getParameter('accept')){ $this->log("Accepting changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName."."); $this->log("Accepting changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true); $this->acceptChanges($member); $this->dao->save($member); } elseif($request->getParameter('save')){ $this->log("Saving changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName."."); $this->log("Saving changes made by $userRole for member id: ".$member->id.", name: ". $member->firstName." ".$member->lastName.".", true); if ($needToSaveChanges) { $this->saveTransaction($member); $this->log("Transaction created. Please certify chantges. Member id: ".$member->id, ", name: ". $member->firstName." ".$member->lastName."."); } $identity = $this->saveMember($member, $request); $redirectTo = "MemberView?id=$identity"; } elseif($request->getParameter('certify') && $certifyForAff){ //just to be sure affiliate id is set. if ($this->isRecordHasActiveTransactions($member)){ $this->acceptChanges($member); $this->dao->save($member); $this->log("Member certified. Pending changes accepted automatically. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName."."); $this->log("Member certified. Pending changes accepted automatically. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".", true); }else{ $this->saveMember($member, $request); $this->log("Member certified. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName."."); $this->log("Member certified. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName.".", true); } $assoc = $this->getAssocExample($member->id, $certifyForAff); $assoc->certified = 1; $assoc->certificationDate = date('Y-m-d'); $assoc->update(); //this can possible not work if during editing we remove record from certifying affiliate. $this->updateAffLastCertDate($certifyForAff); } elseif($request->getParameter("not_certify")){ $assoc = $this->getAssocExample($member->id, $certifyForAff); $assoc->delete(); $this->log("Member not ceritfied. Id: ".$member->id. ", name: ". $member->firstName." ".$member->lastName."."); } else{ $nocDao = new BaseDao("NatureOfChange"); $request->setAttribute('nocList', $nocDao->search()); $mediaDao = new BaseDao("Media"); $request->setAttribute("mediaList", $mediaDao->search()); $countryDao = new BaseDao("Country"); $request->setAttribute("countryList", $countryDao->search()); $stateDao = new BaseDao("State"); $request->setAttribute("stateList", $stateDao->search()); $request->setAttribute('affList', $this->getAffListForSelectOptions()); foreach($member->affiliates as $affiliate) { $affListSelected[] = $affiliate->id; } $request->setAttribute("affListSelected", $affListSelected); $certDates = $this->getAffNameToCertificationDateMap($member); $request->setAttribute("certificationDates", $certDates); if ($certifyForAff) { $request->setAttribute("certificationMode", true); $request->setAttribute("certifyForAff", $certifyForAff); } return 'Form'; } // $this->getContext()->getController()->forward("Default", $redirectTo); header("location: $redirectTo"); return View::NONE; }
public static function find($affiliateList) { $affDao = new BaseDao("EditorTransactionAtom"); $pattern = $affDao->getPattern(); $inText = ""; if ($affiliateList) { foreach ($affiliateList as $aff) { $inText .= $aff . ", "; } $inText .= "-1"; } $pattern->whereAdd(" affiliateFid IN ( " . $inText . " )"); $trans_results = $affDao->search($pattern); $result = array(); foreach ($trans_results as $res) { array_push($result, EditorTransaction::resume($res->transFid)); } return $result; }