Git Product home page Git Product logo

ban's Introduction

Elgg

PHPUnit test suites Scrutinizer Quality Score Scrutinizer Code Coverage Read the docs build status

Elgg is an open source rapid development framework for socially aware web applications.

Features

  • Well-documented core API that allows developers to kick-start their new project with a simple learning curve
  • Composer is the package manager of choice that greatly simplifies installation and maintenance of Elgg core and plugins
  • Flexible system of events that allows plugins to extend and modify most aspects of application's functionality and behavior
  • Extendable system of views that allows plugins to collaborate on application's presentation layer and built out complex custom themes
  • Cacheable system of static assets that allows themes and plugins to serve images, stylesheets, fonts and scripts bypassing the engine
  • User authentication is powered by pluggable auth modules, which allow applications to implement custom authentication protocols
  • Security is ensured by built-in anti CSRF validation, strict XSS filters, HMAC signatures, latest cryptographic approaches to password hashing
  • Client-side API powered by asynchronous ES modules and a built-in Ajax service for easy communication with the server
  • Flexible entity system that allows applications to prototype new types of content and user interactions
  • Opinionated data model with a consolidated API layer that allows the developers to easily interface with the database
  • Access control system that allows applications to build granular content access policies, as well as create private networks and intranets
  • Groups - out of the box support for user groups
  • File storage powered by flexible API that allows plugins to store user-generated files and serve/stream them without booting the engine
  • Notifications service that allows applications to subscribe users to on-site and email notifications and implement integrations with other their-party services
  • RPC web services that can be used for complex integrations with external applications and mobile clients
  • Internationalization and localization of Elgg applications is simple and can be integrated with third-party services such as Transifex
  • Elgg community that can help with any arising issues and hosts a repository of 1000+ open source plugins

Under the hood:

  • Elgg is a modular OOP framework that is driven by DI services
  • NGINX or Apache compatible
  • Symfony2 HTTP Foundation handles requests and responses
  • modular javascript with ECMAScript modules
  • Laminas Mail handles outgoing email
  • htmLawed XSS filters
  • DBAL
  • Phinx database migrations
  • CSS-Crush for CSS preprocessing
  • Imagine for image manipulation
  • Persistent caching with Memcached and/or Redis
  • Error handling with Monolog

Elgg Foundation

Elgg is managed by the Elgg Foundation, a nonprofit organization that was founded to govern, protect, and promote the Elgg open source social network engine. The Foundation aims to provide a stable, commercially and individually independent organization that operates in the best interest of Elgg as an open source project.

The Elgg project was started in 2004 by

License

Copyright (c) 2008-2023, see COPYRIGHT.txt

Elgg is released under the GNU General Public License (GPL) Version 2 and the Massachusetts Institute of Technology (MIT-X11) License.

See LICENSE.txt in the root of the package you downloaded.

Installation

For installation instructions, see http://learn.elgg.org/en/stable/intro/install.html.

For upgrade instructions, see http://learn.elgg.org/en/stable/admin/upgrading.html.

Support

The project site can be found at https://elgg.org/.

Visit http://learn.elgg.org for more information about Elgg.

Contributors

For development credits, see CONTRIBUTORS.txt.

ban's People

Contributors

brettp avatar cash avatar ewinslow avatar lianglee avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar

ban's Issues

Admin can able to ban himself.

Admin can able to ban himself, in ban_user_hover_menu function :

if (elgg_get_logged_in_user_guid() == $user->getGUID) {
return $menu;
}
change to
if (elgg_get_logged_in_user_entity() == $user) {
return $menu;
}

can hide a ban menu from admin profiles

why elgg_get_logged_in_user_entity() changed to elgg_get_logged_in_user_guid() at line number 33 ?

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.