public function actionAdmin() { $this->layout = Yum::module('role')->layout; $model = new YumPermission('search'); $model->unsetAttributes(); if (isset($_GET['YumPermission'])) { $model->attributes = $_GET['YumPermission']; } $this->render('admin', array('model' => $model, 'rolefilter' => CHtml::listData(YumRole::model()->findAll(), 'id', 'title'), 'actionfilter' => CHtml::listData(YumAction::model()->findAll(), 'id', 'title'))); }
public function getUsers() { $users = array(); foreach ($this->permissions as $permission) { if ($permission->type == 'role') { foreach (YumRole::model()->findByPk($permission->principal_id)->users as $user) { $users[$user->id] = $user; } } else { if ($permission->type == 'user') { $users[$permission->principal_id] = $permission->principal; } } return $users; } }
/** * Get all users with a specified role. * @param string $roleTitle title of role to be searched * @return array users with specified role. Null if none are found. */ public static function getUsersByRole($roleTitle) { $role = YumRole::model()->findByAttributes(array('title' => $roleTitle)); return $role ? $role->users : null; }
<?php if (isset($actions)) { foreach ($actions as $action) { printf('<h2>%s</h2>', $action->title); echo Yum::t('The following users have permission to perform the action {action}:', array('{action}' => $action->title)); if ($action->permissions) { foreach ($action->permissions as $permission) { echo '<ul>'; if ($permission->type == 'user') { $user = YumUser::model()->findByPk($permission->principal_id); printf('<li>%s</li>', CHtml::link($user->username, array('/user/view', 'id' => $user->id))); } if ($permission->type == 'role') { $role = YumRole::model()->findByPk($permission->principal_id); printf('<li>role %s</li>', CHtml::link($role->title, array('/role/view', 'id' => $role->id))); } echo '</ul>'; } } } } else { echo Yum::t('No user has permission'); } ?>
<?php $this->breadcrumbs = array(Yum::t('Data Generation')); if (isset($_POST['user_amount'])) { echo '<h2> Success </h2>'; printf('<p> <strong> %d </strong> %s been generated. The associated password is <em>%s</em> </p>', $_POST['user_amount'], $_POST['user_amount'] == 1 ? 'User has' : 'Users have', $_POST['password']); echo '<br />'; } echo CHtml::beginForm(); echo '<h2> Random user Generator </h2>'; printf('Generate %s %s users <br /> belonging to role %s <br /> with associated password %s', CHtml::textField('user_amount', '1', array('size' => 2)), CHtml::dropDownList('status', 1, array('-1' => Yum::t('banned'), '0' => Yum::t('inactive'), '1' => Yum::t('active'))), Yum::hasModule('role') ? CHtml::dropDownList('role', '', CHtml::listData(YumRole::model()->findAll(), 'id', 'title')) : ' - ', CHtml::textField('password', 'Demopassword123')); echo '<br />'; echo CHtml::submitButton(Yum::t('Generate')); echo CHtml::endForm();
/** * Get all users with a specified role. * @param string $roleTitle title of role to be searched * @return array users with specified role. Null if none are found. */ public static function getUsersByRole($roleTitle) { Yii::import('user.role.models.*'); $role = YumRole::model()->findByAttributes(array('title' => $roleTitle)); return $role ? $role->users : null; }
<div class="span12"> <?php $this->title = Yum::t('Manage users'); $this->breadcrumbs = array(Yum::t('Users'), Yum::t('Manage')); echo CHtml::link(Yum::t('Create new User'), array('//user/user/create'), array('class' => 'btn')); $columns = array(array('class' => 'zii.widgets.grid.CButtonColumn', 'headerHtmlOptions' => array('class' => 'span1')), array('name' => 'id', 'filter' => false, 'type' => 'raw', 'headerHtmlOptions' => array('class' => 'span1'), 'value' => 'CHtml::link($data->id, array("//user/user/update","id"=>$data->id))'), array('name' => 'username', 'type' => 'raw', 'headerHtmlOptions' => array('class' => 'span1'), 'value' => 'CHtml::link(CHtml::encode($data->username), array("//user/user/view","id"=>$data->id))')); if (Yum::hasModule('profile') && isset($profile)) { foreach (Yum::module('profile')->gridColumns as $column) { $columns[] = array('header' => Yum::t($column), 'filter' => CHtml::textField('YumProfile[' . $column . ']', $profile->{$column}), 'name' => 'profile.' . $column, 'headerHtmlOptions' => array('class' => 'span1')); } } $columns[] = array('name' => 'createtime', 'filter' => false, 'value' => 'date(UserModule::$dateFormat,$data->createtime)', 'headerHtmlOptions' => array('class' => 'span1')); $columns[] = array('name' => 'lastvisit', 'filter' => false, 'value' => 'date(UserModule::$dateFormat,$data->lastvisit)', 'headerHtmlOptions' => array('class' => 'span1')); $columns[] = array('name' => 'status', 'filter' => array('0' => Yum::t('Not active'), '1' => Yum::t('Active'), '-1' => Yum::t('Banned'), '-2' => Yum::t('Deleted')), 'value' => 'YumUser::itemAlias("UserStatus",$data->status)', 'headerHtmlOptions' => array('class' => 'span1')); $columns[] = array('name' => 'superuser', 'filter' => array(0 => Yum::t('No'), 1 => Yum::t('Yes')), 'value' => 'YumUser::itemAlias("AdminStatus",$data->superuser)', 'headerHtmlOptions' => array('class' => 'span1')); if (Yum::hasModule('role')) { $columns[] = array('header' => Yum::t('Roles'), 'name' => 'filter_role', 'type' => 'raw', 'visible' => Yum::hasModule('role'), 'filter' => CHtml::listData(YumRole::model()->findAll(), 'id', 'title'), 'value' => '$data->getRoles()', 'headerHtmlOptions' => array('class' => 'span1')); } $this->widget('zii.widgets.grid.CGridView', array('dataProvider' => $model->search(), 'filter' => $model, 'columns' => $columns, 'htmlOptions' => array('class' => 'table table-striped table-condensed admin-user'))); ?> </div> </div> </div>
<div class="form"> <p class="note"> <?php echo Yii::t('app', 'Fields with'); ?> <span class="required">*</span> <?php echo Yii::t('app', 'are required'); ?> . </p> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'membership-form', 'enableAjaxValidation' => true)); echo $form->errorSummary($model); ?> <div class="row"> <?php echo $form->labelEx($model, 'type'); echo CHtml::activeRadioButtonList($model, 'type', CHtml::listData(YumRole::model()->findAll('price != 0'), 'id', 'title')); echo $form->error($model, 'type'); ?> </div> <?php echo CHtml::Button(Yii::t('app', 'Cancel'), array('submit' => array('membership/index'))); echo CHtml::submitButton(Yum::t('Buy membership')); $this->endWidget(); ?> </div> <!-- form -->
<?php $this->renderPartial('/user/passwordfields', array('form' => $passwordform)); ?> <?php if (Yum::hasModule('role')) { Yii::import('user.role.models.*'); ?> <label> <?php echo Yum::t('User belongs to these roles'); ?> </label> <?php $this->widget('user.components.select2.ESelect2', array('model' => $user, 'attribute' => 'roles', 'htmlOptions' => array('multiple' => 'multiple', 'style' => 'width:220px;'), 'data' => CHtml::listData(YumRole::model()->findAll(), 'id', 'title'))); } ?> </div> <div class="span6"> <?php if (Yum::hasModule('profile')) { $this->renderPartial(Yum::module('profile')->profileFormView, array('form' => $form, 'profile' => $profile)); } ?> </div>
?> <?php $this->title = Yum::t('Membership'); ?> <div class="form"> <?php $form = $this->beginWidget('CActiveForm', array('id' => 'membership-has-company-form', 'enableAjaxValidation' => true)); echo $form->errorSummary($model); ?> <div class="row"> <?php echo CHtml::activeRadioButtonList($model, 'membership_id', CHtml::listData(YumRole::model()->findAll('price != 0'), 'id', 'description'), array('template' => '<div style="float:left;margin-right:5px;">{input}</div>{label}')); ?> <div class="clear"></div> </div> <br /> <div class="row"> <?php echo $form->labelEx($model, 'payment_id'); ?> <br /> <?php echo CHtml::activeRadioButtonList($model, 'payment_id', CHtml::listData(YumPayment::model()->findAll(), 'id', 'title'), array('template' => '<div style="float:left;margin-right:5px;">{input}</div>{label}')); ?> <div class="clear"></div> </div> <?php
public static function syncMemberships () { if(!Yii::app()->user->isGuest) { foreach(YumMembership::model()->findAll( 'user_id = :uid and end_date != 0 and end_date < :date', array( ':uid' => Yii::app()->user->id, ':date' => time())) as $membership) { if($membership->subscribed != -1) { // renew membership $new_membership = new Membership; $new_membership->user_id = Yii::app()->user->id; $new_membership->payment_id = $membership->payment_id; $new_membership->payment_date = time(); // the user has choosen to up/downgrade to another membership if($membership->subscribed > 0) $new_membership->membership_id = $membership->subscribed; else $new_membership->membership_id = $membership->membership_id; $role = YumRole::model()->findByPk($new_membership->membership_id); $new_membership->end_date = time() + ($role->duration * 86400); $new_membership->save(); } $membership->end_date = 0; $membership->save(); } } }