Friday, August 21, 2015

Laravel 5.1 - Posting and Retrieving JSON

This is how you can use jQuery to POST data and retrieve it within the controllers.

To Send Data:

First off on the page where you are POSTing data from, you need to have a CSRF_TOKEN as a meta tag.

<meta name="csrf_token" content="{{ csrf_token() }}" />

Then in the JavaScript, pull the token and send it along with the POST as headers.

<script type="text/javascript">

var CSRF_TOKEN = $('meta[name="csrf_token"]').attr('content');
var jsonData = "{ 'data' : 'data' }";  

    url: '/route/path',    
    type: 'POST',
    data: jsonData,
    headers: {
    dataType: 'JSON',
    success: function (data) { }


To Retrieve Data:

Setup a post route in /app/Http/routes.php

Route::post('/route/path', 'ControllerName@controllerMethod');

Then setup the controller

class ControllerName extends Controller
    public function controllerMethod()
        $jsonData = Input::json()->all();

         // Do Something Here

        return response()->json("{ 'data' : 'data' }");

Sunday, June 21, 2015

Laravel 5.1 - Step by step instructions for setting up default authentication

Create a Database in MySQL

1. Login to MySQL
2. Run the command to create a database for your application

CREATE DATABASE database_name;

3. You'll probably also need to create a user to access the database

CREATE USER 'username'@'localhost' IDENTIFIED BY 'some_password';

4. Then you'll need to grant this user access to the database you created

GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost'

Configure Laravel Database Connection

The DB configuration file is located at /config/database.php. You'll need to edit the following highlighted sections in this file with the values needed to connect to the database you've created from above.

Configure Environment

If you installed Laravel through Composer, in the root of the Laravel install there is a hidden .env file which is automatically renamed from .env.example. If you didn't user Composer, you'll need to rename this file yourself. In this file, you'll need to edit the following lines:


Setup Database Tables for Authentication

There are already migrations created for you in the following folders


You'll need to goto the root of your application and run

php artisan migrate

You may get the following error message:

  SQLSTATE[HY000] [1045] Access denied for user 'homestead'@'localhost' (usin
  g password: YES)

This may be due to the Environment settings from .env being cached. You'll need to flush the environment by running the following at the Linux prompt

php artisan config:clear

Implement Authentication

By default Laravel ships with a lot of stuff that can be used to setup authentication quickly.

1. The config file for Laravel Authentication is located at /config/auth.php
2. The user model located at /app/User.php
3. The authentication controller under /app/Http/Controllers/Auth

What doesn't come out of the box is the routing configuration and the views to support registration and authentication.

Setup Routes

Locate the routing config file at /app/Http/routes.php and add the following lines at the end of the file.

// Authentication routes...
Route::get('auth/login', 'Auth\AuthController@getLogin');
Route::post('auth/login', 'Auth\AuthController@postLogin');
Route::get('auth/logout', 'Auth\AuthController@getLogout');

// Registration routes...
Route::get('auth/register', 'Auth\AuthController@getRegister');
Route::post('auth/register', 'Auth\AuthController@postRegister');

Setup Views

Create /resources/view/auth/login.blade.php with the following code:

<form method="POST" action="/auth/login">
    {!! csrf_field() !!}

        <input type="email" name="email" value="{{ old('email') }}">

        <input type="password" name="password" id="password">

        <input type="checkbox" name="remember"> Remember Me

        <button type="submit">Login</button>

Create /resources/view/auth/register.blade.php with the following code:

<form method="POST" action="/auth/register">
    {!! csrf_field() !!}

    <div class="col-md-6">
        <input type="text" name="name" value="{{ old('name') }}">

        <input type="email" name="email" value="{{ old('email') }}">

        <input type="password" name="password">

    <div class="col-md-6">
        Confirm Password
        <input type="password" name="password_confirmation">

        <button type="submit">Register</button>

You should now be able register a user at the relative path /auth/register and also login at /auth/login




Tuesday, July 6, 2010

Thumbnails from Images that are linked already uploaded to the CMS

' make sure WYSIWYG images don't get too wide using upload.asp
value = content.item("_cmsUploadValue")
' create a medium size thumbnail
if ext="gif" or ext="jpg" then
res = image.thumbnail(value, "", 20, 20)
if res = "" then
content.add "_cmsError", image.errorMsg
exit Sub
end if
content.add "upload#my_photo", res
end if


Then in the post_input.asp we would have the code that would be used to
create thumbnails from images that are linked:

value = asset.getAbsoluteName(content.item("my_photo"))

'Process only if selected asset has been uploaded to the /Assets/
folder in the CMS
if instr(value, "/Assets/") > 0 then

value = "/ChemicalHeritage/ftproot" & value

ih = image.load(value)
if ih <0 then
content.add "_cmsError", image.errorMsg
exit Sub
end if

image.scale ih, 20, 20, 1
image.setQuality 1
content.add "upload#my_photo", image.saveAsAttachment(ih,
content.item("_cmsId"), "_thumbnail")

end if


Wednesday, March 24, 2010

NotePad++ Tabs to Spaces

Edit -> Preferences -> Language Menu / Tab Settings
Lower Right Corner -> Replace by Space.

Thursday, February 25, 2010

Questions about Outages

Routine CMS maintentance windows are from 6pm - 7pm, every Monday and Wednesday. Generally, the system is still available during these times, but may be unavailable for a few minutes during that period.

There are other times where maintenance must be performed outside these windows due to unforeseen circumstances. We aim to provide as much notice as possible for these events, typically via email and via an alert on the login page. The routine maintenance is also mentioned on the login page on the day of maintenance.

Friday, February 19, 2010

HTML Showing Behind Flash

Add to flash object to fix.

<param name="wmode" value="transparent">

Thursday, November 12, 2009


Debug log. Update to latest version of Java. Delete C:\Documents and Settings\\Local Settings\Application Data\Ephox