Added the project's files to the repo

This commit is contained in:
Ascendings
2015-08-30 12:34:43 -04:00
parent b66a773ed8
commit c425c861aa
154 changed files with 4670 additions and 0 deletions

57
app/Fieldprotocol/User/User.php Executable file
View File

@ -0,0 +1,57 @@
<?php
namespace Fieldprotocol\User;
use Illuminate\Database\Eloquent\Model as Eloquent;
class User extends Eloquent {
protected $table = 'users';
protected $fillable = [
'id',
'username',
'first_name',
'last_name',
'email',
'posts'
];
public function getFullName() {
if (!$this->first_name || !$this->last_name) {
return null;
}
return "{$this->first_name} {$this->last_name}";
}
public function getName() {
return $this->getFullName() ?: $this->username;
}
public function getAvatarUrl($options = []) {
$size = isset($options['size']) ? $options['size'] : 45;
return 'http://www.gravatar.com/avatar/' . md5($this->email) . '?s=' . $size . '&d=identicon';
}
/*public function permissions() {
return $this->hasOne('Fieldprotocol\User\UserPermission', 'user_id');
}
public function hasPermission($permission) {
return (bool) $this->permissions->{$permission};
}
public function isAdmin() {
return $this->hasPermission('is_admin');
}
public function isEditor() {
return $this->hasPermission('is_editor');
}
public function isAuthor() {
return $this->hasPermission('is_author');
}*/
}

18
app/database.php Executable file
View File

@ -0,0 +1,18 @@
<?php
use Illuminate\Database\Capsule\Manager as Capsule;
$capsule = new Capsule;
$capsule->addConnection([
'driver' => $app->config->get('db.driver'),
'host' => $app->config->get('db.host'),
'database' => $app->config->get('db.name'),
'username' => $app->config->get('db.username'),
'password' => $app->config->get('db.password'),
'charset' => $app->config->get('db.charset'),
'collation' => $app->config->get('db.collation'),
'prefix' => $app->config->get('db.prefix'),
]);
$capsule->bootEloquent();

31
app/filters.php Executable file
View File

@ -0,0 +1,31 @@
<?php
$authenticationCheck = function($required) use ($app) {
return function() use ($required, $app) {
if ((!$app->auth && $required) || ($app->auth && !$required)) {
if (!$app->auth && $required) {
$app->flash('global', 'Hey buddy, you need to sign in first!');
} else if ($app->auth && !$required) {
$app->flash('global', 'Woah there, why do you want to do that?');
}
$app->redirect($app->urlFor('home'));
}
};
};
$authenticated = function() use ($authenticationCheck) {
return $authenticationCheck(true);
};
$guest = function() use ($authenticationCheck) {
return $authenticationCheck(false);
};
$admin = function() use ($app) {
return function() use ($app) {
if (!$app->auth || !$app->auth->isAdmin()) {
$app->flash('global', 'You don\'t have permissions for that, man.');
$app->redirect($app->urlFor('home'));
}
};
};

8
app/routes.php Executable file
View File

@ -0,0 +1,8 @@
<?php
// Home view(s)
require 'routes/home.php';
require 'routes/about.php';
require 'routes/shows.php';
require 'routes/music.php';
require 'routes/contact.php';

7
app/routes/about.php Executable file
View File

@ -0,0 +1,7 @@
<?php
$app->get('/about', function() use($app) {
$app->render('about.php');
})->name('about');

7
app/routes/contact.php Executable file
View File

@ -0,0 +1,7 @@
<?php
$app->get('/contact', function() use($app) {
$app->render('contact.php');
})->name('contact');

7
app/routes/home.php Executable file
View File

@ -0,0 +1,7 @@
<?php
$app->get('/', function() use($app) {
$app->render('home.php');
})->name('home');

7
app/routes/music.php Executable file
View File

@ -0,0 +1,7 @@
<?php
$app->get('/music', function() use($app) {
$app->render('music.php');
})->name('music');

32
app/routes/shows.php Executable file
View File

@ -0,0 +1,32 @@
<?php
$app->get('/shows', function() use($app) {
$shows = json_decode(file_get_contents('http://api.bandsintown.com/artists/HALFtone/events.json?api_version=2.0&app_id=shows_halftoneband.com'));
foreach ($shows as $show) {
$show->date = date('M dS', strtotime($show->datetime));
$show->day = date('D', strtotime($show->datetime));
$show->time = date('H:i', strtotime($show->datetime));
}
$app->render('shows.php', [
'shows' => $shows,
]);
})->name('shows');
$app->get('/shows/json', function() use($app) {
$shows = json_decode(file_get_contents('http://api.bandsintown.com/artists/HALFtone/events.json?api_version=2.0&app_id=shows_halftoneband.com'));
foreach ($shows as $show) {
$show->date = date('M dS', strtotime($show->datetime));
$show->day = date('D', strtotime($show->datetime));
$show->time = date('H:i', strtotime($show->datetime));
print_r($show);
echo '<br /><br />';
}
die();
})->name('shows.json');

