Example #1
0
function members()
{
    $API = new PerchAPI(1.0, 'perch_members');
    $Members = new Members();
    $members = $Members->get_members('active');
    return $members;
}
Example #2
0
 /** @test */
 function it_should_update_the_information_of_a_registered_member()
 {
     $member = $this->members->with(Identifier::fromString('wxyz'));
     $member->transfer(Money::MXN(500), $this->existingMember);
     $this->members->update($this->existingMember);
     $this->assertBalanceAmounts(3500, $this->existingMember, "Current member balance should be 3500");
 }
Example #3
0
 public function members()
 {
     $mem = new Members($this->db);
     $this->f3->set('members', $mem->allWhereMemCards());
     $this->f3->set('content', 'app/views/cards-members.htm');
     echo Template::instance()->render('app/templates/default.htm');
 }
Example #4
0
function registerNow()
{
    $members = new Members();
    $members->setValues($_REQUEST);
    if ($members->newMember()) {
        Common::jsonSuccess("Member Added Successfully");
    } else {
        Common::jsonError("Error");
    }
}
Example #5
0
 /**
  * Displays the contact page
  */
 public function actionMembers()
 {
     $model = new Members('search');
     $model->unsetAttributes();
     // clear any default values
     if (isset($_GET['Members'])) {
         $model->attributes = $_GET['Members'];
     }
     $this->render('admin', array('model' => $model));
 }
Example #6
0
 public function index()
 {
     if ($this->f3->exists('SESSION.userID')) {
         $members = new Members($this->db);
         $this->f3->set('member', $members->read(array('id=?', $this->f3->get('SESSION.userID')), [])[0]);
     }
     if ($this->f3->exists('POST.submit')) {
         $this->process();
     }
     $this->f3->set('content', 'app/views/contact.htm');
     echo Template::instance()->render('app/templates/default.htm');
 }
Example #7
0
 public function showMemberProfile($memberID)
 {
     $value = Session::get('key');
     $member = Members::find($memberID);
     $posts = DB::table('posts')->join('members', 'members.memberID', '=', 'posts.memberID')->where('members.memberID', $memberID)->get();
     $followings = DB::table('follow')->join('members', 'members.memberID', '=', 'follow.followMemberID')->where('follow.memberID', $memberID)->select('members.name', 'members.surname', 'members.memberID', 'members.photo')->get();
     $followers = DB::table('follow')->join('members', 'members.memberID', '=', 'follow.memberID')->where('follow.followMemberID', $memberID)->select('members.name', 'members.surname', 'members.memberID', 'members.photo')->get();
     $follow = false;
     foreach ($followers as $f) {
         //takipçilerinde oturumu açık olan kişi varsa follow true
         if ($f->memberID == $value) {
             $follow = true;
         }
     }
     $data = array('member' => $member, 'posts' => $posts, 'follow' => $follow, 'followers' => $followers, 'followings' => $followings);
     if (Session::get('adminLoggedIn')) {
         return View::make('admin/showMemberProfileForAdmin', $data);
     }
     if ($value == "") {
         //Session yoksa
         return View::make('showMemberProfile', $data);
     }
     if ($value == $memberID) {
         //Kendi profili ise kendi profiline yönlendirilir.
         return Redirect::to('profile');
     }
     return View::make('member/showMemberProfilForMember', $data);
 }
