/** * Handle the dma.friends.reward.redeemed event * @param Reward $reward * The reward model that has just been redeemed * @param User $user * The user that redeemed the reward */ public function onRewardRedeemed($reward, $user) { $data = ['reward' => $reward, 'user' => $user]; // Send an email to the user that redeemed the reward if ($reward->enable_email) { Mail::send($reward->email_template, $data, function ($message) use($reward, $user) { $message->to($user->email, $user->full_name); }); } if ($reward->enable_admin_email) { Mail::send($reward->admin_email_template, $data, function ($message) use($reward, $user) { // If a group is configured email those users if (!empty($reward->admin_email_group)) { $group = UserGroup::find($reward->admin_email_group); foreach ($group->users as $user) { $message->to($user->email, $user->first_name . ' ' . $user->last_name); } } // If an individual email is configured email that person if (!empty($reward->admin_email_address)) { $message->to($reward->admin_email_address, 'Anonymous'); } }); } // Print the reward if user is at a kiosk $location = LocationManager::getLocation(); if ($location) { $printManager = new PrintManager($location, $user); $printManager->printCoupon($reward); } }
public function getAdminEmailGroupOptions() { $options[] = 'None'; $groups = UserGroup::all(); foreach ($groups as $group) { $options[$group->id] = $group->name; } return $options; }
/** * Signs user up. * * @return User|null the saved model or null if saving fails */ public function signup() { if ($this->validate()) { $user = new User(); $user->type = $this->type; $user->userMobile = $this->userMobile; $user->setPassword($this->password); // $user->generateAuthKey(); if ($user->save()) { \backend\models\UserGroup::addUserToGroup($user->id, 'master'); return $user; } } return null; }
/** * Add available permission fields to the User form. * Mark default groups as checked for new Users. */ public function formExtendFields($form) { if ($form->getContext() == 'myaccount') { return; } if (!$this->user->isSuperUser()) { $form->removeField('permissions[superuser]'); } /* * Add permissions tab */ $form->addTabFields($this->generatePermissionFields()); /* * Mark default groups */ if (!$form->model->exists) { $defaultGroupIds = UserGroup::where('is_new_user_default', true)->lists('id'); $groupField = $form->getField('groups'); $groupField->value = $defaultGroupIds; } }
/** * Add available permission fields to the User form. * Mark default groups as checked for new Users. */ protected function formExtendFields($form) { if ($form->getContext() == 'myaccount') { return; } $permissionFields = []; foreach (BackendAuth::listPermissions() as $permission) { $fieldName = 'permissions[' . $permission->code . ']'; $fieldConfig = ['label' => $permission->label, 'comment' => $permission->comment, 'type' => 'balloon-selector', 'options' => [1 => 'backend::lang.user.allow', 0 => 'backend::lang.user.inherit', -1 => 'backend::lang.user.deny'], 'attributes' => ['data-trigger' => "input[name='User[permissions][superuser]']", 'data-trigger-type' => 'disable', 'data-trigger-condition' => 'checked'], 'span' => 'auto']; if (isset($permission->tab)) { $fieldConfig['tab'] = $permission->tab; } $permissionFields[$fieldName] = $fieldConfig; } $form->addTabFields($permissionFields); /* * Mark default groups */ if (!$form->model->exists) { $defaultGroupIds = UserGroup::where('is_new_user_default', true)->lists('id'); $groupField = $form->getField('groups'); $groupField->value = $defaultGroupIds; } }
public function run() { $group = UserGroup::create(['name' => 'Owners', 'code' => UserGroup::DEFAULT_CODE, 'description' => 'Default group for website owners.', 'is_new_user_default' => false]); $user = User::create(['email' => static::$email, 'login' => static::$login, 'password' => static::$password, 'password_confirmation' => static::$password, 'first_name' => static::$firstName, 'last_name' => static::$lastName, 'permissions' => ['superuser' => 1], 'is_activated' => true]); $user->addGroup($group); }
/** * 普通用户组成员 */ public function actionGroupuser() { $view = \Yii::$app->view; $view->params['moduleName'] = '用户分组'; $request = \Yii::$app->request; $groupId = $request->_get('groupId', ''); $search = $request->_get('search', ''); $where = 1; if (preg_match('/^1[0-9]{10}$/', $search)) { $where .= ' AND userMobile LIKE \'%' . $search . '%\''; } elseif (preg_match('/@/', $search)) { $where .= ' AND userEmail LIKE \'%' . $search . '%\''; } else { $where .= ' AND nickName LIKE \'%' . $search . '%\''; } $userModel = User::find()->where($where); $pageSize = \Yii::$app->params['pageSize']; $total = $userModel->count(); $pagination = new Pagination(['defaultPageSize' => $pageSize, 'totalCount' => $total]); $data = $userModel->asArray()->offset($pagination->offset)->limit($pagination->limit)->all(); $groupuser = UserGroup::find()->where('groupId=' . $groupId)->asArray()->All(); foreach ($data as &$user) { foreach ($groupuser as $group) { if ($user['userId'] == $group['userId']) { $user['inGroup'] = 1; } } } $token = Token::getToken(); $userId = \Yii::$app->user->id; $savegroupuserIdentity = EasyHelpers::dataEncrypt('savegroupuser,' . $userId); return $this->render('groupuser', ['data' => $data, 'search' => $search, 'groupId' => $groupId, 'token' => $token, 'pagination' => $pagination, 'savegroupuserIdentity' => $savegroupuserIdentity]); }
public function getGroupsOptions() { $result = []; foreach (UserGroup::all() as $group) { $result[$group->id] = [$group->name, $group->description]; } return $result; }
public function run() { $group = UserGroup::create(['name' => 'Admins', 'code' => 'admins', 'description' => 'Default group for administrators', 'is_new_user_default' => true]); $user = User::create(['email' => static::$email, 'login' => static::$login, 'password' => static::$password, 'password_confirmation' => static::$password, 'first_name' => static::$firstName, 'last_name' => static::$lastName, 'permissions' => ['superuser' => 1], 'is_activated' => true]); $user->addGroup($group); }
public function run() { $group = UserGroup::create(['name' => 'Admins']); $user = User::create(['email' => static::$email, 'login' => static::$login, 'password' => static::$password, 'password_confirmation' => static::$password, 'first_name' => static::$firstName, 'last_name' => static::$lastName, 'permissions' => ['superuser' => 1], 'is_activated' => true]); $user->addGroup($group); }
/** * 组管理(编辑组成员) */ public function actionSavegroupuser() { $request = \Yii::$app->request; $identity = Identity::checkIdentity('savegroupuser', '/app-backend/backend/adminmanage/savegroupuser'); if (is_array($identity)) { return $identity; } $groupId = $request->_get('groupId', 0); $userId = $request->_get('userId', 0); if (!$groupId || !$userId) { return ['code' => 1, 'msg' => '数据非法', 'data' => []]; } $check = UserGroup::find()->where('groupId=' . $groupId . ' And userId=' . $userId)->one(); if ($check) { $res = UserGroup::deleteAll('groupId=' . $groupId . ' And userId=' . $userId); } else { $usergroup = new UserGroup(); $usergroup->userId = $userId; $usergroup->groupId = $groupId; $res = $usergroup->save(); } if ($res !== false) { return ['code' => 0, 'msg' => '操作成功', 'data' => []]; } else { return ['code' => 2, 'msg' => '操作失败,请重试', 'data' => []]; } }
public function boot() { $plugin_manager = \System\Classes\PluginManager::instance(); // Walidacja tablicy Validator::extend('arrayed', function ($attribute, $value, $params) { foreach ($value as $key => $val) { $validation = true; for ($i = 1; $i < count($params); $i++) { $validation = $validation && Validator::make($val, [$params[$i] => $params[0]])->fails(); } if ($validation === true) { return false; } } return true; }); // Walidacja numeru telefonu Validator::extend('phone', function ($attribute, $value, $parameters) { return preg_match('/^(\\+|(00))?(\\([0-9]{2}\\))?([ -]?[0-9]{2,})+$/i', $value) && mb_strlen($value) >= 9 && mb_strlen($value) <= 18; }); /** * Rozdzerzenie menu o prawidłowe urle do artykułów */ if ($plugin_manager->hasPlugin('Flynsarmy.Menu')) { \Flynsarmy\Menu\Models\Menuitem::extend(function ($model) { $model->addDynamicMethod('beforeSave', function () use($model) { $classes = ['Flynsarmy\\Menu\\MenuItemTypes\\BlogPost' => 'rainlab_blog_posts', 'Flynsarmy\\Menu\\MenuItemTypes\\BlogCategory' => 'rainlab_blog_categories']; $column = ['post_id', 'category_id']; if (array_key_exists(post('master_object_class'), $classes)) { $object = Db::table($classes[post('master_object_class')])->find($model->master_object_id); if ($object) { $url = $object->url; $model->url = $url; $model->{$column[array_search(post('master_object_class'), $classes)]} = $model->master_object_id; $model->selected_item_id = $model->selected_item_id ?: $url; } } // usunięcie hosta z urla $model->url = str_replace(\URL::to('/'), '', $model->url); }); }); } // Rozszerzenie pluginu Tags if ($plugin_manager->hasPlugin('Bedard.BlogTags')) { Tag::extend(function ($model) { $model->belongsToMany = ['posts' => ['Bm\\Field\\Models\\Post', 'table' => 'bedard_blogtags_post_tag', 'order' => 'published_at desc']]; }); // Extend the model Post::extend(function ($model) { // Relationship $model->belongsToMany['tags'] = ['Bedard\\BlogTags\\Models\\Tag', 'table' => 'bedard_blogtags_post_tag', 'order' => 'name']; // getTagboxAttribute() $model->addDynamicMethod('getTaglistAttribute', function () use($model) { return $model->tags()->lists('name'); }); // setTagboxAttribute() $model->addDynamicMethod('setTaglistAttribute', function ($tags) use($model) { $this->tags = $tags; }); }); // Attach tags to model Post::saved(function ($model) { if ($this->tags) { $ids = []; foreach ($this->tags as $name) { $create = Tag::firstOrCreate(['name' => $name]); $ids[] = $create->id; } $model->tags()->sync($ids); } }); } /** * Problem z grupowaniem w zarządzaniu grupami * @todo usunąć po poprawce w octoberze */ Backend\Models\UserGroup::extend(function ($model) { $model->belongsToMany['users_count'] = ['Backend\\Models\\User', 'table' => 'backend_users_groups', 'count' => true, 'key' => 'user_id']; }); /** * Rozszerzanie pól bloga */ Event::listen('backend.form.extendFields', function ($form) { if ($form->getController() instanceof \Bm\Field\Controllers\Posts && in_array($form->getContext(), ['create', 'update'])) { // Nadpisanie pola z tagami if (class_exists('\\Bedard\\BlogTags\\Plugin')) { $form->removeField('tagbox'); } // Generowanie pól szablonu $form->addTabFields($form->model->generateFields()); // Ustawianie domyślnej daty publikacji $form->data->published_at = $form->data->published_at ?: Carbon::now(); } }); /** * Rozdzerzenie pól menu o id artykułukategorii */ Event::listen('backend.list.extendColumns', function ($widget) { if ($widget->getController() instanceof \Flynsarmy\Menu\Controllers\Menus) { $widget->addColumns(['post_id' => ['hidden' => true], 'category_id' => ['hidden' => false]]); } }); // Rejestracja rozszerzeń Twiga Event::listen('cms.page.beforeDisplay', function ($controller, $url, $page) { $twig = $controller->getTwig(); $twig->addExtension(new \Bm\Field\Classes\TwigExcerpt()); $twig->addExtension(new \Bm\Field\Classes\TwigThumbnail()); $twig->addExtension(new \Bm\Field\Classes\TwigPostUrl()); if ($page) { // Ustawianie aktywnego urla w menu $page->menu_url = empty($page->url) ? '/' : $page->url; } }); }