diff --git a/plugins/cas_auth_unl/.gitignore b/plugins/cas_auth_unl/.gitignore
new file mode 100644
index 0000000000000000000000000000000000000000..590b2212bcc4a4d4b7f4dcc3cbadbb54786860d3
--- /dev/null
+++ b/plugins/cas_auth_unl/.gitignore
@@ -0,0 +1,2 @@
+vendor
+session_map.json
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/README.txt b/plugins/cas_auth_unl/README.txt
new file mode 100644
index 0000000000000000000000000000000000000000..546350bb2ee8b6cd2cf9ea220d9bc034086d0316
--- /dev/null
+++ b/plugins/cas_auth_unl/README.txt
@@ -0,0 +1,32 @@
+
+
+
+
+
+
+
+Built upon Xavier Roussel's cas_auth plugin
+http://code.google.com/p/elgg-cas/
+His README below:
+
+*************************
+Elgg is an open source social networking platform.
+
+CAS (Central Authentification Service) is an SSO.
+
+This project tries to allow CAS authentification in Elgg. The idea is to authenticate with CAS, then look up the user info in LDAP
+and authenticate the user in Elgg.
+
+This plugin has been widely built on the ldap_auth plugin from Misja Hoebe and is inspired from the CAS authentification used in 
+Claroline : www.claroline.net
+
+You can edit the config in the Tool administration section by providing CAS host, port and URI.
+
+--
+
+Xavier Roussel
+Responsable technique - TICE
+Direction des Systèmes d'Information - UVSQ
+xavier.roussel@uvsq.fr
+www.uvsq.fr
+www.tice.uvsq.fr
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/actions/getemail.php b/plugins/cas_auth_unl/actions/getemail.php
new file mode 100644
index 0000000000000000000000000000000000000000..168d9fcc32d0e324caabfd54518e076af849fb4e
--- /dev/null
+++ b/plugins/cas_auth_unl/actions/getemail.php
@@ -0,0 +1,38 @@
+<?php
+
+	/**
+	 * Elgg UNL SSO get email registration action
+	 * 
+	 * @package Elgg
+	 * @subpackage Core
+	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+	 * @author Curverider Ltd
+	 * @copyright Curverider Ltd 2008-2009
+	 * @link http://elgg.org/
+	 */
+ 
+	global $CONFIG;
+	
+	action_gatekeeper();
+ 
+	$email = get_input('email');
+	$email = sanitise_string($email);
+	$view = get_input('view');
+
+	if (is_email_address($email)) {
+		if (!get_user_by_email($email)) {
+			$ts = time();
+			$token = generate_action_token($ts); 
+			forward($CONFIG->url.'action/login?usecas=yes&email='.$email.'&__elgg_ts='.$ts.'&__elgg_token='.$token.'&view='.$view);
+		} else {
+			register_error(elgg_echo("Sorry, that email has already been registered.  Please try again."));
+		}
+	} else {
+		register_error(elgg_echo("Sorry, that is not a complete email address.  Please try again."));
+	}
+		
+ 
+	
+	forward($CONFIG->url . 'pg/getemail?e=' . urlencode($email));
+
+?>
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/actions/login.php b/plugins/cas_auth_unl/actions/login.php
new file mode 100644
index 0000000000000000000000000000000000000000..6b04f40ff58bdce96ec8d7a84f49d630bb6e98cf
--- /dev/null
+++ b/plugins/cas_auth_unl/actions/login.php
@@ -0,0 +1,99 @@
+<?php
+/**
+ * Elgg UNL CAS authentication login action
+ * 
+ * @package cas_auth_unl
+ * @license BSD http://www1.unl.edu/wdn/wiki/Software_License
+ * @author University of Nebraska-Lincoln
+ * @copyright 2010 Regents of the University of Nebraska 
+ * @link http://www.unl.edu/
+ * 
+ * Builds upon the original login action at elgg/actions/login.php by Curverider Ltd
+ * 
+ */
+ 
+// Get $_GET inputs 
+$username = get_input('username');
+$password = get_input("password");
+$persistent = get_input("persistent", false);
+$usecas = get_input('usecas'); 
+//this is available once they have given their email
+$email = get_input('email');
+//look for view=mobile
+$view = get_input('view');
+        
+// 1. Do the regular elgg login if username and password are set 
+$result = false;          
+if (!empty($username) && !empty($password)) {
+  	if ($user = authenticate($username,$password)) {
+   		$result = login($user, $persistent);
+   	}
+}
+        
+// 2. Otherwise try CAS if that button was clicked
+if ($usecas == 'yes') {
+	$casObject = new elggSimpleCas();
+	if (!$casObject->checkCas()) {
+		global $CONFIG;
+		$ts = time();
+		$token = generate_action_token($ts);
+		$url = $CONFIG->url;
+		if (strpos($url, 'http') !== 0) {
+			$url = 'https:' . $url;
+		}
+        SimpleCAS::setURL($url.'action/login?usecas=yes&__elgg_ts='.$ts.'&__elgg_token='.$token.'&view='.$view);
+   		$casObject->forceCas();
+	} else {
+		$cas_user = $casObject->getUserCas(); 
+		if ($user = $casObject->casAuthenticate($cas_user,$email,$view)) {
+			$result = login($user);
+			if ($result)
+				$_SESSION['loggedInWithCas'] = true;
+		} 
+	}
+}
+
+// Set the system_message as appropriate
+if ($result) {
+    system_message(elgg_echo('loginok'));
+    if (isset($_SESSION['last_forward_from']) && $_SESSION['last_forward_from']) {
+        $forward_url = $_SESSION['last_forward_from'];
+        unset($_SESSION['last_forward_from']);
+        forward($forward_url);
+    } else {
+        if ( (isadminloggedin()) && (!datalist_get('first_admin_login'))) {
+            system_message(elgg_echo('firstadminlogininstructions'));
+            datalist_set('first_admin_login', time());
+
+            forward('pg/admin/plugins');
+        } else if ($_SESSION['user']->last_login == '0' && $view != 'mobile') {
+            forward('pg/profile/'.$_SESSION['username'].'/edit/?firstlogin=yes');
+        } else if (get_input('returntoreferer')) {
+            forward($_SERVER['HTTP_REFERER']);
+        } else {
+            forward('pg/dashboard/');
+        }
+    }
+} else {
+    $error_msg = elgg_echo('loginerror');
+    // figure out why the login failed
+    if (!empty($username) && !empty($password)) {
+        // See if it exists and is disabled
+        $access_status = access_get_show_hidden_status();
+        access_show_hidden_entities(true);
+        if (($user = get_user_by_username($username)) && !$user->validated) {
+            // give plugins a chance to respond
+            if (!trigger_plugin_hook('unvalidated_login_attempt','user',array('entity'=>$user))) {
+                // if plugins have not registered an action, the default action is to
+                // trigger the validation event again and assume that the validation
+                // event will display an appropriate message
+                trigger_elgg_event('validate', 'user', $user);
+            }
+        } else {
+            register_error(elgg_echo('loginerror'));
+        }
+        access_show_hidden_entities($access_status);
+    } else {
+        register_error(elgg_echo('loginerror'));
+    }
+}
diff --git a/plugins/cas_auth_unl/actions/logout.php b/plugins/cas_auth_unl/actions/logout.php
new file mode 100644
index 0000000000000000000000000000000000000000..ec34fd40a1f0501b74122eb254ed6c362cf40140
--- /dev/null
+++ b/plugins/cas_auth_unl/actions/logout.php
@@ -0,0 +1,32 @@
+<?php
+/**
+ * Elgg logout action for use with UNL CAS
+ * 
+ * @package Elgg
+ * @subpackage Core
+ * @overwritten cas_auth_unl/actions/logout.php
+ * @author Curverider Ltd
+ * @link http://elgg.org/
+ */    
+	
+// Save this session value since the next step wipes it out
+$loggedInWithCas = $_SESSION['loggedInWithCas'];
+
+// Log out
+$result = logout();
+            
+// Set the system_message as appropriate      
+if ($result) {
+    system_message(elgg_echo('logoutok'));
+} else {
+    register_error(elgg_echo('logouterror'));
+}
+	
+// We've destoyed all the Elgg session data, now do CAS logout if neccessary
+// Due to problems getting the SimpleCAS logout to work, we're just forwarding to the right URL since
+//   the Elgg logout function above took care of destroying the session, which is all the SimpleCAS logout 
+//   was doing anyway.
+if ($loggedInWithCas) { 
+    global $CONFIG;
+    forward('https://login.unl.edu/cas/logout?url='.$CONFIG->url);
+}
diff --git a/plugins/cas_auth_unl/composer.json b/plugins/cas_auth_unl/composer.json
new file mode 100644
index 0000000000000000000000000000000000000000..236d9a90d0d89b40287551f71d4bf59a4cb7a09c
--- /dev/null
+++ b/plugins/cas_auth_unl/composer.json
@@ -0,0 +1,5 @@
+{
+  "require": {
+    "jasig/phpcas": "~1.3"
+  }
+}
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/composer.lock b/plugins/cas_auth_unl/composer.lock
new file mode 100644
index 0000000000000000000000000000000000000000..4d158275cda2c309b0c8967e29f3f48eccd2cbf0
--- /dev/null
+++ b/plugins/cas_auth_unl/composer.lock
@@ -0,0 +1,73 @@
+{
+    "_readme": [
+        "This file locks the dependencies of your project to a known state",
+        "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#composer-lock-the-lock-file",
+        "This file is @generated automatically"
+    ],
+    "hash": "c72657decb399fc38e48dad429f7985b",
+    "content-hash": "3c9c7d5916350b6e3fdebf1a226410b8",
+    "packages": [
+        {
+            "name": "jasig/phpcas",
+            "version": "1.3.4",
+            "source": {
+                "type": "git",
+                "url": "https://github.com/Jasig/phpCAS.git",
+                "reference": "8c74d21630f74278270830fdbdb0c1317bce3f0a"
+            },
+            "dist": {
+                "type": "zip",
+                "url": "https://api.github.com/repos/Jasig/phpCAS/zipball/8c74d21630f74278270830fdbdb0c1317bce3f0a",
+                "reference": "8c74d21630f74278270830fdbdb0c1317bce3f0a",
+                "shasum": ""
+            },
+            "require": {
+                "ext-curl": "*",
+                "php": ">=5.0.0"
+            },
+            "require-dev": {
+                "phpunit/phpunit": "~3.7.10"
+            },
+            "type": "library",
+            "extra": {
+                "branch-alias": {
+                    "dev-master": "1.3.x-dev"
+                }
+            },
+            "autoload": {
+                "classmap": [
+                    "source/"
+                ]
+            },
+            "notification-url": "https://packagist.org/downloads/",
+            "license": [
+                "Apache-2.0"
+            ],
+            "authors": [
+                {
+                    "name": "Joachim Fritschi",
+                    "homepage": "https://wiki.jasig.org/display/~fritschi"
+                },
+                {
+                    "name": "Adam Franco",
+                    "homepage": "https://wiki.jasig.org/display/~adamfranco"
+                }
+            ],
+            "description": "Provides a simple API for authenticating users against a CAS server",
+            "homepage": "https://wiki.jasig.org/display/CASC/phpCAS",
+            "keywords": [
+                "cas",
+                "jasig"
+            ],
+            "time": "2015-11-16 20:44:36"
+        }
+    ],
+    "packages-dev": [],
+    "aliases": [],
+    "minimum-stability": "stable",
+    "stability-flags": [],
+    "prefer-stable": false,
+    "prefer-lowest": false,
+    "platform": [],
+    "platform-dev": []
+}
diff --git a/plugins/cas_auth_unl/manifest.xml b/plugins/cas_auth_unl/manifest.xml
new file mode 100644
index 0000000000000000000000000000000000000000..0a60f2b2f1f3c4dc0d6451a6c4b848e1f881aa4f
--- /dev/null
+++ b/plugins/cas_auth_unl/manifest.xml
@@ -0,0 +1,9 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<plugin_manifest>
+        <field key="author" value="University of Nebraska-Lincoln" />
+        <field key="version" value="1.0" />
+        <field key="description" value="CAS Authetication.  Modified from the original LDAP plugin for use at UNL." ></field>
+        <field key="website" value="http://www.unl.edu/" />
+        <field key="copyright" value="2010 Regents of the University of Nebraska " />
+		<field key="licence" value="BSD http://www1.unl.edu/wdn/wiki/Software_License" />
+</plugin_manifest>
diff --git a/plugins/cas_auth_unl/start.php b/plugins/cas_auth_unl/start.php
new file mode 100644
index 0000000000000000000000000000000000000000..521a672d2e4b0ee64e607b49398a9373db7859aa
--- /dev/null
+++ b/plugins/cas_auth_unl/start.php
@@ -0,0 +1,332 @@
+<?php
+    /**
+     * Elgg UNL CAS authentication
+     * 
+     * @package cas_auth_unl
+     * @license BSD http://www1.unl.edu/wdn/wiki/Software_License
+     * @author University of Nebraska-Lincoln
+     * @copyright 2010 Regents of the University of Nebraska 
+     * @link http://www.unl.edu/
+     */
+
+    global $CONFIG;
+
+    set_include_path(dirname(dirname(dirname(dirname(__FILE__)))).'/lib/php'.PATH_SEPARATOR.get_include_path());
+
+
+    require_once __DIR__ . '/vendor/autoload.php';
+    require_once 'peoplefinder/include.php';
+    // http://code.google.com/p/simplecas/
+    //require_once 'SimpleCAS/Autoload.php';
+    //require_once 'HTTP/Request2.php';
+
+ 
+    function cas_auth_unl_init() { 
+        $auth = new elggSimpleCas();
+        $auth->autoLogin();
+        $auth->singleLogOut();
+    }
+    
+ 
+    register_action("getemail",true,$CONFIG->pluginspath . "cas_auth_unl/actions/getemail.php");
+    register_action("login",true,$CONFIG->pluginspath. "cas_auth_unl/actions/login.php"); 
+    register_action("logout",false,$CONFIG->pluginspath. "cas_auth_unl/actions/logout.php"); 
+    
+    // Fire up the plugin initialization using the elgg handler
+    register_elgg_event_handler('init','system','cas_auth_unl_init');
+    
+     
+    
+    // Set up login page, this creates the url /pg/login to be used as our login page
+	register_page_handler('caslogin', 'login_page_handler');
+	/* set up getemail page */
+	register_page_handler('getemail', 'getemail_page_handler');
+	
+	function login_page_handler($page) {
+		// If we're not logged in, display the login page
+		if (!isloggedin()) {
+            $auth = new elggSimpleCas();
+            $auth->forceCas();
+		} else {
+            // Otherwise, forward to the index page
+			forward();
+		}
+	}
+	function getemail_page_handler($page) {
+		if (!isloggedin()) {
+			page_draw(elgg_echo('Your Email'), elgg_view("account/forms/getemail")); 
+		} else {
+			forward();
+		}
+	}
+	
+    
+
+    
+    
+    
+    
+class elggSimpleCas {
+    
+    var $client;  
+    var $casInitialized = false;
+    
+    const DIRECTORY_URL = 'http://directory.unl.edu/';
+    
+    function __construct() {
+        if (!\phpCAS::isInitialized()) {
+            \phpCAS::setDebug();
+            \phpCAS::setVerbose(true);
+            \phpCAS::client(CAS_VERSION_2_0, 'login.unl.edu', 443, 'cas', false);
+            \phpCAS::setNoCasServerValidation();
+            //TODO: \phpCAS::setCasServerCACert($options['CERT_PATH']);
+            
+            \phpCAS::setPostAuthenticateCallback(function($logoutTicket) {
+                $auth = new elggSimpleCas();
+                $auth->loginOrRegister(\phpCAS::getUser());
+
+                $session = elgg_get_session();
+
+                $file = $this->getSessionMapFileName();
+                if (!file_exists($file)) {
+                    //Create it if it doesn't exist
+                    file_put_contents($file, json_encode(array()));
+                }
+                
+                $map = json_decode(file_get_contents($file), true);
+                $map[$logoutTicket] = array(
+                    'session_id' => $session->getId(),
+                    'date_created' => time()
+                );
+                
+                file_put_contents($file, json_encode($map));
+            });
+            
+            \phpCAS::setSingleSignoutCallback(function ($logoutTicket) {
+                $file = $this->getSessionMapFileName();
+                
+                if (!file_exists($file)) {
+                    return false;
+                }
+                
+                $map = json_decode(file_get_contents($file), true);
+                
+                if (!isset($map[$logoutTicket])) {
+                    return false;
+                }
+
+                $handler = new Elgg\Http\DatabaseSessionHandler(_elgg_services()->db);
+                $handler->destroy($map[$logoutTicket]['session_id']);
+                
+            });
+            
+        }
+    }
+    
+    protected function getSessionMapFileName()
+    {
+        return sys_get_temp_dir() .'/elgg_session_map_' . md5(__DIR__) . '.json';
+    }
+    
+    public function singleLogOut()
+    {
+        \phpCAS::handleLogoutRequests(false);
+    }
+    
+    public function autoLogin()
+    {
+        if (!array_key_exists('unl_sso', $_COOKIE)) {
+            //No unl_sso cookie was found, no need to auto-login.
+            return;
+        }
+        
+        if (elgg_get_logged_in_user_entity()) {
+            //We are already logged in, no need to auto-login
+            return;
+        }
+        
+        //Everything looks good.  Log in!
+
+        $result = \phpCAS::checkAuthentication();
+        //try {
+            
+        //} catch (\CAS_AuthenticationException $e) {
+            //Because Elgg changes the session ID on us here,
+            //CAS will try to authenticate the new session ID and fail...
+        //}
+        
+        if ($result) {
+            \phpCAS::renewAuthentication();
+            //$this->loginOrRegister(\phpCAS::getUser());
+        }
+    }
+    
+    
+    protected function loginOrRegister($unl_uid)
+    {
+        $elgg_uid = $this->toElggUID($unl_uid);
+        $user = get_user_by_username($elgg_uid);
+        
+        if (!$user) {
+            $this->register($unl_uid);
+            $this->login($unl_uid);
+        } else {
+            $this->login($unl_uid);
+        }
+    }
+    
+    protected function login($unl_uid)
+    {
+        $user = get_user_by_username($this->toElggUID($unl_uid));
+        login($user);
+        
+    }
+    
+    protected function register($unl_uid)
+    {
+        $elgg_uid = $this->toElggUID($unl_uid);
+        $directory_info = $this->getDirectoryInfo($unl_uid);
+        
+        
+        $name = 'unknown';
+        $email = 'unknown'; //TODO: What should we do when a student doesn't have an email?
+        
+        if (isset($directory_info['name'])) {
+            $name = $directory_info['name'];
+        }
+        if (isset($directory_info['email'])) {
+            $email = $directory_info['email'];
+        }
+        
+        $password = generate_random_cleartext_password();
+        
+        $user_guid = register_user($elgg_uid, $password, $name, $email, false, 0, '', true);
+        
+        if (!$user_guid) {
+            register_error(elgg_echo("registerbad"));
+        }
+        
+        return true;
+    }
+    
+    protected function getDirectoryInfo($uid)
+    {
+        $info = array();
+
+        if (!$json = @file_get_contents(self::DIRECTORY_URL . '?uid=' . $uid . '&format=json')) {
+            return $info;
+        }
+
+        if (!$json = json_decode($json, true)) {
+            return $info;
+        }
+
+        $map = array(
+            'givenName' => 'first_name',
+            'sn' => 'last_name',
+            'mail' => 'email'
+        );
+
+        foreach ($map as $from => $to) {
+            if (isset($json[$from][0])) {
+                $info[$to] = $json[$from][0];
+            }
+        }
+        
+        $info['name'] = $info['first_name'] . ' ' . $info['last_name'];
+
+        return $info;
+    }
+    
+    protected function toElggUID($unl_uid)
+    {
+        $unl_uid = str_replace('-','_',$unl_uid);
+        return 'unl_' . $unl_uid;
+    }
+    
+    public function forceCas() {
+        \phpCAS::forceAuthentication();
+    }
+     
+    public function checkCas() { 
+        return \phpCAS::isAuthenticated();
+    } 
+    
+    public function getUserCas() {
+        return \phpCAS::getUser();
+    }
+ 
+    public function logoutCas() { 
+        \phpCAS::logout();
+    }
+ 
+    public function casAuthenticate($username,$email="",$view=""){ 
+        if (empty($username))
+            return false;
+        
+        global $CONFIG;
+
+        // we're making this copy for use in the peoplefinderservices call later
+        // we dont want to call peoplefinderservices here since we dont need to every time a SSO user logs in
+        $casusername = $username;
+        
+        //We're going to make every UNL SSO user have an elgg profile name as such: unl_erasmussen2
+        //and not allow friends of unl who register via elgg to pick names that begin with "unl_"
+        //This way, we won't have to deal with the case where someone registers erasmussen2 on elgg, then
+        //the real erasmussen2 signs in for the first time with UNL SSO and is logged in as the elgg user erasmussen2
+        //rather then having a new account created.
+        $username = 'unl_' . $username;
+        //Replace the hyphen in a student's name with an underscore
+        $username = str_replace('-','_',$username);
+
+        if ($user = get_user_by_username($username)) {
+            // User exists, return the user object                  
+            return $user;
+        } else {
+            // Valid CAS login but user hasn't been registered in Planet Red yet
+            // We end up going through here twice, first time grabs email from Peoplefinder and forwards to the getemail validation page to ask
+            //  them if the email is correct, then when we return with the email we register the user in elgg
+            
+            $pf_user_info = peoplefinderServices($casusername);
+            if(!empty($pf_user_info->cn))
+            	$name = (string)$pf_user_info->cn;
+            else //A peoplefinder record does not exist because they've set their privacy flag so set display name to username so register_user below doesn't break
+            	$name = $username;
+
+            if (empty($email)){  
+                if($pf_user_info->mail)
+                    forward($CONFIG->url.'pg/getemail?e='.$pf_user_info->mail.'&view='.$view);
+                else
+                    forward($CONFIG->url.'pg/getemail?view='.$view);
+            }
+                
+            try {  
+                $password = generate_random_cleartext_password();
+                if ($user_guid = register_user($username, $password, $name, $email, false, 0, '', true)) {
+                    $thisuser = get_user($user_guid);
+                    
+                    if(!empty($pf_user_info->cn)){
+	                    //pre-populate profile fields with data from Peoplefinder Services if available
+	                    $address = $pf_user_info->formatPostalAddress();
+	                    $thisuser->profile_country = 'USA';
+	                    $thisuser->profile_state = $address['region'];
+	                    $thisuser->profile_city = $address['locality'];
+	                    if($address['locality'] == 'Omaha') {
+	                        $thisuser->longitude = -95.9;
+	                        $thisuser->latitude = 41.25;
+	                    } else { //this is going to cover Lincoln and everyone else
+	                        $thisuser->longitude = -96.7;
+	                        $thisuser->latitude = 40.82;
+	                    }
+                    }
+                         
+                    return $thisuser;
+                } else {
+                    register_error(elgg_echo("registerbad"));
+                }
+            } catch (RegistrationException $r) {
+                register_error($r->getMessage());
+            }
+        }
+    }
+}
diff --git a/plugins/cas_auth_unl/views/default/account/forms/getemail.php b/plugins/cas_auth_unl/views/default/account/forms/getemail.php
new file mode 100644
index 0000000000000000000000000000000000000000..67dde5d84e3f712000b68ab8beadc656ec6bd86b
--- /dev/null
+++ b/plugins/cas_auth_unl/views/default/account/forms/getemail.php
@@ -0,0 +1,36 @@
+<?php
+
+     /**
+	 * Elgg Get Email Only SSO register form
+	 * 
+	 * @package Elgg
+	 * @subpackage Core
+	 * @license http://www.gnu.org/licenses/old-licenses/gpl-2.0.html GNU Public License version 2
+	 * @author Curverider Ltd
+	 * @copyright Curverider Ltd 2008-2009
+	 * @link http://elgg.org/
+	 */
+	 
+	// if we're returning from a failed email validation, we'll put the failed email in the email form field
+	$theiremail = get_input('e');
+	
+?>
+
+		<h2  class="sec_header">Email Verification</h2>
+		<div class="three_col left">
+		<p>We just want to make sure we have your correct e-mail and then we'll log you in.</p>
+				<?php 
+					$form_body = "<p><label>" . elgg_echo('email') . "<br />" . elgg_view('input/text' , array('internalname' => 'email', 'class' => "general-textarea", 'value' => $theiremail)) . "</label><br />";
+					$form_body .= elgg_view('input/submit', array('value' => elgg_echo('Complete Registration and Login!'))) ."</p>";
+					
+					$ts = time();
+					$token = generate_action_token($ts); 
+					echo elgg_view('input/form', array('body' => $form_body, 'action' => $vars['url']."action/getemail?__elgg_ts=$ts&__elgg_token=$token"));
+				?>
+		</div>
+		<div class="col right">
+		<div class="zenbox cool">
+		<h3>Email Address Usage</h3>
+		<p>Your email address is only used to send notifications from Planet Red.</p>
+		</div>
+		</div>
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/views/default/account/forms/login.php b/plugins/cas_auth_unl/views/default/account/forms/login.php
new file mode 100644
index 0000000000000000000000000000000000000000..ae194cca8efd6fd18f732d88d2615e073de40044
--- /dev/null
+++ b/plugins/cas_auth_unl/views/default/account/forms/login.php
@@ -0,0 +1,59 @@
+<?php
+	/**
+	 * Elgg UNL CAS authentication login form
+	 * 
+	 * @package cas_auth_unl
+	 * @license http://www1.unl.edu/wdn/wiki/Software_License
+	 * @author University of Nebraska-Lincoln
+	 * @copyright 2010
+	 * @link http://www.unl.edu/
+	 */
+
+	if ($vars['config']->input['view'] == 'mobile') {
+		$viewmobile = '?view=mobile';
+		$mobile = true;
+	} else {
+		$viewmobile = '';
+		$mobile = false;
+	}
+    $ts = time();
+    $token = generate_action_token($ts); 
+?>
+<?php 
+if ($mobile) {
+	echo '<div id="actionBar">';
+}
+?>
+    <div id="casOption">
+	    <a href="<?php echo $vars['url'] ?>action/login?usecas=yes&amp;__elgg_ts=<?php echo $ts; ?>&amp;__elgg_token=<?php echo $token; ?><?php echo str_replace('?', '&amp;', $viewmobile);?>" id="casLogin">Login</a>
+	    <div class="loginMessage">
+	        with your My.UNL Account<br />
+	        <span>for Faculty, Staff and Students</span>
+        </div>
+    </div>
+    <!-- 
+    <div id="elggOption">
+	    <a href="<?php echo $vars['url'] .'pg/login'.$viewmobile?>" class="switchAction"></a>
+	    <div class="optionMessage">
+	        Don't have a My.UNL Account?
+		    <ul>
+		        <li><a href="<?php echo $vars['url'] .'pg/login'.$viewmobile?>" class="switchAction">Login</a></li>
+		        <li><a href="<?php echo $vars['url'] .'account/register.php'.$viewmobile?>">Register</a></li>
+		    </ul>
+	    </div>
+	    <div class="elggLoginForm">
+	        <?php 
+	            $form_body = '<div class="element"><label>' . elgg_echo('username') .'</label>'. elgg_view('input/text', array('internalname' => 'username', 'class' => 'login-textarea')) . '</div>';
+	            $form_body .= '<div class="element"><label>' . elgg_echo('password') .'</label>'. elgg_view('input/password', array('internalname' => 'password', 'class' => 'login-textarea')) . '</div>';
+	            $form_body .= elgg_view('input/submit', array('value' => elgg_echo('login')));
+	            $form_body .= '<ul><li><a href="'. $vars['url'] .'account/register.php'.$viewmobile.'">' . elgg_echo('register') . '</a></li> <li><a href="'. $vars['url'] .'account/forgotten_password.php'.$viewmobile.'">' . elgg_echo('user:password:lost') . '</a></li></ul>';
+	            echo elgg_view('input/form', array('body' => $form_body, 'action' => "". $vars['url'] ."action/login"));
+	        ?>
+	    </div>
+    </div>
+    -->
+<?php 
+if ($mobile) {
+	echo '</div>';
+}
+?>
\ No newline at end of file
diff --git a/plugins/cas_auth_unl/views/default/settings/cas_auth_unl/edit.php b/plugins/cas_auth_unl/views/default/settings/cas_auth_unl/edit.php
new file mode 100644
index 0000000000000000000000000000000000000000..acd41d8d22fe5b82e3e89c79b81da19857160774
--- /dev/null
+++ b/plugins/cas_auth_unl/views/default/settings/cas_auth_unl/edit.php
@@ -0,0 +1,25 @@
+<?php
+	/**
+	 * Elgg UNL CAS authentication
+	 * 
+	 * @package cas_auth_unl
+	 * @license BSD http://www1.unl.edu/wdn/wiki/Software_License
+	 * @author University of Nebraska-Lincoln
+	 * @copyright 2010 Regents of the University of Nebraska 
+	 * @link http://www.unl.edu/
+	 */
+?>
+<p>
+    <fieldset style="border: 1px solid; padding: 15px; margin: 0 10px 0 10px">
+        <legend><?php echo elgg_echo('CAS');?></legend>
+        
+        <label for="params[casurl]"><?php echo elgg_echo('CAS URL');?></label><br/>
+        <input type="text" name="params[casurl]" value="<?php echo $vars['entity']->casurl; ?>" /><br/>
+        
+		<label for="params[casport]"><?php echo elgg_echo('CAS PORT');?></label><br/>
+        <input type="text" name="params[casport]" value="<?php echo $vars['entity']->casport; ?>" /><br/>
+
+		<label for="params[casuri]"><?php echo elgg_echo('CAS URI');?></label><br/>
+        <input type="text" name="params[casuri]" value="<?php echo $vars['entity']->casuri; ?>" /><br/>
+    </fieldset>
+</p>
\ No newline at end of file