From ae20075670d8f60f9af55e7edf113ac10c6beb2f Mon Sep 17 00:00:00 2001
From: Brett Bieber <brett.bieber@gmail.com>
Date: Thu, 16 Dec 2010 19:54:28 +0000
Subject: [PATCH] But wakeup doesn't exist any more! Fix call to undefined
 function.

---
 lib/php/UNL/Peoplefinder/Record.php | 46 ++++++++++++++---------------
 1 file changed, 22 insertions(+), 24 deletions(-)

diff --git a/lib/php/UNL/Peoplefinder/Record.php b/lib/php/UNL/Peoplefinder/Record.php
index 2116b688..999149d1 100644
--- a/lib/php/UNL/Peoplefinder/Record.php
+++ b/lib/php/UNL/Peoplefinder/Record.php
@@ -12,6 +12,7 @@
  */
 class UNL_Peoplefinder_Record
 {
+    public $dn; // distinguished name
     public $cn;
     public $ou;
     public $eduPersonAffiliation;
@@ -25,6 +26,7 @@ class UNL_Peoplefinder_Record
     public $telephoneNumber;
     public $title;
     public $uid;
+    public $unlHROrgUnitNumber;
     public $unlHRPrimaryDepartment;
     public $unlHRAddress;
     public $unlSISClassLevel;
@@ -42,7 +44,7 @@ class UNL_Peoplefinder_Record
 //    public $unlSISPermZip;
     public $unlSISMajor;
     public $unlEmailAlias;
-    
+
     function __construct($options = array())
     {
         if (isset($options['uid'])
@@ -50,9 +52,9 @@ class UNL_Peoplefinder_Record
             return $options['peoplefinder']->getUID($options['uid']);
         }
     }
-    
-    
-    
+
+
+
     /**
      * Takes in a string from the LDAP directory, usually formatted like:
      *     ### ___ UNL 68588-####
@@ -71,12 +73,12 @@ class UNL_Peoplefinder_Record
         $address['locality']       = '';
         $address['region']         = 'NE';
         $address['postal-code']    = '';
-        
+
         if (count($parts) == 3) {
             // Assume we have a street address, city, zip.
             $address['locality'] = trim($parts[1]);
         }
-        
+
         // Now lets find some important bits.
         foreach ($parts as $part) {
             if (preg_match('/([\d]{5})(\-[\d]{4})?/', $part)) {
@@ -84,7 +86,7 @@ class UNL_Peoplefinder_Record
                 $address['postal-code'] = trim($part);
             }
         }
-        
+
         switch (substr($address['postal-code'], 0, 3)) {
             case '681':
                 $address['locality'] = 'Omaha';
@@ -93,15 +95,15 @@ class UNL_Peoplefinder_Record
                 $address['locality'] = 'Lincoln';
                 break;
         }
-        
+
         return $address;
     }
 
-/**
+    /**
      * Formats a major subject code into a text description.
      *
      * @param string $subject Subject code for the major eg: MSYM
-     * 
+     *
      * @return string
      */
     public function formatMajor($subject)
@@ -109,7 +111,7 @@ class UNL_Peoplefinder_Record
 
         $c = new UNL_Cache_Lite();
         if ($subject_xml = $c->get('catalog subjects')) {
-            
+
         } else {
             if ($subject_xml = file_get_contents('http://bulletin.unl.edu/?view=subjects&format=xml')) {
                 $c->save($subject_xml);
@@ -118,13 +120,13 @@ class UNL_Peoplefinder_Record
                 $c->get('catalog subjects');
             }
         }
-        
+
         $d = new DOMDocument();
         $d->loadXML($subject_xml);
         if ($subject_el = $d->getElementById($subject)) {
             return $subject_el->textContent;
         }
-        
+
         switch ($subject) {
             case 'UNDL':
                 return 'Undeclared';
@@ -134,12 +136,12 @@ class UNL_Peoplefinder_Record
                 return $subject;
         }
     }
-    
+
     /**
      * Format a three letter college abbreviation into the full college name.
      *
      * @param string $college College abbreviation = FPA
-     * 
+     *
      * @return string College of Fine &amp; Performing Arts
      */
     public function formatCollege($college)
@@ -149,7 +151,7 @@ class UNL_Peoplefinder_Record
         if (isset($colleges->colleges[$college])) {
             return htmlentities($colleges->colleges[$college]);
         }
-        
+
         return $college;
     }
 
@@ -172,19 +174,15 @@ class UNL_Peoplefinder_Record
 
         return 'http://planetred.unl.edu/pg/icon/unl_'.str_replace('-', '_', $this->uid).'/'.$size.'/';
     }
-    
-    function __wakeup()
+
+    function getRoles()
     {
-        foreach ($this as $var=>$val) {
-            if ($val instanceof UNL_LDAP_Entry_Attribute) {
-                $this->$var->__wakeup();
-            }
-        }
+        return new UNL_Peoplefinder_Person_Roles(array('dn'=>$this->dn));
     }
 
     function __toString()
     {
-        return $this->uid;
+        return (string)$this->uid;
     }
 }
 
-- 
GitLab