Exemplo n.º 1
0
    $stack = array();
    foreach ($reqs as $type => $type_reqs) {
        if (!isset($stack[$type])) {
            $stack[$type] = array();
        }
        foreach ($type_reqs as $item) {
            $item = substr($item, strlen($type) + 1);
            // skip leading 'js/'
            $item = substr($item, 0, -(strlen($type) + 1));
            // skip trailing '.js'
            echo '<br />', $item;
        }
    }
    return $stack;
}
$presets = new DependenciesManager(__DIR__ . '/../composer.json');
echo '<pre>';
var_export($presets->getComposerManifest()->getName());
echo '<br />';
$ajax = $presets->findDependencies('ajax');
var_export($ajax);
echo '<br />';
var_export(prepareRequirements($ajax));
echo '<br />';
echo build_requirements_url('js', $ajax['js']);
echo '<br />';
echo build_requirements_url('css', $ajax['css']);
echo '<br />';
echo <<<EOT
<script src="/GitHub_projects/assets-library/src/assets-library.php?type=js&preset=ajax" type="text/javascript">
EOT;
 /**
  * Build a preset requirements and include it
  *
  * @param string $type 'js' or 'css'
  * @param string $preset
  * @return void
  */
 function prepare_preset_include($type, $preset)
 {
     require_once __DIR__ . '/DependenciesManager.php';
     $presets = new DependenciesManager(_ASSETSLIB_MANIFEST);
     $deps = $presets->findDependencies($preset);
     if (!empty($deps) && isset($deps[$type])) {
         $str = '';
         foreach ($deps[$type] as $item) {
             $str .= library_include($item);
         }
         if (!empty($str)) {
             if ($type === 'css') {
                 css_header();
             } elseif ($type === 'js') {
                 javascript_header();
             }
             echo $str;
         }
     }
 }