Inheritance: extends CI_Controller
 protected function setNavigation(Member $member)
 {
     if ($member->getId() !== $this->getUser()->getMemberId()) {
         sfConfig::set('sf_nav_type', 'friend');
         sfConfig::set('sf_nav_id', $member->getId());
     }
 }
Example #2
0
 /**
  * returns a count of how many posts a member has made
  *
  * @param object $member - Member entity
  * @access public
  * @return int
  */
 public function getMemberPostCount(Member $member)
 {
     if (!$member->isLoaded()) {
         return 0;
     }
     return $this->countWhere("IdWriter = '{$member->getPKValue()}'");
 }
 private function addMember($id, $name)
 {
     $session = $this->getSession($id);
     // Check for existing member
     foreach ($session->getMembers() as $candidate) {
         if ($candidate->getName() == $name) {
             $member = $candidate;
             break;
         }
     }
     // Create new member
     if (!isset($member)) {
         $member = new Member();
         $member->setName($name);
         $member->setSession($session);
         $this->save($member);
     }
     // Store name in cookie if not done yet
     if (!isset($_COOKIE['scrum_member_name'])) {
         setcookie('scrum_member_name', $name);
     }
     $result = new stdClass();
     $result->sessionId = $id;
     $result->memberId = $member->getId();
     return $result;
 }
 /**
  * This method is overly complex, because {@link Comment} doesn't have a standard 'Parent' has_one, as it can be
  * attached to multiple different object types.
  *
  * @todo Can we fix this method without losing the flexibility that {@link Comment} provides?
  *
  * @see the above CommentUserNotificationSubscriptions() method for documentation
  * @param Member $member The {@link Member} object to find comments posted by, where `NotifyOfUpdates` = 1
  * @return ArrayList The list of {@link ArrayData} objects that can be shown in the template
  */
 public function CommentUserNotificationSubscriptionsFor(Member $member)
 {
     if (!$member || !$member->isInDB()) {
         return null;
     }
     // No member (or no ID yet), so nothing to find
     $allComments = Comment::get()->filter(array('AuthorID' => $member->ID, 'NotifyOfUpdates' => true));
     if (!$allComments) {
         return null;
     }
     $allObjects = new ArrayList();
     $allAddedComments = new ArrayList();
     // @todo O(n^2) :(
     foreach ($allComments as $comment) {
         $alreadyAdded = false;
         foreach ($allAddedComments as $obj) {
             if ($comment->BaseClass == $obj->BaseClass && $comment->ParentID == $obj->ParentID) {
                 $alreadyAdded = true;
                 break;
             }
         }
         if (!$alreadyAdded) {
             $baseClass = $comment->BaseClass;
             $baseObject = $baseClass::get()->byID($comment->ParentID);
             if ($baseObject) {
                 // @todo This could return the actual DataObject that we're expecting (e.g. the SiteTree object),
                 // but we can't add the 'CommentUserNotificationUnsubscribeLink' easily to it
                 $allObjects->push(new ArrayData(array('CommentUserNotificationUnsubscribeLink' => Controller::join_links('CommentingController', 'unsubscribenotification', $comment->ID), 'Title' => $baseObject->Title)));
                 $allAddedComments->push($comment);
                 // Keep track of what we've already added
             }
         }
     }
     return $allObjects;
 }
 function execute()
 {
     $return = new stdClass();
     $params = Request::_REQUEST();
     Config::set("HideDebugger", true);
     if (isset($params['id'])) {
         if ($params['id'] == Config::get("Member")->getID()) {
             $return->error = "ID matches logged in ID and cannot delete!";
             echo json_encode($return);
             return;
         }
         $user = new Member($params["id"]);
         if (isset($user) && $user->isValid()) {
             $user->delete();
             $return->id = $params['id'];
             $return->deleted = true;
             echo json_encode($return);
             return;
         } else {
             $return->error = "ID is invalid!";
             echo json_encode($return);
             return;
         }
     } else {
         $return->error = "Missing ID!";
         echo json_encode($return);
         return;
     }
 }