Example #8
0
 public function getAdress($id)
 {
     $team = Members::where('user_id', '=', $id)->get();
     foreach ($team as $teams) {
         return $teams->address;
     }
 }
 /**
  * Add permissions for a contact on members
  * @param array $members_id  Array with the ids of members
  * @param array $rol_permissions Array with the permissions for the user type of the contact
  * @return null
  */
 function addPermissions($members_id, $rol_permissions)
 {
     //permissions
     $permissions = "";
     foreach ($rol_permissions as $permission) {
         if ($permissions != "") {
             $permissions .= ',';
         }
         $permissions .= '{"pg":"' . $this->getId() . '","o":' . $permission['object_type_id'] . ',"d":' . $permission['can_delete'] . ',"w":' . $permission['can_write'] . ',"r":1}';
     }
     $permissions = "[" . $permissions . "]";
     //members
     $members = array();
     foreach ($members_id as $member_id) {
         $mem = Members::findById($member_id);
         if (!$mem instanceof Member) {
             continue;
         }
         $members[] = $mem;
     }
     //save permissions
     foreach ($members as $member) {
         save_member_permissions_background(logged_user(), $member, $permissions);
     }
 }
 /**
  * Authenticate a member
  *
  * @return int value greater then 0 means an error occurred 
  */
 public function authenticate()
 {
     $record = Members::model()->findByAttributes(array('email' => $this->name));
     if ($record === null) {
         $this->errorCode = self::ERROR_USERNAME_INVALID;
         $this->errorMessage = Yii::t('members', 'Sorry, But we can\'t find a member with those login information.');
     } else {
         if ($record->password !== $record->hashPassword($this->password, $record->email)) {
             $this->errorCode = self::ERROR_PASSWORD_INVALID;
             $this->errorMessage = Yii::t('members', 'Sorry, But the password did not match the one in our records.');
         } else {
             $this->_id = $record->id;
             $auth = Yii::app()->authManager;
             if (!$auth->isAssigned($record->role, $this->_id)) {
                 if ($auth->assign($record->role, $this->_id)) {
                     Yii::app()->authManager->save();
                 }
             }
             // We add username to the state
             $this->setState('name', $record->username);
             $this->setState('username', $record->username);
             $this->setState('seoname', $record->seoname);
             $this->setState('email', $record->email);
             $this->setState('role', $record->role);
             $this->errorCode = self::ERROR_NONE;
         }
     }
     return !$this->errorCode;
 }
Example #11
0
 static function getWorkspaces($limit = 10)
 {
     $ws_dim = Dimensions::findByCode('workspaces');
     $ws_object_type = self::instance()->getObjectTypeId();
     $sql = "dimension_id = " . $ws_dim->getId() . " AND object_type_id = {$ws_object_type}";
     $allowed_members = array();
     $add_ctx_members = true;
     $context = active_context();
     foreach ($context as $selection) {
         if ($selection instanceof Dimension && $selection->getCode() == 'workspaces') {
             $add_ctx_members = false;
         } else {
             if ($selection instanceof Member && $selection->getObjectTypeId() == $ws_object_type) {
                 $allowed_members[] = $selection->getId();
             }
         }
     }
     if ($add_ctx_members && count($allowed_members) > 0) {
         $sql .= " AND parent_member_id IN (" . implode(",", $allowed_members) . ")";
     } else {
         $sql .= " AND parent_member_id = 0";
     }
     $members = Members::findAll(array('conditions' => $sql, 'order' => 'name'));
     $res = array();
     foreach ($members as $mem) {
         // controlar permissos para cada f*****g miembro
     }
     return $members;
 }
 /**
  * Authenticate a member
  *
  * @return int value greater then 0 means an error occurred 
  */
 public function authenticate()
 {
     $record = Members::model()->find('fbuid=:fbuid', array(':fbuid' => $this->fbuid));
     if ($record === null) {
         $this->errorCode = self::ERROR_UNKNOWN_IDENTITY;
         $this->errorMessage = Yii::t('members', 'Sorry, We could not find a member with that facebook account.');
     } else {
         if ($record->email != $this->fbemail) {
             $this->errorCode = self::ERROR_USERNAME_INVALID;
             $this->errorMessage = Yii::t('members', 'Sorry, But the emails of the accounts did no match.');
         } else {
             $this->_id = $record->id;
             $auth = Yii::app()->authManager;
             if (!$auth->isAssigned($record->role, $this->_id)) {
                 if ($auth->assign($record->role, $this->_id)) {
                     Yii::app()->authManager->save();
                 }
             }
             // We add username to the state
             $this->setState('name', $record->username);
             $this->setState('username', $record->username);
             $this->setState('seoname', $record->seoname);
             $this->setState('email', $record->email);
             $this->setState('role', $record->role);
             $this->errorCode = self::ERROR_NONE;
         }
     }
     return !$this->errorCode;
 }
 /**
  * @return object - Members AR Object
  */
 private function getModel()
 {
     if (!$this->isGuest && $this->_model === null) {
         $this->_model = Members::model()->findByPk($this->id, array('select' => 'role'));
     }
     return $this->_model;
 }
    public function rssAction()
    {
        $this->_includeTemplate = false;
        // to hide footer & header
        if (isset($_SESSION['connected']) && $_SESSION['connected'] == TRUE) {
            $idMember = $_SESSION['idMember'];
            $exams = Members::getRss($idMember);
            $rss = '<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
		<channel>
			<title>List of exams :</title>
			<description>All informations about exams.</description>
			<pubDate>the current day</pubDate>';
            $i = 1;
            foreach ($exams as $r) {
                $rss = $rss . '<item>
				<title>Exams n°' . $i . ' : </title>
				<description>Doctor : ' . $r->getDoctor() . ', Service : ' . $r->getService() . ', Date : ' . $r->getDate() . ', Comment : ' . $r->getComment() . '</description>
                                </item>';
                $i++;
            }
            $rss = $rss . '</channel>
			</rss>';
            $this->rss = $rss;
            // transmit it to view
        } else {
            $this->redirect('/index/index');
        }
    }
