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; }