2 // Copyright (C) 2010-2011 Aron Racho <aron@mi-squred.com>
4 // This program is free software; you can redistribute it and/or
5 // modify it under the terms of the GNU General Public License
6 // as published by the Free Software Foundation; either version 2
7 // of the License, or (at your option) any later version.
11 * This is a wrapper for implode function, which calls each function in the
12 * array $funcs on each piece in the array $pieces
14 * @param <type> $pieces
15 * @param <type> $funcs
17 function implode_funcs( $glue, array $pieces, array $funcs ) {
18 $new_pieces = array();
19 foreach ( $pieces as $piece ) {
21 foreach ( $funcs as $func ) {
22 $new_piece = $func( $new_piece );
24 $new_pieces []= $new_piece;
27 return implode( $glue, $new_pieces );
31 * * xxx todo: sanitize inputs
33 * @param <type> $default
36 function _get( $var, $default='' ) {
38 return isset($val) && $val != '' ?
$val : $default;
42 * xxx todo: sanitize inputs
44 * @param <type> $default
47 function _post( $var, $default='' ) {
49 return isset($val) && $val != '' ?
$val : $default;
52 function _base_url() {
53 return $GLOBALS['webroot'] . '/interface/super/rules';
57 return $GLOBALS['srcdir'];
61 return dirname(__FILE__
) . "/../";
64 function library_dir() {
65 return base_dir() . '/library';
68 function library_src( $file ) {
69 return library_dir() . "/$file";
72 function js_src( $file ) {
73 echo _base_url() . '/www/js/' . $file;
76 function css_src( $file ) {
77 echo _base_url() . '/www/css/' . $file;
80 function controller_basedir() {
81 return realpath( base_dir() . '/controllers/' );
83 function controller_dir( $controller ) {
84 $dir = controller_basedir() . '/'. $controller;
85 if ( realpath( $dir . '/../') != controller_basedir() ) {
86 throw Exception("Invalid controller '$controller'");