mikuli.cz

:)
git clone https://git.sr.ht/~ashymad/mikuli.cz
Log | Files | Refs

commit 15e21f35c405b403849bb634f748b4ccc9e28707
parent 5d1d1c0a70ebfd89f24bfeb3b4abf18b77da4d1e
Author: markseu <mark2011@mayberg.se>
Date:   Fri, 27 Jun 2014 11:36:30 +0200

Core update (file handling remix)

Diffstat:
MREADME.md | 2+-
Msystem/core/core-markdownextra.php | 4++--
Msystem/core/core.php | 33+++++++++++++++++++++++++--------
3 files changed, 28 insertions(+), 11 deletions(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Yellow 0.3.5 +Yellow 0.3.6 ============ Yellow is for people who make websites. diff --git a/system/core/core-markdownextra.php b/system/core/core-markdownextra.php @@ -5,7 +5,7 @@ // Markdown extra core plugin class YellowMarkdownExtra { - const Version = "0.3.2"; + const Version = "0.3.3"; var $yellow; //access to API // Handle plugin initialisation @@ -138,7 +138,7 @@ class YellowMarkdownExtraParser extends MarkdownExtraParser $src = $matches[3]=="" ? $matches[4] : $matches[3]; if(!preg_match("/^\w+:/", $src)) { - list($width, $height) = $this->yellow->toolbox->detectImageDimensions($this->yellow->config->get("imageDir").$src); + list($width, $height) = $this->yellow->toolbox->detectImageInfo($this->yellow->config->get("imageDir").$src); $src = $this->yellow->config->get("serverBase").$this->yellow->config->get("imageLocation").$src; } $alt = $matches[2]; diff --git a/system/core/core.php b/system/core/core.php @@ -5,7 +5,7 @@ // Yellow main class class Yellow { - const Version = "0.3.5"; + const Version = "0.3.6"; var $page; //current page var $pages; //pages from file system var $config; //configuration @@ -1105,7 +1105,7 @@ class YellowText function load($fileName) { $path = dirname($fileName); - $regex = "/".basename($fileName)."/"; + $regex = "/^".basename($fileName)."$/"; foreach($this->yellow->toolbox->getDirectoryEntries($path, $regex, true, false) as $entry) { $fileData = @file($entry); @@ -1520,7 +1520,7 @@ class YellowToolbox if(!empty($location)) { $fileFolder = $this->normaliseName(basename($path)).$fileExtension; - $regex = "/.*\\".$fileExtension."/"; + $regex = "/^.*\\".$fileExtension."$/"; foreach($this->getDirectoryEntries($path, $regex, true, false, false) as $entry) { if($this->normaliseName($entry) == $fileDefault) continue; @@ -1703,12 +1703,26 @@ class YellowToolbox return @copy($fileNameSource, $fileNameDest); } + // Delete file + function deleteFile($fileName) + { + return @unlink($fileName); + } + // Set file modification time, Unix time function modifyFile($fileName, $modified) { return @touch($fileName, $modified); } + // Return arguments from text string + function getTextArgs($text, $optional = "-") + { + $tokens = str_getcsv(trim($text), ' ', '"'); + foreach($tokens as $key=>$value) if($value == $optional) $tokens[$key] = ""; + return $tokens; + } + // Create description from text string function createTextDescription($text, $lengthMax, $removeHtml = true, $endMarker = "", $endMarkerText = "") { @@ -1859,10 +1873,11 @@ class YellowToolbox return $ok; } - // Detect image dimensions, PNG or JPG - function detectImageDimensions($fileName) + // Detect image dimensions and type, png or jpg + function detectImageInfo($fileName) { $width = $height = 0; + $type = ""; $fileHandle = @fopen($fileName, "rb"); if($fileHandle) { @@ -1874,6 +1889,7 @@ class YellowToolbox { $width = (ord($dataHeader[10])<<8) + ord($dataHeader[11]); $height = (ord($dataHeader[14])<<8) + ord($dataHeader[15]); + $type = "png"; } } else if(substru($fileName, -3) == "jpg") { $dataBufferSize = min(filesize($fileName), 8192); @@ -1888,6 +1904,7 @@ class YellowToolbox { $width = (ord($dataBuffer[$pos+7])<<8) + ord($dataBuffer[$pos+8]); $height = (ord($dataBuffer[$pos+5])<<8) + ord($dataBuffer[$pos+6]); + $type = "jpg"; break; } $length = (ord($dataBuffer[$pos+2])<<8) + ord($dataBuffer[$pos+3]) + 2; @@ -1896,7 +1913,7 @@ class YellowToolbox } fclose($fileHandle); } - return array($width, $height); + return array($width, $height, $type); } // Start timer @@ -1927,9 +1944,9 @@ class YellowPlugins { global $yellow; $path = dirname(__FILE__); - foreach($yellow->toolbox->getDirectoryEntries($path, "/core-.*\.php/", true, false) as $entry) require_once($entry); + foreach($yellow->toolbox->getDirectoryEntries($path, "/^core-.*\.php$/", true, false) as $entry) require_once($entry); $path = $yellow->config->get("pluginDir"); - foreach($yellow->toolbox->getDirectoryEntries($path, "/.*\.php/", true, false) as $entry) require_once($entry); + foreach($yellow->toolbox->getDirectoryEntries($path, "/^.*\.php$/", true, false) as $entry) require_once($entry); foreach($this->plugins as $key=>$value) { $this->plugins[$key]["obj"] = new $value["class"];