mikuli.cz

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

commit 77cf31de60a3392ce5241dc5271e67427a0b0de2
parent 11424b363521ae6f6f6903b588377abc4952fc3f
Author: markseu <mark2011@mayberg.se>
Date:   Fri, 14 Nov 2014 10:24:07 +0100

Hello web interface (winter remix for David)

Diffstat:
MREADME.md | 2+-
Msystem/config/config.ini | 2+-
Rsystem/config/default.txt -> system/config/newpage.txt | 0
Msystem/core/core-webinterface.php | 12+++++++-----
Msystem/core/core.php | 22++++++++++++++++++----
5 files changed, 27 insertions(+), 11 deletions(-)

diff --git a/README.md b/README.md @@ -1,4 +1,4 @@ -Yellow 0.4.8 +Yellow 0.4.9 ============ Yellow is for people who make websites. [Visit website](http://datenstrom.se/yellow). diff --git a/system/config/config.ini b/system/config/config.ini @@ -29,6 +29,7 @@ contentPagination = page contentExtension = .txt configExtension = .ini errorPageFile = error(.*).txt +newPageFile = new(.*).txt textStringFile = text(.*).ini parser = markdownextra parserSafeMode = 0 @@ -38,7 +39,6 @@ webinterfaceServerScheme = http webinterfaceUserHashAlgorithm = bcrypt webinterfaceUserHashCost = 10 webinterfaceUserFile = user.ini -webinterfaceNewPage = default webinterfaceFilePrefix = published commandlineDefaultFile = index.html commandlineErrorFile = error404.html diff --git a/system/config/default.txt b/system/config/newpage.txt diff --git a/system/core/core-webinterface.php b/system/core/core-webinterface.php @@ -5,7 +5,7 @@ // Web interface core plugin class YellowWebinterface { - const Version = "0.4.4"; + const Version = "0.4.5"; var $yellow; //access to API var $active; //web interface is active? (boolean) var $userLoginFailed; //web interface login failed? (boolean) @@ -27,7 +27,6 @@ class YellowWebinterface $this->yellow->config->setDefault("webinterfaceUserHashAlgorithm", "bcrypt"); $this->yellow->config->setDefault("webinterfaceUserHashCost", "10"); $this->yellow->config->setDefault("webinterfaceUserFile", "user.ini"); - $this->yellow->config->setDefault("webinterfaceNewPage", "default"); $this->yellow->config->setDefault("webinterfaceFilePrefix", "published"); $this->users->load($this->yellow->config->get("configDir").$this->yellow->config->get("webinterfaceUserFile")); } @@ -475,10 +474,13 @@ class YellowWebinterface $this->yellow->page->location, $this->yellow->config->get("contentDir"), $this->yellow->config->get("contentRootDir"), $this->yellow->config->get("contentHomeDir"), $this->yellow->config->get("contentDefaultFile"), $this->yellow->config->get("contentExtension")); - $fileName = $this->yellow->toolbox->findNameFromFile($fileName, - $this->yellow->config->get("configDir"), $this->yellow->config->get("webinterfaceNewPage"), - $this->yellow->config->get("contentExtension"), true); + $fileName = $this->yellow->toolbox->findFileNew($fileName, + $this->yellow->config->get("configDir"), $this->yellow->config->get("newPageFile"), + $this->yellow->config->get("contentDefaultFile")); $fileData = $this->yellow->toolbox->getFileData($fileName); + $fileData = preg_replace("/@date/i", date("Y-m-d"), $fileData); + $fileData = preg_replace("/@username/i", $this->users->getName(), $fileData); + $fileData = preg_replace("/@userlanguage/i", $this->users->getLanguage(), $fileData); if(!empty($title)) $fileData = $this->updateDataTitle($fileData, $title); return $fileData; } diff --git a/system/core/core.php b/system/core/core.php @@ -5,7 +5,7 @@ // Yellow main class class Yellow { - const Version = "0.4.8"; + const Version = "0.4.9"; var $page; //current page var $pages; //pages from file system var $config; //configuration @@ -48,6 +48,7 @@ class Yellow $this->config->setDefault("configExtension", ".ini"); $this->config->setDefault("configFile", "config.ini"); $this->config->setDefault("errorPageFile", "error(.*).txt"); + $this->config->setDefault("newPageFile", "new(.*).txt"); $this->config->setDefault("textStringFile", "text(.*).ini"); $this->config->setDefault("parser", "markdownextra"); $this->config->setDefault("parserSafeMode", "0"); @@ -1740,13 +1741,13 @@ class YellowToolbox return $fileNames; } - // Return file/theme/template name from file path - function findNameFromFile($fileName, $pathBase, $nameDefault, $fileExtension, $includeFileName = false) + // Return theme/template name from file path + function findNameFromFile($fileName, $pathBase, $nameDefault, $fileExtension) { $name = ""; if(preg_match("/^.*\/(.+?)$/", dirname($fileName), $matches)) $name = $this->normaliseName($matches[1]); if(!is_file("$pathBase$name$fileExtension")) $name = $this->normaliseName($nameDefault); - return $includeFileName ? "$pathBase$name$fileExtension" : $name; + return $name; } // Return language from file path @@ -1762,6 +1763,19 @@ class YellowToolbox return $language; } + // Return file path for new page + function findFileNew($fileName, $pathBase, $fileNew, $fileDefault) + { + if(preg_match("/^.*\/(.+?)$/", dirname($fileName), $matches)) $name = $this->normaliseName($matches[1]); + $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNew); + if(!is_file($fileName)) + { + $name = $this->normaliseName($fileDefault, true, true); + $fileName = strreplaceu("(.*)", $name, $pathBase.$fileNew); + } + return $fileName; + } + // Return file path from title function findFileFromTitle($titlePrefix, $titleText, $fileName, $fileDefault, $fileExtension) {