Example #6
0
function make_result_table($user_ids, $signer, $ma_url)
{
    print "<h3>Results</h3>";
    if (count($user_ids) == 0) {
        print "<p>No results found. (warning: no partial matches!)</p>";
    } else {
        print "<table><tr><th>Name</th><th>Username</th><th>Email</th><th>URN</th><th>UUID</th><th>Actions</th></tr>";
        $requester_details = lookup_member_details($ma_url, $signer, $user_ids);
        foreach ($user_ids as $user_id) {
            $user_details = $requester_details[$user_id];
            $username = $user_details[MA_ATTRIBUTE_NAME::USERNAME];
            $member = new Member($user_id);
            $member->init_from_record($user_details);
            $name = $member->prettyName();
            $email = $user_details[MA_ATTRIBUTE_NAME::EMAIL_ADDRESS];
            $urn = $user_details[MA_ATTRIBUTE_NAME::URN];
            $mail_to = "<a href='mailto:{$email}'>{$email}</a>";
            print "<tr><td>{$name}</td><td>{$username}</td><td>{$mail_to}</td><td>{$urn}</td><td>{$user_id}</td>";
            print "<td><button onclick='expand_info(this);'>More info</button>";
            print "<button class='hideinfo' onclick='hide_info(this);' style='display:none;'>Close</button></td></tr>";
            $user_profile_info = get_user_profile_info($user_details, $name, $user_id);
            $user_project_info = get_user_project_info($user_id, $name, $signer);
            $user_slice_info = get_user_slice_info($user_id, $name, $signer);
            print "<tr style='display:none'>";
            print "<td colspan='3' style='vertical-align:top'>{$user_profile_info}</td>";
            print "<td style='vertical-align: top;'>{$user_project_info}</td>";
            print "<td style='vertical-align: top;'>{$user_slice_info}</td>";
            print "<td style='vertical-align: top;'><button onclick='disable_user(\"{$name}\", \"{$urn}\");'>Disable user</button></tr>";
        }
        print "</table>";
    }
}
function dispLoggedIn($arrLoginInfo)
{
    global $MAIN_ROOT, $mysqli;
    $memberObj = new Member($mysqli);
    /*
     $arrLoginInfo['memberID'] = $memberID;
    $arrLoginInfo['memberUsername'] = $memberUsername;
    $arrLoginInfo['memberRank'] = $memberRank;
    $arrLoginInfo['pmCID'] = $pmCID;
    $arrLoginInfo['pmCount'] = $dispPMCount;
    */
    $memberInfo = $arrLoginInfo['memberInfo'];
    $memberObj->select($memberInfo['member_id']);
    $dispLoggedinBox = "\n\t\t<div class='loggedInSection'>\n\t\t\t<b>Account Name:</b><br>\n\t\t\t<p>" . $memberObj->getMemberLink() . "</p>\n\t\t\t<div class='dottedLine' style='margin: 5px 0px'></div>\n\t\t\t<b>Rank:</b>\n\t\t\t<p>" . $arrLoginInfo['memberRank'] . "</p>\n\t\t\t<div class='dottedLine' style='margin: 5px 0px'></div>\n\t\t\t<b>Member Options:</b><br>\n\t\t\t<ul class='loggedInMenuList'>\n\t\t\t\t<li><a href='" . $MAIN_ROOT . "members'>My Account</a></li>\n\t\t\t\t<li><a href='" . $MAIN_ROOT . "members/console.php?cID=" . $arrLoginInfo['pmCID'] . "'>PM Inbox " . $arrLoginInfo['pmCountDisp'] . "</a></li>\n\t\t\t\t<li><a href='" . $MAIN_ROOT . "members/signout.php'>Sign Out</a></li>\n\t\t\t</ul>\n\t\t</div>\n\t";
    /*
    	<div class='loggedInIMG'></div>
    	<div class='menuLinks' style='padding-left: 8px'>
    		<b>Account Name:</b><br>
    		<a href='".$MAIN_ROOT."profile.php?mID=".$arrLoginInfo['memberID']."'>".$arrLoginInfo['memberUsername']."</a>
    		<hr style='width: 135px; margin: 6px 1px; padding: 0px; border: dotted whitesmoke 1px'>
    		<b>Rank:</b><br>
    		".$arrLoginInfo['memberRank']."
    		<hr style='width: 135px; margin: 6px 1px; padding: 0px; border: dotted whitesmoke 1px'>
    		<b>Member Options:</b><br>
    		<b>&middot;</b> <a href='".$MAIN_ROOT."members'>My Account</a><br>
    		<b>&middot;</b> <a href='".$MAIN_ROOT."members/console.php?cID=".$arrLoginInfo['pmCID']."'>PM Inbox ".$arrLoginInfo['pmCountDisp']."</a><br>
    		<b>&middot;</b> <a href='".$MAIN_ROOT."members/signout.php'>Sign Out</a><br>		
    	</div>
    
    ";
    */
    return $dispLoggedinBox;
}
Example #8
0
 public function createPre()
 {
     $member = new Member();
     $member->setIsActive(false);
     $member->save();
     return $member;
 }
