aboutsummaryrefslogtreecommitdiff
path: root/templates/postform.inc.php
blob: 59579c128d5d96e076b350b626f5a1f0d8ada9e3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
<?php
	if(!defined('ROOT')) die('Don\'t call this directly.');

	if(!$config['logged_in']) {
		// wrong data, kick user to login page
		header('HTTP/1.0 401 Unauthorized');
		header('Location: '.$config['url'].'/login');
		die();
	}

	$message = array();
	if(!empty($_POST['content'])) {
		
		$id = db_insert($_POST['content'], NOW);

		if($id > 0) {
			$message = array(
				'status' => 'success',
				'message' => 'Successfully posted status #'.$id
			);

			// handle files
			if(!empty($_FILES['attachments'])) {
				attach_uploaded_files($_FILES['attachments'], $id);
			}

			rebuild_feeds();

			if($config['activitypub'] == true) activitypub_notify_followers($id);
			if($config['ping'] == true) ping_microblog();
			if($config['crosspost_to_twitter'] == true) {
				$twitter_response = json_decode(twitter_post_status($_POST['content']), true);

				if(!empty($twitter_response['errors'])) {
					$message['message'] .= ' (But crossposting to twitter failed!)';
				}
			}

			header('Location: '.$config['url']);
			die();
		}
	}

	$title_suffix = 'new post';
	require(ROOT.DS.'snippets'.DS.'header.snippet.php');

?><body ontouchstart="">
	<div class="wrap">
		<?php require(ROOT.DS.'snippets'.DS.'nav.snippet.php'); ?>
		<?php if(isset($message['status']) && isset($message['message'])): ?>
		<p class="message <?= $message['status'] ?>"><?= $message['message'] ?></p>
		<?php endif; ?>
		<form action="" method="post" enctype="multipart/form-data" id="post-new-form" data-redirect="<?= $config['url'] ?>">
			<textarea name="content" maxlength="<?= $config['max_characters'] ?>"></textarea>

			<div class="post-nav">
				<label id="post-attachments-label">Add Files<input type="file" multiple="multiple" name="attachments[]" id="post-attachments" accept="image/*" /></label>
				<div id="post-droparea" class="hidden">Add Files</div>
				<ul id="post-attachments-list"></ul>
				<p id="count"><?= $config['max_characters'] ?></p>
				<input type="submit" name="" value="Post" />
			</div>
		</form>
	</div>
	<?php require(ROOT.DS.'snippets'.DS.'footer.snippet.php'); ?>
</body>
</html>