public function getDropDownArray()
 {
     $groups = Group::getAll();
     $groupsData = array();
     foreach ($groups as $group) {
         $groupsData[$group->id] = strval($group);
     }
     return $groupsData;
 }
예제 #2
0
파일: listUser.php 프로젝트: sabasco/gnscms
function listUser()
{
    global $lang;
    $page_lang = scandir('inc/lang/' . $_SESSION['language']);
    foreach ($page_lang as $file) {
        if ($file != '.' && $file != '..') {
            $parts = explode(".", $file);
            $page = $parts[0];
            if ($page == 'user') {
                $page_file = $file;
            }
        }
    }
    include_once 'inc/lang/' . $_SESSION['language'] . '/' . $page_file;
    if ($_SESSION['access']->users > 0) {
        $results = array();
        $gResults = array();
        $data = User::getAll();
        $gData = Group::getAll();
        $results['users'] = $data['results'];
        $results['totalRows'] = $data['totalRows'];
        $results['pageTitle'] = "Admin User Management";
        $gResults['groups'] = $gData['results'];
        $gResults['totalRows'] = $gData['totalRows'];
        if (isset($_GET['success'])) {
            if ($_GET['success'] == "userCreated") {
                $results['successMessage'] = "Your new admin user profile has been created successully.";
            }
            if ($_GET['success'] == "groupCreated") {
                $results['successMessage'] = "Your new admin group has been created successully.";
            }
            if ($_GET['success'] == "changesSaved") {
                $results['successMessage'] = "Your user profile changes have been saved successully.";
            }
            if ($_GET['success'] == "groupChangesSaved") {
                $results['successMessage'] = "Your group changes have been saved successully.";
            }
        }
        require "inc/layout/listUser.php";
    } else {
        require "inc/layout/noAccess.php";
    }
}
예제 #3
0
 /**
  * @depends testGetGroup
  */
 public function testListGroups()
 {
     $super = User::getByUsername('super');
     Yii::app()->user->userModel = $super;
     $authenticationData = $this->login();
     $headers = array('Accept: application/json', 'ZURMO_SESSION_ID: ' . $authenticationData['sessionId'], 'ZURMO_TOKEN: ' . $authenticationData['token'], 'ZURMO_API_REQUEST_TYPE: REST');
     $groups = Group::getAll('name');
     $compareData = array();
     foreach ($groups as $group) {
         $compareData[] = $this->getModelToApiDataUtilData($group);
     }
     //Test List
     $response = $this->createApiCallWithRelativeUrl('list/', 'GET', $headers);
     $response = json_decode($response, true);
     $this->assertEquals(ApiResponse::STATUS_SUCCESS, $response['status']);
     $this->assertEquals(count($groups), count($response['data']['items']));
     $this->assertEquals(count($groups), $response['data']['totalCount']);
     $this->assertEquals(1, $response['data']['currentPage']);
     $this->assertEquals($compareData, $response['data']['items']);
 }
예제 #4
0
파일: listUser.php 프로젝트: sabasco/gnscms
                  </div>
                </div>
                <div class="row-fluid">
                  <div class="span4">
                    <label>Confirm Password</label>
                    <input class="text-input span12" type="password" id="passconfirm" name="passconfirm" autocomplete="off" required />
                  </div>
                </div>
                <div class="row-fluid">
                  <div class="span4">
                    <label>User Group</label>
                    <div class="controls">
                      <select id="usergroup" name="usergroup">
                        <option>Select Group</option>
                        <?php 