function processForm()
{
    $requiredFields = array("username", "first_name", "last_name", "email");
    $missingFields = array();
    $errorMessages = array();
    $member = new Member(array("username" => isset($_POST["username"]) ? preg_replace("/[^ \\'\\-a-zA-Z0-9]/", "", $_POST["username"]) : "", "first_name" => isset($_POST["first_name"]) ? preg_replace("/[^ \\'\\-a-zA-Z0-9]/", "", $_POST["first_name"]) : "", "last_name" => isset($_POST["last_name"]) ? preg_replace("/[^ \\'\\-a-zA-Z0-9]/", "", $_POST["last_name"]) : "", "email" => isset($_POST["email"]) ? preg_replace("/[^ \\@\\.\\-\\_a-zA-Z0-9]/", "", $_POST["email"]) : "", "update_timestamp" => date("Y-m-d H:i:s"), "create_timestamp" => date("Y-m-d H:i:s")));
    foreach ($requiredFields as $requiredField) {
        if (!$member->getValue($requiredField)) {
            $missingFields[] = $requiredField;
        }
    }
    if ($missingFields) {
        $errorMessages[] = '<p class="error">There were some missing fields in the form you submitted. Please complete the fields highlighted below and click Send Details to resend the form.</p>';
    }
    if (Member::getByEmailAddress($member->getValue("email"))) {
        $errorMessages[] = '<p class="error">A member with that email address already exists in the database. Please choose another email address, or contact the webmaster to retrieve your password.</p>';
    }
    if ($errorMessages) {
        var_dump($member);
        var_dump($requiredFields);
        var_dump($missingFields);
        displayForm($errorMessages, $missingFields, $member);
    } else {
        $member->insert();
        displayThanks();
    }
}
Example #10
0
 public function view()
 {
     $dao = DAO::getDAO('MemberDAO');
     if (isset($this->params[0]) && trim($this->params[0]) == 'remove') {
         // ex: requesting: /member/delete/2
         $id = trim(sanitizeString($this->params[1]));
         $dao->removeById($id);
     } else {
         if (isset($this->params[0]) && trim($this->params[0]) == 'add') {
             $randNum = mt_rand(0, 99999);
             $newMember = new Member(array('firstName' => 'First', 'lastName' => 'LastName', 'username' => "test{$randNum}", 'email' => "test{$randNum}@example.com", 'createTime' => dbDateTime()));
             // #TODO: implement UserDao.create($newUser) instead.
             if ($dao->countAll() > 30) {
                 // Demo mode: clean up if too many members
                 $dao->execute("DELETE FROM members");
                 $dao->execute("vacuum");
             }
             $dao->insertInto("firstName, lastName, username, email, createTime", $newMember->getFields());
         }
     }
     $members = $dao->getAll();
     $v = $this->smarty;
     $v->assign('title', 'Member List');
     $v->assign('inc_content', v('members.html'));
     $v->assign('members', $users);
     $v->assign('totalMembers', $dao->countAll());
     $this->display($v, v('index.html'));
 }
 /**
  * If the REMOTE_USER is set and is in the Member table, log that member in. If
  * not, and Config::inst()->get('AuthRemoteUserExtension', 'auto_create_user') is set, add that
  * Member to the configured group, and log the new user in. Otherwise, do nothing.
  */
 public function onAfterInit()
 {
     if (isset($_SERVER['REMOTE_USER'])) {
         $unique_identifier = $_SERVER['REMOTE_USER'];
     } elseif (isset($_SERVER['REDIRECT_REMOTE_USER'])) {
         $unique_identifier = $_SERVER['REDIRECT_REMOTE_USER'];
     }
     if (isset($unique_identifier)) {
         $unique_identifier_field = Member::config()->unique_identifier_field;
         $member = Member::get()->filter($unique_identifier_field, $unique_identifier)->first();
         if ($member) {
             $member->logIn();
             $this->owner->redirectBack();
         } elseif (Config::inst()->get('AuthRemoteUserExtension', 'auto_create_user') && strlen(Config::inst()->get('AuthRemoteUserExtension', 'auto_user_group'))) {
             $group = Group::get()->filter('Title', Config::inst()->get('AuthRemoteUserExtension', 'auto_user_group'))->first();
             if ($group) {
                 $member = new Member();
                 $member->{$unique_identifier_field} = $unique_identifier;
                 $member->write();
                 $member->Groups()->add($group);
                 $member->logIn();
             }
         }
     }
 }
 /**
  * Test that a member can be authenticated via their temp id
  */
 public function testAuthenticateByTempID()
 {
     $member = new Member();
     $member->Email = '*****@*****.**';
     $member->PasswordEncryption = "sha1";
     $member->Password = "******";
     $member->write();
     // Make form
     $controller = new Security();
     $form = new Form($controller, 'Form', new FieldList(), new FieldList());
     // If the user has never logged in, then the tempid should be empty
     $tempID = $member->TempIDHash;
     $this->assertEmpty($tempID);
     // If the user logs in then they have a temp id
     $member->logIn(true);
     $tempID = $member->TempIDHash;
     $this->assertNotEmpty($tempID);
     // Test correct login
     $result = MemberAuthenticator::authenticate(array('tempid' => $tempID, 'Password' => 'mypassword'), $form);
     $this->assertNotEmpty($result);
     $this->assertEquals($result->ID, $member->ID);
     $this->assertEmpty($form->Message());
     // Test incorrect login
     $form->clearMessage();
     $result = MemberAuthenticator::authenticate(array('tempid' => $tempID, 'Password' => 'notmypassword'), $form);
     $this->assertEmpty($result);
     $this->assertEquals('The provided details don&#039;t seem to be correct. Please try again.', $form->Message());
     $this->assertEquals('bad', $form->MessageType());
 }
