home *** CD-ROM | disk | FTP | other *** search
/ Chip 2004 April / CMCD0404.ISO / Software / Freeware / Programare / dotproject / modules / admin / do_perms_cp.php < prev    next >
Encoding:
PHP Script  |  2004-01-25  |  1.3 KB  |  43 lines

  1. <?php
  2. $tempUserName = dPgetParam( $_POST, 'temp_user_name', '' );
  3. $permission_user = dPgetParam( $_POST, 'permission_user', '' );
  4.  
  5. // pull user_id for unique user_username (templateUser)
  6. $sql = "SELECT user_id FROM users WHERE user_username = '$tempUserName'";
  7. $res = db_loadList( $sql );
  8. $tempUserId = $res[0]['user_id'];
  9.  
  10.  
  11. // check if 'delete existing permissions'-checkbox is checked
  12. if ( isset( $_POST['delPerms'] ) && isset( $_POST['permission_user'] ))
  13. {
  14.     // delete existing permissions
  15.     if ($msg = db_delete( 'permissions', 'permission_user', $permission_user )) {
  16.         $AppUI->setMsg( 'Permission' );
  17.         $AppUI->setMsg( $msg, UI_MSG_ERROR );
  18.     }
  19. }
  20.  
  21.  
  22. // pull permissions from user to copy from
  23. $sql = "SELECT * FROM permissions WHERE permission_user = $tempUserId";
  24. $obj = new CPermission();
  25. $objList = db_loadObjectList( $sql, $obj );
  26.  
  27. // _copy_ permissions from template to target user
  28. foreach($objList as $permObj) {
  29.  
  30.     // convert object to a new one, an Id of Zero is inserted as new row by SQL
  31.     $permObj->permission_id = 0;
  32.  
  33.     // rename from template to target user
  34.     $permObj->permission_user = $permission_user;
  35.  
  36.     // store _new_ permission object in database
  37.     $permObj->store();
  38. }
  39.  
  40. $AppUI->setMsg( 'Permissions' );
  41. $AppUI->setMsg( 'copied from template', UI_MSG_OK, true );
  42. $AppUI->redirect();
  43. ?>