コード例 #1
0
ファイル: user.php プロジェクト: rich20/Kunena
	protected function saveUser()
	{
		$app = JFactory::getApplication();
		$user = $this->user; //new JUser ( $this->user->get('id') );

		// we don't want users to edit certain fields so we will ignore them
		$ignore = array('id', 'gid', 'block', 'usertype', 'registerDate', 'activation');

		//clean request
		$post = JRequest::get( 'post' );
		$post['password']	= JRequest::getVar('password', '', 'post', 'string', JREQUEST_ALLOWRAW);
		$post['password2']	= JRequest::getVar('password2', '', 'post', 'string', JREQUEST_ALLOWRAW);
		if (empty($post['password']) || empty($post['password2'])) {
			unset($post['password'], $post['password2']);
		}
		if ($this->config->usernamechange) $post['username'] = JRequest::getVar('username', '', 'post', 'username');
		else $ignore[] = 'username';
		foreach ($ignore as $field) {
			if (isset($post[$field]))
				unset($post[$field]);
		}

		jimport ( 'joomla.version' );
		$jversion = new JVersion ();
		if ( $jversion->RELEASE == '1.6' ) {
			jimport('joomla.user.helper');
			$result = JUserHelper::getUserGroups($user->id);

			$groups = array();
			foreach ( $result as $key => $value ) {
				$groups[]= $key;
			}

			$post['groups'] = $groups;
		}

		// get the redirect
		$return = CKunenaLink::GetMyProfileURL($user->id, '', false);
		$err_return = CKunenaLink::GetMyProfileURL($user->id, 'edit', false);

		// do a password safety check
		if ( !empty($post['password']) && !empty($post['password2']) ) {
			if(strlen($post['password']) < 5 && strlen($post['password2']) < 5 ) {
				if($post['password'] != $post['password2']) {
					$msg = JText::_('COM_KUNENA_PROFILE_PASSWORD_MISMATCH');
					$app->redirect ( $err_return, $msg, 'error' );
				}
				$msg = JText::_('COM_KUNENA_PROFILE_PASSWORD_NOT_MINIMUM');
				$app->redirect ( $err_return, $msg, 'error' );
			}
		}

		$username = $this->user->username;

		// Bind the form fields to the user table
		if (!$user->bind($post)) {
			$app->enqueueMessage ( $user->getError(), 'error' );
			return false;
		}

		// Store user to the database
		if (!$user->save(true)) {
			$app->enqueueMessage ( $user->getError(), 'error' );
			return false;
		}

		$session = JFactory::getSession();
		$session->set('user', $user);

		// update session if username has been changed
		if ( $username && $username != $user->username )
		{
			$table = JTable::getInstance('session', 'JTable' );
			$table->load($session->getId());
			$table->username = $user->username;
			$table->store();
		}
	}
コード例 #2
0
ファイル: kunena.karma.php プロジェクト: vuchannguyen/hoctap
            if ($do == "decrease") {
                $kunena_db->setQuery("UPDATE #__kunena_users SET karma_time={$kunena_db->Quote($time)} WHERE userid={$kunena_db->Quote($kunena_my->id)}");
                $kunena_db->query();
                if (KunenaError::checkDatabaseError()) {
                    return;
                }
                if ($pid) {
                    $kunena_app->enqueueMessage(JText::_('COM_KUNENA_KARMA_SELF_DECREASE'));
                    while (@ob_end_clean()) {
                    }
                    $kunena_app->redirect(CKunenaLink::GetMessageURL($pid, $catid, 0, false));
                } else {
                    $kunena_app->enqueueMessage(JText::_('COM_KUNENA_KARMA_SELF_DECREASE'));
                    while (@ob_end_clean()) {
                    }
                    $kunena_app->redirect(CKunenaLink::GetMyProfileURL($userid));
                }
            }
        }
    }
} else {
    //get outa here, you fraud!
    $kunena_app->enqueueMessage(JText::_('COM_KUNENA_USER_ERROR_KARMA'));
    while (@ob_end_clean()) {
    }
    $kunena_app->redirect(CKunenaLink::GetLatestPageAutoRedirectURL($pid, $kunena_config->messages_per_page));
}
?>
            </center>
        </td>
    </tr>
コード例 #3
0
ファイル: profile.php プロジェクト: redigy/Kunena-1.6
 function cancel()
 {
     while (@ob_end_clean()) {
     }
     $this->_app->redirect(CKunenaLink::GetMyProfileURL($this->profile->userid, '', false));
 }
コード例 #4
0
 /**
  * Method to link to a Kunena user profile page
  *
  * @param     integer    $id      The user id
  *
  * @return    string              The profile url
  */
 protected static function getKRoute($id)
 {
     static $router = null;
     // Include the route helper once
     if (is_null($router)) {
         $file = JPATH_SITE . '/components/com_kunena/lib/kunena.link.class.php';
         if (!file_exists($file)) {
             $router = false;
         } else {
             require_once $file;
             $router = true;
         }
     }
     // Return null if router was not found
     if (!$router) {
         return null;
     }
     // Return link
     return CKunenaLink::GetMyProfileURL((int) $id);
 }
コード例 #5
0
ファイル: user.php プロジェクト: laiello/senluonirvana
 protected function saveUser()
 {
     // we only allow users to edit few fields
     $allow = array('name', 'email', 'password', 'password2', 'params');
     if ($this->config->usernamechange) {
         $allow[] = 'username';
     }
     //clean request
     $post = JRequest::get('post');
     $post['password'] = JRequest::getVar('password', '', 'post', 'string', JREQUEST_ALLOWRAW);
     $post['password2'] = JRequest::getVar('password2', '', 'post', 'string', JREQUEST_ALLOWRAW);
     if (empty($post['password']) || empty($post['password2'])) {
         unset($post['password'], $post['password2']);
     }
     $post = array_intersect_key($post, array_flip($allow));
     // get the redirect
     $return = CKunenaLink::GetMyProfileURL($this->user->id, '', false);
     $err_return = CKunenaLink::GetMyProfileURL($this->user->id, 'edit', false);
     // do a password safety check
     if (!empty($post['password']) && !empty($post['password2'])) {
         if (strlen($post['password']) < 5 && strlen($post['password2']) < 5) {
             if ($post['password'] != $post['password2']) {
                 $msg = JText::_('COM_KUNENA_PROFILE_PASSWORD_MISMATCH');
                 $this->app->redirect($err_return, $msg, 'error');
             }
             $msg = JText::_('COM_KUNENA_PROFILE_PASSWORD_NOT_MINIMUM');
             $this->app->redirect($err_return, $msg, 'error');
         }
     }
     $username = $this->user->get('username');
     // Bind the form fields to the user table
     if (!$this->user->bind($post)) {
         return false;
     }
     // Store user to the database
     if (!$this->user->save(true)) {
         return false;
     }
     $session = JFactory::getSession();
     $session->set('user', $this->user);
     // update session if username has been changed
     if ($username && $username != $this->user->username) {
         $table = JTable::getInstance('session', 'JTable');
         $table->load($session->getId());
         $table->username = $this->user->username;
         $table->store();
     }
     return true;
 }
コード例 #6
0
 function GetMyProfileLink($userid, $name = null, $rel = 'nofollow', $task = '')
 {
     if (!$name) {
         $profile = KunenaFactory::getUser($userid);
         $name = htmlspecialchars($profile->getName(), ENT_COMPAT, 'UTF-8');
     }
     return CKunenaLink::GetHrefLink(CKunenaLink::GetMyProfileURL($userid, $task), $name, '', $rel);
 }