public function getRenderUITopExtensions(&$html) { $current_user = Member::currentUser(); if (!$current_user->shouldShowDupesOnProfile()) { return; } $dupe_members = $this->manager->getDupes($current_user); $qty = count($dupe_members); if ($qty > 0) { Requirements::css('dupe_members/css/edit.profile.dupes.member.extension.css'); Requirements::css('themes/openstack/bower_assets/sweetalert2/dist/sweetalert2.min.css'); Requirements::javascript('themes/openstack/bower_assets/sweetalert2/dist/sweetalert2.min.js'); Requirements::javascript('marketplace/code/ui/admin/js/utils.js'); Requirements::javascript('dupe_members/javascript/edit.profile.dupes.member.extension.js'); $members_emails_warning = "<div id=\"dupes-email-warning-container\" class=\"alert alert-danger alert-dismissible\" role=\"alert\">"; $members_emails_warning .= "<button id='dupes-dismiss' type=\"button\" class=\"close\" data-dismiss=\"alert\"><span aria-hidden=\"true\">×</span><span class=\"sr-only\">Close</span></button>"; $members_emails_warning .= "<p>We currently show there are <span class='span-qty'>{$qty}</span> additional accounts with your First & Last Name:</p>"; $members_emails_warning .= '<ul id="dupes-emails-list">'; foreach ($dupe_members as $dupe_mem) { $id = $dupe_mem->getIdentifier(); $delete_btn_html = '<a class="roundedButton dupes-member-delete-account" data-id="' . $id . '" href="#" title="Delete account">Delete</a>'; $merge_btn_html = '<a class="roundedButton dupes-member-merge-account" data-id="' . $id . '" href="#" title="Merge account">Merge</a>'; $not_my_btn_html = '<a class="roundedButton dupes-member-not-my-account" data-id="' . $id . '" href="#" title="This is not my account">This is not my account</a>'; $members_emails_warning .= '<li><span class="dupes-email">' . preg_replace('/(?<=.).(?=.*.@)/u', '*', $dupe_mem->getEmail()) . '</span>' . $merge_btn_html . ' ' . $delete_btn_html . ' ' . $not_my_btn_html . '</li>'; } $members_emails_warning .= '</ul></div>'; $html .= $members_emails_warning; } }
/** * @return void */ public function run() { try { $batch_size = 15; if (isset($_GET['batch_size'])) { $batch_size = intval(trim(Convert::raw2sql($_GET['batch_size']))); } $manager = new DupesMembersManager(new SapphireDupesMemberRepository(), new DupeMemberMergeRequestFactory(), new DupeMemberDeleteRequestFactory(), new SapphireDupeMemberMergeRequestRepository(), new SapphireDupeMemberDeleteRequestRepository(), new SapphireDeletedDupeMemberRepository(), new DeletedDupeMemberFactory(), new SapphireCandidateNominationRepository(), new SapphireNotMyAccountActionRepository(), new NotMyAccountActionFactory(), SapphireTransactionManager::getInstance(), SapphireBulkQueryRegistry::getInstance()); $manager->purgeActionRequests($batch_size); return 'OK'; } catch (Exception $ex) { SS_Log::log($ex, SS_Log::ERR); echo $ex->getMessage(); } }
public function markForeignAccount() { try { $foreign_id = intval(convert::raw2sql($this->request->param('FOREIGN_MEMBER_ID'))); $current_member = Member::currentUser(); $this->manager->markAsNotMyAccount($current_member->ID, $foreign_id); return $this->ok(); } catch (NotFoundEntityException $ex1) { SS_Log::log($ex1, SS_Log::WARN); return $this->notFound($ex1->getMessage()); } catch (EntityValidationException $ex2) { SS_Log::log($ex2, SS_Log::WARN); return $this->validationError($ex2->getMessages()); } catch (Exception $ex) { SS_Log::log($ex, SS_Log::ERR); return $this->serverError(); } }