aboutsummaryrefslogtreecommitdiff
path: root/ratatoeskr/backend.php
diff options
context:
space:
mode:
Diffstat (limited to 'ratatoeskr/backend.php')
-rw-r--r--ratatoeskr/backend.php1589
1 files changed, 713 insertions, 876 deletions
diff --git a/ratatoeskr/backend.php b/ratatoeskr/backend.php
index ac43f75..ab18ce1 100644
--- a/ratatoeskr/backend.php
+++ b/ratatoeskr/backend.php
@@ -15,22 +15,19 @@ require_once(dirname(__FILE__) . "/sys/textprocessors.php");
require_once(dirname(__FILE__) . "/sys/plugin_api.php");
require_once(dirname(__FILE__) . "/languages.php");
-$admin_grp = NULL;
+$admin_grp = null;
/* Mass creation of tags. */
function maketags($tagnames, $lang)
{
- $rv = array();
- foreach($tagnames as $tagname)
- {
- if(empty($tagname))
+ $rv = [];
+ foreach ($tagnames as $tagname) {
+ if (empty($tagname)) {
continue;
- try
- {
- $tag = Tag::by_name($tagname);
}
- catch(DoesNotExistError $e)
- {
+ try {
+ $tag = Tag::by_name($tagname);
+ } catch (DoesNotExistError $e) {
$tag = Tag::create($tagname);
$tag->title[$lang] = new Translation($tagname, "");
}
@@ -39,27 +36,26 @@ function maketags($tagnames, $lang)
return $rv;
}
-$backend_subactions = NULL;
+$backend_subactions = null;
function build_backend_subactions()
{
-global $backend_subactions, $pluginpages_handlers;
+ global $backend_subactions, $pluginpages_handlers;
-$backend_subactions = url_action_subactions(array(
- "_index" => url_action_alias(array("login")),
- "index" => url_action_alias(array("login")),
+ $backend_subactions = url_action_subactions([
+ "_index" => url_action_alias(["login"]),
+ "index" => url_action_alias(["login"]),
/* _prelude guarantees that the user is logged in properly, so we do not have to care about that later, and sets some STE vars. */
- "_prelude" => function(&$data, $url_now, &$url_next)
- {
+ "_prelude" => function (&$data, $url_now, &$url_next) {
global $ratatoeskr_settings, $admin_grp, $ste, $languages;
- if($admin_grp === NULL)
+ if ($admin_grp === null) {
$admin_grp = Group::by_name("admins");
+ }
- $ste->vars["all_languages"] = array();
- $ste->vars["all_langcodes"] = array();
- foreach($languages as $code => $data)
- {
+ $ste->vars["all_languages"] = [];
+ $ste->vars["all_langcodes"] = [];
+ foreach ($languages as $code => $data) {
$ste->vars["all_languages"][$code] = $data["language"];
$ste->vars["all_langcodes"][] = $code;
}
@@ -68,162 +64,160 @@ $backend_subactions = url_action_subactions(array(
/* Check authentification */
- if(isset($_SESSION["ratatoeskr_uid"]))
- {
- try
- {
+ if (isset($_SESSION["ratatoeskr_uid"])) {
+ try {
$user = User::by_id($_SESSION["ratatoeskr_uid"]);
- if(($user->pwhash == $_SESSION["ratatoeskr_pwhash"]) and $user->member_of($admin_grp))
- {
- if(empty($user->language))
- {
+ if (($user->pwhash == $_SESSION["ratatoeskr_pwhash"]) and $user->member_of($admin_grp)) {
+ if (empty($user->language)) {
$user->language = $ratatoeskr_settings["default_language"];
$user->save();
}
load_language($user->language);
- if($url_next[0] == "login")
- $url_next = array("content", "write");
+ if ($url_next[0] == "login") {
+ $url_next = ["content", "write"];
+ }
$data["user"] = $user;
- $ste->vars["user"] = array("id" => $user->get_id(), "name" => $user->username, "lang" => $user->language);
+ $ste->vars["user"] = ["id" => $user->get_id(), "name" => $user->username, "lang" => $user->language];
return; /* Authentification successful, continue */
- }
- else
+ } else {
unset($_SESSION["ratatoeskr_uid"]);
- }
- catch(DoesNotExistError $e)
- {
+ }
+ } catch (DoesNotExistError $e) {
unset($_SESSION["ratatoeskr_uid"]);
}
}
load_language();
/* If we are here, user is not logged in... */
- $url_next = array("login");
+ $url_next = ["login"];
},
- "login" => url_action_simple(function($data)
- {
+ "login" => url_action_simple(function ($data) {
global $ste, $admin_grp;
- if(!empty($_POST["user"]))
- {
- try
- {
+ if (!empty($_POST["user"])) {
+ try {
$user = User::by_name($_POST["user"]);
- if(!PasswordHash::validate($_POST["password"], $user->pwhash))
+ if (!PasswordHash::validate($_POST["password"], $user->pwhash)) {
throw new Exception();
- if(!$user->member_of($admin_grp))
+ }
+ if (!$user->member_of($admin_grp)) {
throw new Exception();
+ }
/* Login successful. */
$_SESSION["ratatoeskr_uid"] = $user->get_id();
$_SESSION["ratatoeskr_pwhash"] = $user->pwhash;
load_language($user->language);
$data["user"] = $user;
- $ste->vars["user"] = array("id" => $user->get_id(), "name" => $user->username, "lang" => $user->language);
- }
- catch(Exception $e)
- {
- $ste->vars["login_failed"] = True;
+ $ste->vars["user"] = ["id" => $user->get_id(), "name" => $user->username, "lang" => $user->language];
+ } catch (Exception $e) {
+ $ste->vars["login_failed"] = true;
}
- if(isset($data["user"]))
- throw new Redirect(array("content", "write"));
+ if (isset($data["user"])) {
+ throw new Redirect(["content", "write"]);
+ }
}
echo $ste->exectemplate("/systemtemplates/backend_login.html");
}),
- "logout" => url_action_simple(function($data)
- {
+ "logout" => url_action_simple(function ($data) {
unset($_SESSION["ratatoeskr_uid"]);
unset($_SESSION["ratatoeskr_pwhash"]);
load_language();
- throw new Redirect(array("login"));
+ throw new Redirect(["login"]);
}),
- "content" => url_action_subactions(array(
- "write" => function(&$data, $url_now, &$url_next)
- {
+ "content" => url_action_subactions([
+ "write" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $textprocessors, $ratatoeskr_settings, $languages, $articleeditor_plugins;
list($article, $editlang) = array_slice($url_next, 0);
- if(!isset($editlang))
+ if (!isset($editlang)) {
$editlang = $data["user"]->language;
- if(isset($article))
+ }
+ if (isset($article)) {
$ste->vars["article_editurl"] = urlencode($article) . "/" . urlencode($editlang);
- else
+ } else {
$ste->vars["article_editurl"] = "";
+ }
- $url_next = array();
+ $url_next = [];
$default_section = Section::by_id($ratatoeskr_settings["default_section"]);
$ste->vars["section"] = "content";
$ste->vars["submenu"] = isset($article) ? "articles" : "newarticle";
- $ste->vars["textprocessors"] = array();
- foreach($textprocessors as $txtproc => $properties)
- if($properties[1])
+ $ste->vars["textprocessors"] = [];
+ foreach ($textprocessors as $txtproc => $properties) {
+ if ($properties[1]) {
$ste->vars["textprocessors"][] = $txtproc;
+ }
+ }
- $ste->vars["sections"] = array();
- foreach(Section::all() as $section)
+ $ste->vars["sections"] = [];
+ foreach (Section::all() as $section) {
$ste->vars["sections"][] = $section->name;
+ }
$ste->vars["article_section"] = $default_section->name;
/* Check Form */
- $fail_reasons = array();
+ $fail_reasons = [];
- if(isset($_POST["save_article"]))
- {
- if(!Article::test_urlname($_POST["urlname"]))
+ if (isset($_POST["save_article"])) {
+ if (!Article::test_urlname($_POST["urlname"])) {
$fail_reasons[] = $translation["invalid_urlname"];
- else
+ } else {
$inputs["urlname"] = $_POST["urlname"];
- if(!Article::test_status(@$_POST["article_status"]))
+ }
+ if (!Article::test_status(@$_POST["article_status"])) {
$fail_reasons[] = $translation["invalid_article_status"];
- else
+ } else {
$inputs["article_status"] = (int) $_POST["article_status"];
- if(!isset($textprocessors[@$_POST["content_txtproc"]]))
+ }
+ if (!isset($textprocessors[@$_POST["content_txtproc"]])) {
$fail_reasons[] = $translation["unknown_txtproc"];
- else
+ } else {
$inputs["content_txtproc"] = $_POST["content_txtproc"];
- if(!isset($textprocessors[@$_POST["excerpt_txtproc"]]))
+ }
+ if (!isset($textprocessors[@$_POST["excerpt_txtproc"]])) {
$fail_reasons[] = $translation["unknown_txtproc"];
- else
+ } else {
$inputs["excerpt_txtproc"] = $_POST["excerpt_txtproc"];
- if(!empty($_POST["date"]))
- {
- if(($time_tmp = @DateTime::createFromFormat("Y-m-d H:i:s", @$_POST["date"])) === False)
+ }
+ if (!empty($_POST["date"])) {
+ if (($time_tmp = @DateTime::createFromFormat("Y-m-d H:i:s", @$_POST["date"])) === false) {
$fail_reasons[] = $translation["invalid_date"];
- else
+ } else {
$inputs["date"] = @$time_tmp->getTimestamp();
- }
- else
+ }
+ } else {
$inputs["date"] = time();
+ }
$inputs["allow_comments"] = !(empty($_POST["allow_comments"]) or ($_POST["allow_comments"] != "yes"));
- try
- {
+ try {
$inputs["article_section"] = Section::by_name($_POST["section"]);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
$fail_reasons[] = $translation["unknown_section"];
}
$inputs["title"] = $_POST["title"];
$inputs["content"] = $_POST["content"];
$inputs["excerpt"] = $_POST["excerpt"];
- $inputs["tags"] = array_filter(array_map("trim", explode(",", $_POST["tags"])), function($t) { return !empty($t); });
- if(isset($_POST["saveaslang"]))
+ $inputs["tags"] = array_filter(array_map("trim", explode(",", $_POST["tags"])), function ($t) {
+ return !empty($t);
+ });
+ if (isset($_POST["saveaslang"])) {
$editlang = $_POST["saveaslang"];
- }
- else
- {
+ }
+ } else {
/* Call articleeditor plugins */
- $article = empty($article) ? NULL : Article::by_urlname($article);
- foreach($articleeditor_plugins as $plugin)
- call_user_func($plugin["fx"], $article, False);
+ $article = empty($article) ? null : Article::by_urlname($article);
+ foreach ($articleeditor_plugins as $plugin) {
+ call_user_func($plugin["fx"], $article, false);
+ }
}
function fill_article(&$article, $inputs, $editlang)
@@ -239,144 +233,138 @@ $backend_subactions = url_action_subactions(array(
$article->allow_comments = $inputs["allow_comments"];
}
- if(empty($article))
- {
+ if (empty($article)) {
/* New Article */
$ste->vars["pagetitle"] = $translation["new_article"];
- if(empty($fail_reasons) and isset($_POST["save_article"]))
- {
+ if (empty($fail_reasons) and isset($_POST["save_article"])) {
$article = Article::create($inputs["urlname"]);
fill_article($article, $inputs, $editlang);
/* Calling articleeditor plugins */
- $call_after_save = array();
- foreach($articleeditor_plugins as $plugin)
- {
- $result = call_user_func($plugin["fx"], $article, True);
- if(is_string($result))
+ $call_after_save = [];
+ foreach ($articleeditor_plugins as $plugin) {
+ $result = call_user_func($plugin["fx"], $article, true);
+ if (is_string($result)) {
$fail_reasons[] = $result;
- elseif($result !== NULL)
+ } elseif ($result !== null) {
$call_after_save[] = $result;
+ }
}
- if(empty($fail_reasons))
- {
- try
- {
+ if (empty($fail_reasons)) {
+ try {
$article->save();
- foreach($call_after_save as $cb)
+ foreach ($call_after_save as $cb) {
call_user_func($cb, $article);
+ }
$ste->vars["article_editurl"] = urlencode($article->urlname) . "/" . urlencode($editlang);
$ste->vars["success"] = htmlesc($translation["article_save_success"]);
- }
- catch(AlreadyExistsError $e)
- {
+ } catch (AlreadyExistsError $e) {
$fail_reasons[] = $translation["article_name_already_in_use"];
}
}
}
- }
- else
- {
- try
- {
- if(!($article instanceof Article))
+ } else {
+ try {
+ if (!($article instanceof Article)) {
$article = Article::by_urlname($article);
- }
- catch(DoesNotExistError $e)
- {
+ }
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- if(empty($fail_reasons) and isset($_POST["save_article"]))
- {
+ if (empty($fail_reasons) and isset($_POST["save_article"])) {
fill_article($article, $inputs, $editlang);
/* Calling articleeditor plugins */
- $call_after_save = array();
- foreach($articleeditor_plugins as $plugin)
- {
- $result = call_user_func($plugin["fx"], $article, True);
- if(is_string($result))
+ $call_after_save = [];
+ foreach ($articleeditor_plugins as $plugin) {
+ $result = call_user_func($plugin["fx"], $article, true);
+ if (is_string($result)) {
$fail_reasons[] = $result;
- elseif($result !== NULL)
+ } elseif ($result !== null) {
$call_after_save[] = $result;
+ }
}
- if(empty($fail_reasons))
- {
- try
- {
+ if (empty($fail_reasons)) {
+ try {
$article->save();
- foreach($call_after_save as $cb)
- call_user_func($cb, $article);
+ foreach ($call_after_save as $cb) {
+ call_user_func($cb, $article);
+ }
$ste->vars["article_editurl"] = urlencode($article->urlname) . "/" . urlencode($editlang);
$ste->vars["success"] = htmlesc($translation["article_save_success"]);
- }
- catch(AlreadyExistsError $e)
- {
+ } catch (AlreadyExistsError $e) {
$fail_reasons[] = $translation["article_name_already_in_use"];
}
}
}
- if(!isset($article->title[$editlang]))
- {
- $langs_available = array();
- foreach($article->title as $lang => $_)
+ if (!isset($article->title[$editlang])) {
+ $langs_available = [];
+ foreach ($article->title as $lang => $_) {
$langs_available[] = $lang;
+ }
$editlang = $langs_available[0];
}
- foreach(array(
+ foreach ([
"urlname" => "urlname",
"status" => "article_status",
"timestamp" => "date",
"allow_comments" => "allow_comments"
- ) as $prop => $k_out)
- {
- if(!isset($inputs[$k_out]))
+ ] as $prop => $k_out) {
+ if (!isset($inputs[$k_out])) {
$inputs[$k_out] = $article->$prop;
+ }
}
- if(!isset($inputs["title"]))
+ if (!isset($inputs["title"])) {
$inputs["title"] = $article->title[$editlang]->text;
- if(!isset($inputs["content"]))
- {
+ }
+ if (!isset($inputs["content"])) {
$translation_obj = $article->text[$editlang];
$inputs["content"] = $translation_obj->text;
$inputs["content_txtproc"] = $translation_obj->texttype;
}
- if(!isset($inputs["excerpt"]))
- {
+ if (!isset($inputs["excerpt"])) {
$translation_obj = $article->excerpt[$editlang];
$inputs["excerpt"] = $translation_obj->text;
$inputs["excerpt_txtproc"] = $translation_obj->texttype;
}
- if(!isset($inputs["article_section"]))
+ if (!isset($inputs["article_section"])) {
$inputs["article_section"] = $article->get_section();
- if(!isset($inputs["tags"]))
- $inputs["tags"] = array_map(function($tag) use ($editlang) { return $tag->name; }, $article->get_tags());
- $ste->vars["morelangs"] = array();
+ }
+ if (!isset($inputs["tags"])) {
+ $inputs["tags"] = array_map(function ($tag) use ($editlang) {
+ return $tag->name;
+ }, $article->get_tags());
+ }
+ $ste->vars["morelangs"] = [];
$ste->vars["pagetitle"] = $article->title[$editlang]->text;
- foreach($article->title as $lang => $_)
- {
- if($lang != $editlang)
- $ste->vars["morelangs"][] = array("url" => urlencode($article->urlname) . "/$lang", "full" => "($lang) " . $languages[$lang]["language"]);
+ foreach ($article->title as $lang => $_) {
+ if ($lang != $editlang) {
+ $ste->vars["morelangs"][] = ["url" => urlencode($article->urlname) . "/$lang", "full" => "($lang) " . $languages[$lang]["language"]];
+ }
}
}
- if(!isset($inputs["date"]))
+ if (!isset($inputs["date"])) {
$inputs["date"] = time();
- if(!isset($inputs["article_status"]))
+ }
+ if (!isset($inputs["article_status"])) {
$inputs["article_status"] = ARTICLE_STATUS_LIVE;
+ }
/* Push data back to template */
- if(isset($inputs["tags"]))
+ if (isset($inputs["tags"])) {
$ste->vars["tags"] = implode(", ", $inputs["tags"]);
- if(isset($inputs["article_section"]))
+ }
+ if (isset($inputs["article_section"])) {
$ste->vars["article_section"] = $inputs["article_section"]->name;
+ }
$ste->vars["editlang"] = $editlang;
- foreach(array(
+ foreach ([
"urlname" => "urlname",
"article_status" => "article_status",
"title" => "title",
@@ -386,41 +374,40 @@ $backend_subactions = url_action_subactions(array(
"excerpt" => "excerpt",
"date" => "date",
"allow_comments" => "allow_comments"
- ) as $k_in => $k_out)
- {
- if(isset($inputs[$k_in]))
+ ] as $k_in => $k_out) {
+ if (isset($inputs[$k_in])) {
$ste->vars[$k_out] = $inputs[$k_in];
+ }
}
/* Displaying article editor plugins */
- $ste->vars["displayed_plugins"] = array_map(function($x) { return array("label" => $x["label"], "template" => $x["template"]); }, array_filter($articleeditor_plugins, function($x) { return $x["display"]; }));
+ $ste->vars["displayed_plugins"] = array_map(function ($x) {
+ return ["label" => $x["label"], "template" => $x["template"]];
+ }, array_filter($articleeditor_plugins, function ($x) {
+ return $x["display"];
+ }));
- if(!empty($fail_reasons))
+ if (!empty($fail_reasons)) {
$ste->vars["failed"] = $fail_reasons;
+ }
echo $ste->exectemplate("/systemtemplates/content_write.html");
},
- "tags" => function(&$data, $url_now, &$url_next)
- {
+ "tags" => function (&$data, $url_now, &$url_next) {
global $translation, $languages, $ste, $rel_path_to_root;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "content";
$ste->vars["submenu"] = "tags";
$ste->vars["pagetitle"] = $translation["tags_overview"];
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["tag_multiselect"] as $tagid)
- {
- try
- {
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["tag_multiselect"] as $tagid) {
+ try {
$tag = Tag::by_id($tagid);
$tag->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -428,72 +415,61 @@ $backend_subactions = url_action_subactions(array(
$ste->vars["success"] = $translation["tags_successfully_deleted"];
}
- if(isset($_POST["save_changes"]))
- {
- $newlang = (!empty($_POST["new_language"])) ? $_POST["new_language"] : NULL;
- $newtag = NULL;
+ if (isset($_POST["save_changes"])) {
+ $newlang = (!empty($_POST["new_language"])) ? $_POST["new_language"] : null;
+ $newtag = null;
- if(!empty($_POST["newtagname"]))
- {
- if(!Tag::test_name(@$_POST["newtagname"]))
+ if (!empty($_POST["newtagname"])) {
+ if (!Tag::test_name(@$_POST["newtagname"])) {
$ste->vars["error"] = $translation["invalid_tag_name"];
- else
+ } else {
$newtag = $_POST["newtagname"];
+ }
}
- if(($newlang !== NULL) and (!isset($languages[$newlang])))
- $newlang = NULL;
- if($newtag !== NULL)
- {
- try
- {
+ if (($newlang !== null) and (!isset($languages[$newlang]))) {
+ $newlang = null;
+ }
+ if ($newtag !== null) {
+ try {
$newtag = Tag::create($newtag);
- }
- catch(AlreadyExistsError $e)
- {
- $newtag = NULL;
+ } catch (AlreadyExistsError $e) {
+ $newtag = null;
}
}
- $translations = array();
- foreach($_POST as $k => $v)
- {
- if(preg_match('/tagtrans_(NEW|[a-z]{2})_(.*)/', $k, $matches) == 1)
- {
+ $translations = [];
+ foreach ($_POST as $k => $v) {
+ if (preg_match('/tagtrans_(NEW|[a-z]{2})_(.*)/', $k, $matches) == 1) {
$lang = ($matches[1] == "NEW") ? $newlang : $matches[1];
$tag = $matches[2];
- if($lang === NULL)
+ if ($lang === null) {
continue;
+ }
$translations[$tag][$lang] = $v;
}
}
- foreach($translations as $tag => $langmap)
- {
- if($tag == "NEW")
- {
- if($newtag === NULL)
+ foreach ($translations as $tag => $langmap) {
+ if ($tag == "NEW") {
+ if ($newtag === null) {
continue;
+ }
$tag = $newtag;
- }
- else
- {
- try
- {
+ } else {
+ try {
$tag = Tag::by_id($tag);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
- foreach($langmap as $l => $text)
- {
- if(empty($text))
+ foreach ($langmap as $l => $text) {
+ if (empty($text)) {
unset($tag->title[$l]);
- else
+ } else {
$tag->title[$l] = new Translation($text, "");
+ }
}
$tag->save();
@@ -502,59 +478,54 @@ $backend_subactions = url_action_subactions(array(
$ste->vars["success"] = $translation["tags_successfully_edited"];
}
- $ste->vars["alltags"] = array();
- $taglangs = array();
+ $ste->vars["alltags"] = [];
+ $taglangs = [];
$alltags = Tag::all();
- foreach($alltags as $tag)
- {
- $transls = array();
- foreach($tag->title as $l => $t)
- {
- if(!in_array($l, $taglangs))
+ foreach ($alltags as $tag) {
+ $transls = [];
+ foreach ($tag->title as $l => $t) {
+ if (!in_array($l, $taglangs)) {
$taglangs[] = $l;
+ }
$transls[$l] = $t->text;
}
- $ste->vars["alltags"][] = array(
+ $ste->vars["alltags"][] = [
"id" => $tag->get_id(),
"name" => $tag->name,
"translations" => $transls
- );
+ ];
}
$unused_langs = array_diff(array_keys($languages), $taglangs);
- $ste->vars["all_tag_langs"] = array();
- foreach($taglangs as $l)
+ $ste->vars["all_tag_langs"] = [];
+ foreach ($taglangs as $l) {
$ste->vars["all_tag_langs"][$l] = $languages[$l]["language"];
- $ste->vars["unused_languages"] = array();
- foreach($unused_langs as $l)
+ }
+ $ste->vars["unused_languages"] = [];
+ foreach ($unused_langs as $l) {
$ste->vars["unused_languages"][$l] = $languages[$l]["language"];
+ }
echo $ste->exectemplate("/systemtemplates/tags_overview.html");
},
- "articles" => function(&$data, $url_now, &$url_next)
- {
+ "articles" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "content";
$ste->vars["submenu"] = "articles";
$ste->vars["pagetitle"] = $translation["menu_articles"];
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["article_multiselect"] as $article_urlname)
- {
- try
- {
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["article_multiselect"] as $article_urlname) {
+ try {
$article = Article::by_urlname($article_urlname);
$article->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -565,190 +536,193 @@ $backend_subactions = url_action_subactions(array(
$articles = Article::all();
/* Filtering */
- $filterquery = array();
- if(!empty($_GET["filter_urlname"]))
- {
+ $filterquery = [];
+ if (!empty($_GET["filter_urlname"])) {
$searchfor = strtolower($_GET["filter_urlname"]);
- $articles = array_filter($articles, function($a) use ($searchfor) { return strpos(strtolower($a->urlname), $searchfor) !== False; });
+ $articles = array_filter($articles, function ($a) use ($searchfor) {
+ return strpos(strtolower($a->urlname), $searchfor) !== false;
+ });
$filterquery[] = "filter_urlname=" . urlencode($_GET["filter_urlname"]);
$ste->vars["filter_urlname"] = $_GET["filter_urlname"];
}
- if(!empty($_GET["filter_tag"]))
- {
+ if (!empty($_GET["filter_tag"])) {
$searchfor = $_GET["filter_tag"];
- $articles = array_filter($articles, function($a) use ($searchfor) { foreach($a->get_tags() as $t) { if($t->name==$searchfor) return True; } return False; });
+ $articles = array_filter($articles, function ($a) use ($searchfor) {
+ foreach ($a->get_tags() as $t) {
+ if ($t->name==$searchfor) {
+ return true;
+ }
+ }
+ return false;
+ });
$filterquery[] = "filter_tag=" . urlencode($searchfor);
$ste->vars["filter_tag"] = $searchfor;
}
- if(!empty($_GET["filter_section"]))
- {
+ if (!empty($_GET["filter_section"])) {
$searchfor = $_GET["filter_section"];
- $articles = array_filter($articles, function($a) use ($searchfor) { return $a->get_section()->name == $searchfor; });
+ $articles = array_filter($articles, function ($a) use ($searchfor) {
+ return $a->get_section()->name == $searchfor;
+ });
$filterquery[] = "filter_section=" . urlencode($searchfor);
$ste->vars["filter_section"] = $searchfor;
}
$ste->vars["filterquery"] = implode("&", $filterquery);
/* Sorting */
- if(isset($_GET["sort_asc"]))
- {
- switch($_GET["sort_asc"])
- {
+ if (isset($_GET["sort_asc"])) {
+ switch ($_GET["sort_asc"]) {
case "date":
$ste->vars["sortquery"] = "sort_asc=date";
- $ste->vars["sort_asc_date"] = True;
- $ste->vars["sorting"] = array("dir" => "asc", "by" => "date");
- usort($articles, function($a, $b) { return intcmp($a->timestamp, $b->timestamp); });
+ $ste->vars["sort_asc_date"] = true;
+ $ste->vars["sorting"] = ["dir" => "asc", "by" => "date"];
+ usort($articles, function ($a, $b) {
+ return intcmp($a->timestamp, $b->timestamp);
+ });
break;
case "section":
$ste->vars["sortquery"] = "sort_asc=section";
- $ste->vars["sort_asc_section"] = True;
- $ste->vars["sorting"] = array("dir" => "asc", "by" => "section");
- usort($articles, function($a, $b) { return strcmp($a->get_section()->name, $b->get_section()->name); });
+ $ste->vars["sort_asc_section"] = true;
+ $ste->vars["sorting"] = ["dir" => "asc", "by" => "section"];
+ usort($articles, function ($a, $b) {
+ return strcmp($a->get_section()->name, $b->get_section()->name);
+ });
break;
case "urlname":
$ste->vars["sortquery"] = "sort_asc=urlname";
+ // no break
default:
- $ste->vars["sort_asc_urlname"] = True;
- $ste->vars["sorting"] = array("dir" => "asc", "by" => "urlname");
- usort($articles, function($a, $b) { return strcmp($a->urlname, $b->urlname); });
+ $ste->vars["sort_asc_urlname"] = true;
+ $ste->vars["sorting"] = ["dir" => "asc", "by" => "urlname"];
+ usort($articles, function ($a, $b) {
+ return strcmp($a->urlname, $b->urlname);
+ });
break;
}
- }
- elseif(isset($_GET["sort_desc"]))
- {
- switch($_GET["sort_desc"])
- {
+ } elseif (isset($_GET["sort_desc"])) {
+ switch ($_GET["sort_desc"]) {
case "date":
$ste->vars["sortquery"] = "sort_desc=date";
- $ste->vars["sort_desc_date"] = True;
- $ste->vars["sorting"] = array("dir" => "desc", "by" => "date");
- usort($articles, function($a, $b) { return intcmp($b->timestamp, $a->timestamp); });
+ $ste->vars["sort_desc_date"] = true;
+ $ste->vars["sorting"] = ["dir" => "desc", "by" => "date"];
+ usort($articles, function ($a, $b) {
+ return intcmp($b->timestamp, $a->timestamp);
+ });
break;
case "section":
$ste->vars["sortquery"] = "sort_desc=section";
- $ste->vars["sort_desc_section"] = True;
- $ste->vars["sorting"] = array("dir" => "desc", "by" => "section");
- usort($articles, function($a, $b) { return strcmp($b->get_section()->name, $a->get_section()->name); });
+ $ste->vars["sort_desc_section"] = true;
+ $ste->vars["sorting"] = ["dir" => "desc", "by" => "section"];
+ usort($articles, function ($a, $b) {
+ return strcmp($b->get_section()->name, $a->get_section()->name);
+ });
break;
case "urlname":
$ste->vars["sortquery"] = "sort_desc=urlname";
- $ste->vars["sort_desc_urlname"] = True;
- $ste->vars["sorting"] = array("dir" => "desc", "by" => "urlname");
- usort($articles, function($a, $b) { return strcmp($b->urlname, $a->urlname); });
+ $ste->vars["sort_desc_urlname"] = true;
+ $ste->vars["sorting"] = ["dir" => "desc", "by" => "urlname"];
+ usort($articles, function ($a, $b) {
+ return strcmp($b->urlname, $a->urlname);
+ });
break;
default:
- $ste->vars["sort_asc_urlname"] = True;
- $ste->vars["sorting"] = array("dir" => "asc", "by" => "urlname");
- usort($articles, function($a, $b) { return strcmp($a->urlname, $b->urlname); });
+ $ste->vars["sort_asc_urlname"] = true;
+ $ste->vars["sorting"] = ["dir" => "asc", "by" => "urlname"];
+ usort($articles, function ($a, $b) {
+ return strcmp($a->urlname, $b->urlname);
+ });
break;
}
- }
- else
- {
- $ste->vars["sort_asc_urlname"] = True;
- $ste->vars["sorting"] = array("dir" => "asc", "by" => "urlname");
- usort($articles, function($a, $b) { return strcmp($a->urlname, $b->urlname); });
+ } else {
+ $ste->vars["sort_asc_urlname"] = true;
+ $ste->vars["sorting"] = ["dir" => "asc", "by" => "urlname"];
+ usort($articles, function ($a, $b) {
+ return strcmp($a->urlname, $b->urlname);
+ });
}
- $ste->vars["articles"] = array_map(function($article) {
- $avail_langs = array();
- foreach($article->title as $lang => $_)
+ $ste->vars["articles"] = array_map(function ($article) {
+ $avail_langs = [];
+ foreach ($article->title as $lang => $_) {
$avail_langs[] = $lang;
+ }
sort($avail_langs);
$a_section = $article->get_section();
- return array(
+ return [
"urlname" => $article->urlname,
"languages" => $avail_langs,
"date" => $article->timestamp,
- "tags" => array_map(function($tag) { return $tag->name; }, $article->get_tags()),
- "section" => array("id" => $a_section->get_id(), "name" => $a_section->name)
- );
+ "tags" => array_map(function ($tag) {
+ return $tag->name;
+ }, $article->get_tags()),
+ "section" => ["id" => $a_section->get_id(), "name" => $a_section->name]
+ ];
}, $articles);
echo $ste->exectemplate("/systemtemplates/articles.html");
},
- "images" => function(&$data, $url_now, &$url_next)
- {
+ "images" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
list($imgid, $imageaction) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "content";
$ste->vars["submenu"] = "images";
$ste->vars["pagetitle"] = $translation["menu_images"];
- if(!empty($imgid) and is_numeric($imgid))
- {
- try
- {
+ if (!empty($imgid) and is_numeric($imgid)) {
+ try {
$image = Image::by_id($imgid);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- if(empty($imageaction))
+ if (empty($imageaction)) {
throw new NotFoundError();
- else
- {
- if(($imageaction == "markdown") or ($imageaction == "html") or ($imageaction == "ste"))
- {
+ } else {
+ if (($imageaction == "markdown") or ($imageaction == "html") or ($imageaction == "ste")) {
$ste->vars["pagetitle"] = $translation["generate_embed_code"];
$ste->vars["image_id"] = $image->get_id();
$ste->vars["markup_variant"] = $imageaction;
- if(isset($_POST["img_alt"]))
- {
- if($imageaction == "markdown")
+ if (isset($_POST["img_alt"])) {
+ if ($imageaction == "markdown") {
$ste->vars["embed_code"] = "![" . str_replace("]", "\\]", $_POST["img_alt"]) . "](%root%/images/" . str_replace(")", "\\)", urlencode($image->get_filename())) . ")";
- elseif($imageaction == "html")
+ } elseif ($imageaction == "html") {
$ste->vars["embed_code"] = "<img src=\"%root%/images/" . htmlesc(urlencode($image->get_filename())) . "\" alt=\"" . htmlesc($_POST["img_alt"]) . "\" />";
- elseif($imageaction == "ste")
+ } elseif ($imageaction == "ste") {
$ste->vars["embed_code"] = "<img src=\"\$rel_path_to_root/images/" . htmlesc(urlencode($image->get_filename())) . "\" alt=\"" . htmlesc($_POST["img_alt"]) . "\" />";
+ }
}
echo $ste->exectemplate("/systemtemplates/image_embed.html");
- }
- else
+ } else {
throw new NotFoundError();
+ }
}
return;
}
/* Upload Form */
- if(isset($_POST["upload"]))
- {
- try
- {
+ if (isset($_POST["upload"])) {
+ try {
$image = Image::create((!empty($_POST["upload_name"])) ? $_POST["upload_name"] : $_FILES["upload_img"]["name"], $_FILES["upload_img"]["tmp_name"]);
$image->save();
$ste->vars["success"] = $translation["upload_success"];
- }
- catch(IOError $e)
- {
+ } catch (IOError $e) {
$ste->vars["error"] = $translation["upload_failed"];
- }
- catch(UnknownFileFormat $e)
- {
+ } catch (UnknownFileFormat $e) {
$ste->vars["error"] = $translation["unknown_file_format"];
}
}
/* Mass delete */
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["image_multiselect"] as $image_id)
- {
- try
- {
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["image_multiselect"] as $image_id) {
+ try {
$image = Image::by_id($image_id);
$image->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -758,60 +732,54 @@ $backend_subactions = url_action_subactions(array(
$images = Image::all();
- $ste->vars["images"] = array_map(function($img) { return array(
+ $ste->vars["images"] = array_map(function ($img) {
+ return [
"id" => $img->get_id(),
"name" => $img->name,
"file" => $img->get_filename()
- ); }, $images);
+ ];
+ }, $images);
echo $ste->exectemplate("/systemtemplates/image_list.html");
},
- "comments" => function(&$data, $url_now, &$url_next)
- {
+ "comments" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
list($comment_id) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "content";
$ste->vars["submenu"] = "comments";
$ste->vars["pagetitle"] = $translation["menu_comments"];
/* Single comment? */
- if(!empty($comment_id))
- {
- try
- {
+ if (!empty($comment_id)) {
+ try {
$comment = Comment::by_id($comment_id);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- if(!$comment->read_by_admin)
- {
- $comment->read_by_admin = True;
+ if (!$comment->read_by_admin) {
+ $comment->read_by_admin = true;
$comment->save();
}
- if(isset($_POST["action_on_comment"]))
- {
- switch($_POST["action_on_comment"])
- {
+ if (isset($_POST["action_on_comment"])) {
+ switch ($_POST["action_on_comment"]) {
case "delete":
$comment->delete();
$ste->vars["success"] = $translation["comment_successfully_deleted"];
goto backend_content_comments_overview;
break;
case "make_visible":
- $comment->visible = True;
+ $comment->visible = true;
$comment->save();
$ste->vars["success"] = $translation["comment_successfully_made_visible"];
break;
case "make_invisible":
- $comment->visible = False;
+ $comment->visible = false;
$comment->save();
$ste->vars["success"] = $translation["comment_successfully_made_invisible"];
break;
@@ -834,45 +802,52 @@ $backend_subactions = url_action_subactions(array(
backend_content_comments_overview:
/* Perform an action on all selected comments */
- if(!empty($_POST["action_on_comments"]))
- {
- switch($_POST["action_on_comments"])
- {
+ if (!empty($_POST["action_on_comments"])) {
+ switch ($_POST["action_on_comments"]) {
case "delete":
- $commentaction = function($c) { $c->delete(); };
+ $commentaction = function ($c) {
+ $c->delete();
+ };
$ste->vars["success"] = $translation["comments_successfully_deleted"];
break;
case "mark_read":
- $commentaction = function($c) { $c->read_by_admin = True; $c->save(); };
+ $commentaction = function ($c) {
+ $c->read_by_admin = true;
+ $c->save();
+ };
$ste->vars["success"] = $translation["comments_successfully_marked_read"];
break;
case "mark_unread":
- $commentaction = function($c) { $c->read_by_admin = False; $c->save(); };
+ $commentaction = function ($c) {
+ $c->read_by_admin = false;
+ $c->save();
+ };
$ste->vars["success"] = $translation["comments_successfully_marked_unread"];
break;
case "make_visible":
- $commentaction = function($c) { $c->visible = True; $c->save(); };
+ $commentaction = function ($c) {
+ $c->visible = true;
+ $c->save();
+ };
$ste->vars["success"] = $translation["comments_successfully_made_visible"];
break;
case "make_invisible":
- $commentaction = function($c) { $c->visible = False; $c->save(); };
+ $commentaction = function ($c) {
+ $c->visible = false;
+ $c->save();
+ };
$ste->vars["success"] = $translation["comments_successfully_made_invisible"];
break;
- default;
+ default:
$ste->vars["error"] = $translation["unknown_action"];
break;
}
- if(isset($commentaction))
- {
- foreach($_POST["comment_multiselect"] as $c_id)
- {
- try
- {
+ if (isset($commentaction)) {
+ foreach ($_POST["comment_multiselect"] as $c_id) {
+ try {
$comment = Comment::by_id($c_id);
$commentaction($comment);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -882,175 +857,163 @@ $backend_subactions = url_action_subactions(array(
$comments = Comment::all();
/* Filtering */
- $filterquery = array();
- if(!empty($_GET["filter_article"]))
- {
+ $filterquery = [];
+ if (!empty($_GET["filter_article"])) {
$searchfor = strtolower($_GET["filter_article"]);
- $comments = array_filter($comments, function($c) use ($searchfor) { return strpos(strtolower($c->get_article()->urlname), $searchfor) !== False; });
+ $comments = array_filter($comments, function ($c) use ($searchfor) {
+ return strpos(strtolower($c->get_article()->urlname), $searchfor) !== false;
+ });
$filterquery[] = "filter_article=" . urlencode($_GET["filter_article"]);
$ste->vars["filter_article"] = $_GET["filter_article"];
}
$ste->vars["filterquery"] = implode("&", $filterquery);
/* Sorting */
- if(isset($_GET["sort_asc"]))
- {
+ if (isset($_GET["sort_asc"])) {
$sort_dir = 1;
$sort_by = $_GET["sort_asc"];
- }
- elseif(isset($_GET["sort_desc"]))
- {
+ } elseif (isset($_GET["sort_desc"])) {
$sort_dir = -1;
$sort_by = $_GET["sort_desc"];
- }
- else
- {
+ } else {
$sort_dir = 1;
$sort_by = "was_read";
}
- switch($sort_by)
- {
+ switch ($sort_by) {
case "language":
- usort($comments, function($a, $b) use ($sort_dir) { return strcmp($a->get_language(), $b->get_language()) * $sort_dir; });
+ usort($comments, function ($a, $b) use ($sort_dir) {
+ return strcmp($a->get_language(), $b->get_language()) * $sort_dir;
+ });
break;
case "date":
- usort($comments, function($a, $b) use ($sort_dir) { return intcmp($a->get_timestamp(), $b->get_timestamp()) * $sort_dir; });
+ usort($comments, function ($a, $b) use ($sort_dir) {
+ return intcmp($a->get_timestamp(), $b->get_timestamp()) * $sort_dir;
+ });
break;
case "was_read":
default:
- usort($comments, function($a, $b) use ($sort_dir) { return intcmp((int) $a->read_by_admin, (int) $b->read_by_admin) * $sort_dir; });
+ usort($comments, function ($a, $b) use ($sort_dir) {
+ return intcmp((int) $a->read_by_admin, (int) $b->read_by_admin) * $sort_dir;
+ });
$sort_by = "was_read";
break;
}
$ste->vars["sortquery"] = "sort_" . ($sort_dir == 1 ? "asc" : "desc") . "=$sort_by";
- $ste->vars["sorting"] = array("dir" => ($sort_dir == 1 ? "asc" : "desc"), "by" => $sort_by);
- $ste->vars["sort_" . ($sort_dir == 1 ? "asc" : "desc") . "_$sort_by"] = True;
+ $ste->vars["sorting"] = ["dir" => ($sort_dir == 1 ? "asc" : "desc"), "by" => $sort_by];
+ $ste->vars["sort_" . ($sort_dir == 1 ? "asc" : "desc") . "_$sort_by"] = true;
- $ste->vars["comments"] = array_map(function($c) { return array(
+ $ste->vars["comments"] = array_map(function ($c) {
+ return [
"id" => $c->get_id(),
"visible" => $c->visible,
"read_by_admin" => $c->read_by_admin,
"article" => $c->get_article()->urlname,
- "excerpt" => substr(str_replace(array("\r\n", "\n", "\r"), " ", $c->text), 0, 50),
+ "excerpt" => substr(str_replace(["\r\n", "\n", "\r"], " ", $c->text), 0, 50),
"language" => $c->get_language(),
"date" => $c->get_timestamp(),
"author" => "\"{$c->author_name}\" <{$c->author_mail}>"
- ); }, $comments);
+ ];
+ }, $comments);
echo $ste->exectemplate("/systemtemplates/comments_list.html");
}
- )),
- "design" => url_action_subactions(array(
- "templates" => function(&$data, $url_now, &$url_next)
- {
+ ]),
+ "design" => url_action_subactions([
+ "templates" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
list($template) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "design";
$ste->vars["submenu"] = "templates";
$ste->vars["pagetitle"] = $translation["menu_templates"];
- if(isset($template))
- {
- if(preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $template) == 0) /* Prevent a possible LFI attack. */
+ if (isset($template)) {
+ if (preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $template) == 0) { /* Prevent a possible LFI attack. */
throw new NotFoundError();
- if(!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$template"))
+ }
+ if (!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$template")) {
throw new NotFoundError();
+ }
$ste->vars["template_name"] = $template;
$ste->vars["template_code"] = file_get_contents(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$template");
}
/* Was there a delete request? */
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["templates_multiselect"] as $tplname)
- {
- if(preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $tplname) == 0) /* Prevent a possible LFI attack. */
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["templates_multiselect"] as $tplname) {
+ if (preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $tplname) == 0) { /* Prevent a possible LFI attack. */
continue;
- if(is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$tplname"))
+ }
+ if (is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$tplname")) {
@unlink(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/$tplname");
+ }
}
$ste->vars["success"] = $translation["templates_successfully_deleted"];
}
/* A write request? */
- if(isset($_POST["save_template"]))
- {
- if(preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["template_name"]) == 1)
- {
+ if (isset($_POST["save_template"])) {
+ if (preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["template_name"]) == 1) {
$ste->vars["template_name"] = $_POST["template_name"];
$ste->vars["template_code"] = $_POST["template_code"];
- try
- {
+ try {
\ste\transcompile(\ste\parse(\ste\precompile($_POST["template_code"]), $_POST["template_name"]));
file_put_contents(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/" . $_POST["template_name"], $_POST["template_code"]);
$ste->vars["success"] = $translation["template_successfully_saved"];
- }
- catch(\ste\ParseCompileError $e)
- {
+ } catch (\ste\ParseCompileError $e) {
$e->rewrite($_POST["template_code"]);
$ste->vars["error"] = $translation["could_not_compile_template"] . $e->getMessage();
}
- }
- else
+ } else {
$ste->vars["error"] = $translation["invalid_template_name"];
+ }
}
/* Get all templates */
- $ste->vars["templates"] = array();
+ $ste->vars["templates"] = [];
$tpldir = new DirectoryIterator(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates");
- foreach($tpldir as $fo)
- {
- if($fo->isFile())
+ foreach ($tpldir as $fo) {
+ if ($fo->isFile()) {
$ste->vars["templates"][] = $fo->getFilename();
+ }
}
sort($ste->vars["templates"]);
echo $ste->exectemplate("/systemtemplates/templates.html");
},
- "styles" => function(&$data, $url_now, &$url_next)
- {
+ "styles" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
list($style) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "design";
$ste->vars["submenu"] = "styles";
$ste->vars["pagetitle"] = $translation["menu_styles"];
- if(isset($style))
- {
- try
- {
+ if (isset($style)) {
+ try {
$style = Style::by_name($style);
$ste->vars["style_name"] = $style->name;
$ste->vars["style_code"] = $style->code;
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
}
/* Was there a delete request? */
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["styles_multiselect"] as $stylename)
- {
- try
- {
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["styles_multiselect"] as $stylename) {
+ try {
$style = Style::by_name($stylename);
$style->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -1058,19 +1021,14 @@ $backend_subactions = url_action_subactions(array(
}
/* A write request? */
- if(isset($_POST["save_style"]))
- {
- if(Style::test_name($_POST["style_name"]))
- {
+ if (isset($_POST["save_style"])) {
+ if (Style::test_name($_POST["style_name"])) {
$ste->vars["style_name"] = $_POST["style_name"];
$ste->vars["style_code"] = $_POST["style_code"];
- try
- {
+ try {
$style = Style::by_name($_POST["style_name"]);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
$style = Style::create($_POST["style_name"]);
}
@@ -1078,45 +1036,41 @@ $backend_subactions = url_action_subactions(array(
$style->save();
$ste->vars["success"] = $translation["style_successfully_saved"];
- }
- else
+ } else {
$ste->vars["error"] = $translation["invalid_style_name"];
+ }
}
/* Get all styles */
- $ste->vars["styles"] = array_map(function($s) { return $s->name; }, Style::all());
+ $ste->vars["styles"] = array_map(function ($s) {
+ return $s->name;
+ }, Style::all());
sort($ste->vars["styles"]);
echo $ste->exectemplate("/systemtemplates/styles.html");
},
- "sections" => function(&$data, $url_now, &$url_next)
- {
+ "sections" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $ratatoeskr_settings;
list($style) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "design";
$ste->vars["submenu"] = "sections";
$ste->vars["pagetitle"] = $translation["menu_pagesections"];
/* New section? */
- if(isset($_POST["new_section"]))
- {
- try
- {
+ if (isset($_POST["new_section"])) {
+ try {
Section::by_name($_POST["section_name"]);
$ste->vars["error"] = $translation["section_already_exists"];
- }
- catch(DoesNotExistError $e)
- {
- if((preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["template"]) == 0) or (!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/{$_POST['template']}")))
+ } catch (DoesNotExistError $e) {
+ if ((preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["template"]) == 0) or (!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/{$_POST['template']}"))) {
$ste->vars["error"] = $translation["unknown_template"];
- else if(!Section::test_name($_POST["section_name"]))
+ } elseif (!Section::test_name($_POST["section_name"])) {
$ste->vars["error"] = $translation["invalid_section_name"];
- else
- {
+ } else {
$section = Section::create($_POST["section_name"]);
$section->template = $_POST["template"];
$section->title[$data["user"]->language] = new Translation($_POST["section_name"], "");
@@ -1127,188 +1081,161 @@ $backend_subactions = url_action_subactions(array(
}
/* Remove a style? */
- if(isset($_GET["rmstyle"]) and isset($_GET["rmfrom"]))
- {
- try
- {
+ if (isset($_GET["rmstyle"]) and isset($_GET["rmfrom"])) {
+ try {
$section = Section::by_name($_GET["rmfrom"]);
$style = Style::by_name($_GET["rmstyle"]);
$section->remove_style($style);
$section->save();
$ste->vars["success"] = $translation["style_removed"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
/* Delete a section? */
- if(isset($_POST["delete"]) and (@$_POST["really_delete"] == "yes") and isset($_POST["section_select"]))
- {
- try
- {
+ if (isset($_POST["delete"]) and (@$_POST["really_delete"] == "yes") and isset($_POST["section_select"])) {
+ try {
$section = Section::by_name($_POST["section_select"]);
- if($section->get_id() == $ratatoeskr_settings["default_section"])
+ if ($section->get_id() == $ratatoeskr_settings["default_section"]) {
$ste->vars["error"] = $translation["cannot_delete_default_section"];
- else
- {
+ } else {
$default_section = Section::by_id($ratatoeskr_settings["default_section"]);
- foreach($section->get_articles() as $article)
- {
+ foreach ($section->get_articles() as $article) {
$article->set_section($default_section);
$article->save();
}
$section->delete();
$ste->vars["success"] = $translation["section_successfully_deleted"];
}
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
/* Make section default? */
- if(isset($_POST["make_default"]) and isset($_POST["section_select"]))
- {
- try
- {
+ if (isset($_POST["make_default"]) and isset($_POST["section_select"])) {
+ try {
$section = Section::by_name($_POST["section_select"]);
$ratatoeskr_settings["default_section"] = $section->get_id();
$ste->vars["success"] = $translation["default_section_changed_successfully"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
/* Set template? */
- if(isset($_POST["set_template"]) and isset($_POST["section_select"]))
- {
- try
- {
+ if (isset($_POST["set_template"]) and isset($_POST["section_select"])) {
+ try {
$section = Section::by_name($_POST["section_select"]);
- if((preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["set_template_to"]) == 0) or (!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/{$_POST['set_template_to']}")))
+ if ((preg_match("/^[a-zA-Z0-9\\-_\\.]+$/", $_POST["set_template_to"]) == 0) or (!is_file(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates/{$_POST['set_template_to']}"))) {
$ste->vars["error"] = $translation["unknown_template"];
- else
- {
+ } else {
$section->template = $_POST["set_template_to"];
$section->save();
$ste->vars["success"] = $translation["successfully_set_template"];
}
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
/* Adding a style? */
- if(isset($_POST["add_style"]) and isset($_POST["section_select"]))
- {
- try
- {
+ if (isset($_POST["add_style"]) and isset($_POST["section_select"])) {
+ try {
$section = Section::by_name($_POST["section_select"]);
$style = Style::by_name($_POST["style_to_add"]);
$section->add_style($style);
$ste->vars["success"] = $translation["successfully_added_style"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
/* Set/unset title? */
- if(isset($_POST["set_title"]) and isset($_POST["section_select"]))
- {
- if(!isset($languages[$_POST["set_title_lang"]]))
+ if (isset($_POST["set_title"]) and isset($_POST["section_select"])) {
+ if (!isset($languages[$_POST["set_title_lang"]])) {
$ste->vars["error"] = $translation["language_unknown"];
- else
- {
- try
- {
+ } else {
+ try {
$section = Section::by_name($_POST["section_select"]);
- if(!empty($_POST["set_title_text"]))
+ if (!empty($_POST["set_title_text"])) {
$section->title[$_POST["set_title_lang"]] = new Translation($_POST["set_title_text"], "");
- else if(isset($section->title[$_POST["set_title_lang"]]))
+ } elseif (isset($section->title[$_POST["set_title_lang"]])) {
unset($section->title[$_POST["set_title_lang"]]);
+ }
$section->save();
$ste->vars["success"] = $translation["successfully_set_section_title"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
}
}
}
/* Get all templates */
- $ste->vars["templates"] = array();
+ $ste->vars["templates"] = [];
$tpldir = new DirectoryIterator(SITE_BASE_PATH . "/ratatoeskr/templates/src/usertemplates");
- foreach($tpldir as $fo)
- {
- if($fo->isFile())
+ foreach ($tpldir as $fo) {
+ if ($fo->isFile()) {
$ste->vars["templates"][] = $fo->getFilename();
+ }
}
sort($ste->vars["templates"]);
/* Get all styles */
- $ste->vars["styles"] = array_map(function($s) { return $s->name; }, Style::all());
+ $ste->vars["styles"] = array_map(function ($s) {
+ return $s->name;
+ }, Style::all());
sort($ste->vars["styles"]);
/* Get all sections */
$sections = Section::all();
- $ste->vars["sections"] = array_map(function($section) use ($ratatoeskr_settings) {
- $titles = array();
- foreach($section->title as $l => $t)
+ $ste->vars["sections"] = array_map(function ($section) use ($ratatoeskr_settings) {
+ $titles = [];
+ foreach ($section->title as $l => $t) {
$titles[$l] = $t->text;
- return array(
+ }
+ return [
"name" => $section->name,
"title" => $titles,
"template" => $section->template,
- "styles" => array_map(function($style) { return $style->name; }, $section->get_styles()),
+ "styles" => array_map(function ($style) {
+ return $style->name;
+ }, $section->get_styles()),
"default" => ($section->get_id() == $ratatoeskr_settings["default_section"])
- );
+ ];
}, $sections);
echo $ste->exectemplate("/systemtemplates/sections.html");
}
- )),
- "admin" => url_action_subactions(array(
- "settings" => function(&$data, $url_now, &$url_next)
- {
+ ]),
+ "admin" => url_action_subactions([
+ "settings" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $ratatoeskr_settings, $textprocessors;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "admin";
$ste->vars["submenu"] = "settings";
$ste->vars["pagetitle"] = $translation["menu_settings"];
- $ste->vars["textprocessors"] = array();
- foreach($textprocessors as $txtproc => $properties)
- if($properties[1])
+ $ste->vars["textprocessors"] = [];
+ foreach ($textprocessors as $txtproc => $properties) {
+ if ($properties[1]) {
$ste->vars["textprocessors"][] = $txtproc;
+ }
+ }
/* Toggle debugmode value? */
- if(isset($_POST["toggle_debugmode"]))
- {
- if(isset($ratatoeskr_settings["debugmode"]) and $ratatoeskr_settings["debugmode"])
- {
- $ratatoeskr_settings["debugmode"] = False;
+ if (isset($_POST["toggle_debugmode"])) {
+ if (isset($ratatoeskr_settings["debugmode"]) and $ratatoeskr_settings["debugmode"]) {
+ $ratatoeskr_settings["debugmode"] = false;
$ste->vars["success"] = $translation["debugmode_now_disabled"];
- }
- else
- {
- $ratatoeskr_settings["debugmode"] = True;
+ } else {
+ $ratatoeskr_settings["debugmode"] = true;
$ste->vars["success"] = $translation["debugmode_now_enabled"];
}
}
/* Save comment settings? */
- if(isset($_POST["save_comment_settings"]))
- {
- if(!in_array(@$_POST["comment_textprocessor"], $ste->vars["textprocessors"]))
+ if (isset($_POST["save_comment_settings"])) {
+ if (!in_array(@$_POST["comment_textprocessor"], $ste->vars["textprocessors"])) {
$ste->vars["error"] = $translation["unknown_txtproc"];
- else
- {
+ } else {
$ratatoeskr_settings["comment_textprocessor"] = $_POST["comment_textprocessor"];
$ratatoeskr_settings["comment_visible_default"] = (isset($_POST["comment_auto_visible"]) and ($_POST["comment_auto_visible"] == "yes"));
$ste->vars["success"] = $translation["comment_settings_successfully_saved"];
@@ -1316,36 +1243,31 @@ $backend_subactions = url_action_subactions(array(
}
/* Delete language? */
- if(isset($_POST["delete"]) and ($_POST["really_delete"] == "yes") and isset($_POST["language_select"]))
- {
- if($ratatoeskr_settings["default_language"] == $_POST["language_select"])
+ if (isset($_POST["delete"]) and ($_POST["really_delete"] == "yes") and isset($_POST["language_select"])) {
+ if ($ratatoeskr_settings["default_language"] == $_POST["language_select"]) {
$ste->vars["error"] = $translation["cannot_delete_default_language"];
- else
- {
- $ratatoeskr_settings["languages"] = array_filter($ratatoeskr_settings["languages"], function($l) { return $l != $_POST["language_select"]; });
+ } else {
+ $ratatoeskr_settings["languages"] = array_filter($ratatoeskr_settings["languages"], function ($l) {
+ return $l != $_POST["language_select"];
+ });
$ste->vars["success"] = $translation["language_successfully_deleted"];
}
}
/* Set default language */
- if(isset($_POST["make_default"]) and isset($_POST["language_select"]))
- {
- if(in_array($_POST["language_select"], $ratatoeskr_settings["languages"]))
- {
+ if (isset($_POST["make_default"]) and isset($_POST["language_select"])) {
+ if (in_array($_POST["language_select"], $ratatoeskr_settings["languages"])) {
$ratatoeskr_settings["default_language"] = $_POST["language_select"];
$ste->vars["success"] = $translation["successfully_set_default_language"];
}
}
/* Add a language */
- if(isset($_POST["add_language"]))
- {
- if(!isset($languages[$_POST["language_to_add"]]))
+ if (isset($_POST["add_language"])) {
+ if (!isset($languages[$_POST["language_to_add"]])) {
$ste->vars["error"] = $translation["language_unknown"];
- else
- {
- if(!in_array($_POST["language_to_add"], $ratatoeskr_settings["languages"]))
- {
+ } else {
+ if (!in_array($_POST["language_to_add"], $ratatoeskr_settings["languages"])) {
$ls = $ratatoeskr_settings["languages"];
$ls[] = $_POST["language_to_add"];
$ratatoeskr_settings["languages"] = $ls;
@@ -1357,39 +1279,35 @@ $backend_subactions = url_action_subactions(array(
$ste->vars["debugmode_enabled"] = (isset($ratatoeskr_settings["debugmode"]) and $ratatoeskr_settings["debugmode"]);
$ste->vars["comment_auto_visible"] = $ratatoeskr_settings["comment_visible_default"];
$ste->vars["comment_textprocessor"] = $ratatoeskr_settings["comment_textprocessor"];
- $ste->vars["used_langs"] = array_map(function ($l) use ($ratatoeskr_settings, $languages) { return array(
+ $ste->vars["used_langs"] = array_map(function ($l) use ($ratatoeskr_settings, $languages) {
+ return [
"code" => $l,
"name" => $languages[$l]["language"],
"default" => ($l == $ratatoeskr_settings["default_language"])
- );}, $ratatoeskr_settings["languages"]);
+ ];
+ }, $ratatoeskr_settings["languages"]);
echo $ste->exectemplate("/systemtemplates/settings.html");
},
- "users" => url_action_subactions(array(
- "_index" => function(&$data, $url_now, &$url_next)
- {
+ "users" => url_action_subactions([
+ "_index" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $ratatoeskr_settings, $textprocessors;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "admin";
$ste->vars["submenu"] = "users";
$ste->vars["pagetitle"] = $translation["menu_users_groups"];
/* Add a new group? */
- if(isset($_POST["new_group"]))
- {
- if(empty($_POST["group_name"]))
+ if (isset($_POST["new_group"])) {
+ if (empty($_POST["group_name"])) {
$ste->vars["error"] = $translation["empty_group_name"];
- else
- {
- try
- {
+ } else {
+ try {
Group::by_name($_POST["group_name"]);
$ste->vars["error"] = $translation["group_already_exists"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
$group = Group::create($_POST["group_name"]);
$ste->vars["success"] = $translation["successfully_created_group"];
}
@@ -1397,19 +1315,14 @@ $backend_subactions = url_action_subactions(array(
}
/* Add a new user? */
- if(isset($_POST["new_user"]))
- {
- if(empty($_POST["username"]))
+ if (isset($_POST["new_user"])) {
+ if (empty($_POST["username"])) {
$ste->vars["error"] = $translation["empty_username"];
- else
- {
- try
- {
+ } else {
+ try {
User::by_name($_POST["username"]);
$ste->vars["error"] = $translation["user_already_exists"];
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
$group = User::create($_POST["username"], PasswordHash::create($_POST["initial_password"]));
$ste->vars["success"] = $translation["successfully_created_user"];
}
@@ -1417,129 +1330,112 @@ $backend_subactions = url_action_subactions(array(
}
/* Delete groups? */
- if(isset($_POST["delete_groups"]) and ($_POST["really_delete"] == "yes") and (!empty($_POST["groups_multiselect"])))
- {
+ if (isset($_POST["delete_groups"]) and ($_POST["really_delete"] == "yes") and (!empty($_POST["groups_multiselect"]))) {
$deleted = 0;
- foreach($_POST["groups_multiselect"] as $gid)
- {
- try
- {
+ foreach ($_POST["groups_multiselect"] as $gid) {
+ try {
$group = Group::by_id($gid);
- if($group->name == "admins")
- {
+ if ($group->name == "admins") {
$ste->vars["error"] = $translation["cannot_delete_admin_group"];
- }
- else
- {
+ } else {
$group->delete();
++$deleted;
}
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
- if($deleted > 0)
+ if ($deleted > 0) {
$ste->vars["success"] = $translation["successfully_deleted_groups"];
+ }
}
/* Delete users? */
- if(isset($_POST["delete_users"]) and ($_POST["really_delete"] == "yes") and (!empty($_POST["users_multiselect"])))
- {
+ if (isset($_POST["delete_users"]) and ($_POST["really_delete"] == "yes") and (!empty($_POST["users_multiselect"]))) {
$deleted = 0;
- foreach($_POST["users_multiselect"] as $uid)
- {
- if($uid == $data["user"]->get_id())
+ foreach ($_POST["users_multiselect"] as $uid) {
+ if ($uid == $data["user"]->get_id()) {
$ste->vars["error"] = $translation["cannot_delete_yourself"];
- else
- {
- try
- {
+ } else {
+ try {
$user = User::by_id($uid);
$user->delete();
++$deleted;
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
}
- if($deleted > 0)
+ if ($deleted > 0) {
$ste->vars["success"] = $translation["successfully_deleted_users"];
+ }
}
/* Get all groups */
- $ste->vars["groups"] = array_map(function($g) { return array(
+ $ste->vars["groups"] = array_map(function ($g) {
+ return [
"id" => $g->get_id(),
"name" => $g->name
- ); }, Group::all());
+ ];
+ }, Group::all());
/* Get all users */
- $ste->vars["users"] = array_map(function($u) { return array(
+ $ste->vars["users"] = array_map(function ($u) {
+ return [
"id" => $u->get_id(),
"name" => $u->username,
- "memberof" => array_map(function($g) { return $g->name; }, $u->get_groups()),
+ "memberof" => array_map(function ($g) {
+ return $g->name;
+ }, $u->get_groups()),
"fullname" => $u->fullname,
"mail" => $u->mail
- ); }, User::all());
+ ];
+ }, User::all());
echo $ste->exectemplate("/systemtemplates/users.html");
},
- "u" => function(&$data, $url_now, &$url_next)
- {
+ "u" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $admin_grp;
- try
- {
+ try {
$user = User::by_id($url_next[0]);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "admin";
$ste->vars["submenu"] = "users";
$ste->vars["pagetitle"] = $user->username;
/* Modify data? */
- if(isset($_POST["change_data"]))
- {
+ if (isset($_POST["change_data"])) {
$user->fullname = $_POST["fullname"];
$user->mail = $_POST["mail"];
$user->language = $_POST["lang"];
- $current_groups = array_map(function($g) { return $g->get_id(); }, $user->get_groups());
- $new_groups = empty($_POST[groups_multiselect]) ? array() : $_POST["groups_multiselect"];
+ $current_groups = array_map(function ($g) {
+ return $g->get_id();
+ }, $user->get_groups());
+ $new_groups = empty($_POST[groups_multiselect]) ? [] : $_POST["groups_multiselect"];
$groups_exclude = array_diff($current_groups, $new_groups);
$groups_include = array_diff($new_groups, $current_groups);
- foreach($groups_exclude as $gid)
- {
- try
- {
+ foreach ($groups_exclude as $gid) {
+ try {
$g = Group::by_id($gid);
$g->exclude_user($user);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
- foreach($groups_include as $gid)
- {
- try
- {
+ foreach ($groups_include as $gid) {
+ try {
$g = Group::by_id($gid);
$g->include_user($user);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -1550,70 +1446,62 @@ $backend_subactions = url_action_subactions(array(
}
/* New Password? */
- if(isset($_POST["new_password"]))
- {
+ if (isset($_POST["new_password"])) {
$pwhash = PasswordHash::create($_POST["password"]);
$user->pwhash = $pwhash;
- if($user->get_id() == $data["user"]->get_id())
+ if ($user->get_id() == $data["user"]->get_id()) {
$_SESSION["ratatoeskr_pwhash"] = $pwhash;
+ }
$user->save();
$ste->vars["success"] = $translation["successfully_set_new_password"];
}
/* Put data to STE */
- $ste->vars["u"] = array(
+ $ste->vars["u"] = [
"id" => $user->get_id(),
"name" => $user->username,
"fullname" => $user->fullname,
"mail" => $user->mail,
"lang" => $user->language
- );
- $ste->vars["groups"] = array_map(function($g) use ($user) { return array(
+ ];
+ $ste->vars["groups"] = array_map(function ($g) use ($user) {
+ return [
"id" => $g->get_id(),
"name" => $g->name,
"member" => $user->member_of($g)
- ); }, Group::all());
+ ];
+ }, Group::all());
echo $ste->exectemplate("/systemtemplates/user.html");
}
- )),
- "repos" => function(&$data, $url_now, &$url_next)
- {
+ ]),
+ "repos" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "admin";
$ste->vars["submenu"] = "repos";
$ste->vars["pagetitle"] = $translation["menu_plugin_repos"];
/* Add a repo? */
- if(isset($_POST["add_repo"]))
- {
- try
- {
+ if (isset($_POST["add_repo"])) {
+ try {
$repo = Repository::create($_POST["repo_baseurl"]);
$ste->vars["success"] = $translation["successfully_added_repo"];
- }
- catch(RepositoryUnreachableOrInvalid $e)
- {
+ } catch (RepositoryUnreachableOrInvalid $e) {
$ste->vars["error"] = $translation["repository_unreachable_or_invalid"];
}
}
/* Delete repos? */
- if(isset($_POST["delete_repos"]) and ($_POST["really_delete"] == "yes"))
- {
- foreach($_POST["repos_multiselect"] as $repo_id)
- {
- try
- {
+ if (isset($_POST["delete_repos"]) and ($_POST["really_delete"] == "yes")) {
+ foreach ($_POST["repos_multiselect"] as $repo_id) {
+ try {
$repo = Repository::by_id($repo_id);
$repo->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -1621,83 +1509,69 @@ $backend_subactions = url_action_subactions(array(
}
/* Force refresh? */
- if(isset($_POST["force_repo_refresh"]))
- {
- $failed = array();
- foreach($_POST["repos_multiselect"] as $repo_id)
- {
- try
- {
+ if (isset($_POST["force_repo_refresh"])) {
+ $failed = [];
+ foreach ($_POST["repos_multiselect"] as $repo_id) {
+ try {
$repo = Repository::by_id($repo_id);
- $repo->refresh(True);
- }
- catch(DoesNotExistError $e)
- {
+ $repo->refresh(true);
+ } catch (DoesNotExistError $e) {
continue;
- }
- catch(RepositoryUnreachableOrInvalid $e)
- {
+ } catch (RepositoryUnreachableOrInvalid $e) {
$failed[] = $repo->get_name();
}
}
$ste->vars["success"] = $translation["successfully_refreshed_repos"];
- if(!empty($failed))
+ if (!empty($failed)) {
$ste->vars["error"] = str_replace("[[REPOS]]", implode(", ", $failed), $translation["repo_refresh_failed_on"]);
+ }
}
/* Fill data */
$all_repos = Repository::all();
$ste->vars["repos"] = array_map(
- function($r)
- {
- try
- {
- $r->refresh();
- }
- catch(RepositoryUnreachableOrInvalid $e){}
- return array(
+ function ($r) {
+ try {
+ $r->refresh();
+ } catch (RepositoryUnreachableOrInvalid $e) {
+ }
+ return [
"id" => $r->get_id(),
"name" => $r->get_name(),
"description" => $r->get_description(),
"baseurl" => $r->get_baseurl()
- );
- }, $all_repos);
+ ];
+ },
+ $all_repos
+ );
echo $ste->exectemplate("/systemtemplates/repos.html");
}
- )),
- "plugin" => url_action_subactions(array(
- "list" => function(&$data, $url_now, &$url_next)
- {
+ ]),
+ "plugin" => url_action_subactions([
+ "list" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $plugin_objs, $api_compat;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "plugins";
$ste->vars["submenu"] = "pluginlist";
$ste->vars["pagetitle"] = $translation["menu_pluginlist"];
/* Delete plugins? */
- if(isset($_POST["delete"]) and (($_POST["really_delete"] == "yes") or ($_POST["really_delete"] == "force")) and (!empty($_POST["plugins_multiselect"])))
- {
- foreach($_POST["plugins_multiselect"] as $pid)
- {
- try
- {
+ if (isset($_POST["delete"]) and (($_POST["really_delete"] == "yes") or ($_POST["really_delete"] == "force")) and (!empty($_POST["plugins_multiselect"]))) {
+ foreach ($_POST["plugins_multiselect"] as $pid) {
+ try {
$plugin = Plugin::by_id($pid);
- if($_POST["really_delete"] != "force")
- {
- if(!isset($plugin_objs[$pid]))
- {
+ if ($_POST["really_delete"] != "force") {
+ if (!isset($plugin_objs[$pid])) {
eval($plugin->code);
$plugin_objs[$pid] = new $plugin->classname($pid);
}
$plugin_objs[$pid]->uninstall();
}
$plugin->delete();
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
@@ -1706,96 +1580,84 @@ $backend_subactions = url_action_subactions(array(
}
/* Activate or deactivate plugins? */
- if((isset($_POST["activate"]) or isset($_POST["deactivate"])) and (!empty($_POST["plugins_multiselect"])))
- {
- $api_incompat = array();
+ if ((isset($_POST["activate"]) or isset($_POST["deactivate"])) and (!empty($_POST["plugins_multiselect"]))) {
+ $api_incompat = [];
$newstatus = isset($_POST["activate"]);
- foreach($_POST["plugins_multiselect"] as $pid)
- {
- try
- {
+ foreach ($_POST["plugins_multiselect"] as $pid) {
+ try {
$plugin = Plugin::by_id($pid);
- if(!$plugin->installed)
+ if (!$plugin->installed) {
continue;
- if($newstatus and (!in_array($plugin->api, $api_compat)))
- {
+ }
+ if ($newstatus and (!in_array($plugin->api, $api_compat))) {
$api_incompat[] = $plugin->name . ("(ID: " . $plugin->get_id() . ")");
continue;
}
$plugin->active = $newstatus;
$plugin->save();
- if($newstatus and (!isset($plugin_objs[$pid])))
- {
+ if ($newstatus and (!isset($plugin_objs[$pid]))) {
eval($plugin->code);
$plugin_objs[$pid] = new $plugin->classname($pid);
$plugin_objs[$pid]->init();
}
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
}
}
$ste->vars["success"] = $translation[$newstatus ? "plugins_activated" : "plugins_deactivated"];
- if(!empty($api_incompat))
+ if (!empty($api_incompat)) {
$ste->vars["error"] = htmlesc(str_replace("[[PLUGINS]]", implode(", ", $api_incompat), $translation["could_not_activate_plugin_api_incompat"]));
+ }
}
- $stream_ctx = stream_context_create(array("http" => array("timeout" => 5)));
+ $stream_ctx = stream_context_create(["http" => ["timeout" => 5]]);
/* Update plugins? */
- if(isset($_POST["update"]) and (!empty($_POST["plugins_multiselect"])))
- {
- $updated = array();
- foreach($_POST["plugins_multiselect"] as $pid)
- {
- try
- {
+ if (isset($_POST["update"]) and (!empty($_POST["plugins_multiselect"]))) {
+ $updated = [];
+ foreach ($_POST["plugins_multiselect"] as $pid) {
+ try {
$plugin = Plugin::by_id($pid);
- if(!empty($plugin->updatepath))
- {
- $update_info = @unserialize(@file_get_contents($plugin->updatepath, False, $stream_ctx));
- if(is_array($update_info) and (($update_info["current-version"]+0) > ($plugin->versioncount+0)))
- {
- $pkg = PluginPackage::load(@file_get_contents($update_info["dl-path"], False, $stream_ctx));
+ if (!empty($plugin->updatepath)) {
+ $update_info = @unserialize(@file_get_contents($plugin->updatepath, false, $stream_ctx));
+ if (is_array($update_info) and (($update_info["current-version"]+0) > ($plugin->versioncount+0))) {
+ $pkg = PluginPackage::load(@file_get_contents($update_info["dl-path"], false, $stream_ctx));
$plugin->fill_from_pluginpackage($pkg);
- $plugin->update = True;
+ $plugin->update = true;
$plugin->save();
$updated[] = $plugin->name;
}
}
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
continue;
- }
- catch(InvalidPackage $e)
- {
+ } catch (InvalidPackage $e) {
continue;
}
}
- if(empty($updated))
+ if (empty($updated)) {
$ste->vars["success"] = $translation["nothing_to_update"];
- else
+ } else {
$ste->vars["success"] = str_replace("[[PLUGINS]]", implode(", ", $updated), $translation["successfully_updated_plugins"]);
+ }
}
/* Load plugin data */
$all_plugins = Plugin::all();
- $ste->vars["plugins"] = array();
- $api_incompat = array();
- foreach($all_plugins as $p)
- {
- if(!$p->installed)
+ $ste->vars["plugins"] = [];
+ $api_incompat = [];
+ foreach ($all_plugins as $p) {
+ if (!$p->installed) {
continue;
+ }
- if(!in_array($p->api, $api_compat))
+ if (!in_array($p->api, $api_compat)) {
$api_incompat[] = $p->name . ("(ID: " . $p->get_id() . ")");
+ }
- $ste->vars["plugins"][] = array(
+ $ste->vars["plugins"][] = [
"id" => $p->get_id(),
"name" => $p->name,
"versiontext" => $p->versiontext,
@@ -1804,30 +1666,28 @@ $backend_subactions = url_action_subactions(array(
"web" => $p->web,
"author" => $p->author,
"help" => !empty($p->help)
- );
+ ];
}
- if(!empty($api_incompat))
+ if (!empty($api_incompat)) {
$ste->vars["notice"] = htmlesc(str_replace("[[PLUGINS]]", implode(", ", $api_incompat), $translation["plugins_incompat"]));
+ }
echo $ste->exectemplate("/systemtemplates/pluginlist.html");
},
- "help" => function(&$data, $url_now, &$url_next)
- {
+ "help" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
- try
- {
+ try {
$plugin = Plugin::by_id($url_next[0]);
- if(empty($plugin->help))
+ if (empty($plugin->help)) {
throw new NotFoundError();
- }
- catch(DoesNotExistError $e)
- {
+ }
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "plugins";
$ste->vars["submenu"] = "";
@@ -1836,137 +1696,117 @@ $backend_subactions = url_action_subactions(array(
echo $ste->exectemplate("/systemtemplates/pluginhelp.html");
},
- "install" => function(&$data, $url_now, &$url_next)
- {
+ "install" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root, $api_compat;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "plugins";
$ste->vars["submenu"] = "installplugins";
$ste->vars["pagetitle"] = $translation["menu_plugininstall"];
$all_repos = Repository::all();
- foreach($all_repos as $repo)
- {
- try
- {
+ foreach ($all_repos as $repo) {
+ try {
$repo->refresh();
- }
- catch(RepositoryUnreachableOrInvalid $e)
- {
+ } catch (RepositoryUnreachableOrInvalid $e) {
continue;
}
}
- if(isset($_POST["installpackage"]))
- {
- if(is_uploaded_file($_FILES["pluginpackage"]["tmp_name"]))
- {
- try
- {
+ if (isset($_POST["installpackage"])) {
+ if (is_uploaded_file($_FILES["pluginpackage"]["tmp_name"])) {
+ try {
$package = PluginPackage::load(file_get_contents($_FILES["pluginpackage"]["tmp_name"]));
unlink($_FILES["pluginpackage"]["tmp_name"]);
- if(in_array($package->api, $api_compat))
- {
+ if (in_array($package->api, $api_compat)) {
$plugin = Plugin::create();
$plugin->fill_from_pluginpackage($package);
- $plugin->installed = False;
- $plugin->active = False;
+ $plugin->installed = false;
+ $plugin->active = false;
$plugin->save();
- $url_next = array("confirminstall", (string) $plugin->get_id());
+ $url_next = ["confirminstall", (string) $plugin->get_id()];
return;
- }
- else
+ } else {
$ste->vars["error"] = str_replace("[[API]]", $package->api, $translation["incompatible_plugin"]);
- }
- catch(InvalidPackage $e)
- {
+ }
+ } catch (InvalidPackage $e) {
$ste->vars["error"] = $translation["invalid_package"];
unlink($_FILES["pluginpackage"]["tmp_name"]);
}
- }
- else
+ } else {
$ste->vars["error"] = $translation["upload_failed"];
+ }
}
- if(isset($_POST["search_in_repos"]))
- {
- $ste->vars["searchresults"] = array();
+ if (isset($_POST["search_in_repos"])) {
+ $ste->vars["searchresults"] = [];
$repos_to_scan = ($_POST["searchin"] == "*") ? $all_repos : Repository::by_id($_POST["searchin"]);
$searchfor = strtolower($_POST["searchfor"]);
- foreach($repos_to_scan as $repo)
- {
- foreach($repo->packages as $pkg)
- {
- if(empty($searchfor) or (strpos(strtolower($pkg[0]), $searchfor) !== False) or (strpos(strtolower($pkg[2]), $searchfor) !== False))
- $ste->vars["searchresults"][] = array(
+ foreach ($repos_to_scan as $repo) {
+ foreach ($repo->packages as $pkg) {
+ if (empty($searchfor) or (strpos(strtolower($pkg[0]), $searchfor) !== false) or (strpos(strtolower($pkg[2]), $searchfor) !== false)) {
+ $ste->vars["searchresults"][] = [
"name" => $pkg[0],
"description" => $pkg[2],
"reponame" => $repo->get_name(),
"repoid" => $repo->get_id()
- );
+ ];
+ }
}
}
}
- $ste->vars["repos"] = array_map(function($r) { return array(
+ $ste->vars["repos"] = array_map(function ($r) {
+ return [
"id" => $r->get_id(),
"name" => $r->get_name()
- ); }, $all_repos);
+ ];
+ }, $all_repos);
echo $ste->exectemplate("/systemtemplates/plugininstall.html");
},
- "repoinstall" => function(&$data, $url_now, &$url_next)
- {
+ "repoinstall" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $rel_path_to_root;
- $stream_ctx = stream_context_create(array("http" => array("timeout" => 5)));
+ $stream_ctx = stream_context_create(["http" => ["timeout" => 5]]);
- try
- {
+ try {
$repo = Repository::by_id($_GET["repo"]);
$pkg = $repo->download_package($_GET["pkg"]);
$plugin = Plugin::create();
$plugin->fill_from_pluginpackage($pkg);
- $plugin->installed = False;
- $plugin->active = False;
+ $plugin->installed = false;
+ $plugin->active = false;
$plugin->save();
- $url_next = array("confirminstall", (string) $plugin->get_id());
- }
- catch(DoesNotExistError $e)
- {
+ $url_next = ["confirminstall", (string) $plugin->get_id()];
+ } catch (DoesNotExistError $e) {
$ste->vars["error"] = $translation["package_or_repo_not_found"];
- $url_next = array("install");
- }
- catch(InvalidPackage $e)
- {
+ $url_next = ["install"];
+ } catch (InvalidPackage $e) {
$ste->vars["error"] = $translation["invalid_package"];
- $url_next = array("install");
+ $url_next = ["install"];
}
},
- "confirminstall" => function(&$data, $url_now, &$url_next)
- {
+ "confirminstall" => function (&$data, $url_now, &$url_next) {
global $ste, $translation, $languages, $rel_path_to_root;
list($plugin_id) = $url_next;
- $url_next = array();
+ $url_next = [];
$ste->vars["section"] = "plugins";
$ste->vars["submenu"] = "installplugins";
$ste->vars["pagetitle"] = $translation["menu_plugininstall"];
- try
- {
+ try {
$plugin = Plugin::by_id($plugin_id);
- }
- catch(DoesNotExistError $e)
- {
+ } catch (DoesNotExistError $e) {
throw new NotFoundError();
}
- if($plugin->installed)
+ if ($plugin->installed) {
throw new NotFoundError();
+ }
$ste->vars["plugin_id"] = $plugin->get_id();
$ste->vars["name"] = $plugin->name;
@@ -1974,29 +1814,26 @@ $backend_subactions = url_action_subactions(array(
$ste->vars["code"] = $plugin->code;
$ste->vars["license"] = $plugin->license;
- if(isset($_POST["yes"]))
- {
- $plugin->installed = True;
+ if (isset($_POST["yes"])) {
+ $plugin->installed = true;
$plugin->save();
eval($plugin->code);
$plugin_instance = new $plugin->classname($plugin->get_id());
$plugin_instance->install();
$ste->vars["success"] = $translation["plugin_installed_successfully"];
- $url_next = array("list");
+ $url_next = ["list"];
return;
}
- if(isset($_POST["no"]))
- {
+ if (isset($_POST["no"])) {
$plugin->delete();
- $url_next = array("install");
+ $url_next = ["install"];
return;
}
echo $ste->exectemplate("/systemtemplates/confirminstall.html");
}
- )),
+ ]),
"pluginpages" => url_action_subactions($pluginpages_handlers)
-));
-
+]);
}