function onAfterDispatch()
 {
     JFactory::getLanguage()->load('com_tz_pinboard');
     $mainframe = JFactory::getApplication();
     if ($mainframe->isAdmin()) {
         return;
     }
     $option = JRequest::getCmd('option');
     $view = JRequest::getCmd('view');
     $task = JRequest::getCmd('task');
     $layout = JRequest::getCmd('layout');
     $user = JFactory::getUser();
     if ($option == 'com_users' && $view == 'registration' && !$layout) {
         require_once JPATH_SITE . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_users' . DIRECTORY_SEPARATOR . 'controller.php';
         $controller = new UsersController();
         $views = $controller->getView($view, 'html');
         $tplName = JFactory::getApplication()->getTemplate();
         $tplPath = JPATH_THEMES . DIRECTORY_SEPARATOR . $tplName . DIRECTORY_SEPARATOR . 'html' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'manageruser';
         if (!JFile::exists($tplPath . DIRECTORY_SEPARATOR . 'register.php')) {
             $tplPath = JPATH_SITE . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'manageruser' . DIRECTORY_SEPARATOR . 'tmpl';
         }
         $views->addTemplatePath($tplPath);
         $views->setLayout('register');
         ob_start();
         $views->display();
         $contents = ob_get_clean();
         $document = JFactory::getDocument();
         $document->setBuffer($contents, 'component');
     }
     if ($user->username && $option == 'com_users' && $view == 'profile' && ($layout == 'edit' || $task == 'profile.edit')) {
         require_once JPATH_SITE . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_users' . DIRECTORY_SEPARATOR . 'controller.php';
         $controller = new UsersController();
         $views = $controller->getView($view, 'html');
         $tplName = JFactory::getApplication()->getTemplate();
         $tplPath = JPATH_THEMES . DIRECTORY_SEPARATOR . $tplName . DIRECTORY_SEPARATOR . 'html' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'manageruser';
         if (!JFile::exists($tplPath . DIRECTORY_SEPARATOR . 'profile.php')) {
             $tplPath = JPATH_SITE . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'views' . DIRECTORY_SEPARATOR . 'manageruser' . DIRECTORY_SEPARATOR . 'tmpl';
         }
         $views->addTemplatePath($tplPath);
         $views->setLayout('profile');
         require_once JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . 'user.php';
         $model = new TZ_PinboardModelUser();
         $userData = $model->getUsers($user->id);
         $views->assign('TZUser', $userData);
         ob_start();
         $active = JFactory::getApplication()->getMenu()->getActive();
         if (isset($active->query['layout']) && $active->query['layout'] != 'profile') {
             $active->query['layout'] = 'profile';
         }
         $views->assign('user', $user);
         $views->display();
         $contents = ob_get_clean();
         $document = JFactory::getDocument();
         $document->setBuffer($contents, 'component');
     }
 }
 function onAfterSaveUser($user, $isnew, $success, $msg)
 {
     $mainframe = JFactory::getApplication();
     $task = JRequest::getCmd('task');
     if ($mainframe->isSite() && $task != 'activate') {
         require_once JPATH_ADMINISTRATOR . DIRECTORY_SEPARATOR . 'components' . DIRECTORY_SEPARATOR . 'com_tz_pinboard' . DIRECTORY_SEPARATOR . 'models' . DIRECTORY_SEPARATOR . 'user.php';
         $model = new TZ_PinboardModelUser();
         $TZavatar = JRequest::getVar('jform', '', 'files', 'array');
         $description = JRequest::getVar('description', '', 'post', 'string', JREQUEST_ALLOWRAW);
         $deleteImage = JRequest::getCmd('delete_images');
         $currentImage = JRequest::getString('current_images');
         $userData['url'] = JRequest::getVar('url', '', 'post', 'string', JREQUEST_ALLOWRAW);
         $description = trim($description);
         $userData['usersid'] = $user['id'];
         $userData['gender'] = JRequest::getCmd('gender');
         $userData['description'] = $description;
         $userData['twitter'] = JRequest::getVar('url_twitter', '', 'post', 'string', JREQUEST_ALLOWRAW);
         $userData['facebook'] = JRequest::getVar('url_facebook', '', 'post', 'string', JREQUEST_ALLOWRAW);
         $userData['google_one'] = JRequest::getVar('url_google_one_plus', '', 'post', 'string', JREQUEST_ALLOWRAW);
         if (!$userData['gender']) {
             $userData['gender'] = 'm';
         }
         if (!empty($TZavatar['name']['TZclient_images'])) {
             $image = $TZavatar;
         } else {
             if (!empty($data['url_images'])) {
                 $image = $data['url_images'];
             }
         }
         if ($image) {
             $model->deleteImages($currentImage);
             if (!($userData['images'] = $model->uploadImages($image))) {
                 $this->setError($this->getError());
                 return false;
             }
         } else {
             $userData['images'] = $currentImage;
         }
         if ($deleteImage == 1) {
             $model->deleteImages($currentImage);
             $userData['images'] = '';
         }
         if (!$model->saveUser($userData)) {
             $this->setError($this->getError());
             return false;
         }
     }
 }