70
app/start.php Executable file
View File

@ -0,0 +1,70 @@
<?php
// Slim deps
use Slim\Slim;
use Slim\Views\Twig;
use Slim\Views\TwigExtension;
// Config struff
use Noodlehaus\Config;
// Our dependencies
//use Fieldprotocol\User\User;
// Let's get this session started
session_cache_limiter(false);
session_start();
// For now, display some errors
ini_set('display_errors', 'On');
// The app's root directory
define('INC_ROOT', dirname(__DIR__));
// Autoload our stuff >:D
require INC_ROOT . '/vendor/autoload.php';
// Time to create our app
$app = new Slim([
'mode' => file_get_contents(INC_ROOT . '/mode.php'),
'view' => new Twig(),
'templates.path' => INC_ROOT . '/app/views'
]);
// Run some crap before the middleware
//$app->add(new BeforeMiddleware);
//$app->add(new CSRFMiddleware);
$app->configureMode($app->config('mode'), function() use ($app) {
$app->config = Config::load(INC_ROOT . "/app/config/{$app->mode}.php");
});
// Database configs
require 'database.php';
// Filters
require 'filters.php';
// Routes configs
require 'routes.php';
//$app-auth = false;
$app->container->set('user', function() {
return new User;
});
$app->container->set('post', function() {
return new Post;
});
// Slappin' some hoes with our views
$view = $app->view();
$view->parserOptions = [
'debug' => $app->config->get('twig.debug')
];
$view->setTemplatesDirectory('../app/views');
$view->parserExtensions = [
new TwigExtension()
];
// Run Slim
$app->run();

89
app/views/about.php Executable file
View File

@ -0,0 +1,89 @@
{% extends 'templates/default.php' %}
{% block title %}About Us{% endblock %}
{% block content %}
<header id="about-header" class="row shadow-1">
<div class="col-xs-12">
<img class="img-responsive" src="/img/about/halftone.jpg" alt="halftone">
</div>
<div class="about-band col-xs-12">
<h2>About the Band</h2><br/>
<p>
When one thinks of pioneers in rock music, Beethoven might not be the first name to roll off the tongue. However, as a 12 year old Wyatt Hamilton (Lead Vocals/Guitar) jammed out “Ode to Joy” in his middle school guitar class, he set the course for the inception of Halftone. Joining up with Andrew Hall (Bass/Vocals), Greg Ballantine (Drums/Vocals) and Zakk Vigneri (Guitar/Vocals), this alternative and punk rock influenced quartet has already made an impact in the Maryland music scene.
</p><br />
<p>
While the members of this Glen Burnie based band are influenced by some of the pioneers in punk and alternative music, they were not afraid to step out of their comfort zone to craft a their own sound, featuring thoughtful lyrics and an infectious energy. The band sets out to remain true to themselves, and this honesty has resulted in a uniquely personal connection with their ever-growing fanbase.
</p><br />
<p>
Halftone has already played to large crowds at venues such as Rams Head Live, Ottobar and Fish Head Cantina. They also participated in the 16th annual Anne Arundel County High School Battle of the Bands at Maryland Hall, and returned the following year to perform as the showcase act.
</p><br />
<p>
Their debut EP, “Opting Out”, was produced by Jerome Maffeo (Jimmies Chicken Shack) and singer/songwriter, Eric James (formerly of vs. The Earth) and is available now on iTunes. Their single “Elsewhere” has received radio airplay on WIYY (98 Rock, Baltimore).
</p><br />
<p>
“Its refreshing to find a young band that strikes such a perfect balance between showmanship and musicianship and that understands what it means to work hard to build a following”, remarks co-producer Eric James.
</p><br />
<p>
Poised for the future, the members of Halftone look forward to bringing their unapologetic energy to the masses.
</p>
</div>
</header>
<div id="about-content" class="row">
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/wyatt.jpg" alt="Wyatt Hamilton">
<div class="caption">
<h3>Wyatt Hamilton</h3>
<hr />
<h4>Lead vocals/Guitar</h4>
<p>World's "okay-est" guitarist... and we're using "okay" loosely.</p>
</div>
<a href="#"></a>
</div>
</section>
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/andrew.jpg" alt="Andrew Hall">
<div class="caption">
<h3>Andrew Hall</h3>
<hr />
<h4>Bass Guitar</h4>
<p>Ginger, enough said.</p>
</div>
<a href="#"></a>
</div>
</section>
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/greg.jpg" alt="Gregory Ballantine">
<div class="caption">
<h3>Gregory Ballantine</h3>
<hr />
<h4>Drums/Screaming</h4>
<p>If only wailing on things was this easy...</p>
</div>
<a href="#"></a>
</div>
</section>
<section class="col-md-6 col-xs-12">
<div class="thumbnail shadow-1">
<img src="img/about/zakk.jpg" alt="Zakk Vigneri">
<div class="caption">
<h3>Zakk Vigneri</h3>
<hr />
<h4>Lead guitar/Backing vocals</h4>
<p>The Amateur Hour champion!</p>
</div>
<a href="#"></a>
</div>
</section>
</div>
{% endblock %}

