aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristian Weiske <cweiske@cweiske.de>2014-05-08 22:29:09 +0200
committerChristian Weiske <cweiske@cweiske.de>2014-05-08 22:29:09 +0200
commit0b76a56ce249146702d7e7b23a74d5b3ef290174 (patch)
tree295feeee6cef47843a72ba7182807ee311533919
parent38aa0dc6133ff53d20fd9f714eb380809c8dba67 (diff)
downloadphorkie-0b76a56ce249146702d7e7b23a74d5b3ef290174.tar.gz
phorkie-0b76a56ce249146702d7e7b23a74d5b3ef290174.zip
display success flash message after forking
-rw-r--r--data/templates/display-head.htm7
-rw-r--r--data/templates/flashmessages.htm6
-rw-r--r--src/phorkie/FlashMessage.php27
-rw-r--r--www/display.php1
-rw-r--r--www/fork-remote.php1
-rw-r--r--www/fork.php2
6 files changed, 37 insertions, 7 deletions
diff --git a/data/templates/display-head.htm b/data/templates/display-head.htm
index ba1f467..f610f84 100644
--- a/data/templates/display-head.htm
+++ b/data/templates/display-head.htm
@@ -1,9 +1,4 @@
-{% if forksuccess %}
-<div class="alert alert-success">
- <a href="#" class="close" data-dismiss="alert">×</a>
- Paste has been successfully forked.
-</div>
-{% endif %}
+{% include 'flashmessages.htm' %}
<h1>{{repo.getTitle}}</h1>
<div class="row repo-info">
diff --git a/data/templates/flashmessages.htm b/data/templates/flashmessages.htm
new file mode 100644
index 0000000..3ea654a
--- /dev/null
+++ b/data/templates/flashmessages.htm
@@ -0,0 +1,6 @@
+{% for msgdata in flashmessages %}
+<div class="alert alert-{{msgdata.type}}">
+ <a href="#" class="close" data-dismiss="alert">×</a>
+ {{msgdata.msg}}
+</div>
+{% endfor %} \ No newline at end of file
diff --git a/src/phorkie/FlashMessage.php b/src/phorkie/FlashMessage.php
new file mode 100644
index 0000000..80b8824
--- /dev/null
+++ b/src/phorkie/FlashMessage.php
@@ -0,0 +1,27 @@
+<?php
+namespace phorkie;
+
+class FlashMessage
+{
+ public static function save($msg, $type = 'success')
+ {
+ $_SESSION['flashmessages'][] = array(
+ 'msg' => $msg,
+ 'type' => $type
+ );
+ }
+
+ public static function getAll()
+ {
+ if (!isset($_SESSION['flashmessages'])
+ || !is_array($_SESSION['flashmessages'])
+ ) {
+ return array();
+ }
+
+ $msgs = $_SESSION['flashmessages'];
+ unset($_SESSION['flashmessages']);
+ return $msgs;
+ }
+}
+?>
diff --git a/www/display.php b/www/display.php
index a41f4a8..be79e4b 100644
--- a/www/display.php
+++ b/www/display.php
@@ -21,6 +21,7 @@ render(
'repo' => $repo,
'dh' => new \Date_HumanDiff(),
'htmlhelper' => new HtmlHelper(),
+ 'flashmessages' => FlashMessage::getAll(),
)
);
?>
diff --git a/www/fork-remote.php b/www/fork-remote.php
index f41f981..096f432 100644
--- a/www/fork-remote.php
+++ b/www/fork-remote.php
@@ -26,6 +26,7 @@ if (isset($_REQUEST['remote_url'])) {
$new = $forker->forkRemote(
$gitUrl['url'], $fr->getUrl(), $gitUrl['title']
);
+ FlashMessage::save('Remote paste has been forked');
redirect($new->getLink('display', null, true));
} catch (\Exception $e) {
$error = $e->getMessage();
diff --git a/www/fork.php b/www/fork.php
index 352f8bc..cddf2bb 100644
--- a/www/fork.php
+++ b/www/fork.php
@@ -16,6 +16,6 @@ $repo->loadFromRequest();
$forker = new Forker();
$new = $forker->forkLocal($repo);
-//FIXME: where to put fork source link?
+FlashMessage::save('Paste has been forked');
redirect($new->getLink('display', null, true));
?>