Skip to content

Commit c6e6504

Browse files
committed
#31921 — Video and audio embedding
Support for <video> and <audio> tags that embed media in posts. Their respective classes output those formatting codes as HTML5 compliant video/audio elements with <source> elements as well. They are reverted to their formatting codes for markup when viewed in a text box. Removed unused vector graphics. Modified references to "http" hyperlinks in JavaScript. Added a "video" formatting button. First pre-release.
1 parent b9def8d commit c6e6504

17 files changed

+166
-39
lines changed

README.md

+31-11
Original file line numberDiff line numberDiff line change
@@ -1,21 +1,41 @@
1-
## esoForum for Projects
2-
***Projects* (esoForum for Projects) is a web forum software** created for the sandbox discussion site [esoForum](https://esotalk.net) with which anyone can easily **create a functional and speedy forum.** It's a roughly 230¹ KB GZIP download.
3-
<br>
4-
<br>
5-
![](https://image.ibb.co/g8KXuq/whole.png)
1+
<div align="center">
62

7-
*Projects* is based off the now-defunct [esoTalk](#) forum software, created by Simon and [Toby Zerner](http://tobyzerner.com) — so remember that this isn't affiliated with the original project. Current development is provided by [esoForum](https://esotalk.net) administrators.
3+
<img src="https://grntbg.github.io/esodev/img/logo.svg" alt="eso" width="150"/><br>
4+
5+
**Forum software that's lightweight and extensible.**
6+
7+
<p align="justify"><b>eso is a web forum software</b> originally created for <a href="https://esotalk.net">geteso, the unmoderated¹ discussion board</a> which brings a whole new approach to how users interact.&nbsp&nbspUsing our software, webmasters can <b>create a functional and speedy forum</b> in a short manner of time.&nbsp&nbspIt's a small package and loads <i>freaky fast</i> on modern browsers using compression and an unsophisticated design.
8+
9+
[![Repo Size](https://img.shields.io/github/repo-size/geteso/eso)]()
10+
[![Issues](https://img.shields.io/github/issues/geteso/eso)]()
11+
[![License](https://img.shields.io/github/license/geteso/eso)]()
12+
[![Version](https://img.shields.io/github/v/release/geteso/eso?include_prereleases)]()
13+
[![PHP Version Support](https://img.shields.io/badge/php-%5E5.6.4-blue)]()
14+
15+
</div>
16+
17+
---
18+
19+
### About the project
20+
Our software is based on an earlier incarnation of an unmaintained project named [*esoTalk*](https://github.com/esotalk/esoTalk) headed by <a href="http://tobyzerner.com/">Toby Zerner</a>. We started a small, private forum by the name of "esotalk.ga" in order to test our fork of the software on the date of 2/22/18. More than three years later, our forum software now services the forum itself, which has grown significantly.
21+
22+
That doesn't mean it isn't great for individual forums, though. Since then, we've added an administrator panel, and have updated the forum software to keep in touch with modern web technologies of the present. We're still making changes as the web continues to shape itself, and as our users suggest improvements. We are not affiliated with the original *esoTalk* project.
823

924
### Creating your own forum
10-
**It's very easy to create your own forum** and doesn't require much (if any) command-line experience. **For an extremely novice tutorial, see [this tutorial](https://github.com/esoForum/esoProjects/wiki/The-novice's-guide-to-creating-an-esoProject)** but otherwise dependencies are specified below.
25+
**It's very easy to create your own forum** and doesn't require much (if any) command-line experience. **For an extremely novice tutorial, see [this tutorial](https://github.com/geteso/eso/wiki/The-beginner's-guide-to-creating-your-forum)**. Otherwise, dependencies are listed below.
1126

12-
1. **[Apache](https://apache.org)** or [lighttpd](https://www.lighttpd.net).
13-
2. A recent (latest, recommended) version of **[MySQL](https://www.mysql.com)** and an empty database.
27+
1. **[Apache](https://apache.org)** or [lighttpd](https://www.lighttpd.net) (not yet tested).
28+
2. A recent (preferably latest) version of **[MySQL](https://www.mysql.com)** and an empty database.
1429
2. **[PHP 5.3-5.6](https://www.php.net/releases/5_6_0.php)** as version seven is not yet supported.
1530
4. **PHP-MySQL and PHP-GD** extensions.
1631

17-
**For a production forum, you should serve all traffic over HTTPS/TLS.** This can easily be done by installing [LetsEncrypt](https://letsencrypt.org/). eso requires no additional configuration for HTTPS/TLS other than changing the URL in your `config.php` from `http://example.com` -> `https://example.com`.
32+
**For a production forum, you should serve all traffic over HTTPS/TLS.** This can easily be done by installing [LetsEncrypt](https://letsencrypt.org/). Our software requires no additional configuration for HTTPS/TLS other than changing the URL in your `config.php` from `http://example.com` -> `https://example.com`.
33+
34+
### Getting support
35+
The people who are responsible for heading development on this project also regularly check the discusion board that it is made for, which means that you'd be better off asking your questions [on our forum](https://geteso.org). If you're uncomfortable with that, you can always [open an issue](https://github.com/geteso/eso/issues), however we cannot guarantee a response within any short manner of time.
36+
37+
As always, the best way to contribute is by joining our forum and discussing the project with us there.
1838

1939
---
2040

21-
¹SIZE — File size measured in the unsplitted GZIP (.gz) lossless format.
41+
¹The geteso forum is not entirely unmoderated. See [our about page](https://geteso.org/751/about-the-forum/) for details.

controllers/conversation.controller.php

+10-9
Original file line numberDiff line numberDiff line change
@@ -904,10 +904,11 @@ function getEditControls($id)
904904
400 => "<a href='javascript:Conversation.strikethrough(\"$id\");void(0)' id='format-s' title='&lt;s&gt;{$language["Strike"]}&lt;/s&gt;' accesskey='t'><span>{$language["Strike"]}</span></a>",
905905
500 => "<a href='javascript:Conversation.link(\"$id\");void(0)' id='format-a' class='link' title='&lt;a href=&#39;https://example.com&#39;&gt;{$language["Link"]}&lt;/a&gt;' accesskey='l'><span>{$language["Link"]}</span></a>",
906906
600 => "<a href='javascript:Conversation.image(\"$id\");void(0)' id='format-img' title='{$language["Image"]} &lt;img src=&#39;https://example.com/image.jpg&#39;&gt;' accesskey='m'><span>{$language["Image"]}</span></a>",
907-
700 => "<a href='javascript:Conversation.quote(\"$id\");void(0)' id='format-quote' title='&lt;blockquote&gt;{$language["Quote"]}&lt;/blockquote&gt;' accesskey='q'><span>{$language["Quote"]}</span></a>",
908-
800 => "<a href='javascript:Conversation.fixed(\"$id\");void(0)' id='format-code' title='&lt;pre&gt;{$language["Fixed"]}&lt;/pre&gt;' accesskey='f'><span>{$language["Fixed"]}</span></a>",
909-
850 => "</span>",
910-
900 => "<span class='formattingCheckbox'><input type='checkbox' id='$id-previewCheckbox' class='checkbox' onclick='Conversation.togglePreview(\"$id\",this.checked)' accesskey='p'/> <label for='$id-previewCheckbox'>{$language["Preview"]}</label></span>",
907+
700 => "<a href='javascript:Conversation.video(\"$id\");void(0)' id='format-video' title='{$language["Video"]} &lt;video src=&#39;https://example.com/video.mp4&#39;&gt;' accesskey='v'><span>{$language["Video"]}</span></a>",
908+
800 => "<a href='javascript:Conversation.quote(\"$id\");void(0)' id='format-quote' title='&lt;blockquote&gt;{$language["Quote"]}&lt;/blockquote&gt;' accesskey='q'><span>{$language["Quote"]}</span></a>",
909+
900 => "<a href='javascript:Conversation.fixed(\"$id\");void(0)' id='format-code' title='&lt;pre&gt;{$language["Fixed"]}&lt;/pre&gt;' accesskey='f'><span>{$language["Fixed"]}</span></a>",
910+
950 => "</span>",
911+
1000 => "<span class='formattingCheckbox'><input type='checkbox' id='$id-previewCheckbox' class='checkbox' onclick='Conversation.togglePreview(\"$id\",this.checked)' accesskey='p'/> <label for='$id-previewCheckbox'>{$language["Preview"]}</label></span>",
911912
);
912913

913914
$this->callHook("getEditControls", array(&$controls));
@@ -1173,11 +1174,11 @@ function addMember($name)
11731174
if (!$memberId) {
11741175
switch (strtolower($name)) {
11751176
// Members
1176-
case $language["Member-plural"]:
1177-
case "members":
1178-
$memberId = "Member";
1179-
$memberName = $language["Member-plural"];
1180-
break;
1177+
// case $language["Member-plural"]:
1178+
// case "members":
1179+
// $memberId = "Member";
1180+
// $memberName = $language["Member-plural"];
1181+
// break;
11811182
// Moderators
11821183
case $language["Moderator-plural"]:
11831184
case "moderators":

js/eso.js

+3-2
Original file line numberDiff line numberDiff line change
@@ -1778,8 +1778,9 @@ bold: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<b>", "</b
17781778
italic: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<i>", "</i>");},
17791779
strikethrough: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<s>", "</s>");},
17801780
header: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<h1>", "</h1>");},
1781-
link: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<a href='http://example.com'>", "</a>", "http://example.com", "link text");},
1782-
image: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<img src='", "'>", "", "http://example.com/image.jpg");},
1781+
link: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<a href='https://example.com'>", "</a>", "https://example.com", "link text");},
1782+
image: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<img src='", "'>", "", "https://example.com/image.jpg");},
1783+
video: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<video src='", "'>", "", "https://example.com/video.mp4");},
17831784
fixed: function(id) {Conversation.wrapText(getById(id + "-textarea"), "<pre>", "</pre>");},
17841785

17851786
// Quotes.

languages/English (casual).php

+1
Original file line numberDiff line numberDiff line change
@@ -212,6 +212,7 @@
212212
"Use default logo" => "Use default logo",
213213
"Username" => "Username",
214214
"version" => "version %s",
215+
"Video" => "Video",
215216
"Viewing" => "Viewing:",
216217
"viewingPosts" => "<b>%s-%s</b> of %s posts",
217218

0 commit comments

Comments
 (0)