18
app/views/contact.php Executable file
View File

@ -0,0 +1,18 @@
{% extends 'templates/default.php' %}
{% block title %}Contact Us{% endblock %}
{% block content %}
<section id="contact-header" class="row">
<h1>Contact Us</h1>
</section>
<section id="contact-info" class="row">
<div class="card shadow-1 container">
<p>For booking, press, promotion, or just to say "what's up?", you can shoot us an email at:</p>
<h3><a href="mailto:halftonetheband@gmail.com">halftonetheband@gmail.com</a></h3>
<hr />
<p>We accept many types of inquiries, and we're always glad to work with anyone if it means putting on a great show!</p>
</div>
</section>
{% endblock %}

17
app/views/home.php Executable file
View File

@ -0,0 +1,17 @@
{% extends 'templates/default.php' %}
{% block title %}Home{% endblock %}
{% block content %}
<!-- feat section -->
<section id="featured" class="row">
<!-- Featured news block -->
<div class="col-sm-6 col-xs-12 news shadow-1">
<a href="https://itunes.apple.com/us/album/opting-out-ep/id884330910">
</a>
</div>
<div class="col-sm-6 col-xs-0 notes shadow-1">
<a class="twitter-timeline" href="https://twitter.com/HalftoneBand" data-widget-id="589505830199918592">Tweets by @HalftoneBand</a> <script>!function(d,s,id){var js,fjs=d.getElementsByTagName(s)[0],p=/^http:/.test(d.location)?'http':'https';if(!d.getElementById(id)){js=d.createElement(s);js.id=id;js.src=p+"://platform.twitter.com/widgets.js";fjs.parentNode.insertBefore(js,fjs);}}(document,"script","twitter-wjs");</script>
</div>
</section>s
{% endblock %}

7
app/views/music.php Executable file
View File

@ -0,0 +1,7 @@
{% extends 'templates/default.php' %}
{% block title %}Music{% endblock %}
{% block content %}
{% endblock %}

52
app/views/old/home.php Executable file
View File

@ -0,0 +1,52 @@
<!-- Site main content -->
<!--<div id="wrapper-home" class="row">
<aside class="col-sm-4">
<article id="mailing-list" class="card shadow-1">
<p class="underline">Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
</article>
<article id="mailing-list" class="card shadow-1">
<p>Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
</article>
<article id="mailing-list" class="card shadow-1">
<p>Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
</article>
</aside>
<section class="col-sm-8">
<article id="mailing-list" class="card shadow-1">
<p>Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
<p>Bacon ipsum dolor amet pastrami hamburger meatloaf chuck bresaola, alcatra landjaeger short loin tail pig swine frankfurter tri-tip. Tenderloin beef ribs meatball pastrami tongue frankfurter ground round beef. Sausage drumstick hamburger, biltong salami prosciutto tri-tip pork leberkas landjaeger swine sirloin chuck beef fatback. Tri-tip brisket beef ribs, short loin meatball kevin biltong turkey chicken rump cow sausage landjaeger ground round. Brisket meatloaf cupim rump.</p>
</article>
<article id="mailing-list" class="card shadow-1">
<p>Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
<p>Bacon ipsum dolor amet venison meatball pastrami ribeye. Ham hock porchetta tenderloin turducken alcatra t-bone. Beef prosciutto swine kielbasa. Chicken pork loin filet mignon short ribs, bacon tail strip steak boudin pastrami cow. Sausage tenderloin ground round, pork belly frankfurter beef ribs turducken turkey biltong pork ribeye bacon porchetta. Beef ribs pastrami drumstick ball tip, t-bone ground round turducken turkey ham prosciutto pig cow hamburger sausage. Corned beef bresaola jowl, brisket pancetta ham jerky leberkas ribeye.</p>
</article>
<article id="mailing-list" class="card shadow-1">
<p>Join our mailing list!</p>
<div class="input-group">
<input type="text" id="ml-email" autocomplete="off" />
<label>Email</label>
</div>
<p>Bacon ipsum dolor amet bacon shankle porchetta ham strip steak rump landjaeger flank kielbasa tenderloin venison capicola prosciutto. Kevin corned beef pork beef ribs ham hock capicola prosciutto shank pig pork chop venison meatball strip steak. Beef bresaola alcatra, bacon shoulder tongue beef ribs drumstick filet mignon. Tongue turducken pork loin, sausage tenderloin brisket pork chop chuck bresaola andouille pancetta ball tip ham tail beef. Beef bresaola venison pig, ground round pork belly shank jerky tail tongue andouille fatback pork chuck porchetta. Chuck tenderloin kevin filet mignon doner drumstick kielbasa pancetta salami hamburger picanha ball tip.</p>
</article>
</section>
</div>-->

