Giter Site home page Giter Site logo

e107inc / e107 Goto Github PK

View Code? Open in Web Editor NEW
315.0 72.0 212.0 90.15 MB

e107 Bootstrap CMS (Content Management System) v2 with PHP, MySQL, HTML5, jQuery and Twitter Bootstrap. Issue Discussion Room: https://gitter.im/e107inc/e107

Home Page: https://e107.org

License: GNU General Public License v3.0

PHP 82.80% BlitzBasic 0.01% SuperCollider 0.17% HTML 0.17% CSS 7.70% JavaScript 8.99% Scala 0.02% SaltStack 0.03% Clojure 0.03% Go 0.01% BitBake 0.07%
php cms mysql twitter-bootstrap jquery content-management fast bootstrap e107 bootstrap4 bootstrap5 php8 mariadb installation-wizard newer html

e107's Introduction

e107 Content Management System

Supported PHP Versions GitHub release GitHub Workflow "Unit Tests" Status Code coverage Join the chat at https://gitter.im/e107inc/e107 Download e107

e107 is a free and open-source content management system (CMS) which allows you to manage and publish your content online with ease. Developers can save time in building websites and powerful online applications. Users can avoid programming completely! Blogs, websites, intranets โ€“ e107 does it all.

Table of Contents

Requirements

Minimum

  • A web server (Apache or Microsoft IIS) running PHP 7.4 or newer
  • MySQL 4.x or newer, or MariaDB
  • FTP access to your web server and an FTP client (such as FileZilla)
  • Username and password to your MySQL database

Recommended

  • Apache 2.4 or newer on Linux
  • PHP 7.4 or newer
  • MySQL 5.6 or newer, or MariaDB 10.3 or newer
  • A registered domain name
  • Access to a server control panel (such as cPanel)

Version Guidance

Version Status Last Release PHP Version
1.0.x EOL v1.0.4 >= 5.6
1.0.4 EOL v1.0.4 >= 5.6
2.0.x EOL v2.3.3 >= 7.4
2.1.x EOL v2.3.3 >= 7.4
2.2.x EOL v2.3.3 5.6 - 7.4
2.3.2 OK v2.3.3 5.6 - 8.1.*
2.3.3 Latest v2.3.3 7.4 - ^8.2.12

Installation