Example #13
0
function processForm($values)
{
    $values["password"] = $values["password1"];
    $values["joinDate"] = date("Y-m-d");
    $member = new Member($values);
    $member->insert();
}
 function doSave($data, $form)
 {
     if (isset($data['Password']) && is_array($data['Password'])) {
         $data['Password'] = $data['Password']['_Password'];
     }
     // We need to ensure that the unique field is never overwritten
     $uniqueField = Member::get_unique_identifier_field();
     if (isset($data[$uniqueField])) {
         $SQL_unique = Convert::raw2sql($data[$uniqueField]);
         $existingUniqueMember = Member::get()->filter(array($uniqueField => $SQL_unique))->first();
         if ($existingUniqueMember && $existingUniqueMember->exists()) {
             if (Member::currentUserID() != $existingUniqueMember->ID) {
                 die("current member does not match enrolled member.");
                 return false;
             }
         }
     }
     $member = Member::currentUser();
     if (!$member) {
         $member = new Member();
     }
     $member->update($data);
     $member->write();
     $arrayExtraFields = array();
     if (isset($data["SelectedOption"])) {
         $arrayExtraFields["SelectedOption"] = $data["SelectedOption"];
     }
     if (isset($data["BookingCode"])) {
         $arrayExtraFields["BookingCode"] = $data["BookingCode"];
     }
     $this->controller->addAttendee($member, $arrayExtraFields);
     $this->redirect($this->getController()->Link("thankyou"));
     return;
 }
 /**
  * Performs the login, but will also create and sync the Member record on-the-fly, if not found.
  *
  * @param array $data
  * @param Form $form
  * @return bool|Member|void
  * @throws SS_HTTPResponse_Exception
  */
 public static function authenticate($data, Form $form = null)
 {
     $service = Injector::inst()->get('LDAPService');
     $result = $service->authenticate($data['Username'], $data['Password']);
     $success = $result['success'] === true;
     if (!$success) {
         if ($form) {
             $form->sessionMessage($result['message'], 'bad');
         }
         return;
     }
     $data = $service->getUserByUsername($result['identity']);
     if (!$data) {
         if ($form) {
             $form->sessionMessage(_t('LDAPAuthenticator.PROBLEMFINDINGDATA', 'There was a problem retrieving your user data'), 'bad');
         }
         return;
     }
     // LDAPMemberExtension::memberLoggedIn() will update any other AD attributes mapped to Member fields
     $member = Member::get()->filter('GUID', $data['objectguid'])->limit(1)->first();
     if (!($member && $member->exists())) {
         $member = new Member();
         $member->GUID = $data['objectguid'];
         $member->write();
     }
     Session::clear('BackURL');
     return $member;
 }