55
app/views/shows.php Executable file
View File

@ -0,0 +1,55 @@
{% extends 'templates/default.php' %}
{% block title %}Show Schedule{% endblock %}
{% block content %}
<header class="shows-header row">
<h3>Upcoming Tour Dates</h3>
</header>
<div class="table-responsive">
<table id="shows-table" class="table">
<tbody>
{% for show in shows %}
<tr>
<td>
<p>{{ show.date }}</p>
<p>{{ show.day }}</p>
</td>
<td>
<p>{{ show.time }}</p>
</td>
<td>
<p><a href="{{ show.facebook_rsvp_url }}" class="change-on-hover">{{ show.venue.name }}</a></p>
<p>
{% if shows.artists.length > 1 %}
w/
{% for artist in show.artists %}
{% if not artist.name == 'HALFtone' %}
<a href="" class="change-on-hover">{{ artist.name }}</a>
{% endif %}
{% endfor %}
{% else %}
{{ show.description[:60] }}
{% endif %}
</p>
</td>
<td>
<p><a href="https://bandsintown.com/cities/{{show.venue.city}}-{{ show.venue.region }}" class="change-on-hover">{{ show.venue.city }}, {{ show.venue.region }}</a></p>
</td>
<td>
{% if show.ticket_url %}
<p><a href="{{ show.ticket_url }}" class="change-on-hover">Tickets</a></p>
{% endif %}
</td>
<td>
<p><a href="{{ show.facebook_rsvp_url }}" class="change-on-hover">RSVP</a></p>
</td>
</tr>
{% endfor %}
</tbody>
</table>
</div>
<!--<script type="text/javascript" src="/js/bit.js"></script>-->
{% endblock %}

27
app/views/templates/default.php Executable file
View File

@ -0,0 +1,27 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<!--Let browser know website is optimized for mobile-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"/>
<title>{% block title %}{% endblock %} | Halftone</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.4/css/bootstrap.min.css">
<link rel="stylesheet" href="/css/main.css" media="screen,projection"/>
{% block stylesheets %}{% endblock %}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script>
<!--<script type="text/javascript" src="/js/modules/awesome-form.js"></script>-->
<script type="text/javascript" src="/js/main.js"></script>
{% block javascripts %}{% endblock %}
</head>
<body>
<div id="wrapper">
<div class="container">
{% include 'templates/partials/header.php' %}
{% block content %}{% endblock %}
</div>
</div>
{% include 'templates/partials/footer.php' %}
</body>
</html>

View File

@ -0,0 +1,27 @@
<footer id="footer" class="row">
<div class="col-sm-3 column-info">
<p>FIND US ON</p>
<ul>
<li><a href="https://twitter.com/HalftoneBand">Twitter</a></li>
<li><a href="https://www.facebook.com/HalftoneBand">Facebook</a></li>
<li><a href="https://instagram.com/halftoneband/">Instagram</a></li>
<li><a href="https://plus.google.com/+HalftoneBand">Google+</a></li>
<li><a href="https://www.youtube.com/c/HalftoneBand">Youtube</a></li>
<li><a href="https://soundcloud.com/halftoneband">SoundCloud</a></li>
</ul>
</div>
<div class="col-sm-6 copyright">
<p>© 2015 Halftone</p>
<p>Glen Burnie Maryland's unapologetic, high energy rock band</p>
<hr />
<p>Brought to you by our lovely Greg Ballantine</p>
</div>
<div class="col-sm-3 column-info">
<p>ENDORSED BY</p>
<ul>
<li><a href="http://www.drstrings.com/">DR Strings</a></li>
</ul>
</div>
</footer>

View File

@ -0,0 +1,27 @@
<!-- header -->
<header id="header" class="row">
<div class=".col-sm-8">
<img src="/img/logo-white.gif" />
</div>
</header>
<!-- nav bar -->
<nav id="nav" class="row">
<ul class="col-sm-12">
<li class="nav_item">
<a href="{{ urlFor('home') }}">Home</a>
</li>
<li class="nav_item">
<a href="{{ urlFor('about') }}">About</a>
</li>
<li class="nav_item">
<a href="{{ urlFor('shows') }}">Shows</a>
</li>
<li class="nav_item">
<a href="{{ urlFor('music') }}">Music</a>
</li>
<li class="nav_item">
<a href="{{ urlFor('contact') }}">Contact</a>
</li>
</ul>
</nav>