GithubHelp home page GithubHelp logo

vanilla / vanilla Goto Github PK

View Code? Open in Web Editor NEW
2.8K 120.0 764.0 160.19 MB

Vanilla is a powerfully simple discussion forum you can easily customize to make as unique as your community.

Home Page: https://open.vanillaforums.com

License: GNU General Public License v2.0

PHP 55.23% JavaScript 6.40% CSS 2.01% Smarty 0.26% HTML 2.81% Shell 0.06% TypeScript 29.49% Hack 0.24% SCSS 3.07% Twig 0.41% Dockerfile 0.02%
community-forums forums community discussion-board vanilla-forums

vanilla's Introduction

Vanilla Repo Logo

[![](https://img.shields.io/github/license/vanilla/vanilla.svg)](https://github.com/vanilla/vanilla/blob/master/LICENSE) [![CircleCI](https://circleci.com/gh/vanilla/vanilla/tree/master.svg?style=svg)](https://circleci.com/gh/vanilla/vanilla/tree/master)

Howdy, Stranger!

Vanilla was born out of the desire to create flexible, customizable, and downright entertaining community solutions. Vanilla has been used to power tens of thousands of community forums around the world and we couldn't be happier if you've decided to use Vanilla to grow yours.

Forum Rich Editor Dashboard
image image image

Every community is unique. Vanilla is a finely-crafted platform on which designers and developers can build a custom-tailored environment that meets your community's particular needs.

5 reasons Vanilla is the sweetest forum

  1. We've reimagined traditional forums for mass-appeal.
  2. Our theming flexibility is second-to-none.
  3. Impossibly good integration options with single sign-ons and embedding.
  4. The best tools available for community management.
  5. Curated features with great plugin options, not the kitchen sink.

Installation

The current version of Vanilla requires PHP 7.2+ and MySQL 5.7+. The following PHP extensions are also required: cURL, DOM, Fileinfo, GD, intl, JSON, libxml, PDO

Upgrading from an earlier version of Vanilla? See our upgrade notes.

Changes to Fulltext Indexing

Full-text index support has been disabled by default as of Vanilla 4. To enable full-text index support, add a FullTextIndexing key under the Database section of your site config and set its value to true. Failure to add this config value will result in full-text indexes being removed from Vanilla's database tables.

Contributing

Getting Help

Reporting Security Issues

Please disclose security issues responsibly by emailing [email protected] with a full description or join our bug bounty program. We cannot award bounties outside that program.

We'll work on releasing an updated version as quickly as possible. Please do not email non-security issues; use the issue tracker instead.

Building Releases

Vanilla releases are built using Phing to create a pre-built deploy-ready copies of Vanilla. To build these run the following in the root of the repository.

./bin/release

The following dependenies are all required for building a release.

  • node
  • yarn
  • php
  • composer

License & Legal Stuff

Vanilla is free, open source software distributed under the license gpl-2.0-only. We accept and encourage contributions from our community and sometimes give hugs in return.

Copyright © 2009-2022 Vanilla Forums Inc.

Vanilla Forums is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 2 of the License, or (at your option) any later version.

Vanilla Forums is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

See the GNU General Public License for more details. You should have received a copy of the GNU General Public License along with Vanilla Forums.

If not, see http://www.gnu.org/licenses/. Contact Vanilla Forums Inc. at support [at] vanillaforums [dot] com

Bonk!

Just kidding, everything's awesome. dance

vanilla's People

Contributors

adrianspeyer avatar alex-mtl avatar alexbrohman avatar alexei-paj avatar beckyvb avatar bleistivt avatar blutarch avatar cchabilall83 avatar charrondev avatar daazku avatar danemacmillan avatar danni-stark avatar hgtonight avatar igraziatto avatar imnotjames avatar initvector avatar jasonbarnabe avatar johnincog avatar jreko avatar kaecyra avatar kasperisager avatar linc avatar markosullivan avatar mtschirs avatar nervoustwit avatar r-j avatar sirlancelot avatar tburry avatar tigr avatar tuan-ng avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

vanilla's Issues

Non standard database table prefixes are not well supported

In my SetupController, if I want to change the database table prefix, which I imagine will be common for anyone creating a new app, I have to do this:

$Database = Gdn::Database();
$Config = Gdn::Factory(Gdn::AliasConfig);
$Drop = Gdn::Config('Cities Online.Version') === FALSE ? TRUE : FALSE;
$Explicit = TRUE;
$Construct = $Database->Structure();
$Validation = new Validation();

// Set our special prefix.
$Database->DatabasePrefix = 'CON_';
$Construct->DatabasePrefix('CON_');

I thought I could get away with only setting it in $Construct. However, if I later want to run queries in my structure.php file, I also have to set it in $Database, or the queries will be using the GDN_ prefix. It would be nice to only have to set it in one place.

Fatal Error in PHP.ErrorHandler();

Fresh install of Garden, first time going to folder, get some nasty errors.

Here is the full error page, sorry that it's messy.

Fatal Error in PHP.ErrorHandler();
file_put_contents(/var/www/gdn/cache/locale_mappings.php) [function.file-put-contents]: failed to open stream: Permission denied
The error occurred on or near: /var/www/gdn/library/core/class.filesystem.php

286: * @param string $FileName The full path and name of the file to be saved.

287: * @param string $FileContents The contents of the file being saved.

288: */

289: public function SaveFile($FileName, $FileContents) {

290: file_put_contents($FileName, $FileContents);

291: return TRUE;

292: }

293:

294: /**

Backtrace:

[/var/www/gdn/library/core/functions.error.php:126] PHP::include();

[/var/www/gdn/library/core/functions.error.php:126] PHP::ErrorHandler();

[/var/www/gdn/library/core/class.filesystem.php:290] PHP::file_put_contents();

[/var/www/gdn/library/core/class.locale.php:114] FileSystem->SaveFile();

[/var/www/gdn/library/core/class.locale.php:63] Gdn_Locale->Set();

[/var/www/gdn/bootstrap.php:105] Gdn_Locale->__construct();

[/var/www/gdn/index.php:26] PHP::require_once();

Variables in local scope:

[FileName] '/var/www/gdn/cache/locale_mappings.php'

[FileContents] '<?php if (!defined('APPLICATION')) exit();
$LocaleSources['en-CA'][] = '/var/www/gdn/applications/garden/locale/en-CA/definitions.php';'

Need Help?

If you are a user of this website, you can report this message to a website administrator.

If you are an administrator of this website, you can get help at the Lussumo Community Forums.
Additional information for support personnel:

* Application: Garden
* Application Version: 1.0
* PHP Version: 5.2.6-3ubuntu4.1
* Operating System: Linux
* User Agent: Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.5; en-US; rv:1.9.1) Gecko/20090615 Firefox/3.5
* Request Uri: /gdn/index.php/garden/gardensetup
* Controller: PHP
* Method: ErrorHandler

Draft Count Won't Update

[Originally submitted by JCBarry on old issue tracker]

In the discussions drop down, the My Drafts count still reads "1" after deleting all drafts.

Verbiage on Registration

[Originally submitted by JCBarry on old issue tracker]

It may be a matter of opinion, but the "Name" label in the registration form should also be used in the log in form, on the left, instead of the "Username" label.

Can't sign in with Opera 8.51 when JavaScript on (handleAjaxForm/Post in place)

[Originally submitted by x00 on old issue tracker]

Simply can't sign-in. Clicking 'Sign me in!' does nothing.

Also fairly obvious that JavaScript? seems to affect the default styling quite a bit, which is not desirable. There should be consistency unless it is a special effect. Will talk about IE/Opera styling in another ticket.

It is good that you are using text and json for your ajax as opera 8 can't handle xml (why anyone would use xml is beyond me), but there is clearly a bug here and it probably applies to many forms not just the logon.

I think you need to at least trap the error and make sure it falls back to a non JavaScript? solution.

Cancelled drafts get saved

[Originally submitted by Mike.XIII on the old issue tracker]

Start a new discussion
Type some random things
Save the draft or wait for it to be auto saved
Click the cancel button

Since you clicked "cancel" it pretty much means you don't care about the discussion and don't want to post, so I don't think it should keep a saved copy of the draft, it should be removed.

But then again, it works great if you want to save the draft and post at a later time.

Therefore, there should be separate buttons; One to scrap the draft, one to save for later use.
Because as-is, if you really do want to scrap the new discussion you have to check the 'My Drafts' view, find it, and then delete it.

Permalinks in Comments & Replies

There is currently no permalink hyperlink for people to use for linking directly to comments and/or replies in Vanilla. This is a must-have.

single 'line-breaks' are ignored

[Originally submitted by mumpitz on old issue tracker]

2 line breaks are required are required when writing to receive a single line break when displaying. Example:
"Hello
How are you?"
Becomes
"Hello How are you?"

Following App Quick Start documentation results in Fatal Error of Illegal offset type

See http://v2.settlersonline.net/index.php/citiesonline/games for the error, which is "Illegal offset type" in /homepages/46/d236349463/htdocs/v2.settlersonline.net/library/core/class.controller.php, 338.

I followed the steps in the quick start guide to create an application. I was able to configure the application to appear in the applications section. I successfully added a new Controller called GamesController, which extends CitiesOnlineController, and got the same error page in the guide when I visited it before creating the view.

I then created a view in /citiesonline/views/games/index.php where the contents of index.php is simply "Hello World!" (no quotes). Visiting the page then gives the fatal error.

Home & Garden (DefaultController)

Just installed Garden.
Only initial problem is with the site root which always outputs the /applications/garden/views/home/filenotfound.php (htaccess on and off).

Tried editing the DefaultController route to other pages but no joy.

Linux/PHP5.2/MySQL5/Apache

Cannot save user registration settings

If you select "Closed" as the user registration setting, you can not save. It gives you the error: "You must select at least one role." but the role selector is hiden by javascript. So you have to select any other registrations mode, select a role and change back to "Closed" to get it work.

How it should be: garden should not check for a role if "Closed" is selected.

Fatal Error in PHP.ErrorHandler();

I get this when trying to install Vanilla. Everything is right with the database host, name, password, and my credentials. I don't know what else could be wrong. :(

Declaration of Gdn_RoleModel::Save() should be compatible with that of Model::Save()
The error occurred on or near: /homepages/27/d259285679/htdocs/www/convoe/applications/garden/models/class.rolemodel.php

254:

255: // Remove the role

256: $this->SQL->Delete('Role', array('RoleID' => $RoleID));

257: }

258: }

eastern language wrong code in editor

[Originally submitted by BigFat on old issue tracker]
http://vanilla2.com/discussion/9010/#Item_1

if i use Chinese languange in discussion/reply content, it can be post correctly into post/draft/preview once.

but, if i edit it again via edit post/draft form, it display wrong code in textarea.

the subject field is okay.

btw, the preview button is not wysiwyg?

Default style IE/Opera bleh

[Originally submitted by x00 on old issue tracker]

Bleh...:/

I probably don't need to post more description than that, see for yourself. The earlier versions like IE 5 are worse, not even close as intended.

Personally my view is isn't major on the one hand, but it is good to lead by example so they default style should be as clean as possible, without having to resort to hacks.

If you want any help with the css just say the word.

Changed 8 weeks ago by mark

I do. I haven't spent very much time on the css, and I've only been developing with Firefox and Chrome (and very rarely IE). I was going to try to tackle the cross-browser issues after the back-end issues are resolved.

Changed 8 weeks ago by x00

Ok I can test for IE 5+ (i can test earlier but don't usually bother), opera which should be pretty similar, gecko/firefox 1+, some webkit like chrome/swift. Get back to you.

Changed 8 weeks ago by x00

Ok I have made a start fixed some fairly major graphical errors through css mainly in IE like the main menu, pre and code spill, a bunch of whitespace in the discussion rows. I would be better if I could set up a sandbox on my test sever. It a bit limited working from static files offline, and having to download all the dependencies.

Changed 8 weeks ago by x00

No matter I managed to knock up a neat little proxy that enables me to filter local dependencies (css) and apply it to the live site regardless of what browser I'm using without changing any mark-up. Works like a charm.

Changed 8 weeks ago by x00

I notice you cahnged vanilla.css to vanill.screen.css unless I am mistaken. WTF nearly caught me out there LOL.

Profile view error

Clicking on my username or either of the dropdown items (Notifications, My Activity) in Vanilla 2 gives me the following error:

Fatal error: Call to undefined function getallheaders() in /path/to/installation/library/core/class.controller.php on line 913

Currently running PHP 5.2.8, MySQL 5.0.77

Clean install, single user, didn't touch a thing, honest guv'nor.

Auto Expanding (grow) Textarea

[Originally submitted by x00 on old issue tracker]

Regards Auto Expanding Text Area (1.2.2) by www.chrysbader.com

If you keep posting a bunch of text (paragraphs) in the comment box on new discussion or when commenting, it auto-extends the box but it doesn't scroll properly the end of the text (or extend far enough) and caret and text become chopped off. You can scroll to the bottom by pressing down arrow, however then the top becomes chopped off

Browsers the exhibit this behaviour:
Firefox 3
Firefox 2

Browsers that don’t appear to exhibit this bug:
IE 6
IE 7
Google Chrome 1
Opera 9.5
Opera 9.26*

*Browsers that have a slightly different bug:
Opera 9.26 – if you keep posting text it extend but the bottom of the comment box bounces up and down like an animation. To be honest this is typical Opera graphical bug and there is probably not much you can do about it other than remove any unnecessary effects.

Feature disabled traditional scroll bar (no problem):
Firefox 1

Feature disabled traditional scroll bar (problem):
Opera 8.51 – couldn’t sign in at all without disabling JavaScript? (writing separate ticket). JavaScript? seemed to affect the styling too much, which is not desired. It would also be nice that once you post the caret is in view however it isn’t a biggie.

Proposed Fix
First you need a handle to resize the textarea like the default in Google chrome, otherwise you should enable the scroll bar at the very least.

Second if you play with line height you can get it working. For instance in Firefox 3 change line height from 128% to 17px and it seems to work nicely.

I can play around with it some more and modify the JavaScript? if you like

Opera layout glitches

[Originally submitted by Simba Cub on old issue tracker]

Opera:
Version 9.62; Build 5256

Mac OS 10.5.6 (9G55)

Various menus are not lain out correctly. Instead of staying on the same line, various options are cropped and forced onto the next line. For some reason I can't get a snapshot of it - sorry!

HTML passes to Gdn::Translate

class ConversationsHooks :: Base_Render_Before ()

$Inbox = Gdn::Translate('Inbox'); ... // <--

$Inbox .= '<span>'.$CountUnreadConversations.'</span> ... // It will be translated again in Gdn_MenuModule::ToString()

$Sender->Menu->AddLink( $Inbox ...

I think need to add new parameter to AddLink() / AddItem() function: $Suffix
It was in Vanilla 1 in Panel::AddListItem()

Clicking Username->Notifications gives an undefined method error

Fatal error: Call to undefined method Gdn_DatabaseDebug::Update() in /homepages/46/d236349463/htdocs/v2.settlersonline.net/applications/garden/controllers/profile.php on line 190

This is after successfully applying the patch resolution in issue 3.

This is with the Debugger plugin enabled. With it disabled, the error still occurs, but with:

Fatal error: Call to undefined method Gdn_Database::Update() in /homepages/46/d236349463/htdocs/v2.settlersonline.net/applications/garden/controllers/profile.php on line 190

Declaration of Gdn_UserModel::Get() should be compatible with that of Model::Get()

I suddenly started seeing this on my site. Since it's just a playground right now, I completely nuked it, deleted every file off the host, wiped all database tables, downloaded the latest from github, and reuploaded a clean install.

The installer page shows up correctly, but as soon as I enter the correct database values and click Continue, this error shows up again and the installation does not finish.

Mark discussions as read

Is there anything planned to be able to mark discussions/categories or even the entire forum as read? In other forum solutions I use this function a lot to be able to tell what's new since my last visit.

Right now I can easily see what I haven't read yet, and that's fine, but unread doesn't necessarily mean it's new. Something as simple as changing the x new background color would work; Yellow to indicate unread, some other color to indicate new since last visit.

Source: http://vanilla2.com/discussion/9007/Mark-as-read

Edit My Account won't close on save..

Seems to happen to any form that has a submit button, including Change My Password as well. The values get written to the database, but the form itself never closes, leaving the 3 box animation playing until the user manually closes it.

This first showed up after I branched in e0a4f9f, so it's probably something to do with the DELIVERY_TYPE work.

Delete User & Content

Need to add functionality to garden (and attach vanilla and conversations to it) that allows user accounts and related info to be removed (there are laws in the UK that require this feature).

Conversations Recipient Input Cleanup

The recipient input in Conversations needs better functionality. I don't like that it currently relies on the name being posted. I'd rather have it store the name and userid of the users who were added. I'd like to be able to make it only add a user one time (you can currently enter the same name repeatedly). I'd like to be able to "x" a name off the list - similar to facebook's recipient input on their internal mail app.

Image manipulation capabilities not checked during processing

I set the application up to validate if the installation has image upload capabilities during the setup procedure. However, we just moved to a new server and didn't go through the setup procedure. When I attempted to upload an image, I got this error:

Fatal error: Call to undefined function imagecreatefromjpeg() in /var/www/garden/library/core/class.uploadimage.php on line 112

Which means that I should be checking for those capabilities any time they are being used just in case something like this happens.

Failed Installation!

Unknown MySQL server host 'localhost:3307'
I think you should fix library/core/functions.general.php
function GetConnectionString() . Add port parameter.
//return mysql:host=xxx;port=xxx;dbname=xxx'
//return $ServerType.':host='.$HostName.';dbname='.$DatabaseName;

Update documentation format

There is still a lot of leftover "bad" documentation in the code that needs to be converted to phpdoc syntax. If anyone wants to help with this, please step up!

Password Reset Request Form Doesn't Work

I entered my email address, clicked to request a new password, and eventually it just removed the spinner and re-presented the form. No status message or anything. I never received the email either.

New Discussion Category Selection

Automatically select 'Category' with new discussion. For example, I was in the category named 'Vanilla' and wanted to post a new discussion, but when I click the 'Start a New Discussion" button the category is set to 'General' instead of 'Vanilla'.

Plugin manager doesn't check application requirements properly

[Originally added by Todd at our old issue tracker]
I created a plugin with the following application requirements in $PluginInfo?:

'RequiredApplications?' => array('Vanilla' => '2')

However, the ApplicationManager?->_EnabledApplications does not seem to store version information to bass into CheckRequirements?() (library/core/functions.general.php). The only way that an application requirement can be added is to leave the version as an empty string:

'RequiredApplications?' => array('Vanilla' => )

The call starts in library/core/class.pluginmanager.php line 332.

PhotoID in gdn_user table

You don't need PhotoID column inside the gdn_user table, as it is linked to the gdn_photo table via gdn_userphoto table

authentication fails with alternative http port

[Originally submitted by dinoboff on old issue tracker]

I just tried garden on MAMP and the authentication fails with the default MAMP installation on port 8888.

After changing the port to 80 and modifying $ConfigurationGarden?Cookie?Domain? in conf/configuration.php (was set to localhost:8888).

Too many connections.

Fatal error: Uncaught exception 'PDOException' with message 'SQLSTATE[08004] [1040] Too many connections'
PDO falls too often on localhost oO (one user, one connection)
OS: Win XP SP3, PHP 5.2.4, MySQL 5.0.45

No way to set a column as an INDEX

It would be nice if, on construction of tables in structure.php, there was a way to declare a column as an INDEX. The $KeyType parameter is limited to just 'primary' or 'key'.

Different sizes for foreign key type column fields

RoleID in the gdn_userrole is int(2) and in gdn_role its int(11)
Assuming these are same keys that will link when doing inner joins.
These should be of same length, either int(2) or int(11)
Same goes UserID and DiscussionID and others

Views and Forms: Double translate

In applications\vanilla\views\post\comment.php (and in som other files) we see picture like this:
echo $this->Form->Button(Gdn::Translate('Preview'));
In result we are getting this code:
input type="submit" class="Button" value="Просмотр" name="Comment/%D0%9F%D1%80%D0%BE%D1%81%D0%BC%D0%BE%D1%82%D1%80" id="Form__Просмотр_" />

install error

fyi
tried an install on server running version: 5.0.67

receive message trying to access garden folder:

Parse error: syntax error, unexpected T_OBJECT_OPERATOR in /home/deel/de3l.com/garden/index.php on line 30

Style the CommentScore plugin

I haven't styled the CommentScore plugin in plugins/CommentScore/commentscore.css. This affects the comments page.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.