Skip to content

Instantly share code, notes, and snippets.

@frozonfreak
frozonfreak / app_routechange.js
Created December 28, 2014 02:52
Angularjs watching for route change
app.run(function($rootScope, $location) {
$rootScope.$on( "$routeChangeStart", function(event, next, current) {
if ($rootScope.loggedInUser == null) {
// no logged user, redirect to /login
if ( next.templateUrl === "partials/login.html") {
} else {
$location.path("/login");
}
}
});
@frozonfreak
frozonfreak / auto_coupon.php
Created December 27, 2014 04:53
Woocommerce Auto Coupon
add_action( 'woocommerce_before_cart', 'apply_matched_coupons' );
function apply_matched_coupons() {
global $woocommerce;
$coupon_code = '10percent'; // your coupon code here
if ( $woocommerce->cart->has_discount( $coupon_code ) ) return;
if ( $woocommerce->cart->cart_contents_total >= 500 ) {
@frozonfreak
frozonfreak / stringlength.php
Created December 16, 2014 06:15
PHP String length calculation
public function getActualLength($string){
$charArray = str_split($string);
$output = array();
foreach ($charArray as $char){
if (isset($char) && !empty($char) && $char != '' && ord($char) != 14) $output[] = $char;
}
return count($output);
}
@frozonfreak
frozonfreak / gist:1392a8e40d9e6a9b5974
Created July 28, 2014 04:03
Google Spreadsheet reading PHP
$spreadsheet_url="https://docs.google.com/spreadsheet/pub?key=<somecode>&single=true&gid=0&output=csv";
if(!ini_set('default_socket_timeout', 15)) echo "<!-- unable to change socket timeout -->";
if (($handle = fopen($spreadsheet_url, "r")) !== FALSE) {
while (($data = fgetcsv($handle, 1000, ",")) !== FALSE) {
$spreadsheet_data[]=$data;
}
}
fclose($handle);
@frozonfreak
frozonfreak / numbertowords.php
Created May 4, 2014 06:35
Convert number to words PHP
function convert_number_to_words($number) {
$hyphen = '-';
$conjunction = ' and ';
$separator = ', ';
$negative = 'negative ';
$decimal = ' point ';
$dictionary = array(
0 => 'zero',
1 => 'one',
@frozonfreak
frozonfreak / angulartypewriter.html
Created December 18, 2013 07:42
TypeWriter Effect using AngularJS
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="UTF-8">
<title>TypeWriter</title>
<script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/angularjs/1.2.5/angular.min.js"></script>
</head>
<body ng-controller="TypeWriterController">
<textarea ng-model="type" ng-model="cursor">{{type}}</textarea>
@frozonfreak
frozonfreak / paperjs.html
Last active February 17, 2016 01:20
PaperJS with AngularJS
<!DOCTYPE html>
<html ng-app>
<head>
<meta charset="UTF-8">
<title>Lines</title>
<script type="text/javascript" src="js/vendor/paper.js"></script>
<script type="text/javascript" src="js/vendor/angular.min.js"></script>
</head>
<body ng-controller="PaperController">
@frozonfreak
frozonfreak / Gruntfile.js
Created December 16, 2013 09:15
Grunt File for NodeJS Express Config
module.exports = function(grunt) {
grunt.initConfig({
pkg: grunt.file.readJSON('package.json'),
autoprefixer: {
options: {
@frozonfreak
frozonfreak / calc.css
Created December 10, 2013 01:52
Imitating calc() Fallback or Fixed-Width Sidebar In Responsive Layout Source:http://osvaldas.info/imitating-calc-fallback-fixed-width-sidebar-in-responsive-layout
.content
{
width: 80%; /* 960 */
width: -webkit-calc( 100% - 15em ); /* 240 */
width: -moz-calc( 100% - 15em ); /* 240 */
width: calc( 100% - 15em ); /* 240 */
float: left;
}
.sidebar
{
@frozonfreak
frozonfreak / paper.css
Created December 3, 2013 03:57
Print and PDF alignment
<script>
document.write( '<link rel="stylesheet" href="css/print/' + ( window.location.search.match( /print-pdf/gi ) ? 'pdf' : 'paper' ) + '.css" type="text/css" media="print">' );
</script>