mikuli.cz

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

commit 3f95b62c2595728a19d3d7625c63da6f028bf494
parent b1e5b153dfb7ed7e8d5780d7943084cd3bacbe10
Author: markseu <mark2011@mayberg.se>
Date:   Wed, 27 Mar 2019 13:19:30 +0100

Updated installation files

Diffstat:
Msystem/extensions/core.php | 8++++----
Msystem/extensions/edit.php | 16++++++++++++----
Msystem/extensions/install-languages.zip | 0
Msystem/extensions/install-wiki.zip | 0
Msystem/extensions/install.php | 3++-
5 files changed, 18 insertions(+), 9 deletions(-)

diff --git a/system/extensions/core.php b/system/extensions/core.php @@ -757,7 +757,7 @@ class YellowPage { } // Return page setting as language specific date format, relative to today - public function getDateRelative($key, $format = "", $daysLimit = 0) { + public function getDateRelative($key, $format = "", $daysLimit = 30) { if (!empty($format)) { $format = $this->yellow->text->get($format); } else { @@ -767,7 +767,7 @@ class YellowPage { } // Return page setting as language specific date format, relative to today, HTML encoded - public function getDateRelativeHtml($key, $format = "", $daysLimit = 0) { + public function getDateRelativeHtml($key, $format = "", $daysLimit = 30) { return htmlspecialchars($this->getDateRelative($key, $format, $daysLimit)); } @@ -1754,8 +1754,8 @@ class YellowText { public function getDateRelative($timestamp, $format, $daysLimit) { $timeDifference = time() - $timestamp; $days = abs(intval($timeDifference / 86400)); + $tokens = preg_split("/\s*,\s*/", $this->get($timeDifference>=0 ? "datePast" : "dateFuture")); if ($days<=$daysLimit || $daysLimit==0) { - $tokens = preg_split("/\s*,\s*/", $this->get($timeDifference>=0 ? "datePast" : "dateFuture")); if ($days==0) { $output = $tokens[0]; } elseif ($days==1) { @@ -1772,7 +1772,7 @@ class YellowText { $output = preg_replace("/@x/i", intval($days/365.25), $tokens[6]); } } else { - $output = $this->getDateFormatted($timestamp, $format); + $output = preg_replace("/@x/i", $this->getDateFormatted($timestamp, $format), $tokens[7]); } return $output; } diff --git a/system/extensions/edit.php b/system/extensions/edit.php @@ -4,7 +4,7 @@ // This file may be used and distributed under the terms of the public license. class YellowEdit { - const VERSION = "0.8.4"; + const VERSION = "0.8.5"; const TYPE = "feature"; public $yellow; //access to API public $response; //web response @@ -161,6 +161,7 @@ class YellowEdit { $status = "ok"; list($command, $option, $email, $password, $name) = $args; if (empty($email) || empty($password)) $status = $this->response->status = "incomplete"; + if (empty($name)) $name = $this->yellow->system->get("sitename"); if ($status=="ok") $status = $this->getUserAccount($email, $password, "add"); if ($status=="ok" && $this->users->isTaken($email)) $status = "taken"; switch ($status) { @@ -173,6 +174,7 @@ class YellowEdit { $fileNameUser = $this->yellow->system->get("settingDir").$this->yellow->system->get("editUserFile"); $status = $this->users->save($fileNameUser, $email, $password, $name, "", "active") ? "ok" : "error"; if ($status=="error") echo "ERROR updating settings: Can't write file '$fileNameUser'!\n"; + $this->yellow->log($status=="ok" ? "info" : "error", "Add user '".strtok($name, " ")."'"); } if ($status=="ok") { $algorithm = $this->yellow->system->get("editUserHashAlgorithm"); @@ -210,7 +212,9 @@ class YellowEdit { public function userRemove($args) { $status = "ok"; list($command, $option, $email) = $args; + $name = $this->users->getName($email); if (empty($email)) $status = $this->response->status = "invalid"; + if (empty($name)) $name = $this->yellow->system->get("sitename"); if ($status=="ok") $status = $this->getUserAccount($email, "", "remove"); if ($status=="ok" && !$this->users->isExisting($email)) $status = "unknown"; switch ($status) { @@ -221,6 +225,7 @@ class YellowEdit { $fileNameUser = $this->yellow->system->get("settingDir").$this->yellow->system->get("editUserFile"); $status = $this->users->remove($fileNameUser, $email) ? "ok" : "error"; if ($status=="error") echo "ERROR updating settings: Can't write file '$fileNameUser'!\n"; + $this->yellow->log($status=="ok" ? "info" : "error", "Remove user '".strtok($name, " ")."'"); } $statusCode = $status=="ok" ? 200 : 500; echo "Yellow $command: User account ".($statusCode!=200 ? "not " : "")."removed\n"; @@ -374,6 +379,7 @@ class YellowEdit { $fileNameUser = $this->yellow->system->get("settingDir").$this->yellow->system->get("editUserFile"); $this->response->status = $this->users->save($fileNameUser, $email, "", "", "", "active") ? "ok" : "error"; if ($this->response->status=="error") $this->yellow->page->error(500, "Can't write file '$fileNameUser'!"); + $this->yellow->log($status=="ok" ? "info" : "error", "Add user '".strtok($this->users->getName($email), " ")."'"); } if ($this->response->status=="ok") { $this->response->status = $this->response->sendMail($scheme, $address, $base, $email, "welcome") ? "done" : "error"; @@ -618,6 +624,7 @@ class YellowEdit { $fileNameUser = $this->yellow->system->get("settingDir").$this->yellow->system->get("editUserFile"); $this->response->status = $this->users->save($fileNameUser, $email, "", "", "", "removed") ? "ok" : "error"; if ($this->response->status=="error") $this->yellow->page->error(500, "Can't write file '$fileNameUser'!"); + $this->yellow->log($status=="ok" ? "info" : "error", "Remove user '".strtok($this->users->getName($email), " ")."'"); } if ($this->response->status=="ok") { $this->response->status = $this->response->sendMail($scheme, $address, $base, $email, "goodbye") ? "ok" : "error"; @@ -1132,11 +1139,11 @@ class YellowEditResponse { $toolbarButtons = $this->yellow->system->get("editToolbarButtons"); if ($toolbarButtons=="auto") { $toolbarButtons = ""; - if ($this->yellow->extensions->isExisting("markdown")) $toolbarButtons = "preview, format, bold, italic, strikethrough, code, list, link, file"; + if ($this->yellow->extensions->isExisting("markdown")) $toolbarButtons = "format, bold, italic, strikethrough, code, list, link, file"; if ($this->yellow->extensions->isExisting("emojiawesome")) $toolbarButtons .= ", emojiawesome"; if ($this->yellow->extensions->isExisting("fontawesome")) $toolbarButtons .= ", fontawesome"; if ($this->yellow->extensions->isExisting("draft")) $toolbarButtons .= ", draft"; - if ($this->yellow->extensions->isExisting("markdown")) $toolbarButtons .= ", markdown"; + if ($this->yellow->extensions->isExisting("markdown")) $toolbarButtons .= ", preview, markdown"; } } else { $toolbarButtons = $this->yellow->system->get("{$name}ToolbarButtons"); @@ -1518,7 +1525,8 @@ class YellowEditUsers { $fileData = $this->yellow->toolbox->readFile($fileName); foreach ($this->yellow->toolbox->getTextLines($fileData) as $line) { preg_match("/^\s*(.*?)\s*:\s*(.*?)\s*$/", $line, $matches); - if (!empty($matches[1]) && !empty($matches[2]) && $matches[1]!=$email) $fileDataNew .= $line; + if (!empty($matches[1]) && $matches[1]==$email) continue; + $fileDataNew .= $line; } return $this->yellow->toolbox->createFile($fileName, $fileDataNew); } diff --git a/system/extensions/install-languages.zip b/system/extensions/install-languages.zip Binary files differ. diff --git a/system/extensions/install-wiki.zip b/system/extensions/install-wiki.zip Binary files differ. diff --git a/system/extensions/install.php b/system/extensions/install.php @@ -154,6 +154,7 @@ class YellowInstall { public function updateUser($email, $password, $name, $language) { $statusCode = 200; if (!empty($email) && !empty($password) && $this->yellow->extensions->isExisting("edit")) { + if (empty($name)) $name = $this->yellow->system->get("sitename"); $fileNameUser = $this->yellow->system->get("settingDir").$this->yellow->system->get("editUserFile"); if (!$this->yellow->extensions->get("edit")->users->save($fileNameUser, $email, $password, $name, $language)) { $statusCode = 500; @@ -304,7 +305,7 @@ class YellowInstall { $rawData .= "<p>".$this->yellow->text->get("installExtension")."<p>"; foreach ($this->getExtensionsInstall() as $extension) { $checked = $extension=="website" ? " checked=\"checked\"" : ""; - $rawData .= "<label for=\"$extension\"><input type=\"radio\" name=\"extension\" id=\"$extension\" value=\"$extension\"$checked> ".ucfirst($extension)."</label><br />"; + $rawData .= "<label for=\"$extension\"><input type=\"radio\" name=\"extension\" id=\"$extension\" value=\"$extension\"$checked> ".$this->yellow->text->getHtml("installExtension".ucfirst($extension))."</label><br />"; } $rawData .= "</p>\n"; }