Example #15
0
 function getInstance()
 {
     if (!isset(self::$instance[get_class()])) {
         self::$instance = new Members();
     }
     return self::$instance;
 }
Example #16
0
 /**
  * Returns true if the object blongs to the texmplate context ($memberIds)
  * @author Ignacio Vazquez - elpepe.uy@gmail.com
  * @param ContentDataObject $object
  * @param array $memberIds
  */
 static function validateObjectContext($object, $memberIds)
 {
     $valid = true;
     // Dimensiones requeridas para el tipo de objecto
     $dimensions = Dimensions::getAllowedDimensions(self::instance()->getObjectTypeId());
     $requiredDimensions = array();
     foreach ($dimensions as $dim) {
         if ($dim['is_required']) {
             $requiredDimensions[$dim['dimension_id']] = $dim;
             // Performance, dim id in the array key  ! ! !
         }
     }
     // Miembros del Objeto
     $objMembers = $object->getMemberIds();
     // P/cada miembro
     foreach ($objMembers as $mid) {
         $member = Members::instance()->findById($mid);
         if ($member instanceof Member) {
             /* @var  $member Member */
             $did = $member->getDimensionId();
             // Si la dimension del miembro esta en la requeridas
             if ($requiredDimensions[$did]) {
                 if (!in_array($mid, $memberIds)) {
                     $valid = false;
                 }
             }
         }
     }
     if (!$valid) {
         throw new DAOValidationError($this, array(lang("template members do not match object members")));
     }
 }
 /**
  * Show Form
  */
 public function actionIndex()
 {
     $model = new ContactUs();
     if (isset($_POST['ContactUs'])) {
         $model->attributes = $_POST['ContactUs'];
         if ($model->save()) {
             // Do we need to email?
             if (Yii::app()->params['contactusemail']) {
                 // Build Message
                 $message = Yii::t('contactus', "New Contact Us Form Submitted<br /><br />\n\t\t\t\t\t\t\t\t\t\t\t\t    Id: {id}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\tBy: {name}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\tEmail: {email}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\tSubject: {subject}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t========================<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t{msg}<br />\n\t\t\t\t\t\t\t\t\t\t\t\t\t========================<br /><br />\n\t\t\t\t\t\t\t\t\t\t\t\t\tRegards, the {team} Team.", array('{id}' => $model->id, '{name}' => $model->name, '{email}' => $model->email, '{subject}' => $model->subject, '{msg}' => $model->content, '{team}' => Yii::app()->name));
                 $email = Yii::app()->email;
                 $email->subject = Yii::t('contactus', 'New Contact Us Form: {subject}', array('{subject}' => $model->subject));
                 $email->to = Yii::app()->params['emailout'];
                 $email->from = $model->email;
                 $email->replyTo = Yii::app()->params['emailout'];
                 $email->message = $message;
                 $email->send();
             }
             Yii::app()->user->setFlash('success', Yii::t('contactus', 'Thank You. The form submitted successfully.'));
             $model = new ContactUs();
         }
     }
     // If we are a member then fill in
     if (Yii::app()->user->id) {
         $user = Members::model()->findByPk(Yii::app()->user->id);
         if ($user) {
             $model->name = $user->username;
             $model->email = $user->email;
         }
     }
     $this->render('index', array('model' => $model));
 }
 public function Is_Enabled()
 {
     if (!Members::CheckPermsKey('STATS_COMBAT')) {
         Members::CheckPermsKeyAdd('STATS_COMBAT', AXX_MEMBER);
     }
     return true;
 }
 /**
  * Edit auth item action
  */
 public function actioneditauthitem()
 {
     // Perms
     if (!Yii::app()->user->checkAccess('op_roles_edit_auth')) {
         throw new CHttpException(403, Yii::t('error', 'Sorry, You don\'t have the required permissions to enter this section'));
     }
     if (isset($_GET['id']) && ($model = AuthItem::model()->find('name=:name', array(':name' => $_GET['id'])))) {
         if (isset($_POST['AuthItem'])) {
             $old_name = $model->name;
             $model->attributes = $_POST['AuthItem'];
             if ($model->save()) {
                 // Update parent name and child name in the auth child table
                 AuthItemChild::model()->updateAll(array('parent' => $model->name), 'parent=:name', array(':name' => $old_name));
                 AuthItemChild::model()->updateAll(array('child' => $model->name), 'child=:name', array(':name' => $old_name));
                 AuthAssignments::model()->updateAll(array('bizrule' => $model->bizrule, 'data' => $model->data, 'itemname' => $model->name), 'itemname=:name', array(':name' => $old_name));
                 Members::model()->updateAll(array('role' => $model->name), 'role=:name', array(':name' => $old_name));
                 Yii::app()->user->setFlash('success', Yii::t('adminroles', 'Auth Item Updated.'));
                 $this->redirect(array('roles/index'));
             }
         }
         $this->breadcrumbs[Yii::t('adminroles', 'Editing auth item')] = '';
         $this->pageTitle[] = Yii::t('adminroles', 'Editing auth item');
         // Display form
         $this->render('authitem_form', array('model' => $model, 'label' => Yii::t('adminroles', 'Editing auth item')));
     } else {
         Yii::app()->user->setFlash('error', Yii::t('adminerror', 'Could not find that ID.'));
         $this->redirect(array('roles/index'));
     }
 }
 public function getmessagecompose()
 {
     // $user_id = Sentry::getUser()->id;
     // $agencies_id = Agency::where('staff_id','=',$user_id)->get();
     // if ($agencies_id->isEmpty() )
     // {
     // 	return Redirect::to('dashboard/messages')
     // 	->with('errors','Kindly create an Agency First');
     // }
     // else
     // {
     //  foreach ($agencies_id as $agency_id)
     //  	{
     //  		$my_agencyid= $agency_id->agency_id;
     //  		$owner_id= $agency_id->owner_id;
     //  	}
     $profiles = Members::join('users', 'users.id', '=', 'registration.user_id')->get();
     $allTeamsMember = array();
     foreach ($profiles as $profile) {
         if ($profile->user_id != Sentry::getUser()->id) {
             $allTeamsMember[$profile->user_id] = $profile->email;
         }
     }
     return View::make('message.messagecompose')->with('teams', $allTeamsMember);
     // $profiles = Agency::where('agency_id','=',$my_agencyid)->get();
     // $profiles = DB::table('agent')->where('agent_id',$owner_id)
     // 					  ->join('Agencystaff','agent.agent_id','=','Agencystaff.owner_id')
     // 					  ->get();
 }