Example #16
0
 public function testSet()
 {
     $this->object->type = 3;
     $this->object->section = 0;
     $this->object->list = array(1, 2, 3, 4);
     $this->assertEquals('3 0 1 2 3 4', $this->object->set());
 }
 public function finish($data, $form)
 {
     parent::finish($data, $form);
     $steps = DataObject::get('MultiFormStep', "SessionID = {$this->session->ID}");
     if ($steps) {
         foreach ($steps as $step) {
             if ($step->class == 'Page2PersonalDetailsFormStep') {
                 $member = new Member();
                 $data = $step->loadData();
                 if ($data) {
                     $member->update($data);
                     $member->write();
                 }
             }
             if ($step->class == 'Page2OrganisationDetailsFormStep') {
                 $organisation = new Organisation();
                 $data = $step->loadData();
                 if ($data) {
                     $organisation->update($data);
                     if ($member && $member->ID) {
                         $organisation->MemberID = $member->ID;
                     }
                     $organisation->write();
                 }
             }
             // Debug::show($step->loadData()); // Shows the step data (unserialized by loadData)
         }
     }
     $controller = $this->getController();
     $controller->redirect($controller->Link() . 'finished');
 }
Example #18
0
 protected function getMP()
 {
     $mp_url = new \URL($this->mp_url);
     $mp_data = array();
     global $THEUSER;
     if ($THEUSER->has_postcode()) {
         // User is logged in and has a postcode, or not logged in with a cookied postcode.
         // (We don't allow the user to search for a postcode if they
         // already have one set in their prefs.)
         // this is for people who have e.g. an English postcode looking at the
         // Scottish homepage
         try {
             $constituencies = postcode_to_constituencies($THEUSER->postcode());
             if (isset($constituencies[$this->cons_type])) {
                 $constituency = $constituencies[$this->cons_type];
                 $MEMBER = new Member(array('constituency' => $constituency, 'house' => $this->mp_house));
             }
         } catch (MemberException $e) {
             return $mp_data;
         }
         if (isset($MEMBER) && $MEMBER->valid) {
             $mp_data['name'] = $MEMBER->full_name();
             $left_house = $MEMBER->left_house();
             $mp_data['former'] = '';
             if ($left_house[$this->mp_house]['date'] != '9999-12-31') {
                 $mp_data['former'] = 'former';
             }
             $mp_data['postcode'] = $THEUSER->postcode();
             $mp_data['mp_url'] = $mp_url->generate();
             $mp_data['change_url'] = $this->getPostCodeChangeURL();
         }
     }
     return $mp_data;
 }
 /**
  * Create member account from data array.
  * Data must contain unique identifier.
  *
  * @throws ValidationException
  * @param $data - map of member data
  * @return Member|boolean - new member (not saved to db), or false if there is an error.
  */
 public function create($data)
 {
     $result = new ValidationResult();
     if (!Checkout::member_creation_enabled()) {
         $result->error(_t("Checkout.MEMBERSHIPSNOTALLOWED", "Creating new memberships is not allowed"));
         throw new ValidationException($result);
     }
     $idfield = Config::inst()->get('Member', 'unique_identifier_field');
     if (!isset($data[$idfield]) || empty($data[$idfield])) {
         $result->error(sprintf(_t("Checkout.IDFIELDNOTFOUND", "Required field not found: %s"), $idfield));
         throw new ValidationException($result);
     }
     if (!isset($data['Password']) || empty($data['Password'])) {
         $result->error(_t("Checkout.PASSWORDREQUIRED", "A password is required"));
         throw new ValidationException($result);
     }
     $idval = $data[$idfield];
     if (ShopMember::get_by_identifier($idval)) {
         $result->error(sprintf(_t("Checkout.MEMBEREXISTS", "A member already exists with the %s %s"), _t("Member." . $idfield, $idfield), $idval));
         throw new ValidationException($result);
     }
     $member = new Member(Convert::raw2sql($data));
     $validation = $member->validate();
     if (!$validation->valid()) {
         //TODO need to handle i18n here?
         $result->error($validation->message());
     }
     if (!$result->valid()) {
         throw new ValidationException($result);
     }
     return $member;
 }
Example #20
0
 public function accessModelMember_listMembers()
 {
     include_once "models/member.php";
     $member = new Member();
     $resultat = $member->list_member();
     return $resultat;
 }
	public function run() {
	
	
		$civilStatus 	    = 	$_POST;
		$registrationDate 	= 	date('Y-m-d');
		$datePayement 		= 	$civilStatus['date'];
		$id 				= 	$this->ramdomID();
	
		$checkMember = $this->CheckMember($civilStatus['nom'], $civilStatus['prenom'], $civilStatus['date_de_naissance']);	
		
		if(!$checkMember){
			$this->message("Message","Cette personne est déjà inscrite","error");
			return false;
		}
		
		$member = new Member($civilStatus);
		$member->setLibraryMemberData($id,$registrationDate,$datePayement);	
		
		$sql = $this->database->addMember($member);
		
		if(!$sql){
			$this->message("Message","DATABASE ERROR: ERREUR LORS DE L'INSCRIPTION","error");
			return false;
		}

		$this->message("Message","Inscription validé","success");
		return true;
	}
Example #22
0
 /**
  * Creates a new model.
  * If creation is successful, the browser will be redirected to the 'view' page.
  */
 public function actionCreate()
 {
     $user = new User();
     $member = new Member();
     // Uncomment the following line if AJAX validation is needed
     // $this->performAjaxValidation($model);
     if (isset($_POST['User'], $_POST['Member'])) {
         $user->attributes = $_POST['User'];
         $user->repeat_password = $_POST['User']['repeat_password'];
         $member->attributes = $_POST['Member'];
         $member->type_account = $_POST['Member']['type_account'];
         $user->scenario = 'register';
         $member->scenario = 'register';
         $user->level = 3;
         $valid = $user->validate();
         $valid = $member->validate() && $valid;
         if ($valid) {
             $email = explode("@", $user->username);
             $member->name = $email[0];
             $member->email = $user->username;
             $member->date_register = new CDbExpression('NOW()');
             $member->code = strtoupper(substr(md5(uniqid(rand(), true)), 0, 5));
             $getToken = rand(0, 99999);
             $getTime = date("H:i:s");
             $user->token = md5($getToken . $getTime);
             $user->save();
             $member->save();
             MemberController::SendMail($member->email, $member->name, $member->code, $user->token);
             echo CJSON::encode(array('reg' => 'success', 'redirect' => $this->createUrl(array('land/userme')), 'email' => $member->email));
         } else {
             echo CJSON::encode(array('reg' => 'failed', 'email' => str_replace('Username', 'Email', CHtml::error($user, 'username')), 'username' => str_replace('Name', 'Username', CHtml::error($member, 'name')), 'password' => CHtml::error($user, 'password'), 'repeat_password' => CHtml::error($user, 'repeat_password'), 'all' => Chtml::errorSummary(array($user, $member))));
         }
     }
 }
 public function run()
 {
     try {
         // 共通設定取得
         $base_dir = dirname(__FILE__) . '/../';
         $config = new Config($base_dir);
         $debug = $config->get_param('debug');
         // レポート用オブジェクト
         $report = new Report($config);
         // メンバー一覧のオブジェクト
         $member = new Member($config);
         // 担当者マスターの差分を取得する。
         $member->get_diff();
         $this->mail_body .= $member->print_diff();
         // プロジェクト一覧のオブジェクト
         $project = new Project($config);
         // プロジェクトマスターの差分を取得する。
         $project->get_diff();
         $this->mail_body .= $project->print_diff();
         // 担当プロジェクトのオブジェクト
         $relation = new Relation($config);
         // 担当プロジェクトの差分を取得する。
         $relation->set_member($member);
         $relation->set_project($project);
         $relation->get_diff();
         $this->mail_body .= $relation->print_diff();
         // BackLogIDが入力されているにもかかわらず担当者名が未入力のデータを検出する。
         $this->mail_body .= $relation->validate();
         // 複数コンテンツ障害の配信先
         // 全社向け
         $multi_alert = new MultiAlert($config);
         $multi_alert->set_mode('all');
         $multi_alert->set_project($project);
         $multi_alert->set_member($member);
         $multi_alert->get_diff();
         $this->mail_body .= $multi_alert->print_diff();
         // コンテンツ事業部向け
         $multi_alert = new MultiAlert($config);
         $multi_alert->set_mode('contents');
         $multi_alert->set_project($project);
         $multi_alert->set_member($member);
         $multi_alert->get_diff();
         $this->mail_body .= $multi_alert->print_diff();
         // レポート
         $report->out($this->mail_body);
         // 古いファイルを削除
         Util::remove_old_file($config->get_param('data_dir'), $config->get_param('keep_file_days'));
     } catch (Exception $e) {
         $member->remove();
         $project->remove();
         $relation->remove();
         $multi_alert->remove();
         if ($debug) {
             print $e->getMessage() . PHP_EOL;
         } else {
             $report->out($e->getMessage());
         }
     }
 }
 /**
  * @param Member $member
  * @return void
  */
 public function ensureSpeakerProfile(Member $member)
 {
     $speaker = $member->getSpeakerProfile();
     if (!$speaker) {
         $speaker = PresentationSpeaker::create(array('MemberID' => Member::currentUserID(), 'FirstName' => Member::currentUser()->FirstName, 'LastName' => Member::currentUser()->Surname));
         $speaker->write();
     }
 }
 private function createUser()
 {
     // create user
     $u = new Member();
     $u->write();
     $s = new \Ntb\SocialIdentity(['UserID' => 'foo_user', 'AuthService' => 'facebook', 'MemberID' => $u->ID]);
     $s->write();
 }
