PHP Classes

File: libs/kriswallsmith/assetic/src/functions.php

Recommend this page to a friend!
  Classes of william amed   Raptor 2   libs/kriswallsmith/assetic/src/functions.php   Download  
File: libs/kriswallsmith/assetic/src/functions.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Raptor 2
Framework that takes routes from annotations
Author: By
Last change:
Date: 8 years ago
Size: 3,062 bytes
 

Contents

Class file image Download
<?php

/*
 * This file is part of the Assetic package, an OpenSky project.
 *
 * (c) 2010-2013 OpenSky Project Inc
 *
 * For the full copyright and license information, please view the LICENSE
 * file that was distributed with this source code.
 */

use Assetic\Factory\AssetFactory;
use
Assetic\Util\TraversableString;

/**
 * Initializes the global Assetic object.
 *
 * @param AssetFactory $factory The asset factory
 */
function assetic_init(AssetFactory $factory)
{
    global
$_assetic;

   
$_assetic = new stdClass();
   
$_assetic->factory = $factory;
}

/**
 * Returns an array of javascript URLs.
 *
 * @param array|string $inputs Input strings
 * @param array|string $filters Filter names
 * @param array $options An array of options
 *
 * @return array An array of javascript URLs
 */
function assetic_javascripts($inputs = array(), $filters = array(), array $options = array())
{
    if (!isset(
$options['output'])) {
       
$options['output'] = 'js/*.js';
    }

    return
_assetic_urls($inputs, $filters, $options);
}

/**
 * Returns an array of stylesheet URLs.
 *
 * @param array|string $inputs Input strings
 * @param array|string $filters Filter names
 * @param array $options An array of options
 *
 * @return array An array of stylesheet URLs
 */
function assetic_stylesheets($inputs = array(), $filters = array(), array $options = array())
{
    if (!isset(
$options['output'])) {
       
$options['output'] = 'css/*.css';
    }

    return
_assetic_urls($inputs, $filters, $options);
}

/**
 * Returns an image URL.
 *
 * @param string $input An input
 * @param array|string $filters Filter names
 * @param array $options An array of options
 *
 * @return string An image URL
 */
function assetic_image($input, $filters = array(), array $options = array())
{
    if (!isset(
$options['output'])) {
       
$options['output'] = 'images/*';
    }

   
$urls = _assetic_urls($input, $filters, $options);

    return
current($urls);
}

/**
 * Returns an array of asset urls.
 *
 * @param array|string $inputs Input strings
 * @param array|string $filters Filter names
 * @param array $options An array of options
 *
 * @return array An array of URLs
 */
function _assetic_urls($inputs = array(), $filters = array(), array $options = array())
{
    global
$_assetic;

    if (!
is_array($inputs)) {
       
$inputs = array_filter(array_map('trim', explode(',', $inputs)));
    }

    if (!
is_array($filters)) {
       
$filters = array_filter(array_map('trim', explode(',', $filters)));
    }

   
$coll = $_assetic->factory->createAsset($inputs, $filters, $options);

   
$debug = isset($options['debug']) ? $options['debug'] : $_assetic->factory->isDebug();
   
$combine = isset($options['combine']) ? $options['combine'] : !$debug;

   
$one = $coll->getTargetPath();
    if (
$combine) {
       
$many = array($one);
    } else {
       
$many = array();
        foreach (
$coll as $leaf) {
           
$many[] = $leaf->getTargetPath();
        }
    }

    return new
TraversableString($one, $many);
}