Example #21
0
 public function authenticate()
 {
     //		$users=array(
     //			// username => password
     //			'demo'=>'demo',
     //			'admin'=>'admin',
     //		);
     //		if(!isset($users[$this->username]))
     //			$this->errorCode=self::ERROR_USERNAME_INVALID;
     //		elseif($users[$this->username]!==$this->password)
     //			$this->errorCode=self::ERROR_PASSWORD_INVALID;
     //		else
     //			$this->errorCode=self::ERROR_NONE;
     //		return !$this->errorCode;
     $username = strtolower($this->username);
     $password = $this->password;
     $member = Members::model()->find('LOWER(pr_username)=?', array($username));
     //$user = Account::model()->find('LOWER(account_email)=?',array($username));
     if ($member === null) {
         $this->errorCode = self::ERROR_PASSWORD_INVALID;
     } elseif (Members::model()->generaSalt($password) != $member->pr_member_password || $member->pr_member_status == 0) {
         $this->errorCode = self::ERROR_PASSWORD_INVALID;
     } else {
         $this->_id = $member->pr_primary_key;
         $this->errorCode = self::ERROR_NONE;
     }
     return !$this->errorCode;
 }
Example #22
0
 public function getName($id)
 {
     $team = Members::where('user_id', '=', $id)->get();
     foreach ($team as $teams) {
         return $teams->name;
     }
 }
