Permalink
Browse files

Updated to latest version of backbone.js, underscore.js, jQuery and S…

…lim + New template loader in the Bootstrap version (web) + fixes
  • Loading branch information...
1 parent ace856c commit bef5761541d9cf238734fe0dd0033db25a8614c8 @ccoenraets committed May 17, 2012
Showing with 4,013 additions and 2,760 deletions.
  1. +226 −0 api/Slim/Environment.php
  2. +5 −4 api/Slim/Exception/Pass.php
  3. +5 −4 api/Slim/Exception/RequestSlash.php
  4. +5 −4 api/Slim/Exception/Stop.php
  5. +0 −222 api/Slim/Http/Cookie.php
  6. +0 −401 api/Slim/Http/CookieJar.php
  7. +167 −0 api/Slim/Http/Headers.php
  8. +343 −211 api/Slim/Http/Request.php
  9. +246 −143 api/Slim/Http/Response.php
  10. +0 −131 api/Slim/Http/Uri.php
  11. +381 −0 api/Slim/Http/Util.php
  12. +97 −33 api/Slim/Log.php
  13. +34 −33 api/Slim/{Session/Handler/Cookies.php → LogFileWriter.php}
  14. +0 −200 api/Slim/Logger.php
  15. +112 −0 api/Slim/Middleware.php
  16. +158 −0 api/Slim/Middleware/ContentTypes.php
  17. +185 −0 api/Slim/Middleware/Flash.php
  18. +93 −0 api/Slim/Middleware/MethodOverride.php
  19. +108 −0 api/Slim/Middleware/PrettyExceptions.php
  20. +145 −0 api/Slim/Middleware/SessionCookie.php
  21. +18 −16 api/Slim/Route.php
  22. +69 −35 api/Slim/Router.php
  23. +0 −192 api/Slim/Session/Flash.php
  24. +0 −125 api/Slim/Session/Handler.php
  25. +391 −336 api/Slim/Slim.php
  26. +5 −8 api/Slim/View.php
  27. +37 −5 api/index.php
  28. +1 −0 iphone/index.html
  29. +1,022 −397 web/css/bootstrap.css
  30. +2 −16 web/index.html
  31. +19 −15 web/js/main.js
  32. +1 −2 web/js/models/employeemodel.js
  33. +14 −28 web/js/utils.js
  34. +2 −2 web/js/views/contact.js
  35. +7 −8 web/js/views/employeedetails.js
  36. +2 −3 web/js/views/employeelist.js
  37. +19 −9 web/js/views/header.js
  38. +3 −2 web/js/views/home.js
  39. +36 −31 web/lib/backbone-min.js
  40. +0 −92 web/lib/bootstrap-dropdown.js
  41. +0 −4 web/lib/jquery-1.7.1.min.js
  42. +4 −0 web/lib/jquery-1.7.2.min.js
  43. +26 −25 web/lib/underscore-min.js
  44. 0 web/tpl/{contact.html → ContactView.html}
  45. 0 web/tpl/{employee-list-item.html → EmployeeListItemView.html}
  46. +7 −0 web/tpl/{employee-details.html → EmployeeSummaryView.html}
  47. 0 web/tpl/{employee-full.html → EmployeeView.html}
  48. +18 −0 web/tpl/HeaderView.html
  49. 0 web/tpl/{home.html → HomeView.html}
  50. +0 −23 web/tpl/header.html
