Skip to content

Commit

Permalink
Merge branch 'dev'
Browse files Browse the repository at this point in the history
  • Loading branch information
alexweissman committed Oct 27, 2015
2 parents e255ba5 + ebcd745 commit ace0ff5
Show file tree
Hide file tree
Showing 884 changed files with 91,056 additions and 24,425 deletions.
5 changes: 4 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1,3 +1,6 @@
*.komodoproject
.DS_Store
_meta/*
_meta/*
public/test/*
ROLES.md
userfrosting/config-userfrosting.php
22 changes: 22 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
# Change Log

## v0.3.1

- Improved initialization routine as middleware
- Implemented "remember me" for persistent sessions - see https://github.com/gbirke/rememberme
- Converted page templates to inheritance architecture, using Twig `extends`
- Start using the `.twig` extension for template files
- All content is now part of a theme, and site can be configured so that one theme is the default theme for unauthenticated users
- User session stored via `user_id`, rather than the entire User object
- Data model is now built on Eloquent, instead of in-house
- Cleaned up some of the per-page Javascript, refactoring repetitive code
- Implement server-side pagination
- Upgrade to Tablesorter v2.23.4
- Switch from DateJS to momentjs
- Switch to jQueryValidation from FormValidation
- Implement basic interface for modifying group authorization rules
- User events - timestamps for things like sign-in, sign-up, password reset, etc are now stored in a `user_event` table
- Wrapper class Notification for sending emails, other notifications to users
- Remove username requirement for password reset. It is more likely that an attacker would know the user's username, than the user themselves. For the next version, we can try to implement some real multi-factor authentication.
- When a user creates another user, they don't need to set a password. Instead, an email is sent out to the new user, with a token allowing them to set their own password.
- Admins can manually generate a password reset request for another user, or directly change the user's password.
55 changes: 25 additions & 30 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
# UserFrosting v0.3.0
# UserFrosting v0.3.1 (development)

http://www.userfrosting.com

Expand All @@ -14,44 +14,38 @@ Copyright (c) 2015, free to use in personal and commercial software as per the [

UserFrosting is a secure, modern user management system written in PHP and built on top of the [Slim Microframework](http://www.slimframework.com/) and the [Twig](http://twig.sensiolabs.org/) templating engine.

## Installation
## Migrating from UF's classic data model to Eloquent:

Please see our [installation guide](http://www.userfrosting.com/installation/).
```
// Instead of...
$user = UserLoader::fetch(1); // Fetch User with id=1
## Troubleshooting
// You can do...
$user = User::find(1);
If you are having trouble installing UserFrosting, please read our [troubleshooting guide](http://www.userfrosting.com/troubleshooting) first!
If you are generally confused about the structure and layout of the code, or it doesn't look like the kind of PHP code that you're used to, please read [Navigating UserFrosting](http://www.userfrosting.com/navigating).
// Instead of...
$user = UserLoader::fetch("alex", "user_name"); // Fetch User with user_name = "alex"
If you want a good tour of the code base, we recommend going through our [tutorials](http://www.userfrosting.com/tutorials).
// You can do...
$user = User::where("user_name", "alex")->first();
## Features
// Instead of...
UserLoader::exists("zergling@userfrosting.com", "email");
#### Login page
![Login page](/screenshots/login.png "Login page")
#### Dashboard (thanks to [Start Bootstrap](http://startbootstrap.com))
![Admin dashboard](/screenshots/dashboard.png "Admin dashboard")
#### User list page
![User list](/screenshots/users.png "User list page")
#### Create/update user dialog with validation
![Create/update user user](/screenshots/update_user.png "Create/update user dialog")
#### Group management
![Group management](/screenshots/groups.png "Group management page")
#### Site settings
![Site settings](/screenshots/site_settings.png "Site settings page")
// You can do...
( User::where("email", "zergling@userfrosting.com")->first() ? true : false );
## Mission Objectives

UserFrosting seeks to balance modern programming principles, like DRY and MVC, with a shallow learning curve for new developers. Our goals are to:

- Create a fully-functioning user management script that can be set up in just a few minutes
- Make it easy for users to quickly adapt the code for their needs
- Introduce novice developers to best practices such as separation of concerns and DRY programming
- Introduce novice developers to modern constructs such as front-end controllers, RESTful URLs, namespacing, and object-oriented modeling
- Build on existing, widely used server- and client-side components
- Clean, consistent, and well-documented code
// Instead of...
$users = UserLoader::fetchAll();
// You can do...
$users = User::queryBuilder()->get(); // If you want an array of User objects (not indexed by id)
// or...
$users = User::all(); // If you want an Eloquent Collection of User objects
// or...
$users = User::all()->getDictionary(); // If you want an array of User objects (indexed by id)
```

## What's new in 0.3.0

Expand Down Expand Up @@ -83,6 +77,7 @@ http://www.userfrosting.com/components/#plugins

- URL Routing and micro-framework: [Slim](http://www.slimframework.com/)
- Templating: [Twig](http://twig.sensiolabs.org/)
- Data Model: [Eloquent](http://laravel.com/docs/5.1/eloquent#introduction)

## Why UserFrosting?

Expand Down
27 changes: 0 additions & 27 deletions TODO.md

This file was deleted.

4 changes: 4 additions & 0 deletions public/css/bootstrap-custom.css
Original file line number Diff line number Diff line change
Expand Up @@ -21,3 +21,7 @@
label.label-switch {
margin-top: 5px;
}

form textarea {
resize: vertical; /* user can resize vertically, but width is fixed */
}
164 changes: 0 additions & 164 deletions public/css/formValidation/formValidation.css

This file was deleted.

19 changes: 0 additions & 19 deletions public/css/min/common.min.css

This file was deleted.

21 changes: 0 additions & 21 deletions public/css/min/dashboard.min.css

This file was deleted.

20 changes: 0 additions & 20 deletions public/css/min/loggedout.min.css

This file was deleted.

Loading

0 comments on commit ace0ff5

Please sign in to comment.