Example #1
0
/**
* controller
*
* @author     Dac Chartrand <*****@*****.**>
* @license    http://www.fsf.org/licensing/licenses/gpl-3.0.html
*/
function sux($action, $params = null)
{
    switch ($action) {
        case 'reset':
            // --------------------------------------------------------------------
            // Reset password
            // --------------------------------------------------------------------
            $reset = new userReset();
            if ($reset->formValidate($_POST)) {
                $reset->formProcess($_POST);
                $reset->formSuccess();
            } else {
                $reset->formBuild($_POST);
            }
            break;
        case 'login':
            // --------------------------------------------------------------------
            // Login
            // --------------------------------------------------------------------
            if (!empty($params[0]) && $params[0] == 'openid') {
                // Openid registration
                $auth = new userLoginOpenID();
                if ($auth->formValidate($_POST)) {
                    $auth->formHandoff($_POST);
                } else {
                    $auth->formBuild($_POST);
                }
            } else {
                // Regular login
                $auth = new userAuthenticate();
                $auth->login();
            }
            break;
        case 'logout':
            // --------------------------------------------------------------------
            // Logout
            // --------------------------------------------------------------------
            $auth = new userAuthenticate();
            $auth->logout();
            break;
        case 'register':
            // --------------------------------------------------------------------
            // Register
            // --------------------------------------------------------------------
            if (!empty($params[0]) && $params[0] == 'openid') {
                // Openid registration
                $reg = new userRegisterOpenID();
                if ($reg->formValidate($_POST)) {
                    $reg->formHandoff($_POST);
                } else {
                    $reg->formBuild($_POST);
                }
            } else {
                // Regular registration
                $reg = new userEdit();
                if ($reg->formValidate($_POST)) {
                    $reg->formProcess($_POST);
                    $reg->formSuccess();
                } else {
                    $reg->formBuild($_POST, $_GET);
                }
            }
            break;
        case 'edit':
            // --------------------------------------------------------------------
            // Edit Registration
            // --------------------------------------------------------------------
            $user = !empty($params[0]) ? $params[0] : null;
            // Edit profile registration
            $reg = new userEdit('edit', $user);
            if ($reg->formValidate($_POST)) {
                $reg->formProcess($_POST);
                $reg->formSuccess();
            } else {
                $reg->formBuild($_POST, $_GET);
            }
            break;
        case 'avatar':
            // --------------------------------------------------------------------
            // Edit Avatar
            // --------------------------------------------------------------------
            $user = !empty($params[0]) ? $params[0] : null;
            // Edit avatar
            $reg = new userAvatar($user);
            if ($reg->formValidate($_POST)) {
                $reg->formProcess($_POST);
                $reg->formSuccess();
            } else {
                $reg->formBuild($_POST);
            }
            break;
        case 'openid':
            // --------------------------------------------------------------------
            // Edit OpenIDs
            // --------------------------------------------------------------------
            $user = !empty($params[0]) ? $params[0] : null;
            // Edit avatar
            $oid = new userOpenID($user);
            if ($oid->formValidate($_POST)) {
                $oid->formProcess($_POST);
                $oid->formSuccess();
            } else {
                $oid->formBuild($_POST);
            }
            break;
        case 'profile':
            // --------------------------------------------------------------------
            // Show user profile
            // --------------------------------------------------------------------
            // Nickname
            if (empty($params[0])) {
                if (isset($_SESSION['nickname'])) {
                    suxFunct::redirect(suxFunct::makeUrl('/user/profile/' . $_SESSION['nickname']));
                } else {
                    suxFunct::redirect(suxFunct::makeUrl('/user/register'));
                }
            }
            $u = new userProfile($params[0]);
            if (!empty($params[1]) && $params[1] == 'rss') {
                // RSS
                $u->rss();
            } else {
                // Profile
                $u->displayProfile();
            }
            break;
        default:
            // --------------------------------------------------------------------
            // Redirect to homepage
            // --------------------------------------------------------------------
            suxFunct::redirect(suxFunct::makeUrl('/home'));
    }
}