示例#1
0
 function handleUserAction($action, $username)
 {
     if ($action) {
         $person = new PSUPerson($username);
         if ($person->pidm) {
             switch ($action) {
                 case 'drive_quota':
                     echo calcDriveQuota($person->username);
                     break;
                 case 'mail_quota':
                     echo calcMailQuota($person->username);
                     break;
                 case 'view_ssn':
                     if (IDMObject::authZ('permission', 'ape_ssn')) {
                         $GLOBALS['LOG']->write('Viewing SSN', $person->login_name);
                         $person->_load_ssn('//');
                         echo $person->ssn;
                     } else {
                         echo 'You do not have access to view this ssn.';
                     }
                     //end else
                     break;
                 case 'view_pin_response':
                     if (IDMObject::authZ('permission', 'ape_pin_hint')) {
                         $GLOBALS['LOG']->write('Viewing Pin Response', $person->login_name);
                         echo $person->security_response;
                     } else {
                         echo 'You do not have access to view this pin hint response.';
                     }
                     //end else
                     break;
                 case 'view_cert':
                     if (IDMObject::authZ('permission', 'ape_ssn')) {
                         $GLOBALS['LOG']->write('Viewing Foreign Cert Number', $person->login_name);
                         echo $person->certification_number;
                     } else {
                         echo 'You do not have access to view this cert number.';
                     }
                     //end else
                     break;
                 case 'view_foreign_ssn':
                     if (IDMObject::authZ('permission', 'ape_ssn')) {
                         $GLOBALS['LOG']->write('Viewing Foreign SSN', $person->login_name);
                         echo $person->foreign_ssn;
                     } else {
                         echo 'You do not have access to view this foreign ssn.';
                     }
                     //end else
                     break;
                 case 'add_workflow_hiring_roles':
                     if (IDMObject::authZ('permission', 'ape_workflow')) {
                         if (!$GLOBALS['Workflow']->isWorkflowUser($person->login_name)) {
                             $attr = array('logonID' => $person->login_name, 'lastName' => $person->last_name, 'firstName' => $person->first_name, 'emailAddress' => $person->login_name . '@plymouth.edu');
                             $GLOBALS['Workflow']->createUser($attr);
                         }
                         $GLOBALS['Workflow']->addHiringRolesToUser($person->login_name);
                         echo ' [Roles added]';
                     } else {
                         echo 'You do not have access to modify foreign data.';
                     }
                     //end else
                     break;
             }
             //end switch
         } else {
             echo 'Invalid pidm';
         }
         //end else
     }
     //end if
 }
 /**
  * updateNonEmployees
  *
  * loops over non-employees generated by generatePopulations() and
  *   modifies/updates those people within the DATA_MART
  *
  * @since		version 1.0.0
  */
 function updateNonEmployees()
 {
     echo $this->line . ":: Updating Non-Employees (count: " . $this->count['non_emps'] . ")" . $this->line;
     $i = 0;
     foreach ($this->non_emps as $row) {
         $person = new PSUPerson($row['pidm']);
         if ($person->pidm) {
             $classifications = $this->idm->getPersonAttributesByMeta($person->pidm, 'classification');
             $person->classification = key($classifications['role']);
             $person->_load_ssn('//');
             $person->attributes = $this->idm->getPersonAttributes($person->pidm);
             $person->data['flags'] = array();
             $person->data['flags']['emp'] = isset($person->attributes['permission']['employee_list']) ? 1 : '';
             $person->data['flags']['pat'] = isset($person->attributes['permission']['pat_list']) ? 1 : '';
             $person->data['flags']['os'] = isset($person->attributes['permission']['os_list']) ? 1 : '';
             $person->data['flags']['faculty'] = isset($person->attributes['permission']['faculty_list']) ? 1 : '';
             $person->data['flags']['pa'] = isset($person->attributes['permission']['pa_list']) ? 1 : '';
             $person->data['flags']['lecturer'] = isset($person->attributes['permission']['lecturer_list']) ? 1 : '';
             $person->data['flags']['hourly'] = isset($person->attributes['permission']['hourly_list']) ? 1 : '';
             $person->data['flags']['supervisor'] = isset($person->attributes['permission']['supervisor_list']) ? 1 : '';
             $person->data['flags']['chair'] = isset($person->attributes['permission']['chair_list']) ? 1 : '';
             $person->data['flags']['dept_contact'] = isset($person->attributes['permission']['dept_contact_list']) ? 1 : '';
             $this->createTempRecord($person, 'NON-EMP');
             $this->updateDatamart($person, false);
             //false == don't update datamart
         }
         //end if
         unset($person);
         $person = null;
         $i++;
         if ($i % 10 == 9) {
             gc_collect_cycles();
         }
         //end if
     }
     //end foreach
     echo $this->line . ":: Finished Updating Non-Employees" . $this->line;
 }