Skip to content

Instantly share code, notes, and snippets.

@slywalker
slywalker / BootstrapClassNames.sublime-completions
Created December 4, 2012 06:07
Bootstrap for Twitter, class name completions Sublime Text 2
/**
* Bootstrap for Twitter, class name completions
* Sublime Text 2
*/
{
"scope": "string",
"completions":
[
{"trigger":"google-maps\t[Bootstrap]","contents":"google-maps"},
@slywalker
slywalker / DateTimeRFCBehavior.php
Created October 2, 2012 06:48
CakePHP2.x add datetime field (RFC2822) for Date Object of JS into results of Model::find()
<?php
App::uses('ModelBehavior', 'Model');
class DateTimeRFCBehavior extends ModelBehavior {
public $settings = array();
protected $_defaults = array(
'fields' => array('updated', 'modified', 'created'),
'format' => array(
@slywalker
slywalker / AppShell.php
Created July 10, 2012 10:12
CakePHP AppShell::progressBar()
<?php
class AppShell extends Shell {
public function progressBar($current, $total, $size = 50) {
$perc = intval(($current / $total) * 100);
for ($i = strlen($perc); $i <= 4; $i++) {
$perc = ' ' . $perc;
}
$total_size = $size + $i + 3;
@slywalker
slywalker / CakePHP.sublime-completions
Created April 20, 2012 13:55
CakePHP Sublime Text 2 Completions
{"scope":"source.php - variable.other.php","completions":["php","SECOND","MINUTE","HOUR","DAY","WEEK","MONTH","YEAR","TIME_START","E_DEPRECATED","E_USER_DEPRECATED","CAKE_CORE_INCLUDE_PATH","CORE_PATH","WEBROOT_DIR","CAKE","APP","APPLIBS","CSS","JS","IMAGES","TESTS","TMP","LOGS","CACHE","VENDORS","IMAGES_URL","CSS_URL","JS_URL","FULL_BASE_URL","Cache","settings","ApcEngine","FileEngine","MemcacheEngine","WincacheEngine","XcacheEngine","IniReader","PhpReader","ConsoleErrorHandler","ConsoleInput","ConsoleInputArgument","ConsoleInputOption","ConsoleInputSubcommand","ConsoleOptionParser","ConsoleOutput","HelpFormatter","Shell","OptionParser","interactive","params","command","args","name","plugin","tasks","taskNames","uses","Tasks","stdout","stderr","stdin","ShellDispatcher","DS","CAKEPHP_SHELL","ROOT","APP_DIR","WWW_ROOT","TaskCollection","taskPathPrefix","AclShell","Acl","connection","ApiShell","paths","AppShell","BakeShell","CommandListShell","ConsoleShell","associations","badCommandChars","models","I18nShell",
<?php
$css = file_get_contents('bootstrap.css');
preg_match_all('/\.(([a-z]+\-)[a-z]+)/m', $css, $matches);
foreach ($matches[1] as $key => $value) {
$snippet = <<< EOF
<snippet>
<content><![CDATA[{$value}]]></content>
<tabTrigger>{$matches[2][$key]}</tabTrigger>
<scope>text.html</scope>
<description>{$value} Bootstrap</description>
My.AjaxForm = function(e) {
var $e = $(e)
, id = "#" + $e.attr("id")
, redirect = $e.data("ajax-redirect")
, target = $e.data("ajax-target")
$e.ajaxSubmit({
beforeSubmit: function(arr, $form, options) {
$e.find(".btn[type=submit]").button('loading');
$e.spin();
@slywalker
slywalker / gist:2166856
Created March 23, 2012 04:40
mailparse
<?php
$file = file_get_contents(dirname(__DIR__) . '/test/mail.txt');
$mail = mailparse_msg_create();
mailparse_msg_parse($mail, $file);
$struct = mailparse_msg_get_structure($mail);
$parts = array();
foreach($struct as $st) {
$section = mailparse_msg_get_part($mail, $st);
$info = mailparse_msg_get_part_data($section);
@slywalker
slywalker / Base64Email.php
Created March 16, 2012 09:00
メールの文字化けが怖いあなたに
<?php
App::uses('CakeEmail', 'Network/Email');
class Base64Email extends CakeEmail {
protected function _renderTemplates($content) {
$rendered = parent::_renderTemplates($content);
array_walk($rendered, function(&$val, $key) {
$val = base64_encode($val);
});
@slywalker
slywalker / CacheResultsBehavior.php
Created January 11, 2012 07:26
CakePHP2.0 CacheResultsBehavior on Memchached or APC
<?php
App::uses('Cache', 'Cache');
App::uses('Security', 'Utility');
App::uses('Inflector', 'Utility');
class CacheResultsBehavior extends ModelBehavior {
public function setup($model, $config = array()) {
$default = array(
'config' => 'default',
@slywalker
slywalker / BaseActionComponent.php
Created December 10, 2011 02:24
CakePHP2.0 BaseActionComponent
<?php
App::uses('Component', 'Controller');
App::uses('Inflector', 'Utility');
class BaseActionComponent extends Component {
public $components = array('Session');
public $Controller;