$groups = Group::getAll();
foreach ($groups['results'] as $group) {
    echo '<option value="' . $group->id . '">' . $group->title . '</option>';
}
?>
                      </select>
                    </div>
                  </div>
                </div>
                <div class="row-fluid">
                  <div class="span4">
                    <label>Gender</label>
                    <label class="radio">
                      <div class="radio" style="padding-left:10px;">
                        <span>
                          <input type="radio" name="gender" value="m">
 protected static function rebuildViaSlowWay($modelClassName)
 {
     // The slow way will remain here as documentation
     // for what the optimized way is doing.
     $mungeTableName = self::getMungeTableName($modelClassName);
     self::recreateTable($mungeTableName);
     //Specifically call RedBeanModel to avoid the use of the security in OwnedSecurableItem since for
     //rebuild it needs to look at all models regardless of permissions of the current user.
     $modelCount = RedBeanModel::getCount(null, null, $modelClassName);
     $subset = intval($modelCount / 20);
     if ($subset < 100) {
         $subset = 100;
     } elseif ($subset > 1000) {
         $subset = 1000;
     }
     $users = User::getAll();
     $groups = Group::getAll();
     $roles = Role::getAll();
     for ($i = 0; $i < $modelCount; $i += $subset) {
         //Specifically call RedBeanModel to avoid the use of the security in OwnedSecurableItem since for
         //rebuild it needs to look at all models regardless of permissions of the current user.
         $models = RedBeanModel::getSubset(null, $i, $subset, null, null, $modelClassName);
         foreach ($models as $model) {
             assert('$model instanceof SecurableItem');
             $securableItemId = $model->getClassId('SecurableItem');
             foreach ($users as $user) {
                 list($allowPermissions, $denyPermissions) = $model->getExplicitActualPermissions($user);
                 $effectiveExplicitPermissions = $allowPermissions & ~$denyPermissions;
                 if (($effectiveExplicitPermissions & Permission::READ) == Permission::READ) {
                     self::incrementCount($mungeTableName, $securableItemId, $user);
                 }
             }
             foreach ($groups as $group) {
                 list($allowPermissions, $denyPermissions) = $model->getExplicitActualPermissions($group);
                 $effectiveExplicitPermissions = $allowPermissions & ~$denyPermissions;
                 if (($effectiveExplicitPermissions & Permission::READ) == Permission::READ) {
                     self::incrementCount($mungeTableName, $securableItemId, $group);
                     foreach ($group->users as $user) {
                         if ($user->role->id > 0) {
                             self::incrementParentRolesCounts($mungeTableName, $securableItemId, $user->role);
                         }
                     }
                     foreach ($group->groups as $subGroup) {
                         self::processNestedGroupWhereParentHasReadPermissionOnSecurableItem($mungeTableName, $securableItemId, $subGroup);
                     }
                 }
             }
             foreach ($roles as $role) {
                 $count = self::getRoleMungeCount($model, $role);
                 assert('$count >= 0');
                 if ($count > 0) {
                     self::setCount($mungeTableName, $securableItemId, $role, $count);
                 }
             }
         }
     }
 }
 public static function getSelectableGroupsData()
 {
     $groups = Group::getAll();
     $groupsData = array();
     foreach ($groups as $group) {
         if ($group->name != Group::EVERYONE_GROUP_NAME && $group->name != Group::SUPER_ADMINISTRATORS_GROUP_NAME) {
             $groupsData[$group->id] = strval($group);
         }
     }
     return $groupsData;
 }
예제 #7
0
 protected static function setRandomNonEveryoneNonAdministratorsGroup()
 {
     $groups = Group::getAll();
     foreach ($groups as $group) {
         if ($group->isDeletable()) {
             static::$randomNonEveryoneNonAdministratorsGroup = $group;
             break;
         }
     }
 }
예제 #8
0
 public function actionChangediscip($id = null)
 {
     $specialty = new Specialty();
     $groups = array();
     $disciplins = array();
     if ($id == null) {
         $model = new DisciplineToTeacher();
         $this->pageTitle = 'Назначить дисциплину преподавателю';
     } else {
         $this->pageTitle = 'Изменить дисциплину';
         $model = DisciplineToTeacher::model()->findByPk($id);
         $specialty->id_specialty = $model->discipline->metBlock->id_speciality;
         $criteria = new CDbCriteria();
         $criteria->condition = 'id_speciality=:id_specialty';
         $criteria->params = array(':id_specialty' => $specialty->id_specialty);
         $groups = Group::getAll($criteria);
         $criteria = new CDbCriteria();
         $criteria->with = array('metBlock');
         $criteria->condition = 'metBlock.id_speciality=:id_specialty';
         $criteria->params = array(':id_specialty' => $specialty->id_specialty);
         $disciplins = Discipline::getAll($criteria);
     }
     if (isset($_POST['id_specialty'])) {
         $criteria = new CDbCriteria();
         $criteria->condition = 'id_speciality=:id_specialty';
         $criteria->params = array(':id_specialty' => $_POST['id_specialty']);
         $groups = Group::getAll($criteria);
         $criteria = new CDbCriteria();
         $criteria->with = array('metBlock');
         $criteria->condition = 'metBlock.id_speciality=:id_specialty';
         $criteria->params = array(':id_specialty' => $_POST['id_specialty']);
         $disciplins = Discipline::getAll($criteria);
         $this->renderPartial('_forSpecialty', array('model' => $model, 'groups' => $groups, 'disciplins' => $disciplins));
         Yii::app()->end();
     }
     if (isset($_POST['DisciplineToTeacher'])) {
         $model->attributes = $_POST['DisciplineToTeacher'];
         if ($model->save()) {
             $this->redirect('listdiscip');
         }
     }
     $this->render('changeDisipline', array('model' => $model, 'specialty' => $specialty, 'groups' => $groups, 'disciplins' => $disciplins));
 }
예제 #9
0
 /**
  * @depends testCannotModifyGroupMembershipForTheTheEveryoneGroup
  */
 public function testEveryoneImplicitlyContainsAllGroups()
 {
     $everyone = Group::getByName(Group::EVERYONE_GROUP_NAME);
     $groups = Group::getAll();
     foreach ($groups as $group) {
         $this->assertTrue($everyone->contains($group));
     }
 }
예제 #10
0
<?php

$this->pageTitle = 'Список дисциплин';
?>
<h1><?php 
echo $this->pageTitle;
?>
</h1>

<?php 
echo CHtml::link('Назначить дисциплину для преподавателя', array("discipline/changediscip"));
$this->widget('zii.widgets.grid.CGridView', array('id' => 'user-grid', 'dataProvider' => $discipline->search(), 'filter' => $discipline, 'emptyText' => 'В базе нет дисциплин', 'columns' => array('id_discipline' => array('name' => 'id_discipline', 'value' => '$data->discipline->title'), 'id_group' => array('name' => 'id_group', 'value' => '$data->group->title', 'filter' => Group::getAll()), 'id_teacher' => array('name' => 'id_teacher', 'value' => '$data->teacher->surname." ".$data->teacher->firstname." ".$data->teacher->middlename', 'filter' => User::getAllTeacher()), 'sem' => array('name' => 'sem', 'value' => '$data->sem', 'filter' => DisciplineToTeacher::getAllSem()), array('class' => 'CButtonColumn', 'template' => '{update}{delete}', 'updateButtonUrl' => 'Yii::app()->createUrl("discipline/changediscip", array("id"=>$data->id_notice))', 'deleteButtonUrl' => 'Yii::app()->createUrl("discipline/deletediscip", array("id"=>$data->id_notice))'))));
예제 #11
0
 /**
  * generate form: change user info
  *
  * @return string html code for the form
  * @author Elias Müller
  **/
 private function getUserForm($user = NULL)
 {
     if ($this->s->user->hasRights('user:update') || $this->s->action == 'create') {
         $list_status = Group::getAll();
     } else {
         $list_status = $this->s->user->status;
     }
     $path = $this->s->element != '' ? $this->s->action . '/' . $this->s->element . '.html' : $this->s->action;
     $tpl = new Template('user');
     $tpl->assign('user', $user);
     $tpl->assign('path', $path);
     $tpl->assign('status', $list_status);
     return $tpl->fetch('form_user.html');
 }
