-
Notifications
You must be signed in to change notification settings - Fork 3
/
laravelsnippets2 (3).sql
169 lines (139 loc) · 44.4 KB
/
laravelsnippets2 (3).sql
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
-- phpMyAdmin SQL Dump
-- version 3.4.5
-- http://www.phpmyadmin.net
--
-- Host: localhost
-- Generation Time: Jan 02, 2013 at 08:50 PM
-- Server version: 5.5.16
-- PHP Version: 5.3.8
SET SQL_MODE="NO_AUTO_VALUE_ON_ZERO";
SET time_zone = "+00:00";
/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */;
/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */;
/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */;
/*!40101 SET NAMES utf8 */;
--
-- Database: `laravelsnippets2`
--
-- --------------------------------------------------------
--
-- Table structure for table `snippets`
--
CREATE TABLE IF NOT EXISTS `snippets` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`title` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`description` longtext COLLATE utf8_unicode_ci NOT NULL,
`code` longtext COLLATE utf8_unicode_ci NOT NULL,
`user_id` int(11) NOT NULL,
`published` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
`ip` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=60 ;
--
-- Dumping data for table `snippets`
--
INSERT INTO `snippets` (`id`, `title`, `description`, `code`, `user_id`, `published`, `created_at`, `updated_at`, `ip`) VALUES
(48, 'Locale aware API Routing | By: William Cahill-Manley', 'This routing scheme addresses versioned api''s by using bundles and sets the language set in the url. This method is also very easy to modify for other needs.', '**Location:** bundles/api_v1/controllers/example.php\r\n~~~~\r\n<?php\r\nclass Api_V1_Example_Controller extends Controller\r\n{\r\n public function action_hello($name=''World'')\r\n {\r\n return "Hello, {$name}!";\r\n }\r\n}\r\n\r\n// URL: myapp.com/api/v1/en/example/hello/Kindari\r\n~~~~\r\n**Location:** application/routes.php\r\n~~~~\r\n<?php \r\n// Url: api/v2/locale/controller/method/params\r\nRoute::any(''api/v(:num)/(:any)/(:any)/(:any)/(:all?)'', function($version, $locale, $controller, $method, $rest=''''){\r\n\r\n Config::set(''application.language'', $locale);\r\n\r\n $bundle = "api_v{$version}";\r\n\r\n $params = $rest ? explode(''/'', $rest) : array();\r\n\r\n return Controller::call("{$bundle}::{$controller}@{$method}", $params);\r\n});\r\n~~~~', 4, 1, '2012-10-26 03:04:56', '2012-10-26 04:00:38', '::1'),
(49, 'Putting RSS into your Laravel Application - easily | By: Maks', 'I''ll explain how to get RSS feeds set up in Laravel in a few minutes.', '1) Get the Feeder bundle by Proger_XP :\r\n[Link](http://bundles.laravel.com/bundle/feeder "Feed bundle")\r\n\r\n2) Install it :\r\n~~~~\r\nphp artisan bundle:install feeder\r\n~~~~\r\n\r\n3) Add it to bundles.php:\r\n~~~~\r\n''feeder'' => array(\r\n // when the bundle is started all Feeder classes are automatically loaded\r\n // so you can either autostart it or have autoloader mappings (more efficient).\r\n //''auto'' => true,\r\n\r\n ''autoloads'' => array(\r\n ''map'' => array(\r\n ''Feed'' => ''(:bundle)/chained.php'',\r\n\r\n ''FeedChannel'' => ''(:bundle)/feeder.php'',\r\n ''FeedEntry'' => ''(:bundle)/feeder.php'',\r\n ''Feeder'' => ''(:bundle)/feeder.php'',\r\n ''TextFeeder'' => ''(:bundle)/feeder.php'',\r\n ''FeedOut'' => ''(:bundle)/feeder.php'',\r\n ),\r\n ),\r\n )\r\n~~~~\r\n4) Create a "feed.php" controller:\r\n~~~~\r\n<?php \r\n\r\nclass Feed_Controller extends Base_Controller \r\n{\r\n public function action_index()\r\n {\r\n $feed = Feed::make();\r\n\r\n $feed->logo(asset(''img/logo.jpg''))\r\n ->icon(URL::home().''favicon.ico'')\r\n ->webmaster(''Your Name'')\r\n ->author (''Your Name'')\r\n ->rating(''SFW'')\r\n ->pubdate(time())\r\n ->ttl(60)\r\n ->title(''My App Feed'')\r\n ->description(''Newest stuff on MyApp.com'')\r\n ->copyright(''(c) ''.date(''Y'').'' MyApp.com'')\r\n ->permalink(URL::home().''/feed'')\r\n ->category(''PHP'')\r\n ->language(''en_EN'')\r\n ->baseurl(URL::home());\r\n\r\n // get latest 20 posts\r\n $posts = Post::order_by(''created_at'',''desc'')->take(20)->get();\r\n\r\n foreach ($posts as $post) {\r\n $feed->entry()->published($post->created_at)\r\n ->content()->add(''text'', $post->text)->up()\r\n ->content()->add(''html'', HTML::decode($post->text).''<br><a href="''.action(''posts@view'', array($post->slug)).''"><img src="''.asset(''uploads/''.(($post->attachment_id) ? (Upload::find($post->attachment_id)->small_filename) : "empty.jpg" )).''" /></a>'')->up()\r\n ->title()->add(''text'',$post->title)->up()\r\n ->permalink(action(''posts@view'', array($post->slug)))\r\n ->author()->name(''By ''.$post->author)->up()\r\n ->updated($post->updated_at);\r\n }\r\n\r\n $feed->Rss20();\r\n // this is a shortcut for calling $feed->feed()->send(...);\r\n // you can also just $feed->Rss20(), Rss092() or Atom();\r\n }\r\n\r\n public function action_atom()\r\n {\r\n $feed = Feed::make();\r\n\r\n $feed->logo(asset(''img/logo.jpg''))\r\n ->icon(URL::home().''favicon.ico'')\r\n ->webmaster(''Your Name'')\r\n ->author (''Your Name'')\r\n ->rating(''SFW'')\r\n ->pubdate(time())\r\n ->ttl(60)\r\n ->title(''My App Feed'')\r\n ->description(''Newest stuff on MyApp.com'')\r\n ->copyright(''(c) ''.date(''Y'').'' MyApp.com'')\r\n ->permalink(URL::home().''/feed'')\r\n ->category(''PHP'')\r\n ->language(''en_EN'')\r\n ->baseurl(URL::home());\r\n\r\n $posts = Post::order_by(''created_at'',''desc'')->take(20)->get();\r\n\r\n foreach ($posts as $post) {\r\n $feed->entry()->title()->add(''text'',$post->title)->up()\r\n ->updated($post->updated_at)\r\n ->permalink(action(''posts@view'', array($post->slug)))\r\n ->author()->name(''By ''.$post->author)->up()\r\n ->content()->add(''html'', HTML::decode($post->text).''<br><a href="''.action(''posts@view'', array($post->slug)).''"><img src="''.asset(''uploads/''.(($post->attachment_id) ? (Upload::find($post->attachment_id)->small_filename) : "empty.jpg" )).''" /></a>'');\r\n }\r\n\r\n $feed->Atom();\r\n }\r\n\r\n public function action_rss092()\r\n {\r\n $feed = Feed::make();\r\n\r\n $feed->logo(asset(''img/logo.jpg''))\r\n ->icon(URL::home().''favicon.ico'')\r\n ->webmaster(''Your Name'')\r\n ->author (''Your Name'')\r\n ->rating(''SFW'')\r\n ->pubdate(time())\r\n ->ttl(60)\r\n ->title(''My App Feed'')\r\n ->description(''Newest stuff on MyApp.com'')\r\n ->copyright(''(c) ''.date(''Y'').'' MyApp.com'')\r\n ->permalink(URL::home().''/feed'')\r\n ->category(''PHP'')\r\n ->language(''en_EN'')\r\n ->baseurl(URL::home());\r\n\r\n $posts = Post::order_by(''created_at'',''desc'')->take(20)->get();\r\n\r\n foreach ($posts as $post) {\r\n $feed->entry()->published($post->created_at)\r\n ->content()->add(''text'', $post->text)->up()\r\n ->content()->add(''html'', HTML::decode($post->text).''<br><a href="''.action(''posts@view'', array($post->slug)).''"><img src="''.asset(''uploads/''.(($post->attachment_id) ? (Upload::find($post->attachment_id)->small_filename) : "empty.jpg" )).''" /></a>'')->up()\r\n ->title()->add(''text'',$post->title)->up()\r\n ->permalink(action(''posts@view'', array($post->slug)))\r\n ->author()->name(''By ''.$post->author)->up()\r\n ->updated($post->updated_at);\r\n }\r\n\r\n $feed->Rss092();\r\n // this is a shortcut for calling $feed->feed()->send(...);\r\n // you can also just $feed->Rss20(), Rss092() or Atom();\r\n }\r\n}\r\n~~~~\r\n6) Register "feed" controller within the routes.php:\r\n~~~~\r\nRoute::controller(''feed'');\r\n~~~~\r\n7) Done ! big_smile:D:D\r\nNow if you go to your application /feed route, you should see the feed! Of course you need to replace the data with your model and your conventions. ', 4, 1, '2012-10-26 03:05:49', '2012-10-26 04:00:22', '::1'),
(50, 'Macro for creating dynamic navigation links | By: Vilhjalmut Magnusson', 'A macro which responds to named and unnamed routes for your navigation bar.', '~~~~\r\n<?php\r\nHTML::macro(''nav_link'' function($route, $text)\r\n{\r\n $class = ( URI::is($route) or URI::is($route.''/*'') ) ? ''class="active"'' : '''';\r\n $href = URL::to($route);\r\n \r\n $action = Request::route();\r\n $action = $action->action;\r\n \r\n if ( isset($action[''as'']) )\r\n {\r\n $class = ( ($action[''as''] == $route) or ($action[''as''] == $route.''/*'') ) ? ''class="active"'' : '''';\r\n $href = URL::to_route($route);\r\n }\r\n \r\n return ''<li '' . $class . ''><a href="'' . $href . ''">'' . $text . ''</a></li>'';\r\n});\r\n~~~~', 4, 1, '2012-10-26 03:06:36', '2012-10-26 04:00:06', '::1'),
(51, 'Composer Sample | By: Sinan Eldem', 'A small sample code about using View Composer with blade templates.', '// **Location:** application/config/site.php\r\n~~~~\r\n<?php\r\nreturn array(\r\n ''title'' => ''Laravel Snippets'',\r\n ''url'' => URL::home(),\r\n ''owner'' => array(\r\n ''name'' => ''John Kevin M'', \r\n ''url'' => ''http://laravelsnippets.tk''\r\n ),\r\n ''creator'' => array(\r\n ''name'' => ''Sinan Eldem'', \r\n ''url'' => ''http://www.sinaneldem.com.tr''\r\n ),\r\n);\r\n~~~~\r\n// **Location:** application/routes.php\r\n~~~~\r\nView::composer(''partials.license'', function($v){\r\n $site = Config::get(''site'');\r\n $v->oname = $site[''owner''][''name''];\r\n $v->ourl = $site[''owner''][''url''];\r\n $v->cname = $site[''creator''][''name''];\r\n $v->curl = $site[''creator''][''url''];\r\n});\r\n~~~~\r\n// **Location:** application/language/en/lng.php\r\n~~~~\r\nreturn array(\r\n ''copyright'' => ''Copyright'',\r\n ''designer'' => ''Designer'',\r\n);\r\n~~~~\r\n// **Location:** application/view/partials/license.blade.php\r\n~~~~\r\n{{ __(''lng.copyright'')}} © 2011-{{ date(''Y'') }} {{ HTML::link($ourl, $oname) }}. {{ __(''lng.designer'')}} {{ HTML::link($curl, $cname) }}.\r\n~~~~\r\n// this will be included in blade templates by\r\n~~~~\r\n@render(''partials.license'')\r\n~~~~\r\n// and the output\r\nCopyright © 2011-2012 <a href="http://laravelsnippets.tk">John Kevin M</a>. Designer <a href="http://www.sinaneldem.com.tr">Sinan Eldem</a>.\r\n \r\n ', 4, 1, '2012-10-26 03:06:56', '2012-10-26 03:59:49', '::1'),
(52, 'Add tags to Laravel Snippets website | By: Maks', 'Here I explain how to add tags to this website.', 'You should have an admin controller, something that gives you a closed area of the website that only you(admin) can access.\r\nI''ll post the code for the controller that manages tags:\r\n~~~~\r\n<?php\r\nclass Admin_Tags_Controller extends Admin_Controller {\r\n\r\n public $restful = true;\r\n public $layout = ''layouts.admin'';\r\n\r\n public function get_index()\r\n {\r\n $this->data[''tags''] = Tag::order_by(''created_at'',''desc'')->get();\r\n $this->layout->title = "Manage Tags | create, edit, delete";\r\n $this->layout->content = View::make(''admin.tags'', $this->data);\r\n }\r\n\r\n public function post_index()\r\n {\r\n $tag_name = Input::get(''name'');\r\n $new_tag = array(\r\n ''name'' => $tag_name\r\n );\r\n \r\n // Create the array of validation rules\r\n $rules = array(\r\n ''name'' => ''required|match:/^[0-9A-Za-z ]+$/|min:3|max:255|unique:tags''\r\n );\r\n \r\n // Make the validator\r\n $v = Validator::make($new_tag, $rules);\r\n if ( $v -> fails() )\r\n { \r\n return Redirect::to_action(''admin@tags'')\r\n ->with_errors($v)\r\n ->with_input();\r\n }\r\n $tag = new Tag($new_tag);\r\n $tag->name = Str::lower($new_tag["name"]);\r\n $tag->slug = Str::slug($new_tag[''name''], ''-'');\r\n $tag->save();\r\n Session::flash(''status_success'', ''Tag ''.$tag_name .'' has been created'');\r\n return Redirect::to_action(''admin@tags''); \r\n }\r\n\r\n public function get_edit($object_id = false){\r\n // Do our checks to make sure things are in place\r\n if(!$object_id) return Redirect::to_action(''admin@tags'');\r\n $object = Tag::find($object_id);\r\n if(!$object) return Tag::to_action(''admin@tags'');\r\n $this->data[''tag''] = $object;\r\n $this->layout->title = "Edit tag";\r\n $this->layout->content = View::make(''admin.edittag'', $this->data);\r\n }\r\n\r\n public function post_edit(){\r\n $rules = array(\r\n ''id'' => ''required|exists:tags'',\r\n ''name'' =>''required|match:/^[0-9A-Za-z ]+$/|min:3|max:255|unique:tags''\r\n );\r\n $validation = Validator::make(Input::all(), $rules);\r\n if ($validation->fails())\r\n {\r\n return Redirect::to_action(''admin.tags@edit'', array(Input::get(''id'')))\r\n ->with_errors($validation)\r\n ->with_input();\r\n }else{\r\n $tag = Tag::find(Input::get(''id''));\r\n $tag->name = Str::lower(Input::get(''name''));\r\n $tag->slug = Str::slug(Input::get(''name''), ''-'');\r\n $tag->save();\r\n\r\n Session::flash(''status_success'', ''Tag ''.Input::get(''name'') .'' has been edited'');\r\n return Redirect::to_action(''admin@tags'');\r\n }\r\n }\r\n public function post_delete() \r\n {\r\n\r\n $tag_id = Input::get(''delete_id'');\r\n /*\r\n $rules = array(\r\n ''delete_id'' => ''required''\r\n );\r\n $v = Validator::make($tag_id, $rules);\r\n if ( $v->fails() )\r\n { \r\n return Redirect::to_action(''admin@tags'')->with_errors($v);\r\n }\r\n */\r\n $delete_tag = Tag::find($tag_id);\r\n $tag_name = $delete_tag->name;\r\n $delete_tag->delete();\r\n Session::flash(''status_success'', ''Tag ''.$tag_name.'' has been deleted'');\r\n\r\n return Redirect::to_action(''admin@tags'');\r\n }\r\n\r\n}\r\n~~~~\r\nYou also need an admin controller... here is what I would use\r\n~~~~\r\n<?php\r\nclass Admin_Controller extends Base_Controller {\r\n\r\n // Our first stuff\r\n public function __construct(){\r\n // Make sure that the ''auth'' function is run before ANYTHING else happens\r\n // With the exception of our login page (to actually login) this will\r\n // prevent any un-authorised use of the admin areas\r\n $this->filter(''before'', ''auth'')->except(array(''login'',''logout''));\r\n\r\n if ( ! is_null($this->layout))\r\n {\r\n $this->layout = $this->layout();\r\n } else {\r\n $this->layout = ''layouts.admin'';\r\n }\r\n\r\n // Get the user details from when they logged in / old sessions\r\n $this->data[''user''] = Auth::user();\r\n }\r\n\r\n /**\r\n * Checks to see if the user is logged in. If they aren''t we get redirected to the login page\r\n * @return header redirect\r\n */\r\n public function auth(){\r\n if (Auth::guest()) return Redirect::to(''admin/login'');\r\n }\r\n\r\n}\r\n\r\n~~~~\r\nBut the admin controller extends Base Controller\r\nOk, here is the base controller:\r\n~~~~\r\nclass Base_Controller extends Controller {\r\n\r\n public $data = array();\r\n\r\n public function __call($method, $parameters)\r\n {\r\n return Response::error(''404'');\r\n }\r\n\r\n}\r\n~~~~\r\nNow the views, here is the views for the administration of the tags, I have it in views.admin folder\r\nHere is the view for the edittag.blade.php\r\n~~~~\r\n@if (!is_null(Session::get(''status_success'')))\r\n <script type="text/javascript">\r\n @if (is_array(Session::get(''status_success'')))\r\n @foreach (Session::get(''status_success'') as $success)\r\n displayMessage(''{{$success }}'', "success");\r\n @endforeach\r\n @else\r\n displayMessage(''{{ Session::get(''status_success'')}}'', "success");\r\n @endif\r\n </script>\r\n@endif\r\n\r\n{{ $errors->first(''name'', ''<script type="text/javascript">displayMessage(":message","error");</script>''); }}\r\n\r\n<div class="span6">\r\n<h1>Edit Tag</h1>\r\n{{ Form::inline_open(''admin/tags/edit'', ''POST''); }}\r\n{{ Form::token(); }}\r\n<input type="hidden" name="id" value="{{$tag->id}}" />\r\n{{ Form::text(''name'', (Input::old(''title'') ? Input::old(''title'') : $tag->name), array(''tabindex''=> ''1'',''placeholder'' => ''Tag name'',''id''=>''name'')); }}\r\n\r\n<div class="form-actions">\r\n <button type="submit" class="btn btn-primary">Save tag</button>\r\n <a href="{{ URL::to(''admin/tags''); }}" class="btn">Cancel</a>\r\n</div>\r\n{{ Form::close(); }}\r\n</div>\r\n~~~~\r\nHere is the view for the list of all tags (tags.blade.php)\r\n~~~~\r\n@if (!is_null(Session::get(''status_success'')))\r\n <script type="text/javascript">\r\n @if (is_array(Session::get(''status_success'')))\r\n @foreach (Session::get(''status_success'') as $success)\r\n displayMessage(''{{$success }}'', "success");\r\n @endforeach\r\n @else\r\n displayMessage(''{{ Session::get(''status_success'')}}'', "success");\r\n @endif\r\n </script>\r\n@endif\r\n\r\n{{ $errors->first(''name'', ''<script type="text/javascript">displayMessage(":message","error");</script>''); }}\r\n\r\n<div class="span7">\r\n <h1>Tags</h1>\r\n <p>You can use this Page to create, modify or delete tags</p>\r\n {{ Form::inline_open(); }}\r\n {{ Form::token(); }}\r\n {{ Form::text(''name'', Input::old(''name''), array(''tabindex''=> ''1'',''placeholder'' => ''Tag name'',''id''=>''name'')); }}\r\n {{ Form::submit(''Create Tag'', array(''class''=>''btn-info'')); }}\r\n {{ Form::close(); }}\r\n\r\n <? if($tags){ ?>\r\n <table class="table table-striped table-bordered table-condensed">\r\n <thead>\r\n <tr>\r\n <th>ID</th>\r\n <th>Tag</th>\r\n <th># of Posts</th>\r\n <th>Created</th>\r\n <th>Actions</th>\r\n </tr>\r\n </thead><tbody>\r\n\r\n <? foreach($tags as $tag){ ?>\r\n <tr>\r\n <td>{{ $tag->id }}</td>\r\n <td>{{ $tag->name }}</td>\r\n <td><a href="{{ URL::to("tags/".$tag->slug)}}"><span class="badge badge-info">{{ $tag->snipps()->count(); }}</span></a></td>\r\n <td><span class="label">{{ $tag->created_at }}</span></td>\r\n <td><a class="btn btn-primary" href="{{action(''admin.tags@edit'', array($tag->id))}}">Edit</a> <a class="delete_toggler btn btn-danger" rel="{{$tag->id}}">Delete</a></td>\r\n </tr>\r\n <? } ?>\r\n </tbody>\r\n </table>\r\n <? }else{ ?>\r\n <div class="well">No tags here. Create some!</div>\r\n <? } ?>\r\n</div>\r\n\r\n<div class="modal hide fade" id="delete_tag">\r\n <div class="modal-header">\r\n <a class="close" data-dismiss="modal">×</a>\r\n <h3>Are You Sure?</h3>\r\n </div>\r\n <div class="modal-body">\r\n <p>Are you sure you want to delete this tag?</p>\r\n </div>\r\n <div class="modal-footer">\r\n {{ Form::open(''admin/tags/delete'', ''POST''); }}\r\n <a data-toggle="modal" href="#delete_tag" class="btn">Keep</a>\r\n <input type="hidden" name="delete_id" id="postvalue" value="" />\r\n <input type="submit" class="btn btn-danger" value="Delete" />\r\n {{ Form::close(); }}\r\n </div>\r\n </div>\r\n\r\n <script>\r\n $(''#delete_tag'').modal({\r\n show:false\r\n }); // Start the modal\r\n\r\n // Populate the field with the right data for the modal when clicked\r\n $(''.delete_toggler'').each(function(index,elem) {\r\n $(elem).click(function(){\r\n $(''#postvalue'').attr(''value'',$(elem).attr(''rel''));\r\n $(''#delete_tag'').modal(''show'');\r\n });\r\n });\r\n </script>\r\n~~~~\r\nThat''s it ! \r\n\r\n\r\n \r\n ', 4, 1, '2012-10-26 03:07:37', '2012-10-26 03:59:35', '::1'),
(53, 'Better Bundle Config Handling | By: TLGreg', 'Bundle uses `application/config/bundles` for modified configuration, makes it possible to persist config modifications with bundle updates.', '1. Load the configuration from the application "global" config and override the defaults.\r\n\r\n ~~~~\r\n <?php // File: /bundles/yourBundle/start.php\r\n $bundle = ''yourBundle'';\r\n $di = new RecursiveDirectoryIterator(__DIR__.DS.''config'');\r\n foreach (new RecursiveIteratorIterator($di) as $file) {\r\n $configfile = $file->getBasename(''.php'');\r\n \r\n $config = array_replace_recursive(\r\n Config::get($bundle.''::''.$configfile),\r\n Config::get(''bundles''.DS.$bundle.DS.$configfile)\r\n );\r\n \r\n Config::set($bundle.''::''.$configfile, $config);\r\n }\r\n ~~~~\r\n\r\n2. Store your default configuration the usual way, these shouldn''t be modified later.\r\n\r\n3. Prompt in your docs, that they should create a corresponding config file in `/application/config/bundles/yourBundle` and add just the configuration what they would like to override similarly to the environment configurations.\r\n\r\n**Benefits:**\r\n\r\n- Configuration can be accessed the same way as it would be by default as `Config::get(''yourBundle::configfile.config.config'')`\r\n\r\n- If a bundle is updated the modified configuration remains in the application/config.\r\n\r\n**Drawback:**\r\n\r\n- Modified configuration is not loaded before the bundle is started.', 4, 1, '2012-10-26 03:56:50', '2012-10-26 03:59:17', '::1'),
(54, 'IOC::register Example | By: Sinan Eldem', 'A piece of code for gathering version of laravel via IOC. Codes was written by ShawnMcCool.', '~~~~\r\nIoC::register(''laravel_version'', function()\r\n{\r\n preg_match(''/@version\\s+([0-9\\\\.]*)/'', file_get_contents(path(''base''). ''paths.php''), $matches);\r\n return $matches[1];\r\n});\r\n\r\nRoute::any(''version'', function()\r\n{\r\n $version = IoC::resolve(''laravel_version'');\r\n return "Current Laravel Version: ". $version;\r\n});\r\n~~~~', 4, 1, '2012-10-26 03:57:31', '2012-10-27 05:15:32', '::1'),
(55, 'Extend Route patterns | By: Juukie14', 'Extend route-patterns like (:any) and (:num).', 'Example of routes.php\r\n~~~~\r\n# Extend patterns with custom patterns \r\n$new_patterns = array(\r\n ''(:category)'' => ''(category1|category2|category3)'',\r\n ''(:tags)'' => ''((/[a-z0-9\\-_]+)*)?'',\r\n);\r\nRouter::$patterns = array_merge(Router::patterns(), $new_patterns);\r\n\r\n\r\n# Define routes\r\nRoute::get(''/(:category)/id/(:num)/(:any?)'', array(''as'' => ''news_article'', ''uses'' => ''news@article''));\r\n\r\n[..]\r\n~~~~', 4, 1, '2012-10-26 03:58:17', '2012-10-26 03:58:17', '::1'),
(56, 'How to use ORDER BY in eager loads', 'A snippet that demonstrates how to use ORDER BY in eager loads.', '**Scenario:** A user has many posts and you need to get all the users and all the posts associated w/ each user and you need to order the results in descending order.\r\nlocation: models/post.php\r\n~~~~\r\nclass Post extends Eloquent {\r\n \r\n public function user()\r\n {\r\n return $this->belongs_to(''User'');\r\n }\r\n\r\n}\r\n~~~~\r\nlocation: models/user.php\r\n~~~~\r\nclass User extends Eloquent {\r\n \r\n public function posts()\r\n {\r\n return $this->has_many(''Post'')->order_by(''created_at'', ''desc''); // you will use order_by when defining the relationship\r\n }\r\n\r\n}\r\n~~~~\r\nlocation: controllers/yourControllerFileName.php\r\n~~~~\r\n$users = User::with(''posts'')->get();\r\n\r\n~~~~\r\n ', 1, 1, '2012-10-26 04:01:59', '2012-10-26 04:03:55', '::1'),
(57, 'Authentication using Laravel''s auth library and aware bundle', 'A code snippet showing how to use Laravel''s auth library & aware bundle. \r\n\r\nAware bundle - http://bundles.laravel.com/bundle/aware', 'location: views/login.blade.php\r\nNOTE: Dont mind the css classes, its there because I used bootstrapper bundle. \r\nIf you want to use the bootstrapper bundle you can see it here - http://bundles.laravel.com/bundle/bootstrapper\r\n~~~~\r\n<div class="container">\r\n <div class="row">\r\n <div class="span4 offset4 well">\r\n <h2 class="text-info">Please Sign In</h2>\r\n \r\n @if (Session::has(''login_errors''))\r\n <div class="alert alert-error">\r\n <a class="close" data-dismiss="alert" href="#">×</a>Incorrect Username or Password!\r\n </div>\r\n @endif\r\n\r\n <form method="Post" action="{{ action(''auth@login'') }}" accept-charset="UTF-8">\r\n {{ Form::token() }}\r\n <input type="text" id="username" class="span4" name="username" placeholder="Username">\r\n <input type="password" id="password" class="span4" name="password" placeholder="Password">\r\n <button type="submit" name="submit" class="btn btn-info btn-block">Sign in</button>\r\n </form> \r\n </div>\r\n </div>\r\n</div>\r\n~~~~\r\nlocation: models/user.php\r\n~~~~\r\n<?php\r\nclass User extends Aware {\r\n \r\n public static $table = ''users''; // table name. This is optional unless you are not following Eloquent''s naming convention\r\n\r\n public static $key = ''id''; // primary key. This is optional unless you are not following Eloquent''s naming convention\r\n\r\n public static $timestamps = true; // automatically insert timestamps to created_at & updated_at columns in the users table\r\n\r\n /**\r\n * Aware validation rules\r\n */\r\n public static $rules = array(\r\n ''username'' => ''required'',\r\n ''password'' => ''required'',\r\n );\r\n\r\n}\r\n~~~~\r\nlocation: controllers/auth.php\r\n~~~~\r\n<?php\r\n\r\nclass Auth_Controller extends Base_Controller {\r\n\r\n public $restful = true;\r\n\r\n public function __construct()\r\n {\r\n parent::__construct();\r\n $this->filter(''before'', ''csrf'')->on(''post''); // add csrf protection\r\n }\r\n\r\n public function get_login()\r\n {\r\n return View::make(''auth.login'');\r\n }\r\n\r\n public function post_login() \r\n {\r\n // get POST data\r\n $username = Input::get(''username'');\r\n $password = Input::get(''password'');\r\n\r\n $credentials = array(\r\n ''username'' => $username, \r\n ''password'' => $password,\r\n );\r\n\r\n if (Auth::attempt($credentials)) {\r\n // login successful. Do something here. Like redirect a the user to the members area. \r\n } else {\r\n return Redirect::to_action(''auth@login'')\r\n ->with(''login_errors'', true);\r\n }\r\n }\r\n}\r\n~~~~', 1, 1, '2012-10-26 04:02:25', '2012-10-26 04:03:33', '::1'),
(58, 'Markdown integration', 'Markdown integration using "splendid.js" by Jason Lewis & "sparkdown bundle" by Phil Sparks. This is not a full detailed tutorial since this will be very long and I''m a little bit busy today. You need to know how Laravel works to follow this. Maybe soon if I have the time, I will revise this to make it more like a FULL tutorial.\r\n\r\nThanks to the ff:\r\nJason Lewis - for splendid.js, \r\nPhil Sparks - for sparkdown bundle, \r\nTLGreg - for the code to render markdown format w/ XSS protection outside code blocks.', '1) First of all, grab a copy of "splendid.js" by Jason Lewis. Here is the link - https://github.com/jasonlewis/splendid\r\n\r\n2) Make a folder called "splendid" in public folder and drop the css and js files there. In a folder structure this one:\r\n~~~~\r\npublic/splendid/css/splendid.css\r\npublic/splendid/js/splendid.min.js\r\n~~~~\r\n3) Include the css file in the <head></head> section like this:\r\n~~~~\r\n<link rel="stylesheet" type="text/css" href="{{ URL::to_asset(''splendid/css/splendid.css'') }}">\r\n~~~~\r\n4) Include the js files in before the closing body tag </body>\r\n~~~~\r\n<script src="{{ URL::to_asset(''splendid/js/splendid.js'') }}" type="text/javascript"></script>\r\n\r\n// also add this one:\r\n<script type="text/javascript">\r\n $(document).ready(function()\r\n {\r\n \r\n $(''#markdown'').splendid({\r\n generate: true,\r\n maps: {\r\n bold: {\r\n placeholder: ''Bold'',\r\n before: ''**'',\r\n after: ''**'',\r\n class: ''bold''\r\n },\r\n italic: {\r\n placeholder: ''Italic'',\r\n before: ''*'',\r\n after: ''*'',\r\n class: ''italic''\r\n },\r\n ul: {\r\n placeholder: ''Unordered List'',\r\n before: ''- '',\r\n class: ''ul''\r\n },\r\n ol: {\r\n placeholder: ''Ordered List'',\r\n before: ''1. '',\r\n class: ''ol''\r\n },\r\n picture: {\r\n replace: ''![[@Alt Text]]([@URL:http://] "[@Title]")'',\r\n class: ''picture''\r\n },\r\n link: {\r\n placeholder: ''Link'',\r\n before: ''['',\r\n after: '']([@URL:http://] "[@Title]")'',\r\n class: ''link''\r\n },\r\n quote: {\r\n before: ''> '',\r\n class: ''quote''\r\n },\r\n code: {\r\n placeholder: ''Code'',\r\n before : ''~~~~\\n'',\r\n after : ''\\n~~~~'',\r\n class: ''code''\r\n }\r\n }\r\n });\r\n\r\n });\r\n </script>\r\n~~~~\r\n5) Grab a copy of google''s prettify (we will use this for the syntax highlighting and line numbering of codes inside code blocks )\r\nLink - http://code.google.com/p/google-code-prettify/downloads/detail?name=prettify-1-Jun-2011.tar.bz2&can=2&q=\r\n\r\n6) Make a folder named "highlighter" in the public folder. The folder structure will be like this one:\r\npublic/highlighter\r\n\r\n7) Drop the contents of google''s prettify found in "src" folder to public/highlighter directory of your project.\r\n\r\n8) Include the js file of google''s prettify in the <head></head> section. Like this:\r\n~~~~\r\n<script src="{{ URL::to_asset(''highlighter/prettify.js'') }}" type="text/javascript"></script>\r\n~~~~\r\n9) Add this code before the closing body tag </body>\r\n~~~~\r\n<script type="text/javascript">\r\n $(''#snippet'').find(''code'').addClass(''prettyprint linenums''); prettyPrint();\r\n</script>\r\n~~~~\r\n10) Include the prettify stylesheet in the head section <head></head>. Like this one:\r\n~~~~\r\n<link rel="stylesheet" type="text/css" href="{{ URL::to_asset(''highlighter/prettify.css'') }}">\r\n~~~~\r\n11) Make a view file that has a form for submitting content something like this:\r\n~~~~\r\n// Location: views/snippets/submit.blade.php\r\n <form method="Post" action="{{ action(''snippets@submit''); }}" accept-charset="UTF-8">\r\n \r\n <label for="name" class="control-label">Name</label> \r\n <input type="text" class="span4" name="name" placeholder="Put your name here">\r\n \r\n <label for="title" class="control-label">Title</label> \r\n <input type="text" class="span4" name="title" placeholder="Put your snippet title here">\r\n\r\n <label for="description" class="control-label">Description</label> \r\n <textarea name="description" rows="3" id="description-txtarea" placeholder="Put description here"></textarea>\r\n\r\n <label for="snippet" class="control-label">Code Snippet</label> \r\n <textarea name="snippet" id="markdown" rows="20" cols="60" placeholder="Put your codes using the code tag button <> in the editor"></textarea>\r\n\r\n <button type="submit" name="submit" class="btn btn-info">Submit</button>\r\n\r\n </form> \r\n~~~~\r\n12) Make a controller that will handle the saving of the submitted content something like this one:\r\n~~~~\r\n// Location: controllers/snippets.php\r\npublic function post_submit()\r\n{\r\n $snippet = New Snippet;\r\n $snippet->title = Input::get(''title'');\r\n $snippet->description = Input::get(''description'');\r\n $snippet->code = Input::get(''snippet'');\r\n $snippet->author = Input::get(''name'');\r\n\r\n if ($snippet->save()) {\r\n return Redirect::back()->with(''success'', ''Snippet successfuly submitted to be reviewed by the admin.''); \r\n } else {\r\n return Redirect::back()->with_errors($snippet->errors->all());\r\n }\r\n}\r\n~~~~\r\n13) The question is how do we parse the Markdown format. It''s simple, install sparkdown by Phil Sparks. \r\nHere is the link - http://bundles.laravel.com/bundle/sparkdown\r\n\r\n14) Now we can parse the Markdown format and render it. Here is what I did:\r\n~~~~\r\n<pre id="snippet">\r\n\r\n <?php \r\n Bundle::start(''sparkdown''); \r\n $text = Sparkdown\\Markdown(e($snippet->code));\r\n\r\n // code to render the parsed markdown w/ XSS protection outside code blocks. Thanks to TLGreg for this code.\r\n echo $text = preg_replace_callback(''$(<code>)([\\s\\S]+)(</code>)$i'', function($matches)\r\n {\r\n return $matches[1] . preg_replace(''/&/i'', ''&'', $matches[2]) . $matches[3];\r\n }, $text);\r\n ?>\r\n\r\n</pre>\r\n~~~~\r\nThats it! Enjoy! :)', 1, 1, '2012-10-26 04:02:47', '2012-10-26 04:02:47', '::1'),
(59, 'test', 'test', '1) First of all, grab a copy of "splendid.js" by Jason Lewis. Here is the link - https://github.com/jasonlewis/splendid\r\n\r\n2) Make a folder called "splendid" in public folder and drop the css and js files there. In a folder structure this one:\r\n~~~~\r\npublic/splendid/css/splendid.css\r\npublic/splendid/js/splendid.min.js\r\n~~~~\r\n3) Include the css file in the <head></head> section like this:\r\n~~~~\r\n<link rel="stylesheet" type="text/css" href="{{ URL::to_asset(''splendid/css/splendid.css'') }}">\r\n~~~~\r\n4) Include the js files in before the closing body tag </body>\r\n~~~~\r\n<script src="{{ URL::to_asset(''splendid/js/splendid.js'') }}" type="text/javascript"></script>\r\n\r\n// also add this one:\r\n<script type="text/javascript">\r\n $(document).ready(function()\r\n {\r\n \r\n $(''#markdown'').splendid({\r\n generate: true,\r\n maps: {\r\n bold: {\r\n placeholder: ''Bold'',\r\n before: ''**'',\r\n after: ''**'',\r\n class: ''bold''\r\n },\r\n italic: {\r\n placeholder: ''Italic'',\r\n before: ''*'',\r\n after: ''*'',\r\n class: ''italic''\r\n },\r\n ul: {\r\n placeholder: ''Unordered List'',\r\n before: ''- '',\r\n class: ''ul''\r\n },\r\n ol: {\r\n placeholder: ''Ordered List'',\r\n before: ''1. '',\r\n class: ''ol''\r\n },\r\n picture: {\r\n replace: ''![[@Alt Text]]([@URL:http://] "[@Title]")'',\r\n class: ''picture''\r\n },\r\n link: {\r\n placeholder: ''Link'',\r\n before: ''['',\r\n after: '']([@URL:http://] "[@Title]")'',\r\n class: ''link''\r\n },\r\n quote: {\r\n before: ''> '',\r\n class: ''quote''\r\n },\r\n code: {\r\n placeholder: ''Code'',\r\n before : ''~~~~\\n'',\r\n after : ''\\n~~~~'',\r\n class: ''code''\r\n }\r\n }\r\n });\r\n\r\n });\r\n </script>\r\n~~~~\r\n5) Grab a copy of google''s prettify (we will use this for the syntax highlighting and line numbering of codes inside code blocks )\r\nLink - http://code.google.com/p/google-code-prettify/downloads/detail?name=prettify-1-Jun-2011.tar.bz2&can=2&q=\r\n\r\n6) Make a folder named "highlighter" in the public folder. The folder structure will be like this one:\r\npublic/highlighter\r\n\r\n7) Drop the contents of google''s prettify found in "src" folder to public/highlighter directory of your project.\r\n\r\n8) Include the js file of google''s prettify in the <head></head> section. Like this:\r\n~~~~\r\n<script src="{{ URL::to_asset(''highlighter/prettify.js'') }}" type="text/javascript"></script>\r\n~~~~\r\n9) Add this code before the closing body tag </body>\r\n~~~~\r\n<script type="text/javascript">\r\n $(''#snippet'').find(''code'').addClass(''prettyprint linenums''); prettyPrint();\r\n</script>\r\n~~~~\r\n10) Include the prettify stylesheet in the head section <head></head>. Like this one:\r\n~~~~\r\n<link rel="stylesheet" type="text/css" href="{{ URL::to_asset(''highlighter/prettify.css'') }}">\r\n~~~~\r\n11) Make a view file that has a form for submitting content something like this:\r\n~~~~\r\n// Location: views/snippets/submit.blade.php\r\n <form method="Post" action="{{ action(''snippets@submit''); }}" accept-charset="UTF-8">\r\n \r\n <label for="name" class="control-label">Name</label> \r\n <input type="text" class="span4" name="name" placeholder="Put your name here">\r\n \r\n <label for="title" class="control-label">Title</label> \r\n <input type="text" class="span4" name="title" placeholder="Put your snippet title here">\r\n\r\n <label for="description" class="control-label">Description</label> \r\n <textarea name="description" rows="3" id="description-txtarea" placeholder="Put description here"></textarea>\r\n\r\n <label for="snippet" class="control-label">Code Snippet</label> \r\n <textarea name="snippet" id="markdown" rows="20" cols="60" placeholder="Put your codes using the code tag button <> in the editor"></textarea>\r\n\r\n <button type="submit" name="submit" class="btn btn-info">Submit</button>\r\n\r\n </form> \r\n~~~~\r\n12) Make a controller that will handle the saving of the submitted content something like this one:\r\n~~~~\r\n// Location: controllers/snippets.php\r\npublic function post_submit()\r\n{\r\n $snippet = New Snippet;\r\n $snippet->title = Input::get(''title'');\r\n $snippet->description = Input::get(''description'');\r\n $snippet->code = Input::get(''snippet'');\r\n $snippet->author = Input::get(''name'');\r\n\r\n if ($snippet->save()) {\r\n return Redirect::back()->with(''success'', ''Snippet successfuly submitted to be reviewed by the admin.''); \r\n } else {\r\n return Redirect::back()->with_errors($snippet->errors->all());\r\n }\r\n}\r\n~~~~\r\n13) The question is how do we parse the Markdown format. It''s simple, install sparkdown by Phil Sparks. \r\nHere is the link - http://bundles.laravel.com/bundle/sparkdown\r\n\r\n14) Now we can parse the Markdown format and render it. Here is what I did:\r\n~~~~\r\n<pre id="snippet">\r\n\r\n <?php \r\n Bundle::start(''sparkdown''); \r\n $text = Sparkdown\\Markdown(e($snippet->code));\r\n\r\n // code to render the parsed markdown w/ XSS protection outside code blocks. Thanks to TLGreg for this code.\r\n echo $text = preg_replace_callback(''$(<code>)([\\s\\S]+)(</code>)$i'', function($matches)\r\n {\r\n return $matches[1] . preg_replace(''/&/i'', ''&'', $matches[2]) . $matches[3];\r\n }, $text);\r\n ?>\r\n\r\n</pre>\r\n~~~~\r\nThats it! Enjoy! :)', 6, 0, '2012-10-26 04:30:38', '2013-01-02 12:45:42', '::1');
-- --------------------------------------------------------
--
-- Table structure for table `snippet_tag`
--
CREATE TABLE IF NOT EXISTS `snippet_tag` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`snippet_id` int(11) NOT NULL,
`tag_id` int(11) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=73 ;
--
-- Dumping data for table `snippet_tag`
--
INSERT INTO `snippet_tag` (`id`, `snippet_id`, `tag_id`, `created_at`, `updated_at`) VALUES
(66, 48, 40, '2012-10-26 03:04:56', '2012-10-26 03:04:56'),
(68, 56, 37, '2012-10-26 04:01:59', '2012-10-26 04:01:59'),
(69, 57, 39, '2012-10-26 04:02:25', '2012-10-26 04:02:25'),
(70, 57, 37, '2012-10-26 04:02:25', '2012-10-26 04:02:25'),
(71, 58, 37, '2012-10-26 04:02:47', '2012-10-26 04:02:47'),
(72, 59, 38, '2013-01-02 12:45:42', '2013-01-02 12:45:42');
-- --------------------------------------------------------
--
-- Table structure for table `tags`
--
CREATE TABLE IF NOT EXISTS `tags` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`name` varchar(255) NOT NULL,
`slug` varchar(255) NOT NULL,
`user_id` int(11) NOT NULL,
`ip` varchar(255) NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `name` (`name`,`slug`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=41 ;
--
-- Dumping data for table `tags`
--
INSERT INTO `tags` (`id`, `name`, `slug`, `user_id`, `ip`, `created_at`, `updated_at`) VALUES
(37, 'eloquent', 'eloquent', 4, '::1', '2012-10-26 02:58:23', '2012-10-26 02:58:23'),
(38, 'eager loading', 'eager-loading', 4, '::1', '2012-10-26 02:58:30', '2012-10-26 02:58:30'),
(39, 'authentication', 'authentication', 4, '::1', '2012-10-26 03:00:21', '2012-10-26 04:16:14'),
(40, 'routing', 'routing', 4, '::1', '2012-10-26 03:04:17', '2012-10-26 04:15:40');
-- --------------------------------------------------------
--
-- Table structure for table `users`
--
CREATE TABLE IF NOT EXISTS `users` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`username` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`password` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`first_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`last_name` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`email_address` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`user_groups_id` int(11) NOT NULL,
`ip` varchar(255) COLLATE utf8_unicode_ci NOT NULL,
`created_at` datetime NOT NULL,
`updated_at` datetime NOT NULL,
PRIMARY KEY (`id`),
UNIQUE KEY `username` (`username`)
) ENGINE=InnoDB DEFAULT CHARSET=utf8 COLLATE=utf8_unicode_ci AUTO_INCREMENT=7 ;
--
-- Dumping data for table `users`
--
INSERT INTO `users` (`id`, `username`, `password`, `first_name`, `last_name`, `email_address`, `user_groups_id`, `ip`, `created_at`, `updated_at`) VALUES
(1, 'admin', '$2a$08$Z90Lpo2rj968ZofQYjBgGuOpIBRLhJJ7r4Iqji9T2VBF.mWdR58I2', 'John Kevin', 'Basco', '[email protected]', 1, '', '2012-10-01 07:20:32', '2012-10-01 07:20:32'),
(3, 'reineskye25', '$2a$08$Z90Lpo2rj968ZofQYjBgGuOpIBRLhJJ7r4Iqji9T2VBF.mWdR58I2', 'John Kevin', 'Basco', '[email protected]', 1, '', '2012-10-26 02:17:12', '2012-10-26 02:17:12'),
(4, 'anonymous', '$2a$08$Z90Lpo2rj968ZofQYjBgGuOpIBRLhJJ7r4Iqji9T2VBF.mWdR58I2', 'anonymous', 'account', '[email protected]', 1, '', '2012-10-26 02:54:36', '2012-10-26 02:54:36'),
(6, 'member', '$2a$08$3bAWnpkEBTE1baROXe.Kf.bqtYgd10nLdIOEgbODMOlLRwUxCOH3q', 'member', 'member', '[email protected]', 2, '::1', '2012-10-26 04:30:26', '2012-10-26 04:30:26');
-- --------------------------------------------------------
--
-- Table structure for table `user_groups`
--
CREATE TABLE IF NOT EXISTS `user_groups` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`group_name` varchar(255) NOT NULL,
`description` varchar(255) NOT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB DEFAULT CHARSET=latin1 AUTO_INCREMENT=3 ;
--
-- Dumping data for table `user_groups`
--
INSERT INTO `user_groups` (`id`, `group_name`, `description`) VALUES
(1, 'admin', 'admin baby'),
(2, 'contributor', 'contributors are like authors');
/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */;
/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */;
/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */;