From e8447e0bda25744c4836a8fdf009a98174264eda Mon Sep 17 00:00:00 2001 From: Brice Maron Date: Wed, 6 Jun 2012 21:11:15 +0000 Subject: [PATCH] Rework to fit with minizer --- lib/base.php | 6 +++--- lib/minimizer/css.php | 29 ++++++++++++++++++++--------- lib/minimizer/js.php | 17 +++++++++++------ remote.php | 18 +++++++++++++----- 4 files changed, 47 insertions(+), 23 deletions(-) diff --git a/lib/base.php b/lib/base.php index 131485961a..0d205c8f78 100644 --- a/lib/base.php +++ b/lib/base.php @@ -284,12 +284,12 @@ class OC{ public static function loadfile(){ if(file_exists(OC_App::getAppPath(OC::$REQUESTEDAPP) . '/' . OC::$REQUESTEDFILE)){ if(substr(OC::$REQUESTEDFILE, -3) == 'css'){ - $file = 'apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE; + $file = OC_App::getAppWebPath(OC::$REQUESTEDAPP). '/' . OC::$REQUESTEDFILE; $minimizer = new OC_Minimizer_CSS(); - $minimizer->output(array(array(OC::$APPSROOT, OC::$APPSWEBROOT, $file))); + $minimizer->output(array(array(OC_App::getAppPath(OC::$REQUESTEDAPP), OC_App::getAppWebPath(OC::$REQUESTEDAPP), OC::$REQUESTEDFILE))); exit; }elseif(substr(OC::$REQUESTEDFILE, -3) == 'php'){ - require_once(OC::$APPSROOT . '/apps/' . OC::$REQUESTEDAPP . '/' . OC::$REQUESTEDFILE); + require_once(OC_App::getAppPath(OC::$REQUESTEDAPP). '/' . OC::$REQUESTEDFILE); } }else{ die(); diff --git a/lib/minimizer/css.php b/lib/minimizer/css.php index 4637417579..76dc99b335 100644 --- a/lib/minimizer/css.php +++ b/lib/minimizer/css.php @@ -16,10 +16,6 @@ class OC_Minimizer_CSS extends OC_Minimizer // is it in 3rdparty? if($this->appendIfExist(OC::$THIRDPARTYROOT, OC::$THIRDPARTYWEBROOT, $style.'.css')) { - // or in apps? - }elseif($this->appendIfExist(OC::$APPSROOT, OC::$APPSWEBROOT, "apps/$style$fext.css" )) { - }elseif($this->appendIfExist(OC::$APPSROOT, OC::$APPSWEBROOT, "apps/$style.css" )) { - // or in the owncloud root? }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "$style$fext.css" )) { }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "$style.css" )) { @@ -29,8 +25,16 @@ class OC_Minimizer_CSS extends OC_Minimizer }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "core/$style.css" )) { }else{ - echo('css file not found: style:'.$style.' formfactor:'.$fext.' webroot:'.OC::$WEBROOT.' serverroot:'.OC::$SERVERROOT); - die(); + $append = false; + foreach( OC::$APPSROOTS as $apps_dir) + { + if($this->appendIfExist('cssfiles', $apps_dir['path'], $apps_dir['web'], "$style$fext.css", true)) { $append =true; break; } + elseif($this->appendIfExist('cssfiles', $apps_dir['path'], $apps_dir['web'], "$style.css", true )) { $append =true; break; } + } + if(! $append) { + echo('css file not found: style:'.$script.' formfactor:'.$fext.' webroot:'.OC::$WEBROOT.' serverroot:'.OC::$SERVERROOT); + die(); + } } } // Add the theme css files. you can override the default values here @@ -52,14 +56,21 @@ class OC_Minimizer_CSS extends OC_Minimizer public function minimizeFiles($files) { $css_out = ''; - $appswebroot = (string) OC::$APPSWEBROOT; $webroot = (string) OC::$WEBROOT; foreach($files as $file_info) { $file = $file_info[0] . '/' . $file_info[2]; $css_out .= '/* ' . $file . ' */' . "\n"; $css = file_get_contents($file); - if (strpos($file, OC::$APPSROOT) == 0) { - $css = str_replace('%appswebroot%', $appswebroot, $css); + + $in_root = false; + foreach(OC::$APPSROOTS as $app_root) { + if(strpos($file, $app_root['path']) == 0) { + $in_root = $app_root['web']; + break; + } + } + if ($in_root !== false) { + $css = str_replace('%appswebroot%', $in_root, $css); $css = str_replace('%webroot%', $webroot, $css); } $remote = $file_info[1]; diff --git a/lib/minimizer/js.php b/lib/minimizer/js.php index 4ddaa79d81..aea8b66f91 100644 --- a/lib/minimizer/js.php +++ b/lib/minimizer/js.php @@ -21,10 +21,6 @@ class OC_Minimizer_JS extends OC_Minimizer }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "themes/$theme/apps/$script$fext.js" )) { }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "themes/$theme/apps/$script.js" )) { - // Is it part of an app? - }elseif($this->appendIfExist(OC::$APPSROOT, OC::$APPSWEBROOT, "apps/$script$fext.js" )) { - }elseif($this->appendIfExist(OC::$APPSROOT, OC::$APPSWEBROOT, "apps/$script.js" )) { - // Is it in the owncloud root but overwritten by the theme? }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "themes/$theme/$script$fext.js" )) { }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "themes/$theme/$script.js" )) { @@ -42,8 +38,17 @@ class OC_Minimizer_JS extends OC_Minimizer }elseif($this->appendIfExist(OC::$SERVERROOT, OC::$WEBROOT, "core/$script.js" )) { }else{ - echo('js file not found: script:'.$script.' formfactor:'.$fext.' webroot:'.OC::$WEBROOT.' serverroot:'.OC::$SERVERROOT); - die(); + // Is it part of an app? + $append = false; + foreach( OC::$APPSROOTS as $apps_dir) + { + if($page->appendIfExist('jsfiles', $apps_dir['path'], $apps_dir['web'], "$script$fext.js" , true)) { $append =true; break; } + elseif($page->appendIfExist('jsfiles', $apps_dir['path'], $apps_dir['web'], "$script.js", true )) { $append =true; break; } + } + if(! $append) { + echo('js file not found: script:'.$script.' formfactor:'.$fext.' webroot:'.OC::$WEBROOT.' serverroot:'.OC::$SERVERROOT); + die(); + } } } return $this->files; diff --git a/remote.php b/remote.php index 55b088d775..e1e11c5773 100644 --- a/remote.php +++ b/remote.php @@ -17,9 +17,17 @@ if(is_null($file)){ exit; } -$parts=explode('/', $file, 2); -$app=$parts[0]; -OC_App::loadApp($app); +if(count(explode('/',$file)) == 3) { + $parts=explode('/',$file); + $app=$parts[2]; + OC_App::loadApp($app); + $baseuri = OC::$WEBROOT . '/remote.php/'.$service.'/'; + require_once( OC::$SERVERROOT.$file); -$baseuri = OC::$WEBROOT . '/remote.php/'.$service.'/'; -require_once(OC_App::getAppPath($app) .'/'. $parts[1]); \ No newline at end of file +} else { + $parts=explode('/', $file, 2); + $app=$parts[0]; + OC_App::loadApp($app); + $baseuri = OC::$WEBROOT . '/remote.php/'.$service.'/'; + require_once(OC_App::getAppPath($app) .'/'. $parts[1]); +}