-
+<?php
// a little experimental... we are going to use the same name as the class. for these..
-trait Pman_Core_Asset_Trait {
+trait Pman_Core_AssetTrait {
$ar = array_merge($ar , glob($dir . '/'. $f));
continue;
}
-
+ if (!preg_match('/\.js$/', $f)) {
+ $f .= ".js";
+ }
$ar[] = $dir .'/'. $f;
}
}
// cached version?? - how do we decide if it's expired?
// while scanning the directory is slow... - it's faster than serving every file...
-
+ if (empty($ar)) {
+ echo "<!-- skipping $path - no files found -->\n";
+ return;
+ }
//$path = $this->rootURL ."/Pman/$mod/";
$mtime = 0;
foreach($ar as $fn) {
$f = basename($fn);
+ if (!preg_match('/\.js$/', $f) || $fn == '.js' || !file_exists($dir . '/' . $f)) { // only javascript files... (so XXX.Dialog.YYY* works..)
+ continue;
+ }
// got the 'module file..'
$mtime = filemtime($dir . '/'. $f);
$maxtime = max($mtime, $maxtime);
ksort($arfiles); // just sort by name so it's consistant for serialize..
- $ui = posix_getpwuid(posix_geteuid());
-
-
- $compiledir = session_save_path() . '/' .
- $ui['name'] . '-' . $ff->project . '-' . $ff->version . '-jscompile';
-
- if (!file_exists($compiledir)) {
- mkdir($compiledir,0700,true);
- }
+ require_once 'Pman/Core/Asset.php';
+ $compiledir = Pman_Core_Asset::getCompileDir('js', '', true);
- $lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;');
+ $lsort = function($a,$b) { return strlen($a) > strlen($b) ? 1 : -1; };
usort($files, $lsort);
+ $ff = HTML_FlexyFramework::get();
- if (!empty($this->bootLoader->isDev) && !empty($_REQUEST['isDev'])) {
+ if (!empty($ff->Pman['isDev']) && !empty($_REQUEST['isDev'])) {
echo "<!-- Javascript compile turned off (isDev on) -->\n";
$this->assetArrayToHtml($files,'js');
return;
$output = date('Y-m-d-H-i-s-', $maxtime). $smod .'-'.md5(serialize($arfiles)) .'.js';
-
+
+
// where are we going to write all of this..
// This has to be done via a
} else {
// echo "<!-- file already exists: {$basedir}/{$output} -->\n";
}
+
+ $asset = $ff->project == 'Pman' ? '/Core/Asset/js/' : '/Asset/js/';
//$this->arrayToJsInclude( $files);
$this->assetArrayToHtml( array(
- $this->baseURL.'/Asset/js/'. $output,
+ $this->baseURL.$asset. $output,
), 'js');
}
}
-
+ if (empty($ar)) {
+ echo "<!-- skipping $path - no files found -->\n";
+ return;
+ }
// cached version?? - how do we decide if it's expired?
// while scanning the directory is slow... - it's faster than serving every file...
//print_r($relfiles);
+
+ require_once 'Pman/Core/Asset.php';
+ $compiledir = Pman_Core_Asset::getCompileDir('css', '', true);
- $ui = posix_getpwuid(posix_geteuid());
-
-
- $compiledir = session_save_path() . '/' .
- $ui['name'] . '-' . $ff->project . '-'. $ff->version . '-csscompile';
-
+
if (!file_exists($compiledir)) {
mkdir($compiledir,0700,true);
}
- // no sorting???
- //$lsort = create_function('$a,$b','return strlen($a) > strlen($b) ? 1 : -1;');
- //usort($files, $lsort);
- if (!empty($this->bootLoader->isDev) && !empty($_REQUEST['isDev'])) {
+ // yes sort... if includes are used - they have to be in the first file...
+ $lsort = function($a,$b ) {
+ return strlen($a) > strlen($b) ? 1 : -1;
+ };
+ usort($files, $lsort);
+ usort($relfiles,$lsort);
+ // print_R($relfiles);
+
+ $ff = HTML_FlexyFramework::get();
+
+ // isDev set
+
+ if ((!empty($ff->Pman['isDev']) || $_SERVER['HTTP_HOST'] == 'localhost' )&& !empty($_REQUEST['isDev'])) {
echo "<!-- CSS compile turned off (isDev on) -->\n";
$this->assetArrayToHtml($files,'css');
return;
$smod = str_replace('/','.',$path);
- $output = date('Y-m-d-H-i-s-', $maxtime). $smod .'-'.md5(serialize($arfiles)) .'.css';
-
+ $output = date('Y-m-d-H-i-s-', $maxtime). $smod .'-'.md5(serialize(array($this->baseURL, $arfiles))) .'.css';
+ $asset = $ff->project == 'Pman' ? '/Core/Asset/css/' : '/Asset/css/';
// where are we going to write all of this..
// This has to be done via a
- if (true || !file_exists($compiledir.'/'.$output) || !filesize($compiledir.'/'.$output)) {
-
+ if ( !file_exists($compiledir.'/'.$output) || !filesize($compiledir.'/'.$output)) {
+ //print_r($relfiles);
require_once 'HTML/CSS/Minify.php';
$x = new HTML_CSS_Minify(substr($relpath,0,-1), $dir, $relfiles);
- file_put_contents($compiledir.'/'.$output , $x->minify( $this->baseURL.'/Asset/css'));
+ file_put_contents($compiledir.'/'.$output , $x->minify( $this->baseURL.$asset));
clearstatcache();
if (!file_exists($compiledir.'/'.$output) ||
!filesize($compiledir.'/'.$routput)) {
} else {
// echo "<!-- file already exists: {$basedir}/{$output} -->\n";
}
+
+
//$this->arrayToJsInclude( $files);
$this->assetArrayToHtml( array(
- $this->baseURL.'/Asset/css/'. $output,
+ $this->baseURL.$asset. $output,
),'css');