Example #23
0
 function updatePasswd($user_id, $user_pass)
 {
     $_this =& Members::getInstance();
     $result = false;
     $sql = "UPDATE {$this->table_prefix}members m,{$this->table_prefix}adminfields af SET m.userpass='******',af.modified=" . $this->timestamp . " WHERE m.id=" . $user_id . " AND af.member_id=m.id";
     $result = $this->dbstuff->Execute($sql);
     return $result;
 }
 static function getChildObjectTypes($member_id)
 {
     $m = Members::instance()->findById($member_id);
     $d = $m->getDimensionId();
     $parent_object_type_id = $m->getObjectTypeId();
     $sql = "\n  \t\t\tSELECT distinct(child_object_type_id) FROM " . TABLE_PREFIX . "dimension_object_type_hierarchies \n  \t\t\tWHERE \n  \t\t \t\tdimension_id = {$d} AND \n  \t\t \t\tparent_object_type_id = {$parent_object_type_id} ";
     return self::findAll(array("conditions" => "object_type_id IN ({$sql}) AND dimension_id = {$d}"));
 }
Example #25
0
 /**
  * Check that the username is unique
  */
 public function checkUniqueUserUpdate()
 {
     if ($this->scenario == 'update') {
         $user = Members::model()->exists('username=:username AND id!=:id', array(':username' => $this->username, ':id' => $this->id));
         if ($user) {
             $this->addError('username', Yii::t('adminmembers', 'Sorry, That username is already in use by another member.'));
         }
     }
 }
Example #26
0
	static function getMemberById($id) {
		$m = array_var(self::$members_cache, $id);
		if (!$m instanceof Member) {
			$m = Members::findById($id);
			if ($m instanceof Member) {
				self::$members_cache[$id] = $m;
			}
		}
		return $m;
	}
 /**
  * Register action
  */
 public function actionindex()
 {
     $model = new RegisterForm();
     if (isset($_POST['RegisterForm'])) {
         $model->attributes = $_POST['RegisterForm'];
         if ($model->validate()) {
             // Save the member and redirect
             $user = new Members();
             $user->scenario = 'register';
             $user->role = 'member';
             $user->attributes = $_POST['RegisterForm'];
             $user->save();
             // Redirect
             Yii::app()->user->setFlash('success', Yii::t('register', 'Registration Completed. Please sign in.'));
             $this->redirect('login/index');
         }
     }
     $this->render('index', array('model' => $model));
 }
