1
0
mirror of https://github.com/e107inc/e107.git synced 2025-01-17 04:38:27 +01:00

Exported from MediaWiki

Cameron 2017-01-28 13:17:52 -08:00
parent e6e8ec7e3b
commit 66ff5f8680
81 changed files with 5367 additions and 0 deletions

6
About.md Normal file

@ -0,0 +1,6 @@
---
title: About
permalink: /About/
---
1. REDIRECT [About e107](/About_e107 "wikilink")

276
About_e107.md Normal file

@ -0,0 +1,276 @@
---
title: About e107
permalink: /About_e107/
---
<small>[English](/About_e107 "wikilink") | [Français](/À_propos_d'e107 "wikilink") | [German](/Ueber_e107 "wikilink") | [Magyar](/Az_e107-ről "wikilink") | [Русский](/О_e107 "wikilink") | [Portuguese](/Sobre_e107 "wikilink")</small>
Introduction
------------
e107 is an Open Source [Content Management System](/CMS "wikilink") Content Management System written in [PHP](http://php.net/) and using the popular Open Source [MySQL](http://www.mysql.com/) database system for content storage. It's completely free, totally customizable, and actively developed.
Features of e107
----------------
The e107 website system provides all the basic features you need to build a basic website or a fully interactive web portal. The website has a user management system, which controls access to the main areas of your e107 web system, which are fully controllable. A typical e107 installation will usually include:-
- Public Areas
- Members Area
- Admin Area
You can make you some, if not most or even your whole website totally private, useful for a families, clubs, businesses, intranets, business-to-business and other collaborative projects.
The e107 web site system is Fully Extensible and has a flexible API system which enables the core features of the system to be extended, without changing the core system code. There are several areas of extensibility:-
[<File://e107.org/e107_images/admin_images/cat_plugins_16.png>](/File://e107.org/e107_images/admin_images/cat_plugins_16.png "wikilink")
- \[/e107_images/admin_images/cat_plugins_16.png\] [Plugins](/Using_e107:Plugins "wikilink")
- <http://e107.org/e107_images/admin_images/themes_16.png> [Themes](/Theme_Manager "wikilink")
- <http://e107.org/e107_images/admin_images/menus_16.png> [Menus](/Using_e107:Content:Menus "wikilink")
- <http://e107.org/e107_images/admin_images/custom_16.png> [e107 API Custom Page](/Create_a_standalone_Custom_Page "wikilink")
- <http://e107.org/e107_images/e107_icon_16.png> [Shortcodes](/:Category:Shortcodes "wikilink")
- <http://e107.org/e107_images/e107_icon_16.png> [Templates](/:Category:Templates "wikilink")
Public Areas - Features for Web Publishing
------------------------------------------
These are typically used for public areas of your website.
### Link Management
- <http://e107.org/e107_images/e107_icon_16.png> <http://e107.org/e107_images/admin_images/links_16.png> [Site Links](/Using_e107:Settings:Site_Links "wikilink") control the main navigation menu in your web site
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://mikewhittall.co.uk/e107_plugins/links_page/images/linkspage_16.png> [Links Page](/Links_Page "wikilink") - Your Links Catalogue to other websites, like a public bookmarking system
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://mikewhittall.co.uk/e107_plugins/linkwords/images/linkwords_16.png> [LinkWords](/LinkWords "wikilink") - Plugin
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/gsitemap/images/icon_16.png> [Google Sitemap](/Google_sitemap "wikilink")
### Managing Web Page Content
- <http://e107.org/e107_images/e107_icon_16.png> <http://e107.org/e107_images/admin_images/custom_16.png> [Content (Custom) Pages](/Content:Custom_Menus/Pages:Creating_Pages "wikilink")
- <http://e107.org/e107_images/e107_icon_16.png> <http://e107.org/e107_images/admin_images/custom_16.png> [Content (Custom) Page API](/HOWTO:Create_a_standalone_Custom_Page "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://plugins.e107.org/e107_plugins/content/images/content_16.png> [Content Management](/Content_Management "wikilink") Plugin
### Menu Area Manager
- [Menu Areas](/Using_e107:Content:Menus "wikilink") are used for the little box areas around the edge of most themes.
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/chatbox_menu/images/chatbox_16.png> [Chatbox](/Chatbox "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Clock](/Clock_(clock_menu) "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Feature Box](/Feature_Box "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/calendar_menu/images/calendar_16.png> [Event_Calendar](/Event_Calendar "wikilink")
### News & Syndication
- <http://e107.org/e107_images/e107_icon_16.png> <http://e107.org/e107_images/admin_images/news_16.png> [e107 News System](/Using_e107:Content:News "wikilink")
- A core component for publishing latest information, such as, press releases and so forth.
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/rss_menu/images/rss_16.png> [RSS](/RSS_Feeds "wikilink") (outgoing Newsfeeds)
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_images/admin_images/newsfeeds_16.png> [Newsfeed](/Newsfeed "wikilink") (incoming RSS)
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Trackback](/Trackback "wikilink") - News History Tracking Tool
### Event Calendar
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/calendar_menu/images/calendar_16.png> [Event Calendar](/Event_Calendar "wikilink")
Members Area - Interactive/Portal Features
------------------------------------------
### Forum
- <http://e107.org/e107_images/e107_icon_16.png> <http://e107.org/e107_images/admin_images/forums_16.png> e107 Forum System
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/newforumposts_main/images/new_forum_16.png> New Forum Posts
### Poll System
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_images/admin_images/polls_16.png> Polls
### Private Messenger
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/pm/images/pm.png> Private Message System
### List
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/list_new/icon/list_16.png> New Items Listing
Admin Area Features
-------------------
<http://e107.org/e107_images/adminlogo.png>
The e107 [Admin Area](/Admin "wikilink") provides all the features you need to manage 99% of your website system without needing to access the site from developer tools such as FTP and phpMyAdmin.
### Admin Settings
- <http://e107.org/e107_images/admin_images/cat_settings_16.png> [Main Settings Menu](/Using_e107:Settings "wikilink") The main controls for the e107 website system.
<!-- -->
- <http://e107.org/e107_images/admin_images/cache_16.png> [Cache System](/Using_e107:Settings:Cache "wikilink") - Speed up your site
- <http://e107.org/e107_images/admin_images/emoticons_16.png> [Emoticons](/Using_e107:Settings:Emoticons "wikilink") - Install New "Smiley Icons"
- <http://e107.org/e107_images/admin_images/frontpage_16.png> [Front Page](/Using_e107:Settings:Front_Page "wikilink") - Choose any page as your home page
- <http://e107.org/e107_images/admin_images/images_16.png> [Images](/Using_e107:Settings:Images "wikilink") - Control Image Settings
- <http://e107.org/e107_images/admin_images/language_16.png> [Languages](/Using_e107:Settings:Languages "wikilink") - Install New Locales
- <http://e107.org/e107_images/admin_images/meta_16.png> [Meta Tags](/Using_e107:Settings:Meta_Tags "wikilink") - Manage Meta Data
- <http://e107.org/e107_images/admin_images/prefs_16.png> [Preferences](/Using_e107:Settings:Preferences "wikilink") - Core Settings for the e107 website
- <http://e107.org/e107_images/admin_images/search_16.png> [Search Configuration](/Using_e107:Settings:Search "wikilink") - Control what search can view
- <http://e107.org/e107_images/admin_images/links_16.png> [Site Links](/Using_e107:Settings:Site_Links "wikilink") - Arrange you main Navigation Links
### Admins & Users
<http://e107.org/e107_images/admin_images/cat_users_16.png> [User Management](/Using_e107:Users "wikilink")
- <http://e107.org/e107_images/admin_images/adminpass_16.png> [Admin Password](/Using_e107:Users:Admin_Password "wikilink") - Reset Main Admin password
- <http://e107.org/e107_images/admin_images/admins_16.png> [Administrators](/Using_e107:Users:Administrators "wikilink") - Controls admin permissions
- <http://e107.org/e107_images/admin_images/banlist_16.png> [Banning](/Using_e107:Users:Banning "wikilink") - Control Spammers & Bad behaviour via IP and User based Blocking system
- <http://e107.org/e107_images/admin_images/extended_16.png> [Extended Fields](/Using_e107:Users:Extended_Fields "wikilink") - For additional User Profile Data
- <http://e107.org/e107_images/admin_images/mail_16.png> [Mail](/Using_e107:Users:Mail "wikilink") - Send Mails out to your registered members
- <http://e107.org/e107_images/admin_images/userclass_16.png> [User Classes](/Using_e107:Users:User_Classes "wikilink") - Define User Groups for use in granting permissions
- <http://e107.org/e107_images/admin_images/users_16.png> [Users](/Using_e107:Users:Users "wikilink") - Main User Manager
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Alternate authentication](/Alternate_authentication "wikilink") - Interface with external systems for Single Sign On - SSO
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Newsletter](/Newsletter "wikilink") - An enhanced Newsletter Manager for mailing registered users
### Admin Content Publishing
<http://e107.org/e107_images/admin_images/cat_content_16.png> [Creating Web Content](/Using_e107:Content "wikilink") - Main Admin Content Manager
- <http://e107.org/e107_images/admin_images/banners_16.png> [Banners](/Using_e107:Content:Banners_Overview "wikilink") - An Advanced Advertising Banner System
- <http://e107.org/e107_images/admin_images/custom_16.png> [Custom Menus/Pages](/Content:Custom_Menus/Pages "wikilink") - Content Page and Menu Manager
- <http://e107.org/e107_images/admin_images/menus_16.png> [e107 Menu Manager](/Using_e107:Content:Menus "wikilink") - Arranges Placement of Menu Content Boxes
<!-- -->
- <http://e107.org/e107_images/admin_images/downloads_16.png> [e107 Download Manager](/Using_e107:Content:Downloads "wikilink") - Set up Downloads for your website vistors - can be public or members only
- <http://e107.org/e107_images/admin_images/news_16.png> [e107 News Manager](/Using_e107:Content:News "wikilink") - Post, Edit, Archive and removes news posts
- <http://e107.org/e107_images/admin_images/uploads_16.png> [Public Uploads](/Using_e107:Content:Public_Uploads "wikilink") - Manage Uploaded content
- <http://e107.org/e107_images/admin_images/welcome_16.png> [Welcome Message](/Using_e107:Content:Welcome_Message "wikilink") - Manages Home Page messages for each user class.
### Admin Tools
<http://e107.org/e107_images/admin_images/cat_tools_16.png> Maintenance, Security and Debugging tools for e107.
- <http://e107.org/e107_images/admin_images/maintain_16.png> [Maintenance Flag](/The_maintenance_flag_-_taking_your_site_down "wikilink")
- <http://e107.org/e107_images/admin_images/fileinspector_16.png> [File Inspector](/File_Inspector "wikilink")
- <http://e107.org/e107_images/admin_images/database_16.png> [Database](/Database "wikilink")
- <http://e107.org/e107_images/admin_images/filemanager_16.png> [File Manager](/File_Manager "wikilink")
- <http://e107.org/e107_images/admin_images/notify_16.png> [Notify](/Notify "wikilink")
- <http://e107.org/e107_images/admin_images/phpinfo_16.png> [PHP Info](/PHP_Info "wikilink")
- <http://e107.org/e107_images/admin_images/themes_16.png> [Theme Manager](/Theme_Manager "wikilink")
### Theme Management
Site Themes delivered with e107 v 0.7 installation, freely customisable for your own needs. You can upload and activate themes using the [Theme Manager](/Theme_Manager "wikilink").
<small>NOTE: remember to copy the theme you choose to another folder with a new name to avoid being overwritten at upgrade!</small>
There are 100's of third party themes written for e107 and are published at [theme.e107.org](http://themes.e107.org).
<table>
<tr>
<td>
<http://e107.org/e107_themes/lamb/preview.jpg>
Lamb
</td>
<td>
<http://e107.org/e107_themes/crahan/preview.jpg>
Crahan
</td>
<td>
<http://e107.org/e107_themes/khatru/preview.png>
Khatru
</td>
</tr>
<tr>
<td>
<http://e107.org/e107_themes/human_condition/preview.jpg>
Human Condition
</td>
<td>
<http://e107.org/e107_themes/interfectus/preview.jpg>
Interfectus
</td>
<td>
<http://e107.org/e107_themes/newsroom/preview.jpg>
Newsroom
</td>
</tr>
<tr>
<td>
<http://e107.org/e107_themes/sebes/preview.jpg>
Sebes
</td>
<td>
<http://e107.org/e107_themes/vekna_blue/preview.jpg>
Vekna Blue
</td>
<td>
<http://e107.org/e107_themes/reline/preview.jpg>
Reline
</td>
</tr>
<tr>
<td>
<http://e107.org/e107_themes/kubrick/preview.jpg>
Kubrick
</td>
<td>
<http://e107.org/e107_themes/leaf/preview.png>
Leaf
</td>
<td>
<http://e107.org/e107_themes/jayya/preview.jpg>
Jayya - Admin
</td>
</tr>
</table>
### Plugin Manager
Plugins are one of the most popular ways of extending e107. You can upload, install and configure easily using the [Plugin Manager](/Plugin_Manager "wikilink"). THere are a number of [Core Plugins](/Core_Plugins "wikilink") already installed, which are listed above in the other categories. There are 100's of [Third Party Plugins](/Extra_Plugins "wikilink") available at [plugins.e107.org](http://plugins.e107.org/), many are licensed for free use and others request a fee for use - this is entirely up to the plugin developer.
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/integrity_check/images/integrity_16.png> [Integrity check](/Integrity_check "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> [Statistics Logging](/Statistic_logging "wikilink")
- <http://e107.org/e107_images/admin_images/cat_plugins_16.png> <http://e107.org/e107_plugins/pdf/images/pdf_16.png> [PDF](/PDF_plugin "wikilink") - enable this to allow content to be printed to pdf direct from the web page.
A Brief History Of e107
-----------------------
I've never kept a journal or list of dates corresponding to e107's evolution, so all of the following is recounted from memory and is probably full of chronological errors
In late 1998, I coded and opened a website called Litestep2000 related to the Windows shell replacement Litestep. The site got fairly popular and a few months later became ls2k.org, when it moved to a php enabled server and I started my first tentative steps into scripting. After about 18 months of coding and maintaining this site, I was offered the chance by the then main admin c0mrade to take over the main Litestep theme site, litestep.net. I coded the site and I'm proud to say it continued to grow in popularity while I, DeViLbOi and jugg were at the helm.
Due to running such a busy site, I was always getting requests for site code, ot portions of the code we used on litestep.net from other members of the Litestep community, but due to time restraints and real life, I was very rarely able to help, so I set about taking some of the code from litestep.net and ls2k.org and turning it into a more modular and distributable codebase.
Over the space of a couple of months, websites (mainly Litestep and shell related) started popping up, and feature requests started coming in, so I decided to get a domain and give the code a name. I settled on e107 as it was turning out to be my seventh main project, and I purchased e107.org and set up a small e107 powered website there.
The site opened in July 2002, and e107 was a couple of months old at that stage, and at version 2.1. I continued to code and release revisions until 5.4 when I decided on a version numbering change, and the next version released was 0.6, which saw a major revamp of the code. At this time new versions and revisions were coming out on almost a daily basis (imagine that )
I was still maintaining the e107 codebase alone, but accepting contributions from users, notably McFly, Lolo_Irie, Cameron and a few others, but with version 0.612 I decided to ask a few of these contributors to join a newly formed development team, consisting of McFly, chavo, Cameron and Lolo_Irie, and myself. I was proud that these people accepting places as not only are they good coders, they were all good people as well (and still are )
A couple of versions later, I decided to take a step back from the development side of e107, as maintaining what had in a short period become a quite popular system had taken it's toll on my real life, and I was not only tired but having to deal with the regular attacks on e107.org. The development team have continued to release new versions (at the time of writing e107 stands at v0.617) and make improvements and refine the e107 core.
I started tentative development of a new system in March 2004, codenamed nostromo. This isn't intended to replace e107 and will probably never see the light of day due to real life issues (again pfft). This code, or at least the site it produces, can be seen at my personal site jalist.com.
So there we have it, e107, due mainly to the work of the dev team, plugin coders and the people who selflessly and mostly thanklessly man the forums with support for less experienced users, has come a very long way in it's first two years of life, and hopefully will continue to grow for the next two years and beyond - my sincerest thanks to everyone that has contributed in even the smallest way.
jalist, August 2004
Recent History
--------------
The latest release of e107 is and was released see the [current release notes](/Release_Notes_{{e107currentversion}} "wikilink"). We continue to maintain e107 0.7 and from time to time issue new security releases. Meanwhile the e107 Development Team are busy building the next major [release of e107 - 0.8](/0.8_Release "wikilink").
Licence
-------
e107 is licenced under the [GNU General Public license version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html), General Public license is sometimes shortend to GPL.
[Category:Introduction](/Category:Introduction "wikilink") [Category:About e107](/Category:About_e107 "wikilink")

69
Admin_Logs.md Normal file

@ -0,0 +1,69 @@
---
title: Admin Logs
permalink: /Admin_Logs/
---
### Log Types
There are three separate logs in E107 2.0:
The admin log
The user log
The rolling log
They have distinct purposes.
In addition, there is the directory e107_files/logs, into which text-based log files may be written.
#### Admin Log
This log is to record the actions of system administrators.
In many cases there is no admin control over which events are logged; some plugins and core functions do provide the ability to control logging.
#### User Log
This log is to record user-related events - signups, setting changes, login and log out.
The level of logging is controllable - the types of events which are logged can be selected, as well as the user class.
#### Rolling Log
This log is intended to record transient events - if enabled, older events are purged after a selected number of days. Certain core functions log information to the rolling log.
It is also useful for debugging, especially in circumstances where 'echo' statements will interfere with the programming flow.
#### Other Logs
The log of user downloads is available for viewing.
### Using the logs
All the logs are accessible via the 'System Logs' admin option.
All the pages look similar, and at the top have various filters to allow selection of specific events.
#### Log Filters
The available filters depend on the log being viewed, and will be a selection of the following:
`Start Date`
`End Date`
`Time Interval`
`User ID`
`IP Address`
`Event Type`
`Caller (Code)`
#### Special Displays
Most display options show a single log.
One option combines the admin, user and rolling logs.
It also handles times to the resolution of the server (rather than the normal 1-second resolution). This can be useful for timing code, of observing the precise sequence of events.
[Category:Admin](/Category:Admin "wikilink")

15
Admin_Password.md Normal file

@ -0,0 +1,15 @@
---
title: Admin Password
permalink: /Admin_Password/
---
Admin Password
--------------
You should update your Main Admin password regularly.
Enter a new name and password, and click **Change Password**
- [Reset Main Admin Password](/HowTo:Reset_Main_Admin_Password "wikilink")
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Administrators](/Category:Administrators "wikilink") [Category:Permissions](/Category:Permissions "wikilink") [Category:Security](/Category:Security "wikilink")

40
Administrators.md Normal file

@ -0,0 +1,40 @@
---
title: Administrators
permalink: /Administrators/
---
Maintaining Administrators
--------------------------
You can view and set Website Administrators permissions from the **Admin Area » Users » Administrators**. The page lists all users with site administrator privilege type. You can edit or remove user admin status.
First create a user account & set as administrator from the drop-down in the user list.
- [User Maintenance](/Users "wikilink")
Set admin permissions you would like to give to your new admin.
- [\#Administrator Permissions](/#Administrator_Permissions "wikilink")
To remove admin permissions, edit the user account and remove all check boxes.
Next Delete the Administrator Privilege using the red X icon.
This does not remove their [user](/Users "wikilink") account.
Administrator Permissions
-------------------------
For your website security, care needs to be taken when authorising admin permissions. You are recommended to only grant the minimum required admin options to meet needs.
Click the Update Administrator button once you have checked the required options.
### Grant Core and Plugin Function Access
Clicking the Update Administrator icon opens a screen which displays a list of e107 admin and plugin features which enables you to grant access to the required system functions.
### Creating a Main Site Administrator
The last option on the list is 'Main Site Administrator' check this box to create further main admins.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Administrators](/Category:Administrators "wikilink") [Category:Permissions](/Category:Permissions "wikilink") [Category:Security](/Category:Security "wikilink")

@ -0,0 +1,21 @@
---
title: Alternate Authentication
permalink: /Alternate_Authentication/
---
Alternate Authentication
------------------------
This plugin allows for alternate authentication methods.
The information from 0.7/1.0 is relevant: <http://wiki.e107.org/index.php?title=Alternate_authentication> - and needs to be copied/screen shots updated.
New features for 2.0:
`   Test feature - check out the settings before enabling`
`   Copy selected user-related values from the source DB into the E107 user table`
`   RADIUS support`
`   Support for wider range of password encodings`
`   Can use user databases imported from other systems `
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

215
Banlist.md Normal file

@ -0,0 +1,215 @@
---
title: Banlist
permalink: /Banlist/
---
Banlist
-------
The Banlist is a tool for restricting access to your e107 website. It will always put less load on the server if you are able to ban unwanted visitors before e107 even starts executing; where this is not practicable for any reason the e107 banning facilities cut in early on during execution - before the database is opened.
### Banning users from your site
This page shows a list of all IP addresses, hostnames and email addresses which are banned. (Banned users are shown on the user administration page)
### Automatic Bans
E107 automatically bans individual IP addresses if they attempt to flood the site, as well as addresses with failed logins. These bans also appear in this list. You can select (on the options page) what to do for each type of ban.
### Removing a ban
You can set an expiry period for each type of ban, in which case the entry is removed once the ban period expires. Otherwise the ban remains until you remove it.
You can modify the ban period from this page - times are calculated from now.
### Ban Types
There are a number of types of ban:
- Unknown (Most likely a ban that was imposed before e107 was upgraded from 0.7.x)
- Manual (Entered by an admin)
- Flood (Attempts to update the site too fast)
- Hit count (Attempts to access the site too frequently from the same address)
- Login failure (Multiple failed login attempts from the same user)
- Imported (Added from an external list)
- User (IP address banned on account of user ban)
These can be treated differently
Banlist Main Features
---------------------
- Ban List
- Add to Banlist
- Whitelist
- Add to Whitelist
- Import/Export
- Messages/Ban Periods
- Options
- Ban Action Log
The user banning/whitelisting system is arranged to minimise the impact on the server from banned users. All checking of IP addresses is carried out before the database is opened.
### Banlist Main Page
This page shows a list of all IP addresses, hostnames and email addresses which are banned. (Banned users are shown on the user administration page)
- Ban Date
- Type
- IP / Email / Reason
- Notes
- Ban expires
- Options
- Edit
- Delete Ban
### Add to Banlist
You can ban users from your site at this screen. Either enter their full IP address or use a wildcard to ban a range of IP addresses. You can also enter an email address to stop a user registering as a member on your site.
#### Banning by IP address:
Entering the IP address 123.123.123.123 will stop the user with that address visiting your site. Entering an IP address with one or more wildcards in the end blocks, such as 123.123.123.\* or 214.098.\*.\*, will stop anyone in that IP range from visiting your site. (Note that there must be exactly four groups of digits or asterisks)
IPV6 format addresses are also supported, including '::' to represent a block of zero values. Each pair of digits in the end fields may be a separate wildcard, represented by 'xx'. (Note that digits cannot appear after you've entered 'xx').
#### Banning by email address
Entering the email address foo@bar.com will stop anyone using that email address from registering as a member on your site. Entering the email address \*@bar.com will stop anyone using that email domain from registering as a member on your site.
#### Banning by user name
This is done from the user administration page.
- Enter IP, email address, or host:
- Note: To ban a user by user name, go to the users admin page:
- Note: Reverse DNS is currently disabled; it must be enabled to allow banning by host. Banning by IP and email address will still function normally.
- Reason:
- Notes:
- Ban expires:
### Whitelist
This page shows a list of all IP addresses which are explicitly permitted. This list takes priority over the ban list - it should not be possible for an address from this list to be banned. All addresses must be manually entered.
### Add to Whitelist
You can specify IP addresses which you know to be 'friendly' here - generally those for the main site admins, to guarantee that they can always gain access to the site. You are advised to keep the number of addresses in this list to an absolute minimum; both for security, and to minimise the impact on site performance.
- Enter IP, email address, or host:
- Note: To ban a user by user name, go to the users admin page:
- Note: Reverse DNS is currently disabled; it must be enabled to allow banning by host. Banning by IP and email address will still function normally.
- Reason:
- Notes:
### Import/Export
This page allows you to transfer banlist data to and from this site as CSV (Comma Separated Variable) files.
- Data Export
- Select the types of ban to export. The fields will be delimited by the chosen separator, and optionally included within the selected quotation marks.
- Data Import
- You can choose whether the imported bans replace existing imported bans, or whether they add to the list. If the imported data includes an expiry date/time, you can select whether this is used, or whether the value for this site is used.
<!-- -->
- CSV Format
- The format of each line in the file is: IP/email, date, expiry, type, reason, notes. Date and expiry are in the format YYYYMMDD_HHMMDD, except that a zero value indicates 'unknown' or 'indefinite'. Only the IP or email address is essential; the other fields are imported if present.
- Note: You will need to modify filetypes.xml to allow admins to upload the 'CSV' file type.
#### Banlist Export
Export Types
- Unknown (Most likely a ban that was imposed before e107 was upgraded from 0.7.x)
- Manual (Entered by an admin)
- Flood (Attempts to update the site too fast)
- Hit count (Attempts to access the site too frequently from the same address)
- Login failure (Multiple failed login attempts from the same user)
- Imported (Added from an external list)
- User (IP address banned on account of user ban)
- CSV Export format:
- Field Separator
- Quote (round each value)
#### Banlist Import
Import Choices
- Replace all existing imported bans
- Use expiry date/time from import
- Import File:
- CSV Import format:
- Field Separator
- Quote (round each value)
### Messages/Ban Periods
This page allows you to specify any message text to be displayed to a banned user, and also the default duration of the ban (this can be overridden for each individual ban).
Message If you wish the banned user to get a blank screen, use an empty message. Otherwise enter the message to be displayed. As a special case, if the first characters of the message are 'http:' or 'https:', the entire message is treated as a URL, and the banned user is redirected to that URL. Thus you can, for example, direct the user to your 'site rules' page or other help, or display a simple HTML page. If there is no query part to the URL, the type of ban is appended in the form \[-n\], where n is a digit 1..9 representing the type of ban. See the e107_handlers/iphandler_class.php file for details of these.
- Ban duration
The default ban duration can be set to one of a number of fixed values:
- - Indefinite
- 1 hours
- 2 hours
- 3 hours
- 6 hours
- 8 hours
- 12 hours
- 1 day(s)
- 36 hours
- 2 day(s)
- 3 day(s)
- 4 day(s)
- 5 day(s)
- 7 day(s)
- 14 day(s)
- 28 day(s)
Click **Update** when finished.
### Options
#### Reverse DNS
If enabled, the user's IP address is looked up to obtain the associated domain name. This accesses an external server, so there may be a delay before the information is available - and if the server is off-line, there may be a very long delay.
You can choose to look up server names on all site accesses, or only when adding a new ban.
#### Maximum Access Rate
This sets the maximum number of site accesses permitted from a single user or IP address in any five-minute period, and is intended to detect denial of service attacks. At 90% of the selected limit, the user receives a warning; on reaching the limit they are banned. Different thresholds may be set for guests and logged-in users.
#### Retrigger Ban Period
This option is only relevant if the option to ban users for a specified time, rather than indefinitely, has been used. If enabled, and the user attempts to access the site while banned, the ban period is extended (as if the ban had just started).
For this option to function, the relevant scheduled task must also be enabled. This task recalculates all the expiry times for the bans. An interval of 5-60 minutes is suggested, dependent on the shortest ban period used.
#### Ban Options
- Use reverse DNS to allow host banning
- Turning this option on will allow you to ban users by hostname, rather then just IP or email address.
- NOTE: This may affect pageload times on some hosts, or if a server isn't responding
- Reverse DNS accesses when adding ban
- When a ban occurs, this option adds the domain of the banned address to the reason
- Set maximum access rate
- for guests
- for members
- This determines the maximum number of site accesses in a 5-minute period
- Retrigger ban period
- This will restart the ban period if a banned user accesses the site
Click **Update** when finished.
#### Banlist Maintenance
- Remove expired bans from list
Click **Execute** to remove expired bans.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Banlist](/Category:Banlist "wikilink") [Category:Security](/Category:Security "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

11
Banners.md Normal file

@ -0,0 +1,11 @@
---
title: Banners
permalink: /Banners/
---
Banners
-------
Banner Plugin Description TODO
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Blank_Plugin.md Normal file

@ -0,0 +1,11 @@
---
title: Blank Plugin
permalink: /Blank_Plugin/
---
Blank Plugin
------------
A Blank Plugin to help you get started in plugin development
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

70
Cache.md Normal file

@ -0,0 +1,70 @@
---
title: Cache
permalink: /Cache/
---
e107 » Admin Area » Settings » Cache
------------------------------------
To help improve system response and minimise bandwidth usage, e107 has a built in Cache system. The results of a query are held in a temporary file for re-use rather than constantly looking up the results from the database.
To access the Cache system settings, login to your e107 Admin Area, choose Settings and Cache.
TIP: When making major changes to your system, to see the changes instantly, clear and disable the cache before you start your work. RE-enable the cache when you are done.
Caching
-------
If you have caching turned on it will vastly improve speed on your site and minimise the number of calls to the sql database.
IMPORTANT! If you are making your own theme turn caching off otherwise any changes you make will not be reflected immediately.
Cache Management Settings
-------------------------
### Content Cache: Currently contains 1 file
Content cache contains page rendered content. This includes any content (html) that you see rendered on your site.
- Enabled
- **Disabled**
### System Cache: Currently contains 5 files
System cache contains system config information. This includes site pref, currently active menus, etc. No actual content will be contained here.
- Enabled
- **Disabled**
### DB Structure Cache: Currently contains 11 files
Database Structure cache contains system information about database tables structure, needed by various core routines. No actual content will be contained here.
- **Enabled**
### Thumbnail cache: Currently contains 1 file
Thumbnail cache files contains binary image data. They are there to save a lot of server CPU work.
- **Enabled**
### Save Settings
Click **Set cache status** to save your settings.
### Clearing Cache Content
Choose from the drop down list and click **Delete**.
- Empty All Cache
- Empty Content Cache
- Empty System Cache
- Empty DB Structure Cache
- Empty Thumbnail Cache
More
----
See [:Category:Cache](/:Category:Cache "wikilink") for all documentation relating to the e107 Cache System.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Cache](/Category:Cache "wikilink") [Category:SEO](/Category:SEO "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

11
Chatbox.md Normal file

@ -0,0 +1,11 @@
---
title: Chatbox
permalink: /Chatbox/
---
Chatbox
-------
Chatbox Menu
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

10
Contact.md Normal file

@ -0,0 +1,10 @@
---
title: Contact
permalink: /Contact/
---
**Contact**
You can contact the support & dev team by using either:
forum: [e107.org](http://e107.org/) irc:

11
Content_Management.md Normal file

@ -0,0 +1,11 @@
---
title: Content Management
permalink: /Content_Management/
---
Content Management
------------------
A Complete Content Management Section.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

26
Current_Version.md Normal file

@ -0,0 +1,26 @@
---
title: Current Version
permalink: /Current_Version/
---
<small>[English](/{{FULLPAGENAME}} "wikilink") | [Français](/{{FULLPAGENAME}}/fr "wikilink") | [Deutsch](/{{FULLPAGENAME}}/de "wikilink") | [Magyar](/{{FULLPAGENAME}}/hr "wikilink") </small>
The current release of e107 is , release date:
-----------------------------------------------
- [Download](http://e107.org/edownload.php)
- \[<http://e107.org/svn_changelog.php?version>= Changelog of since \]
- [<http://e107.org/svn_changelog.php?module=e107_0.8>](http://e107.org/svn_changelog.php?module=e107_0.8)
- [Installing e107](/HOWTO:Install_e107 "wikilink") - Fresh Install
- [Planning an e107 Upgrade](/Planning_an_e107_Upgrade "wikilink") - Existing Site Upgrades
- [Installation/Upgrade Forum](http://e107.org/e107_plugins/forum/forum_viewforum.php?27) (get help & see what people are saying)
- [Release Notes ](/Release_Notes_{{E107currentversion}} "wikilink") - Read about the new release and how to upgrade.
- [Technical Notes ](/Technical_Notes_{{E107currentversion}} "wikilink") - Technical Details for Plugin and Theme Makers.
Previous Releases
-----------------
- [Previous Release 0.8 Information](/Previous_Releases "wikilink")
- [Previous Release 0.7 Information](http://wiki.e107.org/index.php?title=Previous_Releases)
[Category:Introduction](/Category:Introduction "wikilink") [Category:About e107](/Category:About_e107 "wikilink")

150
Custom_Menus_Pages.md Normal file

@ -0,0 +1,150 @@
---
title: Custom Menus Pages
permalink: /Custom_Menus_Pages/
---
Custom Menus/Pages
------------------
'''Admin Area » Content » Custom Menus/Pages '''
You can create the majority of your website content using Pages and Menus. From this screen you can create custom menus or custom pages with your own content in them.
Pages
-----
**Admin Area » Content » Custom Menus/Pages » Pages**
This screen lists your existing content pages by ID and Title, with a direct link to the page url, plus available options, Edit and Delete.
You can personalize the field list by clicking the options button at the top of the table.
- Title
- Template
- Author
- Date
- Userclass
- Rating - with Moderate options
- Comments - with Moderate options
Menus
-----
**Admin Area » Content » Custom Menus/Pages » Menus**
The Menus Listing is identical to the above, and it displays Menus content instead.
Create page
-----------
**Admin Area » Content » Custom Menus/Pages » Create Page**
Begin creating your new page by filling in the data in the **Create new page** form.
### Template
- Default
- Other1
- Other2
### Title / Caption
Enter a Page Title.
### Text
This is where you enter your main content. The BB Code editor will be enabled by default. Install the the WYSIWYG editor, if you prefer.
### Upload Images
Choose a file from your local system, and click upload. The system informs you were the file will be uploaded. Requires file uploads to be allowed.
Upload to: e107_images/custom/
### Page Options
Additional page controls.
### Allow page to be rated
- Enabled
- Disabled
### Allow comments
- Enabled
- Disabled
### Display author and date information
- Enabled
- Disabled
- Password protect page
- Enter password to protect page
- Create link in main menu
- Enter link name to create
- Page / link visible to
- Everyone
- Guests
- No One, Inactive
- Members
- Admin
- Main Admin
- ... (User Class List)
- Everyone but (except)
- Not Guests
- Not Members
- Not Admin
- Not Main Admin
- Not ... (User Class List)
Click **Create Page** to save your work.
Create menu
-----------
**Admin Area » Content » Custom Menus/Pages » Create Menu**
Begin creating your new menu by filling in the data in the **Create new menu** form.
### Menu Name
Enter a Name for use in the menu manager.
### Title / Caption
Enter a Page Title.
### Text
This is where you enter your menu content. The BB Code editor will be enabled by default. Install the the WYSIWYG editor, if you prefer.
### Upload Images
Choose a file from your local system, and click upload. The system informs you were the file will be uploaded. Requires file uploads to be allowed.
Upload to: e107_images/custom/
Click **Create Page** to save your work.
To activate your menu, go to Menu Manager.
Options
-------
**Admin Area » Content » Custom Menus/Pages » Options**
### List pages if no page selected
By going to page.php without a query, then display the list of available content (index page).
- Enabled
- **Disabled**
### Expiry time for cookie (in seconds)
Number of seconds
- 84600
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Content](/Category:Content "wikilink") [Category:Custom Pages](/Category:Custom_Pages "wikilink") [Category:Custom Menus](/Category:Custom_Menus "wikilink")

94
Database.md Normal file

@ -0,0 +1,94 @@
---
title: Database
permalink: /Database/
---
Database Utilities
------------------
### Check for Updates
Run this tool and check any issues, if in doubt, search the e107 forums for your issue.
### Check database validity
This database utility verifies the database tables for the core, plus any installed plugins.
Choose table(s) to validate
- core
- banner
- chatbox
- download
- poll
Click **Start Verify**
Response:
**Success** DB successfully verified - no problems were found.
### Optimize SQL database
This feature uses MySQL built in function OPTIMIZE TABLE for each of your database tables. You should use this periodically to ensure optimum database performance, specifically when you have performed large data changes, such as data imports.
Note that MySQL locks the table during the time OPTIMIZE TABLE is running, so you should place your site in Maintenance Mode before use.
Read More [1](http://dev.mysql.com/doc/refman/5.1/en/optimize-table.html)
### Scan plugin directories
Use this tool to make sure your plugins are working correctly in the database and that the install went smoothly. It will tell you if a plugin is installed or not and any errors that are present.
Running the scan generates a list:
Name Directory Included add-ons Installed
Report any issues you experience in the e107 Core Support forum.
### Preferences Editor
**Advanced Users Only**
It will show you how your preferences information is stored in the database and how it is stored exactly. Most people would be better off editing the preferences from the site Preferences tool.
If you are to use this make sure you know exactly what your change will do, otherwise use phpMyAdmin and make a backup before any changes are made.
The tool generates a lost of preferences:
- Delete
- Pref. Name
- Pref. Value
- Options &gt; Delete
`USE ONLY WITH GUIDANCE FROM THE e107 SUPPORT TEAM!`
### Check database record validity
Checks the status of your data.
`DEV's CODE NOTES: Code in db_verify.php > Requires integration with db.php.`
### Import Site Data
Provides a facility to upload XML file containing your data.
### Export Site Data
Provides data export function.
Select Required Data &gt; Run Export &gt; Save XML Data File.
`Take care of Data Protection Legislation in your region, it may not be permitted to share certain data.`
### Scan override directory
Scans plugin and theme directories for custom shortcodes.
### Convert DB to UTF-8
Checks and converts all your data to UTF-8 format and sets the database to default.
`DEV CODE NOTE Incomplete. `
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Tools](/Category:Tools "wikilink") [Category:Database](/Category:Database "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

446
Db.md Normal file

@ -0,0 +1,446 @@
---
title: Db
permalink: /Db/
---
**Class**: *db*
**File**: *e107_handlers/mysql_class.php*
- - INCOMPLETE - needs SecretR to check interactions with $e107 \*\*\*\*\*\*\*\*\*\*\*\*\*\*
(But does include some of the new features of the db class itself)
- - Also needs renaming to reflect new class name \*\*\*\*\*\*\*\*\*\*\*\*\*\*\*
Overview
--------
The `e_db_mysql` class provides public functions that allow reading, inserting, updating and deleting data to/from database tables. The class was formerly called 'db', and while deprecated, it can still be referenced by this name at present.
Generally, you should create a new instance of this class in your code:
e107 creates the shared variables `$sql and $sql2` which may often be used. However, be aware that other code may use these variables too, which will corrupt your copy. This can happen if your code calls other core or 3rd party code. If in doubt, it is always safer to create your own instance of the class (preferably *not* called $sql or $sql2!).
Once you have an instance of the class you can call the public functions on it in the usual way:
Database Specification
----------------------
To allow sharing of a single database, all the tables in an E107 system are assigned a prefix, which is set during installation.
This prefix is available to the coder as the 'MPREFIX' constant. Many of the database access routines automatically prepend this constant to each table name. In other cases (for example when specifying database amendments in code elsewhere), it is up to the coder to add this prefix.
On multi-language sites, a further language-related prefix is added to multi-language tables (some tables are common to all languages).
In some database functions (specifically noted) a '\#' in front of the table name is replaced by the prefix and any language-related prefix during execution. However note that the '\#' must be preceded by a space, and the word immediately following '\#' must be followed by a space (not 'end of string') - this condition will tend to be met automatically in many circumstances. It is also strongly recommended that the table name is enclosed in backticks, thus: \`\#table_name\` - this reduces the probability of an erroneous substitution of the prefix. Usage must be consistent within a query - either *all* table names must be enclosed in backticks, or none.
Common API parameters
---------------------
### debug
boolean/string `$debug` - Defaults to FALSE.
When this value is set to true the generated SQL is displayed at the end of the page.
When this value is set to 'now' the generated SQL is displayed on the page at the point it is executed.
When this value is set to anything else (apart from FALSE) the generated SQL is displayed at the end of the page.
Note: at present true and 'now' both give the same output - generated SQL is displayed in-line and at end of the page.
From a coding point of view, it is useful to always supply this parameter for all your db class calls as a variable (e.g. $mydebug). This allows you to turn all debugging on simply by setting the variable to TRUE then turn it off when your code is released but still leave the option to turn it back on for bug investigation.
Note also that the general e107 debug facilities can provide some database-related information.
### log_type
string `$log_type` - Defaults to .
If set to anything other than an empty string then a record will be written to e107's dblog table ('rolling log') detailing the SQL query that was executed.
You should set this to something that is fairly unique to allow easy recognition of dblog entries for your code, it can be up to 255 characters long.
When set, you should add extra information, as appropriate, using the [$log_remark](/#log_remark "wikilink") parameter.
### log_remark
string `$log_remark` - Defaults to .
Used when records are written to e107's dblog table. See the [$log_type](/#log_type "wikilink") parameter.
Constructor
-----------
### db()
db constructor gets language options from the cookie or session.
Public Functions
----------------
### db_Close()
Closes the mySQL server connection. Only required if you open a connection yourself. Native e107 connection is closed in the footer.php file
<hr>
### db_Connect()
Connects to mySQL server and selects database.
**Parameters**:
string `$mySQLserver` - IP Or hostname of the MySQL server
string `$mySQLuser` - MySQL username
string `$mySQLpassword` - MySQL Password
string `$mySQLdefaultdb` - The database schema to connect to
string `$newLink` - if TRUE, forces creation of a new DB link. Default FALSE
string `$mySQLPrefix` - allows selection of a non-standard DB prefix. Defaults to MPREFIX
**Returns**:
TRUE if successful (0.7 returned NULL)
string error code if failed
For E107 version 0.7.9 onwards, it is possible to connect to several different databases simultaneously (since 0.7.9).
If you create a db object and do not execute db_Connect() for it, it will normally use the default E107 database and connection.
To force a different database, execute db_Connect() with the appropriate credentials.
<hr>
### db_Count()
Count the number of rows in a select.
**Parameters**:
string `$table` - the database table to be accessed
string `$fields` - Defaults to '(\*)'.
string `$arg` - additional SQL arguments, usually a WHERE clause (SQL keywords should be included). Defaults to .
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
number of affected rows as an integer or false on error
<hr>
### db_Delete()
Delete rows from a database table.
**Parameters**:
string `$table` - the database table to be accessed
string `$arg` - additional SQL arguments, usually a WHERE clause **without** the WHERE keyword. Defaults to .
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
number of affected rows as an integer, or false on error
<hr>
### db_Fetch()
Fetch the first/next row from a database table.
The SQL that determines what will be returned should have already been set up via a call to [`db_Select()`](/#db_Select.28.29 "wikilink").
This call is often called in a loop to fetch and process multiple rows that satisfy the SQL criteria.
**Parameters**:
MYSQL_BOTH (Default for 0.7.x), returns a combination of associative and numeric arrays
or
MYSQL_NUM, returns a numeric based array
or
MYSQL_ASSOC (default after 0.7), returns an associative array
**Returns**:
array of row values or FALSE when no more rows.
<hr>
### db_getList()
Returns fields as a structured array.
This API should be called after a [`db_Select()`](/#db_Select.28.29 "wikilink") call. Basically, it does the job of calling [`db_Fetch()`](/#db_Fetch.28.29 "wikilink") repeatedly, storing the results in a structured array that is returned to the caller.
**Parameters**:
string `$fields` - an array of field names (AKA database column names) to retrieve. Defaults to 'ALL'.
boolean `$amount` - the exact number of records to return in the array, ignored if FALSE. Defaults to FALSE.
integer `$maximum` - the maximum number of records to return in the array. Defaults to no limit.
boolean `$ordermode` - Determines how the returned array is structured. When FALSE the array is indexed numerically, starting at 1, when set to a column number or column name the array is indexed by the value of that column returned for each row (Note: when you use this option you must be sure that the column values are unique otherwise some records will be lost). Defaults to FALSE.
**Returns**:
array of results, empty if no records retrieved
**Notes**:
- Using this function will produce memory-inefficient code, particularly compared with code that uses db_Fetch() to get results - because it returns an entire result set, rather than one row at a time - this is especially true with large results.
- This command will produce an associative array only. (MYSQL_ASSOC, see db_Fetch)
<hr />
### db_Insert()
Insert one or more rows into a database table.
**Parameters**:
string `$table` - the database table to be accessed
array|string `$arg` - table column values as an array, an array of arrays, or (not preferred) as a string.
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
Last insert ID as an integer or false on error
<hr>
You can also pass $arg as an array of arrays - these define the data, the field types, any 'NOT NULL' fields and (for updates) the 'WHERE' clause. (Not in 0.7)
The first level array keys are:
`'data' - an array of data (key is the field name, value is the data)`
`'_FIELD_TYPES' - an array of field types`
`'WHERE' - the records to update (only required on the db_Update() method; ignored on db_Insert() ).`
`'_NOTNULL' - fields which are declared as 'NOT NULL', but for which no default is set. Only used on db_Insert(). This is an array where the key is the field name, and the data is the value to set. This value is used only if the field value is not set in the 'data' array.`
#### _FIELD_TYPES array
This defines the type of each field, which determines the detail of how the field is saved, and also optionally instructs the function to sanitize the data before attempting to add it to the database. There are currently 5 supported field types:
'int' - Value of the data will be cast as int (integer)
'cmd' - Field assumed to be a mysql command - left unchanged
'string' - Field will only have single quotes added surrounding the value.
'escape' - Field value will be passed through mysql_real_escape_string(), and be surrounded by single quotes.
'todb' - Field value will be passed through the e107 toDB() function, and be surrounded by single quotes.
- The default type can be set using the special key of _DEFAULT; if unset then toDB() will be used as default type for all fields not having their types specified.
As an exception, if the value of the field is set to '_NULL_', NULL is always used in the query, regardless of any field type which is set.
<hr>
### db_QueryCount()
Returns the total number of database queries made so far.
This is a count of all database queries so far for the current page, not just the queries for the instance you are querying.
**Returns**:
Returns the total number of database queries made so far as an integer.
<hr>
### db_Select()
Performs a select on the database table using the supplied criteria.
To actually retrieve the individual rows you need to use [`db_Fetch()`](/#db_Fetch.28.29 "wikilink") or [`db_getList()`](/#db_getList.28.29 "wikilink").
**Parameters**:
string `$table` - the database table to be accessed (without the prefix)
string `$fields` - A comma delimited list of fieldnames (Defaults to '\*'.)
string `$arg` - additional SQL arguments, usually a WHERE clause **without** the WHERE keyword (see $mode parameter). Defaults to .
string `$mode` - $arg string includes the WHERE keyword (anything other than 'default, 'no-where' is considered good for self commenting code) or not ('default'). Defaults to 'default' which will adds the WHERE keyword for you.
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
The number of rows selected as an integer or false on error
<hr>
### db_Update()
Update fields in a database table corresponding to the supplied arguments.
**Parameters**:
string `$table` - the database table to be accessed
string `$arg` - the SQL detailing the column names and new values and a WHERE clause indicating which row(s) to update.
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
The number of affected rows as an integer or false on error
<hr />
**Note:** the call *may* return zero, if no row was updated ( example: nothing changed editing a form ).
If you do a simple if($sql-&gt;db_Update()) in this case it will be interpreted as if(0), which in turn is false, although the update went well. So if you want to know it the update was successful you will have to test with :
<hr>
As with db_Insert(), you can pass $arg as an array of arrays - these define the data, the field types and the 'WHERE' clause.
The relevant first level array keys are:
`'data' - an array of data (key is the field name, value is the data)`
`'_FIELD_TYPES' - an array of field types`
`'WHERE' - the records to update (only rquired on the db_Update() method; ignored on db_Insert() ).`
#### _FIELD_TYPES array
This defines the type of each field, which determines the detail of how the field is saved, and also optionally instructs the function to sanitize the data before attempting to add it to the database. There are currently 5 supported field types:
'int' - Value of the data will be cast as int (integer)
'cmd' - Field assumed to be a mysql command - left unchanged
'string' - Field will only have single quotes added surrounding the value.
'escape' - Field value will be passed through mysql_real_escape_string(), and be surrounded by single quotes.
'todb' - Field value will be passed through the e107 toDB() function, and be surrounded by single quotes.
- The default type can be set using the special key of _DEFAULT; if unset then toDB() will be used as default type for all fields not having their types specified.
As an exception, if the value of the field is set to '_NULL_', NULL is always used in the query, regardless of any field type which is set. This is almost identical to passing an array with the db_Insert() command, except you will need to set the special 'WHERE' key in the array.
### db_UpdateArray()
***Deprecated routine making a brief appearance - replaced by latest db_Update();***
Update fields in a database table corresponding to the supplied arguments.
**Parameters**:
string `$table` - the database table to be accessed
string `$vars` - a list of values to update. This may either be an array of fieldname=&gt;value pairs, or various string alternatives acceptable to mySQL.
string `$arg` - the WHERE clause indicating which row(s) to update. Defaults to empty string.
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
string `$log_type` - Defaults to .
string `$log_remark` - Defaults to .
**Returns**:
The number of affected rows as an integer or false on error
<hr />
**Note:** because MySQL returns zero, if no row was updated ( example: nothing changed editing a form ), db_UpdateArray will also return zero.
If you do a simple if($sql-&gt;db_UpdateArray()) in this case it will be interpreted as if(0), which in turn is false, although the update went well. So if you want to know it the update was successful you will have to test with :
<hr />
### db_Select_gen()
**Parameters**:
string `$query` - any generic SQL statement, which can (but does not exclusively have to) return row data.
boolean `$debug` - set to TRUE to turn on debug information. Defaults to FALSE.
With this function you can execute any sql commands; the syntax being broadly as accepted by the mySQL engine.
The '\#' before a table name is converted to specify the database prefix, and any language-related prefix. (If MPREFIX alone is used, rather than '\#', multi-language sites may not work as expected). It is also strongly recommended that the table name is enclosed in backticks (since 0.7.9), thus: \`\#table_name\` - this reduces the probability of an erroneous substitution of the prefix. Usage must be consistent within a query - either *all* table names must be in backticks, or none.
If using db_Select_gen(), any reference to database fields in the query should use an alias (rather than multiple occurrences of '\#table_name') - this is probably a little faster and clearer, and also ensures the '\#' is correctly handled.
The following is an example (for accessing the download table):
Note the use of 'AS' to specify an alias for each table.
#### SQL_CALC_ROWS
SQL_CALC_ROWS can be added to a query passed with db_Select_gen() - it returns total number of rows which would match the search criteria in the absence of a LIMIT phrase. If used, the value is automatically retrieved and placed into $sql-&gt;total_results, so it can be read by the caller. (This often saves a query, since otherwise it is not uncommon to have to do a db_Count() as well as the query proper).
Internal (Private) Functions
----------------------------
Internal, or private, functions should not be called by 3rd party code.
### db_Query_all()
Multi-language Query Function.
**Parameters**:
string `$query` -
boolean `$debug` -
Used primarily during updates, to apply the same changes to all of a set of multi-language tables.
[Category:API](/Category:API "wikilink")

9
Developer_team.md Normal file

@ -0,0 +1,9 @@
---
title: Developer team
permalink: /Developer_team/
---
Introduction
------------
[Category:e107](/Category:e107 "wikilink") [Category:Introduction](/Category:Introduction "wikilink") [Category:Setup](/Category:Setup "wikilink")

11
Download.md Normal file

@ -0,0 +1,11 @@
---
title: Download
permalink: /Download/
---
Download
--------
This plugin is a fully featured Download system
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

386
E107_Index.md Normal file

@ -0,0 +1,386 @@
---
title: E107 Index
permalink: /E107_Index/
---
[Main Page](/Main_Page "wikilink")
----------------------------------
A [Setup Guide](/:Category "wikilink")
--------------------------------------
1. [Introduction to e107](/:Category "wikilink")
- [About e107](/About_e107 "wikilink")
- [e107 Key Features](/e107_Key_Features "wikilink")
- [Current Version (0.8.a)](/Current_Version_(0.8.a) "wikilink")
- [What's New in 0.8.a](/What's_New_in_0.8.a "wikilink")
- [History](/History "wikilink")
- [Developer team](/Developer_team "wikilink")
- [Roadmaps](/Roadmaps "wikilink")
- [Support team](/Support_team "wikilink")
- [Translators](/Translators "wikilink")
- [Contact](/Contact "wikilink")
2. [Install e107](/:Category "wikilink")
- [Install Plan for e107](/Install_Plan_for_e107 "wikilink")
- [e107 Requirements](/e107_Requirements "wikilink")
- [Prepare FIle System](/Prepare_FIle_System "wikilink")
- [Prepare Database](/Prepare_Database "wikilink")
- [e107 web install](/e107_web_install "wikilink")
- [Configure your e107 website](/Configure_your_e107_website "wikilink")
3. [Maintenance & Upgrade](/:Category "wikilink")
- [Upgrade Plan for e107](/Upgrade_Plan_for_e107 "wikilink")
4. [Problem Solving](/:Category "wikilink")
- [FAQ - installation](/:Category "wikilink")
- [FAQ - configuration](/:Category "wikilink")
- [FAQ - administration](/:Category "wikilink")
B [User Guide](/:Category "wikilink")
-------------------------------------
1. [Admin](/:Category "wikilink")
2. [Settings](/:Category "wikilink")
- [Cache](/Cache "wikilink")
- [Emotes](/Emotes "wikilink")
- [Front Page](/Front_Page "wikilink")
3. [Languages](/:Category "wikilink")
- [Meta Tags](/Meta_Tags "wikilink")
4. [Preferences](/:Category "wikilink")
- [Search](/Search "wikilink")
- [Site Links](/Site_Links "wikilink")
- [URL Configuration](/URL_Configuration "wikilink")
5. [Users](/:Category "wikilink")
- [Admin Password](/Admin_Password "wikilink")
- [Administrators](/Administrators "wikilink")
- [Banlist](/Banlist "wikilink")
- [Extended User Fields](/Extended_User_Fields "wikilink")
- [User Classes](/User_Classes "wikilink")
- [Users](/Users "wikilink")
6. [Content](/:Category "wikilink")
- [Custom Menus Pages](/Custom_Menus_Pages "wikilink")
- [News](/News "wikilink")
- [Public Uploads](/Public_Uploads "wikilink")
- [Welcome Message](/Welcome_Message "wikilink")
7. [Tools](/:Category "wikilink")
- [Database](/Database "wikilink")
- [File Inspector](/File_Inspector "wikilink")
- [Maintenance](/Maintenance "wikilink")
- [Notify](/Notify "wikilink")
- [Schedule Maintenance](/Schedule_Maintenance "wikilink")
- [System Logs](/System_Logs "wikilink")
8. [Manage](/:Category "wikilink")
- [Comments Manager](/Comments_Manager "wikilink")
- [File Manager](/File_Manager "wikilink")
- [Media Manager](/Media_Manager "wikilink")
- [Menu Manager](/Menu_Manager "wikilink")
- [File Manager](/File_Manager "wikilink")
9. [Plugin Manager](/:Category "wikilink")
- [Mailout](/Mailout "wikilink")
- [Private Messenger](/Private_Messenger "wikilink")
- [WYSYWYG](/WYSYWYG "wikilink")
- [Links Page](/Links_Page "wikilink")
- [Event Calendar](/Event_Calendar "wikilink")
- [Forum](/Forum "wikilink")
- [Integrity Check](/Integrity_Check "wikilink")
- [Linkwords](/Linkwords "wikilink")
- [List](/List "wikilink")
- [Statistic Logging](/Statistic_Logging "wikilink")
- [Newsfeeds](/Newsfeeds "wikilink")
- [RSS](/RSS "wikilink")
- [Trackback](/Trackback "wikilink")
- [Alternate Authentication](/Alternate_Authentication "wikilink")
- [Content Management](/Content_Management "wikilink")
- [Chatbox](/Chatbox "wikilink")
- [Feature Box](/Feature_Box "wikilink")
- [Google Sitemap](/Google_Sitemap "wikilink")
- [New Forum Posts](/New_Forum_Posts "wikilink")
- [Newsletter](/Newsletter "wikilink")
- [Poll](/Poll "wikilink")
10. [Theme Manager](/:Category "wikilink")
C [Development Guide](/:Category "wikilink")
--------------------------------------------
1. [Theme Development](/:Category "wikilink")
- [Creating your first theme](/Creating_your_first_theme "wikilink")
- [Overriding core templates](/Overriding_core_templates "wikilink")
- [Overriding core functionalities](/Overriding_core_functionalities "wikilink")
- [Porting a theme](/Porting_a_theme "wikilink")
- [Advice](/Advice "wikilink")
2. [Plugin Development](/:Category "wikilink")
- [Creating your first plugin](/Creating_your_first_plugin "wikilink")
- [plugin.php / plugin.xml](/plugin.php_/_plugin.xml "wikilink")
- [Integrating your plugin into e107](/Integrating_your_plugin_into_e107 "wikilink")
- [Integrating e107 functions into your plugin](/Integrating_e107_functions_into_your_plugin "wikilink")
- [Advice](/Advice "wikilink")
3. [References](/:Category "wikilink")
4. [Constants](/:Category "wikilink")
- [e_SELF](/e_SELF "wikilink")
- [e_QUERY](/e_QUERY "wikilink")
- [e_HTTP](/e_HTTP "wikilink")
- [e_BASE](/e_BASE "wikilink")
- [e_BASE_SELF](/e_BASE_SELF "wikilink")
- [e_ADMIN](/e_ADMIN "wikilink")
- [e_IMAGE](/e_IMAGE "wikilink")
- [e_THEME](/e_THEME "wikilink")
- [e_PLUGIN](/e_PLUGIN "wikilink")
- [e_FILE](/e_FILE "wikilink")
- [e_HANDLER](/e_HANDLER "wikilink")
- [e_LANGUAGEDIR](/e_LANGUAGEDIR "wikilink")
- [e_ADMIN_ABS](/e_ADMIN_ABS "wikilink")
- [e_IMAGE_ABS](/e_IMAGE_ABS "wikilink")
- [e_THEME_ABS](/e_THEME_ABS "wikilink")
- [e_PLUGIN_ABS](/e_PLUGIN_ABS "wikilink")
- [e_FILE_ABS](/e_FILE_ABS "wikilink")
- [e_HANDLER_ABS](/e_HANDLER_ABS "wikilink")
- [e_LANGUAGEDIR_ABS](/e_LANGUAGEDIR_ABS "wikilink")
- [e_DOCS](/e_DOCS "wikilink")
- [e_DOCS_ABS](/e_DOCS_ABS "wikilink")
- [e_DOCROOT](/e_DOCROOT "wikilink")
- [e_DOWNLOAD](/e_DOWNLOAD "wikilink")
- [MAINTHEME](/MAINTHEME "wikilink")
- [PREVIEWTHEME](/PREVIEWTHEME "wikilink")
- [PREVIEWTHEMENAME](/PREVIEWTHEMENAME "wikilink")
- [SITEURL](/SITEURL "wikilink")
- [SITEURLBASE](/SITEURLBASE "wikilink")
- [THEME](/THEME "wikilink")
- [THEME_ABS](/THEME_ABS "wikilink")
- [USER](/USER "wikilink")
- [USERID](/USERID "wikilink")
- [USERNAME](/USERNAME "wikilink")
- [USERTHEME](/USERTHEME "wikilink")
- [USEREMAIL](/USEREMAIL "wikilink")
- [_SERVER](/_SERVER "wikilink")
5. [Shortcodes](/:Category "wikilink")
- [Shortcode:Calendar Menu](/Shortcode:Calendar_Menu "wikilink")
- [Shortcode:Comment Menu](/Shortcode:Comment_Menu "wikilink")
- [Shortcode:Content](/Shortcode:Content "wikilink")
- [Shortcode:Forum](/Shortcode:Forum "wikilink")
- [Shortcode:Links Page](/Shortcode:Links_Page "wikilink")
- [Shortcode:List New](/Shortcode:List_New "wikilink")
- [Shortcode:Login Menu](/Shortcode:Login_Menu "wikilink")
- [Shortcode:PDF](/Shortcode:PDF "wikilink")
- [Shortcode:Private Message](/Shortcode:Private_Message "wikilink")
- [Shortcode:RSS Menu](/Shortcode:RSS_Menu "wikilink")
- [Shortcode:Themes:Kubrick](/Shortcode:Themes:Kubrick "wikilink")
- [Shortcode:Themes:Leaf](/Shortcode:Themes:Leaf "wikilink")
- [Shortcode:Themes:Reline](/Shortcode:Themes:Reline "wikilink")
- [Shortcodes for languages](/Shortcodes_for_languages "wikilink")
- [Shortcodes, adding to a plugin](/Shortcodes,_adding_to_a_plugin "wikilink")
- [Shortcodes, adding to the forum](/Shortcodes,_adding_to_the_forum "wikilink")
- [Shortcodes:Admin](/Shortcodes:Admin "wikilink")
- [Shortcodes:Admin es](/Shortcodes:Admin_es "wikilink")
- [Shortcodes:Admin:ADMIN ALT NAV](/Shortcodes:Admin:ADMIN_ALT_NAV "wikilink")
- [Shortcodes:Admin:ADMIN CREDITS](/Shortcodes:Admin:ADMIN_CREDITS "wikilink")
- [Shortcodes:Admin:ADMIN DOCS](/Shortcodes:Admin:ADMIN_DOCS "wikilink")
- [Shortcodes:Admin:ADMIN HELP](/Shortcodes:Admin:ADMIN_HELP "wikilink")
- [Shortcodes:Admin:ADMIN ICON](/Shortcodes:Admin:ADMIN_ICON "wikilink")
- [Shortcodes:Admin:ADMIN LANG](/Shortcodes:Admin:ADMIN_LANG "wikilink")
- [Shortcodes:Admin:ADMIN LATEST](/Shortcodes:Admin:ADMIN_LATEST "wikilink")
- [Shortcodes:Admin:ADMIN LOG](/Shortcodes:Admin:ADMIN_LOG "wikilink")
- [Shortcodes:Admin:ADMIN LOGGED](/Shortcodes:Admin:ADMIN_LOGGED "wikilink")
- [Shortcodes:Admin:ADMIN LOGO](/Shortcodes:Admin:ADMIN_LOGO "wikilink")
- [Shortcodes:Admin:ADMIN MENU](/Shortcodes:Admin:ADMIN_MENU "wikilink")
- [Shortcodes:Admin:ADMIN MSG](/Shortcodes:Admin:ADMIN_MSG "wikilink")
- [Shortcodes:Admin:ADMIN NAV](/Shortcodes:Admin:ADMIN_NAV "wikilink")
- [Shortcodes:Admin:ADMIN PLUGINS](/Shortcodes:Admin:ADMIN_PLUGINS "wikilink")
- [Shortcodes:Admin:ADMIN PRESET](/Shortcodes:Admin:ADMIN_PRESET "wikilink")
- [Shortcodes:Admin:ADMIN PWORD](/Shortcodes:Admin:ADMIN_PWORD "wikilink")
- [Shortcodes:Admin:ADMIN SEL LAN](/Shortcodes:Admin:ADMIN_SEL_LAN "wikilink")
- [Shortcodes:Admin:ADMIN SITEINFO](/Shortcodes:Admin:ADMIN_SITEINFO "wikilink")
- [Shortcodes:Admin:ADMIN STATUS](/Shortcodes:Admin:ADMIN_STATUS "wikilink")
- [Shortcodes:Admin:ADMIN UPDATE](/Shortcodes:Admin:ADMIN_UPDATE "wikilink")
- [Shortcodes:Admin:ADMIN USERLAN](/Shortcodes:Admin:ADMIN_USERLAN "wikilink")
- [Shortcodes:Banner](/Shortcodes:Banner "wikilink")
- [Shortcodes:Breadcrumb](/Shortcodes:Breadcrumb "wikilink")
- [Shortcodes:ChatBox](/Shortcodes:ChatBox "wikilink")
- [Shortcodes:ChatBox es](/Shortcodes:ChatBox_es "wikilink")
- [Shortcodes:Comments](/Shortcodes:Comments "wikilink")
- [Shortcodes:Comments es](/Shortcodes:Comments_es "wikilink")
- [Shortcodes:Contact Form](/Shortcodes:Contact_Form "wikilink")
- [Shortcodes:Contact Form es](/Shortcodes:Contact_Form_es "wikilink")
- [Shortcodes:Download](/Shortcodes:Download "wikilink")
- [Shortcodes:E IMAGE](/Shortcodes:E_IMAGE "wikilink")
- [Shortcodes:EMAIL](/Shortcodes:EMAIL "wikilink")
- [Shortcodes:EMAIL ITEM](/Shortcodes:EMAIL_ITEM "wikilink")
- [Shortcodes:EMAIL TO](/Shortcodes:EMAIL_TO "wikilink")
- [Shortcodes:EXTENDED ICON](/Shortcodes:EXTENDED_ICON "wikilink")
- [Shortcodes:EXTENDED TEXT](/Shortcodes:EXTENDED_TEXT "wikilink")
- [Shortcodes:EXTENDED VALUE](/Shortcodes:EXTENDED_VALUE "wikilink")
- [Shortcodes:Formatting](/Shortcodes:Formatting "wikilink")
- [Shortcodes:Formatting es](/Shortcodes:Formatting_es "wikilink")
- [Shortcodes:Forum](/Shortcodes:Forum "wikilink")
- [Shortcodes:Forum es](/Shortcodes:Forum_es "wikilink")
- [Shortcodes:Frontend](/Shortcodes:Frontend "wikilink")
- [Shortcodes:Frontend es](/Shortcodes:Frontend_es "wikilink")
- [Shortcodes:Frontend:CUSTOM](/Shortcodes:Frontend:CUSTOM "wikilink")
- [Shortcodes:Frontend:CUSTOM GENERAL INFO](/Shortcodes:Frontend:CUSTOM_GENERAL_INFO "wikilink")
- [Shortcodes:Frontend:CUSTOM=quote](/Shortcodes:Frontend:CUSTOM=quote "wikilink")
- [Shortcodes:Frontend:LANGUAGELINKS](/Shortcodes:Frontend:LANGUAGELINKS "wikilink")
- [Shortcodes:Frontend:MENU](/Shortcodes:Frontend:MENU "wikilink")
- [Shortcodes:Frontend:NEXTPREV](/Shortcodes:Frontend:NEXTPREV "wikilink")
- [Shortcodes:Frontend:PLUGIN](/Shortcodes:Frontend:PLUGIN "wikilink")
- [Shortcodes:Frontend:SEARCH](/Shortcodes:Frontend:SEARCH "wikilink")
- [Shortcodes:Frontend:SITENAME](/Shortcodes:Frontend:SITENAME "wikilink")
- [Shortcodes:Frontend:SITETAG](/Shortcodes:Frontend:SITETAG "wikilink")
- [Shortcodes:Frontend:USER AVATAR](/Shortcodes:Frontend:USER_AVATAR "wikilink")
- [Shortcodes:IMAGESELECTOR](/Shortcodes:IMAGESELECTOR "wikilink")
- [Shortcodes:LOGO](/Shortcodes:LOGO "wikilink")
- [Shortcodes:News](/Shortcodes:News "wikilink")
- [Shortcodes:News Archives](/Shortcodes:News_Archives "wikilink")
- [Shortcodes:News es](/Shortcodes:News_es "wikilink")
- [Shortcodes:<News:ADMINOPTIONS>](/Shortcodes:News:ADMINOPTIONS "wikilink")
- [Shortcodes:<News:CAPTIONCLASS>](/Shortcodes:News:CAPTIONCLASS "wikilink")
- [Shortcodes:<News:EMAILICON>](/Shortcodes:News:EMAILICON "wikilink")
- [Shortcodes:<News:EXTENDED>](/Shortcodes:News:EXTENDED "wikilink")
- [Shortcodes:<News:NEWS> ALT](/Shortcodes:News:NEWS_ALT "wikilink")
- [Shortcodes:<News:NEWS> CATEGORIES](/Shortcodes:News:NEWS_CATEGORIES "wikilink")
- [Shortcodes:<News:NEWS> CATEGORY](/Shortcodes:News:NEWS_CATEGORY "wikilink")
- [Shortcodes:<News:NEWS> FILE](/Shortcodes:News:NEWS_FILE "wikilink")
- [Shortcodes:<News:NEWSAUTHOR>](/Shortcodes:News:NEWSAUTHOR "wikilink")
- [Shortcodes:<News:NEWSBODY>](/Shortcodes:News:NEWSBODY "wikilink")
- [Shortcodes:<News:NEWSCATEGORY>](/Shortcodes:News:NEWSCATEGORY "wikilink")
- [Shortcodes:<News:NEWSCATICON>](/Shortcodes:News:NEWSCATICON "wikilink")
- [Shortcodes:<News:NEWSCOMMENTCOUNT>](/Shortcodes:News:NEWSCOMMENTCOUNT "wikilink")
- [Shortcodes:<News:NEWSCOMMENTLINK>](/Shortcodes:News:NEWSCOMMENTLINK "wikilink")
- [Shortcodes:<News:NEWSCOMMENTS>](/Shortcodes:News:NEWSCOMMENTS "wikilink")
- [Shortcodes:<News:NEWSDATE>](/Shortcodes:News:NEWSDATE "wikilink")
- [Shortcodes:<News:NEWSHEADER>](/Shortcodes:News:NEWSHEADER "wikilink")
- [Shortcodes:<News:NEWSICON>](/Shortcodes:News:NEWSICON "wikilink")
- [Shortcodes:<News:NEWSID>](/Shortcodes:News:NEWSID "wikilink")
- [Shortcodes:<News:NEWSIMAGE>](/Shortcodes:News:NEWSIMAGE "wikilink")
- [Shortcodes:<News:NEWSSUMMARY>](/Shortcodes:News:NEWSSUMMARY "wikilink")
- [Shortcodes:<News:NEWSTHUMBNAIL>](/Shortcodes:News:NEWSTHUMBNAIL "wikilink")
- [Shortcodes:<News:NEWSTITLE>](/Shortcodes:News:NEWSTITLE "wikilink")
- [Shortcodes:<News:NEWSTITLELINK>](/Shortcodes:News:NEWSTITLELINK "wikilink")
- [Shortcodes:<News:PDFICON>](/Shortcodes:News:PDFICON "wikilink")
- [Shortcodes:<News:PRINTICON>](/Shortcodes:News:PRINTICON "wikilink")
- [Shortcodes:<News:STICKY> ICON](/Shortcodes:News:STICKY_ICON "wikilink")
- [Shortcodes:<News:TRACKBACK>](/Shortcodes:News:TRACKBACK "wikilink")
- [Shortcodes:Override Plugin Shortcodes](/Shortcodes:Override_Plugin_Shortcodes "wikilink")
- [Shortcodes:PICTURE](/Shortcodes:PICTURE "wikilink")
- [Shortcodes:PRINT ITEM](/Shortcodes:PRINT_ITEM "wikilink")
- [Shortcodes:PROFILE](/Shortcodes:PROFILE "wikilink")
- [Shortcodes:Prerender Shortcode](/Shortcodes:Prerender_Shortcode "wikilink")
- [Shortcodes:Prerender Shortcode es](/Shortcodes:Prerender_Shortcode_es "wikilink")
- [Shortcodes:SITECONTACTINFO](/Shortcodes:SITECONTACTINFO "wikilink")
- [Shortcodes:SITEDESCRIPTION](/Shortcodes:SITEDESCRIPTION "wikilink")
- [Shortcodes:SITEDISCLAIMER](/Shortcodes:SITEDISCLAIMER "wikilink")
- [Shortcodes:SITELINKS](/Shortcodes:SITELINKS "wikilink")
- [Shortcodes:SITELINKS ALT](/Shortcodes:SITELINKS_ALT "wikilink")
- [Shortcodes:Signup](/Shortcodes:Signup "wikilink")
- [Shortcodes:Site Maintenance](/Shortcodes:Site_Maintenance "wikilink")
- [Shortcodes:THEME DISCLAIMER](/Shortcodes:THEME_DISCLAIMER "wikilink")
- [Shortcodes:Themes](/Shortcodes:Themes "wikilink")
- [Shortcodes:Themes es](/Shortcodes:Themes_es "wikilink")
- [Shortcodes:UPLOADFILE](/Shortcodes:UPLOADFILE "wikilink")
- [Shortcodes:USER EXTENDED](/Shortcodes:USER_EXTENDED "wikilink")
- [Shortcodes:User Journals es](/Shortcodes:User_Journals_es "wikilink")
- [Shortcodes:Users](/Shortcodes:Users "wikilink")
- [Shortcodes:Users es](/Shortcodes:Users_es "wikilink")
- [Shortcodes:WMESSAGE](/Shortcodes:WMESSAGE "wikilink")
6. [Handlers](/:Category "wikilink")
- [avatar_handler.php](/avatar_handler.php "wikilink")
- [bbcode_handler.php](/bbcode_handler.php "wikilink")
- [date_handler.php](/date_handler.php "wikilink")
- [debug_handler.php](/debug_handler.php "wikilink")
- [e107_Compat_handler.php](/e107_Compat_handler.php "wikilink")
- [emote.php](/emote.php "wikilink")
- [emote_filter.php](/emote_filter.php "wikilink")
- [encrypt_handler.php](/encrypt_handler.php "wikilink")
- [form_handler.php](/form_handler.php "wikilink")
- [level_handler.php](/level_handler.php "wikilink")
- [login.php](/login.php "wikilink")
- [mail.php](/mail.php "wikilink")
- [message_handler.php](/message_handler.php "wikilink")
- [message_handler.php](/message_handler.php "wikilink")
- [parser_handler.php](/parser_handler.php "wikilink")
- [popup_handler.php](/popup_handler.php "wikilink")
- [profanity_filter.php](/profanity_filter.php "wikilink")
- [ren_help.php](/ren_help.php "wikilink")
- [resize_handler.php](/resize_handler.php "wikilink")
- [secure_img_handler.php](/secure_img_handler.php "wikilink")
- [secure_img_render.php](/secure_img_render.php "wikilink")
- [session_handler.php](/session_handler.php "wikilink")
- [shortcode_handler.php](/shortcode_handler.php "wikilink")
- [theme_handler.php](/theme_handler.php "wikilink")
- [upload_handler.php](/upload_handler.php "wikilink")
- [phpmailer\\mailout_process.php](/phpmailer\mailout_process.php "wikilink")
- [search\\advanced_comment.php](/search\advanced_comment.php "wikilink")
- [search\\advanced_download.php](/search\advanced_download.php "wikilink")
- [search\\advanced_news.php](/search\advanced_news.php "wikilink")
- [search\\advanced_pages.php](/search\advanced_pages.php "wikilink")
- [search\\advanced_user.php ](/search\advanced_user.php_ "wikilink")
- [search\\comments_download.php](/search\comments_download.php "wikilink")
- [search\\comments_news.php](/search\comments_news.php "wikilink")
- [search\\comments_page.php](/search\comments_page.php "wikilink")
- [search\\comments_user.php](/search\comments_user.php "wikilink")
- [search\\search_comment.php](/search\search_comment.php "wikilink")
- [search\\search_download.php](/search\search_download.php "wikilink")
- [search\\search_event.php](/search\search_event.php "wikilink")
- [search\\search_news.php](/search\search_news.php "wikilink")
- [search\\search_pages.php](/search\search_pages.php "wikilink")
- [search\\search_user.php](/search\search_user.php "wikilink")
- [tiny_mce\\wysiwyg.php](/tiny_mce\wysiwyg.php "wikilink")
- [tiny_mce\\plugins\\ibrowser\\config.php ](/tiny_mce\plugins\ibrowser\config.php_ "wikilink")
- [tiny_mce\\plugins\\ibrowser\\ibrowser.php](/tiny_mce\plugins\ibrowser\ibrowser.php "wikilink")
7. [BBcodes](/:Category "wikilink")
- [bb_b](/bb_b "wikilink")
- [bb_blockquote](/bb_blockquote "wikilink")
- [bb_br](/bb_br "wikilink")
- [bb_center](/bb_center "wikilink")
- [bb_code](/bb_code "wikilink")
- [bb_color](/bb_color "wikilink")
- [bb_email](/bb_email "wikilink")
- [bb_file](/bb_file "wikilink")
- [bb_flash](/bb_flash "wikilink")
- [bb_hide](/bb_hide "wikilink")
- [bb_i](/bb_i "wikilink")
- [bb_img](/bb_img "wikilink")
- [bb_justify](/bb_justify "wikilink")
- [bb_left](/bb_left "wikilink")
- [bb_link](/bb_link "wikilink")
- [bb_link](/bb_link "wikilink")
- [bb_list](/bb_list "wikilink")
- [bb_quote](/bb_quote "wikilink")
- [bb_right](/bb_right "wikilink")
- [bb_size](/bb_size "wikilink")
- [bb_spoiler](/bb_spoiler "wikilink")
- [bb_time](/bb_time "wikilink")
- [bb_u](/bb_u "wikilink")
- [bb_url](/bb_url "wikilink")
- [bb_youtube](/bb_youtube "wikilink")
8. [Functions & Classes](/:Category "wikilink")
- [parser_functions.php](/parser_functions.php "wikilink")
- [user_func.php](/user_func.php "wikilink")
- [cache_handler.php](/cache_handler.php "wikilink")
- [admin_log_class.php](/admin_log_class.php "wikilink")
- [arraystorage_class.php](/arraystorage_class.php "wikilink")
- [comment_class.php](/comment_class.php "wikilink")
- [db_debug_class.php](/db_debug_class.php "wikilink")
- [e107_class.php](/e107_class.php "wikilink")
- [e_parse_class.php](/e_parse_class.php "wikilink")
- [emailprint_class.php](/emailprint_class.php "wikilink")
- [event_class.php ](/event_class.php_ "wikilink")
- [file_class.php ](/file_class.php_ "wikilink")
- [language_class.php](/language_class.php "wikilink")
- [language_class.php](/language_class.php "wikilink")
- [mysql_class.php](/mysql_class.php "wikilink")
- [news_class.php](/news_class.php "wikilink")
- [notify_class.php](/notify_class.php "wikilink")
- [np_class.php](/np_class.php "wikilink")
- [override_class.php](/override_class.php "wikilink")
- [plugin_class.php](/plugin_class.php "wikilink")
- [pref_class.php](/pref_class.php "wikilink")
- [preset_class.php](/preset_class.php "wikilink")
- [rate_class.php](/rate_class.php "wikilink")
- [search_class.php](/search_class.php "wikilink")
- [sitelinks_class.php](/sitelinks_class.php "wikilink")
- [traffic_class.php](/traffic_class.php "wikilink")
- [traffic_class_display.php](/traffic_class_display.php "wikilink")
- [user_extended_class.php](/user_extended_class.php "wikilink")
- [user_select_class.php](/user_select_class.php "wikilink")
- [userclass_class.php](/userclass_class.php "wikilink")
- [usersession_class.php](/usersession_class.php "wikilink")
- [xml_class.php](/xml_class.php "wikilink")
9. [File System](/:Category "wikilink")
10. [Database](/:Category "wikilink")

9
E107_Key_Features.md Normal file

@ -0,0 +1,9 @@
---
title: E107 Key Features
permalink: /E107_Key_Features/
---
Introduction
------------
[Category:e107](/Category:e107 "wikilink") [Category:Introduction](/Category:Introduction "wikilink") [Category:Setup](/Category:Setup "wikilink") [Category:About e107](/Category:About_e107 "wikilink")

53
E107_Video_Tutorials.md Normal file

@ -0,0 +1,53 @@
---
title: E107 Video Tutorials
permalink: /E107_Video_Tutorials/
---
e107 Video Collection - Tutorials
---------------------------------
Here are some useful e107 Videos authored by the e107 community.
### Installing e107
{{\#ev:youtube|6kYjxJmk0wc}}
By KLaxJohn
### Login to e107
{{\#ev:youtube|L9i9W7DhY4s}}
By spinningplanet
### Introduction to Admin
{{\#ev:youtube|MLK3IyK9lDg}}
By gbr562
### Creating e107 Web Pages
{{\#ev:youtube|1OGMift60DU}}
By spinningplanet
### Creating e107 Navigation Site Links
{{\#ev:youtube|b1Gl_2GDmuU}}
By spinningplanet
### User Manager
{{\#ev:youtube|ZxAJ98IMeKQ}}
By gbr562
### Creating Downloads
{{\#ev:youtube|lByk6USfCpY}}
By Hikingwolf
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink")

13
E_shortcode.md Normal file

@ -0,0 +1,13 @@
---
title: E shortcode
permalink: /E_shortcode/
---
<small>[English](/{{FULLPAGENAME}} "wikilink") | [Français](/{{FULLPAGENAME}}/fr "wikilink") | [Deutsch](/{{FULLPAGENAME}}/de "wikilink") | [Magyar](/{{FULLPAGENAME}}/hr "wikilink") </small>
e_shortcode
------------
Adding a e_shortcode.php to the plugin directory will allow you to use shortcodes in your e107 website. In other words, it allows you to execute code by inserting your {SHORTCODE} to texts and templates. Eg. the banner plugin uses e_shortcode.php to display banners on any page once the plugin has been called by adding {BANNER} or {BANNER=x}.
[Category:Plugin Development](/Category:Plugin_Development "wikilink")

13
E_tohtml.md Normal file

@ -0,0 +1,13 @@
---
title: E tohtml
permalink: /E_tohtml/
---
<small>[English](/{{FULLPAGENAME}} "wikilink") | [Français](/{{FULLPAGENAME}}/fr "wikilink") | [Deutsch](/{{FULLPAGENAME}}/de "wikilink") | [Magyar](/{{FULLPAGENAME}}/hr "wikilink") </small>
e_tohtml
---------
Adding a e_tohtml.php to the plugin directory will allow you to hook up with the parsing of content. In other words, it allows you to do stuff with the content on pages. Eg. the linkwords plugin uses e_tohtml.php to check for non-admin pages and replace the words with links, as set in the plugin's admin settings.
[Category:Plugin Development](/Category:Plugin_Development "wikilink")

12
Embedding_video.md Normal file

@ -0,0 +1,12 @@
---
title: Embedding video
permalink: /Embedding_video/
---
Install e107 example video
{{\#ev:youtube|6kYjxJmk0wc}}
For Dave
{{\#ev:youtube|pwFZi5X4JuM}}

52
Emoticons.md Normal file

@ -0,0 +1,52 @@
---
title: Emoticons
permalink: /Emoticons/
---
e107 » [Admin Area](/:Category:Admin "wikilink") » [Settings](/:Category:Settings "wikilink") » Emoticons
---------------------------------------------------------------------------------------------------------
Emoticons or "emotes" are the little smiley icons displayed in text, certain keystrokes will be converted into the image such as :) becomes a smile icon and the associated image is displayed instead of the plain text characters.
With emoticons activated, standard smiley text strings will be replaced by their respective emoticon images throughout the content in your site.
### Emote activation
To enable emotes on your site navigate to your e107 Admin Area, choose the **Emote activation** tab, check the box:
- Activate emoticons?
### Installed packs
In the next tab along, **Installed Packs**, you will see a list of the emote packs which are installed. This will display the default emote pack issued with a new e107 system, plus those you have installed.
- **Name** - the name of the emote pack
- **Emotes** - sample images
- **Status** - Shows which pack is active, if any.
- **Options** for the system administrator.
- **Edit / configure this pack**
- **Generate XML**
#### Edit / configure this pack
This page displays the total number of image files, a list of the images.
- Image Displayed
- Name of the source file
- Emote Codes ( separate multiple entries with spaces )
- This is the text user can enter to display the emote.
You can **Save Configuration** or **Cancel** the changes using the appropriate buttons.
#### Generate XML
If you've manually created or modified the definitions, you can create an XML file for import elsewhere.
Ensure the directory e107_images/emotes/default/ is writeable.
More
----
See [:Category:Emoticons](/:Category:Emoticons "wikilink") for all documentation relating to the e107 Emoticons System.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Emoticons](/Category:Emoticons "wikilink") [Category:Content](/Category:Content "wikilink")

11
Event_Calendar.md Normal file

@ -0,0 +1,11 @@
---
title: Event Calendar
permalink: /Event_Calendar/
---
Event Calendar
--------------
This plugin is a fully featured event calendar with calendar menu.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

233
Extended_User_Fields.md Normal file

@ -0,0 +1,233 @@
---
title: Extended User Fields
permalink: /Extended_User_Fields/
---
Users Extended Fields
---------------------
Extended user fields allow you to add additional fields to store custom information on your users profiles. Fields can be of different types for different kinds of information, for example a text box, radio button or drop down list selection.
Be aware of local Data Protection legislation for you jurisdiction.
Managing Extended User Field
----------------------------
Extended user Fields are managed via the Admin-&gt;Users-&gt;Extended User Fields pages.
From here you can add, edit and delete fields and categories and activate/deactivate predefined user fields.
### Adding/Editing Extended User Fields
After clicking the **Add new field** link or the **edit** button next to an existing field the Extended User Field form will be shown.
#### Field name
This is the name of the field as stored in the table, it must be unique from any other field, and must not be used in the main user table. It will automatically be prefixed with `user_` (so no need to add this).
Because the field name must be unique, if you are not sure (or can't check) what other field names are already used make sure yours is specific to you.
For example, to add a field for a **game name** using just `name` is probably not wise. `gamename` would be better and `mysite_gamename` would probably ensure it is unique.
Also make sure you only use letters, numbers and underscore characters.
#### Field text:
This is the displayed name of the field in rendered pages. For example *Game name*.
#### Field Type
Select the type of the field. Field types are explained in more detail below.
#### Values
For certain field types, you can add pre-defined values here, for example items in a list that the user can select. Add one entry per line (use the **Add new value** button to add a new value/line).
This is explained in more detail for each field type below.
#### Default Value
If the field can have a default value enter it here. This value will be used if the user has not yet entered their own value for the field.
#### Field include text
Any valid W3C [attributes](http://www.w3.org/TR/html401/sgml/dtd.html#attrs) may be entered here. These are the HTML attributes used to describe the field in more detail.
For example for a text input field you might use ''class='tbox' size='40' maxlength='80' '' to give the field a CSS class of *tbox*, make it 40 characters wide and allow a maximum of 80 characters.
#### regex validation code
Enter the [Regular Expression](http://uk2.php.net/manual/en/ref.pcre.php) string that will need to be matched to make it a valid entry. **regex delimiters are required**.
Regular expressions are too complex to go in to here in detail. Refer to the [PHP Manual](http://uk2.php.net/manual/en/ref.pcre.php) for more information.
Here are some example regular expressions. \# is used as the delimiter here
| | |
|--------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------------------------|
| **Expression** | **Meaning** |
| 1. ^(\[0-9a-zA-Z\]){1,16}$\# | Any alphanumeric character, length must be between 1 and 16 |
| 1. ^(\[0-9a-zA-Z\\-\\_\]){1,16}$\# | As above, but also allows underscore and dash characters |
| 1. ^e107$\# | Text must contain e107 somewhere in it |
| 1. \\bweb\\b\#i | Text must contain the word *web* (so *website* would **not** match |
| 1. ^human$\#i | Text must be the word *human* and nothing else - if the field was the question *Are you human? If so, answer "human"* could act as a basic *captcha* field. |
*Note: these patterns are supplied 'as is', not all have been tested! If you find a mistake (or a useful pattern) please edit this table*
For testing your regular expressions these links can be helpful:
- [supercrumbly PHP regex tester](http://www.supercrumbly.com/assets/html/phpregextester/)
- [Firefox add-on (note: uses JavaScript rather than PHP syntax which are not identical)](http://sebastianzartner.ath.cx/firefoxExtensions/RExT/)
#### regex failure text
Enter the error message that will be shown if the Regular Expression validation fails. This will be displayed to the user in a pop up. Avoid using single quote characters as this breaks the JavaScript used for the pop up.
#### Category
Select a Category that this field belongs to (can be none). Categories are explained in more detail below.
#### Required
Determines if the field is required (mandatory) or not and where it is displayed.
**No - will not show on signup page** field is not required and is shown on the sign up and users settings page. The may choose to fill it in or ignore it.
**Yes - will show on signup page** field is required and must be completed when users sign up to the site.
**No - show on signup page** field is not required and is only shown on the users settings page. The may choose to fill it in or ignore it.
#### Applicable
Determines which user class, and so which users, this field will apply to. It will not be available to users not in the selected user class.
#### Read access
This will determine which user class, and so which users, can see the value in the user page for other users.
**NOTE:** Setting this to 'Read Only' will make it visible to Admin and the member only.
#### Write access
This will determine which user class, and so which users, can see the value in the their user settings page.
#### Allow user to hide
Setting this to yes will allow the user to hide this value from non-admins.
### Field Types
#### Text box
An HTML [text input](http://www.w3.org/TR/html401/interact/forms.html#h-17.4) field. A single line of free format text.
#### Radio buttons
An HTML [radio button](http://www.w3.org/TR/html401/interact/forms.html#h-17.4) group. Used to allow the user to make a single selection from a number of options.
Good practice is to use this instead of a Drop-Down list where the number of options is five or less.
Use *Values* to set the value for each radio button required, for example *red,green,blue*.
#### Drop-Down menu
An HTML [select](http://www.w3.org/TR/html401/interact/forms.html#h-17.6) field. Used to allow the user to make a single selection from a number of options displayed in a list.
Good practice is to use this instead of a Radio button group where the number of options is more than five.
Use *Values* to set the value for each item in the list that is required, for example *red,orange,yellow,green,blue,indigo,violet,black,white,none*.
To get a drop down list, set *Field include text* to ''size='1' ''.
For a list that shows 5 items and scrolls, set *Field include text* to ''size='5' ''
#### DB Table field
Selecting this option changes the *Values* to a list of tables in the database. Selecting a specific table presents three more lists.
There should be four values given **ALWAYS**:
- **Table** the database table to get values from
- **Field Id** The table field containing the data (usually an Id (integer)) that will be the stored value
- **Display value** The table field that contains the data that will be displayed to the user as a drop down lit to allow selection
- **Order** The table field that determines the sort order of the displayed data
For example
- **Table** user
- **Field Id** user_id
- **Display value** user_name
- **Order** user_name
will display a list of all users from the `user` table, displayed and sorted by `user_name`, when selected the `user_id` will be stored in the users profile.
#### Textarea
An HTML [textarea](http://www.w3.org/TR/html401/interact/forms.html#h-17.7) field. Used to allow the user to input multiple lines of text.
#### Integer
Similar to *Text box* but only allows input of an integer.
#### Date
Similar to *Text box* but only allows input of a date.
#### Language
Allow user to select from a list of the installed languages.
#### Predefined List
***(New in 0.8.a)***
This field is used where the user is required to select from a fixed list, and the stored value in the database is to be different to that displayed.
At present the only supported list is the timezone - enter 'timezones' in the value box (this specifies the name and, by implication the type of the list).
It is also possible to [add your own lists](/E107_user_extended#Predefined_List "wikilink")
### Categories
You can create categories to allow you to group extended user fields together. For example, you might create fields for different parts of an address (street, city, etc.) and then create a category called *Address* to group the address fields in to one section on the page.
When you add/edit a category you can specify:
#### Category name
The name of the category, as displayed on the page to the user
#### Applicable
Determines which user class, and so which users, fields in this category will apply to.
#### Read access
This will determine which user class, and so which users, can see the fields in this category in the user page for other users.
**NOTE:** Setting this to 'Read Only' will make it visible to Admin and the member only.
#### Write access
This will determine which user class, and so which users, can see the fields in this category in the their user settings page.
### Predefined Fields
This page allows you to activate or deactivate the e107 predefined extended user fields.
The fields are:
| | | |
|----------|----------|----------------------------------|
| **Name** | **Type** | **Use** |
| aim | text | AIM Address |
| birthday | date | Birthday |
| country | db field | User Country (includes db table) |
| homepage | text | User homepage (url) |
| icq | text | ICQ Number |
| language | language | User Language |
| location | text | User location |
| msn | text | MSN Address |
| yahoo | text | Yahoo! Address |
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Extended Fields](/Category:Extended_Fields "wikilink") [Category:Security](/Category:Security "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

11
FAQs.md Normal file

@ -0,0 +1,11 @@
---
title: FAQs
permalink: /FAQs/
---
FAQs
----
Based on the original FAQ plugin by Cameron of e107 Inc.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Facebook.md Normal file

@ -0,0 +1,11 @@
---
title: Facebook
permalink: /Facebook/
---
Facebook
--------
Facebook Connect for e107
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Feature_Box.md Normal file

@ -0,0 +1,11 @@
---
title: Feature Box
permalink: /Feature_Box/
---
Feature Box
-----------
This plugin allows you to display a box above your news items with features / whatever you like in it. The messages can either be revolved randomly or dynamically faded.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Forum.md Normal file

@ -0,0 +1,11 @@
---
title: Forum
permalink: /Forum/
---
Forum
-----
This plugin is a fully featured Forum system
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

104
Front_Page.md Normal file

@ -0,0 +1,104 @@
---
title: Front Page
permalink: /Front_Page/
---
e107 » [Admin Area](/:Category:Admin "wikilink") » [Settings](/:Category:Settings "wikilink") » Front Page
----------------------------------------------------------------------------------------------------------
From this screen you can choose what to display as the front page of your site, the default is news. You can also determine whether users are sent to a particular page after logging in.
The rules are searched in order, to find the first where the current user belongs to the class specified in the rule. That rule then determines the front (home) page and any specific post-login page. If no rule matches, news.php is set as the home page.
The user is sent to the specified "Post-login page" (if specified) immediately following a login.
Current Front Page Settings
---------------------------
The screen displays a list of current rules, including the default rule which is shown below
| | | | | |
|-------|-------------------|-----------|-----------------|---------------------|
| Order | User Class | Home Page | Post-login page | Edit |
| 1 | Everyone (public) | News | None | Up Down Edit Delete |
Click the **Add new rule** button to create new entries.
Adding and Editing Rules
------------------------
Enter or select the information for your new front page rule.
### Front Page - Add new rule
The left side of the Add New Rule screen allows you to choose an new front page option.
Choose an option for the front page
- Home Page
- News
- Downloads
- Welcome Message
- Custom Page
- Event Calendar
- Other (enter url):
- Other Page types will appear here if the plugin is activated.
On the right hand side, you can choose the after login page.
Post-login page (To disable, select "Other" with a blank URL).
- News
- Downloads
- Welcome Message
- Custom Page
- Event Calendar
- Other (enter url):
- Again other plugins will be listed when active.
Next choose a **User Class** for the new rule.
Click **Update Front Page Settings** to apply the new settings.
THIS NEEDS TO BE JOINED TOGETHER
--------------------------------
*'*This document relates to the Front Page (User Home Page) handling to be released in E107 version 2.0. *'*
Overview
--------
The 'Front Page' option on the main admin page allows two things to be set for each class of user:
- The user 'Home Page' (or 'Front Page') - this is the page which is displayed if the user clicks on the 'Home' link (assuming its set to display index.php), accesses index.php, or accesses the site without specifiying a page name.
<!-- -->
- The user 'Post Login Page' - this is the page which is displayed immediately after a user has logged in. This allows the admin to force a user to view a particular page on each login, or may be helpful in other ways (for example, main admins might like to go straight to the main admin page after login). One option is to 'do nothing' on login, in which case the user will normally remain on the page where they were.
Using the Rules
---------------
The logic for this function uses the E107 user classes, and works in much the same way for both Home Page and Post Login Page.
A user may belong to a number of classes, so the admin has to enter an ordered list of rules. Each rule is applicable to one user class.
The list is searched, in order, for the first entry where the current user is a member of the user class specified in the rule. The page specified in that rule is then displayed.
If no matching rule is found:
- for Home Page, 'news.php' is used
- for Post Login Page, the current page is used
Specifying the Rules
--------------------
The rules are entered through an option 'Front Page' on the main admin menu.
Initially a list of existing rules is displayed. Their order can be changed by clicking on the arrows. Rules may be deleted by clicking on the red cross, or edited by clicking on the 'Edit' icon.
To add a rule, click on the 'Add new rule' button. A new block is shown at the top of the screen, with the left half showing the options for 'Home Page' and the right half showing the options for 'Post Login Page'. The user class for the rule is selectable at the top.
Save the rule once done - it will be added at the top of the list, and can be moved as required using the arrow keys.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Front Page](/Category:Front_Page "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

41
GeshiNotes.md Normal file

@ -0,0 +1,41 @@
---
title: GeshiNotes
permalink: /GeshiNotes/
---
Usage
-----
You need to use the **Advanced Tag Format:** &lt;code \['language'|list\] \[n\] &gt;source code here&lt;/code&gt;
**Tag Examples**
*- advanced code tag*
&lt;code php&gt; echo "Hello World"; &lt;/code&gt;
<code php> function ReadLanguages() {
`       global $languages, $languagesPath;`
`       $dirHandle = opendir($languagesPath) `
`                       or die("ERROR: Invalid directory path - [$languagesPath], Modify the value of \$languagesPath'");`
`       $pattern = "^(.*)\.php$";`
`       while ($file = readdir($dirHandle))     `
`       {       `
`               if( eregi($pattern, $file) )                            `
`                       $languages[] = eregi_replace($pattern, "\\1", $file); `
`       }`
`       closedir($dirHandle);`
} </code>
*- advanced code tag with line numbers*
&lt;code php n&gt; echo "Hello World"; &lt;/code&gt;
*- default code tag*
&lt;code&gt; echo "Hello World"; &lt;/code&gt;
*- display a list of supported languages*
&lt;code list&gt;&lt;/code&gt;
*- if invalid language argument, return the language list*
&lt;code invalid&gt; echo "Hello World"; &lt;/code&gt;

11
Google_Sitemap.md Normal file

@ -0,0 +1,11 @@
---
title: Google Sitemap
permalink: /Google_Sitemap/
---
Google Sitemap
--------------
For more information on the Sitemap protocol, go to <http://www.sitemaps.org/> or Google's page About Sitemaps
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

39
History.md Normal file

@ -0,0 +1,39 @@
---
title: History
permalink: /History/
---
A Brief History of e107
-----------------------
I've never kept a journal or list of dates corresponding to e107's evolution, so all of the following is recounted from memory and is probably full of chronological errors
In late 1998, I coded and opened a website called Litestep2000 related to the Windows shell replacement Litestep. The site got fairly popular and a few months later became ls2k.org, when it moved to a php enabled server and I started my first tentative steps into scripting. After about 18 months of coding and maintaining this site, I was offered the chance by the then main admin c0mrade to take over the main Litestep theme site, litestep.net. I coded the site and I'm proud to say it continued to grow in popularity while I, DeViLbOi and jugg were at the helm.
Due to running such a busy site, I was always getting requests for site code, ot portions of the code we used on litestep.net from other members of the Litestep community, but due to time restraints and real life, I was very rarely able to help, so I set about taking some of the code from litestep.net and ls2k.org and turning it into a more modular and distributable codebase.
Over the space of a couple of months, websites (mainly Litestep and shell related) started popping up, and feature requests started coming in, so I decided to get a domain and give the code a name. I settled on e107 as it was turning out to be my seventh main project, and I purchased e107.org and set up a small e107 powered website there.
The site opened in July 2002, and e107 was a couple of months old at that stage, and at version 2.1. I continued to code and release revisions until 5.4 when I decided on a version numbering change, and the next version released was 0.6, which saw a major revamp of the code. At this time new versions and revisions were coming out on almost a daily basis (imagine that )
I was still maintaining the e107 codebase alone, but accepting contributions from users, notably McFly, Lolo_Irie, Cameron and a few others, but with version 0.612 I decided to ask a few of these contributors to join a newly formed development team, consisting of McFly, chavo, Cameron and Lolo_Irie, and myself. I was proud that these people accepting places as not only are they good coders, they were all good people as well (and still are )
A couple of versions later, I decided to take a step back from the development side of e107, as maintaining what had in a short period become a quite popular system had taken it's toll on my real life, and I was not only tired but having to deal with the regular attacks on e107.org. The development team have continued to release new versions (at the time of writing e107 stands at v0.617) and make improvements and refine the e107 core.
I started tentative development of a new system in March 2004, codenamed nostromo. This isn't intended to replace e107 and will probably never see the light of day due to real life issues (again pfft). This code, or at least the site it produces, can be seen at my personal site jalist.com.
So there we have it, e107, due mainly to the work of the dev team, plugin coders and the people who selflessly and mostly thanklessly man the forums with support for less experienced users, has come a very long way in it's first two years of life, and hopefully will continue to grow for the next two years and beyond - my sincerest thanks to everyone that has contributed in even the smallest way.
jalist, August 2004
Recent History
--------------
The latest release of e107 is and was released see the [current release notes](/Release_Notes_{{e107currentversion}} "wikilink"). We continue to maintain e107 0.7 and from time to time issue new security releases. Meanwhile the e107 Development Team are busy building the next major [release of e107 - 0.8](/0.8_Release "wikilink").
Licence
-------
e107 is licenced under the [GNU General Public license version 2](http://www.gnu.org/licenses/old-licenses/gpl-2.0.html), General Public license is sometimes shortend to GPL.
[Category:e107](/Category:e107 "wikilink") [Category:Setup](/Category:Setup "wikilink") [Category:Intro](/Category:Intro "wikilink")

11
Import_into_e107.md Normal file

@ -0,0 +1,11 @@
---
title: Import into e107
permalink: /Import_into_e107/
---
Import into e107
----------------
Import into e107
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

37
Introduction.md Normal file

@ -0,0 +1,37 @@
---
title: Introduction
permalink: /Introduction/
---
<small>[English](/{{FULLPAGENAME}} "wikilink") | [Français](/{{FULLPAGENAME}}/fr "wikilink") | [Deutsch](/{{FULLPAGENAME}}/de "wikilink") | [Magyar](/{{FULLPAGENAME}}/hr "wikilink")</small>
Overview of e107
----------------
e107 is a website [Content Management System (CMS)](http://en.wikipedia.org/wiki/Content_management_system). Most of the look and feel of the content is created without doing any [HTML](http://en.wikipedia.org/wiki/Html) coding. The content is stored in a [MySQL](http://en.wikipedia.org/wiki/MySql) database and is presented in a structured and consistent way when the user requests a page. Want to know more? [Read the Wikipedia definition of e107](http://en.wikipedia.org/wiki/E107_%28software%29).
e107 CMS Key Features
---------------------
e107 Technical Information
--------------------------
e107 Extensibility Framework & API
----------------------------------
e107 Licence Information
------------------------
e107 Installation
-----------------
e107 Maintenance
----------------
e107 Support
------------
e107 Future Development
-----------------------
[Category:Introduction](/Category:Introduction "wikilink")

@ -0,0 +1,91 @@
---
title: Javascript css selectors
permalink: /Javascript_css_selectors/
---
This is a working draft for e107 v2.0 css selectors.
.e-hideme
---------
Hides the element/container
<div class='e-hideme'>Hidden Text</div>
.e-expandit
-----------
Toggles a hidden element (like the old expandit() js function.
<a href='#elementToOpen' class='e-expandit'>Expand</a>
<div id='#elementToOpen' class='e-hideme'>
Click the link above and I will become visible
</div>
.e-date
-------
Used internally. Use $frm-&gt;datepicker() instead.
.e-datetime
-----------
Used internally. Use $frm-&gt;datepicker() instead.
.e-confirm
----------
Display a confirmation dialog before proceeding.
<a title='Are you sure?' class='e-confirm' href='delete.php'>Delete</a>
.e-dialog
---------
Opens a dialog/modal window with the URL contained in 'href'.
<a title='Footer of window.' rel='external' class='e-dialog' href='url.php'>Open Dialog Window</a>";
.e-dialog-close
---------------
Used within a dialog window, it will close it.
<a href='#'>Close</a>";
.e-ajax
-------
Loads data from another page into a container.
<a class='e-ajax' href='#e-container' data-src='mypage.php #target' >Load</a>";
<div id='e-container'>
(URL data will be shown here)
</div>
Use the optional identifier to grab only a small portion of the 'data-src' page. eg. \#target will grab all content inside the container with id=target.
<div id='target'>This data will be loaded and sent back to 'e-container'</div>
.e-wysiwyg
----------
Sets a div or textarea element as an area that can be activated by a WYSIWYG plugin. eg. TinyMce. Is set by default using $frm-&gt;bbcode() (see form-handler)
<textarea class='e-wysiwyg'>This area will become a wysiwyg text-area when active</textarea>
.e-tabs
-------
Create tabs
<div class='e-tabs'>
<ul>
<li><a href='#tab1'>Tab 1</a></li>
<li><a href='#tab2'>Tab 2</a></li>
</ul>
<div id='tab1'>Tab 1 Content</div>
<div id='tab2'>Tab 2 content</div>
</div>
[Category:Plugin Development](/Category:Plugin_Development "wikilink") [Category:Developer References](/Category:Developer_References "wikilink") [Category:Classes](/Category:Classes "wikilink") [Category:API](/Category:API "wikilink")

11
Links_Page.md Normal file

@ -0,0 +1,11 @@
---
title: Links Page
permalink: /Links_Page/
---
Links Page
----------
Links Page For Displaying External Web Links
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Linkwords.md Normal file

@ -0,0 +1,11 @@
---
title: Linkwords
permalink: /Linkwords/
---
Linkwords
---------
This plugin will link specified words with a defined link and/or tooltip
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
List.md Normal file

@ -0,0 +1,11 @@
---
title: List
permalink: /List/
---
Statistic Logging
-----------------
This plugin will log all visits to your site, and build detailed statistic screens based on the information gathered.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

36
Logins.md Normal file

@ -0,0 +1,36 @@
---
title: Logins
permalink: /Logins/
---
***Note:** This is a work in progress, and is subject to change until 2.0 is released. Please do not rely on this information!*
Login Name
----------
Every user has a 'login name' which they enter, together with their password, to access the site. Usually they choose their own login name.
In 2.0 there are two new options:
- If enabled in prefs, the user may also log in using their email address (by which we mean whatever is entered in the 'email address' user information). So the login name may still be used as well.
<!-- -->
- When a user signs up, or is created by an admin, E107 can be set to create a random login name according to a pattern.
You specify the pattern in prefs, where special characters indicate the position of the random information, and other alphanumeric characters are entered 'as is':
1. - an alpha character
. - a numeric character
- - an alphanumeric character
Make sure you allow more than enough randomly generated characters to accommodate your potential users.
This allows, for example, a school to generate login names reflecting the current school year; for example the pattern could be generated using:
Y2009\#..\*\*
This will generate a login name, exactly 10 characters long, where the first five characters are always 'Y2009'.

171
Mail.md Normal file

@ -0,0 +1,171 @@
---
title: Mail
permalink: /Mail/
---
Mail
----
This core feature allows you to send emails to selected registered site users.
### Mailout Main Features
- Create/Send Mail
- Saved emails
- Pending Mailshots
- Held Mailshots
- Completed Mailshots
- Preferences
- Maintenance
### Create/Send Mail
- To
- Choose User Class
- User-Match (User Name, User Login, User Email)
- contains (enter phrase)
- Last Visit
- Before/Equal/After: Date (dd-mm-yy)
- User-Match (2nd filter)
- User-Match (3rd filter)
- Email Title (not sent):
- Saved Title for the mail message
- From Name:
- From User Name
- From Email:
- From Email Address
- Cc:
- Copy to
- Bcc:
- Blind Copy to
- Subject:
- Email Subject
- Send format:
- Text Only
- Text and HTML
- Include Theme
- Include images in email
- There are currently no existing downloads.
- Message
- BB Codes
- Features BB Code
- |DISPLAYNAME|
- |USERNAME|
- |SIGNUP_LINK|
- |USERID|
- |USERLASTVISIT|
Choose **Save** or **Send Email** when finished.
Create an email, give it a meaningful title, and select the list of recipients. You can save everything as a template for later, or send immediately.
Email addresses may be contributed by plugins (such as newsletter), and duplicates are removed when the mail is sent Any attachment is selected from the list of valid downloads.
Mail may be sent as plain text (most universal, and least at risk of being classed as spam), or as HTML (in which case a plain text alternative is automatically generated). The theme style may optionally be added to the email
### Saved emails
Select and use a saved email template to send a mailshot. Delete any template no longer required.
- Mail Ref
- Title
- Subject
- Options
- Edit/Send Mail
- Delete Mail
### Pending Mailshots
List of mailshots released for sending, together with current status. The mail scheduler task will process these emails as it is able, taking account of the earliest and latest sending dates you set.
### Held Mailshots
List of emails which have been prepared for sending, but not yet released.
### Completed Mailshots
List of completed mailshots. Allows you to see the sending results.
### Mailshot Preferences
#### Configure mailshot options.
A test email is sent using the current method and settings.
#### Emailing Method
Use SMTP to send mail if possible. The settings will depend on your host's mail server.
#### Default email format
Emails may be sent either in plain text only, or in HTML format. The latter generally gives a better appearance, but is more prone to being filtered by various security measures. If you select HTML, a separate plain text part is added.
#### Bulk mail controls
The values you set here will depend on your host, and on the number of emails you send; it may be possible to set all values to zero so that the mail queue is emptied virtually instantly.
#### Bounced Emails
You can specify an email address to receive the return response when an email is undeliverable. If you have control over your server, you can specify the separate scheduler-driven auto-processing script; this receives bounce messages as they arrive, and updates status instantly. Otherwise you can specify a separate email account, which can be checked either periodically (using the scheduler), or manually via the user options menu. Normally this will be a standard POP3 account; use the TLS-related options only if specifically required by your host
#### Email Address Sources
If you have additional mail-related plugins, you can select which of them may contribute email addresses to the list.
#### Logging
The logging option creates a text file in the system log directory. This must be deleted periodically. The 'logging only' options allow you to see exactly who would receive emails if actually sent. The 'with errors' option fails every 7th email, primarily for testing
- Send test email
- Click to send email to
- Emailing method
- If unsure, leave as php
- SMTP Server:
- SMTP Username: (optional)
- SMTP Password: (optional)
- SMTP Features
- (Use SSL for gmail/googlemail)
- Send bulk SMTP emails in blocks
- Use VERP for bulk mailing
- Sendmail-path:
- Default email format
- (Used for some non-bulk emails)
- Bulk mailing controls
- Pause bulk mailing every emails for seconds.
- Used mostly with SMTP keepalive.
- A pause of more than 30 seconds may cause the browser to time-out
- Maximum number of emails to send per scheduler tick
- Value will depend on a number of factors, including how often your mail queue scheduler job is triggered and the rate at which your ISP will accept outgoing mail. Zero to clear queue each time
- Supplementary email address sources
- calendar_menu
- Mailshot logging
- Include email info in log
- Bounced Email Processing
- Processing method
- Email address
- Auto-process script
- /opt/lampp/htdocse_HANDLER_ABSbounce_handler.php
- IMPORTANT! You need to make this file executable
- (Your server has to be configured to use this script)
- Last Bounce Processed
- Never
- Email address
- Incoming Mail server
- Account (user) Name
- Password
- Account type
- Delete Bounced Mails after checking
- Check for bounces automatically
- If checked, you will need to activate the task in the scheduler
- Save Changes
### Mailshot Maintenance
Maintenance functions for the mail database.
- Tidy database tables
- Does various consistency checks on the data, corrects counts, deletes temporary data
Click **Do It!** to execute the command.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Mail](/Category:Mail "wikilink")

69
Main_Page.md Normal file

@ -0,0 +1,69 @@
---
title: Main Page
permalink: /Main_Page/
---
__NOTOC__
The main e107 wiki for the English community. Please help e107 by contributing to e107 wiki for your language accessed via the language links above.
<div style='padding: 3px 10px;
float: left;
margin: 2px;
width: 30%;
background: #f4f4f4;
border: 1px solid #e4e4e4;
border-radius:0.5em;'>
<h3>
[Setup Guide](/:Category:Setup "wikilink")
</h3>
<div style='background: #fff;
color: #444;
width: 100%;
margin: 1px;
border: 1px solid #ddd;
border-radius:0.5em;
font-size:90%;'>
</div>
</div>
<div style='padding: 3px 10px;
float: left;
margin: 2px;
width: 30%;
background: #f4f4f4;
border: 1px solid #e4e4e4;
border-radius:0.5em;'>
<h3>
[User Guide](/:Category:User_Guide "wikilink")
</h3>
<div style='background: #fff;
color: #444;
width: 100%;
margin: 1px;
border: 1px solid #ddd;
border-radius:0.5em;
font-size:90%; '>
</div>
</div>
<div style='padding: 3px 10px;
float: right;
margin: 2px;
width: 30%;
background: #f4f4f4;
border: 1px solid #e4e4e4;
border-radius:0.5em;'>
<h3>
[Development Guide](/:Category:Development "wikilink")
</h3>
<div style='background: #fff;
color: #444;
width: 100%;
margin: 1px;
border: 1px solid #ddd;
border-radius:0.5em;
font-size:90%; '>
</div>
</div>

44
Meta_Tags.md Normal file

@ -0,0 +1,44 @@
---
title: Meta Tags
permalink: /Meta_Tags/
---
e107 » [Admin Area](/:Category:Admin "wikilink") » [Settings](/:Category:Settings "wikilink") » Meta Tags
---------------------------------------------------------------------------------------------------------
[Meta Tags](http://www.google.com/support/webmasters/bin/answer.py?answer=79812) are are one of the tools used by search engines to help classify websites and improve search results. Ensure that you enter appropriate values in the Meta Tags screen to help search engines classify your website correctly. This is part of making your website [Search Engine Optimised (SEO)](/:Category:SEO "wikilink").
[Meta Tags](/Meta_Tags "wikilink") you enter here will be included in the **HEAD** section of your all web pages.
### Description
Enter an accurate description of your website of around 20 words. It's important to actually describe your company, product or organisation rather than the technical features your website. It is helpful to think about what your visitors will be using as search terms.
### Keywords
Enter keywords and phrases separated by commas. Again, think about what your visitors will be searching for.
### Copyright
Enter your copyright information, be sure to honour the copyrights of others!
### Author
Enter the name of the owner of the materials, person or company names.
### Enter additional meta-tags:
Custom Meta Tags are available to provide extra information for various service providers. Enter custom meta tags in the following format.
`< meta name='author' content='your name' /> `
Specific examples include
- Google Web Master Tools Syndication Tag [1](http://www.google.com/support/webmasters/bin/answer.py?answer=79812)
- Facebook Open Graph Tags example is described well here: [2](http://davidwalsh.name/facebook-meta-tags) and Facebook's developer pages here [3](http://developers.facebook.com/docs/opengraph/)
### Use News title and summary as the meta-description on news pages.
Checking this box inserts automatically uses the "News Title" field - so it is also important to use appropriate news titles!
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Preferences](/Category:Preferences "wikilink") [Category:Meta Tags](/Category:Meta_Tags "wikilink") [Category:SEO](/Category:SEO "wikilink")

11
Metaweblog.md Normal file

@ -0,0 +1,11 @@
---
title: Metaweblog
permalink: /Metaweblog/
---
Metaweblog
----------
Metaweblog API support for e107
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
New_Forum_Posts.md Normal file

@ -0,0 +1,11 @@
---
title: New Forum Posts
permalink: /New_Forum_Posts/
---
New Forum Posts
---------------
This plugin displays a list of new forum posts on your front page
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

259
News.md Normal file

@ -0,0 +1,259 @@
---
title: News
permalink: /News/
---
e107 News Management Overview
-----------------------------
**Admin Area » Content » News**
News Front Page
---------------
**Admin Area » Content » News**
- ID
- Title
- SEF URL
- Author
- Date stamp
- Category
- Visibility
- Render-type
- Thumbnail
- Sticky
- Comments
- Comment Total
Create News Item
----------------
**Admin Area » Content » News » Create News Item**
General Body will be displayed on the main page; extended will be readable by clicking a 'Read More' link.
Show title only Enable this to show the news title only on front page, with clickable link to full story.
Activation If you set a start and/or end date your news item will only be displayed between these dates.
### General Information
#### Category
#### Title
#### Summary
#### Author
#### Body
#### Extended
#### Upload
Upload an image or file for use in the news item
#### Image
- **Refresh**
====Image selector===
- e107_images/generic/blank.gif
Choose an image for this news item
#### Preview
#### Post News to Database
- Stay in edit mode
### SEO
#### Friendly URL string
To make this work, you need to enable 'SEF URLs' config profile from URL Configuration area
#### Meta keywords
#### Meta description
### Advanced Options
#### Comments
- Enabled
- **Disabled**
#### Allow comments to be posted to this news item
#### Render type
Select how and where news item is posted
- Default - post to front page
- Title only - post to front page
- Post to other news menu
- Post to other news menu 2
#### Activation
Activate between entered dates.
Only show news item between certain dates
#### Date stamp
Check box to update date stamp of news item to current time
Set the date stamp for the current news item
#### Visibility
Choose which visitors will see news item
- Everyone (public) (Fixed class)
- PRIVATEMENU (Grants access to private menu items)
- PRIVATEFORUM1 (Example private forum class)
- ... Active user class list is displayed
- Guests (Fixed class)
- Members (Fixed class)
- No One (inactive) (Fixed class)
- Admin (Fixed class)
#### Sticky
If selected, news item will appear above all others Select if news item will be sticky
Categories
----------
**Admin Area » Content » News » Categories** You can separate your news items into different categories, and allow visitors to display only the news items in those categories.
Upload your news icon images into either ../e107_themes/-yourtheme-/images/ or themes/shared/newsicons/.
### Create News Category
#### Category Name
Required field
#### Category friendly URL string
To make this work, you need to enable 'SEF URLs' config profile from URL Configuration area
#### Category meta keywords
Used on news category list page
#### Category meta description
Used on news category list page
#### Category management permission
Which group of site administrators are able to manage this category related news Category Icon
Click **Create News Category** / **Update News Category** / **Cancel**.
### Existing News Categories
- ID
- Icon
- Category / SEF String
- Manage Permissions
- Options
- Edit
- Delete
- Order
News Preferences
----------------
**Admin Area » Content » News » News Preferences**
### URL identifier
Set a string to be used in news pages URL. This will only work proper .htaccess rules and eURL config Resolved URL based on current value: <http:/> /yourwebsite. tld/news/
#### Manage Site URLs
Configure Core URLs
- Main
- Default
- News
- Default
- Config Profile \[SEF URLs\]
- SEF URLs
- You'll need mod_rewrite installed and running on your server (Apache Web Server). After enabling this profile go to your site root folder, rename htaccess.txt to .htaccess and uncomment the corresponding line.
- Profile Location: /e107_files/e_url/core/news/apache_mod_rewrite/
- Users
- Default
Configure Plugin URLs
- The list is empty
### Show News-Category Footer Menu
- Enabled
### News Category Columns?
### News posts to display per page?
### News posts to display in archive ?
First update the preferences with the changed display per page setting, then update again after setting the news archive preference. (0 is un-activated)
### Set the title for the news archive
### Modification of the news-item author can be done by
### Submit-News maybe accessed by
### Enable WYSIWYG editor on Submit-News page
- Enabled
### Enable Image uploading on Submit News page
- Enabled
### Automatic resizing of submitted image
width in pixels or leave blank to disable.
### Show new date header
- Enabled
If this box is ticked, a box containing the date will be displayed above news items posted on a new day, useful for distinguishing posts on different days
### Use non-standard template for news layout
- Enabled
if the theme you're using has a news layout template, use this instead of the generic layout
### Text to show at the top of Submit News
Submitted News
--------------
**Admin Area » Content » News » Submitted News**
Lists submitted items pending approval.
Maintenance
-----------
**Admin Area » Content » News » Maintenance**
Recalculate comment counts
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Content](/Category:Content "wikilink") [Category:News](/Category:News "wikilink") [Category:SEO](/Category:SEO "wikilink") [Category:Meta Tags](/Category:Meta_Tags "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

11
Newsfeeds.md Normal file

@ -0,0 +1,11 @@
---
title: Newsfeeds
permalink: /Newsfeeds/
---
Newsfeeds
---------
This plugin will retrieve rss feeds from other websites and display them according to your preferences
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Newsletter.md Normal file

@ -0,0 +1,11 @@
---
title: Newsletter
permalink: /Newsletter/
---
Newsletter
----------
Provides a quick and easy way to configure and send newsletters
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
PDF.md Normal file

@ -0,0 +1,11 @@
---
title: PDF
permalink: /PDF/
---
PDF
---
PDF creation support using TCPDF
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

74
Password_Security.md Normal file

@ -0,0 +1,74 @@
---
title: Password Security
permalink: /Password_Security/
---
***Note:** This is a work in progress, and is subject to change until 0.8 is released. Please do not rely on this information!*
Passwords
---------
E107 2.0 incorporates a number of additional security options related to passwords. The selection of the appropriate options requires careful thought, since in some cases there is no going back! Some additional information is given in the 'Background' section, and more detail can be found by searching the web.
All the options are set via the 'Security and Protection' section of site [Preferences](/:Category:Preferences "wikilink").
### Allow login by email address
If enabled, users can specify either their login name or their email address when logging in. (If this option is disabled, it doesn't preclude users giving their email address as a login name).
### User Tracking method
Must be set to 'sessions' if using CHAP.
Otherwise its usually most convenient to set 'cookies', so that the 'remember me' feature is available.
### Password encoding
To date E107 has used [md5 encoding](http://php.net/manual/en/function.md5.php) for passwords, and this will continue to be sufficient for some sites.
Select 'salted' passwords to make it harder for them to be cracked if someone gains access to the user database.
For existing installations, note that changing this selection only affects new users, and those changing their passwords. There is a separate utility to convert all md5 passwords in the database to the salted format (see later).
### Password transmission method
By default, passwords are sent between the user's browser and the server in plain text. [CHAP](http://en.wikipedia.org/wiki/Challenge-handshake_authentication_protocol) (short for: Challenge Handshake Authentication Protocol) 'encrypts' the password in a secure way before transmission; however it requires that Javascript is enabled in the user's browser. Hence it is usual to allow the plain text fallback. CHAP can be mandatory if required. CHAP requires that user tracking uses sessions. In general CHAP cannot be used with the alt_auth plugin.
Background
----------
Historically E107 has encoded user passwords in the database using the md5 'one way hash' - a mathematical operation which encodes the password into a numerical value, in such a way that there is no mathematical way to go from the 'hashed' password back to the original. A 'brute force' approach has always been possible; and advances in computing power and mathematical understanding have made it more possible to pre-calculate tables of hash values, so that a hashed password can simply be looked up in the table. This represents a one-time block of calculations, which can be used to 'crack' passwords time and time again.
While the simple hash is sufficient for many sites, it can cause problems for users if their password is cracked - they may use the same password on several sites, or the hashed password may have been obtained from a database backup, and thus knowing it can give the cracker access to the actual site.
E107 now supports 'salted passwords'. In these a more complex calculation is used. This mixes in a 'salt' - a text string, different for every user. This 'salt' can be public (and has to be for E107 to verify the user), and makes life much more difficult for the password cracker. Instead of using a single set of precalculated hash tables, the cracker has to calculate those tables for every individual password to take account of the salt. This represents a very substantial increase in effort for the cracker.
As with all things, increased security comes at a price - actions such as changing a user's login name or email address may require the user to confirm with their password. E107 minimizes the additional complexity, but it is worth carefully considering the level of security required before enabling some of the options.
### Password transmission
When a user logs into a web site (other than those using SSL - <https://> URLs), the user name and password are transmitted 'in clear' to the web site. So potentially anyone monitoring the network can pick up that information. E107 now offers the option of 'CHAP' - a method of only sending an encrypted password over the network. This encryption (actually a hash function) includes a 'challenge' - a random number generated by the server - which makes it harder for a hacker to simply replay some network traffic to log into the site.
The CHAP feature makes use of Javascript in the user's browser. If this is not available, E107 can implement a 'plain text' fallback. This fallback is admin-selectable (admin--&gt;prefs--&gt;Security and protection). If CHAP is mandatory, only users with JS enabled can log in (others see a message instead of the login box); otherwise the plain text fallback can be used. It is also possible to use only plain text passwords.
CHAP also requires that sessions (rather than cookies) are used for user tracking.
Password Recovery
-----------------
If the main admin loses their password, it is possible to overwrite it in the database using PHPMyAdmin or similar, and this procedure is [documented elsewhere](/Using_e107:Users:Admin_Password:Forgot_Main_Admin_Password "wikilink"). The procedure will continue to work if the site is set to use md5 passwords, or salted with md5 fallback.
If the site accepts only salted passwords, the basic procedure is the same, but it is more complicated to calculate the encrypted password value to write to the database. To do so, point your browser to yoursite/e107_files/utilities/passcalc.php, and enter the requested information to obtain the password value. Then copy this value into your database entry.
Update User Passwords
---------------------
For existing sites which have changed from md5 to salted passwords, a utility is available to convert the complete user database.
Once this has been run, THERE IS NO GOING BACK! So think carefully before using it, and create a [database backup](/Backup_and_Restore_Your_Database_Using_phpMyAdmin "wikilink") first.
To use this utility, log in as main admin, then point your browser to yoursite/e107_files/utilities/passconv.php.
It provides options to back up (and restore) the relevant parts of your user database to a new table 'user_backup'.
Email address-related passwords must be added either before, or at the same time as, the conversion to salted passwords.

6
Plugin_Creation.md Normal file

@ -0,0 +1,6 @@
---
title: Plugin Creation
permalink: /Plugin_Creation/
---
1. REDIRECT [Plugin Design](/Plugin_Design "wikilink")

100
Plugin_Design.md Normal file

@ -0,0 +1,100 @@
---
title: Plugin Design
permalink: /Plugin_Design/
---
Introduction to Plugin Design
-----------------------------
This article aims to lead the plugin writing beginner through the basics of writing a simple plugin for e107. It will not go in to detail on every aspect of plugin writing.
Certain assumptions are made, specifically that you are familiar with the basics of:
- e107
- what a plugin is
- PHP programming language
- MySQL Database usage
- HTML/XHTML
- XML
- Cascading Stylesheets (CSS)
Beginners start here [w3schools.com](http://www.w3schools.com/)
The example plugin in this article is called **myplugin**. It will have an admin page where some preferences can be set by the site administrator, a main page and a menu.
Directory Structure
-------------------
All plugins reside in their own folder within the e107_plugins folder.
Actually, within your plugins folder there are only a few rules as to what goes where. After that, you are free to create whatever directory structure suits your plugin best.
For this example, we will use a fairly common structure within your plugins folder. Here's the basic layout we will be using:
`e107_plugins (dir)`
`|`
`+--myplugin (dir)`
`   |`
`   +--`[`handlers`](/#handlers "wikilink")` (dir) `
`   |  +-- myplugin_class.php  `
`   |`
`   +--`[`images`](/#images "wikilink")` (dir)`
`   |  +-- icon_16.png`
`   |  +-- icon_32.png`
`   |`
`   +--`[`languages`](/#languages "wikilink")` (dir)`
`   |  +--English (dir)`
`   |     +-- myplugin.php`
`   |     +-- admin_myplugin.php`
`   |`
`   +--`[`templates`](/#templates "wikilink")` (dir) `
`   |  +--`[`myplugin_template.php`](/#myplugin_template.php "wikilink")` (dir)`
`   |`
`   +--`[`e_url`](/#e_url "wikilink")` (dir) (opt)`
`   |  +--`[`apache_mod_rewrite`](/#apache_mod_rewrite "wikilink")` (dir)`
`   |  +-- main.php`
`   | `
`   |  -- Required Files ------------------------    `
`   +--`[`admin_myplugin.php`](/#admin_myplugin.php "wikilink")
`   +--`[`myplugin.php`](/#myplugin.php "wikilink")
`   +--`[`myplugin_setup.php`](/#myplugin_setup.php "wikilink")
`   +--`[`myplugin_shortcodes.php`](/#myplugin_shortcodes.php "wikilink")
`   +--`[`myplugin_sql.php`](/#myplugin_sql.php "wikilink")
`   +--`[`plugin.xml`](/#plugin.xml "wikilink")` ! replaces plugin.php - Deprecated - Do not use!`
`   +--index.html - (simply an empty file for security) `
`   |`
`   |  -- Optional Files ------------------------`
`   +--`[`myplugin_css.php`](/#myplugin_css.php "wikilink")
`   +--`[`myplugin.js`](/#myplugin.js "wikilink")
`   +--`[`myplugin.sc`](/#myplugin.sc "wikilink")
`   |`
`   |  -- Optional References -------------------`
`   +--`[`e_event.php`](/#e_event.php "wikilink")
`   +--`[`e_header.php`](/#e_header.php "wikilink")
`   +--`[`e_bb.php`](/#e_bb.php "wikilink")
`   +--`[`e_cron.php`](/#e_cron.php "wikilink")
`   +--`[`e_frontpage.php`](/#e_frontpage.php "wikilink")
`   +--`[`e_help.php`](/#e_help.php "wikilink")
`   +--`[`e_list.php`](/#e_list.php "wikilink")
`   +--`[`e_mailout.php`](/#e_mailout.php "wikilink")
`   +--`[`e_meta.php`](/#e_meta.php "wikilink")
`   +--`[`e_module.php`](/#e_module.php "wikilink")
`   +--`[`e_notify.php`](/#e_notify.php "wikilink")
`   +--`[`e_rss.php`](/#e_rss.php "wikilink")
`   +--`[`e_search.php`](/#e_search.php "wikilink")
`   +--`[`e_sitelink.php`](/#e_sitelink.php "wikilink")
`   +--`[`e_tagwords.php`](/#e_tagwords.php "wikilink")
`   |`
`   | ---------------------------------------- (Checking needed here)`
`    ? +--`[`admin_menu.php`](/#admin_menu.php "wikilink")` ???`
`    ? +--`[`admin_readme.php`](/#admin_readme.php "wikilink")` ???`
`    ? +--`[`myplugin_menu.php`](/#myplugin_menu.php "wikilink")` ???`
`    ? +--`[`myplugin_setup.php`](/#myplugin_setup.php "wikilink")` ???`
plugin.php
----------
blank_setup.php
----------------
[Category:Development](/Category:Development "wikilink") [Category:Plugin Writing](/Category:Plugin_Writing "wikilink")

11
Poll.md Normal file

@ -0,0 +1,11 @@
---
title: Poll
permalink: /Poll/
---
Poll
----
The poll plugin allows you to define polls in either a menu or forum post.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Private_Messenger.md Normal file

@ -0,0 +1,11 @@
---
title: Private Messenger
permalink: /Private_Messenger/
---
Private Messenger
-----------------
This plugin is a fully featured Private Messaging system.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

114
Public_Uploads.md Normal file

@ -0,0 +1,114 @@
---
title: Public Uploads
permalink: /Public_Uploads/
---
Public Uploads
--------------
e107 » [Admin Area](/:Category:Admin "wikilink") » [Content](/:Category:Content "wikilink") » Public Uploads
List Uploads
------------
This page lists any submitted uploads. You may choose to delete them, transfer them to downloads, or post them to news.
- ID
- Date
- Poster
- Name
- File Name
- Size
- Actions
From here you can administer the uploaded files.
Setting up the Upload System
----------------------------
1. Go to the Filetypes settings.
2. Set the appropriate values for each userclass.
3. Generate the XML file.
4. The filetypes_.xml file is generated in the e107_media/temp folder.
5. FTP the generated file to your local PC
6. FTP the standard file from e107_admin folder to your local PC
7. Using a good [Code Programmers Editors](/Code_Programmers_Editors "wikilink")
- Copy the contents of the generated file
- Paste the definition into the standard file.
- Ensure you do not have two definitions for the same class id.
8. FTP the edited version back to e107_admin
9. Go to Public Uploads &gt; Options
- Enable Uploads.
### Default Admin Copy of filetypes_.xml
<?xml version="1.0" encoding="utf-8"?>
<e107Filetypes>
<class name='253' type='zip,gz,jpg,png,gif' maxupload='2M' />
</e107Filetypes>
### Generated Example of filetypes_.xml
<e107Filetypes>
<class name='253' type='jpg' maxupload='80k' />
<class name='254' type='jpg,zip' maxupload='2M' />
</e107Filetypes>
### Admin Edited copy for deployment as filetypes.xml
<?xml version="1.0" encoding="utf-8"?>
<e107Filetypes>
<class name='253' type='jpg' maxupload='80k' />
<class name='254' type='jpg,zip' maxupload='2M' />
</e107Filetypes>
### Warning
Only when you have generated and deployed the file correctly to e107_admin will the screen display the allowed filetypes.
File Types
----------
The file types and maximum file size which can be uploaded are set by user class. This option generates a file called ../e107_media/temp/filetypes_.xml, which must be copied or moved to directory ../e107_admin/ and renamed to filetypes.xml before it takes effect.
One definition per class is permitted.
Note that these definitions apply site-wide, even if the public uploads feature is disabled.
This page helps you create a file for managing file upload permissions. The file is saved as ../e107_media/temp/filetypes_.xml, and must be copied to ../e107_admin/filetypes.xml before it takes effect.
Options
-------
The complete public uploads system may be disabled here. Flatfile storage is generally appropriate (otherwise the maximum file size is hard-limited to 500kb). The maximum filesize overrides any definitions set in filetypes.xml. Public uploads may be restricted to a particular user class, but these settings also apply to other areas of the site where uploads may be permitted, such as news and forms.
### Uploads Enabled?
No public uploads will be permitted if disabled
- Yes
- **No**
### Maximum file size
Absolute maximum upload size in bytes. Further limited by settings from php.ini, and by the settings in filetypes.xml (upload_max_filesize = 2M, post_max_size = 8M )
### Permission
Select to allow only certain users to upload
- Everyone (Public) **Not recommended!**
- Guests
- No One (Inactive)
- Members
- Admin
- PRIVATEMENU
- PRIVATEFORUM1
- Everyone But...
- Not Guests
- Not Members
- Not Admin
- Not PRIVATEMENU
- Not PRIVATEFORUM1
[User Guide](/:Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Content](/Category:Content "wikilink") [Category:Public Uploads](/Category:Public_Uploads "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

11
RSS.md Normal file

@ -0,0 +1,11 @@
---
title: RSS
permalink: /RSS/
---
RSS
---
RSS Feeds from your site
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Release.md Normal file

@ -0,0 +1,11 @@
---
title: Release
permalink: /Release/
---
Release
-------
Manage Release Feeds for e107 Plugins and Themes
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

9
Roadmaps.md Normal file

@ -0,0 +1,9 @@
---
title: Roadmaps
permalink: /Roadmaps/
---
Introduction
------------
[Category:e107](/Category:e107 "wikilink") [Category:Introduction](/Category:Introduction "wikilink") [Category:Setup](/Category:Setup "wikilink")

87
Search.md Normal file

@ -0,0 +1,87 @@
---
title: Search
permalink: /Search/
---
e107 » [Admin Area](/:Category:Admin "wikilink") » [Settings](/:Category:Settings "wikilink") » Search
------------------------------------------------------------------------------------------------------
### Search Configuration - Main Page
Searchable Areas You can set access User Class, display Order and Edit Search Config from this screen.
By default the following Core Features and Plugins are listed.
- News
- Comments
- Registered Members
- Downloads
- Custom Pages
- Chatbox
- Google
Additional Plugins will be listed here once installed.
### Searchable Comments Areas (when comments search is activated)
Set User Class
Search Preferences
------------------
### Search page accessible to user class
### Highlight keywords on referred to page
'''\* Enabled '''
- Disabled
### Display relevance value
- Enabled
**\* Disabled**
### Allow user to select searchable areas
**\* Enabled**
- Disabled
### Allow users to search more than one area at a time
**\* Enabled**
- Disabled
### Searchable areas selection method
**\* Dropdown**
- Checkbox
- Radio
### Restrict time allowed between searches (max 5 mins)
'''\* Disabled '''
- Restrict to one search every ___ seconds
### Search sort method
**\* MySql**
- PHP limited to ___ results (leave blank for no limit)
If your site includes Ideographic languages, such as Chinese and Japanese, you must use the PHP sort method.
### Only match whole words
**\* Enabled**
- Disabled
This setting only applies when the search sort method is PHP. If your site includes Ideographic languages such as Chinese and Japanese you must have this set to off.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Search](/Category:Search "wikilink")

91
Site_Links.md Normal file

@ -0,0 +1,91 @@
---
title: Site Links
permalink: /Site_Links/
---
Site Links
----------
The site links core feature is used to manage your the main navigation links in your e107 website.
Site Links - List Page
----------------------
Enter all your site links here. Links added here will be shown in your main navigation menu, for other links please use the Links Page plugin.
This page lists existing links, you can filter them with the search option at the top of the page. You can edit and delete links from the main page.
You can configure the fields displayed in the main list by hitting the Options Icon, the default fields are listed below in bold.
- Icon
- **Link Name**
- Sublink of
- URL
- **Userclass**
- Link Description
- Link Rendertype
- **Order**
- Link Open Type
- Function
You can check the link and then perform a number of actions on all the selected links, such as Making Sub-Links, set User Class, Render Type and open type.
Creating and Editing Links
--------------------------
Clicking the **Create New Link** or the Edit Link option opens the link editor. In this page set the required properties of the link.
- Icon
- Link Name
- Sublink of (pick from list)
- URL - the address of the target page.
- Userclass
- Link Description
- Link Rendertype
- Order
- Link Open Type
- Function
Function Links
--------------
Function is a new link feature. There are currently two new Functions. When you choose a Function Link, a URL is required, simply enter / as the address.
### Last 10 News Items
This displays an expanding menu displaying the latest 10 news items.
### All Pages
Similar to above, it too expands a list of All Custom Pages on the system.
Link Options
------------
### Show Description as Screen-Tip
Description will be shown when the mouse hovers over the link
- Enabled
- **Disabled**
### Activate expanding sub-menus
Sub-menus will display only after clicking their parent. (Link parent is disabled)
- Enabled
- **Disabled**
Sub Links Generator
-------------------
### Create sublinks from
- Download Categories
- News Categories
### Create sublinks under which link?
Choose a parent to make a sublink. \[more later\]
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Settings](/Category:Settings "wikilink") [Category:Site Links](/Category:Site_Links "wikilink")

11
Statistic_Logging.md Normal file

@ -0,0 +1,11 @@
---
title: Statistic Logging
permalink: /Statistic_Logging/
---
Statistic Logging
-----------------
This plugin will log all visits to your site, and build detailed statistic screens based on the information gathered.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

9
Support_team.md Normal file

@ -0,0 +1,9 @@
---
title: Support team
permalink: /Support_team/
---
Introduction
------------
[Category:e107](/Category:e107 "wikilink") [Category:Introduction](/Category:Introduction "wikilink") [Category:Setup](/Category:Setup "wikilink")

64
System_Logs.md Normal file

@ -0,0 +1,64 @@
---
title: System Logs
permalink: /System_Logs/
---
### Log Types
There are three separate logs in E107 2.0:
The admin log
The user log
The rolling log
They have distinct purposes.
In addition, there is the directory e107_files/logs, into which text-based log files may be written.
#### Admin Log
This log is to record the actions of system administrators.
In many cases there is no admin control over which events are logged; some plugins and core functions do provide the ability to control logging.
The level of detail varies according to the particular event (and how straightforward it was to add logging, in the case of existing code). For preferences, usually the changed values are logged. For other data there may be an array of values, or a few numbers. As a minimum, the existence of an entry in the admin log indicates that someone did something!
The API, which includes a number of 'helper' functions, is described on a [API:Admin_Log separate page](/API:Admin_Log_separate_page "wikilink")
#### User Log
This log is to record user-related events - signups, setting changes, login and log out.
The level of logging is controllable - the types of events which are logged can be selected, as well as the user class.
#### Rolling Log
This log is intended to record transient events - if enabled, older events are purged after a selected number of days. Certain core functions log information to the rolling log.
It is also useful for debugging, especially in circumstances where 'echo' statements will interfere with the programming flow.
#### Access Log
A simple text log file can be enabled, which logs *every* page access.
A separate file is generated for each day. These have to be deleted manually when no longer required.
The file is stored in the e107_files\\logs directory - with the name 'logd_dd.yyyy.csv' - where 'dd' is the day number within the year (1 to 3 digits) and 'yyyy' is the year.
The file is in CSV ('comma separated variable') format, and can therefore be imported into many spreadsheet and database packages for analysis.
The information is largely that which can optionally be displayed at the bottom of each page.
Current fields (subject to change) are:
- Date/time - as Unix integer time stamp
- Date/time - in 'human-readable' format: yy-mm-dd hh:mm:ss
- User IP address - note that this is in IPV6 format
- Page and query part of the current access (site URL has been stripped)
- Processing time - seconds
- DB access time - as percentage of overall time
- Number of DB queries executed
- Memory used - if supported by the current PHP version, will show current and peak values.

11
Tagwords.md Normal file

@ -0,0 +1,11 @@
---
title: Tagwords
permalink: /Tagwords/
---
Tagwords
--------
A fully featured Tagword system
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

10
Test_Page.md Normal file

@ -0,0 +1,10 @@
---
title: Test Page
permalink: /Test_Page/
---
This is a test page.
[<File:recurring.png>](/File:recurring.png "wikilink")
Embedded image

191
Theme.xml.md Normal file

@ -0,0 +1,191 @@
---
title: theme.xml
permalink: /theme.xml/
---
Here's an example of theme.xml file, as used in e107 V2+. Unlike plugin.xml, it is not intended to replace a theme.php file, only work alongside it, to provide data about the theme itself. Various layouts can be configured and Menu-Presets created. Custompages are assigned in theme.xml. Adding $CUSTOMPAGES to theme.php in V2 is deprecated and should be avoided.
### e107Theme
This is the namespace the configuration lives in, all theme.xml files must begin and end with this tag.
<e107Theme name="e107.v4" version="3.0" date="2012-01-07" compatibility="2.0" releaseUrl='http://www.mywebsite.com/e107_plugins/release/release.php'>
... all content belongs here ...
</e107Theme>
Key attributes of the theme are also defined here:
#### <name>
**\[mandatory\]**
The name of your theme. This can be text or a constant defined from your themes's language file.
<e107Theme name="DarkKnight" - Hardcoded text
<e107Theme name="THEME_NAME_CONSTANT" - Constant using language file
#### <date>
**\[mandatory\]**
The date when the theme was released.
<e107Theme .... date="2012-01-07" ...>
#### <compatibility>
**\[mandatory\]**
The minimum version of e107 required to use the theme.
<e107Theme .... compatibility="2.0" ...>
#### <releaseUrl>
**\[optional\]**
The Url to the e107 'releases XML file' containing latest released version of the theme. e107 v2.0 comes with the 'release' plugin which will generate this xml file for you. This attribute allows admins to be notified of updates to themes within the admin area. (similar to core update notices)
<e107Theme .... releaseUrl="http://www.mywebsite.com/e107_plugins/release/release.php" ...>
### author
**\[mandatory\]**
Identifies you, and some information about you.
<author name="e107dev" url="http://e107.org/" email="blackhole@somwhere.com" />
Note the ' /' to close the tag at the end.
#### <name>
**\[mandatory\]**
Your name, e107 user name or nickname - your choice.
<...name="e107dev"
#### <email>
**\[mandatory\]**
Your e-mail address, useful to get feedback and bug reports on your theme. A *mailto* link to it is displayed on the *Admin-&gt;Theme Manager* page.
<...email="myname@mysite.com"
#### <url>
**\[optional\]**
Your website - advertise yourself! Displayed on the ''Admin-&gt;Theme Manager' page. A link to it is displayed on the ''Admin-&gt;Theme Manager' page.
<author .... url="http://www.mysite.com" />
### description
**\[mandatory\]**
A brief description of your theme. Displayed on the *Admin-&gt;Theme Manager* page.
<description>A dark theme suitable for gaming websites.</description>
### Adding Plugin Options
**\[optional\]**
In this section, theme designers can include plugins that they intended to be used with the theme. In "Theme Manager" there will be a "Suggested Plugin:" section with buttons for those plugins that the user can click on to install them. These may often correspond with <menuPresets> in the section titled "Layouts". We're using two (2) tags in this function that open and close <pluginOptions></pluginOptions> and <plugin />.
#### <pluginOptions>
<pluginOptions>
Plugins you want to include go here using the <plugin /> format below.
</pluginOptions>
#### <plugin />
These are the plugins you want to users to be able to install from their "Theme Manager" and the location of the plugin folder. They go insde the <pluginOptions></pluginOptions> tags above.
<plugin name='chatbox_menu' url='core' />
<plugin name='poll' url='core' />
### Layout Section
**\[mandatory\]**
In this section, there don't have to be "menuPresets", but the layout does need to be defined to be used by "Theme Magnager" and "Menu Manager". The two tags used here are <layout> and </layout>. They can also optional tags for "menuPresets" functions described below.
#### <layout>
**\[mandatory\]**
This is the basic layout. Even without any "menuPresets" in the theme.xml, all the menu areas in theme.php will be visible in "Menu Manager".
<layout name='3_column' title='3 Columns' preview='preview.jpg' previewFull='preview_full.png' default='true'>
</layout>
##### layout name
**\[mandatory\]**
The Name of the layout is in the
<layout name='3_column' ...</layout>
##### layout title
**\[mandatory\]**
The title of the layout is in the
<layout title='3 Columns' ...>
</layout>
##### layout preview
**\[optional\]**
The layout Preview is thumbnail of this layout
<layout preview='preview.jpg' ...</layout>
##### layout previewFull
**\[optional\]**
The layout previewFull is a full screenshot of that layout.
<layout previewFull='preview_full.png' ...
</layout>
##### default
**\[mandatory\]**
This is naming the default layout. There can be only one and any layout not using it does not need to declare it's use at all. You can choose to specify that other pages use a different layout when the theme is installed by using <customPages>.
<layout default='true'>
</layout>
#### Menu Presets
**\[optional\]**
Theme authors can create buttons for menus that can be activated by the user from "Menu Manager" or "Theme Manager". These are placed between <menuPresets> and </menuPresets> and should be enclosed in the <area> and </area> tags with the opening area tag naming the menu area it corresponds to; the example below would be for a layout with two (2) menu areas ({MENU=1} = <area id='1' > and {MENU=2} = <area id='2' >). The tag "menu name" must contain the name of a valid and installed menu.
##### <menuPresets>
<menuPresets>
<area id='1' >
<menu name='login' />
<menu name='compliance' />
<menu name='online' perm='member' />
</area>
<area id='2'>
<menu name='poll' />
<menu name='powered_by' />
<menu name='sitebutton' />
</area>
</menuPresets>
[Category:Theming](/Category:Theming "wikilink") [Category:V2](/Category:V2 "wikilink")

6
Theme_Creation.md Normal file

@ -0,0 +1,6 @@
---
title: Theme Creation
permalink: /Theme_Creation/
---
1. REDIRECT [Theme Design](/Theme_Design "wikilink")

157
Theme_Design.md Normal file

@ -0,0 +1,157 @@
---
title: Theme Design
permalink: /Theme_Design/
---
Theme Structure
---------------
`+ `**`e107_themes`**` (dir)`
`  ↓`
`  + `**[`theme_folder`](/#theme_folder "wikilink")**`  (dir)`
`    ↓`
`    + `[`theme.php`](/#theme.php "wikilink")
`    + `[`theme.xml`](/#theme.xml "wikilink")
`    + `[`style.css`](/#style.css "wikilink")
`    + `[`e_module.php`](/#e_module.php "wikilink")`                    (Optional)`
`    + `[`index.html`](/#index.html "wikilink")
`    + `[`theme.js`](/#theme.js "wikilink")` OR `[`theme-js.php`](/#theme-js.php "wikilink")`      (Optional)`
`    + `[`favicon.ico`](/#favicon.ico "wikilink")`                   (Optional)`
`    + `[`preview.jpg`](/#preview.jpg "wikilink")`                   (Optional)`
`    ↓`
`    + `**[`forum`](/#forum "wikilink")**` (dir)             (Optional)`
`    ↓    ↓`
`    ↓    + (custom forum image set)`
`    ↓`
`    + `**[`images`](/#images "wikilink")**`  (dir)`
`    ↓    ↓ `
`    ↓    + bullet.png`
`    ↓    + other_images.jpg`
`    ↓    + index.html`
`    ↓`
`    + `**[`languages`](/#languages "wikilink")**` (dir)         (Optional)`
`    ↓    ↓`
`    ↓    + English.php`
`    ↓    + Italian.php`
`    ↓    + index.html`
`    ↓`
`    + `**[`menu`](/#menu "wikilink")**` (dir)         (Optional)`
`    ↓    ↓`
`    ↓    + `[`menu.css`](/#menu.css "wikilink")
`    ↓    + `[`menu.js`](/#menu.js "wikilink")
`    ↓    + `[`menu_rtl.css`](/#menu_rtl.css "wikilink")
`    ↓    + index.html`
`    ↓`
`    + `**[`tempates`](/#tempates "wikilink")**` (dir)         (Optional)`
`         ↓`
`         + index.html`
`         + `**`plugin`**` (dir)`
`              ↓        `
`              + plugin_template.php`
theme_folder
-------------
The theme folder is the main container for your theme. It should contain all of the files required to build your theme and extend e107's display features.
### theme.php
This contains the main design of your external site.
### theme.xml
[theme.xml](/theme.xml "wikilink") complements theme.php file, providing data about the theme itself. (This is different to plugins, where plugin.xml replaces the plugin.php file used in 0.7/1.0). Various layouts can be configured and Menu-Presets created. Custompages are assigned in [theme.xml](/theme.xml "wikilink"). (Adding $CUSTOMPAGES to theme.php, as was done in 0.7/1.0, is now deprecated and should be avoided).
### style.css
This contains the stylesheet information used by the various html elements used in e107.
### e_module.php
This file is used for extending the core functions within e107. For advanced users only.
### index.html
Do not leave a folder without an index file, placing an empty file named index.html inside every folder you create in e107. This is recommended for security purposes.
### theme.js
(Optional)
To include theme related JavaScript in your websites
<head>
, which is through the creation of a theme.js file in your themes directory. If e107 finds this file in your themes folder it automatically outputs a
<script>
tag in
<head>
to point the browser to the file.
### theme-js.php
(Optional) If your theme needs Javascript, use only **one** of either '''theme.js or theme-js.php of these files to contain the script (as above, if you use a php file it must be formatted as such).
### favicon.ico
(Optional)
### preview.jpg
(Optional)
### forum
(dir) (Optional)
Custom forum image set
### images
(dir)
- bullet.png
- other_images.jpg
- index.html
### Languages
(dir) (Optional)
If you are designing a multi-language theme, it will contains at least one language file, where you place translated item codes for use in theme.php
- English.php
- Italian.php
- index.html
#### menu
(dir) (Optional)
#### menu.css
#### menu.js
#### menu_rtl.css
### tempates
(dir) (Optional)
e107 uses Template Files to format specific types of content provided by core features and plugins, i.e. downloads, links, login search, forum etc. Many themes simply use the defaults provided with e107, but you can include customised versions in your theme folder to get finer control.
The default templates should remain unchanged in the e107_themes &gt; templates folder, so that your changes are not lost at upgrade.
Plugin which provide templates, such as, forum, chat, content manager, store them in the e107_plugins/plugin_name folder. The default templates provide the standard layout for the plugin.
You can copy any templates into your theme folder and code away at them to change the look of your site. e107 first checks your theme folder for a template to use. When your theme does not contain a template, then the default template will be used instead. This means you can make your site as individual as you like without any of your work getting overwritten by future updates.
The templates generally consist of tables to control the layout of a page. Lamb theme, for example, contains a news_template.php file which splits the news into 2 columns. You can copy that into most themes to use to get the same effect.
Theming Forum Icons: One of the things that lets down most themes is that few developers bother to mod the templates to match or add different images from the standard ones. Create a folder in your theme called forum and drop the images into that. As long as they have the same filename as the core ones, then e107 will again override the core.
Creating your first Theme
-------------------------
[Category:Development](/Category:Development "wikilink") [Category:Theming](/Category:Theming "wikilink")

50
Theme_create_your_own.md Normal file

@ -0,0 +1,50 @@
---
title: Theme create your own
permalink: /Theme_create_your_own/
---
**Creating your own theme**
*theme.xml*
Instead of using the theme.php, version 0.8+ now uses the theme.xml to set all information of the theme. The theme.php is now only used to define the different template styles (like CUSTOMHEADER and -FOOTER in the past).
You can use the theme.xml of the theme called "blank". The current xml has been pasted here for references.
Todo: display all attributes of the theme xml file. Notes: don't use the & in description; use `&` instead.
<code xml>
<?xml version="1.0" encoding="utf-8"?>
<e107Theme name="blank" version="0.1" date="2008-12-01" compatibility="0.8">
`   `<author name ="Desislav Yosifov [SonicE]" email="support@free-source.net" url="http://free-source.net" />
`   `<description>`Blank e107 admin theme`</description>
`   `<compliance xhtml="1.1" css="2.1" />
`   `<plugins>
`       `<plugin name='chatbox_menu' url='core' />
`   `</plugins>
`   `<layouts>
`       `<layout name='default' title='3 Columns' preview='preview.jpg' previewFull='preview_full.png' default='true' >
`       `<menuPresets>
`               `<area id='1' >
`                   `
<menu name='login' />
<menu name='compliance' />
`               `</area>
`               `<area id='2'>
`                   `
<menu name='online' perm='admin' />
<menu name='powered_by' />
<menu name='sitebutton' />
`               `</area>
`           `</menuPresets>
`       `</layout>
`       `<layout name='alternate' title='2 Columns' preview='preview.jpg' previewFull='preview_full.png' >
`       `<custompages>`usersettings.php`</custompages>
`       `</layout>
`   `</layouts>
</e107Theme> </code>

11
TinyMce.md Normal file

@ -0,0 +1,11 @@
---
title: TinyMce
permalink: /TinyMce/
---
TinyMce
-------
Wysiwyg Text-Area Replacement
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

11
Trackback.md Normal file

@ -0,0 +1,11 @@
---
title: Trackback
permalink: /Trackback/
---
Trackback
---------
This plugin enables you to use trackback in your news posts.
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Plugins](/Category:Plugins "wikilink") [Category:Core Plugins](/Category:Core_Plugins "wikilink")

9
Translators.md Normal file

@ -0,0 +1,9 @@
---
title: Translators
permalink: /Translators/
---
Introduction
------------
[Category:e107](/Category:e107 "wikilink") [Category:Introduction](/Category:Introduction "wikilink") [Category:Setup](/Category:Setup "wikilink") [Category:Languages](/Category:Languages "wikilink")

140
User_Classes.md Normal file

@ -0,0 +1,140 @@
---
title: User Classes
permalink: /User_Classes/
---
User Classes
------------
You can select classes for editing, and also delete existing classes, from this page. User class handling has been significantly improved in 2.0
User Class Functions
--------------------
Manage
------
The main user class page contains a list of configurable classes - i.e. those you set up for your own purposes. The main list contains basic details by default (bold below), and can be easily changed so that it lists the fields you are interested in.
- Class Icon
- **ID**
- **Class Name**
- **Class Description**
- Class Manager
- Class Parent
- Class Visibility
- Class Type
In the options column, you can edit and delete the existing links.
Define/Edit Classes
-------------------
You can add new user classes via the **Define/Edit Classes** link, which opens the **User Class Settings** screen. Enter your new user class details here.
You can create classes, or edit existing classes from this page. This is useful for restricting users to certain parts of your site. For example, you could create a class called TEST, then create a forum which only allowed users in the TEST class to access it.
The class name is displayed in drop-down lists and the like; in some places the more detailed description is also displayed.
The class icon may be displayed in various places on the site, if one is set.
To allow users to determine whether they can be a member of a class, allow them to manage it. If you set 'no-one' here, only the admins can manage membership of the class
The 'visibility' field allows you to hide the class from most members - applies in some of the drop-down lists and checkboxes.
The 'class parent' allows you to set a hierarchy of classes. If the 'top' of the hierarchy is the 'Everybody/Public' or 'Member' classes, the classes lower down the hierarchy also have the rights of their parent class, and that classes' parent, and so on. If the 'top' of the hierarchy is the 'No One/Nobody' class, then rights are accumulated in the opposite direction - a class accumlates all the rights of a class below them in the tree. The resulting tree is shown in the lower part of the page; you can expand and contract branches by clicking on the '+' and '-' boxes.
### Class Name
This is the short name displayed in selectors screens.
### Class Description
Information about applicability of class.
### Class Icon
Optional icon associated with class - directory, select from the list.
### Class Type
- Standard
- Group
A group brings together a number of individual classes
### Class Manager
Users in this class can add/remove themselves from the class being edited
### Classes in group
PRIVATEMENU PRIVATEFORUM1
Checked classes are members of the group
### Class Visibility
Determines which users can see this class in drop-down lists
### Class Parent
If the top of the tree is 'No One', permissions increase towards the top of the tree
If the top of the tree is 'Everyone', permissions increase as you go down the tree
Initial User Class
------------------
Set the classes to which a new member of the site is assigned initially. If you have verification enabled, this assignment may take place either when the user signs up, or when the user is verified.
And remember that if you are using hierarchical user classes, a user is automatically a member of all classes 'above' each selected class in the tree
### Set initial classes
=
Existing classes: None
These classes are set for any newly signed up user - either immediately, or once their site membership has been verified
- PRIVATEMENU (Grants access to private menu items)
- PRIVATEFORUM1 (Example private forum class)
Point at which classes set: (ignored if no verification)
- Initial Signup
- Verification by Email or Admin
Choose from existing classes and select a set point and update the setting.
Options/Setup
-------------
The Setup options allow you to create and remove the default class hierarchy. You can see the effect by looking at the user tree. This won't destroy your other class information, and you can modify or remove the hierarchy later.
You should only need to rebuild the class hierarchy if database corruption occurs
### User class setup
Setup Options
`Caution! Only use these options if you understand what they do.`
NB More to follow once I understand them.
#### Set a default user hierarchy
(the hierarchy can be modified later)
#### Clear the user hierarchy
(this sets a 'flat' user class structure)
### User Class Maintenance
#### Rebuild class hierarchy
(This may be required if database corruption occurs)
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:User Class](/Category:User_Class "wikilink") [Category:Security](/Category:Security "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

178
Users.md Normal file

@ -0,0 +1,178 @@
---
title: Users
permalink: /Users/
---
User Management
---------------
This page shows a list of your registered members. You can update their settings, give them administrator status and set their user class among other things.
The sort order can be changed by clicking on the column heading. The displayed columns can be changed by clicking on 'Edit Display Options', selecting the required columns, then clicking on 'Search/Refresh'
### Info
Show this user's profile (can also click on their display name)
### Edit
Edit the settings for this user.
### Ban/Unban
Determine whether the user can access the site.
### Activate
This activates a user who would normally have replied to the activation email.
### Resend Email
Resends the activation email to the user.
### Test email
Check user's email address for validity (doesn't send an email)
### Set Class
Set class membership for a user
### Delete
Totally removes the user from membership of the site (any forum posts, comments etc remain, and are flagged as from a 'Deleted User')
Users Front Page
----------------
This is the main user management page. You can configure the display fields using the options icon, the available fields are listed below with the defaults in bold.
- **ID**
- Status
- **Display name**
- Login Name
- Real Name
- Custom title
- Password
- Photograph
- Avatar
- Email address
- Signature
- Hide email
- XUP file
- **User class**
- Join Date
- Last Visit
- Current Visit
- Comments
- Last Post
- IP Address
- Ban
- Prefs
- Visits
- Admin
- Perms
- Password Change
Quick Add User
--------------
This page allows you to create a user, who is immediately a normal member of the site, with whatever class memberships you assign.
If you check the 'Send confirmation email with password to new user' box, the login name and password are sent in clear, so the user must change their password on receipt.
- Display name
- Username (login name)
- Random user name
- Real Name
- Password
- Random password
- Re-type Password
- Email Address
- Require Confirmation
- Send confirmation email with password to new user
- Set Classes
- PRIVATEMENU (Grants access to private menu items)
- PRIVATEFORUM1 (Example private forum class)
- Make admin
- Set Permissions
Extended fields would also be displayed here.
Prune Users
-----------
Bulk deletes unwanted users from the database. These may be either those who failed to complete the registration process, or those whose email addresses bounced. Any forum posts, comments etc remain, and are flagged as from a 'Deleted User'.
### Delete Unverified Users
### Delete Unverified Users Over 30 Days
### Delete Bounced Users
Options
-------
Sets various options affecting all users.
### Allow Avatar Upload
If enabled, users may upload an avatar of their choice, which is stored on your server. This can have security implications.
### Allow Photo Upload
If enabled, users may upload a photo of their choice, which is stored on your server. This can have security implications.
### Maximum avatar width (in pixels)
(default is 120)
### Maximum avatar height (in pixels)
(default is 100)
### Allow users to rate users
- Yes
- No
### Allow comments in user profile
- Yes
- No
### Force user to update settings
Enabling this option will automatically send the user to their user-settings if a required user field is not filled.
- Yes
- No
### Delete unverified users
Delete signups if unverified after this amount of time - leave blank to not use this option This option is ignored if user signups are admin moderated - set in minutes.
### Online User Tracking
This must be enabled to keep track of most user activity, including counts of online members. It does increase database activity significantly.
### Member Information
Determines which class of members can view the member list.
### New user probationary period (days)
Admin can impose restrictions during this period in some areas - set in days.
User ranks
----------
Rankings can be created for your users.
- Type
- Rank Name
- Lower Threshold
- Lang Prefix
- User Rank Image
[Category:User Guide](/Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Users](/Category:Users "wikilink") [Category:Permissions](/Category:Permissions "wikilink") [Category:Security](/Category:Security "wikilink") [Category:WhatsNew](/Category:WhatsNew "wikilink")

51
Welcome_Message.md Normal file

@ -0,0 +1,51 @@
---
title: Welcome Message
permalink: /Welcome_Message/
---
Welcome Message
---------------
e107 » [Admin Area](/:Category:Admin "wikilink") » [Content](/:Category:Content "wikilink") » Welcome Message
This page allows you to set a message that will appear at the top of your front page all the time it's activated. You can set a different message for guests, registered/logged-in members and administrators.
You can avoid a redirect to News by placing your home page content in a welcome message for guests. This would be good for your SEO, if that is important for you.
Welcome Messages List
---------------------
- ID
- Message
- Visibility
- Options
- Edit
- Delete
Create New Message
------------------
### Message Caption
Enter a Title for the message.
### Message Text
Enter the content for the page.
### Visibility
Set the userclass for the message.
Preferences
-----------
### Enclose
If ticked, the message will be rendered inside box
### Override standard system
Allows you to use {WMESSAGE} shortcode wherever you wish to place the message, such as in a menu.
[User Guide](/:Category:User_Guide "wikilink") [Category:Admin](/Category:Admin "wikilink") [Category:Content](/Category:Content "wikilink") [Category:Public Uploads](/Category:Public_Uploads "wikilink")

235
Whats_New_0.8.a.md Normal file

@ -0,0 +1,235 @@
---
title: Whats New 0.8.a
permalink: /Whats_New_0.8.a/
---
<small>[English](/{{FULLPAGENAME}} "wikilink") | [Français](/{{FULLPAGENAME}}/fr "wikilink") | [Deutsch](/{{FULLPAGENAME}}/de "wikilink") | [Magyar](/{{FULLPAGENAME}}/hr "wikilink") </small>
Compendium of 0.8 Information
-----------------------------
By Septor <http://e107.org/e107_plugins/forum/forum_viewtopic.php?201277>
Last local SVN update: July 14th, 2010 @ 01:03AM EST Post last updated: July 14th, 2010 @ 09:20PM EST
In an effort to inform any inquiring minds as to what exactly is new, changed, or removed in 0.8 I have, as previously said in another thread, decided to compile all the information into one forum thread for people to look over. The first few posts in this thread will contain information on plugins, themes, core features, and anything else I think should be mentioned. At first the information will be lax, but over time I will attempt to expand on each section with more information.
Keep in mind that 0.8 is in constant development and things posted about here may change multiple times. By reading this information you understand that it is current up to the last time I personally updated my local 0.8 install with the latest SVN files (I will try and do this at least once a week, the svn update date will be posted at the top of this post). If you notice an error in my information please inform me via PM so that I can fix it. If it is something the rest of the community could gain knowledge on, please post it inside this thread.
Below this paragraph I will list a table of contents that will link to the posts that contain the respective information. I was going to try and keep this all in one post but I fear it may get to the post limit (if it exists) and I also think that breaking the information up will allow for easier reading in the long run.
Also note, the finished product of these posts will be walls-of-text and will require you to read and not skim. I am attempting to add as much information as possible and this will not be done by just listing off changes. If you thought this would be a replica of what was on the wiki; you are wrong again, thank you for playing!
Introduction
------------
Table of Contents
- [\#Core](/#Core "wikilink")
- [\#Plugins](/#Plugins "wikilink")
- [\#Themes](/#Themes "wikilink")
- [\#FAQ](/#FAQ "wikilink")
- [\#Useful Links](/#Useful_Links "wikilink")
Notice: All below information is all being gathered as either I am told about it or I discover it in my local install. The local install was installed on July 14th at around 1AM EST.
Core
----
Post last updated: July 14th, 2010 @ 12:24PM EST
### General Information
- The requirements to run 0.8 have been slightly altered. You are recommended to have MySQL 5.x, with 4.1.x still being supported for now. The PHP requirement has been bumped up to 5.x from 4.x. It should be noted that the 4.x branches of both MySQL and PHP are no longer being supported by their developers, so getting your servers upgraded is highly recommended.
<!-- -->
- Upgrading e107 can only be done from the 0.7 branch. If you are still using the 0.6 branch you will be required to upgrade to 0.7 first and then take the jump to 0.8. In saying this you should seriously consider performing the 0.6 to 0.7 upgrade right now so that you can iron out any issues.
<!-- -->
- IPV6 Addresses are now supported.
<!-- -->
- New XML interface class, with filter to restrict the amount of data retained in memory.
<!-- -->
- New DB table update manager class - changes table definition while minimizing data loss.
<!-- -->
- thumb.php now in e107_images only (version in e107_files removed).
<!-- -->
- Resize handler supports image enlargement.
<!-- -->
- PDF class updated (now uses TCPDF) - should be backward compatible, but possible issues.
<!-- -->
- The lime image has been removed! Just kidding.
### Admin Area Information
- The dashboard has been redesigned and now offers a small degree of customization. You can now define which "quick link icons" are displayed as well as add any menu that can be displayed on your main site to the dashboard.
<!-- -->
- The Front Page selection feature now uses a hierarchical rule-based system, with the option to force a user to a specific page following a successful login as well as the normal Front Page feature. This basically means that you can set a page to direct your users to as soon as they login (eg: forum.php) but any following visit you can have them be direct to the normal news.php (or whatever).
<!-- -->
- New scheduling system allows you to perform regular tasks. This can be used to perform backups every week, send out an email every month to your users/administrators/moderators to keep them in the loop in case they don't visit the site often, etc.
<!-- -->
- The navigation buttons at the top have been rearranged slightly. The new Manage button links to several manager pages for plugins, themes, comments, menus, files, and media. The plugins, themes, files, and menu manager pages are very similar to what you're currently use to. Comment and media manager pages are new. The former allows you to manage all comments posted to all things (news posts, profile pages, etc), with the latter allowing you to, from my best guess, manage all media (images, etc) used around the site.
<!-- -->
- The banlist feature has been updated. When you issue a ban you select you can leave a reason, an admin note, and set an optional expiration time. You can now also select an optional message to be displayed to the banned user when they attempt to access the site based on their ban type. The whitelist feature allows you to define a group of IP addresses, email address, or specific users from ever getting banned. Some notable options include: the ability to refresh any ban if the banned user attempts to access the site during their banned period, setting a maximum access rate for guests and members, and an import/export feature that allows you to transfer a banlist, in CSV format, from one site to another.
<!-- -->
- System logging allows you to keep track of the going-ons of your site. The filtering system allows you to view the events by date/time, IP, user ID, etc. It can be used to track users by class or event type, as well as keep an eye on the download history. Another feature of the logging, that sort of ties in with User management is admin logging. This allows you to keep track of what your admins are doing around the site.
<!-- -->
- Additonal user features have been added as well. You can now send an email from the Quick Add User page. Along with this, when you create a user from the previously mentioned page you can now opt to sending the password to that user. Timezone information is now an optional extended user field. Random auto-generated login names can be used as well as the user having the ability to login with their email address.
<!-- -->
- User classes are going to recieve a lot of love in 0.8. A Hierarchial based system allows you to create userclass groups for other userclasses. An example of this is the Everyone class, or group, consists of Members, Guests, and Administrators. You could modify this to remove access from Guests, or whatever. Along with the group-based system is the ability to set a userclass of all newly registered users, with the option to place them in a "not-verified" group when they first sign up and then put them into the "new member" group once they verify their information (via email).
<!-- -->
- You can now configure which themes are available for users to select as their theme based on their userclass. Using the previous userclass example; "new members" may only have access to the default theme where "members" get access to three additional themes and "full members" get acccess to all themes without ads being displayed.
<!-- -->
- Public uploads can now be configured based on userclass, with the allowed types configured in filetypes.xml. Based on your class you may have access to more file types and larger file sizes. Note: Regardless of the precautions implemented in Public Uploads you should still be very careful what you allow to be uploaded to your web server!.
<!-- -->
- The bulk mailer option allows you to schedule emails to be sent to your members. The mail queue can be auto-emptied by a task. You can define a start and stop time for all mailouts. There will be more bounce handling options.
<!-- -->
- A new, extremely great, security feature is the option to salt all passwords before being encrypted. Salting passwords adds a layer of protection to all existing passwords as it helps cut down on dictionary cracking, as a lot of users choose their passwords based on simple words or catchy phrases (which is a terrible idea). Optional CHAP-based logins are also being implemented.
<!-- -->
- The IMG BBcode can now auto-generate the link to a picture from a thumbnail. It can also choose a random image to be displayed.
Plugins
-------
Post last updated: July 14th, 2010 @ 09:06PM EST
### General Information
- A new file, plugin.xml, is being used to install all plugins. While plugin.php is still being supported, it is recommended to all plugin authors to upgrade to the new system as plugin.php may be deprecated in a later release.
<!-- -->
- Most plugins that are semi-current and working right now should work just fine with 0.8 as the development team is attempting to make sure all new changes work with the old way of things. Take note that this is not a reassurance that all of your current plugins will survive the upgrade!
<!-- -->
- The installation and removal of plugins is now done on separate pages. With that said, you can now install more than one plugin at a time, but are still restricted to uninstalling one at a time.
<!-- -->
- The download system has been removed as a core feature and has been rewritten in plugin form with added features and bug fixes. (Not sure what these are as I haven't messed with the new plugin yet. More information later!)
<!-- -->
- TinyMCE has been converted into plugin form as well. I will have to do additional research on this one before I can provide more information.
<!-- -->
- Several new core plugins have been added. Some include: Facebook Connect, Tagwords, and a FAQ plugin.
### Core Plugin Information
- The forum has undergone a substantial rewrite. Many new features have been added and things have been changed around a bit. A small example is the ability to define who can view a forum, who can post in the forum, and who can create a new thread in the forum (plus the basic who can moderate the forum, blah blah blah).
<!-- -->
- The Content Management plugin has gained many improvements and simplifications. I do not personally use this plugin so I'll need to wait for more information to be given to me or until I have time to mess around with it.
<!-- -->
- Statistics have been updated a bit. You can now view month by month statistics for browsers, OSs, resolutions, etc. There is now also the ability to export your stats in CSV format for later analysis.
<!-- -->
- From the wiki information: Alternate Authentication (to be considered a "test feature"). Copy selected user-related values from the source DB into the e107 user table. RADIUS support. Support for wider password encodings, and the ability to use user databases imported from other systems.
<!-- -->
- Event Calendar has undergone some additions and changes. See below for the blurb from the wiki:
<!-- -->
Event Calendar - Templating of subscription emails by category - including a set of default templates
* A 'list generator' allowing you to produce event lists for display/print/PDF
multiple templates - to allow a variety of formats
Optional user selector for start/end/category/output
Easy generation of links (queries) for 'fixed format' lists
Options for 'events in next n months'
* Admin page to display voluntary subscriptions and allow deletion of them
* More options for recurring events - most variations on weekly and monthly
* Better handling of recurring events within the display routines
* Option to create multiple events according to a pattern
* Various improvements on the templates and code
Themes
------
Post last updated: July 15th, 2010 @ 10:42PM EST
### General Information
- As with the plugins; themes are now using a theme.xml file to be generate. It would appear that the old theme.php is still supported, but as with plugin authors theme authors should attempt to upgrade to the new method as soon as possible. Actually, scratch my last. it would appear (to me) that theme.xml is an extension to the current theme system and that it's existence is top secret (mostly because I don't have access to the wiki so I can't look it up!)
This post is very dull and doesn't have a lot of information yet because I am still looking for what is new (minus the theme.xml bit) that is really ground breaking enough to post about. Give me time!
Post last updated: July 15th, 2010 @ 10:45PM EST
FAQ
---
### Q: When will 0.8 be out?
A: When it cleans it's room and takes out the trash. Seriously, there is no deadline or release date set. If you wish to help speed up the development; install 0.8 locally and look for bugs and test the features so you can provide feedback. This is the single greatest helping hand you can give the developers.
### Q: How can I get the SVN version?
A: 1. Download TortoiseSVN.
2. Create a folder on your computer where you want 0.8 to be installed.
3. Right click on that folder an select "SVN Checkout"
4. Type this url to field URL of repository: <https://e107.svn.sourceforge.net/svnroot/e107/trunk/e107_0.8/>
5. Click OK and that's it.
NOTE: UNDER NO CIRCUMSTANCES SHOULD YOU RUN 0.8 ON A PRODUCTION/LIVE SERVER AS IT IS NOT FULLY TESTED! PLUS, IT IS BEING DEVELOPED SO FEATURES OF TODAY MAY NOT EXIST TOMORROW!
Useful Links
------------
Post last updated: July 14th, 2010 @ 09:18PM EST
`   * 0.8 Changelog `[`http://e107.org/svn_changelog.php?module=e107_0.8`](http://e107.org/svn_changelog.php?module=e107_0.8)
More links will be posted once the wiki is back online. I feel so lost without it.
[Category:Introduction](/Category:Introduction "wikilink") [Category:About e107](/Category:About_e107 "wikilink")

8
Wysiwyg.md Normal file

@ -0,0 +1,8 @@
---
title: Wysiwyg
permalink: /Wysiwyg/
---
**Enabling wysiwyg in your custom code**
Compared to version 0.7; where you'd include the wysiwyg handler file and call on a function, you now can enable wysiwyg functionality on any textarea by giving it the class "wysiwyg".

@ -0,0 +1,361 @@
---
title: plugin.php and plugin.xml
permalink: /plugin.php_and_plugin.xml/
---
The plugin.xml file
-------------------
The plugin.xml is introduced in e107 v2.0, and will replace the plugin.php file going forward. This will provide much more flexibility with plugins, as well as using the file for its intended purpose. While e107 will continue to support the plugin.php file, it is considered deprecated and may not be supported beyond v2.0.
Note that any database tables used *must* now be defined in a xxx_sql.php file (previously this was optional).
This file is the heart of your plugin - it defines lots of things about your plugin such as the plugin name, preferences and configuration options. It is used by the plugin manager for plugin install, upgrade and uninstall, and it is used by other parts of the core to obtain information about your plugin.
Let's look at an example file:
<?xml version="1.0" encoding="utf-8"?>
<e107Plugin name="Forum" version="2.0" compatibility="0.8" installRequired="true" xhtmlcompliant="true" >
<author name="e107 Inc." url="http://e107.org" />
<description>This plugin is a fully featured Forum system</description>
<category>content</category>
<languageFiles>
<file type='install' path='languages/--LAN--_install.php' />
<file type='log' path='languages/--LAN--_log.php' />
</languageFiles>
<adminLinks>
<link url='forum_admin.php' description='Configure Forum' icon='images/forums_32.png' iconSmall='images/forums_16.png' primary='true' >Configure Forum</link>
<link url="forum_admin.php" description="Forum Front Page" icon="manage" >Front Page</link>
<link url="forum_admin.php?cat" description="Create Forum Parents" icon="add" >Create Parents</link>
<link url="forum_admin.php?create" description="Create Forums" icon="images/forums_16.png" >Create Forums</link>
<link url="forum_admin.php?opt" description="Forum Preferences" icon="settings" perm="mainadmin" >Preferences</link>
</adminLinks>
<siteLinks>
<link url="forum/forum.php" perm='everyone'>Forum</link>
</siteLinks>
<pluginPrefs>
<pref name="forum_show_topics">1</pref>
<pref name="forum_postfix">[more...]</pref>
<pref name="forum_poll">255</pref>
<pref name="forum_popular">10</pref>
<pref name="forum_track">1</pref>
<pref name="forum_eprefix">[forum]</pref>
<pref name="forum_enclose">1</pref>
<pref name="forum_title">Forums</pref>
<pref name="forum_postspage">10</pref>
<pref name="forum_threadspage">25</pref>
<pref name="forum_hilightsticky">1</pref>
</pluginPrefs>
<userClasses>
<class name="forum_moderator" description="Moderator of all forums" />
</userClasses>
<extendedFields>
<field name="viewed" type='EUF_TEXTAREA' default='0' active="true" />
<field name="posts" type='EUF_INTEGER' default='0' active="true" />
</extendedFields>
</e107Plugin>
The following sections describe the various tags. Where a tag or attribute is described as 'mandatory', it **must** be present to avoid (sometimes obscure) errors. If necessary define it with an empty string.
**WARNING : MUCH OF THE INFORMATION BELOW IS OUTDATED**
### e107Plugin
This is the namespace the configuration lives in, all plugin.xml files must begin and end with this tag.
<e107Plugin name="Forum" version="2.0" compatibility="0.8" installRequired="true">
... all content belongs here ...
</e107Plugin>
Key attributes of the plugin are also defined here:
#### <name>
**\[mandatory\]**
The name of your plugin. This **MUST be in English and NOT a constant (LAN_XXX)**. Equivalent constants are determined by the 'lang' attribute.
<e107Plugin name="Forum" lang="PLUG_NAME_CONSTANT" ...
#### <version>
**\[mandatory\]**
The version number of your plugin.
<...version="2.0"
This must follow the PHP-Standardized version number, as specified here: <http://php.net/manual/en/function.version-compare.php>
This is used to show the version number on the main plugin page, and also to determine if you have uploaded a new version and require your plugin to run the update routines.
#### <category>
**\[recommended\]**
For integration of your plugin into the admin navigation. Choose from either: settings, users, content, tools, manage, misc, about
<category>content</category>
#### <compatibility>
**\[mandatory\]**
The lowest version of e107 that your plugin will work with. Displayed on the *Admin-&gt;Plugin Manager* page. This must also follow the PHP-Standardized version number. If the user's e107 version number does not meet the requirements, installation will not be allowed
<compatibility>0.7.10</compatibility>
#### <installRequired>
**\[mandatory\]**
This indicates whether or not your plugin will require installation. In the past we let the plugin manager attempt to determine this based on what variables were set in plugin.php, this is no longer the case. To provide better control by the plugin author it is now a required fields in the plugin.xml file.
<installRequired>true</installRequired>
### <author>
**\[mandatory\]**
Identifies you, and some information about you.
<author name="e107dev" url="http://e107.org/" email="blackhole@somwhere.com" />
Note the ' /' to close the tag at the end.
#### <name>
**\[mandatory\]**
Your name, e107 user name or nickname - your choice.
<...name="e107dev"
#### <email>
**\[mandatory\]**
Your e-mail address, useful to get feedback and bug reports on your plugin. A *mailto* link to it is displayed on the *Admin-&gt;Plugin Manager* page.
<...email="myname@mysite.com"
#### <url>
**\[mandatory\]**
Your website - advertise yourself! Displayed on the ''Admin-&gt;Plugin Manager' page. A link to it is displayed on the ''Admin-&gt;Plugin Manager' page.
<...url="http://www.mysite.com" >
#### <description>
**\[mandatory\]**
A brief description of your plugin. Displayed on the *Admin-&gt;Plugin Manager* page.
<description>A configurable contact form to allow website visitors to e-mail you without exposing e-mail addresses</description>
#### <folder> (DEPRECATED)
The folder name that your plugin installs to. If the plugin is not uploaded into this folder, it will be completely ignored by the plugin manager.
<folder>forum</folder>
#### <commentID> (DEPRECATED)
Required if comments can be associated with this plugin - specifies the tag used, so that comments can be deleted when the plugin is uninstalled.
Multiple lines of this format are permitted if the plugin uses more than one comment tag.
Example format:
<commentID>forum1</commentID>
<commentID>forum2</commentID>
#### <logLanguageFile> (DEPRECATED)
The E107 admin log supports multi-language titles for the entries, if generated by the plugin. This specifies the language file containing these titles. For a simple plugin, it may be the file containing all the language defines; for a more complex plugin there may be a specific file for these messages.
A path and filename from the root of the plugin/s folder must be specified, as the following examples:
<logLanguageFile filename='language/--LAN--/admin_calendar_log.php' />
<logLanguageFile filename='language/--LAN--_calendar_log.php' />
In both cases the text '--LAN--' is replaced with the current language before loading the file.
#### <installLanguageFile> (DEPRECATED)
Sometimes there are a reasonable number of language defines which are required only during install/uninstall/upgrade (this doesn't include strings displayed by, for example, plugin manager). Examples include a need to pre-populate a DB table with standard messages. To allow for this circumstance, it is possible to define a language file which is loaded only during install/uninstall/upgrade.
A path and filename from the root of the plugin/s folder must be specified, as the following examples:
<logLanguageFile filename='language/--LAN--/admin_calendar_log.php' />
<logLanguageFile filename='language/--LAN--_calendar_log.php' />
In both cases the text '--LAN--' is replaced with the current language before loading the file.
#### <administration> (DEPRECATED)
**\[mandatory\]**
These options control the behavior and appearance of your plugin in the plugin manager. All options here must be between the <administration> </administration> tags:
<administration>
<configFile>forum_admin.php</configFile> - File directed to for plugin configuration
<icon>images/forums_32.png</icon> - 32x32 pixel icon shown in plugin manager
<iconSmall>images/forums_16.png</iconSmall> - 16x16 pixel icon show in admin dropdown
<caption>Configure Forum</caption> - Text shown when hovering over plugin icon
<installDone>Your forum is now installed</installDone> - Message shown to user when plugin has been installed
</administration>
Any image file type should be OK; PNG and GIF are usually used as they allow for transparent backgrounds.
#### <menuLink> (DEPRECATED)
Indicates if a link to your plugins page should be created in Sitelinks when it is installed (or deleted when the plugin is uninstalled).
<menuLink name="Forum" url="forum.php" perm='everyone' active='true' />
name - Name of the link to be added
url - URL to be added, relative to the current plugin directory
perm - Sets the visibility perms for the link (guest, member, admin, everyone)
active - If set to false, this link will be removed on plugin upgrade
#### <mainPrefs> section
Each entry inside the <mainPrefs> section defines a specific <pref> (preference value, or setting). These determine the main preferences that are added to your database when the plugin is installed. They are added to the main preferences and will be assigned to the $pref array on each pageload. The preferred method for plugins is to use <pluginPrefs>, which works in a similar fashion and stores the values in it's own table row.
You can specify each pref as a separate key/value pair:
<pref name="forum_show_topics">1</pref>
<pref name="forum_old_pref" active="false" >test</pref>
Creates $pref['forum_show_topics'] = '1'
Setting the 'active' parameter to false will cause the pref to be removed on plugin upgrade
Or you can have the pref as an associative array:
<pref name="forum_tmp" type="array">
<key name="pref1" active="false">val1</key>
<key name="pref2">val2</key>
<key name="pref3">val3</key>
</pref>
Removes:
$pref['forum_tmp']['pref1'] - since the 'active' parameter is set to false
Creates:
$pref['forum_tmp']['pref2'] = 'val2';
$pref['forum_tmp']['pref3'] = 'val3';
Then there are two 'special' pref formats:
##### 'List' preferences (DEPRECATED)
<listPref name='pref_name' value='value_to_add'>
This adds a value to the comma-separated list stored in $pref\['pref_name'\] - useful for accumulating a list of those plugins which are active in a particular area (e.g. hooked parsers) (as previously defined in $eplug_array_pref)
#### <userclass> (DEPRECATED)
Will create a new userclass on plugin install. Any number of these items may exist.
<userclass name="forum_moderator" description="Moderator of all forums" />
name - Name of the userclass to be added
description - The description of the userclass
The class name is always converted to upper case. The class is added on upgrade only if it doesn't already exist. The class is removed (including removing membership of the class from all users) on uninstall.
#### <extendedField>
This will allow a plugin to create a new extended user fields on plugin install.
<extendedField name='viewed' type='EUF_INTEGER' default='0' active="true" />
name - Name of the field to added. This will ALWAYS be auto prepended with 'plugin_'<plugin_folder>
type - Type of field to add, this should be one of the constants found in user_extended_class.php
default - The default value for the field
active - Whether or not the field is active, setting this to 'false' will tell the system
to delete the field on upgrade. This field on not required for install.
#### <management> (DEPRECATED)
Each entry inside the <management> section allows the plugin author to configure custom code that will be executed during install, upgrade, or uninstall. This code can be executed before the plugin manager executes it code, or after. There are three possible sections inside the <management> section and they all contain the same parameters.
Valid sections are: <install ... /> <upgrade ... /> <uninstall ... />
<install when="post" type="classFunction" file="forum_management.php" class="forum_management" function="forum_install_post" />
when - (pre, post)
type - (classFunction, fileFunction)
file - filename to load that contains the function or class
class - If 'classFunction' was specified, the name of the class
function - The name of the procedural function or class function that needs to be executed
"when" determines when the management routine is executed:
'pre' - executes the routine after validity checks are complete, but before any processing which affects the overall installation is done (so for install, the DB tables haven't been created, for example).
'post' - executes the routine last thing, immediately before updating the plugin install status in the DB.
These functions must return a string value, which may be an empty string. This string is included in the text which is displayed after the install/uninstall/upgrade has been completed.
It is perfectly acceptable to have both 'pre' and 'post' management routines.
There is no need to define any of these sections if they are not required. Note that during an upgrade, any database tables that have been changed or added will be automatically updated as the first step in the upgrade process.
#### <depends> section
This section allows specification of plugin dependencies; prerequisites for a successful install.
An example section is:
<depends>
<plugin name='chatbox_menu' />
<plugin name='calendar_menu' min_version='3.70' />
<PHP name='core' min_version='5.2.5' />
<MySQL name='server' min_version='4.9' />
<extension name='curl' min_version='1.3' />
<extension name='mb_string' />
</depends>
Thus specific E107 plugins can be required, optionally of a minimum version. Specific PHP extensions can be required, again optionally of a minimum version. While it is strongly preferred that plugins work with any version of PHP and MySQL supported by E107 itself, it is also possible to require a minimum version of them.
All version numbering must be in the PHP-Standardized version number format.
Note that version checking is only carried out on install and upgrade; there is no ongoing checking that the requirements are met, nor is uninstallation of the required plugins prevented in any way.
#### Comments
As with any XML-format file, comments may be added:
<!-- This is a comment -->
In particular, for any plugin.xml file which is being saved in CVS or other versioning system, an appropriate tag should be added; e.g.:
<!-- $Id: plugin.xml,v 1.2 2008/08/12 19:59:59 e107steved Exp $ -->
(In the case of CVS, at least, the above tag will be updated on each new commit).
#### Notes on file format
XML supports just five entities, and requires that these are escaped within data fields. These are:
` & - ampersand`
` < - 'less than' or tag opening character`
` > - 'greater than' or tag closing character`
` " - double quotation mark`
` ' - single quotation mark (Apostrophe)`
The curly brackets {...} have a special function; if they are used they must be 'escaped' with a backslash:
<!-- -->
<pref name="Title" value="Formatted \{SHORTCODE\} text">
At present the 'escaping' is removed within pref values, but not elsewhere.
[Category:Development](/Category:Development "wikilink") [Category:Plugin](/Category:Plugin "wikilink") [Category:API](/Category:API "wikilink")