Where to start +
VK API +
Consider the platform advantages +
diff --git a/Web/Presenters/DevelopersPresenter.php b/Web/Presenters/DevelopersPresenter.php new file mode 100644 index 00000000..ae2dc9f7 --- /dev/null +++ b/Web/Presenters/DevelopersPresenter.php @@ -0,0 +1,72 @@ +template->_template = "Developers/Main.xml"; + $this->template->responseTime = round((microtime(true) - $_SERVER['REQUEST_TIME_FLOAT']) * 1000, 2); + } + + public function renderStandalone(): void + { + $this->template->_template = "Developers/Standalone.xml"; + } + + public function noPage(): void + { + $this->template->_template = "Developers/NoPage.xml"; + } + + public function parseMarkdown(string $path) + { + if (!file_exists("$path")) { + $this->noPage(); + return []; + } + $dataArray = array(); + + $lines = file($path); + if (!preg_match("%^OpenVK-KB-Heading: (.+)$%", $lines[0], $matches)) { + $heading = "Article $name"; + } else { + $heading = $matches[1]; + array_shift($lines); + } + + $content = implode($lines); + + $parser = new Parsedown(); + + $dataArray['heading'] = $heading; + $dataArray['content'] = $parser->text($content); + return $dataArray; + } + + public function renderDevelopersBaseArticle(string $name): void + { + $lang = Session::i()->get("lang", "ru"); + $base = OPENVK_ROOT . "/data/developers"; + if (file_exists("$base/$name.$lang.md")) { + $file = "$base/$name.$lang.md"; + } elseif (file_exists("$base/$name.md")) { + $file = "$base/$name.md"; + } else { + $this->noPage(); + return; + } + + $parsedMd = $this->parseMarkdown($file); + + $this->template->articlename = $name; + $this->template->heading = $parsedMd['heading']; + $this->template->content = $parsedMd['content']; + } +} \ No newline at end of file diff --git a/Web/Presenters/templates/@layout.xml b/Web/Presenters/templates/@layout.xml index 9e6475fe..0b68e895 100644 --- a/Web/Presenters/templates/@layout.xml +++ b/Web/Presenters/templates/@layout.xml @@ -365,7 +365,7 @@ {_footer_rules} {_footer_blog} {_footer_help} - {_footer_developers} + {_footer_developers} {_footer_privacy}
diff --git a/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml b/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml new file mode 100644 index 00000000..a75e5e7e --- /dev/null +++ b/Web/Presenters/templates/Developers/DevelopersBaseArticle.xml @@ -0,0 +1,57 @@ +{extends "../@layout.xml"} + +{block title} + {_developers_title} +{/block} + +{block header} + {_developers_title} +{/block} + +{block content} +{css "css/dev.css"} + +
братишка ты что-то попутал
++$bnb = file('bnb.mp4'); +if (!$bnb) { + die('blakc niga bals not found'); +} else { + die('blakc niga bals safe and sound'); +} \ No newline at end of file diff --git a/data/developers/methods.md b/data/developers/methods.md new file mode 100644 index 00000000..3d9efac5 --- /dev/null +++ b/data/developers/methods.md @@ -0,0 +1 @@ +methods fallback \ No newline at end of file diff --git a/data/developers/native.md b/data/developers/native.md new file mode 100644 index 00000000..aedc0282 --- /dev/null +++ b/data/developers/native.md @@ -0,0 +1 @@ +native fallback \ No newline at end of file diff --git a/data/developers/rules.md b/data/developers/rules.md new file mode 100644 index 00000000..31b5cc86 --- /dev/null +++ b/data/developers/rules.md @@ -0,0 +1 @@ +rules fallback \ No newline at end of file diff --git a/data/developers/sites.md b/data/developers/sites.md new file mode 100644 index 00000000..6f80be24 --- /dev/null +++ b/data/developers/sites.md @@ -0,0 +1 @@ +sites fallback \ No newline at end of file