Example #26
0
function validateUsername()
{
    global $formObj, $mysqli;
    $checkMemberObj = new Member($mysqli);
    if ($checkMemberObj->select($_POST['newusername'])) {
        $formObj->errors[] = "There is already a member with that username.";
    }
}
 public function testShouldRejectExistingIfNotOwnedByMember()
 {
     $this->setExpectedException('ValidationException');
     $this->member->logIn();
     $this->address1->MemberID = 0;
     $this->address1->write();
     $this->assertTrue($this->config->validateData(array('BillingAddressBookCheckoutComponent_BillingAddressID' => $this->address1->ID)));
 }
Example #28
0
 public function save(Member $member)
 {
     if ($member->getUser_id() !== null) {
         $this->update($member);
     } else {
         $this->insert($member);
     }
 }
 /**
  * Replaces variables inside an email template according to {@link TEMPLATE_NOTE}.
  *
  * @param  string $string
  * @param  Member $member
  * @return string
  */
 public static function get_parsed_string($string, $member, $page)
 {
     $variables = array('$SiteName' => SiteConfig::current_site_config()->Title, '$LoginLink' => Director::absoluteURL(singleton('Security')->Link('login')), '$ConfirmLink' => Director::absoluteURL(Controller::join_links($page->Link('confirm'), $member->ID, "?key={$member->ValidationKey}")), '$LostPasswordLink' => Director::absoluteURL(singleton('Security')->Link('lostpassword')), '$Member.Created' => $member->obj('Created')->Nice());
     foreach (array('Name', 'FirstName', 'Surname', 'Email') as $field) {
         $variables["\$Member.{$field}"] = $member->{$field};
     }
     return str_replace(array_keys($variables), array_values($variables), $string);
 }
	static function createDefaultUserPermissions(Contact $user, Member $member, $remove_previous = true) {
		$role_id = $user->getUserType();
		$permission_group_id = $user->getPermissionGroupId();
		$member_id = $member->getId();
		
		try {
			if ($remove_previous) {
				ContactMemberPermissions::delete("permission_group_id = '$permission_group_id' AND member_id = $member_id");
			}
			
			$shtab_permissions = array();
			$new_permissions = array();
			$role_permissions = self::findAll(array('conditions' => 'role_id = '.$role_id));
			foreach ($role_permissions as $role_perm) {
				if ($member->canContainObject($role_perm->getObjectTypeId())) {
					$cmp = new ContactMemberPermission();
					$cmp->setPermissionGroupId($permission_group_id);
					$cmp->setMemberId($member_id);
					$cmp->setObjectTypeId($role_perm->getObjectTypeId());
					$cmp->setCanDelete($role_perm->getCanDelete());
					$cmp->setCanWrite($role_perm->getCanWrite());
					$cmp->save();
					$new_permissions[] = $cmp;
					
					$perm = new stdClass();
					$perm->m = $member_id;
					$perm->r = 1;
					$perm->w = $role_perm->getCanWrite();
					$perm->d = $role_perm->getCanDelete();
					$perm->o = $role_perm->getObjectTypeId();
					$shtab_permissions[] = $perm;
				}
			}
			if (count($shtab_permissions)) {
				$cdp = ContactDimensionPermissions::instance()->findOne(array('conditions' => "permission_group_id = '$permission_group_id' AND dimension_id = ".$member->getDimensionId()));
				if (!$cdp instanceof ContactDimensionPermission) {
					$cdp = new ContactDimensionPermission();
					$cdp->setPermissionGroupId($permission_group_id);
					$cdp->setContactDimensionId($member->getDimensionId());
					$cdp->setPermissionType('check');
					$cdp->save();
				} else {
					if ($cdp->getPermissionType() == 'deny all') {
						$cdp->setPermissionType('check');
						$cdp->save();
					}
				}
				$stCtrl = new SharingTableController();
				$stCtrl->afterPermissionChanged($permission_group_id, $shtab_permissions);
			}
			
			return $new_permissions;
			
		} catch (Exception $e) {
			throw $e;
		}
	}