Standard Installation

  1. Download e107.
  2. Unzip/Extract the compressed file onto your desired web root. This is often a folder called public_html.
  3. Point your browser to the install.php script (e.g., https://example.com/subfolder/install.php)
  4. Follow the installation wizard in your browser.

Git Installation (developer version)

  1. Run the following commands, replacing '~' with your document root (the parent of public_html) and xxx:xxx is the intended owner of your e107 files.
    cd ~
    git clone https://github.com/e107inc/e107.git public_html	
    chown -R xxx:xxx public_html 
    
  2. Point your browser to the install.php script (e.g., https://example.com/subfolder/install.php)
  3. Follow the installation wizard in your browser.

Reporting Bugs

Be sure you are using the most recent version of e107 prior to reporting an issue. You may report any bugs and make feature requests e107's GitHub Issues page.

Contributing to Development

  • Please submit 1 pull request for each GitHub issue you work on.
  • Make sure that only the lines you have changed actually show up in a file-comparison (diff). Some text editors alter every line; this should be avoided.
  • It is recommended to configure git pull to rebase on the master branch by default to avoid unnecessary merge commits. You can set this up in your copy of the repo's .git/config file like so:
    [branch "master"]
      rebase = true
    
  • See the CONTRIBUTING document for a tutorial on getting started.

Donations

If you like e107 and wish to help it to improve, please consider making a small donation.

  • PayPal: donate (at) e107.org

Support

Having trouble getting e107 up and running? Something not working the way you think it should? Unfortunately we don't have time to maintain a full e107 support community ourselves, but there are a few ways to get help.

  • If you think you have found a bug, then please see the section below on Reporting Bugs.
  • If you need help with how to use e107 or a development question (such as how to create a theme or plugin) - please see our docs.
  • You can also seek assistance in the Github Discussions area where you can get friendly community support from other users.
  • For real-time technical chat, and community support, please visit us on Gitter.
  • For other comments, please use our official community presences on Facebook, and Twitter as well as unofficial community presences on Google+ and Reddit.

License

e107 is released under the terms and conditions of the GNU General Public License (http://www.gnu.org/licenses/gpl.txt) This changed.

e107's People

Contributors

arunshekher avatar billyboy0823 avatar camer0n avatar deltik avatar dependabot[bot] avatar dimante avatar durandalwoz avatar farr3ll avatar jburns131 avatar jimmi08 avatar laochexe avatar lonalore avatar lucafilosofi avatar martyshep avatar mcpeace-maw avatar mikeygmt avatar moc avatar myovchev avatar nesjett avatar nlstart avatar oudoken avatar phibel avatar pricey1981 avatar rica-carv avatar serios avatar simsync avatar str82u avatar tgtje avatar waskosky avatar yesszus 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

e107's Issues

Js Manager has issues with Theme Preview

Previewing a Theme causes style.css to not be found/loaded.

ie. While previewing (Theme CSS is empty):

<!-- [JSManager] Other CSS -->
<link rel="stylesheet" media="all" type="text/css" href="http://code.jquery.com/ui/1.9.2/themes/base/jquery-ui.css" />
<link rel="stylesheet" media="all" type="text/css" href="/e107_2.0/e107_themes/jayya/?1354069699"  />

and Regular view:

 <!-- [JSManager] Theme CSS -->
<link rel="stylesheet" media="all" type="text/css" href="/e107_2.0/e107_themes/jayya/style.css?1354069699" />

front.jquery.js e-comment-submit no longer functioning correctly

prependTo and appendTo are failing as of the jquery update.
The result is that comments are not shown immediately (via ajax)

$("#comment").val('');

if(pid != 0)
{
        $('#comment-'+pid).after(a.html).hide().slideDown(800); 
}
else if(sort == 'desc')
{
        $(a.html).prependTo('#comments-container').hide().slideDown(800);   // FIXME - works in jquery 1.7, not 1.8
}
else
{
        $(a.html).appendTo('#comments-container').hide().slideDown(800); // FIXME - works in jquery 1.7, not 1.8
        alert('Thank you for commenting'); // possibly needed as the submission may go unoticed by the user
}  

Plugin Admin permissions enhancement

Switch to better admin permission plugin format.

  • Old: 'P1' where '1' is the plugin Id
  • New: 'Pname' where 'name' is the plugin unique string (folder name)

New methods (user model) for checking front end permissions. Ensure BC for getperm().

Fatal error in Admin -> Banlist

Fatal error: Undefined class constant 'BAN_TYPE_LEGACY' in

\e107_handlers\iphandler_class.php on line 1319

recurring issue.

Strict Standards: Non-static method

Strict Standards: Non-static method ecache::retrieve_sys() should not be called statically, assuming $this from incompatible context in \e107_handlers\pref_class.php on line 612

Strict Standards: Non-static method ecache::cache_fname() should not be called statically, assuming $this from incompatible context in \e107_handlers\cache_handler.php on line 108
what happened to db_debug??!!

It is possible to correct it?

Custom page navigation

When create custom page with sub-pages ([newpage=bla bla]) navigation ({CPAGENAV} short code) not working when SEF is ON.

LAN_SIGNUP_29 "signup.php?stage1"

Please enter your details below. LAN_SIGNUP_29

If you do not wish to display your email address on this site, please select 'Yes' for the 'Hide email address?' option.
Usernames and passwords are case-sensitive.
Please enter your details below. LAN_SIGNUP_29

when adding "Text to display on signup page" in the admin panel, the last line in the above message disappeared and what remain is this:

Please enter your details below. LAN_SIGNUP_29

If you do not wish to display your email address on this site, please select 'Yes' for the 'Hide email address?' option.
Usernames and passwords are case-sensitive.

The seconed line of the above message tells if you want to choose between show/hide email address, I think it's not functional well because I have chose in the admin panel to hide this option but the option message not affected by it

Sitelinks

  1. Similar constants as the main links for sublinks:
  2. $style['prelink'] = defined('PRELINK') ? PRELINK : '';
  3. $style['postlink'] = defined('POSTLINK') ? POSTLINK : '';
  4. $style['linkclass'] = defined('LINKCLASS') ? LINKCLASS : "";
  5. $style['linkclass_hilite'] = defined('LINKCLASS_HILITE') ? LINKCLASS_HILITE : "";
  6. $style['linkstart_hilite'] = defined('LINKSTART_HILITE') ? LINKSTART_HILITE : "";
  7. $style['linkstart'] = defined('LINKSTART') ? LINKSTART : '';
  8. $style['linkdisplay'] = defined('LINKDISPLAY') ? LINKDISPLAY : '';
  9. $style['linkend'] = defined('LINKEND') ? LINKEND : '';
  10. $style['linkseparator'] = defined('LINKSEPARATOR') ? LINKSEPARATOR : '';

Media Manager Tooltip Issue

Tooltips over the images (showing the dimensions) cease functioning in the Media-Manager popup dialog after the user has scrolled to the next page of images. (using the <-- --> buttons)

Custom pages

When create a custom page there is always [newpage=] after saving

admin-ui - Left JOIN should occur automatically when type='user' is found.

The author_id -> user_id connection will be a common occurrence in plugin development.
The admin-ui should calculate a LEFT JOIN automatically with the e107_user table when type='user' is found in the $fields array and a custom $listQry is not found.

See: admin/upload.php and e107_plugins/faqs/admin_config.php

Fatal error on Twitter signup (social login)

Social login configured to use Twitter only, keys are filled in.
Upon signup, clicking the Twitter logo, this error appears:

Fatal error: Uncaught exception 'Exception' with message 'The provider 'Facebook' is not enabled.' in /e107_handlers/hybridauth/Hybrid/Provider_Adapter.php:65 Stack trace: #0 /e107_handlers/hybridauth/Hybrid/Auth.php(276): Hybrid_Provider_Adapter->factory('Facebook', Array) # 1 /e107_handlers/hybridauth/Hybrid/Auth.php(221): Hybrid_Auth::setup('Facebook', NULL) # 2 /index.php(84): Hybrid_Auth::authenticate('Facebook') # 3 {main} thrown in /e107_handlers/hybridauth/Hybrid/Provider_Adapter.php on line 65

Related to issue #13

Make ajax private-messaging function

Upon receiving a Private Message from a user (via the PM plugin), the 'envelope' icon on the navigation bar of the admin-area should turn white ('active' CSS class) and display the number of unread messages next to it.
Clicking this icon should allow the admin to read the message, and respond immediately without leaving the page. Similar functionality should be available to the front-end also, allowing for 2-way communication similar to Facebook chat/messaging between admin and users.

Will no doubt require the addition of an ajax timed refresh within all.jquery.js

Remove and optimize (hardcoded) LANS

Remove all hard-coded terms from e107 and optimize!

Translator's Checklist:

  • Remove any HTML from the LAN (bbcodes are okay)
  • Use double-quotes. eg. define("LAN_01", "It's all good");
  • Make sure "LAN" is used inside the constant name.
  • Do not leave empty or unused defines. eg define("LAN_SOMETHING", ""); instead, comment them out with //
  • Use $tp->lanVars() for variables conversion. eg. [x] etc.
  • Check for duplicate/similar terms (admin only) against lan_admin.php (eg. LAN_UPDATE)
  • Check for duplicate/similar terms (frontend or admin) against e107_languages/English/English.php
  • Reduce the number of 'defines' as much as possible by using generic terms.
  • Do NOT translate debug information. (eg. anything inside addDebug(); or "E107_DEBUG_LEVEL >0" etc. )
  • Do NOT translate anything used within e_DEVELOPER.
  • If you find a recurring word/term appearing in several areas of e107, please mention it here as a 'generic' candidate in this issue.

Admin-ui - integrate ajax drag-n-drop code from FAQs admin area.

The following code is used in the init() function of FAQs admin area and similar in admin->sitelinks.
Some generic solution within admin-ui would be helpful.
Once this is done.. drag-n-drop sorting should be as simple as an on/off flag.

 if(e_AJAX_REQUEST) // ajax link sorting. 
 {
         $sql = e107::getDb();
     $c=0;
     if(isset($_POST['all']))
     {
         foreach($_POST['all'] as $id)
         {
             $sql->db_Update("faqs_info","faq_info_order = ".intval($c)." WHERE faq_info_id = ".intval($id));
             $c++;      
                    }   
    }
     exit;
 }  

Note: Sorting is activated using 'readParms'=>'sort=1' on the 'options' field.
List order must be correct for the dragNdrop to function correctly.
Currently using:

 protected $listOrder   = 'faq_info_order ASC'; // normally just "ASC" or "DESC"

We could think about a more simplified option, which would activate this feature, adding the icon to options, and prepending the listOrder automatically, such as :

 protected $sortField = "faq_info_order";

e107.htaccess not mentioned or handled by Install routine

install_.php should attempt to read an existing .htaccess file and merge it with e107.htaccess before renaming it to .htaccess. If this fails due to file permissions, then the merged text should be saved, and a note to overwrite .htaccess with e107.htaccess shown to the user.

Failure to handle this may mean broken links directly following installation.

Global lans for plugins

Currently plugins have no simple way to assign a LAN which may be used site-wide for everything from sitelinks to extended-user fields.

Admin Area left-side navigation breaks script on older plugins.

Fatal error: Call to a member function show_options() on a non-object in e107_plugins\forum\forum_admin.php on line 420

Needs to be solved in such as a way that no changes need be made to forum_admin.php.
ie. older plugins should not have similar issues.

Event calendar: Fatal error on new event

Upon clicking the "Enter new event' button: Fatal error: Call to a member function renderHooks() on a non-object in e107_plugins\calendar_menu\event.php on line 727

e.g. e107_plugins/calendar_menu/event.php?ne.1354752000

Test Social Logins

See admin -> Social Logins.
Check that signup and auto-login is fully functional with Facebook, Twitter etc.

Some Userclass functionality lost.

The 'Everyone but... " functionality has been lost during userclass reworking.
It still remains in older code.. such as 107_plugins/forum/forum_admin.php?cat

Native HTML/PHP templates support used by controllers (render View)

Related features and standards

  • template path: "templates/html/mytmpl_template.php"
  • pure HTML/PHP content. Template variables will be called with $this->varname
  • FirePHP (Firebug) & native (embed) debug support - view template variables and designer hints
  • template output will be parsed via simpleParse() and parseTemplate() based on the current View object settings

Should solve

  • much faster e107 template learning curve - HTML and basic PHP knowledge for starters (web designers)
  • hardcoded content (e.g system emails) will be moved to HTML templates
  • multi-lingual troubles till we build the new translation engine

Media-Manager Popup styling issue

There is a difference between the styling of these two popup media-manager windows:

  • e107_admin/newspost.php?mode=main&action=create (Choose Image - at the bottom)
  • e107_admin/newspost.php?mode=cat&action=create (Choose Icon)

The first one is the preferred styling. ie no large margin at the top.

Installation notices/warnings

Fix the following:

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2491

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2493

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2491

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2493

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2491

Notice: Undefined index: description in /e107directory/e107_handlers/plugin_class.php on line 2493

Notice: Use of undefined constant e_MEDIA_AUDIO - assumed 'e_MEDIA_AUDIO' in /e107directory/e107_handlers/e107_class.php on line 756

Notice: Array to string conversion in /e107directory/e107_handlers/theme_handler.php on line 1083

Fatal error in system logs > rolling log > update filters

System Logs > Rolling log > Update filters gives:

Fatal error: Call to undefined method e107::ipEncode() in /e107_admin/admin_log.php on line 292

ipEncode seems to be commented out in e107_handlers/e107_class.php on line 2938

Browser cache issue

Browser over-cache's. For example, it doesn't recognize that someone has logged out of admin and loads admin panel. Appears to have been introduced more recently with header/footer changes.

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.