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();
Esempio n. 6
0
 /**
  * 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;
 }
Esempio n. 7
0
<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 
Esempio n. 11
0
	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();
			}
		}
	}