예제 #12
0
		function move($id, $type = 'up') {
			global $database, $db;

			if(empty($id) || !isset($id)) 
				return false;
			if(!preg_match("/^[0-9]+$/", $id)) 
				return false;
			if(in_array($type, array('up', 'down'))) {
				$group = Group::getAll($id);
				if($group) {
					if($type=='up') {
						$prevGroup = $db->queryRow('SELECT * FROM '.$database['prefix'].'Groups WHERE priority < '. $group['priority'] .' ORDER BY priority DESC LIMIT 1');
						if($prevGroup['id'] != $group['id']) {
							$db->execute('UPDATE '.$database['prefix'].'Groups SET priority = '.$group['priority'].' WHERE id='.$prevGroup['id']);
							$db->execute('UPDATE '.$database['prefix'].'Groups SET priority = '.$prevGroup['priority'].' WHERE id='.$group['id']);
						}
					} else {
						$nextGroup = $db->queryRow('SELECT * FROM '.$database['prefix'].'Groups WHERE priority > '. $group['priority'] .' ORDER BY priority ASC LIMIT 1');
						if($nextGroup['id'] != $group['id']) {
							$db->execute('UPDATE '.$database['prefix'].'Groups SET priority = '.$group['priority'].' WHERE id='.$nextGroup['id']);
							$db->execute('UPDATE '.$database['prefix'].'Groups SET priority = '.$nextGroup['priority'].' WHERE id='.$group['id']);
						}
					}

					return true;
				} else return false;
			} else {
				return false;
			}
		}
예제 #13
0
 /**
  * Create group/rights list
  *
  * @return string HTML-Code for group list
  */
 private function listGroups()
 {
     $tpl = new Template('group');
     // get all rights of the active modules
     $modules = $this->s->modules;
     foreach ($modules as $module => $name) {
         $cur_module = $this->s->loadModule($module);
         $r = $cur_module->registerRights();
         if (is_array($r)) {
             $set = false;
             foreach ($r as $key => $value) {
                 $r_names[$module][$key] = $value;
                 // names of the rights
                 $set = true;
             }
             if ($set) {
                 $m_names[$module] = $name;
             }
         }
         is_array($r_names[$module]) && ksort($r_names[$module]);
     }
     // get all rights of the user groups
     $groups = Group::getAll();
     foreach ($groups as $g) {
         foreach ($g->rights as $right) {
             $r = explode(':', $right);
             $r_groups[$r[0]][$r[1]][$g->id] = true;
         }
     }
     $tpl->assign('groups', $groups);
     $tpl->assign('count', count($groups) + 1);
     $tpl->assign('modules', $m_names);
     $tpl->assign('names', $r_names);
     $tpl->assign('rights', $r_groups);
     $tpl->assign('call', $this->s->post['call']);
     $tpl->assign('permissions', array('activate' => $this->s->user->hasRights("group:activate"), 'delete' => $this->s->user->hasRights("group:delete"), 'create' => $this->s->user->hasRights("group:create")));
     $tpl->assign('permission', $this->s->user->hasRights('group:activate'));
     return $tpl->fetch('rights_table.html');
 }
예제 #14
0
파일: index.php 프로젝트: ncloud/bloglounge
	include ROOT . '/lib/includeForAdmin.php';

	requireAdmin();

	requireComponent('Bloglounge.Data.Groups');

	include ROOT. '/lib/piece/adminHeader.php';
	$groups = Group::getList();
	$groupCount = count($groups );

	$selectGroup = null;
	$selectGroupId = 0;

	if(isset($_GET['group'])) {
		$selectGroupId = $_GET['group'];
		$selectGroup = Group::getAll($selectGroupId);
	}
?>
	<script type="text/javascript">
		function groupAdd() {
			var name = $("#groupAddName");
			
			
			if(name.val() == "") {
				alert('<?php echo _t("그룹명을 입력해주세요.");?>');
				name.focus();
				return false;
			}

			$.ajax({
			  type: "POST",