Example #28
0
function workspaces_update_5_6()
{
    // create associations
    DB::execute("\n\t\t\tINSERT INTO `" . TABLE_PREFIX . "dimension_member_associations` (`dimension_id`,`object_type_id`,`associated_dimension_id`, `associated_object_type_id`, `is_required`,`is_multiple`, `keeps_record`) VALUES\n\t\t\t((SELECT id from " . TABLE_PREFIX . "dimensions WHERE code = 'workspaces'),(SELECT id FROM " . TABLE_PREFIX . "object_types WHERE name = 'workspace'),(SELECT id from " . TABLE_PREFIX . "dimensions WHERE code = 'feng_persons'),(SELECT id FROM " . TABLE_PREFIX . "object_types WHERE name = 'person' LIMIT 1),0,1,0),\n\t\t\t((SELECT id from " . TABLE_PREFIX . "dimensions WHERE code = 'workspaces'),(SELECT id FROM " . TABLE_PREFIX . "object_types WHERE name = 'workspace'),(SELECT id from " . TABLE_PREFIX . "dimensions WHERE code = 'feng_persons'),(SELECT id FROM " . TABLE_PREFIX . "object_types WHERE name = 'company' LIMIT 1),0,1,0);\n\t\t");
    // instantiate actual associations
    $ws_dim = Dimensions::findByCode('workspaces');
    $ws_ot = ObjectTypes::findByName('workspace');
    $ws_members = Members::findAll(array('conditions' => 'dimension_id = ' . $ws_dim->getId() . ' AND object_type_id = ' . $ws_ot->getId()));
    foreach ($ws_members as $ws_mem) {
        // after saving permissions the associations are instantiated by 'core_dimensions' plugin
        save_member_permissions($ws_mem);
    }
}
 public function actionDeductMoney()
 {
     if (Yii::app()->request->isAjaxRequest) {
         $food_order_id = Yii::app()->request->getParam('id');
         if (!$food_order_id) {
             $this->errorOutput(array('errorCode' => 1, 'errorText' => '没有id'));
         }
         $orderInfo = $this->loadModel($food_order_id);
         if (!$orderInfo) {
             $this->errorOutput(array('errorCode' => 1, 'errorText' => '该订单不存在'));
         } else {
             if ($orderInfo->status != 1) {
                 $this->errorOutput(array('errorCode' => 1, 'errorText' => '该订单不能付款'));
             }
         }
         //查询出该订单里用户的账户余额
         $member = Members::model()->find('id=:id', array(':id' => $orderInfo->food_user_id));
         if (!$member) {
             $this->errorOutput(array('errorCode' => 1, 'errorText' => '该订单的用户不存在'));
         }
         //判断用户的账户钱够不够扣钱
         if ($member->balance < $orderInfo->total_price) {
             $this->errorOutput(array('errorCode' => 1, 'errorText' => '该用户账户余额不足只有' . $member->balance . 'Ks'));
         }
         $member->balance -= $orderInfo->total_price;
         if ($member->save()) {
             $orderInfo->status = 2;
             if ($orderInfo->save()) {
                 //创建一条订单日志
                 $foodOrderLog = new FoodOrderLog();
                 $foodOrderLog->food_order_id = $food_order_id;
                 $foodOrderLog->status = $orderInfo->status;
                 $foodOrderLog->create_time = time();
                 if ($foodOrderLog->save()) {
                     //记录扣款记录
                     Yii::app()->record->record($orderInfo->food_user_id, $orderInfo->total_price);
                     $this->output(array('success' => 1, 'successText' => '扣款成功'));
                 } else {
                     $this->errorOutput(array('errorCode' => 1, 'errorText' => '订单状态更新失败'));
                 }
             } else {
                 $this->errorOutput(array('errorCode' => 1, 'errorText' => '订单状态更新失败'));
             }
         } else {
             $this->errorOutput(array('errorCode' => 1, 'errorText' => '扣款失败'));
         }
     } else {
         throw new CHttpException(404, Yii::t('yii', '非法操作'));
     }
 }
 static function createDefaultUserPermissionsAllDimension(Contact $user, $dimension_id, $remove_previous = true)
 {
     $role_id = $user->getUserType();
     $permission_group_id = $user->getPermissionGroupId();
     $dimension = Dimensions::getDimensionById($dimension_id);
     if (!$dimension instanceof Dimension || !$dimension->getDefinesPermissions()) {
         return;
     }
     try {
         DB::beginWork();
         $shtab_permissions = array();
         $new_permissions = array();
         $role_permissions = self::findAll(array('conditions' => 'role_id = ' . $role_id));
         $members = Members::findAll(array('conditions' => 'dimension_id = ' . $dimension_id));
         foreach ($members as $member) {
             $member_id = $member->getId();
             if ($remove_previous) {
                 ContactMemberPermissions::delete("permission_group_id = {$permission_group_id} AND member_id = {$member_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)) {
             $stCtrl = new SharingTableController();
             $stCtrl->afterPermissionChanged($permission_group_id, $shtab_permissions);
         }
         DB::commit();
         return $new_permissions;
     } catch (Exception $e) {
         DB::rollback();
         throw $e;
     }
 }