From ab4d3f3b70150d4b7c2622bd5fa6079c49b8d32f Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Tue, 15 Oct 2013 16:36:56 +0200 Subject: fix expression passed by reference --- lib/exe/detail.php | 4 +++- lib/exe/mediamanager.php | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/detail.php b/lib/exe/detail.php index 7aae08f76..e3c81d877 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -9,7 +9,9 @@ $ID = cleanID($INPUT->str('id')); // this makes some general infos available as well as the info about the // "parent" page $INFO = array_merge(pageinfo(),mediainfo()); -trigger_event('DETAIL_STARTED', $tmp=array()); + +$tmp = array(); +trigger_event('DETAIL_STARTED', $tmp); //close session session_write_close(); diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php index d9e4a6b04..d94a24c74 100644 --- a/lib/exe/mediamanager.php +++ b/lib/exe/mediamanager.php @@ -34,7 +34,8 @@ $JSINFO = array('id' => '', 'namespace' => ''); $AUTH = $INFO['perm']; // shortcut for historical reasons - trigger_event('MEDIAMANAGER_STARTED',$tmp=array()); + $tmp = array(); + trigger_event('MEDIAMANAGER_STARTED', $tmp); session_write_close(); //close session // do not display the manager if user does not have read access -- cgit v1.2.3 From 6a5d68178752212e9dc2ef82d500940b49bf6500 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sun, 3 Nov 2013 20:49:30 +0000 Subject: Revert "Fixes validation problems with base64 encoded images in CSS." This reverts commit 88833bac87e7fb295c0479a8260d1d63051bca8d. and fixes FS#2874 --- lib/exe/css.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index 6dfdf06e8..f0bd24b43 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -422,7 +422,7 @@ function css_datauri($match){ $data = base64_encode(file_get_contents($local)); } if($data){ - $url = '\'data:image/'.$ext.';base64,'.$data.'\''; + $url = 'data:image/'.$ext.';base64,'.$data; }else{ $url = $base.$url; } -- cgit v1.2.3 From 8c867678811e7f91159175c41ef4722a2fc5308c Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Mon, 4 Nov 2013 01:17:09 +0000 Subject: removed loading of deprecated RTL styles --- lib/exe/css.php | 15 --------------- 1 file changed, 15 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index f0bd24b43..87fb779eb 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -84,16 +84,6 @@ function css_out(){ if(isset($config_cascade['userstyle'][$mediatype])){ $files[$mediatype][$config_cascade['userstyle'][$mediatype]] = DOKU_BASE; } - // load rtl styles - // note: this adds the rtl styles only to the 'screen' media type - // @deprecated 2012-04-09: rtl will cease to be a mode of its own, - // please use "[dir=rtl]" in any css file in all, screen or print mode instead - if ($mediatype=='screen') { - if($lang['direction'] == 'rtl'){ - if (isset($styleini['stylesheets']['rtl'])) $files[$mediatype] = array_merge($files[$mediatype], $styleini['stylesheets']['rtl']); - if (isset($config_cascade['userstyle']['rtl'])) $files[$mediatype][$config_cascade['userstyle']['rtl']] = DOKU_BASE; - } - } $cache_files = array_merge($cache_files, array_keys($files[$mediatype])); } @@ -447,11 +437,6 @@ function css_pluginstyles($mediatype='screen'){ $list[DOKU_PLUGIN."$p/style.css"] = DOKU_BASE."lib/plugins/$p/"; $list[DOKU_PLUGIN."$p/style.less"] = DOKU_BASE."lib/plugins/$p/"; } - // @deprecated 2012-04-09: rtl will cease to be a mode of its own, - // please use "[dir=rtl]" in any css file in all, screen or print mode instead - if($lang['direction'] == 'rtl'){ - $list[DOKU_PLUGIN."$p/rtl.css"] = DOKU_BASE."lib/plugins/$p/"; - } } return $list; } -- cgit v1.2.3 From 30f686eb67205a1da8765c992e2f9ee1a158c712 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 5 Nov 2013 20:15:00 +0000 Subject: add DOKU_INC to less import directories --- lib/exe/css.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index f0bd24b43..bc0645400 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -173,6 +173,12 @@ function css_out(){ */ function css_parseless($css) { $less = new lessc(); + $less->importDir[] = DOKU_INC; + + if (defined('DOKU_UNITTEST')){ + $less->importDir[] = TMP_DIR; + } + try { return $less->compile($css); } catch(Exception $e) { -- cgit v1.2.3 From de737055c55e54246de5000d601a089328c1af1c Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 5 Nov 2013 20:15:39 +0000 Subject: update url/file rewriting in css_loadfile() to support @import of less files --- lib/exe/css.php | 30 ++++++++++++++++++++++++++++-- 1 file changed, 28 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index bc0645400..3929b2d4b 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -403,12 +403,38 @@ function css_loadfile($file,$location=''){ $css = io_readFile($file); if(!$location) return $css; - $css = preg_replace('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$css); - $css = preg_replace('#(@import\s+[\'"])(?!/|data:|http://|https://)#', '\\1'.$location, $css); + global $css_location; + global $css_current_dir; + $css_current_dir = preg_replace('#^('.DOKU_INC.(defined('DOKU_UNITTEST')?'|'.realpath(TMP_DIR) : '').')#','',dirname($file)).'/'; + $css_location = $location; + + $css = preg_replace_callback('#(url\( *)([\'"]?)(.*?)(\2)( *\))#','css_loadfile_callback',$css); + $css = preg_replace_callback('#(@import\s+)([\'"])(.*?)(\2)#','css_loadfile_callback',$css); +# $css = preg_replace_callback('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$css); +# $css = preg_replace_callback('#(@import\s+[\'"])(?!/|data:|http://|https://)#', '\\1'.$location, $css); return $css; } +function css_loadfile_callback($match){ + global $css_location; + global $css_current_dir; + + if (preg_match('#^(/|data:|https?://)#',$match[3])) { + return $match[0]; + } + else if (substr($match[3],-5) == '.less') { + if ($match[3]{0} != '/') { + $match[3] = $css_current_dir . $match[3]; + } + } + else { + $match[3] = $css_location . $match[3]; + } + + return join('',array_slice($match,1)); +} + /** * Converte local image URLs to data URLs if the filesize is small * -- cgit v1.2.3 From 4eb5f931edaaabdd436f4c2802d0d293f8ef76cd Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 11 Nov 2013 22:03:58 +0000 Subject: fix sp. in comment --- lib/exe/css.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index 3929b2d4b..948251440 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -436,7 +436,7 @@ function css_loadfile_callback($match){ } /** - * Converte local image URLs to data URLs if the filesize is small + * Convert local image URLs to data URLs if the filesize is small * * Callback for preg_replace_callback */ -- cgit v1.2.3 From 12ffbbc324be1f06ccfcff580f512990dca929b8 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Mon, 11 Nov 2013 22:31:28 +0000 Subject: refactor to improve elegance --- lib/exe/css.php | 75 ++++++++++++++++++++++++++++++++++++++------------------- 1 file changed, 50 insertions(+), 25 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index 948251440..9cde09545 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -399,40 +399,65 @@ function css_filetypes(){ * given location prefix */ function css_loadfile($file,$location=''){ - if(!@file_exists($file)) return ''; - $css = io_readFile($file); - if(!$location) return $css; + $css_file = new DokuCssFile($file); + return $css_file->load($location); +} - global $css_location; - global $css_current_dir; - $css_current_dir = preg_replace('#^('.DOKU_INC.(defined('DOKU_UNITTEST')?'|'.realpath(TMP_DIR) : '').')#','',dirname($file)).'/'; - $css_location = $location; +class DokuCssFile { - $css = preg_replace_callback('#(url\( *)([\'"]?)(.*?)(\2)( *\))#','css_loadfile_callback',$css); - $css = preg_replace_callback('#(@import\s+)([\'"])(.*?)(\2)#','css_loadfile_callback',$css); -# $css = preg_replace_callback('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$css); -# $css = preg_replace_callback('#(@import\s+[\'"])(?!/|data:|http://|https://)#', '\\1'.$location, $css); + protected $filepath; + protected $location; + private $relative_path = null; - return $css; -} + public function __construct($file) { + $this->filepath = $file; + } + + public function load($location='') { + if (!@file_exists($this->filepath)) return ''; -function css_loadfile_callback($match){ - global $css_location; - global $css_current_dir; + $css = io_readFile($this->filepath); + if (!$location) return $css; - if (preg_match('#^(/|data:|https?://)#',$match[3])) { - return $match[0]; + $this->location = $location; + + $css = preg_replace_callback('#(url\( *)([\'"]?)(.*?)(\2)( *\))#',array($this,'replacements'),$css); + $css = preg_replace_callback('#(@import\s+)([\'"])(.*?)(\2)#',array($this,'replacements'),$css); + + return $css; } - else if (substr($match[3],-5) == '.less') { - if ($match[3]{0} != '/') { - $match[3] = $css_current_dir . $match[3]; + + private function getRelativePath(){ + + if (is_null($this->relative_path)) { + $basedir = array(DOKU_INC); + if (defined('DOKU_UNITTEST')) { + $basedir[] = realpath(TMP_DIR); + } + $regex = '#^('.join('|',$basedir).')#'; + + $this->relative_path = preg_replace($regex, '', dirname($this->filepath)); } + + return $this->relative_path; } - else { - $match[3] = $css_location . $match[3]; - } - return join('',array_slice($match,1)); + public function replacements($match) { + + if (preg_match('#^(/|data:|https?://)#',$match[3])) { + return $match[0]; + } + else if (substr($match[3],-5) == '.less') { + if ($match[3]{0} != '/') { + $match[3] = $this->getRelativePath() . '/' . $match[3]; + } + } + else { + $match[3] = $this->location . $match[3]; + } + + return join('',array_slice($match,1)); + } } /** -- cgit v1.2.3 From 47f862d1e038979f4d2dd5bb0c3eaaa9d1ee8fee Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 12 Nov 2013 23:37:38 +0000 Subject: Fix an issue with style.ini replacements values not having relative locations corrected, when those values are "url(...)". Explanation: In the change to the less css extension, variable replacements now happen after the less/css files are processed for correction of relative locations. --- lib/exe/css.php | 13 ++++++++++--- 1 file changed, 10 insertions(+), 3 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index f0bd24b43..af7f9e4f1 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -271,7 +271,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -288,7 +288,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -306,7 +306,7 @@ function css_styleini($tpl) { // replacements if(is_array($data['replacements'])){ - $replacements = array_merge($replacements, $data['replacements']); + $replacements = array_merge($replacements, css_fixreplacementurls($data['replacements'],$webbase)); } } @@ -316,6 +316,13 @@ function css_styleini($tpl) { ); } +function css_fixreplacementurls($replacements, $location) { + foreach($replacements as $key => $value) { + $replacements[$key] = preg_replace('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$value); + } + return $replacements; +} + /** * Prints classes for interwikilinks * -- cgit v1.2.3 From 5381a7ee4e6527c7d6d6af67134ef92ba97f8745 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Elan=20Ruusam=C3=A4e?= Date: Wed, 13 Nov 2013 22:52:40 +0200 Subject: remove 'infos' misspelling http://english.stackexchange.com/questions/117552/why-does-information-not-have-a-plural-form --- lib/exe/detail.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/detail.php b/lib/exe/detail.php index e3c81d877..cd3f362ad 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -6,7 +6,7 @@ require_once(DOKU_INC.'inc/init.php'); $IMG = getID('media'); $ID = cleanID($INPUT->str('id')); -// this makes some general infos available as well as the info about the +// this makes some general info available as well as the info about the // "parent" page $INFO = array_merge(pageinfo(),mediainfo()); -- cgit v1.2.3 From 1e2c59485b8396275abde11d047a4a42a4e4e335 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Tue, 26 Nov 2013 19:39:05 +0000 Subject: improved comments for code associated with PR#407 & PR#408 --- lib/exe/css.php | 39 +++++++++++++++++++++++++++++++++++++-- 1 file changed, 37 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index c2540cc03..c96dedd37 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -312,6 +312,11 @@ function css_styleini($tpl) { ); } +/** + * Amend paths used in replacement relative urls, refer FS#2879 + * + * @author Chris Smith + */ function css_fixreplacementurls($replacements, $location) { foreach($replacements as $key => $value) { $replacements[$key] = preg_replace('#(url\([ \'"]*)(?!/|data:|http://|https://| |\'|")#','\\1'.$location,$value); @@ -400,16 +405,29 @@ function css_loadfile($file,$location=''){ return $css_file->load($location); } +/** + * Helper class to abstract loading of css/less files + * + * @author Chris Smith + */ class DokuCssFile { - protected $filepath; - protected $location; + protected $filepath; // file system path to the CSS/Less file + protected $location; // base url location of the CSS/Less file private $relative_path = null; public function __construct($file) { $this->filepath = $file; } + /** + * Load the contents of the css/less file and adjust any relative paths/urls (relative to this file) to be + * relative to the dokuwiki root: the web root (DOKU_BASE) for most files; the file system root (DOKU_INC) + * for less files. + * + * @param string $location base url for this file + * @return string the CSS/Less contents of the file + */ public function load($location='') { if (!@file_exists($this->filepath)) return ''; @@ -424,10 +442,17 @@ class DokuCssFile { return $css; } + /** + * Get the relative file system path of this file, relative to dokuwiki's root folder, DOKU_INC + * + * @return string relative file system path + */ private function getRelativePath(){ if (is_null($this->relative_path)) { $basedir = array(DOKU_INC); + + // during testing, files may be found relative to a second base dir, TMP_DIR if (defined('DOKU_UNITTEST')) { $basedir[] = realpath(TMP_DIR); } @@ -439,16 +464,26 @@ class DokuCssFile { return $this->relative_path; } + /** + * preg_replace callback to adjust relative urls from relative to this file to relative + * to the appropriate dokuwiki root location as described in the code + * + * @param array see http://php.net/preg_replace_callback + * @return string see http://php.net/preg_replace_callback + */ public function replacements($match) { + // not a relative url? - no adjustment required if (preg_match('#^(/|data:|https?://)#',$match[3])) { return $match[0]; } + // a less file import? - requires a file system location else if (substr($match[3],-5) == '.less') { if ($match[3]{0} != '/') { $match[3] = $this->getRelativePath() . '/' . $match[3]; } } + // everything else requires a url adjustment else { $match[3] = $this->location . $match[3]; } -- cgit v1.2.3 From 77450f4001bc641f7a724ae5e5c2f71b44c022d1 Mon Sep 17 00:00:00 2001 From: lisps Date: Wed, 27 Nov 2013 09:38:06 +0100 Subject: media image can be resized by height (without width) --- lib/exe/fetch.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 5967494bf..f33b3f2f8 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -78,8 +78,8 @@ if (defined('SIMPLE_TEST')) { unset($evt); //handle image resizing/cropping - if((substr($MIME, 0, 5) == 'image') && $WIDTH) { - if($HEIGHT) { + if((substr($MIME, 0, 5) == 'image') && ($WIDTH || $HEIGHT)) { + if($HEIGHT && $WDITH) { $data['file'] = $FILE = media_crop_image($data['file'], $EXT, $WIDTH, $HEIGHT); } else { $data['file'] = $FILE = media_resize_image($data['file'], $EXT, $WIDTH, $HEIGHT); -- cgit v1.2.3 From 138bfd16df9cb583107097f32be288b8705cd035 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 17 Jan 2014 15:36:34 +0100 Subject: localize jQuery UI date picker FS#2912 --- lib/exe/js.php | 2 ++ 1 file changed, 2 insertions(+) (limited to 'lib/exe') diff --git a/lib/exe/js.php b/lib/exe/js.php index 040b8874d..04413b409 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -44,6 +44,7 @@ function js_out(){ DOKU_INC.'lib/scripts/jquery/jquery.cookie.js', DOKU_INC."lib/scripts/jquery/jquery-ui$min.js", DOKU_INC."lib/scripts/jquery/jquery-migrate$min.js", + DOKU_INC.'inc/lang/'.$conf['lang'].'/jquery.ui.datepicker.js', DOKU_INC."lib/scripts/fileuploader.js", DOKU_INC."lib/scripts/fileuploaderextended.js", DOKU_INC.'lib/scripts/helpers.js', @@ -112,6 +113,7 @@ function js_out(){ // load files foreach($files as $file){ + if(!file_exists($file)) continue; $ismin = (substr($file,-7) == '.min.js'); $debugjs = ($conf['allowdebug'] && strpos($file, DOKU_INC.'lib/scripts/') !== 0); -- cgit v1.2.3 From d2affc245d260133a8e9734ad309e5ceba8f42b6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerry=20Wei=C3=9Fbach?= Date: Mon, 27 Jan 2014 10:08:48 +0100 Subject: Use original filename for Content-Disposition In most cases this change will have no effect, but noes the response will use the filename that was originally requested. The downloaded filename can be modified to something different as well. E.g. the siteexport plugin will make use of it. --- lib/exe/fetch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index f33b3f2f8..16426938f 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -89,7 +89,7 @@ if (defined('SIMPLE_TEST')) { // finally send the file to the client $evt = new Doku_Event('MEDIA_SENDFILE', $data); if($evt->advise_before()) { - sendFile($data['file'], $data['mime'], $data['download'], $data['cache'], $data['ispublic']); + sendFile($data['file'], $data['orig'], $data['mime'], $data['download'], $data['cache'], $data['ispublic']); } // Do something after the download finished. $evt->advise_after(); // will not be emitted on 304 or x-sendfile -- cgit v1.2.3 From a0e46368e9ad87d959bd921504ced42bc3d5b4bc Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Gerry=20Wei=C3=9Fbach?= Date: Mon, 27 Jan 2014 10:21:08 +0100 Subject: Re-order parameters to not break other callers --- lib/exe/fetch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 16426938f..5f82ad0e0 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -89,7 +89,7 @@ if (defined('SIMPLE_TEST')) { // finally send the file to the client $evt = new Doku_Event('MEDIA_SENDFILE', $data); if($evt->advise_before()) { - sendFile($data['file'], $data['orig'], $data['mime'], $data['download'], $data['cache'], $data['ispublic']); + sendFile($data['file'], $data['mime'], $data['download'], $data['cache'], $data['ispublic'], $data['orig']); } // Do something after the download finished. $evt->advise_after(); // will not be emitted on 304 or x-sendfile -- cgit v1.2.3 From 73f25ac04a7caaa8cdb07bfc71e807f46f227f97 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sun, 2 Feb 2014 17:52:32 +0100 Subject: fix error on CSS includes on windows The regex wasn't properly escaped here which lead to problems when the path contains backslashes. This is the root cause of the bug reported at https://github.com/cosmocode/edittable/issues/19 --- lib/exe/css.php | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index c96dedd37..f273b7ee4 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -456,8 +456,9 @@ class DokuCssFile { if (defined('DOKU_UNITTEST')) { $basedir[] = realpath(TMP_DIR); } - $regex = '#^('.join('|',$basedir).')#'; + $basedir = array_map('preg_quote_cb', $basedir); + $regex = '/^('.join('|',$basedir).')/'; $this->relative_path = preg_replace($regex, '', dirname($this->filepath)); } -- cgit v1.2.3 From 343aa1749f17e62fa68e26193011a5051025881a Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 14 Feb 2014 13:12:58 +0100 Subject: fix global $AUTH hiding $auth --- lib/exe/detail.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/detail.php b/lib/exe/detail.php index cd3f362ad..9981c1d02 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -32,8 +32,8 @@ if($conf['allowdebug'] && $INPUT->has('debug')){ $ERROR = false; // check image permissions -$AUTH = auth_quickaclcheck($IMG); -if($AUTH >= AUTH_READ){ +$AUTHLEVEL = auth_quickaclcheck($IMG); +if($AUTHLEVEL >= AUTH_READ){ // check if image exists $SRC = mediaFN($IMG); if(!@file_exists($SRC)){ -- cgit v1.2.3 From 4f1a1db1539e819e5c40ec14453c4c709810e1bd Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Fri, 14 Feb 2014 13:44:40 +0100 Subject: Revert "fix global $AUTH hiding $auth" Yes, it's hiding $auth, but detail templates might depend on that. We need to fix this properly. This reverts commit 343aa1749f17e62fa68e26193011a5051025881a. --- lib/exe/detail.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/detail.php b/lib/exe/detail.php index 9981c1d02..cd3f362ad 100644 --- a/lib/exe/detail.php +++ b/lib/exe/detail.php @@ -32,8 +32,8 @@ if($conf['allowdebug'] && $INPUT->has('debug')){ $ERROR = false; // check image permissions -$AUTHLEVEL = auth_quickaclcheck($IMG); -if($AUTHLEVEL >= AUTH_READ){ +$AUTH = auth_quickaclcheck($IMG); +if($AUTH >= AUTH_READ){ // check if image exists $SRC = mediaFN($IMG); if(!@file_exists($SRC)){ -- cgit v1.2.3 From af4684ac7612e83f2381ef2fc4146358a5a04114 Mon Sep 17 00:00:00 2001 From: Andreas Gohr Date: Sat, 15 Feb 2014 11:12:55 +0100 Subject: move geshi highlighting to it's own LESS file --- lib/exe/css.php | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index f273b7ee4..537885c89 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -70,6 +70,10 @@ function css_out(){ $files[$mediatype] = array(); // load core styles $files[$mediatype][DOKU_INC.'lib/styles/'.$mediatype.'.css'] = DOKU_BASE.'lib/styles/'; + if($mediatype == 'screen') { + $files[$mediatype][DOKU_INC.'lib/styles/geshi.less'] = DOKU_BASE.'lib/styles/'; + } + // load jQuery-UI theme if ($mediatype == 'screen') { $files[$mediatype][DOKU_INC.'lib/scripts/jquery/jquery-ui-theme/smoothness.css'] = DOKU_BASE.'lib/scripts/jquery/jquery-ui-theme/'; -- cgit v1.2.3 From 3593102dfd174c90f99e841f66b60269bfb03be9 Mon Sep 17 00:00:00 2001 From: Anika Henke Date: Sat, 15 Feb 2014 11:37:01 +0000 Subject: included geshi styles per @import, removed from lib/exe/css --- lib/exe/css.php | 3 --- 1 file changed, 3 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/css.php b/lib/exe/css.php index 537885c89..cab7384b2 100644 --- a/lib/exe/css.php +++ b/lib/exe/css.php @@ -70,9 +70,6 @@ function css_out(){ $files[$mediatype] = array(); // load core styles $files[$mediatype][DOKU_INC.'lib/styles/'.$mediatype.'.css'] = DOKU_BASE.'lib/styles/'; - if($mediatype == 'screen') { - $files[$mediatype][DOKU_INC.'lib/styles/geshi.less'] = DOKU_BASE.'lib/styles/'; - } // load jQuery-UI theme if ($mediatype == 'screen') { -- cgit v1.2.3 From 56b0b744e40b19048e14cee4ff6caf69858d9fd6 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Tue, 18 Feb 2014 13:50:12 +0100 Subject: PHPDocs js.php --- lib/exe/js.php | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'lib/exe') diff --git a/lib/exe/js.php b/lib/exe/js.php index 04413b409..8f16f4a96 100644 --- a/lib/exe/js.php +++ b/lib/exe/js.php @@ -220,6 +220,12 @@ function js_pluginstrings() { return $pluginstrings; } +/** + * Return an two-dimensional array with strings from the language file of current active template. + * + * - $lang['js'] must be an array. + * - Nothing is returned for template without an entry for $lang['js'] + */ function js_templatestrings() { global $conf; $templatestrings = array(); -- cgit v1.2.3 From 900a9e9e56d360fa7d347304e9b0d4b691d4becc Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Thu, 20 Feb 2014 19:25:13 +0100 Subject: replace dir_delete by io_rmdir --- lib/exe/ajax.php | 20 -------------------- 1 file changed, 20 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 6e2011cd9..203af9c5b 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -298,26 +298,6 @@ function ajax_mediaupload(){ echo htmlspecialchars($json->encode($result), ENT_NOQUOTES); } -function dir_delete($path) { - if (!is_string($path) || $path == "") return false; - - if (is_dir($path) && !is_link($path)) { - if (!$dh = @opendir($path)) return false; - - while ($f = readdir($dh)) { - if ($f == '..' || $f == '.') continue; - dir_delete("$path/$f"); - } - - closedir($dh); - return @rmdir($path); - } else { - return @unlink($path); - } - - return false; -} - /** * Return sub index for index view * -- cgit v1.2.3 From 2472a8f6cbd2abffe712ddd42fe2ad296d03d8f2 Mon Sep 17 00:00:00 2001 From: Gerrit Uitslag Date: Thu, 20 Feb 2014 21:42:31 +0100 Subject: Removed unused vars, define undefined ones --- lib/exe/ajax.php | 38 ++++++++++++++++++++++---------------- 1 file changed, 22 insertions(+), 16 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/ajax.php b/lib/exe/ajax.php index 6e2011cd9..2cbcece5e 100644 --- a/lib/exe/ajax.php +++ b/lib/exe/ajax.php @@ -41,7 +41,6 @@ if(function_exists($callfn)){ * @author Andreas Gohr */ function ajax_qsearch(){ - global $conf; global $lang; global $INPUT; @@ -89,15 +88,12 @@ function ajax_qsearch(){ * @author Mike Frysinger */ function ajax_suggestions() { - global $conf; - global $lang; global $INPUT; $query = cleanID($INPUT->post->str('q')); if(empty($query)) $query = cleanID($INPUT->get->str('q')); if(empty($query)) return; - $data = array(); $data = ft_pageLookup($query); if(!count($data)) return; $data = array_keys($data); @@ -214,7 +210,6 @@ function ajax_medians(){ * @author Andreas Gohr */ function ajax_medialist(){ - global $conf; global $NS; global $INPUT; @@ -234,13 +229,15 @@ function ajax_medialist(){ * @author Kate Arzamastseva */ function ajax_mediadetails(){ - global $DEL, $NS, $IMG, $AUTH, $JUMPTO, $REV, $lang, $fullscreen, $conf, $INPUT; + global $IMG, $JUMPTO, $REV, $fullscreen, $INPUT; $fullscreen = true; require_once(DOKU_INC.'lib/exe/mediamanager.php'); + $image = ''; if ($INPUT->has('image')) $image = cleanID($INPUT->str('image')); if (isset($IMG)) $image = $IMG; if (isset($JUMPTO)) $image = $JUMPTO; + $rev = false; if (isset($REV) && !$JUMPTO) $rev = $REV; html_msgarea(); @@ -255,6 +252,7 @@ function ajax_mediadiff(){ global $NS; global $INPUT; + $image = ''; if ($INPUT->has('image')) $image = cleanID($INPUT->str('image')); $NS = $INPUT->post->str('ns'); $auth = auth_quickaclcheck("$NS:*"); @@ -264,6 +262,7 @@ function ajax_mediadiff(){ function ajax_mediaupload(){ global $NS, $MSG, $INPUT; + $id = ''; if ($_FILES['qqfile']['tmp_name']) { $id = $INPUT->post->str('mediaid', $_FILES['qqfile']['name']); } elseif ($INPUT->get->has('qqfile')) { @@ -280,19 +279,28 @@ function ajax_mediaupload(){ if ($_FILES['qqfile']['error']) unset($_FILES['qqfile']); + $res = false; if ($_FILES['qqfile']['tmp_name']) $res = media_upload($NS, $AUTH, $_FILES['qqfile']); if ($INPUT->get->has('qqfile')) $res = media_upload_xhr($NS, $AUTH); - if ($res) $result = array('success' => true, - 'link' => media_managerURL(array('ns' => $ns, 'image' => $NS.':'.$id), '&'), - 'id' => $NS.':'.$id, 'ns' => $NS); - - if (!$result) { + if($res) { + $result = array( + 'success' => true, + 'link' => media_managerURL(array('ns' => $ns, 'image' => $NS . ':' . $id), '&'), + 'id' => $NS . ':' . $id, + 'ns' => $NS + ); + } else { $error = ''; - if (isset($MSG)) { - foreach($MSG as $msg) $error .= $msg['msg']; + if(isset($MSG)) { + foreach($MSG as $msg) { + $error .= $msg['msg']; + } } - $result = array('error' => $msg['msg'], 'ns' => $NS); + $result = array( + 'error' => $error, + 'ns' => $NS + ); } $json = new JSON; echo htmlspecialchars($json->encode($result), ENT_NOQUOTES); @@ -359,13 +367,11 @@ function ajax_linkwiz(){ $id = cleanID($id); $nsd = utf8_encodeFN(str_replace(':','/',$ns)); - $idd = utf8_encodeFN(str_replace(':','/',$id)); $data = array(); if($q && !$ns){ // use index to lookup matching pages - $pages = array(); $pages = ft_pageLookup($id,true); // result contains matches in pages and namespaces -- cgit v1.2.3 From 793c31f2960e132db444a6640c87d4fe5d8df49e Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 5 Mar 2014 21:03:18 +0000 Subject: fix misspelled variable name, --- lib/exe/fetch.php | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'lib/exe') diff --git a/lib/exe/fetch.php b/lib/exe/fetch.php index 5f82ad0e0..933367e35 100644 --- a/lib/exe/fetch.php +++ b/lib/exe/fetch.php @@ -79,7 +79,7 @@ if (defined('SIMPLE_TEST')) { //handle image resizing/cropping if((substr($MIME, 0, 5) == 'image') && ($WIDTH || $HEIGHT)) { - if($HEIGHT && $WDITH) { + if($HEIGHT && $WIDTH) { $data['file'] = $FILE = media_crop_image($data['file'], $EXT, $WIDTH, $HEIGHT); } else { $data['file'] = $FILE = media_resize_image($data['file'], $EXT, $WIDTH, $HEIGHT); -- cgit v1.2.3 From 0e80bb5e347ff00c6f81627d8e39dafaaa923bc5 Mon Sep 17 00:00:00 2001 From: Christopher Smith Date: Wed, 5 Mar 2014 21:58:46 +0000 Subject: use empty() where array values might not be set --- lib/exe/mediamanager.php | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'lib/exe') diff --git a/lib/exe/mediamanager.php b/lib/exe/mediamanager.php index d94a24c74..7044232ce 100644 --- a/lib/exe/mediamanager.php +++ b/lib/exe/mediamanager.php @@ -57,7 +57,7 @@ } // give info on PHP caught upload errors - if($_FILES['upload']['error']){ + if(!empty($_FILES['upload']['error'])){ switch($_FILES['upload']['error']){ case 1: case 2: @@ -71,7 +71,7 @@ } // handle upload - if($_FILES['upload']['tmp_name']){ + if(!empty($_FILES['upload']['tmp_name'])){ $JUMPTO = media_upload($NS,$AUTH); if($JUMPTO) $NS = getNS($JUMPTO); } -- cgit v1.2.3