View
@@ -0,0 +1,226 @@
+<?php
+/**
+ * Slim - a micro PHP 5 framework
+ *
+ * @author Josh Lockhart <info@slimframework.com>
+ * @copyright 2011 Josh Lockhart
+ * @link http://www.slimframework.com
+ * @license http://www.slimframework.com/license
+ * @version 1.6.0
+ * @package Slim
+ *
+ * MIT LICENSE
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining
+ * a copy of this software and associated documentation files (the
+ * "Software"), to deal in the Software without restriction, including
+ * without limitation the rights to use, copy, modify, merge, publish,
+ * distribute, sublicense, and/or sell copies of the Software, and to
+ * permit persons to whom the Software is furnished to do so, subject to
+ * the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be
+ * included in all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
+ * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
+ * NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
+ * LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
+ * OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
+ * WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
+ */
+
+/**
+ * Environment
+ *
+ * This class creates and returns a key/value array of common
+ * environment variables for the current HTTP request.
+ *
+ * This is a singleton class; derived environment variables will
+ * be common across multiple Slim applications.
+ *
+ * This class matches the Rack (Ruby) specification as closely
+ * as possible. More information available below.
+ *
+ * @package Slim
+ * @author Josh Lockhart
+ * @since 1.6.0
+ */
+class Slim_Environment implements ArrayAccess, IteratorAggregate {
+ /**
+ * @var array
+ */
+ protected $properties;
+
+ /**
+ * @var Slim_Environment
+ */
+ protected static $environment;
+
+ /**
+ * Get environment instance (singleton)
+ *
+ * This creates and/or returns an Environment instance (singleton)
+ * derived from $_SERVER variables. You may override the global server
+ * variables by using `Environment::mock()` instead.
+ *
+ * @param bool $refresh Refresh properties using global server variables?
+ * @return Slim_Environment
+ */
+ public static function getInstance( $refresh = false ) {
+ if ( is_null(self::$environment) || $refresh ) {
+ self::$environment = new self();
+ }
+ return self::$environment;
+ }
+
+ /**
+ * Get mock environment instance
+ *
+ * @param array $userSettings
+ * @return Environment
+ */
+ public static function mock( $userSettings = array() ) {
+ self::$environment = new self(array_merge(array(
+ 'REQUEST_METHOD' => 'GET',
+ 'SCRIPT_NAME' => '',
+ 'PATH_INFO' => '',
+ 'QUERY_STRING' => '',
+ 'SERVER_NAME' => 'localhost',
+ 'SERVER_PORT' => 80,
+ 'ACCEPT' => 'text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8',
+ 'ACCEPT_LANGUAGE' => 'en-US,en;q=0.8',
+ 'ACCEPT_CHARSET' => 'ISO-8859-1,utf-8;q=0.7,*;q=0.3',
+ 'USER_AGENT' => 'Slim Framework',
+ 'REMOTE_ADDR' => '127.0.0.1',
+ 'slim.url_scheme' => 'http',
+ 'slim.input' => '',
+ 'slim.errors' => @fopen('php://stderr', 'w')
+ ), $userSettings));
+ return self::$environment;
+ }
+
+ /**
+ * Constructor (private access)
+ *
+ * @param array|null $settings If present, these are used instead of global server variables
+ * @return void
+ */
+ private function __construct( $settings = null ) {
+ if ( $settings ) {
+ $this->properties = $settings;
+ } else {
+ $env = array();
+
+ //The HTTP request method
+ $env['REQUEST_METHOD'] = $_SERVER['REQUEST_METHOD'];
+
+ //The IP
+ $env['REMOTE_ADDR'] = $_SERVER['REMOTE_ADDR'];
+
+ /**
+ * Application paths
+ *
+ * This derives two paths: SCRIPT_NAME and PATH_INFO. The SCRIPT_NAME
+ * is the real, physical path to the application, be it in the root
+ * directory or a subdirectory of the public document root. The PATH_INFO is the
+ * virtual path to the requested resource within the application context.
+ *
+ * With htaccess, the SCRIPT_NAME will be an absolute path (without file name);
+ * if not using htaccess, it will also include the file name. If it is "/",
+ * it is set to an empty string (since it cannot have a trailing slash).
+ *
+ * The PATH_INFO will be an absolute path with a leading slash; this will be
+ * used for application routing.
+ */
+ if ( strpos($_SERVER['REQUEST_URI'], $_SERVER['SCRIPT_NAME']) === 0 ) {
+ $env['SCRIPT_NAME'] = $_SERVER['SCRIPT_NAME']; //Without URL rewrite
+ } else {
+ $env['SCRIPT_NAME'] = str_replace('\\', '/', dirname($_SERVER['SCRIPT_NAME']) ); //With URL rewrite
+ }
+ $env['PATH_INFO'] = substr_replace($_SERVER['REQUEST_URI'], '', 0, strlen($env['SCRIPT_NAME']));
+ if ( strpos($env['PATH_INFO'], '?') !== false ) {
+ $env['PATH_INFO'] = substr_replace($env['PATH_INFO'], '', strpos($env['PATH_INFO'], '?')); //query string is not removed automatically
+ }
+ $env['SCRIPT_NAME'] = rtrim($env['SCRIPT_NAME'], '/');
+ $env['PATH_INFO'] = '/' . ltrim($env['PATH_INFO'], '/');
+
+ //The portion of the request URI following the '?'
+ $env['QUERY_STRING'] = isset($_SERVER['QUERY_STRING']) ? $_SERVER['QUERY_STRING'] : '';
+
+ //Name of server host that is running the script
+ $env['SERVER_NAME'] = $_SERVER['SERVER_NAME'];
+
+ //Number of server port that is running the script
+ $env['SERVER_PORT'] = $_SERVER['SERVER_PORT'];
+
+ //HTTP request headers
+ $specialHeaders = array('CONTENT_TYPE', 'CONTENT_LENGTH', 'PHP_AUTH_USER', 'PHP_AUTH_PW', 'PHP_AUTH_DIGEST', 'AUTH_TYPE');
+ foreach ( $_SERVER as $key => $value ) {
+ $value = is_string($value) ? trim($value) : $value;
+ if ( strpos($key, 'HTTP_') === 0 ) {
+ $env[substr($key, 5)] = $value;
+ } else if ( strpos($key, 'X_') === 0 || in_array($key, $specialHeaders) ) {
+ $env[$key] = $value;
+ }
+ }
+
+ //Is the application running under HTTPS or HTTP protocol?
+ $env['slim.url_scheme'] = empty($_SERVER['HTTPS']) || $_SERVER['HTTPS'] === 'off' ? 'http' : 'https';
+
+ //Input stream (readable one time only; not available for mutipart/form-data requests)
+ $rawInput = @file_get_contents('php://input');
+ if ( !$rawInput ) {
+ $rawInput = '';
+ }
+ $env['slim.input'] = $rawInput;
+
+ //Error stream
+ $env['slim.errors'] = fopen('php://stderr', 'w');
+
+ $this->properties = $env;
+ }
+ }
+
+ /**
+ * Array Access: Offset Exists
+ */
+ public function offsetExists( $offset ) {
+ return isset($this->properties[$offset]);
+ }
+
+ /**
+ * Array Access: Offset Get
+ */
+ public function offsetGet( $offset ) {
+ if ( isset($this->properties[$offset]) ) {
+ return $this->properties[$offset];
+ } else {
+ return null;
+ }
+ }
+
+ /**
+ * Array Access: Offset Set
+ */
+ public function offsetSet( $offset, $value ) {
+ $this->properties[$offset] = $value;
+ }
+
+ /**
+ * Array Access: Offset Unset
+ */
+ public function offsetUnset( $offset ) {
+ unset($this->properties[$offset]);
+ }
+
+ /**
+ * IteratorAggregate
+ *
+ * @return ArrayIterator
+ */
+ public function getIterator() {
+ return new ArrayIterator($this->properties);
+ }
+}
@@ -2,11 +2,12 @@
/**
* Slim - a micro PHP 5 framework
*
- * @author Josh Lockhart <info@joshlockhart.com>
+ * @author Josh Lockhart <info@slimframework.com>
* @copyright 2011 Josh Lockhart
* @link http://www.slimframework.com
* @license http://www.slimframework.com/license
- * @version 1.5.0
+ * @version 1.6.0
+ * @package Slim
*
* MIT LICENSE
*
@@ -39,7 +40,7 @@
* HTTP 404 Not Found response will be sent to the client.
*
* @package Slim
- * @author Josh Lockhart <info@joshlockhart.com>
- * @since Version 1.0
+ * @author Josh Lockhart
+ * @since 1.0.0
*/
class Slim_Exception_Pass extends Exception {}
@@ -2,11 +2,12 @@
/**
* Slim - a micro PHP 5 framework
*
- * @author Josh Lockhart <info@joshlockhart.com>
+ * @author Josh Lockhart <info@slimframework.com>
* @copyright 2011 Josh Lockhart
* @link http://www.slimframework.com
* @license http://www.slimframework.com/license
- * @version 1.5.0
+ * @version 1.6.0
+ * @package Slim
*
* MIT LICENSE
*
@@ -40,7 +41,7 @@
* to the same resource URI with a trailing slash.
*
* @package Slim
- * @author Josh Lockhart <info@joshlockhart.com>
- * @since Version 1.0
+ * @author Josh Lockhart
+ * @since 1.0.0
*/
class Slim_Exception_RequestSlash extends Exception {}
@@ -2,11 +2,12 @@
/**
* Slim - a micro PHP 5 framework
*
- * @author Josh Lockhart <info@joshlockhart.com>
+ * @author Josh Lockhart <info@slimframework.com>
* @copyright 2011 Josh Lockhart
* @link http://www.slimframework.com
* @license http://www.slimframework.com/license
- * @version 1.5.0
+ * @version 1.6.0
+ * @package Slim
*
* MIT LICENSE
*
@@ -37,7 +38,7 @@
* processing and return control flow to the outer PHP script.
*
* @package Slim
- * @author Josh Lockhart <info@joshlockhart.com>
- * @since Version 1.0
+ * @author Josh Lockhart
+ * @since 1.0.0
*/
class Slim_Exception_Stop extends Exception {}
Oops, something went wrong.

0 comments on commit bef5761

Please sign in to comment.