OpenCrypt

Documentation

Administrators

Documentation for the 'Administrators' section of the OpenCrypt configuration system.

Communicate

Information regarding the 'Communicate' section of the administrator panel.

Configuration

Miscellaneous FAQ relating to the configuration section which are not necessarily specific to another category.

Database Management

Information about the 'Database Management' section of the administration panel.

Dictionary and Terms

A dictionary style collection of technical words and terms with simple explanations.

E-Commerce Configuration

FAQ relating to configure your OpenCrypt e-commerce settings.

Manage.cgi

Documentation relating to frontend script, manage.cgi

OpenCrypt Add-Ons

Documentation regarding the OpenCrypt add-ons.

OpenCrypt Documentation

Help articles, documentation and quick tips for the OpenCrypt software.

    OpenCrypt Installation

    OpenCrypt installation guides, documentation and help.

    OpenCrypt Plugins

    Documentation regarding the OpenCrypt plugins including Joomla and WordPress.

    OpenCrypt System

    OpenCrypt system documentation relating to more detailed aspects of the software.

    PHP Login Interface

    Guidance relating to the PHP login interface and it's usage.

    Pre-Sales Questions

    Some common questions we are regularly asked by customers interested in purchasing OpenCrypt.

    Register.cgi

    Documentation relating to frontend script, register.cgi

    Statistics

    A guide and information relating to the OpenCrypt statistics system.

    User Management

    Information and documentation regarding the 'User Management' section of the administration panel.


    [Top]

    Administrators: Administration Panel Access Levels

    Please note, 'Access Level 1' is the 'highest' and 'Access Level 5' the 'lowest'.

     


    Level 1 Level 2 Level 3 Level 4 Level 5
    Browse Admininistration Panel
    User Management1.

    Statistics


    Configuration



    Communicate2.

    Database Management



    Administrators3.



    Other Functions4.

    1. 'Access Level 4' is required to list all accounts and view individual accounts details, all other 'User Management' functions require 'Access Level 3' or above (i.e. Level 1 or 2).

    2. To use the 'Communicate' section of the administration panel, an administrator must have access 'Level 3' or above (i.e. Level 1 or 2). Additionally, to submit a member's area announcement an administrator must have a 'Communicate Level' set to 'Full Access' or 'Personal Communicator Only' and to submit an email announcement an administrator must has a 'Communicate Level' set to 'Full Access' or 'Mailing List Only'.

    3. Any administrator may modify their own account details, 'Level 1' access is required to add a new administrator, to modify access levels or to modify another administrators account. To submit an administration panel announcement an administrator needs 'Access Level 4' or above.

    4. 'Other Functions' include the 'System Details' option and 'My Member's Area(s)' links.

    Any administrator can view the main menu system, using the actual functions is restricted.

     


    [Top]

    Administrators: Manage Administrators

    The Manage Administrators section of the OpenCrypt Administration panel enables you to setup and modify administrator accounts.


    To add a new administrator:

    Username: Allows you to enter the username of the new administrator.

    Password: Allows you to enter the password for the new administrator.

    Email Address: Allows you to enter the contact email address for the new administrator.

    Full Name: Allows you to enter the full name of the new administrator.

    Extra Field: Allows you to store text of your choice against the administrator record, for example a URL or job description.

    Access Level: Allows you to choose which access rights your new administrator has.

    Communication Level: Allows you to choose which rights your new administrator has to send outbound messages.


    To modify an account select the radio button of the account you wish to modify and press the 'Modify' button.

    To remove an account select the radio button of the account you wish to remove and press the 'Remove' button.


    [Top]

    Administrators: Post Administrator Announcement

    The Post Administrator Announcement section of the OpenCrypt Administration panel enables you to send announcements to other administrators which will be displayed in the main page of the administration panel.

    Subject: Enter the subject for your administrator announcement here.

    Message Body: Enter the text for your administrator announcement here.


    To post your announcement click the 'Post Announcement' button.


    [Top]

    Communicate: Communicate

    Send Newsletter: Allows you to control newsletters and mailing lists, and contact your users by e-mail.

    Send to All Users: Allows you to submit an e-mail newsletter to all of your users.

    Send to All Active Users: Allows you to submit an e-mail newsletter to all users with active accounts.

    Send to All Inactive Users: Allows you to submit an e-mail newsletter to all users with inactive accounts.

    Send to a Specific Mailing List: Allows you to submit an e-mail newsletter to all users that are members of a specific mailing list.

    Send to a Specific Subscription: Allows you to send an e-mail newsletter to all users that are members of a specific subscription group.

    Submit Member's Area Announcement: Allows you to send an announcement to be included in specific member's areas using the announcement.cgi or .php scripts.


    [Top]

    Communicate: Communicate

    The Communication section of the OpenCrypt Administration panel provides quick access to all the major OpenCrypt communication tools.


    The Helpdesk section will be enabled if you have the Helpdesk Add-On installed.

    Helpdesk: Takes you to the main Helpdesk panel, if the Helpdesk Add-On is installed.

    New Ticket: Allows you to send a new helpdesk ticket to a user, if the Helpdesk Add-On is installed.


    The User Messaging section will be enabled if you have the User Messaging Add-On installed.

    View Messages: allows you to view all the messages sent between users if you have the User Messaging Add-On installed. You may also delete messages from here.


    Manage Announcements/Articles allows you to view and edit announcements made to specific members areas.

    Post Member's Area Announcement: allows you to post a new announcement to specific member's areas.

    Manage Articles/Announcements: allows you to view all current and previously submitted announcements, and modify and remove any announcements as necessary.


    Send Newsletter allows you to control newsletters and mailing lists, and contact your users by e-mail.

    Send to All Users: allows you to submit an e-mail newsletter to all of your users.

    Send to All Active Users: allows you to submit an e-mail newsletter to all users with Active accounts.

    Send to All Inactive Users: allows you to submit an e-mail newsletter to all users with Inactive accounts.

    Send to a Specific Mailing List: allows you to submit an e-mail newsletter to all users that are members of a specific mailing list.

    Send to a Specific Subscription: allows you to send an e-mail newsletter to all users that are members of a specific subscription group.


    [Top]

    Communicate: Modify Announcement

    The Manage Announcement section of the OpenCrypt Administration panel enables you to view, modify and remove previous announcements, both member's area and administrator announcements.

    To View an Announcement select the radio button of the announcement you wish to view, and then click the 'View' button.

    To Modify an Announcement select the radio button of the announcement you wish to modify, and then click the 'Modify' button.

    To Remove an Announcement select the radio button of the announcement you wish to remove, and click the 'Remove' button.


    [Top]

    Communicate: OpenCrypt Helpdesk Add-On

    The Helpdesk overview provides the complete view of all the helpdesk tickets that have been raised by your users if you have the OpenCrypt Helpdesk Add-On installed.


    The search section of the Helpdesk allows you to search and filter your tickets to help you manage your helpdesk efficiently, it consists of the following options:

    Search Keyword: Enables you search the helpdesk system for all tickets containing the keywords entered here. For wildcard searches use %, e.g. 'jo%' would return results for 'joe' and 'john'.

    Search Field: Allows you to choose which part of the ticket(s) you wish to search. Current options are Message, All, Subject, Name, Email, Ticket ID, Unique Identifier, Date Opened and Date Updated. When searching 'All' the messages are not searched to improve efficiency.

    Ticket Status: Allows you to filter tickets by status, options are All, Pending, Responded, Open and Closed. Pending status indicates a new ticket which has not be answered, responded indicates an admin has replied, open indicates the user has replied to the admin's response, closed indicates the ticket does not require further attention.

    Department: Allows you to filter by the department the ticket was sent to, for example Sales or Support. Departments are set in the helpdesk-new.tmpl PHP template file.

    Ticket Operator: Allows you to filter the helpdesk by the operator that is handling the ticket, for example if you have more than one administrator.

    To Search for the Tickets enter the options you require and then press the 'Search Tickets' button.


    The Ticket list section provides a list of all appropriate helpdesk tickets in an ordered list, the default is to order them by the date and time of last update.

    To change the sort order of the ticket list: Click the column header that you wish to sort by, clicking again changes between ascending and descending order.

    The columns in the ticket list are: Ticket ID, User (that the ticket is from), Subject (of ticket), Department, Operator, Status, Date Opened and Date Updated.


    To View a Ticket either click the ticket subject, or select the radio button of the ticket you wish to view and click the 'View' button at the bottom of the ticket list.

    To Remove a Ticket select the radio button of the ticket you wish to remove, and click the 'Remove' button at the bottom of the ticket list.

    To Create a New Ticket click the 'New Ticket' button at the bottom of the ticket list, or click the shortcut in the Helpdesk navigation bar.


    [Top]

    Communicate: OpenCrypt Helpdesk Add-On: Answer Library

    The Helpdesk Ticket Answer Library allows you to save a set of pre-defined responses to basic ticket queries.

    Category: Allows you choose a category to pick your answer from.

    Add Category: Allows you to add a new category, enter the category name and press the 'Add Category' button.

    Answer: Allows you to choose which answer you wish you user.

    Add Answer: Allows you to add a new answer. Choose the category you'd like the answer to be in, choose a meaningful name, enter the answer details and then press the 'Add Answer' button.


    [Top]

    Communicate: OpenCrypt Helpdesk Add-On: View Ticket

    The Helpdesk ticket view provides the complete view of the chosen helpdesk ticket, along with relevant details from the appropriate user's account.


    The header section shows the basic ticket details, including:.

    Operator: Current administrator handling the ticket.

    User: The user that submitted the ticket.

    Ticket Opened: The date and time the ticket was created.

    Ticket Updated: The last time the ticket was updated.

    Ticket Status: The current status of the ticket.

    Department: The department the ticket was sent to.

    Unique Identifier: Each ticket has a unique identifier which can be searched.

    Username: The username of the user submitting the ticket.


    The ticket body section shows the content of all discussions listed in chronological order, with the newest posts at the bottom of the ticket body.


    The 'Reply to Ticket' section allows you to respond to the ticket using either plain text or the WYSIWYG editor, and includes the following fields:

    Answer Library: allows you to create a library of default ticket answers, which can be categorised for handling default requests. Selecting an answer from this library will place the text in the ticket reply.

    Ticket Status: allows you to change the ticket status with your reply. This defaults to 'Responded' but can be changed to 'Open' or 'Closed'.

    Attachments: Attachments can be included with each ticket, to add an attachment, simply click 'Browse'. If you wish to add more attachments, press the 'Another Attachment' button.

     

    To Preview your message click the 'Preview' button.

    To Send your message click the 'Send' button.

    To Remove the ticket click the 'Remove' button.


    The Associated Tickets section provides a list of all the other tickets from the same user. If there is more than the current ticket, you can look at all the associated tickets by clicking the ticket subject. Tickets are associated by username and/or email address.


    The Account Details section provides an overview of all the account details for the user that raised the ticket, including:

    Username: Displays the username, and if you are using the OpenCrypt IP Location feature, which country they are from. Clicking their username will display their full account details.

    Email Address: Displays the main email address associated with the users account.

    Full Name: Displays the full name of the user associated with the ticket.

    Subscription: Displays the subscription associated with the user that raised the ticket.

    Account Opened: Displays the date that the user's account was created.

    Account Expired: Displays the date that the user's account expired.

    Account Status: Displays the current status of the account, for example whether the account is active.


    The Account Statistics section provides an overview of the main statistics for the account of the user submitting the ticket, including:

    Fontend Accesses: Displays how many times this user has accessed the front-end section of your OpenCrypt protected site. Clicking on this link will take you to the main statistics page filtered by this user record.

    Member's Area Accesses: Displays how many times this user has logged into any of your member's areas.

    Failed Logins: Displays how many incorrect attempts this user has made at logging in to your member's areas.

    Total Revenue: Displays the total amount of revenue associated with the user that raised the ticket. Clicking on this link will take you to the main revenue statistics page, filtered to show the individual records relating to this user.

    Associated Accesses: Displays the total amount of accesses related to the user, this calculation is based on the user's IP addresses so is not 100% accurate. Essentially, the system counts how many accesses have been made by the IP addresses the user has used to login. This number gives an indications as to how many pages the user has viewed when not logged in.


    The Products Purchased section provides details of all of the products purchased by the user since they became a member.


    The Internal Notes section enables administrators to leave notes for other administrators, note that the user cannot see these notes, but note that they may be requested by the user in those countries in which Data Protection laws apply such as the UK and US.

    The main notes field can be changed and updated as required.

    To update the notes press the 'Update Notes' button.


    [Top]

    Communicate: Post Announcement

    The OpenCrypt administration panel offers a variety of methods for contacting your users. One of these methods is the announcement system, which can be used to post announcements directly into your member's areas.

    Member's Area: Allows you to choose which member's area to submit the announcement to.

    Subject - This field specifies the subject of the announcement.

    Body - Please input your message/announcement here. You can include individual user details using the usual tags. e.g. %username%, %email%, %fname%, %lname%, %date_opened%, %date_expire%. Feel free to use HTML code.

    Once done, select 'Submit Announcement' and the announcement will be sent/published/saved. A confirmation page should follow. Note, the annoucements.cgi or announcements.php scripts should be used to display the announcements.


    [Top]

    Communicate: Submit Newsletter

    The OpenCrypt administration panel offers a variety of methods for contacting your users. One of these methods is the mass mailing system which can be used to email all your users, or selected subscription or mailing list groups depending upon your system configuration.

    At the top of the 'Submit Newsletter' form you should see firstly, a 'To' field which should show how many users will receive the mailing. Secondly is the 'From' field which will show your administration panel account details. If you would like to modify these details, select the 'Change' link.

    Messaging Method - This field specifies the method for sending the announcement. Currently only Email is supported

    Subject - This field specifies the subject of the newsletter.

    Body - Please input your message/newsletter here. You can include individual user details using the usual tags. e.g. %username%, %email%, %fname%, %lname%, %date_opened%, %date_expire%. Feel free to use HTML code in your message body.

    Attachments - If you would like to attach a file to this message, please select 'Browse' and locate the file on your local system.

    Message Format - If 'User Preference' is selected, the newsletter will be sent in the users preferred format which they can choose in the 'User Account Manager'. Alternatively select 'HTML' or 'Text' as applicable..

    Stagger Mailing List Results - This function is used when sending large mailings. You will find when trying to email for example, 10,000 emails in one go that the OpenCrypt system will not complete correctly. All the emails are usually sent successfully but it is simply a browser time-out issue. To avoid this and to reduce demand on your web server you can choose to send X emails at once. The system will continually produce a success response page every X messages and will continue automatically until all the applicable users have been emailed. We recommend setting to '500' or '1000'.

    Archive Announcement - If selected, the newsletter will be stored in the announcements database so it can be viewed online via your member's area(s).

    Once done, select 'Send Newsletter' and the newsletter will be sent/published/saved. A confirmation page should follow providing the system doesn't time-out.


    [Top]

    Communicate: User Messaging

    The User Messaging section of the OpenCrypt administration panel allows you to view all messages sent by your users when using the User Messaging Add-On.

    Recipient and Sender fields allow you to see where each message has originated from, and is going to. If you have the OpenCrypt IP Location feature enabled, the country of origin will also be displayed.

    Subject: The subject of the message is displayed, clicking the subject will show the full message details.

    Status: shows whether the message is read, unread, or replied to. The date field shows the date that the message was created.

    Radio Button: To the right of the message there is a radio button which allows you to select a message for removal from the system.

    To remove a message: Select its radio button, and then click the 'Remove Message' button at the bottom of the page. Alternatively, open the message from the Subject, and click the 'Remove' button.


    [Top]

    Communicate: Where are the newsletters located within the member's area to enable visitors to see the newsletters online?

    To display annoucements published via the 'Communicate' section of the administration panel you will need to call the 'announcements.cgi' script via SSI into your member's area HTML file.

    To call announcements.cgi into your member's area HTML content, simply place the following tag anywhere in your member's area HTML. It is important that you update the relative url to announcements.cgi as applicable. For instance, if you have installed OpenCrypt in a /oc/ directory in your /cgi-bin/, it is important to adjust the tag to /cgi-bin/oc/announcements.cgi.

    <!--#include virtual="/cgi-bin/announcements.cgi"-->


    You must use a relative url. e.g. /dir/dir/announcements.cgi or /cgi-bin/oc/announcements.cgi, not a full path or URL. You may find that you need to use the extension .shtml rather than .html to use SSI tags in your html. If you're not sure, contact your system administrator or have a look at your web host's FAQ page, most good web host's have them.

    If problem persist, contact your system administrator to verify SSI is enabled.

    You may notice we no longer use 'exec cgi' tags and now use 'include virtual' SSI tags, this is so we can parse query string data to the announcements.cgi so we can manipulate the output received more conveniently.

    Member's Area ID Assignment, is used to organise your announcements so specific announcements can be displayed only in certain member's area directories. By using the query string ?a=ID and replacing ID with your member's area ID, the announcements displayed by announcements.cgi can be organised according to how they were submitted via the 'Communicate' section of the administration panel. You can find your member's area id in the 'Member's Area Manager' section of the administration panel 'Configuration' system.

    Example configuration for member's area ID, 3:

    <!--#include virtual="/cgi-bin/announcements.cgi?a=3"-->



    [Top]

    Configuration: Advanced Settings

    The Advanced Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for features such as anti-hack and the OpenCrypt Robot.


    There are five configuration sections in the Advanced Settings section:

    Anti-Hack Configuration: Allows you to set the thresholds governing the Anti-Hack system, for example how many failed logins each user is allowed before they are blocked.

    Banning Tools: Allows you to define specific blocking requirements, for example IP blocks, domains, email domains etc.

    Database Integration: Allows you to configure OpenCrypt to write to additional databases, for example management information systems, accounting systems, and forum databases.

    Payment Methods, Shipping and Tax: Allows you to define custom rates for shipping products to different countries or by different methods.

    OpenCrypt Robot: Allows you to define parameters for the robot, for example user management and reporting tasks.


    [Top]

    Configuration: Anti-Hack Settings

    The Anti-Hack section of the OpenCrypt Administration Panel enables you to set the default settings for the protection offered by the Anti-Hack system.


    Admin Panel Values controls the anti-hack settings of the OpenCrypt Administration Panel

    Failed Logins Monitor: Allows you to set how many failed logins are required before a user account is monitored.

    Failed Logins Block: Allows you to set how many failed logins are required before a user account is blocked from accessing the Administration Panel.

    Failed Logins Block Time: Allows you to set how many days a user is blocked for, before they can attempt login again.


    OpenCrypt Interface Values control the anti-hack settings of the frontend and user interfaces.

    Failed Logins Monitor: Allows you to set how many failed logins are required before a user account is monitored. This feature only applies to the pop-up login prompt, not the PHP login interface.

    Failed Logins Block: Allows you to set how many failed logins are required before a user account is blocked from accessing the frontend.

    Failed Logins Block Time: Allows you to set how many days a user is blocked for, before they can attempt login again.

    Concurrent User Logins: Allows you to define how many simultaneous times a user is allows to login, for example they could be logged in on three computers at the same time. This feature only applies to the pop-up login prompt, not the PHP login interface which only allows one login per account at any time.

    Concurrent IP Logins: Allows you to define how many simultaneous logins a specific IP address is allowed.

    Abuse Time Frame: Allows you to define the time period that concurrency settings are applied for.

    Max Threshold Met: Allows you to choose whether the user is monitored or blocked if they exceed the concurrency settings.

    Download Flood Minutes: Allows you to define the number of minutes that flood control applies to.

    Download Flood Control: Allows you to define the maximum number of downloads allowed site-wide in a period of minutes as set above.

    To save your changes click the 'Update Configuration' button.


    [Top]

    Configuration: Banning Tools

    The 'Banning Tools' interface allows you to block individual, or whole groups of visitors from using the OpenCrypt system. This will stop them from accessing the OpenCrypt CGI/Perl files and all member's area content and depending on your configuration, it can also be set to ban them from your entire web site.



    Currently Banned: This is simply a list of all current criteria that has been set to identify unwanted visitors. To modify/remove a record, simply select the checkbox next to the specific record and select either 'Modify' or 'Remove'.

    Add Banned Details/Criteria:

    Domain Name: This will prevent registrations from this url being accepted and will prevent any user with an email address at this domain from registering. It will also generally limit any access from referring urls containing this domain name. Please do not include the 'http://' or 'www.' prefix. e.g. 'opencrypt.com'.

    IP Address: This will prevent any user with a matching IP address from accessing the OpenCrypt system. For example, you can block a single user by entering the full IP address, '255.255.255.255' or you can use 'wildcards' to block entire groups, e.g. '255.255.255.*'

    Username: This will prevent this username being used during registration, for example to prevent people from registering certain usernames, e.g. admin, support or other more explicit examples. If the account exists already, it will prevent them from logging in or accessing the OpenCrypt system.

    Email Address: This will prevent anyone registering with this email address or using it in a custom form field. You may enter a full email address (e.g. 'support@opencrypt.com') or you can enter just a domain to block, therefore allowing an entire domain group of email addresses to be blocked. To do this, enter '*@opencrypt.com'. The star acts as a wildcard, but can only be used before the @ sign. For example, if you wish to stop registrations from users with 'free' email accounts such as hotmail.com because they are commonly used by fraudsters, you can enter '*@hotmail.com'.

    Once you're finished, simply select 'Add Record' and the criteria will be added and will begin being monitored. You may notice further records being added if the OpenCrypt Robot decides it can associate other data.


    [Top]

    Configuration: Central Configuration

    The 'Central Configuration' menu is used to adjust your main system variables and options such as the location of important OpenCrypt files and mySQL database details.

    There are no constraints on this form, it requires you to enter sensible and valid inputs as you see appropriate.


    Outgoing Email Configuration
    These options specify how OpenCrypt should send outgoing emails.

    Outgoing Email Method, OpenCrypt needs to know how to send outgoing emails, please select whether you would like to send emails via Unix SendMail or SMTP using the appropriate checkbox. The appropriate fields will become active and the non-relevant fields will be disabled.

    Path to SendMail, please enter your path to Sendmail. This is used for sending outgoing emails, OpenCrypt can be configured to use SMTP email at a later point. If you are unsure what your path to SendMail is, contact your system administrator.

    For example:

    /usr/sbin/sendmail

    SMTP Address, please enter your SMTP address. This is usually smtp.yourdomain.com but may be the IP address of your server. Contact your system administrator if you are not sure.

    SMTP Timeout, please enter (in seconds) how long the software should attempt to connect to SMTP for before failing. 60 seconds in recommended.

    SMTP Username, if applicable please enter your username for the SMTP server.

    SMTP Password, if applicable please enter your password for the SMTP server.

    Outgoing Email Return Address, please enter the email address you would like to use as the sender address for all emails sent by OpenCrypt. When entering an email address, please insert a back slash before the at sign. e.g. email@domain.com


    System Owner Configuration
    These variables allow you to specify who owns your installation of OpenCrypt.

    Administrator's Name, this variable is used to specify the name of the system administrator. This name is shown at the end of outgoing emails after the 'Best Regards' and is used as the sender name for automated outgoing email.

    Administrator's Email Address, as above this variable is used to specify the email address used for automated outgoing email. When entering an email address, please insert a back slash before the at sign. e.g. email@domain.com

    Web Site Name, please enter the name of your web site which is displayed in the HTML title of the frontend script output's.

    Web Site URL, please enter the URL of your web site homepage which will be linked to in outgoing emails and will be used for instance, when a user does not accept the terms and conditions of membership.


    OpenCrypt System Configuration
    Various options relating to functions of the OpenCrypt system.

    HTACCESS Filename, if your server does not use .htaccess files, enter the name of the authentication file to use. Unix servers running the 'Apache Web Server' software should not need to modify this!

    HTML File Extension, when OpenCrypt generates HTML files, what file extension should they have? For instance, if you want to use SSI (Server Side Includes) you may wish to change this to 'shtml'.

    Unique Personal Directory/File, this option specifies how to generate unique personal pages (if enable in member's area configuration). Set to the name of the directory you would like to store unique personal pages/directories in.

    Path to Downloads, please enter the path to your download file directory as used by download.cgi and the 'Download Manager' in administration panel 'Configuration'. Please enter the full/absolute server path to your downloads directory, this can be any directory within your web hosting account and is used to hold your download files for download.cgi. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    URL to Downloads, please enter the URL to the above mentioned directory, this can be any directory within your web hosting account and is used to hold your download files for download.cgi. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    Defualt Language Module, to switch language modules/packs, enter your language code here. e.g. For French enter 'fr', for German enter 'de' etc... You will need to install the appropriate language module before you do this.

    Enable OpenCrypt Linkback, show your thanks and link back to OpenCrypt.com.

    Users per Page, this variable defines how many users/accounts to list on each page of the 'List All Accounts' function of the 'User Management' section of the administration panel.


    IP Location API Key
    Configuration of the IP Location feature that shows the countries of each IP address.

    IP Location API Key, if you have been given an API key by the OpenCrypt team it should be entered here to enable the IP location lookups.

    Cache Duration, controls how long the local cache of your IP locations is kept before it requests a new dataset from the OpenCrypt servers, for greater accuracy decrease the number of days, or to keep credit usage low, increase this amount. 30 days is the recommended interval.


    Database Configuration
    This section specifies variables relating to the mySQL database server.

    Database Host, please enter the address of the host of your database, assuming the database is held on the same system as OpenCrypt then you only need to enter, 'localhost'. Otherwise this is generally the IP address of the database server.

    For example:

    localhost

    Database Name, this is the name of your OpenCrypt system database, by default this would simply be 'opencrypt' unless you selected a different database name when setting it up. Your database must be configured in mySQL before installing OpenCrypt, if you are unsure how to do this, contact your system administrator for advice.

    Database Username, please enter the username you've setup for accessing this database, this is set in your mySQL database configuration.

    Database Password, please enter the password you've setup for accessing this database, this is set in your mySQL database configuration.


    Server Path Configuration
    These options relate to the location of important OpenCrypt files.

    Path to HTTP Docs, please enter the full/absolute server path to your HTTP Docs directory, this is the directory in which you wish to create your member's area directories. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    For example:

    /home/httpd/vhosts/yourdomain.com/httpdocs

    If you are not sure what this is, contact your system administrator.

    URL to HTTP Docs, please enter the full URL to your HTTP Docs directory, this is the directory in which you wish to create your member's area directories. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com

    Path to CGI-Bin, please enter the full/absolute server path to your cgi-bin directory, this is the directory in which you wish to create your OpenCrypt system files such as register.cgi and manage.cgi. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    For example:

    /home/httpd/vhosts/yourdomain.com/cgi-bin

    URL to CGI-Bin, please enter the full URL to your HTTP Docs directory, this is the directory in which you wish to create your OpenCrypt system files such as register.cgi and manage.cgi. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com/cgi-bin

    Path to Image Directory, please enter the full/absolute server path to your image directory, this is the directory in which OpenCrypt will store it's image files and temporarily create graph images. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash. If this directory does not exist, the installation software will attempt to create the directory and will then place the OpenCrypt images in the directory. Two directories will be created in the 'Images Directory', one called 'graphs' which is used to store the administration panel graph images and a second called 'xinha' which is used to store the WYSIWYG template editor software.

    For example:

    /home/httpd/vhosts/yourdomain.com/httpdocs/images

    URL to Image Directory, please enter the full URL to your image directory, this is the directory in which OpenCrypt will store it's image files and temporarily create graph images. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com/images


    Once you are done, please select 'Update Configuration'.


    [Top]

    Configuration: Configuration

    The Configuration section of the OpenCrypt Administration panel provides a central location for configuring OpenCrypt to suit your site.


    The System Settings section of the OpenCrypt Administration panel enables you to setup and change the major settings used to configure OpenCrypt.

    Central Configuration: Includes the settings of all the main paths used by OpenCrypt, the details of the OpenCrypt main Administrator, the settings used to connect to your database, links to the IP Location API, and the e-mail settings used for outgoin OpenCrypt mail.

    Register.cgi and Manage.cgi Configuration: Includes all the main settings for the user registration and account management process, including the configuration of the registration page, whether subscriptions are enabled, what the restrictions are on usernames and passwords, and settings for login cookies.

    Custom Form Fields Configuration: Allows you to add Custom Form Fields for collecting specific data in the registration process and OpenCrypt database. It also allows field groups to be defined to 'cluster' custom form fields together.

    E-Commerce Integration: Allows you to configure payment processing, default currencies, and to select which payment processors you wish to link with your site.

    Templates and Styles: Allows you to set default colours, fonts, table sizes, language groups, and to modify templates for the user-facing parts of OpenCrypt, such as the registration process and e-mails.


    The General Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for features such as Downloads and Mailing Lists.

    Download Manager: Allows you to define which downloads are available from specific member's areas, and which constraints are applied to these downloads

    Mailing Lists Manager: Allows you to define custom mailing lists for contacting specific groups of users with Newsletters.

    Member's Area Manager: Allows you to configure individual member's areas, including the paths to each area, and whether additional OpenCrypt policies are applied to these areas.

    Product Manager: Allows you to define the products which are available for purchase during the registration process, from the user account manager, and from the online shop.

    Product Categories Manager: Allows you to define categories for the products available in the online shop and during the registration process.

    Product Reviews Manager: Allows you to view, approve and deny any comments users have left for your products.

    Subscription Manager: Allows you to configure the different subscription types available to your users, including which member's areas they link to.


    The Advanced Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for features such as Anti-Hack and the OpenCrypt Robot.

    Anti-Hack Configuration: Allows you to set the thresholds governing the Anti-Hack system, for example how many failed logins each user is allowed before they are blocked.

    Banning Tools: Allows you to define specific blocking requirements, for example IP blocks, domains, email domains etc.

    Database Integration: Allows you to configure OpenCrypt to write to additional databases, for example Management Information systems, Accounting systems, and Forum databases.

    Payment Methods, Shipping and Tax: Allows you to define custom rates for shipping products to different countries or by different methods.

    OpenCrypt Robot: Allows you to define parameters for the robot, for example user management and reporting tasks.


    The Add-On Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for any installed Add-Ons.

    Advertising: Allows you to configure advertising for your users, yourself, or external advertisers.

    Affiliate System: Allows you to configure discounts and coupons for users and setup affiliates that can earn commission.

    Article Manager: Allows you to configure article content and news stories.

    Classified Ads: Allows you to define a system when users can post classified advertisements.

    eDelivery Systemt: Allows you to define a system that e-mails files to your members at specific intervals.

    FAQ Manager: Allows you setup and manage frequently asked questions, with user submissions and revisions if desired.

    File Sharing: Allows you to configure a system that allows your users to share files between each other.

    Jobs Manager: Allows you to list jobs either for yourself or on behalf of other companies.

    Shop/Picture Gallery: Allows you to define a full shopping solution for OpenCrypt.

    Surveys/Input Forms: Allows you to define surveys for your users to complete.


    [Top]

    Configuration: Custom Form Fields

    The 'Custom Form Fields' interface allows you to manage and organise the data inputs required when a new user attempts to register an account via the online registration system. The OpenCrypt system supports unlimited1 form fields of any type organised into an unlimited number of groups/categories.



    Before you can add a custom field, you must add a field group.

    To add a new field group, simply select the 'Add Group' button at the top of the 'Custom Form Fields' page. When selected, a short form will appear requesting the following inputs;

    Group Name:* When adding custom form fields, all fields must be assigned to a group to help organise data inputs and simplify the process for your visitors. The group name can be anything you like, for example 'Personal Information' or 'Employment Details' etc...

    Group Explanation:* This is merely a short piece of text to explain what data will be requested in this section of the form. For example, group name 'Employment Details' may have an explanation of 'The following inputs request data regarding your current employment status.'

    Order ID: This field allows you to control the order of your form groups. Whichever group has the lowest number will appear first in the form, and the group with the highest number will be shown at the bottom of the form.

    Once you have completed the form, please select 'Create Group'. You will then be shown a confirmation screen to confirm your group has been added successfully. You may now proceed to add a form field.

    To add a new form field, simply select the 'Add Field' button at the top of the 'Custom Form Fields' page. When selected, a form will appear requesting the following inputs;

    Field Group:* When adding a custom form field, you must assign the field to a form group. To do this, simply click on the drop down menu and select the group for this field.

    Field Name:* This field allows you to set the field's name, for example 'Your Occupation' or 'Web Site Address'.

    Field Explanation:* This is simply a short piece of text to explain to the visitor what data is required in this field, it's a good idea to give a short note to explain any data restrictions. For example, field name 'Web Site Address' may have an explanation of 'Please enter the address of your web site, all addresses must begin with http://'

    Field Error Message:* If a user fails to complete the form field correctly, an error message will be displayed to explain to them that they cannot proceed without completing the form field correctly. Obviously, if the field is not required and has no constraints then it is unlikely this message will appear. An example, field name 'Web Site Address' may have an error message of 'Either you failed to enter your web site address or it has been inputted incorrectly. All URLs must begin with http://'

    Field Type:* OpenCrypt offers support for the following HTML form field types; textbox, drop-menu, radio button, checkbox, password and textarea. To select your desired field type, simply click on the drop down menu and select the group for this field. For further information about field types, please see, http://www.w3.org/TR/REC-html40/interact/forms.html

    Field Size: This field allows you to specify the size of the input field. How this is used is dependant upon the visitors web browser. For instance, Microsoft Internet Explorer tends to exaggerate the size of fields a great deal more than Mozilla Firefox for example. We recommended for a standard text input entering around '20' to '25'. If your field type is set to 'Textarea', you must specify the height and width of the field. Do this by entering the size in form COLSxROWS, for example, '20x5'. If your field type is set to 'Dropmenu', the size will allow you to change the field from a dropmenu to a listbox. If your field type is set to 'Radio' or 'Checkbox' is is recommended you do not set a size, though doing so will have no effect.

    Field Validation: The following preset options for field validation are offered, these automatically check data inputs to ensure they match a correct form/format. For instance, if you want someone to enter their date of birth you may require the date in the specific format, DAY/MONTH/YEAR which OpenCrypt can ensure is entered correctly before registration is finalised.

      Alphanumeric, this option only allows inputs that contain solely characters and numbers. The specific range allowed is, a to z, A to Z and 0 to 9. Not much good for foreign language inputs but very useful for serial number inputs for example.
      Integer, this options allows only numeric inputs. Only the number 0 to 9, very useful for entering age, phone numbers or ZIP code.
      Email Address, this will ensure inputs are valid email address, however it will not send a validation email to ensure it is an active email address.
      URL, this option only allows inputs that are valid urls. URLs must begin with http:// and must be in a valid form according to W3 standards.
      UK Date, this will ensure the input is in the form of a UK format date, e.g. DAY/MONTH/YEAR, 30/12/2000.
      US Date, this will ensure the input is in the form of a US format date, e.g. MONTH/DAY/YEAR, 12/30/2000.
      UK Postcode, this option will ensure the input is a valid United Kingdom postal code. e.g. X0 0XX, XX0 0XX, XX00 0XX.

    A clever of example of the field validation system can be seen if adding a United States ZIP code. The recommended method is to set the field validation to 'Integer' with the input length restraints (explained below) set to min '4', max '6'.

    Required: This option specifies whether or not an input in this field is required or not. If the checkbox is ticked, visitors will be forced to enter an input to proceed with registration.

    Hidden: This option allows you to specify whether or not the field is hidden after initial registration. This will not hide the field in the registration form, it will still appear so the visitor will be able to input, however after that initial input it will not be seen again and the user will not be able to view it again. Useful is entering serial numbers for example.

    Edit: This option allows you to disable modification of the data input after the user has made their initial input. This means, once the data is entered the user will not be able to modify it. Again, useful for serial numbers for example.

    Search: If selected, this option enables the field to be searched by your visitors in the member's area search tool. If not selected, user will not be able to search the field, this does not effect the administration panel search tool.

    Note, all the above do not effect the administration panel functions, they only effect your visitors control and view of the field input.

    Hide from Subscriptions: This allows you to hide certain Custom Form Fields based on the subscription type the new user has selected. For example, you could only show a Custom Form Field to those users who were part of subscriptions 1 and 2 only. Please note, the subscription selection must be made before the Custom Form Fields are displayed for this to work correctly.

    Input Length: This field very simply allows you to limit the character length of the field input. For instance, if entering a name, you know the input must be greater than 2 characters and you may wish to limit the length of an input to 255 characters. To disable this feature, simply leave the field blank.

    Field Values: If adding a field of type, 'Dropmenu', 'Checkbox' or 'Radio' you are given the option to add up to 10 pre-set values. Simply enter your values as desired, if for instance you only use the first four, simply leave the following six value fields empty/null.

    Once the form is completed, simply select 'Create Field' to add the custom form field.

    To modify or remove a field or field group, simply browse to the 'Custom Form Fields' interface and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed. * = Requires Data Input'
    1 = Technically OpenCrypt supports unlimited form fields, but the software is advertised as supporting 50 fields. No limit exists, it's a case of testing with more...


    [Top]

    Configuration: Database Integration

    The Database Integration section of the OpenCrypt Administration Panel enables you to trigger queries on another database when a new user account is added to the OpenCrypt system.


    Integrating a new database

    ID Name Allows you to define a memorable name for your integration record.

    Query/Database Type: Allows you to choose whether the database to be connected to is Text-based or powered by MySQL.


    MySQL Query: Allows you to enter the full MySQL query to be applied to your integrated database. See the link below for available OpenCrypt data import tags.

    MySQL DB Host: Allows you to define the Hostname for the database to connect to.

    MySQL DB Name: Allows you to define the name of the database you wish to connect to.

    MySQL DB Username: Allows you to define the username used to connect to the database.

    MySQL DB Password: Allows you to define the password used to connect to the datamase.


    Text Data String: Allows you to define the format and data string that you wish to be inserted into your text database. See the link below for available OpenCrypt data import tags.

    Text DB Location: Allows you to define the full/absolute path to the text database you wish to modify.

    To save your changes click the 'Update' button.

    To modify or remove a Database Integration Record, simply select the radio button of the record you require, and then press either the 'Modify' or 'Remove' buttons.


    [Top]

    Configuration: Database Integration - Data Import Tags

    You following tags may be used in your database integration queries to import data from the database.

    %email% - Email Address
    %fname% - First Name
    %lname% - Last Name
    %sub_id% - Subscription ID

    %username% - Username
    %password% - Unencrypted password (only available if admin or email validation not active)
    %clean_password% - Unencrypted password (available if admin or email validation if $db_integration_password (at top of fronend_subs.pl) equals 1)

    %crypt_password% - Perl Crypt Password (Salt is 'oc')
    %md5_password% - MD5 Password
    %md5_password_hex% - MD5 Hex Password
    %md5_password_base64% - MD5 Base 64 Password
    %cps_password% - Perl Crypt Password (Salt is username)


    [Top]

    Configuration: Downloads Manager

    The 'Downloads Manager' allows you to organise your download files so they can be tracker, monitored and/or limited by the member's area download system, download.cgi.

    Organising your files is easy, firstly all your downloads should be placed in the central downloads directory. The location of this directory is shown in the explanation cell under the 'Filename' input field. You can modify this path in the 'Central Configuration' section of the administration panel.

     



    To add a new file, simply upload it to your central downloads directory as you would upload your normal web site content, then enter the appropriate data into the 'Add Download File' form.

    Filename:* The actual filename of the download file, this is case-sensitive. e.g. opencryptv1_0.zip

    Display Name:* The filename you want the member's area download system to display. e.g. OpenCrypt v1.0

    Notes:* Any notes about the download file that you want the member's area download system to display. e.g. This is the OpenCrypt v1.0 ZIP file, software and documentation included.

    Secure Download: allows you to restrict downloads to any appropriate subscriptions that you have configured, thereby only allowing access for certain groups of users.

    Username: allows you to restrict downloads just to a specific user. To do this, enter their username in this field.

    Category: is only supported if using download.php rather than download.cgi and allows files to be grouped by any categories you require. To group your downloads, when loading download.php add the query string ?c=CATEGORYCODE.

    Download Limit: This allows you to set how many times the file can be downloaded, i.e. the total number of downloads allowed. This does not set a downloads per user limit. e.g. 100

    Points: If you are using the points system and want to deduct points for downloading this file, please enter the cost in points. e.g. 10, would charge the user ten points

    Once you've completed the input form, simply click 'Add Download', if they're any errors with your input, the system will allow you to correct them beform causing problems within the system.

    To modify or remove a file, simply browse to the 'Active Downloads' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: E-Commerce Integration

    The E-Commerce integration allows you to configure the different payment processing options provided via OpenCrypt for your site.


    General Payment Information is where the payment system is enabled, and where default currency is set.

    Payment Processing Enabled: Allows you to enable and disable the payment processing features of OpenCrypt.

    Default Currency: Allows you to define the default currency for your site, currently the options are USD (US Dollars), GBP (British Pound Sterling), EUR (Euro), AUD (Australian Dollar), NZD (New Zealand Dollar) and CAD (Canadian Dollar)


    Secure Server Configuration is where options relating to using secure pages for payment details.

    SSL Payments Enabled: Allows you to enable and disable the use of an SSL/HTTPS page for payment details. Please note that this is not required when using PayPal or WorldPay as your payment processor.

    SSL Domain URL: Details of your HTTPS domain should be entered here, for example https://www.mysite.com instead of http://www.mysite.com.


    Payment Processor Information is where you can choose available payment processors, note you must have accounts with the appropriate processors to integrate with them.

    Payment Processor: Allows you to choose one or more payment processors from the available list.


    PayPal Configuration contains all the account configuration details if you are using PayPal as a payment processor.

    For sites using PayPal as their processor it is extremely important that you have enabled 'Instant Payment Notifications' in your PayPal options, and that the notification URL reflects your 'paypal_callback.cgi' file.

    PayPal Email Address: This must contain the details of your primary e-mail address registered with PayPal for payments.

    PayPal Return URL: This allows you to specify a page for your user to return to once payment is complete, if desired. We recommend that you create a custom HTML page to explain that users should check their e-mail for their account details.

    PayPal Image Button: Allows you to choose a button image to be used for 'Pay Now with PayPal' option on the purchase screen.

    PayPal Button Caption: Allows you to enter the ALT tag for the PayPal button.

    Payment Debug Mode: Enables a debugging mode which generates a dump of all transaction details. This is intended for use by OpenCrypt staff only.


    WorldPay Configuration contains all of the account configuration details if you are using WorldPay as a payment processor.

    For sites using WorldPay as their processor it is extremely important to ensure that 'Callback Enabled' is set within your WorldPay configuration, and that the Callback URL reflects your 'worldpay_callback.cgi' file.

    WorldPay Installation ID: This must contain the unique Installation ID provided to you by WorldPay.

    WorldPay Callback Password: Allows you to set a password for WorldPay to use on callback to enhance security.

    WorldPay Button Caption: Allows you to define the text used for the payment button.

    Payment Test Mode: Allows you to enable or disable WorldPay's test mode. When this option is enabled, transactions are processed, but no money actually changes hands during the payment stage.


    ProtX/SagePay Configuration contains all the account configuration details if you are using ProtX/SagePay as a payment processor.

    Vendor ID: This must contain details of the VendorID assigned to you by ProtX/SagePay.

    Payment Test Mode: Allows you to enable or disable ProtX/SagePay's test mode. When this option is enabled, transactions are processed, but no money actually changes hands during the payment stage.


    Authorize.Net Configuration contains all the account configuration details if you are using Authorize.Net as a payment processor.

    Authorize.Net User: This must contain details of the UserID assigned to you by Authorize.Net.

    Authorize.Net Key: This must contain the secret key assigned to you by Authorize.Net.

    AVS Enabled: Allows you to enable or disable Authorise.Net's anti-fraud checking systems.

    Payment Test Mode: Allows you to choose from Authorize.Net's test modes. Options are Test Mode Disabled (Live), Test Mode Enabled with Live URL and Test Mode Enabled with Test URL.


    Barclays ePDQ Configuration contains all the account configuration details if you are using Barclays ePDQ as a payment processor.

    ePDQ Client ID: This must contain details of the clientID assigned to you by Barclays.

    ePDQ Passphrase: This must contain details of the passphrase assigned to you by Barclays.


    PayPal PayFlow Link Configuration contains all the account configuration details if you are using PayPal PayFlow Link as a payment processor.

    Login ID: This must contain details of the PayFlow Link login ID assigned to you by PayPal.

    Partner: This must contain details of the Partner ID assigned to you by PayPal.


    Payoffshore Configuration contains all the account configuration details if you are using Payoffshore as a payment processor.

    Payoffshore Merchant ID: This must contain details of the Merchant ID assigned to you by Payoffshore.

    Payoffshore License ID: This must contain details of the License ID assigned to you by Payoffshore.

    Payment Test Mode: Allows you to enable or disable Payoffshore's test mode. When this option is enabled, transactions are processed, but no money actually changes hands during the payment stage.


    eWay Configuration contains all the account configuration details if you are using eWay as a payment processor.

    eWay Customer ID: This must contain details of the Customer ID assigned to you by eWay.

    Payment Test Mode: Allows you to enable or disable eWay's test mode. When this option is enabled, transactions are processed, but no money actually changes hands during the payment stage.

    Once you've completed the appropriate details, simply click 'Update Configuration'.


    [Top]

    Configuration: For an annual subscription that should renew once every 365 days, what is the correct entry for 'Repeat' under the 'Subscription Tiers' configuration section.

    The 'Repeat' option specifies how many times to repeat that subscription tier, before moving to the next. e.g. If subscription tier 1 has a duration of 10 days, a cost of $1 USD and a repeat of 3. The user will be required to pay $1 USD per 10 days of membership, this will repeat three times, e.g. Until the account has been open for 30 days and they have paid $3 USD. After the 30 days, when the account is renewed the next subscription tier will apply. If non exists, the account will be closed and cannot be renewed. Either, set your 'Repeat' to a high number, for annual subscriptions setting this to '10' or '20' is adequate as this will cover 10/20 years of usage. If the subscription tier is to be used indefinitely, then enter a very high number, e.g. '99'.


    [Top]

    Configuration: General Settings

    The General Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for features such as downloads and mailing lists.


    There are seven configuration sections in the General Settings section:

    Download Manager: Allows you to define which downloads are available from specific member's areas, and which constraints are applied to these downloads.

    Mailing Lists Manager: Allows you to define custom mailing lists for contacting specific groups of users with newsletters.

    Member's Area Manager: Allows you to configure individual member's areas, including the paths to each area, and whether additional OpenCrypt security policies are applied to these areas.

    Product Manager: Allows you to define the products which are available for purchase during the registration process, from the user account manager, and from the online shop.

    Product Categories Manager: Allows you to define categories for the products available in the online shop and during the registration process.

    Product Reviews Manager: Allows you to view, approve and deny any comments users have left for your products.

    Subscription Manager: Allows you to configure the different subscription types available to your users, including which member's areas they link to.


    [Top]

    Configuration: I want to edit my pages in HTML. How can do this?

    The pages provided by OpenCrypt are made out of a number of templates. To locate the different templates, go to your OpenCrypt administration panel and click on 'Templates and Styles' link under the 'Configuration' section. Select the template you wish to alter from the list next to 'Open Frontend Template'. Select the appropriate language group, and click 'Open Template'. You should now be able to see the template of your choice. To view and edit the html, you need to click on a little icon called ?Toggle HTML Source?. (The icon looks like a tiny blue page with one corner folded over). Once you have clicked on it, you should be able to see that template in HTML. Alternatively, on the previous page (where you selected which template to modify) you can select the 'Disable WYSIWYG' option, this will load the template source code, we advise you do this with the majority of the template files because the WYSIWYG editor can sometimes disrupt the HTML. For example, some template files may open an HTML table, but the table is closed in another template file. The WYSIWYG editor then considers this an HTML error and amends this, most of the time this does not occur and the WYSIWYG editor can be used problem free.

    You can alter the HTML to whatever you like then toggle icon again to see what it looks like. When you have finished altering that template, click on 'Save Template'.

    Tip: If you can only write basic HTML it is a good idea to copy and paste the original HTML to a word or notepad file and save it somewhere on your computer before you start to make changes. That way, if you accidentally delete a crucial piece of code, you can simply copy and paste the original back into the template and start again.

    Submitted with thanks to, L Betts.


    [Top]

    Configuration: I would like to offer a 30 day free trial followed by a paid annual membership subscription.

    Assuming you are using the PayPal payments integration, setup a subscription with 'Free Membership' and 'PayPal Subscriptions' enabled. Enable tiers 1 and 2, set the tier 1 duration as 30 and the repeat as 0. Then set the tier 2 duration as 365 and the repeat as 99.
     
    After the initial 30 days the account will expire and the user will be required to renew the account by setting up a PayPal payment subscription, once done all payments will be automated and no further action will be necessary.
     
    If using the Authorize.net, ProtX or WorldPay integration, the system will require the user return to renew the account and submit a new payment each time a payment is required.
     
    Barclays ePDQ integration supports automatic recurring payments, though certain constraints apply due to the design of their system.

    See membership software features


    [Top]

    Configuration: If I want users to be directed to different pages of my website after log in so they view content related to their subscription, is this something that would need programming? Or can this be configured without knowledge of PHP?

    Yes, this can be configured without knowledge of PHP.

    Either you could use the 'PHP Login Interface', and using a simple PHP if statement you can control what content is displayed. For example:

    <?PHP
    if ($dbsub_id=="1") { # If the user's subscription ID is 1.
    print "Content for subscription group 1.";
    } elseif ($dbsub_id=="2") {
    print "Content for subscription group 2.";
    }
    ?>

    If you do not wish to use PHP you can setup seperate member's area directories for each subscription group, if you do not want to setup multiple links to your member's areas then you can use the login.cgi tool which is located in the same directory as register.cgi. When loaded this will display a form requesting the user's username, upon completing the user is redirected to the appropriate member's area for their account and is required to login using the pop-up login interface.


    [Top]

    Configuration: Languages and Text

    OpenCrypt has an interface specifically for viewing the text elements that make up the frontend of the interface.


    The 'Languages and Text' section enables you to identify all of the text elements in use in the OpenCrypt frontend, and to asjust them and translate them as necessary.

    'Search Text Elements' allows you to search for specific text, either by the identifying tag shown in the templates, or by the current text content. The text content is searched using a partial match search.

    'List All Text Elements' displays all of the elements in use for each language set. Clicking on an element ID will open the element for editing.

    'List All Page Titles' displays all of the page titles in use for each language set. Clicking on a title ID will open the page title for editing.

    'List All Email Subjects' displays the subject lines of all the emails sent by the system for each language set. Clicking on the element ID will open it for editing.

    'Translate OpenCrypt' opens up a full language translation interface for the OpenCrypt system.


    [Top]

    Configuration: Mailing Lists Manager

    The 'Mailing Lists Manager' allows you to setup custom mailing lists which users can subscribe to seperately from their standard subscription mailing list. This allows you to for instance, use the subscription mailing list for important news, and setup a custom mailing list for your weekly mailings. By doing this, users who get anoyed with weekly emails don't miss out on the important news.



    To add a new mailing list, simply enter the appropriate data into the 'Add Custom Mailing List' form.

    List Name:* This is the title of your mailing list. e.g. OpenCrypt.com Mailing List

    List Description:* Please enter a description of the mailing list. e.g. OpenCrypt.com weekling news and information.

    HTML Header/Footer: If your users have chosen to receive mailings in HTML format, your message will be sent surrounded by these HTML headers and footers. The header should start with a tag and include all appropriate body and font tags. The footer should cancel all opened tags and end with .

    Text Header/Footer: If your users have chosen to receive mailings in Text format, your message will be sent surrounded by these headers and footers. No specific formatting is needed, these can be used to simply add a signature. Footer e.g. Thanks for choosing OpenCrypt.com, www.opencrypt.com

    If you don't enter any HTML headers or footers the system will send standard text messages only. If no text header or footer is entered, messages will send normally.

    All messages are sent with a link back to the OpenCrypt system so users may unsubscribe, this will be at the end of the email unless specified to appear elsewhere.

    Once you've completed the input form, simply click 'Add Mailing List', if they're any errors with your input, the system will allow you to correct them beform causing problems within the system.

    To modify or remove a mailing list, simply browse to the 'Active Mailing Lists' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: Member's Area Manager

    The 'Member's Area Manager' allows you to control all your member's areas/password protected directories. The OpenCrypt system supports unlimited member's area/individually password protected directories all of which can be linked to subscription types. e.g. Five member's areas, 1, 2, 3, 4 and 5. Three subscriptions, A, B and C.
    Subscription A gives access to member's area 1 and 2. Sub B gives access to 2, 3 and 4 and sub C gives access to all five.

    Note, if you are planning to use the 'PHP Login Interface', OpenCrypt still needs a member's area directory created. Simply create a 'dummy' directory anywhere on your web site, but set your 'URL to Member's Area' as the URL of your PHP login page or even your web site homepage. Users will not be aware of the 'dummy' member's area directory. If you are not using the 'PHP Login Interface', follow the instructions as normal.



    To add a new member's area, simply enter the appropriate data into the 'Add New Member's Area' form. Some inputs have been pre-entered, these are taken from your configuration and should be accurate.

    Member's Area Name:* This is the name of your member's area as displayed in welcome emails and to your users when browsing. e.g. my.OpenCrypt.com Member's Area

    Path to Member's Area Directory:* Please enter a full/absolute server path to the directory you wish to password protect. If you wish, create the directory and set to 755 or 777, if not OpenCrypt will attempt to create it for you. DO NOT enter a relative path or any enviromental variables, they will not work, it must be an absolute server path. e.g. /home/opencrypt.com/httpdocs/membersarea/

    URL to Member's Area:* Please enter a full url to the member's area directory you wish to password protect. This is not needed for creating the member's area, but is needed for informing users. It is recommended that you either end the url with a trailing slash or a filename and if your website is normally called with a www. prefix, it is important you include that also. DO NOT enter a relative url or any enviromental variables, they will not work, it must be an absolute server path. e.g. http://www.opencrypt.com/membersarea/

    Enable Anti-Hack Facilities: If you disable this, failed logins will not be recorded by the system and therefore OpenCrypt will not be aware of account abuse.

    Enable Personal Page Redirection: If you enable this, upon login to this member's area, users will automatically be redirected to a unique directory or file (depending upon your configuration). e.g. Username FRED logs in and is redirected to http://www.opencrypt.com/membersarea/FRED.html or http://www.opencrypt.com/membersarea/FRED/index.html

    Depending upon your configuration, these unique personal pages can be automatically generated from templates or manually uploaded.

    Once you've completed the input form, simply click 'Create Member's Area', if they're any errors with your input, the system will allow you to correct them beform causing problems within the system.

    To modify or remove a member's area, simply browse to the 'Active Member's Area' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: Payment Methods, Shipping and TAX Configuration

    The Payments, Shipping and Tax section allows you to configure the different methods of shipping and paying for goods purchased from your site.


    Note that for the examples on this page we will try and use real-world shipping values for clarity, you may use any values you require.


    Shipping/Delivery costs is where the main configuration for custom shipping is defined.

    Enable Shipping Costs: Allows you to enable and disable all of the shipping costs, based on constraints you define.

    Shipping Country Field: Allows you to choose the Custom Form Field used by OpenCrypt to define shipping country.

    Shipping State Field: Allows you to choose the Custom Form Field used by OpenCrypt to define the shipping state/county.

    Shipping Options: Allows you to enter the appropriate shipping options available to your customers, they should be entered in the format:

    "Ground", "2 Day Air", "Next Day Air"

    With no line returns or trailing commas.


    Shipping Zones Array: Allows you to choose a base shipping fee for each shipping option. This should be entered in the format:

    'Ground' => "0.5",
    '2 Day Air' => "1.00",
    'Next Day Air' => "2.00"

    Where the values are the appropriate costs for each shipping method.

    Shipping Options Weights Array: Allows you to choose an optional cost to be added to each shipping method for every unit of weight, for example, an item that weighs 3kg will add an additional 6 units of cost if sent by 2 Day Air, or 9 units of cost if sent by Next Day Air. This should be entered in the format:

    'Ground' => "1.00",
    '2 Day Air' => "2.00",
    'Next Day Air' => "3.00"


    Shipping Country Zones Array: Allows you to choose an optional multiplier value to be applied to the total shipping cost depending on the country being shipped to. The code below applies a multipier of 1 to the United States, a multiplier of 3 to Canada, and a multiplier of 10 to any other country. This should be entered in the format:

    '0 => "10",
    'United States' => "1",
    'Canada' => "3"


    Shipping State Zones Array: Allows you to choose an optional multiplier value to be applied to the total shipping cost depending on the state/county being shipped to. The code below shows how this should be configured for the states/counties in different countries. This should be entered in the format:

    'United States' => {
        '0' => "1.00",
        'AL' => "0.25",
        'AK' => "0.5"
    },
    'United Kingdom' => {
        '0' => "1.00",
        'Cornwall' => "1.50"
    }

    Please note placements of characters such as commas during and at the end of these arrays.


    Shipping Weight Unit: Allows you to define the standard weight format for each weight unit, for example Kg for kilogrammes, Lb for pounds.

    Free Shipping Amount: Allows you to define the amount at which shipping becomes free, for example £1000. To disable this feature, enter the amount as 0.



    Payment Methods is where the main configuration for multiple payment methods is defined.

    Enable Payment Methods: Allows you to turn on additional payment methods to OpenCrypt's standard payment processing.

    Payment Options: Allows you to define a list of additional payment methods, for example Cheque and Telephone payment. These should be entered in the format:

    "Cheque", "Telephone Payment"

    With no line returns or trailing commas. When payment options are added, additional templates will be added to the OpenCrypt system to reflect these. These templates in the example above be: process-payment-1 for Cheque, and process-payment-2 for Telephone Payment.
    If you are using multiple payment processors, these will be listed before any additional payment options specified here.


    TAX Costs is where the main configuration for any additional Tax payments is defined.

    Default TAX Percentage: Allows you to define a default cost for any taxes which must be applied to total payment costs. If the percentage is 15%, this should be entered as 0.15. If you wish to disable the default tax rate, enter as 0.

    TAX Description: Allows you to change the description of the tax at checkout. In the UK, for example, this would be VAT. If you wish to disable this, then please leave the field blank.

    Enable Custom Tax Constraints: Allows you to enable custom tax rules for different countries and/or states. This will override any Default TAX Percentage if set.

    TAX Country Field: Allows you to choose the Custom Form Field used by OpenCrypt to define the country for tax rules.

    TAX State Field: Allows you to choose the Custom Form Field used by OpenCrypt to define the state/county used for tax rules.

    TAX constraints Array: Allows you to define a custom Tax rate for any countries and states/counties which may have seperate tax rules. These should be entered in the format:

    'United States' => {
        'CA' => "0.175",
        'VA' => "0.175"
    },
    'United Kingdom' => {
        '0' => "0.15"
    }


    When you have finished defining shipping and tax rates, press the 'Update Configuration' button.


    [Top]

    Configuration: Product Categories Manager

    The 'Product Categories Manager' allows you to organise categories for products you wish to sell in your shop.


    To add a new category, simply enter the appropriate data into the 'Add New Product Category' form.

    Category Name:* This is the name of your category as it is displayed in your shop.

    Parent Category:* This allows you to choose which category the new category is added to, allowing you to create multiple levels of categories.

    Short Description:* This is the description that is displayed in the main section of the shop underneath the category heading. Please enter any important information that you wish to inform the customer of.

    Long Description: Use this section to expand on your category details.

    New Image: Allows you to upload an image to accompany the category title, for example a product from the range or manufacturers logo etc.

    Meta Description: Allows you to enter a description into the HTML Metadata for the categories shop page. This meta information is primarily crawled by search engines and allows them to identify your products individually.

    Keywords: Allows you to enter specific keywords related to your category, seperated with commas. This meta information is primarily crawled by search engines

    Custom Template: Allows you to choose a custom template, defined in the PHP Frontend section of the 'Templates and Styles' section of the OpenCrypt Administration Panel, to apply to this specific category. Please enter the name of the template to enable this feature.

    Hidden: Allows you to set whether this category is available from the shop navigation menu. Hidden categories can still be accessed in the Administration panel and with query strings, for example: http://www.yoursite.com/oc/shop.php?a=category&id=category_id where category_id is the ID assigned in the category manager.

    To modify or remove a category, simply browse to the 'Categories' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: Product Reviews Manager

    The 'Product Reviews Manager' allows you to organise the reviews generated by your users for each of your products. The online shop allows users to review products that they have purchased for other users to see.


    The product reviews manager is broken down into two main sections:

    Reviews Pending Approval allows you to view each review submitted, and approve or remove them depending on suitability. You may select multiple reviews at a time for approval or rejection using the check-buttons next to each review.

    To approve or remove a new review, click the appropriate 'Approve' or 'Remove' button at the bottom of the 'Reviews Pending Approval' section.

    Reviews displays all the current reviews which are being displayed on the site. You may remove existing reviews by selecting the appropriate checkboxes next to the reviews, and then pressing the 'Remove' button.

    As is usual in the OpenCrypt interface, clicking the username of the author of the review will take you to their user information page.


    [Top]

    Configuration: Products Manager

    The 'Products Manager' allows you to organise any products you wish to sell in your shop or alongside your OpenCrypt subscription purchases. The OpenCrypt system allows your users to choose to purchase products with a shopping cart system, or when purchasing a subscription. e.g. When selling a software license subscription, you can offer software installation as an additional product.

     


    To add a new product, simply enter the appropriate data into the 'Add New Product' form. Some inputs have been pre-entered, these are taken from your configuration and should be accurate.

    Product Name:* This is the name of your product as displayed in your shop and to your users when browsing/purchasing. e.g. OpenCrypt Installation Service

    Product Category:* This is the category which the product belongs in. Categories can be defined in the 'Product Categories' section of the OpenCrypt Administration Panel.

    Short Description:* This is the description that is displayed in the 'Categories' section of the shop, and underneath the product name in the User Account Manager and in the registration form. Please enter any important information that you wish to inform the customer of.

    Long Description:* This is the description that is displayed in the product details section in the shop. Use this section to expand on your product details.

    Cost:* Please enter the cost of the product in the default currency, do not include any currency symbols. e.g. 49.95

    Quantity Discount: Allows you to enter a discounted price for multiples of the same product, in the format for example: QTY,COST, e.g. 4,1.99. This feature is only available for items that will be included in the shop.  Enter one quantity discount cost per line.

    Video: Allows you to choose a video from the OpenCrypt Video Manager or to upload a video from your local computer (must be in .flv flash video format) to be displayed. This feature is only available for items that will be included in the shop.

    Video HTML: Allows you to embed video from other sites with your product as an alternative to one from the OpenCrypt system, for example from YouTube. This feature is only available for items that will be included in the shop.

    Image(s): Allows you to add multiple images to detail your product, these will be used in the shop, in the categories section to distinguish the product and all in the product listing itself. This feature is only available for items that will be included in the shop.

    Audio File: Allows you to upload an audio file that can be played when the product is viewed in the shop, for example a short audio description. This feature is only available for items that will be included in the shop.

    Meta Description: Allows you to enter a description into the HTML Metadata for the products shop page. This meta information is primarily crawled by search engines and allows them to identify your products individually. This feature is only available for items that will be included in the shop.

    Keywords: Allows you to enter specific keywords related to your product, seperated with commas. This meta information is primarily crawled by search engines. This feature is only available for items that will be included in the shop.

    Weight: Allows you to enter the weight of the product if applicable in the default weight unit. This enables OpenCrypt to calculate the shipping based on calculations defined in the 'Shipping and Tax' section of the OpenCrypt Administration Panel.

    Inventory: Allows you to enter the amount of products in stock. If inventory is not required enter a high number, e.g. 9999. The inventory will automatically decrease as products are purchased. This feature is only available for items that will be included in the shop.

    Custom Field 1-10: Allows you to enter custom values to accompany your products, for example: manufacturer etc. The layout of these fields is defined in the shop template. This feature is only available for items that will be included in the shop.

    Option Field 1-5: Allows you to choose custom options for each product, that you could use, for example: to enable custom sections of your shop template. This feature is only available for items that will be included in the shop.

    Related Products: Allows you to choose related products from the list of all products currently available, these will be displayed by default beneath your product listing, enabling users to vew related products at a glance. This feature is only available for items that will be included in the shop.

    Custom Template: Allows you to choose a custom template, defined in the PHP Frontend section of the 'Templates and Styles' section of the OpenCrypt Administration Panel, to apply to this specific product. Please enter the name of the template to enable this feature. This feature is only available for items that will be included in the shop.

    Shop Product: Allows you to set whether this product is available in the shop.

    Registration Form Product: Allows you to set whether this product is available in the Registration Form. Please note that sections marked 'available in shop only' above will not be available here.

    Account Manager Product: Allows you to set whether this product is available in the User Account Manager. Please note that sections marked 'available in shop only' above will not be available here.

    To modify or remove a product, simply browse to the 'Active Products' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: Register.cgi and Manage.cgi Configuration

    The Register.cgi and Manage.cgi section of the OpenCrypt Administration Panel enables you to set the default settings for the major parts of the user account interface.


    The options for the Register.cgi and Manage.cgi are as follows:

    Disable Register.cgi: Allows you to temporarily turn off new user registrations.

     

    Terms and Conditions: Allows you to set whether the Terms and Conditions are displayed before the main registration form, or as part of the main registration form.

    E-mail Activation: Allows you to choose whether a link is sent by e-mail for your user to confirm that they have a valid e-mail address, if enabled, any additional products will not be shown until after activation.

    Custom Form Fields: Allows you to choose whether Custom Form Fields are enabled for use in the registration form.

    Custom Field Placement: Allows you to choose whether Custom Form Fields appear during registration, or on activation (if using Custom Form Fields and E-mail Activation.)

    Enable Custom Usernames: Allows you to choose whether usernames are generated by OpenCrypt, Entered by user on registration or whether to use the users e-mail address as their username.

    Enable Custom Passwords: Allows you to choose whether the user can enter their own password, or whether this is generated automatically by OpenCrypt.

    Enable Name Title Input: Allows you to choose whether the title of a user is required during registration, for example Mr, Mrs, Miss etc.

    Enable Name Input: Allows you to choose whether the forename and surname of a user are required during the registration process.

     

    Subscription System: Allows you to choose whether different subscription options are available during the registration process. If you only have one subscription type, this can be disabled.

    Default Subscription ID: Allows you to define which of your available subscriptions should be used as the default in the registration process.

    Subscription Display Method: Allows you to choose whether the subscriptions available are displayed as radio buttons or in a drop-down menu in the registration form.

    Enable Subscription Changes: Allows you to choose if a user may change their subscription type when they renew their account.

     

    Register.cgi Direct Login: Allows you to choose if the user's login details are displayed after registration.

    Allow Duplicate E-Mail Addresses: Allows you to choose whether one e-mail address can be used to create multiple accounts.  Note, features like the lost password tool may not work correctly when entering the email address if the user has multiple accounts associated to the email address.

    Display Radio Field Format: Allows you to choose whether groups of radio buttons are displayed horizontally or vertically.

    Display Checkbox Field Format: Allows you to choose whether groups of checkboxes are displayed horizontally or vertically.

    Custom Form Field Options: Allows you to set the maximum number of options available for a custom form field, this can be decreased to improve performance if required, though note that a list of countries requires 270 entries.  Note, changes to the mySQL table oc_fields may be required if this value is increased.

    Username Length Restrictions: Allows you to define the minimum and maximum number of characters for a username.

    Password Length Restrictions: Allows you to define the minimum and maximum number of characters required for a password.

    Additional Products: Allows you to choose whether Additional Products (if configured) can be purchased as part of the registration process and in the user account manager.

    Points System: Allows you to choose whether the OpenCrypt points system is enabled for your site.

    Additional Points: Allows you to specify the cost (in your default currency) per point for additional points.

     

    Account Registration Notification: Allows you to specify whether or not the Administrator receives an e-mail notifying them of a new registration.

    Account Modification Notification: Allows you to specify whether or not the Administrator receives an e-mail notifying them of a change of user details.

    Search.cgi Display Email Addresses: Allows you to choose whether users e-mails are hidden or not when searching with search.cgi. This enables the addresses to be hidden for security reasons.

    Login Session Timeout: Allows you to choose a time in minutes before a user's login session is terminated.

    Login Cookie Name: Allows you to define the default name for cookies used to store that a user is logged in.

    Login Cookie Domain: Allows you to define the domain name that is used for cookies, leave blank for default.

    End User Delete: Allows you to choose whether user can completely remove their account, or whether this must be done by request to an Administrator.

    Checksum/Registration Entry: If e-mail activation is disabled, and Custom usernames and Passwords are enabled, allows the user to go back to the registration page and amend details for a short period of time (60 seconds) after submitting their form, without getting a User/Account Already Created message. For example if their payment was declined and they wished to change subscription type.


    To save your changes: click the 'Update Configuration' button.


    [Top]

    Configuration: Robot Configuration

    The OpenCrypt Robot configuration allows you to set up all the parameters for your site's automated processing.


    User Management

    End User Expiration Notification: Allows you to define the number of days before account expiration that a user will be notified that their account is due to expire.

    End User Inactivity Notification: Allows you to define the number of days a user's account has been inactive before they are notified that their account will be deleted.

    Un-Activated Notification: Allows you define the number of days after the date of registration that a user will be notified if their account has not been activated.

    Inactivity Deletion: Allows you to define the number of days a users account has been inactive before it will be removed from the system.


    Robot Reporting

    Robot Archive Days: Allows you to define the number of days that the Robot keeps archived reports for.

    Backup Archive Days: Allows you to define the number of days that the Robot keeps system backups for.

    Report Email format: Allows you to choose whether the Robot Reports are sent in HTML or Plaintext format.

    To save your changes click the 'Update Configuration' button.


    [Top]

    Configuration: Styles and Colours

    The stlyes and colours sections of the administration panel enables you to update the colours scheme and styles for your OpenCrypt installation.  The colour options use a colour picker enabling you to easily select custom colours. To access the colour picker, click in the appropriate field and the colour picker will appear. If your browser does not support this, you may enter the default Hex colour code, with or without the leading #

    The basic options for the Styles and Colours are as follows:

    Default Text Font: Allows you to change the default font used for all your templates, we suggest using a commonly available font such as Verdana, Arial or Tahoma.

    Default Font Size: Allows you to set the default font size for use throughout your templates.

    Default Font Note Size: Allows you to set the default font size for notes in your template files, for example a field description.

    Default Font Colour: Allows you to set the default colour for the main font used in your templates.

    Default Header Font: Allows you to define a different font for use in the header sections of your frontend templates.

    Default Header Font Size: Allows you to set a different font size for use throughout the header sections of your frontend templates.

    Default Header Font Colour: Allows you to set the default colour for the font used in the header sections of your frontend templates.

    Default Alert Font Colour: Allows you to set a different font colout for any alerts shown in your frontend templates.

    Default Alert Font Size: Allows you to set a different font size for use in any alerts shown in your frontend templates.

    Default Warning Font Colour: Allows you to set a different font colour for any warnings shown in your frontend templates.

    Default Warning Font Size: Allows you to set a different font size for use in any warnings shown in your frontend templates.

     

    Default Table Width: Allows you to define a default main table width for all of your templates.  You may enter a pixel or percentage value.

    Default Table Cell Padding: Allows you to define the size of the cell padding used for tables in your templates.

    Default Table Cell Spacing: Allows you to define the size of the cell spacing used for tables in your templates.

    Default Table Border: Allows you to define the size of the border used for tables in your templates.

    Default Table Header Colour: Allows you to define the colour used in the headers of tables in your templates.

    Default Table First Colour: Allows you to define the first colour in an alternating series of two for the rows of tables in your templates.

    Default Table Second Colour: Allows you to define the second colour in an alternating series of two for the rows of tables in your templates.

     

    Enable CSS Templates: When enabled, CSS will be applied to your frontend templates based on the configuration found in the 'base_template' and 'header' template files.

    Examples of CSS ID's used are:

    CSS Class: class_table_second_color, class_table_first_color, class_table_header_color, input, submit, select, textarea, payment_button
    CSS Span: span_font, span_font_note, span_font_warning, span_font_alert, span_font_header


    To save your changes: click the 'Update Settings' button.


    [Top]

    Configuration: Subscription Manager

    The 'Subscription Manager' allows you to control all your registration subscription types. The OpenCrypt system supports unlimited member's area/individually password protected directories all of which can be linked to these subscription types.

     



    Before you can add a new subscription, you must add a member's area via the 'Member's Area(s) Manager'.

    To add a new subscription,simply enter the appropriate data into the 'Add New Subscription' form. Some inputs have been pre-entered, these are taken from your configuration and should be accurate.

    Subscription Name:* This is the name of your subscription as displayed in welcome emails and to your users when browsing/registering. e.g. OpenCrypt Signle Site License

    Subscription Details:* Please enter a short explanantion of the subscription. It's good to include details of exactly what the user can expect with their purchase. e.g. One OpenCrypt single site lifetime usage license including one years free upgrades and technical support.

    Choose Member's Area(s):* This is where you choose which member's areas the user will get access to when registrering with this subscription type. You can select as many as you'd like. To make multiple selections select your first option, then press and hold the control (CTRL) key on your keyboard. Whilst holding, click and select the other member's areas as you wish. Once complete, release control and you're done. If your browser does not support this option, please contact support immediately.

    Choose Mailing List(s): These are your custom mailing lists as configured in the 'Mailng List Manager'. When a user registers, they join a subscription group, you the admin can then email this subscription group, but if you would like to have further mailing lists which your member's can subscribe and unsubscribe to seperately from the subscription group you can. This input selects which mailing lists users are automatically subscribed to when they join this subscription group. Select as with 'Choose Member's Area(s)'.

    Registration Approval: If you don't want any users gaining access to the member's area before an administrator has approved their registration, select 'Admin Validation'. This requires the administrator to approve the account in the administration panel before access is granted, recommended if it takes a little while for your online payments to clear. If you want free and instant access to the member's area, select 'Auto-Approve' and the OpenCrypt system will do what it can automatically to stop illegitimate registration.

    Free Membership: If this subscription type is free (no setup or monthly fee), select this option.

    Use PayPal Subscriptions: Allows you to use PayPal's 'Subscriptions' feature, which means that membership payment will automatically recur and use the details saved with PayPal. Please note that due to limitations with PayPal, using this option disables subscription tiers 2 and 3, and prevents you from charging a setup fee.

    Subscription Set-up Fee: If you want to set a one-time setup payment for the subscription, enter it here. Do not include a currency symbol, you may include one decimal point. e.g 40 or 39.95

    Subscription Payment Tiers: OpenCrypt is capable of complex payment structures and discount schemes. For example, say the setup fee is $5.00 and the monthly fee is $30.00. Then, after three months the monthly fee will automatically be reduced to $25.00. Then after a further six months, the charge can be turned into a by-monthly fee of $40.00. This system is completely customisable allowing you to set three tiers of payment with different fees, subscription durations and renewal cycles. If you have problems setting up your payment structures, please contact support.

    Points: How many OpenCrypt system points are included with this subscription. For none, enter 0. You can deduct these points automatically when a user accesses content or downloads you wish to charge for.

    Hide Subscription: Enabling this prevents the subscription being displayed in the user registration form, for example when setting up a discounted subscription. Accounts can be assigned to a hidden subscription manually within the admin panel, or by linking to 'register.cgi' with a query string as follows 'register.cgi?sub=ID' where ID is the subscription ID of the hidden subscription.

    Expired Day Cost: Entering a value here allows you to add an additional charge to a user account that has not been renewed on time, the charge is the amount per day, and is calculated every day from expiry until the user renews their account. Please note, if using PayPal subscriptions, this feature only works if the user cancels their subscription.

    Once you've completed the input form, simply click 'Create Subscription', if they're any errors with your input, the system will allow you to correct them beform causing problems within the system.

    To modify or remove a subscription, simply browse to the 'Active Subscriptions' table and select the small radio button of the record you wish to modify/remove. Once selected, click 'Modify' or 'Remove' and you will be taken to the appropriate page. You will be prompted for confirmation before any data is removed.

    * = Requires Data Input


    [Top]

    Configuration: System Settings

    The System Settings section of the OpenCrypt Administration panel enables you to setup and change the major settings used to configure OpenCrypt.


    There are five configuration sections in the System Settings section:

    Central Configuration: Includes the settings of all the main paths used by OpenCrypt, the details of the OpenCrypt main administrator, the settings used to connect to your database, links to the IP Location API, and the e-mail settings used for outgoing OpenCrypt mail.

    Register.cgi and Manage.cgi Configuration: Includes all the main settings for the user registration and account management process, including the configuration of the registration page, whether subscriptions are enabled, what the restrictions are on usernames and passwords, and settings for login cookies.

    Custom Form Fields Configuration: Allows you to add custom form fields for collecting specific data in the registration process and OpenCrypt database. It also allows field groups to be defined to 'cluster' custom form fields together.

    E-Commerce Integration: Allows you to configure payment processing, default currencies, and to select which payment processors you wish to link with your site.

    Templates and Styles: Allows you to set default colours, fonts, table sizes, language groups, and to modify templates for the user-facing parts of OpenCrypt, such as the registration process and e-mails.


    [Top]

    Configuration: Templates and Styles

    The Templates and Styles Configuration section of the OpenCrypt Administration Panel enables you to set default styles and edit templates directly from the OpenCrypt interface.


    The Styles and Colours configuration is linked directly from this configuration page, and all the standard templates are controlled here.

    For more information on the Styles and Colours Configuration, use the related article links at the bottom of this article.


    Modify Template Files allows you to setup and change default languages and the templates used by OpenCrypt. More information on the specific template files is included in the related article links.

    Language Group: Allows you to change the default language for all of the front-end templates.  This should be the name of the templates directory within your /admin/templates directory, by default this is 'en'.

    Open Frontend Template: Allows you to select a template for the OpenCrypt frontend (i.e. register.cgi) to open for editing.

    Open PHP Frontend Template: Allows you to select a template for the PHP sections of the OpenCrypt frontend to open for editing.

    Open Outgoing Mail Template: Allows you to select a template for the outgoing OpenCrypt powered e-mails to open for editing.

    Open PHP Outgoing Mail Template: Allows you to select a template for outgoing e-mails sent from the PHP sections of OpenCrypt to open for editing.

    Open Personal Page Template: Allows you to select a template from the personal page templates available for each member's area you have defined to open for editing.

    Open Text Template: Allows you to select a template for body text of the OpenCrypt system, for example the Terms and Conditions of the registration form, to open for editing. Care should be taken when editing these files as they contain Perl code necessary for OpenCrypt to function.

    Disable WYSIWYG: Allows you to disable or enable the WYSIWYG editor provided with OpenCrypt for editing templates. Care should be taken if this is enabled as it may disrupt some of the template files.  Certain files can not be loaded within the WYSIWYG editors such as the text template files.


    To open a template for editing: Select a template from one of the lists above, and then click the 'Open Template' button.


    [Top]

    Configuration: Translation Interface

    The OpenCrypt translation interface is the central point for creating and managing a new translation of the OpenCrypt frontend.


    All OpenCrypt translations can be imported and exported, allowing you to download new translations, backup, and share translations with other users of OpenCrypt.

    If you feel your translation is suitable for inclusion with the main OpenCrypt distribution, feel free to contact us when you have completed your translation. There may be opportunities for discounts or rebates on your OpenCrypt software.


    Current Translations will display any translations enabled on your OpenCrypt system, along with the options to Export and Remove the individual translations.
    Removing a translation ensures that all converted template files and the translations themselves are removed from the OpenCrypt system.
    Exporting a translation will offer you the opportunity to download a file for each translation in an easily modifiable format. The file will contain a description and a breakdown of each element in the system.

    To view or continue a translation simply select from the current translations list by clicking either the language code or the language title.


    To begin a new translation simply click the 'New Translation' option and you will be presented with the translation interface.

    You will be presented with an options menu to allow you to choose which language the translation is for. You may choose from this list, or enter a new country code if the list does not contain a suitable language. If you would like the menu updated to support your native language, please contact us through the helpdesk.

    Once you have clicked 'Begin Translation' the OpenCrypt system will create appropriate copies of the template files and databased elements.

    You will then be presented with an interface specifically designed to support rapid editing of the text elements. Each element has the option to show or hide the original English text. The interface will seperate the elements into pages, and remembers the last page you edited, so you can leave and resume translation at any time. Full HTML and OpenCrypt template tags are available for use in each element.


    Import Translation allows you to import a standard definition OpenCrypt translation export, for example if you have created a translation offline, or if you were to download a translation from the OpenCrypt servers. To use this feature, simply click 'Import Translation', select the local copy of the translation file you desire, and then enter the appropriate language code.

    Re-Generate languages.tmpl Template Files allows you to choose when to publish, or regenerate a completed translation. This updates the drop-down menu available to end-users, and therefore should be used once a new translation is complete, or has been imported.


    [Top]

    Configuration: Video Manager

    The OpenCrypt Video Manager gives you complete control of your video content. It allows you to upload, transcode/convert, and manage videos suitable for use on your site


    Adding a New Video

    To add a new video, enter the following information:

    Video Name: Enter a meaningful name for the new video here.

    Upload Video: This allows you to directly upload a video from your local computer into the OpenCrypt system. If your video is over 10Mb, or you have a slow or intermittent internet connection, we recommend the Locate Video method instead.

    Locate Video: For larger videos or slow internet connections, we recommend transferring the video files via FTP to a folder on your server. You may then enter the full/absolute path to the video in this field, and OpenCrypt will either Copy or Move the video to your default OpenCrypt Video directory.

    Once the video is uploaded and/or located in the OpenCrypt system, you will be asked if you want to view the details of the video, or to convert it straight away (assuming it is not already in .flv format)


    Converting a Video for Use

    Videos must be available in the .flv (Flash Video) format to be suitable for use in the embedded OpenCrypt video player.

    OpenCrypt provides an API which enables your videos to be converted on separate servers for speed, this requires API credits, available from my.OpenCrypt.com. Video conversion also requires specific programs are installed on the server which most web hosts will not make available unless you have a dedicated server, the video conversion API makes this functionality available to anyone no matter what type of hosting they are using.

    To convert your video, select it from the choose list at the top of the Video Manager, and then click the 'Convert' button, the status of the video conversion will be shown in the Video Manager.

    You may also be asked to convert a video when it has been uploaded, or you may select 'Convert Video' from the video details when 'View' video is selected.

    The Convert Video section allows you to choose settings for your video conversion, and review the video details:

    Video Name: Displays the name you have chosen for your video.

    Source File: Displays the random name allocated to the source file.

    Video Quality: Allows you to choose quality settings for the video conversion. Options are Very Low, Low, Medium, High, and Very High. Very High is lossless, and will preserve the video exactly, though should be used with caution as it may create large file sizes which are not easily downloaded by visitors. Medium or High are recommended.

    Video Size: Allows you to resize the video to any one of a number of common display formats. If left to default, the original video size will be preserved.

    Video Aspect Ratio: Allows you to choose a new aspect ratio for the video, either 4:3 (standard) or 16:9 (widescreen). If left to default, the original aspect ratio will be preseved.

    Sample Rate: Allows you to choose the sample rate for the audio. 22050 will reduce the filesize and is suitable for most digital camera and camcorder videos, to preserve full quality audio, use the 44100 setting.

    Once you have chosen your settings, click the 'Convert Video' button for the video to be transcoded by the OpenCrypt servers. Once conversion is complete, you may be asked if you wish to view the video


    Viewing a Video

    The View Video section of the Video Manager allows you to view the details of your video, locate the preview image, re-convert the video and remove and rename the video.

    The View section displays the key video details, including Name, Date Added, Source Filename, FLV Filename, JPG Thumbnail Filename, Video Width, Video Height and Video Duration.

    To preview the video: Simply click the play button on the player provided to the right of the screen.

    To locate the video thumbnail: Simply click the link provided in the JPG Filename section.

    To re-convert the video: Simply click the 'Convert' button.

    To modify the video name and details: Simply click the 'Modify' button.

    To remove the video from the OpenCrypt system: Simply click the 'Remove' button.

    To embed the video in a page: Simply copy the code in the 'Embed Video' section and paste into a suitable location in your page code.


    Video Manager

    It is also possible to use the main screen of the video manager to perform many of the functions available in the 'View' section.

    To Convert, View, Modify or Remove an existing video, simply select the radio button of the video you wish to amend, and then click the appropriate button beneath the video list.


    [Top]

    Database Management: .htaccess and .htpasswd Rebuild

    These options will rebuild all the member's area .htaccess and .htpasswd files as applicable. For instance, if you delete the files or they become corrupted somehow you can easily re-generate them.


    [Top]

    Database Management: Backup and Restoration

    This facility allows you to restore your OpenCrypt database to a previously saved version. When selecting the 'Backup and Restoration' option, providing you have been running robot.cgi to generate backups, you should see a list of available backups in two forms: Data Backup and Full System Backup.

    Data Backup - This is your mySQL database data and will restore some of your configuration and all your user databases, statistics etc...

    Full System Backup - This option is the same as a 'Data Backup' except it also restores the OpenCrypt configuration data files.

    Select the backup you would like to restore too (backup dates/times are shown), once you have selected the appropriate backup, select the 'Restore' button. OpenCrypt will then backup and clear the current database and restore it to the chosen backup.

    Note, when performing a restore, the software will create a backup of the current database structure before commencing the restore so if you have any problems it can be un-done.


    [Top]

    Database Management: Export OpenCrypt Data

    This facility enables you to export your OpenCrypt system data so you may use it for another purpose or for backup reasons...

    You have the choice to export in two forms: mySQL Export and Text Based (CSV) Export.

    MySQL Export - This option will export the selected table in mySQL format, so for example, to restore the data you could simply copy and paste it to your 'mySQL Query' option in the 'Database Management' section of the administration panel.

    To use this facility please select the table you would like to export from the menu shown. To select multiple tables please hold the CTRL button and click to select as applicable.

    To export the table structure, not just the table data, select the 'Export Table Structure' checkbox.

    Once done, please select 'Export Tables'.

    Text Based (CSV) Export - This option allows you to export OpenCrypt system data in any text-based form you require.

    Firstly, select the table you would like to export from the drop-down menu provided, labelled 'Single Table CSV Export'.

    The 'Default Field Separator' field allows you to choose what character(s) to split the field data by. For example, for a CSV file you would enter a comma, or you may choose to use verticle pipe separators, e.g. |

    The 'Default Quote Character' field allows you to choose what character(s) to quote the text with. For example, if using CSV to import into your 'spreadsheet software', it is best to use quotation marks to surround the field data. e.g. "

    The 'Export Column Name' option, when checked will print the table column names on the first row of the exported data.

    Once done, please select 'Export Table'.


    [Top]

    Database Management: Import Data

    OpenCrypt offers a variety of database import tools for various pieces of membership management software including; Locked Area Lite, Locked Area Pro and phpGuardDog

    Locked Area Pro Database Import
    Please enter the full/absolute server path to your Locked Area Pro /admin/ directory, this is the directory in which you will find your Locked Area Pro administration panel .cgi files. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    Once entered, select 'Import LA Pro'. If you have a significantly populated member's database this facility will take sometime to complete and you may not receive confirmation of completion. If your web browser 'times-out', visit the 'User Management' section of the administration panel and check if the user count is increasing. This facility will import your member's db including any suspended users or users awaiting validation. It will also import your member's area statistics.

    Once completed, if you have trouble logging in to the member's area, visit the 'Database Management' section of the administration panel and run a '.htpasswd rebuild'.

    Locked Area Lite Database Import
    Please enter the full/absolute server path to your Locked Area Lite member's database file, this is the file in which you will find your Locked Area user data. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash. If you are unsure, check your Locked Area Lite administration panel, you will find the 'Path to Member's DB' listed in the 'Configuration' page.

    Once entered, please select the subscription type you would like to add these users too, then select 'Import LA Lite'. If you have a significantly populated member's database this facility will take sometime to complete and you may not receive confirmation of completion. If your web browser 'times-out', visit the 'User Management' section of the administration panel and check if the user count is increasing.

    This facility will import your member's db only. It will not import your statistics data etc...

    Once completed, if you have trouble logging in to the member's area, visit the 'Database Management' section of the administration panel and run a '.htpasswd rebuild'.

    PhpGuardDog Database Import
    Please enter your phpGuardDog mySQL database information, this is the database which is used by phpGuardDog to store user data etc... If you are unsure of this information, check your phpGuardDog configuration files. Once entered, please select the subscription type you would like to add these users too, then select 'Import phpGuardDog'.

    This facility will import your member's db only. It will not import your statistics data etc...

    Once completed, if you have trouble logging in to the member's area, visit the 'Database Management' section of the administration panel and run a '.htpasswd rebuild'.


    [Top]

    Database Management: mySQL Query

    This option allows you to import data into your mySQL database. You can run any SQL command here, but please note you will not receive any response. If the SQL fails, this facility will not tell you, you will need to refer to the mySQL error log.


    [Top]

    Database Management: mySQL Table Management

    This facility allows you to empty selected OpenCrypt mySQL tables, for instance if your statistics database becomes to large and in-efficient or one of your databases becomes corrupted.

    To empty the table, select the appropriate table from the 'mySQL Table' drop-down menu. Once chosen, select the 'Empty' button. You will then be asked to confirm the action before the table data is deleted.


    [Top]

    Dictionary and Terms: Additional Products

    Included in the OpenCrypt registration form is a 'shopping cart style' system which allows you to sell additional products alongside your subscriptions. These products can be sold for any one-time fee and when purchased the system can even be configured to alert specific administrators of the purchase. For example, to alert the sales team to post a CD-Rom version of the product.


    [Top]

    Dictionary and Terms: Administrator Approval

    This option, when enabled requires the administrator of the system to manually verify all registrations. This means, users can register, but do not receive access to the member's area(s) until an administrator has checked their registration details and approved them.


    [Top]

    Dictionary and Terms: Affiliate System Add-On

    The affiliate/referral system add-on for OpenCrypt allows your web site users and visitors to earn money or even cheaper subscriptions by referring new users to your web site. The system is impressively flexible depending on who has referred the new customer, this can be a current user or an affiliate. Affiliates can register via an online interface and also have an account manager to update account details and view statistics. The system enables you to offer subscription discounts to current customers based on a fixed amount or a percentage, and affiliates can earn a fixed or percentage amount of each sale referred. The system also integrates with the OpenCrypt points system and includes a coupon code system which also offers a percentage or fixed amount discount.

    For more information, please see 'Affiliate System Add-on'.


    [Top]

    Dictionary and Terms: Anti-Hack and User Blocking/Banning Facilties

    All member's areas are predominantly protected by Apache .htaccess, though this is only the first stage of authentication. OpenCrypt stores massive logs of all user activity and the second a user performs an 'illegal action' they begin to be monitored. This can soon result in a user being banned from the system and site which results in a complete lock-down on their IP address, username, email address and any other unique data available to the system.

    You can also ban users before they even get the chance to do something wrong with ability to block by IP address, domain, email address and username via the easy-to-use web based interface.


    [Top]

    Dictionary and Terms: Automated Membership/Subscription Payment and Renewal System and Automated Invoicing and Billing History

    All subscription/membership sign-up and renewal payments are handled automatically by the OpenCrypt membership software. When registering, the user is guided through registration and then on to payment as applicable, before payment is requested the user is presented with a clearly presented invoice displaying exactly what is being purchased and at what cost, with clear indications of any account expiration dates if applicable. Membership and product payments are clearly identified.

    If a users membership is due to expire, a notification email is sent warning the user that their account may become inactive. This notification is sent automatically by the system and you can customise how many days before account expiration the email should be sent. When the account expires, a second notification email is sent warning the customer that their membership has expired.

    Both emails include clear instructions as to how to go about renewing membership. Account/membership renewal is handled by the 'User Account Manager' interface and as when purchasing, clear invoices are displayed giving accurate details as to what is being charged and when the membership will expire again.


    [Top]

    Dictionary and Terms: CGI

    The Common Gateway Interface (CGI) is a standard for interfacing external applications with information servers, such as HTTP or Web servers. A plain HTML document that the Web server retrieves is static, which means it exists in a constant state: a text file that doesn't change. A CGI program, on the other hand, is executed in real-time, so that it can output dynamic information.

    CGI programs are the most common way for Web servers to interact dynamically with users. Many HTML pages that contain forms, for example, use a CGI program to process the form's data once it's submitted. Another increasingly common way to provide dynamic feedback for Web users is to include scripts or programs that run on the user's machine rather than the Web server. These programs can be Java applets, Java scripts, or ActiveX controls. These technologies are known collectively as client-side solutions, while the use of CGI is a server-side solution because the processing occurs on the Web server.


    [Top]

    Dictionary and Terms: Custom Form Fields

    Custom form fields are included in the OpenCrypt system to enable you to collect data from your users. For example, you may wish to collect personal information such as age or nationality, or you may need company information such as a web site URL. Whatever your data requirement, the OpenCrypt registration form can be customised to collect the data you require and can be configured to restrict data inputs. For instance, a URL must begin with http://

    OpenCrypt offers support for 50 custom form fields of types; textbox, textarea, drop-down menu, radio button, checkbox and password. All are completely customisable with field grouping, preset and custom validation checks and field input constraints so you can collect whatever data you require and be sure it is always in the correct format. When adding custom form fields you have complete control, whether you want the field to be required or you want to set it so your member's can't edit the data they entered at registration, you can even set it so they don't see the data ever again after they enter it. The field's name, the explanation of what data to enter and any error message details you wish to include are fully customisable.


    [Top]

    Dictionary and Terms: Custom Form Fields on Activation

    This option when enabled will display the custom form fields during the second stage of registration, after the user has verified their email address and entered their activation code. This option only applies if email activation is enabled. If either or both options are disabled, custom form fields are included as part of the first registration form.


    [Top]

    Dictionary and Terms: Custom Form Fields, Field Types and Field Groups

    OpenCrypt offers support for 50 custom form fields of types; textbox, textarea, drop-down menu, radio button, checkbox and password. All fields are completely customisable with field grouping, pre-set and custom validation checks and field input constraints so you can collect whatever data you require and be sure it is always in the correct format.

    When adding a custom form field through the web-based interface you have complete control, whether you want the field to be required or you want to set it so your member's can't edit the data they entered at registration, you can even set it so they don't see the data ever again after they enter it. The field's name, the explanation of what data to enter.


    [Top]

    Dictionary and Terms: Custom Passwords

    This options allows the registering user to choose a password of their choice to be used to login to the member's area(s) and account manager. If this option is not enabled, passwords are generated randomly. These randomly generated passwords are eight characters long and consist of numbers and letters only, depending upon your configuration.


    [Top]

    Dictionary and Terms: Custom Usernames

    This option allows the registering user to choose a username of their choice to be used to login to the member's area(s) and account manager. If this option is not enabled, usernames are generated in accordance with OpenCrypt's options which can mean a randomly generated number or character string, or an incrementing id, depending upon your configuration.


    [Top]

    Dictionary and Terms: Download Manager

    The download manager allows you to organise your download files (e.g. .zip, .pdf, .exe) into a system which allows all your visitors downloads to be tracked, monitored and/or limited. For instance, you can charge a set number of points for a download so a user will only be able to download one file. Or you can set a download limit within the download manager for each individual file allowing the user to download every file. Or of course, you can allow free unrestricted access to your files, but with the peace of mind that all downloads are recorded and any abuse will be automatically stopped and you'll be alerted.


    [Top]

    Dictionary and Terms: E-Commerce Enabled

    When enabled, the OpenCrypt e-commerce and payment processing systems are available. OpenCrypt includes a fully automated subscription payment and renewal system with automated invoicing and detailed billing history. This has been designed to be as user friendly as possible whilst still working seemlessly without any administrator intervention. Includes support for all major online payment processors including; WorldPay, Authorize.net, Barclays ePDQ, ProtX and PayPal.


    [Top]

    Dictionary and Terms: Email Activation

    This option is used to verify email addresses that are inputed during registration are valid. Upon registering, the user is emailed a 'validation code' which is simply a long string of numbers and letters. When they receive this code via email, they simply select a link in the email which includes this validation code. Once selected, the user is directed to a confirmation page (or depending upon configuration, further form input requests) and the users account is activated. The idea being, the user will not know the code unless the email is received, therefore to receive the email they must enter an active and valid email address so as to activate the account.


    [Top]

    Dictionary and Terms: Email Reports

    One of the key factors that allows OpenCrypt to offer all these facilities and keep things ticking over is 'The OpenCrypt Robot'. This is a complex Perl script which is run automatically by the server several times a day, performing varying tasks concerning the OpenCrypt system. For instance, expiring accounts (sending out notifications of renewal) and database tasks, such as performing a daily database backup, all crucial to the daily operation of OpenCrypt and not a task that the administrator can be expected to do everyday. These are the daily, mundane tasks for 'The Robot'. It's real job is checking log files for suspicious activity, think of it more as a security guard, sniffing out any suspicious or unwanted activity and eliminating it. Whether it be by blocking a visitor from the system or entire web site, or simply sending a word of warning to the administrator. The point is, the system is aware of it and it lets the administrator know everything that is happening, without expecting them to trawl through endless log data.

    Once run, 'The Robot' sends a full daily report to the administrator, giving details of all it's activities, renewing and removing accounts, as well as alerting you to any suspicious activity and any visitors that have been blocked.


    [Top]

    Dictionary and Terms: Extensive Statistics System

    OpenCrypt monitors and records all actions within it's system. This includes any usage of the Perl/CGI scripts, any attempts to access and use the administration panel and any member's area usage. If anything is out of the ordinary, OpenCrypt will alert you and if necessary, stop the user.

    Included in the administration panel is a full statistical analysis system giving details of all administration panel, OpenCrypt frontend and member's area activity which includes registration statistics, failed login reports and detailed member's area usage data. Also available are a full suite of revenue and sales statistics. Statistical tables, pie and bar graphs and data listings are all used to ensure you are aware of all your users activities.


    [Top]

    Dictionary and Terms: Free Installation and Money Back Guarantee

    All OpenCrypt licenses include one free installation which will be performed by a member of our trained technical support team.  Installations are usually completed within 24 to 48 hours.

    If we are unsuccessful in installing the basic software package, we will refund your purchase in full. Terms and conditions apply, please see our 'Refund/Sales Policy, Right to Refuse Sale and Online Purchase Information'.

    Licensed users can request installation of the software at: http://my.OpenCrypt.com/request_install.php


    [Top]

    Dictionary and Terms: FRONTEND

    The frontend is the same as the user interface, this is the part of the software that the users (in this case the web site visitors) will interact with. In web applications, the client part of the software is often called the frontend and the server part is called the backend

    In reference to OpenCrypt, we refer to the 'frontend' as the parts of the software which are used by web site visitors as opposed to the administration panel which is used by the web site owner(s). The OpenCrypt 'frontend' includes the user registration form, user account manager and member's area(s).


    [Top]

    Dictionary and Terms: HTACCESS

    htaccess is the name given to a Web server configuration file that contains commands known by the server that tell the server how to behave in certain circumstances. Some of the most common uses of an htaccess file include the ability to restrict access to certain files or directories on the Internet (or intranet) through password protection. Additionally htaccess is used to automatically redirect users, ban or allow certain IP addresses/hostnames access to the server, and to call a custom designed 404 errors pages rather than the standard error 404 file that usually appears in your browser. Apache Web servers, and other NCSA compliant Web servers can use htaccess.

      For more information, please see our online tutorial at: http://www.htaccess-guide.com


    [Top]

    Dictionary and Terms: IP ADDRESS

    Internet Protocol, or IP, addresses are the numerical codes that relate to a specific domain name. It is possible that a domain name may identify one or more IP addresses. The format of an IP address is a 32-bit numeric address written as four numbers separated by periods. Each number can be zero to 255. For example, 1.120.15.185, could be an IP address.

    IP addresses are used to help OpenCrypt identify individual users who are accessing the system.


    [Top]

    Dictionary and Terms: Mailing lists, newsletters, announcements and communication

    Included in the administration panel is a powerful mailing list, newsletter and communications system which offers support for unlimited mailing lists. You can send newsletters to your users based on their mailing list subscriptions or membership subscriptions as well as of course, sending mailings to individuals or all your users. You can also post announcements to your member's areas, and using the OpenCrypt helpdesk you can manage all your user correspondence.


    [Top]

    Dictionary and Terms: Membership Payment Structures

    As well as supporting free membership, OpenCrypt is capable of complex payment structures and discount schemes. For example, say the set-up fee is $5.00 and the monthly fee is $30.00. Then, after three months the monthly fee will automatically be reduced to $25.00. Then after a further six months, the charge can be turned into a bi-monthly fee of $40.00. This system is completely customisable allowing you to set three tiers of payment with different fees, subscription/membership durations and renewal cycles. These subscriptions can be linked to custom mailing lists and any number or arrangement of member's areas/secure content giving you complete control over what content each subscription/membership group can view.


    [Top]

    Dictionary and Terms: MySQL

    MySQL (pronounced "my ess cue el") is an open source relational database management system (RDBMS) that uses Structured Query Language (SQL), the most popular language for adding, accessing, and processing data in a database. Anyone can download MySQL and tailor it to their needs in accordance with the general public license because mySQL is open source. MySQL is noted mainly for its speed, reliability, and flexibility. Most agree, however, that it works best when managing content.


    [Top]

    Dictionary and Terms: Payment Processors

    OpenCrypt seamlessly integrates with a variety of payments processors to simplify the process for your visitors to make payments, and to simplify the integration process for the web site administrator.
     
    OpenCrypt offers integration with many major payment processors including; PayPal, WorldPay, Authorize.net, ProtX / SagePay, Payoffshore, eWay, AlertPay and Barclays ePDQ.
     
    OpenCrypt offers integration with PayPal's Website Payments Standard system which offers full callback and transaction verification and support for automatic recurring payments, OpenCrypt also offers PayPal PayFlow Link integration though this service does not support automatic recurring payments (contrary to PayPal's mis-leading content).
     
    The PayPal, WorldPay, AlertPay and Barclays ePDQ integration use payment buttons which redirect users to the payment site hosted by the payment processor as per the processes of each payment processor.
     
    The Authorize.net, ProtX / SagePay, eWay and Payoffshore integration process credit cards via OpenCrypt and on the web site where OpenCrypt is installed, therefore a secure server (SSL) certificate is required.
     
    At this time the PayPal, AlertPay, Barclays ePDQ, Authorize.net, ProtX / SagePay, eWay and Payoffshore integration offer methods for automatically charging a recurring fee, in the case of WorldPay the user is required to return to the OpenCrypt system and submit a new payment for each payment cycle.  When using Authorize.net, ProtX / SagePay, eWay or Payoffshore the OpenCrypt system will store user card details and will automatically provoke recurring payments which gives the system complete control over the payment structures and allows for unmatched flexibility.
     
    All integrations include full transaction verification and validation ensuring only valid payments are processed.
     
    We have recently developed integration with eWay and AlertPay which is included with version 1.8.
    Note, ProtX recently became SagePay.
     
    If you require payment integration with another processor, please contact us for more information.


    [Top]

    Dictionary and Terms: PERL

    Practical Extraction and Reporting Language is an open source server side programming language extensively used for web scripts and to process data passed via the Common Gateway Interface from HTML forms etc. Perl scripts are not embedded within HTML pages and do not download to the web browser but reside on the server. They execute by being triggered from commands within HTML pages or other scripts and may produce HTML output that does download to the web browser.

    Some facts about Perl:

      Perl is the most popular web programming language due to its text manipulation capabilities and rapid development cycle.
      Perl is widely known as " the duct-tape of the Internet".
      Perl can handle encrypted Web data, including e-commerce transactions.
      Perl can be embedded into web servers to speed up processing by as much as 2000%.

    For more information, please see the Official Perl website.


    [Top]

    Dictionary and Terms: Perl vs PHP (and HTML)

    Some facts about Perl:

      Perl is the most popular web programming language due to its text manipulation capabilities and rapid development cycle.
      Perl is widely known as " the duct-tape of the Internet".
      Perl can handle encrypted Web data, including e-commerce transactions.
      Perl can be embedded into web servers to speed up processing by as much as 2000%.

    PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.

    75% of OpenCrypt is written in Perl including the frontend software such as the registration form and user account manager and the backend such as the administration panel and 'The OpenCrypt Robot'. We use Perl because of it's fantastic and un-parralled data processing and manipulation abilities, for the complex calculations performed by the software there simply is no other choice.

    However, elements of the software such as the 'PHP Login Interface' and shopping cart, and the helpdesk and picture gallery add-ons are written in PHP, and for a very important reason. Whilst Perl is a fantastic language, it is somewhat intimidating for novice users to work with and whilst it is brilliant at generating HTML documents, if you want to dynamically generate content with embedded code it can become complicated. The 'PHP Login Interface' is designed to be very flexible, and to be so flexible the administrator must be able to manipulate basic programming syntax in order to control how the content is displayed. This ability is what makes our login interface so customisable in comparison to our competitors. If this had been written in Perl, it would be far more complicated and time consuming for novice users to work with, whilst PHP enables us to use very simple and basic code embedded directly in the HTML document in order to produce impressively dynamic content and most importantly, without compromising the security of the secure content.

    JULY 2008 ADJUSTMENT
    This content is out-of-date, PHP has significantly advanced over the last two years and we have now begun re-writing OpenCrypt in PHP. For more information regarding this, please see: http://www.OpenCrypt.com/blog.php?a=18


    [Top]

    Dictionary and Terms: Personal Page Redirection

    The 'personal page redirection tool', upon login will direct your users to a unique welcome page of their own, this unique page can be generated automatically when the user registers and can include any of the data they entered, how the page looks is up to you with templates that can be set individually for each member's area, this gives you complete flexibility and allows you to make your content more personal to your individual users.


    [Top]

    Dictionary and Terms: PHP

    PHP is a server-side HTML embedded scripting language. It provides web developers with a full suite of tools for building dynamic websites. PHP is a widely-used general-purpose scripting language that is especially suited for Web development and can be embedded into HTML.


    [Top]

    Dictionary and Terms: PHP Login Interface

    The PHP login interface enables you to integrate user login with the content of your web site. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'. This means you can offer seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site.

    To review an online demonstration of the PHP login interface, please click here.

    OpenCrypt also supports the Apache .htaccess pop-up login interface which can be used instead of or alongside the PHP login interface. The PHP login interface can also be used on any number of web site domains and can link to one installation of OpenCrypt, allowing you to manage secure content across unlimited web sites with one installation of the software.


    [Top]

    Dictionary and Terms: Points System

    OpenCrypt offers an in-built points system which enables you to assign users a set number of points when they register. These points can then be spent by the user on viewing HTML content within your web site, downloading files via the download manager (see below) or just by logging in. You can either use this as a method of charging your users for content/downloads, or you can use it to limit how much of your content users can see. If the user doesn't have enough points, the content is not displayed, additional points can be purchased via the user account manager, the cost of these points is completely up to you.


    [Top]

    Dictionary and Terms: Preset and Custom Validation Checks

    OpenCrypt includes a selection of preset validation checks which can be applied to custom form fields on the registration form. These validation checks include;

     

      Alphanumeric - Input is only letters and numbers
      Integer - Input is only number
      UK Date - DD/MM/YYYY or YY
      US Date - MM/DD/YYYY or YY
      UK Postcode - XX00 0XX and all variations
      URL - Web site address input, e.g. http://www.domain.com/
      Email Address - Validates email input, e.g. email@domain.com

       

    The software also offers custom validation functions so you can include your own Perl code to validate inputs.  For more information, please see the 'Custom Function' article.


    [Top]

    Dictionary and Terms: Require Full Names

    This option requires the registering user to enter their first and last name's in separate input boxes, when the option is not in use, no name input is required.


    [Top]

    Dictionary and Terms: Subscription Enabled

    This option enables the subscription system in OpenCrypt, meaning user groups are in use, accounts can be set to expire and users can be charged for membership. When not enabled the system supports very basic membership structure for more simple implementations.


    [Top]

    Dictionary and Terms: Supported Operating Systems

    OpenCrypt is designed for use on Unix/Linux web servers but is also compatible with some Windows and Sun Solaris web servers. OpenCrypt requires the Apache Web Server software and Perl 5 or above, both of which are available free or charge. OpenCrypt uses a mySQL database system to store system data for optimal speed and efficiency, mySQL is also available free of charge.

    You can install and use OpenCrypt from any computer with a web browser, including Windows and Mac.


    [Top]

    Dictionary and Terms: Terms and Conditions Before Form

    This option when enabled, will display the terms and conditions of membership on a stand-alone page with agree and disagree buttons, upon agreeing to the terms and conditions the user is taken to the registration form. When not enabled, the terms and conditions are displayed alongside the registration form with a tickbox to signify the users agreement.


    [Top]

    Dictionary and Terms: Unlimited Member's Areas and Subscription Types

    OpenCrypt offers support for unlimited member's area directories and unlimited subscription types/payment schemes.

    When adding a subscription type, the administrator may specify three tiers of payment and expiration and may specify any number of member's areas which the purchasing visitor will receive access to when purchasing said subscription.

    When adding a member's area directory, OpenCrypt applies the password protection to the appropriate directory. This member's area can then be linked to any subscription type alongside any combination of other member's areas.

    This system can be used, for example:
    When purchasing 'Subscription A' the users receives access to 'Members Area 1 and 2'
    When purchasing 'Subscription B' the users receives access to 'Members Area 2 and 3'
    When purchasing 'Subscription C' the users receives access to 'Members Area 2, 3 and 4'
    When purchasing 'Subscription D' the users receives access to 'Members Area 1, 2, 3 and 4'

    As well as supporting free subscriptions, OpenCrypt is capable of complex payment structures and discount schemes. For example, say the set-up fee is $5.00 and the monthly fee is $30.00. Then, after three months the monthly fee will automatically be reduced to $25.00. Then after a further six months, the charge can be turned into a by-monthly fee of $40.00. This system is completely customisable allowing you to set three tiers of payment with different fees, subscription durations and renewal cycles. These subscriptions can also be linked to custom mailing lists in the same way as they can be linked to member's areas.


    [Top]

    Dictionary and Terms: WILDCARD

    In a keyword search, a symbol may sometimes be inserted in the middle of a search term to retrieve words containing any character in the designated position. The wildcard symbol may vary from one type of search software to the next. Example: In some databases, the keywords search wom+n (or wom?n) will retrieve records containing both "woman" and "women."

    In OpenCrypt we use the 'Asterisk' character as a wildcard. e.g To locate user 'John Smith', you can search for 'John S*' or 'Joh*' or 'John S*h'.

    Wildcards are symbols that add flexibility to a keyword search by extending the parameters of a search word. This can help if you are not certain of spelling, or only know part of a term, or want all available spellings of a word (British and American English, for example).


    [Top]

    Dictionary and Terms: WYSIWYG

    An acronym for What You See Is What You Get. WYSIWYG is used to describe applications that let you see how a finished HTML document will look whilst still letting you edit it. Dreamweaver and FrontPage are two WYSIWYG HTML editors.

    In the days of text-based word-processing, the screen display would only give an indication of which words would appear on a given printed page but often not much more than that - WYSIWYG describes a system where the screen display shows the size and positioning of all the text (and graphics) exactly as it will appear on the printed page.


    [Top]

    E-Commerce Configuration: How do I test my PayPal payment integration?

    Sadly PayPal do not offer any test credit card details nor a method of running in 'test mode'. Therefore to test the system you must make a live purchase. We recommend creating a test subscription within the OpenCrypt system for a small fee of $1 or similar. Then go through the registration process and make payment. Once you have successfully verified the PayPal integration is working you can refund the payment via your PayPal profile and setup your subscriptions within the OpenCrypt system as is required.


    [Top]

    E-Commerce Configuration: I have chosen to use PayPal as a payment method and filled in the relevant details in OpenCrypt. What do I have to do on the PayPal site to enable callback?

    Go to 'www.PayPal.com' and login to your account. Go to the 'Profile' section and select the 'Instant Payment Notifications' links. Enable PayPal 'Instant Payment Notifications' and enter the URL of your 'paypal_callback.cgi' file. Your 'paypal_callback.cgi' file is located in the same directory as your 'register.cgi' file and your 'admin' directory. Enter the full URL to the 'paypal_callback.cgi' file. e.g. http://www.yourdomain.com/cgi-bin/oc/paypal_callback.cgi

    If you have any problems configuring any of the PayPal settings on their site, you should contact PayPal support, not OpenCrypt support.


    [Top]

    E-Commerce Configuration: I have chosen to use WorldPay as a payment method and filled in the relevant details in OpenCrypt. What do I have to do on the WorldPay site to enable callback?

    Go to www.WorldPay.com and login to your WorldPay account. Click on 'Configuration options' for the relevant installation ID. Fill in all the relevant details on this page and make sure that you type in the correct path for your 'Callback URL'. If your site was called www.yoursite.com, this would start with http://www.yoursite.com/ and then after the last forward slash you should place the relative URL to your 'worldpay_callback.cgi' file. This simply means that you must tell WorldPay where to look for the file... so for example if you said WorldPay ?To find my 'worldpay_callback.cgi' you have to look in yoursite.com for folder3 in folder4 for 'worldpay_callback.cgi' file?, that would translate as typing into your WorldPay Configuration options: http://www.yoursite.com/folder4/folder3/worldpay_callbck_cgi

    The easiest way find the correct path to your 'worldpay_callback cgi' file, is to use an FTP and have a look at what is in the various folders of your site. The callback file you are looking for should be in the same directory as your 'register.cgi' and 'manage.cgi' files. Usually this would be similar to '/cgi-bin/oc/worldpay_callback.cgi'.

    Once you have filled in the correct 'Callback URL' in your WorldPay account, you should tick the box labelled 'Callback enabled' and the box labelled 'Use callback response'. In the box labelled 'store builder', type in 'OpenCrypt'. Remember to save the changes you have made.

    Tip: If you are using a WorldPay test installation, make sure you give WorldPay instructions as to what one of their techy people should do in order to test purchasing something on your site. For example, if you are using OpenCrypt to send your customers an automatic acknowledgement email for their purchase, do tell them, as they will want to check that the email arrives. You can give them instructions by typing in the 'Test Transaction Instructions' box on the same configuration options page. If you have any problems configuring any of the WorldPay settings on their site, you should contact WorldPay support, not OpenCrypt support.

    Submitted with thanks to, L Betts.


    [Top]

    E-Commerce Configuration: WorldPay have created a membership account for my member?s area in order to test it, and now I want to delete it. How can I do that?

    Log in to your OpenCrypt administration panel. On the left hand side under 'User Management' section, click on 'List All Users'. Select the account you wish to delete and click on 'Remove'. Tick the 'Confirm Account Removal' box and click on 'Remove Account'.

    Alternatively, if you know the username or email address for the account, again look on the left hand side under 'User Management' section, click on 'Remove' and input the username and/or email address, then select 'Remove Account'.

    Submitted with thanks to, L Betts.


    [Top]

    E-Commerce Configuration: WorldPay have set my account live but when I go to the payment pages, it is still on test mode.

    You have probably forgotten to alter the installation ID in your OpenCrypt 'E-Commerce Integration' configuration. When WorldPay set your account to live, they give you a new installation ID. You need to log in to your OpenCrypt administration panel and click on 'E-commerce integration' under the 'Configuration' section of the select menu. Once there, change your WorldPay installation ID to the new one. If you have forgotten what this is, simply visit www.WorldPay.com and log in to your WorldPay account to locate it. Also ensure that OpenCrypt is not configured to use WorldPay test mode on the same 'E-Commerce Integration' page.

    Submitted with thanks to, L Betts.


    [Top]

    Manage.cgi: manage.cgi Information

    The OpenCrypt Account Manager (manage.cgi) is the central location for your users to control and update their account.

    This manage.cgi interface can be completely customised to suit the look and feel of your site. This is achieved with a combination of templates which allow you to customise the look of the interface.


    Basic configuration of manage.cgi can be completed in the Administration panel.

    To setup the basic look of the manage.cgi visit the Configuration - System Settings - Templates and Styles - Styles and Colours Configuration of the OpenCrypt Administration Panel, further information can be found at http://www.opencrypt.com/faq.php?q=195

    Certain sections of the manage.cgi interface can be setup directly from the configuration, for example the OpenCrypt Points system can be enabled and disabled. These settings can be changed in the OpenCrypt Administration panel, under the section Configuration - System Settings - Register.cgi and Manage.cgi configuration. More information can be found at http://www.opencrypt.com/faq.php?q=196
    For the duration of this article, this will be referred to as the 'Register and Manage Configuration.'

    If you wish to change the layout of the templates themselves, or re-arrange certain elements of the form, they can be edited directly or through the Configuration - System Settings - Templates and Styles section of the OpenCrypt Administration panel. More information can be found at http://www.opencrypt.com/faq.php?q=197

    If you are using Custom Form Fields, these can also be amended if desired during the account management process. Custom Form Fields can be configured from the OpenCrypt Administration Panel, in the section Configuration - System Settings - Custom Form Fields. Further information can be found at http://www.opencrypt.com/faq.php?q=13
    For the duration of this article, this will be referred to as the 'Custom Form Fields Configuration.'


    • Account Details: The account details section provides a basic summary of the user's account, including the date that their subscription expires if set.
    • Renew Account: Provides a section for the user to renew a subscription that is about to expire, and to purchase more points if the points system is enabled. If the account has expired, this screen is shown by default, and the rest of Manage.cgi cannot be accessed until the subscription has been renewed.
    • Purchase Products: If Additional Products are enabled, you can allow the user to purchase these after they have registered. This also provides the ability to purchase more points if the points system is enabled.
    • Account History: Shows all the invoices and payments made by each user on their account.
    • File Sharing: If the OpenCrypt File Sharing Add-On is installed, this section of the manage.cgi interface allows a user to upload files for sharing.
    • Modify Details: Allows the user to update their account details. These are the same details provided in register.cgi, and the configuration will match that of register.cgi. For example, if names are enabled, they will be available for editing here. Any Custom Form Fields configured without the Hidden parameter set, will also be available for editing here. If e-mail activation is enabled, any change to a registered e-mail address will require re-activation.
    • Change Password: Allows the user to change their password, using the standard 'Old Password', 'New Password', 'Confirm New Password' method.
    • Mailing Lists: If mailing lists are configured, the user can choose which mails they would like to receive, and which format (if option available) they would like to receive mails in, for example HTML or Plain Text.
    • Remove Account: Allows the user to cancel their account by providing their password.


    [Top]

    Manage.cgi: manage.cgi, User Account Manager

    Quote from detailed features list:

    User Account ManagerIncluded as part of the OpenCrypt frontend is the user account manager interface which allows your account holders/users to modify their account details and settings. Standard features include the ability to modify all account details (unless the administrator has set otherwise) and mailing list subscriptions. Users can also change/renew their subscriptions via the automated renewal system and/or buy additional points (see 'points system' below) if needed to view additional content. For users who lose their passwords, the password recovery tool will assign a new password and email the user without any administrator intervention.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Ad Manager Add-On

    The OpenCrypt Advertising add-on allows you to organise any advertising campaigns that you may wish to run on your site. The OpenCrypt Advertising system allows you to setup and track the usage of advertising campaigns, which are configured in a zonal system to enable you to run specific advertisements in different layouts across your site, e.g. an advertisement in a sidebar, and a separate set of advertisements in the page footers.



    The advertising system is broken down into three main parts: Zones, Campaigns and Ads.

    Zones are the specific sections of your site where you wish to run advertisements, e.g. the footer or sidebars of your site.

    Campaigns are specific groups of advertisements, which can be seperated by user or campaign type, you may run multiple campaigns in each zone.

    Ads are single advertisements, and can be setup with limits as to their usage e.g. maximum number of impressions, clicks, start and end dates and can be specifically targeted with OpenCrypt database queries



    Zones

    To view the details of existing zones, simply open the Advertising configuration screen, this will display a graph detailing the current advertising activity, with a breakdown of details per zone listed below.

    To add a new Zone, simply enter a descriptive name for the new zone at the bottom of the main Advertising screen, and then click the 'Add Zone' button.

    Once a new Zone is created, you will be given code which can be copied into the relevant pages on your site to display the adverts. This is available in both PHP (for websites with PHP powered pages) and HTML (for non-PHP pages.)

    To add a Campaign to a Zone, simply enter a name for the new campaign at the bottom of the Zone screen, you may have multiple campaigns for each zone if required. If you wish for a user to be able to view the statistics for a specific campaign, also enter their username in the appropriate field. Once these details are entered, click the 'Add Campaign' button.



    Campaigns

    To view the progress of existing Campaigns, simply open the appropriate Zone from the configuration menu, the page impressions (number of times the advert is viewed) and click-through rates (number of times the advert has been visited) are presented in a graphical format, and broken down beneath into the specific zones that they apply to, this information includes any limits on impressions or clicks that have been defined.

     

    To add an Ad to a Campaign, enter the advert details as below.

    To view an Ad image and details in a Campaign, either click the name of the Ad in the Campaign management section, or select the Ad's radio button, and then click the'View Ad' button.

    To modify the details of an Ad in a Campaign, select the Ad's radio button, and then click the 'Modify Ad' button. This will display the same details as entered when the Ad was created.

    To remove an Ad from a Campaign, select the Ad's radio button, and then click the 'Remove Ad' button.



    Ads

    Ad Name: enter a meaningful name for the new advert here.

    Ad Image: allows you to select the appropriate Ad image from your computer to upload to the Advertisement system.

    Ad URL: enter the full URL that the Ad should link to when clicked, including any referrer ID if required.

    Ad HTML: allows you to enter specific HTML instead of using an uploaded image for an advert, if using this feature Ad Image and Ad URL MUST be blank.

    Target Window: allows you to select whether the Ad will open a new browser window, or use the existing window, when clicked.

    Link No Follow: allows you to specify whether the advert link is followed by search engines when they crawl your site.

    Impression Limit: allows you to define a maximum number of impressions (page views) for the specific advert.

    Click Limit: allows you to define a maximum number of click-throughs for the specific advert.

    Ad Start Date: allows you to define a specific start date for the advert to appear.

    Ad End Date: allows you to define a specific end date after which the advert will not appear. Adverts are always available in the administration section regardless of display start and end dates.

    Ad Targeting: enables you to only display specific adverts based on queries against the OpenCrypt database.

    To create the Ad: click the 'Add Ad' button once the above details are complete.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Add-Ons

    The Add-On Settings section of the OpenCrypt Administration panel enables you to setup and change the settings for any installed add-ons.


    The number of options available depends on the add-ons you have installed, a quick list of the available options is provided:

    Advertising: Allows you to configure advertising for your users, yourself, or external advertisers.

    Affiliate System: Allows you to configure discounts and coupons for users and setup affiliates that can earn commission.

    Article Manager: Allows you to configure article content and news stories.

    Classified Ads: Allows you to setup a system where users can post classified advertisements.

    eDelivery System: Allows you to define a system that e-mails files to your members at specific intervals.

    FAQ Manager: Allows you setup and manage frequently asked questions, with user submissions and revisions if desired.

    File Sharing: Allows you to configure a system that allows your users to share files with each other.

    Shop/Picture Gallery: Allows you to setup a full shopping solution for OpenCrypt.

    Surveys/Input Forms: Allows you to setup surveys and input forms for your users to complete.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Affiliate System Add-On

    The 'Affiliates' add-on allows you to offer discounts and commissions to affiliates that wish to refer new members to your site. The OpenCrypt Affiliates system allows you to setup and track the amount of business generated by your referrers.

     



    The Affiliates system has three methods for handling referrals: User Referrals, Affiliate Referrals and Coupons.

    User Referrals allow you to offer discounts, credits or points to your existing users for referring new members to the site. These discounts or credits can then be used to discount their next renewal, or the points can be used for additional purchases.

    Affiliate Referrals allow you to let affiliates sign up separately to your users (via the affiliate.cgi file, or added manually with the Affiliate User Configuration) and then discounts, credits or commissions can be applied to these affiliate accounts. e.g. Each affiliate could take a commission of 10% of the registration of a new member they have referred. Affiliates have their own account management system, the Affiliate Account Manager (affiliate.cgi).

    Coupons allow you to specify discounts to new members during the registration process, which are deducted from the invoice shown during registration/purchase.

     



    To allow referrals to be handled by the registration process, they must be passed as query strings to register.cgi, some examples are below:

    From a User: the referring user should link to register.cgi with the following string - www.mysite.com/cgi-bin/oc/register.cgi?refu=MYUSER where MYUSER is their username.

    From an Affiliate: the referring affiliate should link to register.cgi with the following string - www.mysite.com/cgi-bin/oc/register.cgi?refa=A000001 where A000001 is their affiliate account username.

     



    Main Configuration

    To create a new referral type simply open the Main Configuration link, and then click the 'Create' button.

    Type: allows you to define whether this is a User, Affiliate or Coupon referral.

    Name: enter a meaningful name for the new referral configuration here.

    Subscriptions: allows you to define which subscriptions this referral configuration applies to.

    Products: allows you to define which products this referral configuration applies to.

    Shopping Cart Product IDs: allows you to define discounts and commissions for specific Shopping Cart Product IDs, you can enter as many ID's as required, in the format product_id,discount,commission. Discounts and commissions can both be either percentages, or monetary amounts e.g. prod1,10,5% would give prod1 a discount of 10 to the person shopping, and a commission of 5% to the affiliate or user.

    Discount: allows you to define a discount to be deducted from any membership setup fees, product fees, recurring fees and future charges. The discount is subtracted from the sub-total, before shipping and taxes are calculated. The discount is subtracted individually from each of any setup fees, recurring fees, and product fees you may have. This discount does not apply to shopping cart items, which must be configured as above.

    Commission: allows you to define a commission amount to be credited to either User or Affiliate accounts for each referral. The commission does not apply to Shopping Cart items, which must be configured as above.

    Points: allows you to apply points when the reffered member registers. For User referrals the points are applied to the referring users account. For Affiliate and Coupon referrals the points are applied to the new members account.

    Coupon Codes: allows you to define the coupon codes that will apply to this referral, please enter one unique coupon code per line.

    Subscription Upgrade: allows you to upgrade the new members subscription level automatically if they have been referred.

    Default Affiliate Configuration: allows you to set whether this specific configuration will be applied to a new Affiliate if they register through the affiliate.cgi file, this should only be applied to ONE Affiliate referral configuration.

    To create the new referral press the 'Submit' button once the above details are complete.

     

    To modify an existing referral type either click the description of the referral, or select its radio button, and then press the 'Modify' button.

    To remove an existing referral type select the radio button of the referral you wish to remove, and then press the 'Remove' button.

     



    User Configuration

    To create a new user simply open the User Configuration link, and then click the 'Create' button.

    Affiliate Configuration: allows you to specify which configurations are available to this affiliate user.

    Password: allows you to specify a password for this affiliate user.

    Email Address: allows you to specify the e-mail address for this affiliate user.

    First Name: allows you to specify the first name for this affiliate user.

    Last Name: allows you to specify the last name for this affiliate user.

    Organisation: allows you to specify any applicable organisation name for this affiliate user.

    Address: allows you to enter the first and second lines of the mailing address for this affiliate user.

    City: allows you to enter the city of the mailing address for this affiliate user.

    State: allows you to enter the state of the mailing address for this affiliate user.

    Postal Code: allows you to enter the ZIP or Postal Code for this affiliate user.

    Country: allows you to enter the country for this affiliate user.

    Telephone: allows you to enter the telephone details for this affiliate user.

    URL: allows you enter the URL of the website for this affiliate user.

    User Notes: allows you to enter notes to be displayed to the user during signup, for example payment information.

    Admin User Notes: allows you to leave notes for yourself and other administrators for this affiliate account.

     

    To modify an existing Affiliate User account either click the username for the account, or select its radio button, and then press the 'Modify' button.

    To remove an existing Affiliate User account select the radio button of the account you wish to remove, and then press the 'Remove' button.

     



    The statistics view allows you to see details of all the commissions and discounts that have been applied to Affiliate or User accounts

    To view or modify a referrer record simply click the account you wish to view under the Referrer heading.

    To view or modify the details of a referred user simply click the username required under the Referred User heading.

     



    To mark any due commission to an Affiliate as paid, open their account record from the User Configuration or Statistics sections. A total of all commission due will be displayed with the option to mark as paid next to the commission total.

     



    In the affiliate.cgi management panel, there is a link to the campaigns which contain details of the link that each affiliate should use to refer traffic to your site. This is customisable so that you can provide your affiliates with example banners etc. To customise this screen, edit the generate_affiliate_link.php file which can be found in your main OpenCrypt directory.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Article Manager Add-On

    The Article Manager add-on allows you to present any number of articles to your users, for example for news or a blog. The system allows for user comments and for users to submit new articles and revisions.

     



    The Article management system has three main areas: Current Content Structure, Submissions Pending Approval and Comments Pending Approval.

    Current Content Structure allows you to setup article categories and new articles.

    Submissions Pending Approval allows you to manage revisions to articles, and any new articles submitted by your users.

    Comments Pending Approval allows you to approve and deny any comments your users have made to your existing articles.

     



    Current Content Structure

    The current layout of your articles is displayed by default, with categories and articles in bold forming the main branches of the tree.


    To add a category click the 'Add Category' button, you will be presented with the following fields:

    Content Group: allows you to group categories and articles, two example uses of this would be if you were communicating to more than one site, or if you have distinct groups of customers. The article manager frontend can be easily customised to display only one content group.

    Parent Category: allows you to create main categories, or sub-categories. For a main category, leave this set to 'Top Category'. For a sub-category, select the category you wish to be the parent.

    Category Name: enter a meaningful name for the new category here.

    Category Description: allows you to define the description of the category, using either text, HTML, or the built-in WYSIWYG editor.

    When you are finished click the 'Add Category' button.


    To modify a category or sub-category select the radio button of the category you wish to modify, and click the 'Modify' button.

    To remove a category or sub-category select the radio button of the category you wish to remove, and click the 'Remove' button. Removing a category with articles defined will also remove those articles.


    To add an article select the radio button for the category or sub-category you wish to add the article to, and then click the 'Add Article' button, you will be presented with the following fields:

    Category: this is the category you chose for the question to be entered into.

    Article Title: enter a meaningful title for the article here.

    Secure Article: allows you to grant access to the article based on your subscription groups.

    Article Body: this is where the main body of your article should be entered, using either text, HTML, or the built-in WYSIWYG editor.

    When you are finished click the 'Add FAQ' button.


    To modify an article select the radio button of the article you wish to modify, and click the 'Modify' button.

    To remove an article select the radio button of the article you wish to remove, and click the 'Remove' button.

     



    Submissions Pending Review

    Any submissions awaiting approval will be displayed here, with date submitted and the details of the new submission.


    To review a submission select the radio button for the submission to be reviewed, and then click the 'Review' button, you will be presented with the following fields:

    Original Article: displays the article before it was revised.

    Updated Submission: displays the revisions that have been made by your users.

    To reject the revision simply click the 'Reject New Version' button.

    To edit the revision simply click the 'Edit New Version' button, this will open the text/WYSIWYG editor.

    To approve the revision simply click the 'Accept New Version' button.

     



    Comments Pending Approval

    Any comments awaiting approval will be displayed here, with date submitted, details of the user and the details of the comment.

    To remove the comment simply select the radio button of the comment you wish to remove, and click the 'Remove Comment' button.

    To approve the comment simply select the radio button of the comment you wish to approve, and click the 'Accept' button.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Article Manager Customisation

    The articles.php file provides the frontend layout and functionality of the OpenCrypt Article Manager Add-on.

    This article details the basic configuration of the article manager, and the configuration options available.


    Configuring articles.php

    The look and feel of articles.php is taken directly from the configuration used in the header.php and footer.php files, so when these are configured, the articles section will match any other PHP sections of the OpenCrypt frontend.

    The article manager can be called with query strings to show an article of your choice, for example if you are linking to it. The format for these query strings is as follows: /oc/articles.php?a=2 where 2 is the ID of the article you require.

    It is important to set a default article for when the article manager is loaded without a query string. To do this, edit the articles.php file and change the $default_article variable, the format is $default_article = "1" where 1 is the ID of the article you require.


    Layout of articles.php

    The default layout of articles.php is that the Table of Contents is set out in a panel to the left.

    The main content of the article is layed out to the right of the Table of Contents, with the header and article at the top.

    Visitor Comments, Responses and Ratings are by default set out beneath the article, including a system for submitting new comments, and statistics as to how popular the article is.

    It is possible to alter this layout if required, though we would recommend this is only approached by those with a good working knowledge of PHP and HTML.

    The templates for the article manager can be found in the /oc/php/templates directory, or via the 'PHP Frontend Template' section of the 'Templates and Styles' configuration. The templates which begin with 'article' are those associated to the article manager.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt eDelivery Add-On

    The eDelivery add-on allows you to set up a system which e-mails your files to your users at predetermined intervals.

     



    To create a new eDelivery file simply open the eDelivery option from the Configuration panel, and complete the form beneath the list of current files (if any).

    Name: enter a meaningful name for the new eDelivery file here, this name will be shown in the Members Area section and in eDelivery e-mails.

    Description: enter a meaningful description of the the new eDelivery file here, this description will be shown in the Members Area section and in eDelivery e-mails.

    Days to eDelivery: allows you to define when an eDelivery e-mail is sent. The days are counted as days from registration unless you are using the Shopping Cart Product IDs, in which case it is days from purchase, entering 0 here will ensure the eDelivery is completed either when the member first registers or on the day they purchase their item from the shopping cart.

    eDelivery File: allows you to upload the appropriate file for eDelivery from your local computer.

    Subscriptions: allows you to choose which subscription levels the eDelivery applies to.

    Shopping Cart Product IDs: allows you to link the eDelivery to the shopping cart system, for example, a member can purchase an item from the shopping cart, and have a file delivered using the eDelivery system as their purchase. To use this feature, enter each shopping cart product ID that you require on a separate line.


    To modify an existing eDelivery file select the radio button of the eDelivery file you wish to remove, and then press the 'Modify' button.

    To remove an existing eDelivery file select the radio button of the eDelivery file you wish to remove, and then press the 'Remove' button.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt FAQ Manager Add-On

    The FAQ add-on allows you to present and organise a database of Frequently Asked Questions for your site visitors and members. The system allows for users to submit and ubdate FAQ articles if required, and visitor submissions are protected by a CAPTCHA system.

     



    The FAQ management system has three main areas: Current Content Structure, New Questions and Revisions Pending Review.

    Current Content Structure allows you to setup FAQ categories and new FAQ questions.

    New Questions allows you to manage any new questions submitted by your users.

    Revisions Pending Review allows you to review, approve and deny any revisions to your existing articles that have been submitted by your users.

     



    Current Content Structure

    The current layout of your FAQ is displayed by default, with categories and sub-categories in bold forming the main branches of the tree.


    To add a category click the 'Add Category' button, you will be presented with the following fields:

    Parent Category: allows you to create main categories, or sub-categories. For a main category, leave this set to 'Top Category'. For a sub-category, select the category you wish to be the parent.

    Category Name: enter a meaningful name for the new category here.

    Category Description: allows you to define the description of the category, using either text, HTML, or the built-in WYSIWYG editor.

    When you are finished click the 'Add Category' button.


    To modify a category or sub-category select the radio button of the category you wish to modify, and click the 'Modify' button.

    To remove a category or sub-category select the radio button of the category you wish to remove, and click the 'Remove' button. Removing a category with FAQ questions defined will also remove those FAQ questions.


    To add a question select the radio button for the category or sub-category you wish to add the question to, and then click the 'Add FAQ' button, you will be presented with the following fields:

    Category: this is the category you chose for the question to be entered into.

    FAQ Title: enter a meaningful title for the FAQ question here.

    FAQ Body: this is where the main body of your question should be entered, using either text, HTML, or the built-in WYSIWYG editor.

    Related Articles: allows you to select any other articles from the FAQ that may be related to the one you are creating.

    Related Links: allows you to enter any links which are related to the article. Links must be entered in the following format: http://my.link.url::LinkTitle and if you wish to use more than one link, they should be seperated with the veritcal pipe '|' character.

    When you are finished click the 'Add FAQ' button.


    To modify a FAQ question select the radio button of the FAQ question you wish to modify, and click the 'Modify' button.

    To remove a FAQ question select the radio button of the FAQ question you wish to remove, and click the 'Remove' button.

     



    New Questions

    Any questions awaiting approval and answer will be displayed here, with date submitted and the details of the question.


    To answer a question select the radio button for the question to be answered, and then click the 'Answer' button, you will be presented with the following fields:

    Answer: this is where the main body of the answer should be entered, using either text, HTML, or the built-in WYSIWYG editor.

    Related Articles: allows you to select any other articles from the FAQ that may be related to the question you are answering.

    Related Links: allows you to enter any links which are related to your answer. Links must be entered in the following format: http://my.link.url::LinkTitle and if you wish to use more than one link, they should be seperated with the veritcal pipe '|' character.

    When you are finished click the 'Post Answer' button.


    To remove a new question select the radio button of the new question you wish to remove, and click the 'Remove' button.

     



    Revisions Pending Review

    Any revisions awaiting approval will be displayed here, with date submitted, details of the user and the details of the question.

    To review a specific revision select the radio button of the revision you wish to review, and then click the 'Review' button. You will be presented with the following fields:

    Title: Shows the title of the existing article, or the amended title as submitted by the user.

    Body: Shows the body of the revised article.

    Related Articles: Shows any articles the user has chosen to relate the article to.

    Related Links: Shows any related links the user has chosen.


    To reject the revision simply click the 'Reject New Version' button.

    To edit the revision simply click the 'Edit New Version' button.

    To approve the revision simply click the 'Accept New Version' button.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt File Sharing Add-On

    The File Sharing section of the OpenCrypt Administration panel allows you to view all files that are currently being shared by your users when using the File Sharing Add-On.

    The File Sharing Overview lets you see all files that are currently being shared, and gives you the option to remove them if required.

    Username: Displays the username of the user sharing the relevant file. If you have the OpenCrypt IP Location feature enabled, their country of origin will also be displayed.

    Folder: Displays the folder that they have placed the relevant file in.

    File: Displays the name of the file, clicking on this will download or view the file for your review.

    Filesize: Displays the size of the relevant file.

    Date: Displays the date that the file was initially shared.

    To remove a file: Select it's radio button, and then click the 'Remove File' button at the bottom of the page.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt File Sharing Customisation

    The fileshare.php and fileshare_inline.php files provides the front-end layout and functionality of the OpenCrypt FileSharing Add-on.

    This article details the basic configuration of both the fileshare.php and fileshare_inline.php interfaces, and the configuration options available.

    fileshare.php is designed to be called directly, and allows users to publish files they have shared through the filesharing section of manage.cgi

    fileshare_inline.php is designed to be included in an existing php file, for example to show as part of a users profile page to display files available.



    Using fileshare.php Fileshare.php is designed so that once a user has clicked the 'Share This Folder' link in manage.cgi, the files can be accessed by anyone they desire. When a folder is shared, a unique ID is given to the folder. To then access this folder, the person receiving the files can either open fileshare.php directly (in which case they will be asked for the ID of the folder required) or they can use the full link provided, which uses query strings to show the file.

    An example query string and link for fileshare.php would be: http://www.yoursite.com/oc/fileshare.php?id=oah4sheu and clicking this link will provide access directly to the available downloads.

    Configuring fileshare_inline.php

    The fileshare_inline.php file has a variable which can be set by editing the fileshare_inline.php file, and must be placed at the start of the PHP file. The variable is as follows:

    $fileshare_username Allows you to set a default username, calling fileshare_inline.php will then display all files that the user has enabled for sharing in their public folder.

    Some potential use examples are: If you have a customised PHP file for your users when they are logged in, you could display their files in a list by assigning $fileshare_username = $dbusername or if you had a profile page for another user called by their user ID, you could use this user ID to display which files they currently had available.


    Look and layout of fileshare.php and fileshare_inline.php

    The look and feel of the fileshare php files is taken directly from the configuration used in the header.php and footer.php files, so when these are configured, the articles section will match any other PHP sections of the OpenCrypt frontend.

    The layout and format of the fileshare php files can be altered by templates in the OpenCrypt Administration Panel, they are located in the PHP Frontend Templates section, and are prefixed 'fileshare'


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Picture Gallery Add-On

    The picture/file management system allows you to group and sell all manner of downloadable content, organised in easy-to-use galleries/categories.

    Preview images, categories and sub-products can be included to make user navigation as simple and enjoyable as possible.

    When a user select to purchase an item it will be included in the shopping basket and will be automatically delivered to the user via email immediately after purchase.

    The picture gallery supports a handy preview system to enlarge the product thumbnails without leaving the current page. Simply click on a thumbnail image to be shown either the category contents, or individual file details. To avoid the pop-up system simply use the category and file name links above the images.

    Configuration

    To create a picture/file gallery in OpenCrypt, make sure that you have the Picture Gallery add-on installed on your OpenCrypt system (available at my.OpenCrypt.com).

    Open your OpenCrypt administration panel, go to Configuration -> Add-Ons -> Picture Gallery using the administration panel menu.

    To add a new category/gallery:

    First, enter the appropriate details into the ?Create Category? section of the gallery configuration (at the bottom of the main gallery page). Your gallery can have many categories, and each category can have many sub-categories, much like a ?topic? system on a forum.

      Category Name: Enter the name of the category to be displayed in the category listing.

      Parent Category: If you would like the category to be a sub-category, select the category you would like to add this category to. 0 (Top Category) is the main page of the gallery.

      Description: Please enter a brief description to be displayed when you users view the category, making navigation easier.

      Thumbnail: This field enables you to upload an image associated with a category. This image must be available on the computer you are working on, and will be resized to suit your configuration. The thumbnail feature supports many common image formats.
    Once this information is entered, select the ?Create Category? button. You will then be shown a confirmation screen.

    If you need to delete or modify a category, select the radio button to the right of the category name in the ?Categories? section of the configuration page, then select the ?Modify? or ?Remove? buttons as appropriate. Modify works almost identically to ?Create Category.? If you select ?Remove? you will be asked to confirm you wish to remove the category.

    WARNING: Deleting a category will delete all of the files/products contained in the category.

    If you wish to add a sub-category, follow the ?Create Category? instructions, making sure you select the correct ?Parent? category (i.e. the category you wish the sub-category to be a member of).

    To add a picture/product/file to a category:

    Select the category from the main ?Categories? section of the configuration page, then click the ?Manage Files? button.

    You will now be presented with the ?Manage/Add File? section, which works in a similar way to the ?Add Category? section.
      Category: This enables you to select the category/sub-category that you wish to add the product/image/file to.

      Name: Enter a name for your product here, this name is displayed when viewing the picture gallery.

      Description/Notes: Enter a description for your product here, this will be shown to the user when they view an individual products information.

      Thumbnail File: Thumbnail enables you to upload an image associated with a category. This image must be available on the computer you are working on, and will be resized to suit your configuration. The thumbnail feature supports many common image formats. Leaving this field blank will automatically take a copy of your ?Preview Image? file and resize it to create a thumbnail.

      Preview File: The preview file will be shown when the thumbnail is clicked, or before purchase. This can be used to create a thumbnail file, if you wish for the thumbnail and preview to look the same.

      eDelivery File: This file is the file that will actually be emailed to the user on receipt of a purchase payment, or if you specify that the file is free, to be downloaded automatically.

      File Price: Enter the cost of your download here, specifying 0 means that the file is given away for free.

      Advanced Options

      Advanced Options lets you specify ?sub-products? for the main product, each with individual preview and delivery files. This means that you can, for example, offer an image at up-to three different quality levels, different print sizes for an e-book, or different file formats for a video/audio clip.

      These sub-options are created in the same way that files are added, and can be accessed from the ?Advanced Options? menu.
    Modifying/Deleting a file

    If you need to modify/delete a file, select the file from the ?Manage Files? section of the configuration screen, and press either the ?Modify File? or ?Remove File? buttons. Modify works almost identically to the ?Add File? system. If you select ?Remove File? you will be asked to confirm you wish to remove the file.

    WARNING: A removed file is unrecoverable, you will need to add the file again from your local machine.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Surveys/Input Forms Add-On

    The OpenCrypt Surveys/Input Forms add-on allows you to organise any number of surveys or forms that you may wish to run on your site. Surveys and Input Forms can be completely customised, using the majority of the fields available in a standard HTML form.


    The Surveys system is broken down into three main parts: Forms/Surveys, Pages and Questions.

    Forms/Surveys make up the completed survey, and consist of a number of pages of questions or inputs.

    Pages are the individual pages of each survey/form, and contain the definitions of all of the questions for each page.

    Questions are the specific fields on each page, and can be made up of any available HTML input type.

    For the duration of this article, we will refer to Forms/Surveys as Forms for simplicity.


    Forms

    On the main page of the Forms Administration panel, you will be presented with an overview of any existing forms.

    To view the form, and modify individual pages of the form, either click the form name, or select the radio button of the appropriate form and click the 'View Form' button.

    To modify the main form details, such as the form name and description, select the radio button of the appropriate form and click the 'Modify Form' button.

    To remove the form, select the radio button of the appropriate form and click the 'Remove Form' button.


    To add a new Form, enter the following details:

    Form Name: Enter a descriptive name for the Form here.

    Description: Enter a description and/or welcome message for the form here, this will be shown to visitors on the first page of the form.

    Thank You Title: Enter a title for the thank you/form complete page here, this will be displayed on the final page of the form.

    Thank You Description: Enter a thank you message here, this will be displayed on the final page of the form.

    Recipient Email: Allows you to send each individual completed survey to specified e-mail recipients, for example your marketing/sales department.

    Points: Allows you to define how many (if any) points you wish to charge the user for completion of the form.

    Survey End Date: Allows you to define a date after which the survey will be unavailable for others to complete.

    Once you have completed the appropriate details, click the 'Add Form' button to be taken to the Pages configuration section.


    Pages

    Once you have selected to View a form, or after adding a new form, you will be presented with the Page management interface.

    This contains a summary of the form details, the URL for site visitors to access the form, and options to View Results, Modify Form and Remove Form, these options perform the same functions as those in the Forms management section.

    You will also be presented with an interface for managing each page of the form.

    If you wish to modify the details of an existing page, simply click the 'Modify Page' link for the appropriate page.

    If you wish to remove an existing page, simply click the 'Remove Page' link for the appropriate page.


    To add a new page, enter the following details.

    Page Header:Enter a descriptive title for the page here.

    Description: Allows you to enter additional information, or a welcome message for the individual page.

    Once you have completed the appropriate details, click the 'Add Page' button to create the page.


    Questions

    Once you have at least one page created for a form, you will have the option to manage the questions available on that page.

    If you wish to modify any question already on a page, select the radio button for the appropriate question and click the 'Modify Question' button.

    If you wish to remove any question already on a page, select the radio button for the appropriate question, and click the 'Remove Question' button.


    To add a new question to a page, click the 'Add New Question' link for the appropriate page.

    Question: Allows you to define the name or title for the question.

    Description: Allows you to define a description for the question.

    Field Type: Allows you to choose the input field type from the following: Textbox, Textarea, Checkbox, Radio and Drop-Menu

    Input Max Length: Allows you to define a maximum input length for Textbox and Textarea fields.

    Required: Allows you to choose whether the field must be completed or can be left blank.

    Once you have entered the information above, click the 'Add Question' button.

    If you have chosen Checkbox, Radio, or Drop-Menu, you will then be presented with an extra list of Fields, to allow you to define the options available, you may define up-to 10 values.

    Once these options are set, click the 'Add Question' button again to create the question.


    Viewing Results

    To view results for any of the completed Forms, simply click the 'View Results' link next to the Form in the main page of the Forms Administration Panel, or while modifying the form.

    The results page is broken down per individual completion of the form, with the oldest result first.

    If you have the IP Location API enabled, you will see which country each completed submission has come from.

    If you wish to search the results, you may search with full wildcard searching from the search panel at the top right of the interface, simply enter your search term and choose the field you wish to search on.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt Surveys/Input Forms Customisation

    The survey.php file provides the front-end layout and functionality of the OpenCrypt Surveys/Input Forms Add-on.

    This article details the basic configuration of the survey interface, and the configuration options available.



    Configuring survey.php

    The survey.php file can be called with query strings to show the survey of your choice, the format for the query string is as follows:

    id= Allows you to determine which survey is displayed, each survey is given a unique ID when you create it in the administration panel, to show the survey with ID 1, you would use /oc/survey.php?id=1

    The survey.php file has a number of variables which can be set by editing the survey.php file, and these must be placed at the start of the PHP file. If any of these variables are set as active, the user MUST be logged in to complete the surveys. They are as follows:

    $enable_points Allows you to charge points for each survey that a user chooses to complete. To enable points charging, set this to $enable_points = "1", if you do not wish to charge points, set this to $enable_points = "0"

    $points_per_survey Allows you to define how many points are charged for each survey, to charge 2 points per survey for example, set this variable to $points_per_survey = "2"

    $one_per_user Allows you to define whether each survey can only be submitted once per user. To enable this, set the variable to $one_per_user = "1", if you wish to allow users to complete a survey multiple times, set the variable to $one_per_user = "0"



    Look and layout of survey.php

    The look and feel of survey.php is taken directly from the configuration used in the header.php and footer.php files, so when these are configured, the articles section will match any other PHP sections of the OpenCrypt frontend.

    The layout and format of survey.php can be altered by templates in the OpenCrypt Administration Panel, they are located in the PHP Frontend Templates section, and are prefixed 'survey'



    Returning survey results to your users

    It is also possible to return your users to a summary of their survey results if desired.

    Each survey is given a unique string when a user begins to enter data, this string can be seen in the address bar as part of the query string in the format string=JBYWTEIRMRSF and is also accessible with the variable $form_string

    To allow user access to the survey results, call survey_results.php with the following query string:

    survey_results.php?id=1&string=JBYWTEIRMRSF where id is the survey ID, and string is the unique string for the survey just completed by the user.


    [Top]

    OpenCrypt Add-Ons: OpenCrypt User Messaging Customisation

    The messages.php file provides the frontend layout and functionality of the OpenCrypt User Messaging Add-On.

    This allows users to send messages directly to each other, this article details the basic configuration of messages.php, and the configuration options available.


    Configuration of messages.php

    messages.php has a number of configuration options which you can set by editing messages.php directly, they are set using variables which should be assigned before the include of the messaging system itself (require "php/messages.php";)

    $records_per_page Allows you to choose how many messages are displayed on each page for the user to view, for example $records_per_page = "10" would display 10 messages on each page of the message system.

     

    $enable_photos Allows you to choose if users can display their own membership photos. The URL's to these photo's must be stored in one of the OpenCrypt custom form fields if you wish to use them. If you want to enable photo's, this variable should be set to $enable_photos = "1" and if you would like to disable photos, you can use $enable_photos = "0"

    $photos_field If $enable_photos is set, this variable allows you to define the OpenCrypt custom form field that the image is stored in. For example, if the custom form field with ID 12 is used, you would use $photos_field = "field12". The image upload should be managed with a file upload custom form field.

     

    $enable_emails Allows you to configure whether e-mail notifications are turned on or off. If you wish to enable e-mail notifications, this variable should be set to $enable_emails = "1" and if you would like to disable email notifications, this variable should be set to $enable_emails = "0"

    $email_subject If $enable_emails is set, this variable allows you to define the subject line of the email notification, a common value for this is $email_subject = "$site_name: New Message" which takes advantage of the other fields available to OpenCrypt and includes the site name in the subject.

     

    $enable_points Allows you to configure whether you wish to charge your users points for sending and/or receiving messages. To charge points, this variable should be set to $enable_points = "1" if you do not wish to charge points for messaging, this can be disabled with $enable_points = "0"

    $points_send_cost If $enable_points is set, this variable allows you to specify the number of points charged to a user for sending a message, for example $points_send_cost = "5" would mean that every message sent would cost a user 5 points.

    $points_reply_cost If $enable_points is set, this variable allows you to specify the number of points charged to a user for replying to a message, for example $points_reply_cost = "4" would mean that if a user replied to a message, it would cost them 4 points.

    $points_forward_cost If $enable_points is set, this variable allows you to specify the number of points charged to a user for forwarding a message, for example $points_forward_cost = "3" would mean that if a user forwarded a message, it would cost them 3 points.

    $points_receive_cost If $enable_points is set, this variable allows you to specify the number of points charged to a user for viewing a message, for example $points_receive_cost = "1" would mean that if a user views a message, it would cost them 1 point. This charge is only applied once per message when the user views the message, this means if a user doesn't have any points they can still receive a message though will be unable to view it without points.


    Layout and styles of messages.php

    The standard colours and styles of messages.php will be defined by your header.php and footer.php files.

    The layout and style of messages.php is also customised using a number of templates available for editing in the Templates and Styles section of the OpenCrypt Administration Panel. These templates are available in the 'PHP Frontend Templates' section and are prefixed with 'messages'.

    If you wish to disable the ability to add attachments to messages, please remove this functionality by editing the templates as required.


    [Top]

    OpenCrypt Installation: After Installation Troubleshooting

    Software will not send outgoing emails, returns sendmail error or similar.

    - Check your path to SendMail is correct, it may require a '-t' at the end. e.g. /usr/sbin/sendmail -t
    - All email addresses inputed into the OpenCrypt configuration must have a backslash before the 'at' sign. e.g. you\@yourdomain.com
    - For SMTP email troubleshooting, contact your system administrator.

    If upon trying to access the administration panel you receive a '401 Authorization Required' error.

    - Contact your system administrator and ask them to enable .htaccess within the /cgi-bin/oc/ directory (or the directory where you have installed OpenCrypt). If this has already been done, check with them to see if any special conditions are required in order to use .htaccess Authentication.
    - This error may appear when the OpenCrypt 'Failed Login' script will not load, if this happens it is as a result of improper installation or may be due to a lack of appropriate Perl modules available on the system. For information regarding the Perl modules OpenCrypt requires, please click here.

    If upon trying to view your 'Statistics' via the administration panel you receive an error similar to, "The following error has occured: No such file or directory at includes/graph.pl line 952".

    - Check your path to image directory in the 'Central Configuration' is set correctly and the directory exists and is fully writable. The image directory should also contain a /graphs/ directory which should be created during installation.


    [Top]

    OpenCrypt Installation: My license ID is rejected during installation.

    This error is usually received because our system has detected your server IP address incorrectly. This is very common and happens for a variety of reasons. To adjust the IP address held in our records, please login to my.OpenCrypt.com and go to the license manager. Select 'Refresh IP' and follow the on-screen instructions as to how to detect your IP address.


    [Top]

    OpenCrypt Installation: mySQL Database Set-up Instructions

    If during OpenCrypt installation you selected the 'Skip mySQL Installation' option, you will need to set-up your database structure manually.

    You can find the database structure SQL file in the OpenCrypt /admin/ directory. You will most likely need to log-in via FTP and download the oc_dump.sql file from your web server. Once downloaded, open the file in your favourite text editor and copy the contents.

    Now, using your database management software you need to run the SQL data. For example, in 'phpmyadmin' you would select the database you wish to use, then select the 'SQL' option and paste the data from the oc_dump.sql into the appropriate input field. Then select 'Submit' or 'Run' etc... as applicable and the database should be created.

    If you have any problems with this, contact your system administrator or feel free to contact OpenCrypt support.


    [Top]

    OpenCrypt Installation: Setting up 'The OpenCrypt Robot'

    To setup 'The OpenCrypt Robot', you will need to setup a Cron job to run robot.cgi once a day. You will most likely need to contact your system administrator in order to do this. The robot.cgi file is located in your /admin/ directory and we would recommend it is run at least once a day at the end of the day, at least ten minutes before the end of day. For larger database, set to 30-60 minutes before end of day. If you are unable to run robot.cgi automatically or do not wish to, please contact support for further information regarding important maintenance of your installation of OpenCrypt.


    [Top]

    OpenCrypt Installation: Step 1, install.cgi

    1. Once you have received the OpenCrypt archive (.zip) file from OpenCrypt.com you will need to un-extract the archive file. This can be done using WinZIP, PKZip or similar which are freely available from www.download.com. Once extracted, you will have a file called install.cgi, this is the OpenCrypt installation script. Don't be alarmed by the small file size, it downloads the OpenCrypt source files directly from OpenCrypt.com to save you having to upload 5Mb plus of data.

    2. Now open the install.cgi file with your favourite text editor. We recommend TextPad or UltraEdit which are also available from www.download.com. Microsoft WordPad can be used but Microsoft Notepad is not suitable. Firstly, we need to ensure the script is using the correct path to Perl. Check the first line of the file which will read:

    #!/usr/bin/perl

    This is the default path to Perl used on Linux/Unix web servers. It may be best to check with your system administrator or your web hosts online documentation to ensure this path is correct if unsure. They may also use:

    #!/usr/local/bin/perl

    3. Once you've checked the path to perl, you need to upload the file to your web server. Login to your web server via FTP, popular programs of choice for this task are WS_FTP and CuteFTP which are also available for trial use from www.download.com. Now upload the install.cgi file to your cgi-bin directory or a directory on your web server that you know to be suitable for Perl/CGI scripts. The file must be uploaded in ASCII mode to transfer correctly, not Binary mode. To select 'ASCII transfer mode' in CuteFTP, select the 'Transfer' menu at the top of the main window, scroll to 'Transfer Type' and select 'ASCII' mode, now copy the file as you would normally.

    4. Then, simply set the file permissions (CHMOD) on the install.cgi file to executable. This is normally 755 but may be different on some web servers. To set file permissions in CuteFTP, simply right click on the install.cgi file on the web server and click CHMOD (some versions say 'File Permissions') on the menu. Then set the permissions to 755 or equivalent on your server. You can also do this through telnet, you can find a popular telnet/SSH client called Putty at, http://www.chiark.greenend.org.uk/~sgtatham/putty/. All you need to do is login to your web server via telnet/SSH, find the directory with install.cgi in and type:

    chmod 755 install.cgi

    5. Now, open your web browser and load install.cgi from your web server via your web browser as you would for any normal HTML file or CGI script. A welcome screen should appear which should explain what to do. e.g. With a url similar to http://www.yourdomain.com/cgi-bin/install.cgi


    [Top]

    OpenCrypt Installation: Step 1, install.cgi Trouble Shooting

    install.cgi Returns 500 Internal Server Error

     

  • Check install.cgi was uploaded in ASCII mode.

     

  • Check permissions are set correctly on install.cgi so it is executable (normally this is 755).

     

  • Check path to perl on top line of install.cgi is correct.

     

  • Check your web host supports Perl, has at least Perl 5 and that your account is enabled to use it.

     

  • Check your web host has the CGI.pm Perl module install that is part of the standard Perl 5 installation.

     

  • Check your web host has the CGI::Carp Perl module which is available free of charge. This module is used to print software errors in a friendly method rather than simply writing them to a log file and returning an 'Internal Server Error'.

     

  • Check that you are allowed to run Perl scripts from the directory you've put install.cgi in.

     

  • Try setting the permissions on the directory with install.cgi in to 777 or 755.

     

  • If when you enter your license ID you recieve an error message similar to:

    Can't locate object method "get" via package "LWP::UserAgent" (perhaps you forgot to load "LWP::UserAgent"?) at /*YOURSERVERPATH*/cgi-bin/install.cgi line 99.

    This error is received because your server doesn't have the correct Perl module as is used by OpenCrypt to check licenses and download the OpenCrypt source files. If you receive this error, contact your system administrator/web hosting company and ask them to install the LWP::UserAgent Perl module on the web server. This is available from: search.cpan.org.
    Once they have installed the module, the software should function correctly.

    LWP::UserAgent Source Files:
    http://search.cpan.org/CPAN/authors/id/G/GA/GAAS/libwww-perl-5.805.tar.gz

     

  • If your license ID is rejected, it is most likely because your web server's IP address has not been detected correctly during the purchase process, this is very common.

    If this occurs, please visit my.OpenCrypt.com and go to the 'License Manager'. Select 'Refresh IP' on the appropriate license and follow the on-screen instructions for IP address detection.


  • [Top]

    OpenCrypt Installation: Step 2, Using install.cgi

    Assuming you have followed step one correctly, the install.cgi file will now be located on your web server and you will have loaded it via your web browser. All being well, this should display an HTML page with a short welcome message asking you to enter your OpenCrypt license id. If install.cgi does not run correctly, please click here for troubleshooting tips.

    1. Once install.cgi is run in your web browser it should display a simple HTML page asking you to enter your OpenCrypt license id. Your license id will have been sent to you via email when you purchased OpenCrypt, it is also available by logging into my.OpenCrypt.com. Enter your license ID and select 'Next'. The install.cgi file will then contact OpenCrypt.com to verify your license is valid.

    2. When your license id is accepted you will be shown the OpenCrypt software terms of usage agreement. These are the terms to which you must agree if you wish to use OpenCrypt. Once you have read and fully understand the terms and conditions of usage you must indicate that you agree to them. Once done, please select 'Next' to proceed to the next stage.

    3. Now you must enter the basic configuration details for your installation of OpenCrypt so for example, install.cgi knows where to create the OpenCrypt software files. All input fields are required with the exceptions of 'Skip mySQL Installation', if this option is selected then the 'Path to mySQLdump' is ignored, though an input of some kind is still required. Any configuration data entered can be adjusted once the software is installed. The following details must be entered:

    Path to Perl, please enter your path to Perl, this is the same as is used on the top line of install.cgi, to be used when the OpenCrypt software files are created.

    For example:

    /usr/bin/perl

    Path to SendMail, please enter your path to Sendmail. This is used for sending outgoing emails, OpenCrypt can be configured to use SMTP email at a later point. If you are unsure what your path to SendMail is, contact your system administrator.

    For example:

    /usr/sbin/sendmail

    Path to mySQL, this is the path to your installation of mySQL on your web server. If you are not sure what this is, contact your system administrator.

    For example:

    /usr/bin/mysql

    Path to mySQLdump, this is the path to your installation of mySQLdump on your web server. If you are not sure what this is, contact your system administrator. If the 'Skip mySQL Installation' option is selected later in the form, this input is ignored and the database is not set-up automatically. If you choose to 'Skip mySQL Installation', please click here for mySQL set-up instructions.

    For example:

    /usr/bin/mysqldump

    Path to HTTP Docs, please enter the full/absolute server path to your HTTP Docs directory, this is the directory in which you wish to create your member's area directories. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    For example:

    /home/httpd/vhosts/yourdomain.com/httpdocs

    If you are not sure what this is, contact your system administrator.

    URL to HTTP Docs, please enter the full URL to your HTTP Docs directory, this is the directory in which you wish to create your member's area directories. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com

    Path to CGI-Bin, please enter the full/absolute server path to your cgi-bin directory, this is the directory in which you wish to create your OpenCrypt system files such as register.cgi and manage.cgi. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash.

    For example:

    /home/httpd/vhosts/yourdomain.com/cgi-bin

    URL to CGI-Bin, please enter the full URL to your HTTP Docs directory, this is the directory in which you wish to create your OpenCrypt system files such as register.cgi and manage.cgi. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com/cgi-bin

    Path to Image Directory, please enter the full/absolute server path to your image directory, this is the directory in which OpenCrypt will store it's image files and temporarily create graph images. You must use a full path, not a relative path, url or enviromental variable and do not include a trailing slash. If this directory does not exist, the installation software will attempt to create the directory and will then place the OpenCrypt images in the directory. Two directories will be created in the 'Images Directory', one called 'graphs' which is used to store the administration panel graph images and a second called 'xinha' which is used to store the WYSIWYG template editor software.

    For example:

    /home/httpd/vhosts/yourdomain.com/httpdocs/images

    URL to Image Directory, please enter the full URL to your image directory, this is the directory in which OpenCrypt will store it's image files and temporarily create graph images. You must use a full URL, including the http:// prefix, do not use an enviromental variable or relative URL and do not include a trailing slash.

    For example:

    http://www.yourdomain.com/images

    Database Host, please enter the address of the host of your database, assuming the database is held on the same system as OpenCrypt then you only need to enter, 'localhost'. Otherwise this is generally the IP address of the database server.

    For example:

    localhost

    Database Name, this is the name of your OpenCrypt system database, by default this would simply be 'opencrypt' unless you selected a different database name when setting it up. Your database must be configured in mySQL before installing OpenCrypt, if you are unsure how to do this, contact your system administrator for advice.

    Database Username, please enter the username you've setup for accessing this database, this is set in your mySQL database configuration.

    Database Password, please enter the password you've setup for accessing this database, this is set in your mySQL database configuration.

    Skip mySQL Installation, if you select this option, the 'Path to mySQLdump' entered earlier in the form will be ignored and no mySQL database will be set-up. If you choose to 'Skip mySQL Installation', please click here for mySQL set-up instructions. Once you have completed the form, select 'Next' to proceed.

    If you are unsure of any of the above variables you will need to contact your system administrator/web host or consult your web host's online help/FAQ pages. Please do not contact OpenCrypt.com support, we are unable to advice you as to what your paths may be because they can be different on every web server.

    4. At this stage, OpenCrypt ensures your inputs are acceptable and prepares to download the OpenCrypt source files. To continue, select 'Next'.

    5. At this stage the installer downloads the source files and installs them on your web server. Upon completion you should receive a confirmation page giving details of your new installation and the url of your administration panel.

    To login to the administration panel and proceed to the next step of installation/configuration, select the URL provided and login with the following login credentials:

    Username: administrator
    Password: password

    DO NOT LOG-IN TO THE ADMINISTRATION PANEL IF YOU SELECTED 'SKIP MYSQL INSTALLATION'.
    If the 'Skip mySQL Installation' option is selected, the database is not set-up automatically. If you choose to 'Skip mySQL Installation', please click here for mySQL set-up instructions.


    [Top]

    OpenCrypt Installation: Step 2, Using install.cgi Trouble Shooting

    install.cgi Not Creating Files and/or Directories

  • Check permissions on the directory you want to create the CGI files in are writable (normally 777 or 755).

  • Check the directory you specified during installation does exist and check the full path you've entered is correct. You must enter a full/absolute server path and not a relative path, as this will not work correctly. Environment variables if entered will also not work so avoid their use at all times.

    License Validation Errors

  • You may wish to visit my.OpenCrypt.com to verify your OpenCrypt license is licensed to the correct IP address. The 'License Manager' system on my.OpenCrypt.com allows you to change the domain and IP address of your license and also includes instructions of how to detect the correct IP address for your server should our system be detecting it incorrectly which is quite possible and common for a variety of reasons.

  • If your license is not accepted, please contact support@opencrypt.com quoting any error messages received and the license id used. The most likely reason is because the installation url registered with us differs from the url where install.cgi is located.

  • If the software 'times-out', is unable to connect to OpenCrypt.com or returns a blank page etc... Please visit http://www.OpenCrypt.com/ to ensure our web server is online, if it has for some reason gone down, it should be back online within minutes or at most within the hour. If our web site is working correctly, please contact support@opencrypt.com quoting any error messages received and the license id used.

    Administration Panel URL Errors

  • If when you click on the administration panel url given upon completing installation and it returns a 404 not found error, it means you entered an incorrect CGI-Bin URL during installation.

  • If the administration panel returns an Internal Server Error or Software Error, check your installation values are correct and do not contain any irregular or foreign characters. You may also like to check that your web host has the CGI::Carp Perl module which is available free of charge. This module is used to print software errors in a friendly method rather than simply writing them to a log file and returning an 'Internal Server Error'. If the error persists, please contact support@opencrypt.com quoting any error messages received and the license id used.

  • If upon login to the administration panel you receive a 'Software Error' similar to:

    Can't locate Date/Calc.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i386-linux-thread-multi /usr/lib/perl5/5.8.

    This error is received because your server doesn't have the correct date calculation Perl module as is used by OpenCrypt. If you receive this error, contact your system administrator/web hosting company and ask them to install the Date::Calc Perl module on the web server. This is available from: search.cpan.org.
    Once they have installed the module, attempt administration panel login again.

    DATE::Calc Source Files:
    http://search.cpan.org/CPAN/authors/id/S/ST/STBEY/Date-Calc-5.4.tar.gz

  • If when the software attempts to send an email you receive a 'Software Error' similar to:

    Can't locate MIME/Types.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i38 6-linux-thread-multi /usr/lib/perl5/5.8.5

    This error is received because your server doesn't have the correct Perl module as is used by OpenCrypt to send outgoing emails. If you receive this error, contact your system administrator/web hosting company and ask them to install the MIME::Types Perl module on the web server. This is available from: search.cpan.org.
    Once they have installed the module, the software should function correctly. MIME::Types is an additional module for MIME::Lite which is mentioned below.

    MIME::Types Source Files:
    http://search.cpan.org/CPAN/authors/id/M/MA/MARKOV/MIME-Types-1.16.tar.gz

  • If when the software attempts to send an email you receive a 'Software Error' similar to:

    Can't locate MIME/Lite.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i38 6-linux-thread-multi /usr/lib/perl5/5.8.5

    This error is received because your server doesn't have the correct Perl module as is used by OpenCrypt to send outgoing emails. If you receive this error, contact your system administrator/web hosting company and ask them to install the MIME::Lite Perl module on the web server. This is available from: search.cpan.org.
    Once they have installed the module, the software should function correctly.

    MIME::Lite Source Files:
    http://search.cpan.org/CPAN/authors/id/Y/YV/YVES/MIME-Lite-3.01.tar.gz

  • If when accessing the statistics section of the administration panel you receive a 'Software Error' similar to:

    Can't locate GD/Graph.pm in @INC (@INC contains: /usr/lib/perl5/5.8.5/i38 6-linux-thread-multi /usr/lib/perl5/5.8.5

    This error is received because your server doesn't have the correct Graph Perl module as is used by OpenCrypt to generate statistical analysis graphs. If you receive this error, contact your system administrator/web hosting company and ask them to install the GD::Graph Perl module (including GD:pie3d) on the web server. This is available from: search.cpan.org.

    GD::Graph Source Files:
    http://search.cpan.org/CPAN/authors/id/B/BW/BWARFIELD/GDGraph-1.4308.tar.gz
    Template::Plugin::GD::Graph::pie3d Source Files:
    http://search.cpan.org/CPAN/authors/id/A/AB/ABW/Template-GD-2.66.tar.gz

    Once they have installed the module, the software should function correctly.


    [Top]

    OpenCrypt Installation: Step 3, First Time Installer Routine

    Assuming you have followed step two correctly, OpenCrypt should now be installed and you will have now logged in to your administration panel directory and have been presented with an HTML page. Now, if you have installed OpenCrypt before and would like to skip this part you can by selecting the appropriate link, any users who choose to skip this stage should go directly to the 'Central Configuration' page before using the software. However, first time users please follow the on-screen instructions to be guided through the software configuration. This process will finalise the system configuration and then take you through setting up your first member's area and subscription type.

    If you anticipate having a complex member's area and subscription structure you may wish to skip this stage by selecting the appropriate link. Any users who choose to skip this stage should go directly to the 'Central Configuration' page before using the software.

    1. Outgoing Email Configuration
    OpenCrypt needs to know how to send outgoing emails, you have already inputed your path to SendMail so you don't need to edit anything, but if you would like to use SMTP please select the appropriate checkbox.

    SMTP Address, please enter your SMTP address. This is usually smtp.yourdomain.com but may be the IP address of your server. Contact your system administrator if you are not sure.

    SMTP Timeout, please enter (in seconds) how long the software should attempt to connect to SMTP for before failing. 60 seconds in recommended.

    Outgoing Email Return Address, please enter the email address you would like to use as the sender address for all emails sent my OpenCrypt. Please include a backslash before the @ sign. e.g. email@yourdomain.com

    2. System Owner Configuration
    This allows you to personalise the software and any emails being sent by including your administrator's name and email address and your main web site URL and name.

    Once you have completed the form, select 'Next' to proceed.

    3. Add Your First Member's Area
    For guidance with adding member's area, please refer to the 'Member's Area Manager Documentation'. Once you have completed the form, select 'Next' to proceed.

    4. Add Your First Subscription Type
    For guidance with adding subscription types, please refer to the 'Subscription Manager Documentation'.

    To simplify this stage, if you select 'Free Membership', you only need to complete the first three fields and can ignore all others.

    Once you have completed the form, select 'Next' to proceed.

    5. Registration Form Settings
    This is the final stage of installation and simply allows you to choose which OpenCrypt features you wish to use.

    Once you have completed the form, select 'Next' to proceed.

    6. Installation Complete
    Your OpenCrypt installation is now complete, if you receive any errors at this stage, please contact support.

    You will now be presented with the OpenCrypt Administration Panel, from here you can manage your installation of OpenCrypt.

    If you look to the top right of the page you will see some text saying:
    'Preview: Registration Form, User Account Manager, My Member's Area(s)'.
    Select these links to view the appropriate parts of the software.

    Just above the 'Preview' text you will see links to 'Contact Support', 'Documentation' and 'Report Problem'. Please feel free to use these as you require.

    If you look to the top of the left navigation menu, you will see a link called 'System Details', select this to be presented with a list of all the OpenCrypt CGI files ranging from the user search tool to the user request new password tool, this is simply for your quick reference use.

    To setup 'The OpenCrypt Robot', you will need to setup a Cron job to run robot.cgi once a day. You will most likely need to contact your system administrator in order to do this. The robot.cgi file is located in your /admin/ directory and we would recommend it is run at least once a day at the end of the day, at least ten minutes before the end of day. For larger database, set to 30-60 minutes before end of day. If you are unable to run robot.cgi automatically or do not wish to, please contact us for further information regarding important maintenance of your installation of OpenCrypt.

    After installation is complete, always remember to remove the setup.cgi file or change it's permissions to non-executable (e.g. 200).


    [Top]

    OpenCrypt Plugins: Joomla and WordPress Content Security Tags

    OpenCrypt's Joomla plugin and WordPress plugin both offer a content security tags system. This tags system enables you to include 'OpenCrypt tags' in your posts and content to secure content elements based on the OpenCrypt login system. This enables you to secure content elements so only users who are logged into OpenCrypt can view them, and the tags also offer advanced features so you can secure content for specific membership/subscription groups and even for users who have been registered for a certain length of time enabling you to add content elements which open over time as a user maintains their membership over a period of time.

    Basic Example of Content Security Tags

    A basic example of a content security tag is as follow, this tag will secure the 'Secure Content' text so only users who are logged in may view it.

    Unsecure Content
    [-OPENCRYPT-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    Example of Content Secured for Specific Membership/Subscription Group
    An example of a content security tag which is securing content for a specific membership/subscription group is shown below. The content is secured to a specific subscription ID which is set when creating your membership subscriptions in the OpenCrypt configuration. In this example, we are securing the content for the membership/subscription group with ID 2.

    Unsecure Content
    [-OPENCRYPT/SUB:2-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    Note, the second content security tag does not include the subscription ID condition, if you would prefer to do so to aid your understanding then you can use two matching tags, essentially the second OpenCrypt tag will always end the secure content element irrelevant of the conditions it sets.

    Example of Content Secured for Users Who Have Been Registered for More Than 20 Days
    An example of a content security tag which is securing content for users have been registered for more than 20 days is shown below. The duration of membership is based on the date the account was registered, e.g. the 'Date Opened' value.

    Unsecure Content
    [-OPENCRYPT/DELAY:20-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    Example of Content Secured for Users Who Have Been Registered for More Than 20 Days Under a Specific Membership/Subscription Group
    An example of a content security tag which is securing content for users have been registered for more than 30 days and have a specific membership group is shown below. In this example the content is secured for the membership/subscription group with the ID 3.

    Unsecure Content
    [-OPENCRYPT/SUB:3/DELAY:30-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    Example of Content Security Tag With Multiple Conditions/Values
    The OpenCrypt content security tags can include multiple conditions and values enabling you to open the content to multiple subscription groups, and to set different time delays for the content for each subscription group. The following example builds upon the above example, but sets multiple conditions. Each condition is grouped with curly brackets, e.g. { and }

    In this example, the content is secured for subscription groups 2 and 3, users in subscription group 2 must be registered for 20 days to view the content, users in subscription group 3 must be registered for 30 days to view the content.

    Unsecure Content
    [-OPENCRYPT/{SUB:2/DELAY:20}{SUB:3/DELAY:30}-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    You don't have to set a subscription group and a delay, though if you are setting a delay you should set the subscription group otherwise the multiple conditions wouldn't be needed. In the following example the content is secured for subscription groups 2 and 3, users in subscription group 2 must be registered for 20 days to view the content, users in subscription group 3 can view the content irrelevant of membership duration.

    Unsecure Content
    [-OPENCRYPT/{SUB:2/DELAY:20}{SUB:3}-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    The following example demonstrates securing the content for three subscription groups without any constraints on the duration of membership.

    Unsecure Content
    [-OPENCRYPT/{SUB:2}{SUB:3}{SUB:4}-]
    Secure Content
    [-OPENCRYPT-]
    Unsecure Content

    Rules and Constraints of Content Security Tags

    • You must always have an even number of tags, one to start the secure content element and one to end it. Just like an HTML tag to set bold or italic text, one tag starts the bold text and one ends it.
    • If using Joomla, the content security tags must always have a line break before and after the tag which must be
      tags. When using a WYSIWYG editor in Joomla it is recommended that you check the tags after writing or editing your post by swtiching to the 'HTML' or 'Source Code' view and ensuring there is a
      immediately before and after the content security tag.
      e.g. <br />[-OPENCRYPT-]<br />
    • If using WordPress, the content security tags must always be on their own line without any spaces, indentation, HTML or text before or after the tag on the same line. You may place whatever you like on the line before or after the content security tag, but the tag itself must be on it's own line.
      e.g. Text before tag.
      [-OPENCRYPT-]
      Text after tag.

    Note, installations of the WordPress plugin setup before April 2009 only offer the standard content security tag and do not offer the subscription and time delay conditions.


    [Top]

    OpenCrypt Plugins: Upgrading WordPress with OpenCrypt's WordPress Plugin

    When upgrading your WordPress installation you need to copy across the modifications for OpenCrypt's WordPress plugin to prevent disruption to your system. The plugin is hard-coded into WordPress because unlike Joomla, it doesn't offer a plugins system which gives us the control we need. Firstly, check your wp-config.php file, there are two lines at the top of this which load OpenCrypt's login.php file, these shouldn't be disrupted when you upgrade but it's a good idea to check.

    Secondly, open your existing post-template.php file in a text editor such as TextPad or UltraEdit, the file will be in your /wp-includes/ directory. Use the 'Find' or 'Search' tool in your text editor to search for 'opencrypt'. You will find a line which looks like '# OpenCrypt Modification' in the PHP function get_the_content. You will see a second '# OpenCrypt Modification' line further down in the function. You need to copy the code between these two comments (and the comments). Simply select the text/code between the comments and copy and paste it to your new post-template.php file, the code should go in the get_the_content function right before the 'return $output' line at the end of the function. Save the updated file and re-upload it, then check your hidden content is still hidden and that it appears correctly when you login.


    [Top]

    OpenCrypt System: A guide to customising OpenCrypt to suit your website

    We often receive helpdesk requests relating to modifying the out-of-the-box OpenCrypt product to suit individual sites, and so we've decided to put together a quick guide, with links to the relevant FAQ articles for more information.
     
    Default fonts, colours and table settings are available in the OpenCrypt administration panel, under the section Configuration -> Templates and Styles -> Styles and Colours
     
    All of the user-visible sections of OpenCrypt are template-based, for example manage.cgi, register.cgi and all of the e-mail templates.
     
    The templates are broken down in to four sections:

    • Frontend Templates: These are for the main .cgi powered parts of the user interface.
    • PHP Frontend Templates: These are for the main .php powered sections of the user interface.
    • Outgoing Mail Templates: These are the e-mail templates for e-mails sent using the .cgi powered sections of the interface.
    • PHP Outgoing Mail Templates: These are the e-mail templates for e-mails sent using the .php powered sections of the interface.

    All of the templates are available directly for editing in the OpenCrypt administration panel, under the section Configuration -> Templates and Styles
     
    Depending on your version of OpenCrypt, you may not see all of the options listed above.
     
    Templates can also be modified directly outside of OpenCrypt, they are located by default in the following directories:
    • Frontend: /cgi-bin/oc/admin/templates/en
    • PHP Frontend: /httpdocs/oc/php/templates
    • Outgoing Mail (cgi): /cgi-bin/oc/admin/templates/mail
    • Outgoing Mail (php): /httpdocs/oc/php/templates/mail

    If you are planning to edit the templates directly, you should note that they are not all complete HTML, for example header.tmpl forms half of a page, with footer.tmpl completing the page. For this reason we would advise against opening them directly in WYSIWYG web design software such as Dreamweaver or FrontPage as these tends to disrupt the code as it finalises any such pages. If you need to use such software, either backup the templates first, or if possible, copy code directly from such software into the templates using a standard text-editor. If you are editing on a Windows system, Notepad is not up to the task of code editing, there are some good alternatives, including WordPad, TextPad and Ultra-Edit.
     
    We maintain detailed lists of the purpose of each template. In future versions of OpenCrypt this will be displayed above the template body when editing it using the OpenCrypt interface. They are all located at:
    • Frontend Templates
    • PHP Frontend Templates
    • Mail Templates
    • PHP Mail Templates

    As a final note, we are often asked why OpenCrypt does not make more extensive use of CSS instead of the 'older' tables system. Around 3% of the users of the internet still do not have browsers compatible with CSS, if tables are used in conjunction with CSS, it means that the site will still display in a manner close to the original if CSS is unavailable. There is nothing to stop you adding to any CSS contained in templates and the OpenCrypt system, but before you do, think carefully if it will have any knock-on effect to those visitors who may not be able to use it.


    [Top]

    OpenCrypt System: announcements.cgi and announcements.php

    The announcements.php and announcements.cgi files provide the frontend layout and functionality of the OpenCrypt Announcements system.

    The Announcements system enables you to post announcements to all your members, or to specific members areas. This article details the basic configuration of the announcements system, and the configuration options available.


    The difference bewteen announcements.php and announcements.php

    announcements.php is the latest version of the OpenCrypt announcements frontend system. The PHP interface supports all the latest OpenCrypt announcement features, including the abillity to specify year by query string, to predefine the appropriate members area by variables, and to display an archive of announcements made in different years.

    The available variables for announcements.php must be set in the main announcements.php file, and are:

    $announcement_area enables you to specify which member's area to display announcements for if you are using more than one. For example $announcement_area= "1" will display announcements posted to all member's areas, and those posted specifically to member's area ID 1. If you wish to view announcements sent to all areas, use $announcement_area ="0".

    $announcement_type enables you to specify the ability to view either members area announcements, or those made to administrators (these are normally shown in the Administration Panel), we recommend this is left as $announcement_type = "1" though if you do have a requirement to display Administrator Announcement, you can contact support for additional uses of this variable.

    The available query strings for announcements.php are:

    y= enables you to choose which year to view announcements from, previous and future years will be available in the archive. The default is announcements.php?y=0, for 2009 use announcements.php?y=2009


    announcements.cgi must be included using SSI (server-side includes) and is now available, but depreciated. The announcements.cgi method only allows the restriction by members area as a query string.

    The available query string for announcements.cgi is:

    a= which enables you to define the member's area to view, in a similar manner to the $announcement_area variable used in the PHP interface.

    A typical include for announcements.cgi would be in an HTML or other page placed in a members area, and would look like:

    <!--#include virtual="/cgi-bin/oc/announcements.cgi?a=0"-->

    You must use a relative url. e.g. /dir/dir/announcements.cgi or /cgi-bin/announcements.cgi, not a full path or URL. You may find that you need to use the extension .shtml rather than .html to use SSI tags in your html. If you're not sure, contact your system administrator or have a look at your web host's FAQ page, most good web hosts have them.


    Layout and look of announcements.php and announcements.cgi

    If you are using announcements.php, the standard colours and look will be defined by your header.php and footer.php files.

    The announcements system is also customised using templates available for editing in the Templates and Styles section of the OpenCrypt Administration Panel.

    Templates for announcements.cgi are available in the 'Frontend Templates' section and are prefixed with 'announcements'.

    Templates for announcements.php are available in the 'PHP Frontend Templates' section and are prefixed with 'announcements'.


    [Top]

    OpenCrypt System: Calling logger.cgi via SSI (Server Side Includes)

    logger.cgi can be called via SSI tags in your HTML content to display a variety of information to the visitor about their account.

    To call logger.cgi into your member's area HTML content, simply place the following tag anywhere in your member's area HTML. It is important that firstly, the HTML file you include this tag in is password protected by a .htaccess file and secondly, that you update the relative url to logger.cgi as applicable. For instance, if you have installed OpenCrypt in a /oc/ directory in your /cgi-bin/, it is important to adjust the tag to /cgi-bin/oc/logger.cgi.

    <!--#include virtual="/cgi-bin/logger.cgi"-->


    You must use a relative url. e.g. /dir/dir/logger.cgi or /cgi-bin/oc/logger.cgi, not a full path or URL. You may find that you need to use the extension .shtml rather than .html to use SSI tags in your html. If you're not sure, contact your system administrator or have a look at your web host's FAQ page, most good web host's have them.

    If problem persist, contact your system administrator to verify SSI is enabled.

    You may notice we no longer use 'exec cgi' tags and now use 'include virtual' SSI tags, this is so we can parse query string data to the logger.cgi so we can manipulate the output received more conveniently.

    logger.cgi can be 'called' in a variety of methods to control what user data to display and what software functions to use etc...

    The following options are available: Member's Area ID Assignment, Detail Display Category, Invisible Mode, Charge Points, Disable Logging.

    Member's Area ID Assignment, is used to organise your statistics. By using the query string ?a=ID and replacing ID with your member's area ID, the statistics generated by logger.cgi can be organised when viewed via the 'Member's Area Statistics' section of the administration panel. You can find your member's area id in the 'Member's Area Manager' section of the administration panel 'Configuration' system.

    Example configuration for member's area ID, 3:

    <!--#include virtual="/cgi-bin/logger.cgi?a=3"-->


    Detail Display Category, is used to control what user data to display. Options: d1, d2, d3 and d4. At present only d1 is supported, when enabled it will display basic account details such as username, email, full name, date registered and date or expiration. d2, when added to the software will be used to display custom form fields etc... To use this function, call via query string ?d1=1, set to 1 to enable or 0 to disable. To modify the appearance of these details, modify template file 'logger-d1.tmpl'.

    Example configuration for d1:

    <!--#include virtual="/cgi-bin/logger.cgi?d1=1"-->


    Example configuration for d1 and member's area ID, 7:

    <!--#include virtual="/cgi-bin/logger.cgi?a=7&d1=1"-->


    Invisible Mode, can be used to run logger.cgi silently, without displaying any response so the user is un-aware. This option overrides all other display options. To use this function, call via query string ?i=1, set to 1 to enable and 0 to disable or do not use to ignore.

    Example configuration for invisible mode and member's area ID, 12:

    <!--#include virtual="/cgi-bin/logger.cgi?a=12&i=1"-->


    Charge Points, is used to charge a user a set number of points for accessing the content. This will simply deduct the number of points specified from the user's account, if out of points then the content is not displayed. To use this function, call via query string ?p=POINTS, replacing POINTS with the number of points you would like to charge.

    Example configuration to charge 10 points:

    <!--#include virtual="/cgi-bin/logger.cgi?p=10"-->


    Example configuration to charge 5 points and member's area ID, 1:

    <!--#include virtual="/cgi-bin/logger.cgi?a=1&p=5"-->


    Disable Logging, is used when you simply want to display the user's account details without logging the access. Used in association with the 'Detail Display Categories'. To use this function, call via query string ?l=0&d1, this is enabling d1 display details and disabling logging.

    Example configuration to disable logging and display d1 details:

    <!--#include virtual="/cgi-bin/logger.cgi?d1=1&l=1"-->

    And finally, a more complex example for member's area ID 12, to display details d1, and charge 25 points:

    <!--#include virtual="/cgi-bin/logger.cgi?a=12&d1=1&p=25"-->


    [Top]

    OpenCrypt System: Custom Functions

    The OpenCrypt membership software offers a 'Custom Functions' feature which enables you to add your own Perl code to be run by OpenCrypt whenever an account is registered, updated, removed, renewed or expired. This enables you to integrate third-party software with OpenCrypt, or to extend the actions performed by OpenCrypt.

    The file used to control this functionality in OpenCrypt is called 'custom_functions.pl', this is located in the /cgi-bin/oc/admin/includes directory.

    Their are nine functions included in this file which are outlined below:

    &custom_function_register
    This function is run whenever an account is created. It is important to check an account is active if that is relevant to your process since the function isn't just run when an account is finally created.
    This function is called with an array called @data containing the account details from the oc_users table. $data[0] would be the username, $data[2] the email address.

    &custom_function_modify
    This function is called when an account is modified/updated. This function is called with the $username variable so you must check the oc_users and oc_user_data tables for the updated data as you require.

    &custom_function_remove
    This function is called when an account is removed. This function is called with the $username variable.

    &custom_function_expire
    This function is called when an account is expired. This function is called with the $username variable.

    &custom_function_renew
    This function is called when an account is renewed. This function is called with the $username variable.

    &custom_function_form_constraints
    This function enables us to hide custom form fields. This function is called with the $field_id variable and returns the $hide_field variable. If $hide_field equals '1' then the field is hidden.

    &custom_function_form_validation1, &custom_function_form_validation2, &custom_function_form_validation3
    This function enables us to add our own custom field validation. When adding a custom form field you may select the 'Field Validation' as 'Custom Validation Function 1', '2' or '3', depending upon which is selected the appropriate function will be run. The function is called with the $field_value variable which contains the data entered into the field. If the function returns '1' the validation has been parsed successfully, if the function returns '0' then the validation has failed and the error message will be displayed.

    Please note, we are happy to answer any questions regarding these functions but we cannot offer support for your Perl code.


    [Top]

    OpenCrypt System: Custom Shipping, Payment Methods and TAX Calculations

    The OpenCrypt membership software offers support for custom shipping, payment methods and TAX calculations. This enables us to calculate the cost of shipping based on the weight of the products purchased (if applicable) and we can base the conditions on any data the user has entered, such as their location. The same functionality applies to TAX calculations which can be calculated for specific counties/states or countries. You could even setup a postcode specific TAX if you wished. You have complete control over these conditions and the rate of shipping or percentage TAX to be charged. We can also setup thresholds for free shipping and shipping base rates depending upon user input (including location).

    The custom payment methods functionality enables us to setup payment pages, so for example we can offer a 'Cheque/Postal Order' payment page which includes the same invoice as the online payment page, but includes instructions for offline payments rather than online payment.

    To setup customer payment methods, shipping and TAX calculations go to the 'Configuration' -> 'Advanced Settings' -> 'Payment Methods, Shipping and TAX' section of the OpenCrypt administration panel.

    Please contact support with any questions you have when configuring this.


    [Top]

    OpenCrypt System: Customising header.php and footer.php

    Including the PHP login interface and Shopping Cart, using the header.php and footer.php files provided with OpenCrypt is a task that many new customers need to complete to make the most of OpenCrypt's functionality.

    This article will walk you through a very basic example using a simple, fictional existing HTML page, and the contents of the required PHP files following the theme that already exists in the HTML.



    Our basic HTML page is for the fictional company 'Oli's Oil Depot', a screenshot of the page without any of OpenCrypt's functions is provided below, along with the standard HTML.


    HTML for this page:

    <html>
    <head>
    <title>Oli's Oil Depot</title>
    </head>
    <body bgcolor="#eeeeee" text="#800000" link="#EE0000" alink="#EE0000" vlink="#EE0000">
     
    <center>
    <table width="900" cellpadding=10 cellspacing=0 border=0>
     
    <!-- HEADER -->
    <tr><td colspan=2>
    <img src="oli-oil.gif" hspace=5 align=left>&nbsp;<br>
    <span style="font-family:Lucida Sans;font-size:40px;">Oli's Oil Depot</span><br>
    <span style="font-family:Lucida Sans;font-size:20px;">Your only source for oil!</span>
    </td></tr>
    <!-- END HEADER -->
     
    <tr>
     
    <!-- MENU -->
    <td width=150>
    <span style="font-family:Lucida Sans;font-size:18px;font-decoration:italic;line-height:30px;">
    <a href="#">Home</a><br>
    <a href="#">Services</a><br>
    <a href="#">About</a>
    </span>
    </td>
    <!-- END MENU -->
     
    <!-- CONTENT -->
    <td>
    <span style="font-family:Lucida Sans;font-size:18px;font-decoration:italic;">
     
    Welcome to Oli's Oil Depot, your only source for oil! We stock all types of oil, including crude oil, fish oil, olive oil and sunflower oil. All our oil is freshly squeezed and possibly the slimiest available.
     
    </span>
    </td>
    <!-- END CONTENT -->
     
    </tr>
     
    <!-- FOOTER -->
    <tr><td colspan=2 align=center>
    <span style="font-family:Lucida Sans;font-size:10px;">&nbsp;<br>Copyright &copy; Oli's Oil Depot.</span>
    </td></tr>
    <!-- END FOOTER -->
     
    </table>
    </center>
     
    </body>
    </html>


    Migrating Code to header.php and footer.php

    The first editing task to perform on your code is to seperate out all the elements that you'll be using in every page, whether they are static HTML or PHP code. Once you've identified these, move them into the header.php file in their appropriate locations.

    In our example, we will be migrating the page header and logo, the navigation bar, and the footer containing copyright information into the appropriate PHP files.

    The first steps we have taken are opening the main HTML file, and header.php, and including all of our main HTML code in the body section of header.php, and updating the Title element in the head.

    The CSS in the header.php file is used to control the elements of the shopping cart, login interface and other HTML elements, and the actual CSS values are taken from the OpenCrypt Styles and Colours configuration, though these can be amended if required. inline CSS is used to ensure that display errors would not be caused by a missing external CSS file.

    Note that the site is enclosed in a table to ensure that this is visible to all users regardless of whether they have CSS enabled. The table width is defined in the OpenCrypt Styles and Colours configuration.

    Everything past the content section of the HTML will be included in the footer.php file, to ensure that this is maintained across every page of the site too.



    Including the OpenCrypt login interface and shopping cart.

    We've decided to include the login interface alongside the logo and page title. All that is required for this is to define the table cell to hold the login interface, and then require the login_html.php as defined in the second PHP section of header.php

    We've decided to include the shopping basket just beneath the copyright notice at the bottom of the page, this can be done by implementing the final PHP section of the header.php file in the location you require.


    header.php code:

    <?PHP
    ini_set('error_reporting', E_ALL | E_STRICT);
    ini_set('display_errors', 'Off');
    # This line must be at the beginning of the file, before the <html> tag. This loads everything...
    if ("$skip_header"!="1") {
    require "php/login.php";
    }
    print "$extra";
    print <<<END
     
    <html><head>
    <title>$sub_title - $site_name</title>
    <style type="text/css">
    .span_font_header { font-family : $font_header_face; font-size : 16px; color : $font_header_color; }
    a.span_font_header { color: $font_header_color; text-decoration: none; }
    a.span_font_header:hover { color: $font_header_color; text-decoration: underline; }
    .span_font { font-family : $font_face; font-size : 13px; color : $font_color; }
    a.span_font { color: $font_color; text-decoration: none; }
    a.span_font:hover { color: $font_color; text-decoration: underline; }
    .span_font_alert { font-family : $font_face; font-size : 13px; color : $font_alert_color; }
    a.span_font_alert { color: $font_alert_color; text-decoration: none; }
    a.span_font_alert:hover { color: $font_alert_color; text-decoration: underline; }
    .span_font_note { font-family : $font_note_face; font-size : 12px; color : $font_note_color; }
    a.span_font_note { color: $font_note_color; text-decoration: none; }
    a.span_font_note:hover { color: $font_note_color; text-decoration: underline; }
    .span_font_warning { font-family : $font_face; font-size : 12px; color : $font_warning_color; }
    a.span_font_warning { color: $font_warning_color; text-decoration: none; }
    a.span_font_warning:hover { color: $font_warning_color; text-decoration: underline; }
     
    td.class_table_second_color { background-color: $table_second_color; padding-left: 8px; padding-right: 8px; padding-top: 6px; padding-bottom: 6px; }
    td.class_table_first_color { background-color: $table_first_color; padding-left: 8px; padding-right: 8px; padding-top: 6px; padding-bottom: 6px; }
    td.class_table_header_color { background-color: $table_header_color; border-bottom: 1px solid $table_first_color; padding-left: 8px; padding-right: 8px; padding-top: 8px; padding-bottom: 8px; }
     
    input { color: #000000; background: #f5f5f5; border: 1px solid #000080 }
    submit { color: #000000; background: #f5f5f5; border: 1px solid #000080 }
    select { background-color: #f5f5f5; color: #000000; border: 1px solid #000080 }
    textarea { background-color: #f5f5f5; color: #000000; border: 1px solid #000080 }
     
    .payment_button { color: none; background: none; border: 0px }
    .buybutton {font-family: Verdana, Arial; font-size: 12px; color: #fff; font-weight: bold; height: 23px; cursor: pointer; padding-left: 5px; padding-right: 5px; align: center; background-color: #ff0000}
    .cartbuybutton {font-family: Verdana, Arial; font-size: 11px; color: #fff; font-weight: bold; cursor: pointer; padding-left: 5px; padding-right: 5px; align: center; background-color: #ff0000}
     
    </style>
    $header_extra
    </head><body bgcolor="#eeeeee" text="#800000" link="#EE0000" alink="#EE0000" vlink="#EE0000">
    <center>
    <table width="$table_width" cellpadding=10 cellspacing=0 border=0>
     
    <!-- HEADER -->
    <tr><td colspan=2>
    <img src="oli-oil.gif" hspace=5 align=left>&nbsp;<br>
    <span style="font-family:Lucida Sans;font-size:40px;">Oli's Oil Depot</span><br>
    <span style="font-family:Lucida Sans;font-size:20px;">Your only source for oil!</span>
    </td>
    <td width=300 align=right>
     
    END;
    require "php/login_html.php";
    print<<<END
    <br />
     
    END;
     
    if ("$shopping_basket") {
     
    print <<<END
    <form action="basket.php" method="get" style="margin:0px">
     
    <table cellpadding="8" cellspacing="0" border="0">
    <tr><td align=center nowrap>
    <font face="Verdana" size="1">&nbsp;$shopping_basket&nbsp;</font>
    </td></tr></table>
     
    </form>
    END;
     
    } else {
    print "&nbsp;";
    # If not shopping basket contents, display nothing...
    }
     
    print <<<END
     
    </td>
    </tr>
    <!-- END HEADER -->
     
    <tr>
     
    <!-- MENU -->
    <td width=150>
    <span style="font-family:Lucida Sans;font-size:18px;font-decoration:italic;line-height:30px;">
    <a href="#">Home</a><br>
    <a href="#">Services</a><br>
    <a href="#">About</a>
    </span>
    </td>
    <!-- END MENU -->
     
    <!-- CONTENT -->
    <td>
    <span style="font-family:Lucida Sans;font-size:18px;font-decoration:italic;">
    END;
    ?>


    footer.php code:

    <?PHP
    print<<<END
     
    </span>
    </td>
    <!-- END CONTENT -->
     
    </tr>
     
    <!-- FOOTER -->
    <tr><td colspan=3 align=center>
    <span style="font-family:Lucida Sans;font-size:10px;">&nbsp;<br>Copyright &copy; Oli's Oil Depot.</span>
    </td></tr>
     
    <!-- END FOOTER -->
     
    </table>
    </center>
     
    </body>
    </html>
    END;
    ?>



    Building Content Files

    All that is left now is to build the appropriate content page, in this case, we've seperated the content from the section commented as 'Content' from the original HTML, migrated it to it's own PHP file, and then included the header.php and footer.php files.

    With this done, all that's needed for other content files is to build them in a similar manner to this one. Should we need to update menus, logo's etc. then this only needs to be done in the header.php or footer.php files as required.

    Example HTML for content page:

    <?PHP
    require "header.php";
     
    print<<<END
     
    Welcome to Oli's Oil Depot, your only source for oil! We stock all types of oil, including crude oil, fish oil, olive oil and sunflower oil. All our oil is freshly squeezed and possibly the slimiest available.
     
    END;
     
    require "footer.php";
    ?>


    [Top]

    OpenCrypt System: dispatch.cgi

    The dispatch.cgi file provides the ability to re-request a file sent to a user with the OpenCrypt eDelivery Add-On.

    This article details the basic configuration of the dispatch.cgi, and the configuration options available.


    Basic usage of dispatch.cgi

    dispatch.cgi enables a user to re-request any file which they may have been given with the OpenCrypt eDelivery system. It works by allowing the user to select the appropriate file, and then triggering a new e-mail with the appropriate file to go to their registered e-mail address. This will then display a confirmation that the mail has been sent

    dispatch.cgi must be included using SSI in an HTML file that is placed in your members area.

    You can include dispatch.cgi via SSI using the following code:

    <!--#exec cgi="/cgi-bin/oc/dispatch.cgi"-->

    You must use a relative url. e.g. /dir/dir/dispatch.cgi or /cgi-bin/dispatch.cgi, not a full path or URL. You may find that you need to use the extension .shtml rather than .html to use SSI tags in your html. If you're not sure, contact your system administrator or have a look at your web host's FAQ page, most good web host's have them.


    Layout and look of dispatch.cgi

    The look of dispatch.cgi can be customised using templates available for editing in the Templates and Styles section of the OpenCrypt Administration Panel. Templates relating to dispatch.cgi are prefixed with the word 'dispatch'.


    [Top]

    OpenCrypt System: download.cgi and download.php

    The download.php and download.cgi files provide the frontend layout and functionality of the OpenCrypt Download Manager.

    This article details the basic configuration of the download manager, and the configuration options available.


    The difference between download.cgi and download.php

    download.php is the latest version of the OpenCrypt download manager. The PHP interface supports all the latest OpenCrypt download manager features, including the ability to restrict downloads by username or subscriptions groups (for logged in users), limits on the total number of downloads, and whether points are charged to users for each download.

    download.cgi must be included using SSI (server-side includes) and is now available, but depreciated. The download.cgi method only allows limiting the total number of downloads, and charging points (if enabled).

    You can include download.cgi via SSI using the following code:

    <!--#exec cgi="/cgi-bin/oc/download.cgi"-->

    You must use a relative url. e.g. /dir/dir/download.cgi or /cgi-bin/logger.cgi, not a full path or URL. You may find that you need to use the extension .shtml rather than .html to use SSI tags in your html. If you're not sure, contact your system administrator or have a look at your web host's FAQ page, most good web host's have them.


    Layout and look of download.php and download.cgi

    If you are using download.php, the standard colours and look will be defined by your header.php and footer.php files.

    The download manager is also customised using templates available for editing in the Templates and Styles section of the OpenCrypt Administration Panel.

    Templates for download.cgi are available in the 'Frontend Templates' section and are prefixed with 'download'.

    Templates for download.php are available in the 'PHP Frontend Templates' section and are prefixed with 'download'.


    [Top]

    OpenCrypt System: Email Template File Descriptions

    The OpenCrypt system emails are all template based to simplify your customisation. The following .tmpl files are used by OpenCrypt's CGI files when sending emails.

    admin-email-approve.tmpl
    This is the mail sent to the user when registration has been approved if administrator validation is enabled
     
    admin-email-decline.tmpl
    This is the mail sent to the user when registration has been declined if administrator validation is enabled
     
    admin-helpdesk-message.tmpl
    This is the mail sent to the administrator when a helpdesk ticket has been replied when using the Helpdesk Add-On
     
    admin-helpdesk-new-ticket.tmpl
    This is the mail sent to the user to confirm a new ticket has been created from a message when using the Helpdesk Add-On
     
    admin-helpdesk-ticket.tmpl
    This is the mail sent to the administrator confirm a new ticket has been created when using the Helpdesk Add-On
     
    admin-register-notify.tmpl
    This is the mail sent to the administrator when a new user has completed registration
     
    deliver-file.tmpl
    This is the mail sent to the user with a link to an eDelivery file when using the eDelivery Add-On
     
    email_footer.tmpl
    This is the main e-mail footer for all e-mails
     
    email_header.tmpl
    This is the main e-mail header for all e-mails
     
    helpdesk-message.tmpl
    This is the mail sent to the user when their helpdesk ticket has been updated when using the Helpdesk Add-On
     
    helpdesk-ticket.tmpl
    This is the mail sent to the user when a new helpdesk ticket has been received from them
     
    manage-email-approve.tmpl
    This is the mail sent to the user to validate a new e-mail address if they update it in manage.cgi
     
    manage-email-password.tmpl
    This is the mail sent to the user to confirm a change of password if they request this in manage.cgi
     
    order-dispatched.tmpl
    This is the mail sent to the user to confirm an order dispatched when using the Shopping Cart
     
    order-ordered.tmpl
    This is the mail sent to the user to confirm an order with item out of stock when using the Shopping Cart
     
    product-deliver.tmpl
    This is the mail sent to the user to confirm products which are delivered or to be delivered when purchased either with the Shopping Cart or as part of the user registration process
     
    product-email.tmpl
    This is the mail sent to the administrator to confirm a product purchase either with the Shopping Cart or as part of the user registration process
     
    register-complete.tmpl
    This is the mail sent to the user when registration is complete, containing all of their registration and account details, this is used when administrator validation is not enabled
     
    register-email-approve.tmpl
    This is the mail sent to the user upon registration when account activation is enabled
     
    register-email-complete.tmpl
    This is the mail sent to the user upon registration when account activation is enabled and complete
     
    robot-email-activate.tmpl
    This is the mail sent by the robot when an account has been created and is awaiting user activation
     
    robot-email-expired.tmpl
    This is the mail sent by the robot when an account subscription has expired and needs renewal
     
    robot-email-pre-expire.tmpl
    This is the mail sent by the robot when an account is close to expiry
     


    [Top]

    OpenCrypt System: Frontend Template File Descriptions

    The entire OpenCrypt frontend is template based to simplify your customisation. The following .tmpl files are used by OpenCrypt and can be edited via the 'Templates and Styles' section of the 'Configuration' section of the OpenCrypt administration panel.

    acct-suspended-no-credits.tmpl
    Displayed when a user runs out of points whilst accessing the member's area
     
    affiliate-campaigns-view.tmpl
    Displayed when a specific campaign is viewed by an affiliate in affiliate.cgi
     
    affiliate-campaigns.tmpl
    Displayed when affiliate wishes to view an overview of campaigns in affiliate.cgi
     
    affiliate-home.tmpl
    Main affiliates page in affiliate.cgi
     
    affiliate-login.tmpl
    Login page displayed to affiliate in affiliate.cgi
     
    affiliate-nav-menu.tmpl
    Navigation menu displayed in affiliate.cgi
     
    affiliate-register-entry.tmpl
    Displays the coupon code field in the registration form if Affiliates Add-On is used
     
    affiliate-signup-complete.tmpl
    Displayed to affiliates once they have completed registration in affiliate.cgi
     
    affiliate-signup.tmpl
    Signup page displayed to affiliates during registration in affiliate.cgi
     
    affiliate-stat-line.tmpl
    Individual lines of affiliate statistics in affiliate.cgi
     
    affiliate-stats.tmpl
    Affiliate statistics in affiliate.cgi
     
    affiliate-update.tmpl
    Update account form for affiliate.cgi
     
    announcements.tmpl
    Used for announcements.cgi to display announcements via SSI in member's area content
     
    download-item.tmpl
    Item description and details in the download manager when installed
     
    download-rejected.tmpl
    Displayed when item cannot be downloaded due to download limit in the Download Manager Add-On
     
    base_template.tmpl
    The combined header and footer template, used by frontend scripts (e.g. manage.cgi) when user is not logged-in
     
    base_template_secure.tmpl
    The combined header and footer template, used by user account manager (manage.cgi) when user is logged-in
     
    dispatch-item.tmpl
    This is the template for dispatch.cgi, used by the eDelivery system
     
    download-error.tmpl
    Displayed when there is an error with a file downloaded in the Download Manager Add-On
     
    failed_login.tmpl
    Displayed when an user attempt at login fails
     
    footer.tmpl
    Footer template used by register.cgi
     
    forbidden_login.tmpl
    Displayed when attempt at login fails and user account is blocked
     
    header.tmpl
    Header template used by register.cgi
     
    home-home.tmpl
    Used by home.cgi to display member's area details and some system information to visitors
     
    home-profile.tmpl
    Used by home.cgi to display user profiles which are linked to by search.cgi
     
    invoice-product-item.tmpl
    Used when displaying additional product item in invoice
     
    logger-d1.tmpl
    Used by logger.cgi when called via SSI using ?d1=1 query string tag to display user details in member's area content
     
    manage-advertising.tmpl
    Used in manage.cgi for user to manage their advertising when Advertising Add-On is installed
     
    manage-classifieds-create.tmpl
    Used in manage.cgi for user to create a classified ad when Classified Ads Add-On is installed
     
    manage-classifieds-modify.tmpl
    Used in manage.cgi for user to amend a classified ad when Classified Ads Add-On is installed
     
    manage-classifieds-success.tmpl
    Used in manage.cgi to confirm classified create or modify succesful when Classified Ads Add-On is installed
     
    manage-classifieds.tmpl
    Used in manage.cgi to display classified ads section for user when Classified Ads Add-On is installed
     
    manage-cv.tmpl
    Used in manage.cgi for user to control their CV when Jobs Add-On is installed
     
    manage-fileshare.tmpl
    Used in manage.cgi for user to control filesharing when Fileshare Add-On is installed
     
    manage-home.tmpl
    Manage.cgi main login/welcome page. Lists basic user details and welcomes user
     
    manage-login.tmpl
    Manage.cgi login page requesting username and password input
     
    manage-lost-password.tmpl
    Manage.cgi request new password form
     
    manage-lost-password2.tmpl
    Manage.cgi request new password confirmation page
     
    manage-mailing-list.tmpl
    Manage.cgi mailing list subscription preferences form
     
    manage-mailing-list2.tmpl
    Manage.cgi mailing list subscription preferences confirmation page
     
    manage-mailing-table-rows.tmpl
    Used by manage-mailing-list to list available mailing list options
     
    manage-modify-title.tmpl
    Used by manage.cgi when modifying user Title details
     
    manage-modify.tmpl
    Manage.cgi modify account details form
     
    manage-modify2.tmpl
    Manage.cgi modify account details confirmation page
     
    manage-nav-menu.tmpl
    The navigation menu used in manage.cgi
     
    manage-password.tmpl
    Manage.cgi change password form
     
    manage-password2.tmpl
    Manage.cgi change password confirmation page
     
    manage-payment-history.tmpl
    Manage.cgi user payment history listing
     
    manage-payment-invoice.tmpl
    Manage.cgi user invoice listing
     
    manage-points-item.tmpl
    Specific items for purchase points form in manage.cgi
     
    manage-points.tmpl
    Manage.cgi purchase points form
     
    manage-points2-1.tmpl
    Pre-payment review for points purchase in manage.cgi where custom payment methods are enabled
     
    manage-points2-2.tmpl
    Pre-payment review for points purchase in manage.cgi where custom payment methods are enabled
     
    manage-points2.tmpl
    Pre-payment review for points purchase in manage.cgi where custom payment methods are enabled
     
    manage-points3.tmpl
    Confirmation of points purchase in manage.cgi where custom payment methods are enabled
     
    manage-product-line.tmpl
    Used by manage-products to display individual products
     
    manage-products.tmpl
    Used by manage-points to display products available for purchase
     
    manage-pts-inv-line.tmpl
    Individual invoice line for points purchase in manage.cgi
     
    manage-remove-disabled.tmpl
    Manage.cgi remove account page when account removal is disabled
     
    manage-remove.tmpl
    Manage.cgi remove account form
     
    manage-remove2.tmpl
    Manage.cgi remove account confirmation page
     
    manage-renew-done.tmpl
    Manage.cgi account renewal complete confirmation page
     
    manage-renew.tmpl
    Manage.cgi account renewal details page
     
    manage-renew2.tmpl
    Manage.cgi account renewal stage 2
     
    manage-renew3.tmpl
    Manage.cgi account renewal stage 3 (input payment details)
     
    manage-update-card.tmpl
    Update stored payment card details in manage.cgi
     
    manage-usage.tmpl
    Total files and data transferred in a billing period in manage.cgi
     
    manage-validate-code.tmpl
    Manage.cgi validate activation code (when changing email address)
     
    manage-validate-complete.tmpl
    Manage.cgi activation code validation complete confirmation page
     
    opencrypt-linkback.tmpl
    The linkback to OpenCrypt.com to show your thanks and support. If you want to remove the linkback, check the 'Central Configuration' section of the administration panel for the 'OpenCrypt Linkback' option
     
    payment-card-confirm.tmpl
    Confirm payment card details when registering and renewing an account
     
    payment-card-entry.tmpl
    Enter payment card details when registering and renewing an account
     
    pre-process-payment-methods.tmpl
    Select payment method when payment and multiple-payment methods enabled
     
    pre-process-payment-shipping-methods.tmpl
    Select preferred shipping method when shipping methods enabled
     
    pre-process-payment.tmpl
    Main pre-process payment form for when shipping methods, payment methods or multiple-payment methods are enabled
     
    process-payment-1.tmpl
    Shows summary of registration and allows an additional payment method to be used when custom payment methods are enabled
     
    process-payment-2.tmpl
    Shows summary of registration and an additional payment method to be used when custom payment methods are enabled
     
    process-payment.tmpl
    Presents user with details of purchase and forwards user to make payment or requests card details (dependant upon payment processor)
     
    product-item-header.tmpl
    Table header used when displaying additional products
     
    product-item.tmpl
    Table contents when displaying additional products
     
    register-change-subscription.tmpl
    Allows subscriptions to be changed in register.cgi
     
    register-checkbox.tmpl
    Register.cgi, if terms and conditions agreement is by checkbox, this is the HTML used at the top of the register.cgi registration form
     
    register-closed.tmpl
    Register.cgi signup disabled notice page
     
    register-complete.tmpl
    Register.cgi signup complete confirmation page
     
    register-custom-field.tmpl
    Used to display individual custom form fields/groups
     
    register-direct-login.tmpl
    Used upon registration confirmation to display login details immediately so user doesn't need to check email
     
    register-email-activation.tmpl
    Register.cgi signup requires email validation confirmation page
     
    register-email-field.tmpl
    Used in registration form when requesting email address
     
    register-end.tmpl
    Used to end the registration form table
     
    register-home.tmpl
    Register.cgi terms and conditions before registration form page
     
    register-no-checkbox.tmpl
    Register.cgi, if terms and conditions agreement is not by checkbox, this is the HTML used at the top of the register.cgi registration form
     
    register-paid-complete.tmpl
    Register.cgi payment complete confirmation page
     
    register-password-fields.tmpl
    Used in registration form when requesting password and confirmation password input
     
    register-post-registration.tmpl
    Used for the top of the table in the second registration page if enabled. i.e. After email activation when displaying additional products or custom form fields
     
    register-product-footer.tmpl
    Footer used for bottom of additional products section of registration form
     
    register-product-header.tmpl
    Header used for top of additional products section of registration form
     
    register-retrieve-validate-code-resend.tmpl
    Register.cgi request lost validation/activation code form
     
    register-retrieve-validate-code.tmpl
    Register.cgi request lost validation/activation code confirmation page
     
    register-subscription-list-desc.tmpl
    Used by register-subscription-list in regstration form to display a drop-down list of available subscription choices
     
    register-subscription-list-desc2.tmpl
    Used by register-subscription-list in regstration form to display a radio-button list of available subscription choices
     
    register-subscription-list.tmpl
    Used in registration form when displaying subscription types/details in drop-down format
     
    register-subscription-list2.tmpl
    Used in registration form when displaying subscription types/details in radio-button format
     
    register-terms.tmpl
    Register.cgi terms and conditions before registration form page
     
    register-user-actual-fields.tmpl
    Used in registration form when requesting first name and last name inputs
     
    register-user-title-field.tmpl
    Used in registration form when requesting title input
     
    register-username-fields.tmpl
    Used in registration form when requesting username input
     
    register-validate-code.tmpl
    Register.cgi input validation/activation code form
     
    register-validate-complete.tmpl
    Register.cgi input validation/activation code confirmation page
     
    robot-template.tmpl
    Robot.cgi template used for header and footer or web output of robot.cgi and email report
     
    robot.tmpl
    Robot.cgi template used for body of robot-template template file and used in reports database to be displayed in the administration panel
     


    [Top]

    OpenCrypt System: How do I change the header and footer templates used by OpenCrypt?

    The pages provided by OpenCrypt are made out of a number of templates. In this case, because you wish to modify the header and footer, you would modify the 'header.tmpl' file, then the 'footer.tmpl' file, you would then modify the 'base_template.tmpl' and 'base_template_secure.tmpl' files, which is both the header and footer file combined, with a %content% tag in between.  These templates are usually in /cgi-bin/oc/admin/templates/en/ (unless another directory name was used during installation).

    The OpenCrypt PHP scripts use the header.php and footer.php files which are in the /oc/ directory (unless another directory name was used during installation).

    header.tmpl and footer.tmpl are used by register.cgi.  base_template.tmpl is used by manage.cgi, and base_template_secure.tmpl is used by manage.cgi when the user is logged in.  The various templates enable you to style OpenCrypt to use a different design when the user is registering and when they are managing their account.  Note, base_template.tmpl and base_template_secure.tmpl can be identical.

    To locate the different templates, go to your OpenCrypt administration panel and click on 'Templates and Styles' link under the 'Configuration' section. Select the template you wish to alter from the list next to 'Open Frontend Template'. Select the appropriate language group, and click 'Open Template'. You should now be able to see the template of your choice. To view and edit the html, you need to click on a little icon called ?Toggle HTML Source?. (The icon looks like a tiny blue page with one corner folded over). Once you have clicked on it, you should be able to see that template in HTML.

    Alternatively, on the previous page (where you selected which template to modify) you can select the 'Disable WYSIWYG' option, this will load the template source code, we advise you do this with the majority of the template files because the WYSIWYG editor can sometimes disrupt the HTML. For example, some template files may open an HTML table, but the table is closed in another template file. The WYSIWYG editor then considers this an HTML error and amends this, most of the time this does not occur and the WYSIWYG editor can be used problem free. You can alter the HTML to whatever you like then toggle icon again to see what it looks like. When you have finished altering that template, click on 'Save Template'.

    Tip: If you can only write basic HTML it is a good idea to copy and paste the original HTML to a word or notepad file and save it somewhere on your computer before you start to make changes. That way, if you accidentally delete a crucial piece of code, you can simply copy and paste the original back into the template and start again.


    [Top]

    OpenCrypt System: logger.cgi, Statistics and Logging Tool

    This script is part of the OpenCrypt frontend and is used to track member's area accesses etc... It can be called via SSI (Server Side Includes) to display a variety of user information and to log a user accessing the member's area or content.


    [Top]

    OpenCrypt System: My Member's Area(s)

    The My Member's Area(s) section of the administration panel is designed to allow you to quickly view paths and statistics for your OpenCrypt protected member's areas.


    My Member's Area contains a list with links to all of your currently configured member's area(s)

    Each available members area will be listed with its ID, Name (and link to members area for testing) and details as to how many people are registered to each member's area, and how many times it has been accessed.


    [Top]

    OpenCrypt System: Online Shopping Cart and 'Add to Cart' Buttons

    The OpenCrypt shopping cart/basket system enables us to integrate shopping cart buttons anywhere within our web site content. These can be used to sell any product with a fixed fee and can be customised to work in numerous different ways, when selected the item is added to the shopping cart and the button can change.
     
    We can also setup custom responses to shopping cart purchases, for example adding records to your software licensing database automatically or sending files via email after purchase. Add to cart buttons can have customisable quantity inputs and products can also be assigned weights so shipping costs can be calculated based on the products purchased. You can also detect if a user has purchased a particular product and display different content as you require.
     

    • For guidance setting up 'Add to Cart' buttons, please see the PHP Login Interface documentation.
    • For guidance setting up custom shipping costs, please see the Custom Shipping, Payment Methods and TAX Calculations documentation.
    • For a demonstration on the online shopping cart system, please see the Shopping Cart Integration demonstration.


    [Top]

    OpenCrypt System: OpenCrypt's SQL Database Structure

    If you are familiar with SQL database management you can manage OpenCrypt's database directly using SQL management tools such as phpMyAdmin.
     
    The mySQL database is split into database tables for specific purposes, these are as follows:
     

    Table Name Table Description
    oc_administrators Administrator account/user details.
    oc_admin_ext_stats Administration panel 'Important Information/Data For Your Attention' data.
    oc_admin_statistics Administration panel access log.
    oc_ads Ad manager add-on ad configurations.
    oc_ad_campaigns Ad manager add-on ad campaigns.
    oc_ad_clicks Ad manager add-on ad click log.
    oc_ad_impressions Ad manager add-on ad impression log.
    oc_ad_zones Ad manager add-on ad zones.
    oc_affiliate_campaigns Affiliate system add-on affiliate campaigns.
    oc_affiliate_config Affiliate system add-on campaign configurations.
    oc_affiliate_coupons Affiliate system add-on affiliate coupon tracking.
    oc_affiliate_sales Affiliate system add-on affiliate sales records.
    oc_affiliate_users Affiliate system add-on affiliate users.
    oc_announcements Announcements data for administrator and member's area announcements.
    oc_article_comments Article manager add-on comments.
    oc_article_data Article manager add-on article data.
    oc_article_group Article manager add-on article groups/categories.
    oc_article_updates Article manager add-on article updates/revisions pending review.
    oc_backups Records of system backups (backups stored in /cgi-bin/oc/admin/backup).
    oc_banned Banned user records.
    oc_billing Billing/sales records.
    oc_block_users Blocked user records.
    oc_config_value Configuration values for automated records/configuration, not for system configuration.
    oc_db_integration Database integration records.
    oc_dispatch_files eDelivery add-on data.
    oc_domains Multi-domain support database.
    oc_donations Donation records for donation 'Add to Cart' buttons.
    oc_downloads Download manager files/records.
    oc_faq_articles FAQ manager add-on article data.
    oc_faq_categories FAQ manager add-on article categories.
    oc_faq_revisions FAQ manager add-on article revisions/updates pending review.
    oc_faq_submissions FAQ manager add-on user submitted questions pending review.
    oc_fields Custom form fields data.
    oc_field_group Custom form field groups data.
    oc_forms Survey/input forms add-on form records.
    oc_form_fields Survey/input forms add-on form fields.
    oc_form_pages Survey/input forms add-on form page records.
    oc_form_results Survey/input forms add-on submission results for fields.
    oc_form_result_strings Survey/input forms add-on submission result identifier.
    oc_gallery_files Picture gallery add-on files/pictures.
    oc_gallery_group Picture gallery add-on groups/categories.
    oc_geoip IP Location API cache.
    oc_helpdesk_answers Helpdesk add-on answer library data.
    oc_helpdesk_files Helpdesk add-on file attachments.
    oc_helpdesk_messages Helpdesk add-on messages.
    oc_helpdesk_tickets Helpdesk add-on tickets.
    oc_invoices Invoice/sales records.
    oc_mailing_lists Mailing list records.
    oc_members_area Member's area records.
    oc_messages User messaging add-on messages.
    oc_messages_files User messaging add-on message file attachments.
    oc_pending_transactions Pending transaction data, created before payment.
    oc_points_actions Action log for points balance system.
    oc_products Product records/data.
    oc_product_associations Product association feature is not available in distributed package.
    oc_product_categories Product categories data.
    oc_product_reviews Product reviews/comments.
    oc_product_user_associations Product association feature is not available in distributed package.
    oc_psapi Payment API temporary transaction data.
    oc_reports OpenCrypt Robot Reports data/reports.
    oc_shopping_purchases User product purchase records/data.
    oc_shopping_sessions User shopping basket data.
    oc_statistics Frontend access log.
    oc_subscriptions Subscription records/data.
    oc_text Text tags/language translation data.
    oc_users Primary user database.
    oc_user_cc User payment card details.
    oc_user_data User custom form field data/records.
    oc_user_files File sharing add-on file records.
    oc_user_file_links File sharing add-on file sharing link records.
    oc_user_mailing User mailing list assignment records.
    oc_user_sessions User sessions data.
    oc_videos Video manager data/records.

     
    Data associated to a user may be stored in the following tables, if removing a user ensure you check the following tables:
    • oc_ad_campaigns
    • oc_affiliate_sales
    • oc_article_comments
    • oc_article_updates
    • oc_billing
    • oc_block_users
    • oc_classifieds
    • oc_content_reports
    • oc_donations
    • oc_faq_revisions
    • oc_faq_submissions
    • oc_form_result_strings (and associated oc_form_results)
    • oc_helpdesk_tickets (and associated oc_helpdesk_files and oc_helpdesk_messages)
    • oc_invoices
    • oc_messages (and associated oc_messages_files)
    • oc_pending_transactions
    • oc_points_actions
    • oc_shopping_purchases
    • oc_shopping_sessions
    • oc_statistics
    • oc_users
    • oc_user_cc
    • oc_user_data
    • oc_user_files (and associated oc_user_file_links)
    • oc_user_mailing
    • oc_user_sessions


    [Top]

    OpenCrypt System: Personal Page Redirection Template Tags and Variables List

    The following list of tags are suitable for use in personal page redirection templates.

    Generic Tags will always be available for use

    %username%- User Name
    %email% - Email Address
    %fname% - First Name
    %lname% - Last Name
    %date_opened% - Date Account Created
    %date_expire% - Date Account Expires
    %sub_id% - Subscription ID
    %sub_name% - Subscription Name

     

    Custom Form Field Tags will depend on your custom form field configuration and are always in the following format.

    %field1% - Custom Form Field 1
    %field2% - Custom Form Field 2 etc.


    [Top]

    OpenCrypt System: PHP Email Template Descriptions

    The OpenCrypt system emails are all template based to simplify your customisation. The following .tmpl files are used by OpenCrypt's PHP files when sending emails.

    admin-helpdesk-message.tmpl
    This is the mail sent to the administrator when a helpdesk ticket has been replied when using the Helpdesk Add-On
     
    admin-helpdesk-ticket.tmpl
    This is the mail sent to the administrator confirm a new ticket has been created when using the Helpdesk Add-On
     
    email_footer.tmpl
    This is the main e-mail footer for all PHP based e-mails
     
    email_header.tmpl
    This is the main e-mail header for all PHP based e-mails
     
    helpdesk-lookup.tmpl
    This is the mail sent to a user when they have requested a lookup of all helpdesk tickets associated with their e-mail address when using the Helpdesk Add-On
     
    helpdesk-message.tmpl
    This is the mail sent to the user when their helpdesk ticket has been updated when using the Helpdesk Add-On
     
    helpdesk-ticket.tmpl
    This is the mail sent to the user when a new helpdesk ticket has been received from them
     
    survey-results.tmpl
    This is the mail sent to the user to confirm their submission of a survey when using the Surveys/Input Forms Add-On
     


    [Top]

    OpenCrypt System: PHP Template File Descriptions

    The entire OpenCrypt frontend is template based to simplify your customisation. The following .tmpl files are used by OpenCrypt's PHP files such as basket.php and can be edited via the 'Templates and Styles' section of the 'Configuration' section of the OpenCrypt administration panel.


    In addition to the templates, OpenCrypt's PHP scripts also use the header.php and footer.php files to manage their site design. These are similar to the header.tmpl and footer.tmpl files used by the OpenCrypt CGI files. The header.php and footer.php files are used by OpenCrypt's PHP scripts and can be used with the your PHP enabled website to manage the site design for all your pages.


    The header.php file should be updated to use the same design as your site, for example the CSS and navigation elements. It is used to for all of the PHP OpenCrypt functions, including the shopping cart and helpdesk.

    The footer.php file should also be updated to use the same design as your site if required. It should be included at the end of any page using header.php
     

    announcements-archive.tmpl
    Displays archived announcements/news articles
     
    announcements-cats.tmpl
    Displays categories for announcements/news articles
     
    announcements-item.tmpl
    Used when displaying individual announcement items
     
    articles-add.tmpl
    Template used with Article Manager when user wishes to add article
     
    articles-comment-item.tmpl
    Template used with Article Manager when displaying a specific comment
     
    articles-comment.tmpl
    Template used with Article Manager to allow viewing and adding of comments
     
    articles-overview.tmpl
    Template used with Article Manager to display overview of articles
     
    articles-secure.tmpl
    Template used with Article Manager for articles only available to those logged in
     
    articles-toc-category.tmpl
    Template used with Article Manager to show categories in Table of Contents
     
    articles-toc-item.tmpl
    Template used with Article Manager to show individual items in Table of Contents
     
    articles-toc.tmpl
    Template used with Article Manager to show overview of Table of Contents
     
    articles-update.tmpl
    Template used with Article Manager to enable user to update article
     
    articles-update2.tmpl
    Template used with Article Manager to confirm update of article to user
     
    articles-viewed.tmpl
    Template used with Article Manager to show viewed articles
     
    download-base.tmpl
    Template used with download.php to show main download page
     
    download-item.tmpl
    Template used with download.php to show each download item
     
    fileshare.tmpl
    Template used with FileSharing Add-On to enable users to file-share
     
    fileshare_view.tmpl
    Template used with FileSharing Add-On to show files shared by user
     
    gallery_base.tmpl
    Template used with Gallery Add-On to form main Gallery body
     
    gallery_cat_inline.tmpl
    Template used with Gallery Add-On to show inline category
     
    gallery_file_inline.tmpl
    Template used with Gallery Add-On to show inline file
     
    gallery_file_preview.tmpl
    Template used with Gallery Add-On to show preview of file
     
    gallery_file_preview_inline.tmpl
    Template used with Gallery Add-On to show preview of file inline
     
    gallery_search.tmpl
    Template used for Gallery Add-On search feature
     
    helpdesk-captcha.tmpl
    Provides the CAPTCHA as part of a helpdesk ticket request when Helpdesk Add-On installed
     
    helpdesk-list-ticket-item.tmpl
    Used to display each item in a list of helpdesk tickets when Helpdesk Add-On installed
     
    helpdesk-list-ticket.tmpl
    Used to display list of helpdesk tickets when Helpdesk Add-On installed
     
    helpdesk-lookup-ticket.tmpl
    Used to display lookup facilities so user can find ticket when Helpdesk Add-On installed
     
    helpdesk-lost-ticket.tmpl
    Used to find lost ticket identifier by e-mail address when Helpdesk Add-On installed
     
    helpdesk-lost-ticket2.tmpl
    Used to lost confirm ticket identifiers have been sent by e-mail when Helpdesk Add-On installed
     
    helpdesk-new-complete.tmpl
    Used to confirm new ticket once created with Helpdesk Add-On installed
     
    helpdesk-new.tmpl
    Used to create new helpdesk ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-attach-item.tmpl
    Used to display individual item in ticket attachments list when viewing ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-attach.tmpl
    Used to display ticket attachments list when viewing ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-details.tmpl
    Used when viewing helpdesk tickets to display ticket details with Helpdesk Add-On installed
     
    helpdesk-view-ticket-message.tmpl
    Used to display message header in helpdesk tickets when viewing a ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-other-item.tmpl
    Used to display individual item in other tickets list when viewing a ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-other-lookup.tmpl
    Used to display other ticket lookup in other tickets list when viewing a ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-other.tmpl
    Used to display list of users other tickets when viewing a ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket-update.tmpl
    Used to display section which allows ticket to be updated when viewing a ticket with Helpdesk Add-On installed
     
    helpdesk-view-ticket.tmpl
    Used as main layout of ticket when viewing ticket with Helpdesk Add-On is installed
     
    messages-forward-complete.tmpl
    Used when forwarding of message complete with User Messaging Add-On is installed
     
    messages-forward.tmpl
    Used when forwarding a message with User Messaging Add-On is installed
     
    messages-home.tmpl
    Used to display main user messaging screen when User Messaging Add-On is installed
     
    messages-listings-inbox-item.tmpl
    Used to display an individual item in the inbox when User Messaging Add-On is installed
     
    messages-listings-inbox.tmpl
    Used to to display the inbox when User Messaging Add-On is installed
     
    messages-listings-outbox-item.tmpl
    Used to display an individual item in the outbox when User Messaging Add-On is installed
     
    messages-listings-outbox.tmpl
    Used to display the outbox when the User Messaging Add-On is installed
     
    messages-new-complete.tmpl
    Used to display a confirmation when a new message has been sent with the User Messaging Add-On installed
     
    messages-new-username.tmpl
    Used to choose the username of the recipient of a message when User Messaging Add-On is installed
     
    messages-new.tmpl
    Used to create a new message when the User Messaging Add-On is installed
     
    messages-photo.tmpl
    Used to display users profile picture when the User Messaging Add-On is installed
     
    messages-points.tmpl
    Used to display points section when User Messaging Add-On is installed
     
    messages-reply-complete.tmpl
    Used to display confirmation that a reply has been sent when User Messaging Add-On is installed
     
    messages-reply.tmpl
    Used to reply to a message when User Messaging Add-On is installed
     
    messages-view-reply.tmpl
    Used to view reply when User Messaging Add-On is installed
     
    messages-view.tmpl
    Used to view a message when User Messaging Add-On is installed
     
    messages.tmpl
    Used to form the main interface of the User Messaging Add-On
     
    php-failed-login.tmpl
    Used to display details of a failed login when using the PHP login interface
     
    php-logged-in.tmpl
    Used to display confirmation of login when using the PHP login interface
     
    php-login-clean.tmpl
    Used to display cut-down PHP login interface
     
    php-login.tmpl
    Used to display main PHP login interface
     
    php-logout.tmpl
    Used to confirm logout when using the PHP login interface
     
    shopping-basket-item.tmpl
    Used to display an individual item in a shopping basket
     
    shopping-basket.tmpl
    Used to display the shopping basket
     
    shopping-not-registered.tmpl
    Used to display a login interface and option to register for shopping basket
     
    shopping-registered.tmpl
    Used to display a proceed-to-checkout link for shopping basket when user is logged in
     
    survey_form.tmpl
    Used to display the main body of a survey when the Surveys/Input Forms Add-On is installed
     
    survey_question.tmpl
    Used to display a question in a survey when the Surveys/Input Forms Add-On is installed
     
    survey_result.tmpl
    Used to display survey results when the Surveys/Input Forms Add-On is installed
     


    [Top]

    OpenCrypt System: Setting up Personal Page Redirection

    This article details the basic configuration of OpenCrypt's Personal Page Redirection system, which enables a user to see their own personal page when logging in to a specific member's area.


    Enabling Personal Page Redirection

    Personal Page Redirection must be configured in two places, the global settings regarding file types are available in the 'Configuration -> System Settings -> Central Configuration' section of the OpenCrypt Administration Panel.

    The 'Uniqe Personal Directory/File' option allows you to choose whether each member is given their own directory, or a file within the specified member's area. If 'No' is entered, the user will get their own directory in the member's area. If a directory name is entered, then a file will be created for each user in the location specified, with the default file extension. Some examples are listed below:

    Set to No - Each member would get their own directory, for example www.opencrypt.com/members/myuser/ This is the most secure method, other members are prevented from accessing each others members directories with .htaccess protection.

    Set to newdirectory - Each member would get their own file in the www.opencrypt.com/members/newdirectory/ directory. If HTML file extension is set to HTML, this would be www.opencrypt.com/members/newdirectory/myuser.html. This method is less secure as users may guess each others static HTML/PHP files. Please note, you may set HTML file extension to PHP if you wish to use PHP scripts for each user.


    Once the Central Configuration is set correctly, Personal Page Redirection must be enabled in the specific member's areas requiring it. To do this, you will need to add or modify an existing member's area in the 'Configuration -> General Settings -> Member's Area Manager' section of the OpenCrypt Administration Panel.

    Once you have opened or created a new member's area, simply tick the 'Enable Personal Page Redirection' checkbox at the bottom of the Modify/Add screen.


    Configuring Templates for Personal Pages

    Once personal page redirection is enabled, templates will need to be defined for each member's area that requires a personal page. This template must be defined in the 'System Settings -> Templates and Styles' section of the Administration Panel, or uploaded to the correct templates directory via FTP.

    To create a new Personal Page template, select the 'Create New Template' option from the menu, once the editor is loaded, select 'Personal Page' as the template type, enter the language code, and for the template filename, ensure that the template is named per<mem area id>, so for a member's area ID of 3, per3.tmpl

    You may use any standard HTML (and PHP if using PHP files) in each template, and in addition, all of the OpenCrypt variables are available to you.

    As an example, the following code in a template would welcome the user, and display their account details using the logger.cgi include.

    <p>Hello %username%,<br />
    Your registered email address is: %email%</p>
    <p>You entered the following data in our additional field: %field1%</p>
    <!--#include virtual="/cgi-bin/logger.cgi?a=3&d1=1"-->


    [Top]

    OpenCrypt System: shop.php Online Shop

    The shop.php file powers the OpenCrypt online shop, with full customisation achieved by the templates provided in the OpenCrypt Administration Panel, and with some additional PHP variables.


    The OpenCrypt shop can be customised by modifying templates in the 'Templates and Styles' section of the OpenCrypt Administration Panel, all shop templates are available in the 'PHP Frontend Template' section and are prefixed with 'product'.

    The OpenCrypt shop also supports the use of custom templates for each shop item and category, to use these, please define a new template in the 'PHP Frontend Templates' section of the 'Templates and Styles' section of the Administration panel, and then enter the template name in the shop product configuration.


    The OpenCrypt shop also supports PHP variable access to all of the shop information, including the data held in the 'Custom Fields' and 'Custom Options' for each product. This is designed to enable you to provide advanced product listings if required.

    The products_fields.php file is designed to allow you to perform further processing on information in these 'Custom Options' and 'Custom Fields', for example, you can replace an option value with a link.

    The variables used to handle the 'Custom Fields' are $product_custom1 to $product_custom10.

    The variables used to handle the 'Custom Options' are $product_option1 to $product_option5.

    Some example uses could be:


    If option one is set, replace option one with a hyperlink:

    if ($product_option1=="1") {

    $product_option1 = "<a href="http://url.to/demo/$product_id/">Click here to view demonstration.</a>";

    } else {

    $product_option1 = "";

    }

    If custom field 3 is set, show custom field 3 in bold:

    if ($product_custom3 !="") {

    $product_custom3 = "<strong>$product_custom3</strong>";

    }


    These outputs will be inserted into your templates in the corresponding %product_option1% section, where 1 is the number of the option, or field used.


    [Top]

    OpenCrypt System: System Details

    The System Details section of the administration panel is designed to allow you to quickly view paths and server configurations for your OpenCrypt system.


    OpenCypt Files and Functions contains a list with links to all the major paths used by your OpenCrypt system, for example the location of the registration form.

    OpenCrypt Add-Ons contains a list of all your currently installed add-ons, including links to the paths where they are located.

    System Details contains your current OpenCrypt version number, license key, installation date, and details of the server that OpenCrypt is installed on.


    [Top]

    OpenCrypt System: Un-blocking users from the OpenCrypt system.

    Go to the 'Database Management' section of the administration panel and select 'mySQL Table Management'. Clear the 'oc_block_users' database. If the user is blocked from the administration panel, clear the 'oc_admin_statistics' database. If the user is blocked from a member's area, clear the 'oc_statistics' database, then go back to the 'Database Management section and select '.htaccess Rebuild'.


    [Top]

    OpenCrypt System: Which page do I send my customers to so that they can enter my member's area?

    Well, that depends on where you have put your member's area. When you set up the member's area in OpenCrypt, you will have specified the location of it. To find it again, log in to your OpenCrypt administration panel. Under 'Configuration' on the left hand select menu, click on 'Member?s Area(s)'. Select the member's area you want to send your visitors to and click on ?Modify?. You should now be looking at a page which tells you where your members area is, the ?Path to Member?s Area Directory? is basically the folder that your member's area is in and the ?URL to Member?s Area? is the one which should take you to the entry page of your member's area on your website, that?s the one you want. To make sure it is correct, copy it and paste it into the address bar of your browser. Then visit the page (you will need a login and password of course).

    Alternatively, on the top right of the administration panel you will see three 'Preview' links, select 'My Member's Areas'. This will list all your current member's area directories. Simply click on the one you wish to visit.

    Submitted with thanks to, L Betts.


    [Top]

    PHP Login Interface: PHP Login Interface Tutorial and Guidance (version 1.3)

    This documentation is updated with each new version of the software, please check you are viewing the correct documentation for your installation of OpenCrypt by going to: http://www.opencrypt.com/faq.php?c=25

    The PHP login interface enables you to integrate user login with the content of your web site and use an HTML login interface embedded in your web pages rather than using the traditional pop-up login prompt. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'. This means you can offer seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site. Within minutes you can create sophisticated content structures, for example opening additional content in the web site for each additional month or day a user is registered, this is ideal for e-book's and online courses.

    Configuration
    Setting up the PHP login interface does require some knowledge of PHP, if you have some experience with PHP you should not have any trouble. If you are a novice computer user you may find this complicated, please feel free to contact us with your questions, however please keep in mind that our technical support team is not here to teach your to program PHP and can only offer basic guidance and advice.

    login.php is located in the 'php' directory which you will find in your OpenCrypt images directory. login.php is the main PHP application, four template files are also included; php-login.tmpl, php-failed-login.tmpl, php-logout.tmpl and php-logged-in.tmpl.

    Open login.php in your favourite text editor (do not use NotePad), at the top of the file you will see the following lines:

    $dbhost = "localhost";
    $dbname = "DATABASENAME";
    $dbuser = "DATABASEUSERNAME";
    $dbpass = "DATABASEPASSWORD";
    $login_cookie_name = "LOGINCOOKIE";
    $login_cookie_time = "3600"; # 1 hour
    $templates_dir = "/path/to/images/php";
    $url_cgi = "http://www.yourdomain.com/cgi-bin/oc";

    We will go through these line by line, to find out what your correct inputs are please refer to the 'Central Configuration' section of your administration panel.

    $dbhost = "localhost"; - The address for your mySQL database host.

    $dbname = "DATABASENAME"; - The name of your mySQL database.

    $dbuser = "DATABASEUSERNAME"; - Username used to access your mySQL database.

    $dbpass = "DATABASEPASSWORD"; - Password used to access your mySQL database.

    $login_cookie_name = "LOGINCOOKIE"; - Cookie name (best not to modify).

    $login_cookie_time = "3600"; # 1 hour - Cookie length in seconds.

    $url_cgi = "http://www.yourdomain.com/cgi-bin/oc"; - URL of your OpenCrypt CGI directory (which contains register.cgi and manage.cgi).

    $templates_dir = "/path/to/images/php"; - Absolute/full server path to your PHP directory containing the template files.

    Once modified, simply re-upload login.php.

    Basic Usage
    To create a login interface, simply create a PHP file for your member's area content, this can simply be an HTML which you have renamed as a '.php' file.

    Place the following text in the PHP file:

    <?PHP
    require "login.php";
    ?>

    This will load the PHP login interface and will display the login prompt (php-login.tmpl). As a side note, if for whatever reason you wish to load login.php without the login prompt HTML being displayed, simply use the following text:

    <?PHP
    $hide_login = "1";
    require "login.php";
    ?>

    If using the first example, you will see a login prompt in the HTML/PHP document. You will see you can login, logout and so fourth, but at this stage it does not unlock any secure content. We do this using conditional statements based around the '$login_successful' variable. If a user is logged in, '$login_successful' will equal '1', if they have failed to login it will equal '0'.

    An example of a basic query follows:

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    This query is within it's own PHP area in the document, and would need the 'require ?login.php?' code to be elsewhere in the PHP document (before the conditional statement), you can include the statement with with the require line.

    For example:

    <?PHP
    require "login.php";

    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    The above two examples show a 'logged in' message when the user is logged in, and a 'not logged in' message when they are not.

    These conditional statements form the basis for the login interface and these are what must be used to setup the secure and public content. You may place as many of these statements in a document as you wish, though you should only 'require' login.php once in the document.

    Example of PHP document:

    <html>
    <head><title>Document</title></head>
    <body bgcolor="#ffffff" text="#000080" link="#800000">
    <center><table width=650 cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor="#000080"><font face="Arial" size="3" color="#eeeeee"><b>An Example PHP Login Interface</b></font></td></tr>
    <tr><td valign=top><font face="Arial">Introduction Text<p>
    Here is an example, below you will see a login prompt.<P>

    <?PHP
    require "login.php";
    ?>

    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">You have now logged in and opened the secure content in this document.</font>
    END;
    } else {
    print <<<END
    Here is some content for non registered users.
    END;
    }
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">Second secure content area
    END;
    } else {
    print <<<END
    Here is some more content for non registered users.
    END;
    }
    ?>

    <p></td></tr></table></center></body></html>

    This example includes two areas of secure content which will open when logged in.

    Data Import
    The following user data tags may be used in any .tmpl file.

    %self% - Location of self, e.g. The file being called via the browser.
    %url_cgi% - URL to directory containing OpenCrypt.
    %username% - Logged in username.
    %email% - User's email address.
    %fname% - User's first name.
    %lname%- User's last name.
    %sub_id% - User's subscription id.
    %language% - User's language.
    %date_opened% - User's date of account opening.
    %date_expire%- User's data of account expiration.
    %points% - User's points count.
    %session% - Session id, used for PHP login and User Account Manager login.

    The following user data may be displayed in any secure content (values will be blank if not logged in), document must be PHP and must 'require' login.php.

    $envself - Location of self, e.g. The file being called via the browser.
    $url_cgi - URL to directory containing OpenCrypt.
    $dbusername - Logged in username.
    $dbemail - User's email address.
    $dbfname - User's first name.
    $dblname - User's last name.
    $dbsub_id - User's subscription id.
    $dblanguage - User's language.
    $dbvcode - User's validation code (if account not active).
    $dbstage - User's account stage (if account not active, or being renewed).
    $dbactive - User's account status.
    $dbdate_opened - User's date of account opening.
    $dbdate_expire - User's date of account expiration.
    $dbpoints - User's points count.
    $session - Session id, used for PHP login and User Account Manager login.
    $envip - User's IP address.
    $envref - User's referrer.
    $envbrow - User's web browser.

    A handy tip, users can move between the PHP login interface and any User Account Manager function thanks to the sessions system. Simply use the following link in your PHP documents:

    $url_cgi/manage.cgi?s=$session&a=home

    Or in the templates files:

    %url_cgi%/manage.cgi?s=%session%&a=home

    You can replace 'home' with other functions such as 'modify' or 'renew', to link directly to update account details or renew the account.

    Points System
    To deduct points from an account, use the following code:

    $points = charge_points("10");
    if ("$points" == "0") {
    print "error";
    } else {
    print "ok";
    }

    This example will charge the logged in user, 10 points. If they do not have enough points, 'error' is displayed, otherwise 'ok' is displayed.

    Logging System
    login.php will automatically log all accesses to the frontend statistics database, this includes the location of the file being loaded. If for some reason you wish to add additional logging, use the following code:

    frontend_log("action");

    Replace 'action' with the action id you wish to log. An example that is already is use in the software is:

    frontend_log("php_logged_in($envself)");


    [Top]

    PHP Login Interface: PHP Login Interface Tutorial and Guidance (version 1.4)

    This documentation is updated with each new version of the software, please check you are viewing the correct documentation for your installation of OpenCrypt by going to: http://www.opencrypt.com/faq.php?c=25

    The PHP login interface enables you to integrate user login with the content of your web site and use an HTML login interface embedded in your web pages rather than using the traditional pop-up login prompt. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'. This means you can offer seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site. Within minutes you can create sophisticated content structures, for example opening additional content in the web site for each additional month or day a user is registered, this is ideal for e-book's and online courses.

    Configuration
    Setting up the PHP login interface does require some knowledge of PHP, if you have some experience with PHP you should not have any trouble. If you are a novice computer user you may find this complicated, please feel free to contact us with your questions, however please keep in mind that our technical support team is not here to teach your to program PHP and can only offer basic guidance and advice.

    login.php is located in the 'php' directory which you will find in your OpenCrypt images directory. login.php is the main PHP application, login_config.php is the configuration file, four template files are also included; php-login.tmpl, php-failed-login.tmpl, php-logout.tmpl and php-logged-in.tmpl.

    OpenCrypt version 1.4 offers an automated configuration tool, to configure your 'PHP Login Interface' simply go to the 'PHP Login Interface' section of your administration panel configuration and follow the on-screen instructions.

    Alternatively, to configure the 'PHP Login Interface' manually, open login_config.php in your favourite text editor (do not use NotePad), at the top of the file you will see the following lines:

    $dbhost = "localhost";
    $dbname = "DATABASENAME";
    $dbuser = "DATABASEUSERNAME";
    $dbpass = "DATABASEPASSWORD";
    $login_cookie_name = "LOGINCOOKIE";
    $login_cookie_time = "3600"; # 1 hour
    $templates_dir = "/path/to/images/php";
    $url_cgi = "http://www.yourdomain.com/cgi-bin/oc";

    We will go through these line by line, to find out what your correct inputs are please refer to the 'Central Configuration' section of your administration panel.

    $dbhost = "localhost"; - The address for your mySQL database host.

    $dbname = "DATABASENAME"; - The name of your mySQL database.

    $dbuser = "DATABASEUSERNAME"; - Username used to access your mySQL database.

    $dbpass = "DATABASEPASSWORD"; - Password used to access your mySQL database.

    $login_cookie_name = "LOGINCOOKIE"; - Cookie name (best not to modify).

    $login_cookie_time = "3600"; # 1 hour - Cookie length in seconds.

    $url_cgi = "http://www.yourdomain.com/cgi-bin/oc"; - URL of your OpenCrypt CGI directory (which contains register.cgi and manage.cgi).

    $templates_dir = "/path/to/images/php"; - Absolute/full server path to your PHP directory containing the template files.

    Once modified, simply re-upload login_config.php.

    Basic Usage
    To create a login interface, simply create a PHP file for your member's area content, this can simply be an HTML which you have renamed as a '.php' file.

    Place the following text in the PHP file:

    <?PHP
    require "login.php";
    ?>

    This will load the PHP login interface and will display the login prompt (php-login.tmpl). As a side note, if for whatever reason you wish to load login.php without the login prompt HTML being displayed, simply use the following text:

    <?PHP
    $hide_login = "1";
    require "login.php";
    ?>

    If using the first example, you will see a login prompt in the HTML/PHP document. You will see you can login, logout and so fourth, but at this stage it does not unlock any secure content. We do this using conditional statements based around the '$login_successful' variable. If a user is logged in, '$login_successful' will equal '1', if they have failed to login it will equal '0'.

    An example of a basic query follows:

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    This query is within it's own PHP area in the document, and would need the 'require ?login.php?' code to be elsewhere in the PHP document (before the conditional statement), you can include the statement with with the require line.

    For example:

    <?PHP
    require "login.php";

    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    The above two examples show a 'logged in' message when the user is logged in, and a 'not logged in' message when they are not.

    These conditional statements form the basis for the login interface and these are what must be used to setup the secure and public content. You may place as many of these statements in a document as you wish, though you should only 'require' login.php once in the document.

    Example of PHP document:

    <html>
    <head><title>Document</title></head>
    <body bgcolor="#ffffff" text="#000080" link="#800000">
    <center><table width=650 cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor="#000080"><font face="Arial" size="3" color="#eeeeee"><b>An Example PHP Login Interface</b></font></td></tr>
    <tr><td valign=top><font face="Arial">Introduction Text<p>
    Here is an example, below you will see a login prompt.<P>

    <?PHP
    require "login.php";
    ?>

    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">You have now logged in and opened the secure content in this document.</font>
    END;
    } else {
    print <<<END
    Here is some content for non registered users.
    END;
    }
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">Second secure content area
    END;
    } else {
    print <<<END
    Here is some more content for non registered users.
    END;
    }
    ?>

    <p></td></tr></table></center></body></html>

    This example includes two areas of secure content which will open when logged in.

    Data Import
    The following user data tags may be used in any .tmpl file.

    %self% - Location of self, e.g. The file being called via the browser.
    %url_cgi% - URL to directory containing OpenCrypt.
    %username% - Logged in username.
    %email% - User's email address.
    %fname% - User's first name.
    %lname%- User's last name.
    %sub_id% - User's subscription id.
    %language% - User's language.
    %date_opened% - User's date of account opening.
    %date_expire%- User's data of account expiration.
    %points% - User's points count.
    %session% - Session id, used for PHP login and User Account Manager login.

    The following user data may be displayed in any secure content (values will be blank if not logged in), document must be PHP and must 'require' login.php.

    $envself - Location of self, e.g. The file being called via the browser.
    $url_cgi - URL to directory containing OpenCrypt.
    $dbusername - Logged in username.
    $dbemail - User's email address.
    $dbfname - User's first name.
    $dblname - User's last name.
    $dbsub_id - User's subscription id.
    $dblanguage - User's language.
    $dbvcode - User's validation code (if account not active).
    $dbstage - User's account stage (if account not active, or being renewed).
    $dbactive - User's account status.
    $dbdate_opened - User's date of account opening.
    $dbdate_expire - User's date of account expiration.
    $dbpoints - User's points count.
    $session - Session id, used for PHP login and User Account Manager login.
    $envip - User's IP address.
    $envref - User's referrer.
    $envbrow - User's web browser.

    A handy tip, users can move between the PHP login interface and any User Account Manager function thanks to the sessions system. Simply use the following link in your PHP documents:

    $url_cgi/manage.cgi?s=$session&a=home

    Or in the templates files:

    %url_cgi%/manage.cgi?s=%session%&a=home

    You can replace 'home' with other functions such as 'modify' or 'renew', to link directly to update account details or renew the account.

    Points System
    To deduct points from an account, use the following code:

    $points = charge_points("10");
    if ("$points" == "0") {
    print "error";
    } else {
    print "ok";
    }

    This example will charge the logged in user, 10 points. If they do not have enough points, 'error' is displayed, otherwise 'ok' is displayed.

    Logging System
    login.php will automatically log all accesses to the frontend statistics database, this includes the location of the file being loaded. If for some reason you wish to add additional logging, use the following code:

    frontend_log("action");

    Replace 'action' with the action id you wish to log. An example that is already is use in the software is:

    frontend_log("php_logged_in($envself)");


    [Top]

    PHP Login Interface: PHP Login Interface Tutorial and Guidance (version 1.5)

    This documentation is updated with each new version of the software, please check you are viewing the correct documentation for your installation of OpenCrypt by going to: http://www.opencrypt.com/faq.php?c=25

    The PHP login interface enables you to integrate user login with the content of your web site and use an HTML login interface embedded in your web pages rather than using the traditional pop-up login prompt. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'.

    The PHP login interface offers seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site. Within minutes you can create sophisticated content structures, for example opening additional content in the web site for each additional month or day a user is registered, this is ideal for e-book's and online courses.

    Note, the 'PHP Login Interface' is used instead of the standard pop-up prompt, it does not work with the pop-up login prompt as a method of providing an HTML login form!

    Configuration
    Setting up the PHP login interface does require some knowledge of PHP, if you have some experience with PHP you should not have any trouble. If you are a novice computer user you may find this complicated, please feel free to contact us with your questions, however please keep in mind that our technical support team is not here to teach your to program PHP and can only offer basic guidance and advice.

    login.php is located in the 'php' directory which you will find in your OpenCrypt 'Path to HTTPDocs' directory. login.php is the main PHP application, login_config.php is the configuration file, login_html.php is used to display the login prompt, four template files are also included for use with login.php; php-login.tmpl, php-failed-login.tmpl, php-logout.tmpl and php-logged-in.tmpl.

    OpenCrypt version 1.5 does not require that you configure the 'PHP Login Interface' like previous versions, the system should be automatically configured. The configuration is updated whenever you adjust your 'Central Configuration', 'Register and Manage', 'Styles and Colours', 'Anti-Hack', 'OpenCrypt Robot' or 'E-Commerce Integration' configuration using the OpenCrypt administration panel.

    Basic Usage
    To create a login interface, simply create a PHP file for your member's area content, this can simply be an HTML file which you have renamed as a '.php' file.

    Place the following text in the PHP file at the very top of the file:

    <?PHP
    require "login.php";
    ?>

    It is critical that this is at the top of the file, their must be no HTML, text or blank lines above this text.

    This code will load the PHP login interface and associated functions including the shopping cart.

    Note, in the require statements you may wish to use a full/absolute server path. To do this, look in your 'Central Configuration' and take the 'Path to HTTPDocs', then simply add '/php/' to the end of the path. e.g. /path/to/httpdocs/oc/php/ and place this before the file name in the require statement. For example:

    <?PHP
    require "/path/to/httpdocs/oc/php/login.php";
    ?>

    As explained earlier, login.php does not display the login prompt, to do this we use login_html.php. Simply include the following code anywhere in the PHP document (after the login.php code):

    <?PHP
    require "login_html.php";
    ?>

    If you now load your PHP document on the web server, you will see a login prompt in the HTML/PHP document. You will see you can login, logout and so fourth, but at this stage it does not unlock any secure content. We do this using conditional statements based around the '$login_successful' variable. If a user is logged in, '$login_successful' will equal '1', if they have failed to login it will equal '0'.

    An example of a basic query follows:

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    This query is within it's own PHP area in the document, and would need the 'require "login_html.php";' code to be elsewhere in the PHP document, you can include the statement with the require line.

    For example:

    <?PHP
    require "login_html.php";

    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    The above two examples show a 'logged in' message when the user is logged in, and a 'not logged in' message when they are not.

    These conditional statements form the basis for the login interface and these are what must be used to setup the secure and public content. You may place as many of these statements in a document as you wish, though you should only 'require' login.php and login_html.php once in each document.

    Example of PHP document:

    <?PHP
    require "login.php";
    ?>
    <html>
    <head><title>Document</title></head>
    <body bgcolor="#ffffff" text="#000080" link="#800000">
    <center><table width=650 cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor="#000080"><font face="Arial" size="3" color="#eeeeee"><b>An Example PHP Login Interface</b></font></td></tr>
    <tr><td valign=top><font face="Arial">Introduction Text<p>
    Here is an example, below you will see a login prompt.<P>

    <?PHP
    require "login_html.php";
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">You have now logged in and opened the secure content in this document.</font>
    END;
    } else {
    print <<<END
    Here is some content for non registered users.
    END;
    }
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">Second secure content area
    END;
    } else {
    print <<<END
    Here is some more content for non registered users.
    END;
    }
    ?>

    <p></td></tr></table></center></body></html>

    This example includes two areas of secure content which will open when logged in.

    Data Import
    The following user data tags may be used in any .tmpl file.

    %self% - Location of self, e.g. The file being called via the browser.
    %url_cgi% - URL to directory containing OpenCrypt.
    %username% - Logged in username.
    %email% - User's email address.
    %fname% - User's first name.
    %lname%- User's last name.
    %sub_id% - User's subscription id.
    %language% - User's language.
    %date_opened% - User's date of account opening.
    %date_expire%- User's data of account expiration.
    %points% - User's points count.
    %session% - Session id, used for PHP login and User Account Manager login.

    The following user data may be displayed in any secure content (values will be blank if not logged in), document must be PHP and must 'require' login.php.

    $envself - Location of self, e.g. The file being called via the browser.
    $url_cgi - URL to directory containing OpenCrypt.
    $dbusername - Logged in username.
    $dbemail - User's email address.
    $dbfname - User's first name.
    $dblname - User's last name.
    $dbsub_id - User's subscription id.
    $dblanguage - User's language.
    $dbvcode - User's validation code (if account not active).
    $dbstage - User's account stage (if account not active, or being renewed).
    $dbactive - User's account status.
    $dbdate_opened - User's date of account opening.
    $dbdate_expire - User's date of account expiration.
    $dbpoints - User's points count.
    $session - Session id, used for PHP login and User Account Manager login.
    $envip - User's IP address.
    $envref - User's referrer.
    $envbrow - User's web browser.

    A handy tip, users can move between the PHP login interface and any User Account Manager function thanks to the sessions system. Simply use the following link in your PHP documents:

    $url_cgi/manage.cgi?s=$session&a=home

    Or in the templates files:

    %url_cgi%/manage.cgi?s=%session%&a=home

    You can replace 'home' with other functions such as 'modify' or 'renew', to link directly to update account details or renew the account.

    Points System
    To deduct points from an account, use the following code:

    $points = charge_points("10");
    if ("$points" == "0") {
    print "error";
    } else {
    print "ok";
    }

    This example will charge the logged in user, 10 points. If they do not have enough points, 'error' is displayed, otherwise 'ok' is displayed.

    Logging System
    login.php will automatically log all accesses to the frontend statistics database, this includes the location of the file being loaded. If for some reason you wish to add additional logging, use the following code:

    frontend_log("action");

    Replace 'action' with the action id you wish to log. An example that is already is use in the software is:

    frontend_log("php_logged_in($envself)");

    Shopping Basket
    login.php will automatically detect and display a summary of the users shopping basket/cart, to display the cart summary, simply use the following code:

    print "$shopping_basket";

    Or, if for example you wish to place a table around the shopping basket summary, simply use the following code:

    if ("$shopping_basket") {
    print <<<END
    <form action="basket.php" method="get">
    <table cellpadding="8" cellspacing="0" border="0">
    <tr><td nowrap>
    <font face="Verdana" size="1">
    $shopping_basket
    </font>
    </td></tr></table>
    </form>
    END;
    }

    'Add to Cart' Buttons
    To create an 'Add to Cart' button, simply use the 'buybutton' function. Firstly we create a 'lookup_string' which specifies the details of the product/item. For example:

    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";

    Simply replace, 'exampleID' with a product ID, this is used to identify the product within the system so it important you use different IDs for each product. Try to keep them short and simple. Then add your 'Product Name' and a 'Description' replacing the text in the example but making sure to leave the groups of three hypens intact. These are used as seperators/delimiters. Replace '5.00' with the price of the product/item. Ignore the following four zeros, these are reserved for future use when the system supports tax, shipping and recurring payments.

    Then to display the 'Add to Cart' button, simply use the following line:

    buybutton($lookup_string);

    For example:

    <?PHP
    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";
    buybutton($lookup_string);
    ?>

    Note, the $lookup_string line should be on one line without any line returns. The example has line returns so it fits in the pop-up faq used on our web site...


    [Top]

    PHP Login Interface: PHP Login Interface Tutorial and Guidance (version 1.6)

    This documentation is updated with each new version of the software, please check you are viewing the correct documentation for your installation of OpenCrypt by going to: http://www.opencrypt.com/faq.php?c=25

    The PHP login interface enables you to integrate user login with the content of your web site and use an HTML login interface embedded in your web pages rather than using the traditional pop-up login prompt. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'.

    The PHP login interface offers seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site. Within minutes you can create sophisticated content structures, for example opening additional content in the web site for each additional month or day a user is registered, this is ideal for e-book's and online courses.

    Note, the 'PHP Login Interface' is used instead of the standard pop-up prompt, it does not work with the pop-up login prompt as a method of providing an HTML login form!

    Configuration
    Setting up the PHP login interface does require some knowledge of PHP, if you have some experience with PHP you should not have any trouble. If you are a novice computer user you may find this complicated, please feel free to contact us with your questions, however please keep in mind that our technical support team is not here to teach your to program PHP and can only offer basic guidance and advice.

    login.php is located in the 'php' directory which you will find in your OpenCrypt 'Path to HTTPDocs' directory. login.php is the main PHP application, login_config.php is the configuration file, login_html.php is used to display the login prompt, four template files are also included for use with login.php; php-login.tmpl, php-failed-login.tmpl, php-logout.tmpl and php-logged-in.tmpl.

    OpenCrypt version 1.5 and above do not require that you configure the 'PHP Login Interface' like previous versions, the system should be automatically configured. The configuration is updated whenever you adjust your 'Central Configuration', 'Register and Manage', 'Styles and Colours', 'Anti-Hack', 'OpenCrypt Robot' or 'E-Commerce Integration' configuration using the OpenCrypt administration panel.

    Basic Usage
    To create a login interface, simply create a PHP file for your member's area content, this can simply be an HTML file which you have renamed as a '.php' file.

    Place the following text in the PHP file at the very top of the file:

    <?PHP
    require "login.php";
    ?>

    It is critical that this is at the top of the file, their must be no HTML, text or blank lines above this text.

    This code will load the PHP login interface and associated functions including the shopping cart.

    Note, in the require statements you may wish to use a full/absolute server path. To do this, look in your 'Central Configuration' and take the 'Path to HTTPDocs', then simply add '/php/' to the end of the path. e.g. /path/to/httpdocs/oc/php/ and place this before the file name in the require statement. For example:

    <?PHP
    require "/path/to/httpdocs/oc/php/login.php";
    ?>

    As explained earlier, login.php does not display the login prompt, to do this we use login_html.php. Simply include the following code anywhere in the PHP document (after the login.php code):

    <?PHP
    require "login_html.php";
    ?>

    If you now load your PHP document on the web server, you will see a login prompt in the HTML/PHP document. You will see you can login, logout and so fourth, but at this stage it does not unlock any secure content. We do this using conditional statements based around the '$login_successful' variable. If a user is logged in, '$login_successful' will equal '1', if they have failed to login it will equal '0'.

    An example of a basic query follows:

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    This query is within it's own PHP area in the document, and would need the 'require "login_html.php";' code to be elsewhere in the PHP document, you can include the statement with the require line.

    For example:

    <?PHP
    require "login_html.php";

    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    The above two examples show a 'logged in' message when the user is logged in, and a 'not logged in' message when they are not.

    These conditional statements form the basis for the login interface and these are what must be used to setup the secure and public content. You may place as many of these statements in a document as you wish, though you should only 'require' login.php and login_html.php once in each document.

    Example of PHP document:

    <?PHP
    require "login.php";
    ?>
    <html>
    <head><title>Document</title></head>
    <body bgcolor="#ffffff" text="#000080" link="#800000">
    <center><table width=650 cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor="#000080"><font face="Arial" size="3" color="#eeeeee"><b>An Example PHP Login Interface</b></font></td></tr>
    <tr><td valign=top><font face="Arial">Introduction Text<p>
    Here is an example, below you will see a login prompt.<P>

    <?PHP
    require "login_html.php";
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">You have now logged in and opened the secure content in this document.</font>
    END;
    } else {
    print <<<END
    Here is some content for non registered users.
    END;
    }
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">Second secure content area
    END;
    } else {
    print <<<END
    Here is some more content for non registered users.
    END;
    }
    ?>

    <p></td></tr></table></center></body></html>

    This example includes two areas of secure content which will open when logged in.

    Data Import
    The following user data tags may be used in any .tmpl file.

    %self% - Location of self, e.g. The file being called via the browser.
    %url_cgi% - URL to directory containing OpenCrypt.
    %username% - Logged in username.
    %email% - User's email address.
    %fname% - User's first name.
    %lname%- User's last name.
    %sub_id% - User's subscription id.
    %sub_name% - User's subscription name.
    %language% - User's language.
    %date_opened% - User's date of account opening.
    %date_expire%- User's data of account expiration.
    %points% - User's points count.
    %session% - Session id, used for PHP login and User Account Manager login.

    The following user data may be displayed in any secure content (values will be blank if not logged in), document must be PHP and must 'require' login.php.

    $envself - Location of self, e.g. The file being called via the browser.
    $url_cgi - URL to directory containing OpenCrypt.
    $dbusername - Logged in username.
    $dbemail - User's email address.
    $dbfname - User's first name.
    $dblname - User's last name.
    $dbsub_id - User's subscription id.
    $dbsub_name - User's subscription name.
    $dblanguage - User's language.
    $dbvcode - User's validation code (if account not active).
    $dbstage - User's account stage (if account not active, or being renewed).
    $dbactive - User's account status.
    $dbdate_opened - User's date of account opening.
    $dbdate_expire - User's date of account expiration.
    $dbpoints - User's points count.
    $session - Session id, used for PHP login and User Account Manager login.
    $envip - User's IP address.
    $envref - User's referrer.
    $envbrow - User's web browser.

    A handy tip, users can move between the PHP login interface and any User Account Manager function thanks to the sessions system. Simply use the following link in your PHP documents:

    $url_cgi/manage.cgi?s=$session&a=home

    Or in the templates files:

    %url_cgi%/manage.cgi?s=%session%&a=home

    You can replace 'home' with other functions such as 'modify' or 'renew', to link directly to update account details or renew the account.

    Points System
    To deduct points from an account, use the following code:

    $points = charge_points("10");
    if ("$points" == "0") {
    print "error";
    } else {
    print "ok";
    }

    This example will charge the logged in user, 10 points. If they do not have enough points, 'error' is displayed, otherwise 'ok' is displayed.

    Logging System
    login.php will automatically log all accesses to the frontend statistics database, this includes the location of the file being loaded. If for some reason you wish to add additional logging, use the following code:

    frontend_log("action");

    Replace 'action' with the action id you wish to log. An example that is already is use in the software is:

    frontend_log("php_logged_in($envself)");

    Shopping Basket
    login.php will automatically detect and display a summary of the users shopping basket/cart, to display the cart summary, simply use the following code:

    print "$shopping_basket";

    Or, if for example you wish to place a table around the shopping basket summary, simply use the following code:

    if ("$shopping_basket") {
    print <<<END
    <form action="basket.php" method="get">
    <table cellpadding="8" cellspacing="0" border="0">
    <tr><td nowrap>
    <font face="Verdana" size="1">
    $shopping_basket
    </font>
    </td></tr></table>
    </form>
    END;
    }

    'Add to Cart' Buttons
    To create an 'Add to Cart' button, simply use the 'buybutton' function. Firstly we create a 'lookup_string' which specifies the details of the product/item. For example:

    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";

    Simply replace, 'exampleID' with a product ID, this is used to identify the product within the system so it important you use different IDs for each product. Try to keep them short and simple. Then add your 'Product Name' and a 'Description' replacing the text in the example but making sure to leave the groups of three hypens intact. These are used as seperators/delimiters. Replace '5.00' with the price of the product/item. Ignore the following four zeros, these are reserved for future use when the system supports tax, shipping and recurring payments.

    Then to display the 'Add to Cart' button, simply use the following line:

    buybutton($lookup_string);

    For example:

    <?PHP
    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";
    buybutton($lookup_string);
    ?>

    Note, the $lookup_string line should be on one line without any line returns. The example has line returns so it fits in the pop-up faq used on our web site...

    If you want to display a quantity input box next to the 'Add to Cart' button, set the variable $show_quantity to '1' before loading the buybutton function. You can also return the output from the buybutton function to a string rather than having the function print the button by setting the variable $return_button to '1', this enables you to include the button in your HTML with less complicated source code.

    For example:

    <?PHP
    $show_quantity = "1";
    $return_button = "1";
    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";
    $button = buybutton($lookup_string);
    print $button;
    ?>

    Detect If Product Has Been Purchased
    OpenCrypt version 1.7 includes a function for detecting if the logged in user has purchased a product before. This is used as follows:

    require "$path_php/purchases.php";
    $product_qty = lookup_purchases("product-ID");

    Want to learn more about PHP?
    If you are interested in learning more about PHP we would recommend the following resources:

    • W3Schools PHP Tutorial - http://www.w3schools.com/PHP/default.asp
    • Tizag PHP Tutorial - http://www.tizag.com/phpT/

    We would also recommend the following book:
    • PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide - http://www.dmcinsights.com/phpmysql3/


    [Top]

    PHP Login Interface: PHP Login Interface Tutorial and Guidance (version 1.8)

    This documentation is updated with each new version of the software, please check you are viewing the correct documentation for your installation of OpenCrypt by going to: http://www.opencrypt.com/faq.php?c=25

    The PHP login interface enables you to integrate user login with the content of your web site and use an HTML login interface embedded in your web pages rather than using the traditional pop-up login prompt. The system offers full anti-hack protection as with the usual pop-up login method, and also includes support for the 'OpenCrypt Points System'.

    The PHP login interface offers seamless integration between your public and secure content, allowing new content areas in an HTML document to open when a user logs in, and because the interface is written in PHP, you have unlimited control over your content and the structure of your web site. Within minutes you can create sophisticated content structures, for example opening additional content in the web site for each additional month or day a user is registered, this is ideal for e-book's and online courses.

    Note, the 'PHP Login Interface' is used instead of the standard pop-up prompt, it does not work with the pop-up login prompt as a method of providing an HTML login form!

    Configuration
    Setting up the PHP login interface does require some knowledge of PHP, if you have some experience with PHP you should not have any trouble. If you are a novice computer user you may find this complicated, please feel free to contact us with your questions, however please keep in mind that our technical support team is not here to teach your to program PHP and can only offer basic guidance and advice.

    login.php is located in the 'php' directory which you will find in your OpenCrypt 'Path to HTTPDocs' directory. login.php is the main PHP application, login_config.php is the configuration file, login_html.php is used to display the login prompt, four template files are also included for use with login.php; php-login.tmpl, php-failed-login.tmpl, php-logout.tmpl and php-logged-in.tmpl.

    OpenCrypt version 1.5 and above do not require that you configure the 'PHP Login Interface' like previous versions, the system should be automatically configured. The configuration is updated whenever you adjust your 'Central Configuration', 'Register and Manage', 'Styles and Colours', 'Anti-Hack', 'OpenCrypt Robot' or 'E-Commerce Integration' configuration using the OpenCrypt administration panel.

    Basic Usage
    To create a login interface, simply create a PHP file for your member's area content, this can simply be an HTML file which you have renamed as a '.php' file.

    Place the following text in the PHP file at the very top of the file:

    <?PHP
    require "login.php";
    ?>

    It is critical that this is at the top of the file, their must be no HTML, text or blank lines above this text.

    This code will load the PHP login interface and associated functions including the shopping cart.

    Note, in the require statements you may wish to use a full/absolute server path. To do this, look in your 'Central Configuration' and take the 'Path to HTTPDocs', then simply add '/php/' to the end of the path. e.g. /path/to/httpdocs/oc/php/ and place this before the file name in the require statement. For example:

    <?PHP
    require "/path/to/httpdocs/oc/php/login.php";
    ?>

    As explained earlier, login.php does not display the login prompt, to do this we use login_html.php. Simply include the following code anywhere in the PHP document (after the login.php code):

    <?PHP
    require "login_html.php";
    ?>

    If you now load your PHP document on the web server, you will see a login prompt in the HTML/PHP document. You will see you can login, logout and so fourth, but at this stage it does not unlock any secure content. We do this using conditional statements based around the '$login_successful' variable. If a user is logged in, '$login_successful' will equal '1', if they have failed to login it will equal '0'.

    An example of a basic query follows:

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    This query is within it's own PHP area in the document, and would need the 'require "login_html.php";' code to be elsewhere in the PHP document, you can include the statement with the require line.

    For example:

    <?PHP
    require "login_html.php";

    if ("$login_successful" == "1") {
    print <<<END
    logged in
    END;
    } else {
    print <<<END
    not logged in
    END;
    }
    ?>

    The above two examples show a 'logged in' message when the user is logged in, and a 'not logged in' message when they are not.

    These conditional statements form the basis for the login interface and these are what must be used to setup the secure and public content. You may place as many of these statements in a document as you wish, though you should only 'require' login.php and login_html.php once in each document.

    Example of PHP document:

    <?PHP
    require "login.php";
    ?>
    <html>
    <head><title>Document</title></head>
    <body bgcolor="#ffffff" text="#000080" link="#800000">
    <center><table width=650 cellpadding=5 cellspacing=0 border=0>
    <tr><td bgcolor="#000080"><font face="Arial" size="3" color="#eeeeee"><b>An Example PHP Login Interface</b></font></td></tr>
    <tr><td valign=top><font face="Arial">Introduction Text<p>
    Here is an example, below you will see a login prompt.<P>

    <?PHP
    require "login_html.php";
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">You have now logged in and opened the secure content in this document.</font>
    END;
    } else {
    print <<<END
    Here is some content for non registered users.
    END;
    }
    ?>
    <p><hr><p>

    <?PHP
    if ("$login_successful" == "1") {
    print <<<END
    <font color="#ff0000">Second secure content area
    END;
    } else {
    print <<<END
    Here is some more content for non registered users.
    END;
    }
    ?>

    <p></td></tr></table></center></body></html>

    This example includes two areas of secure content which will open when logged in.

    Data Import
    The following user data tags may be used in any .tmpl file.

    %self% - Location of self, e.g. The file being called via the browser.
    %url_cgi% - URL to directory containing OpenCrypt.
    %username% - Logged in username.
    %email% - User's email address.
    %fname% - User's first name.
    %lname%- User's last name.
    %sub_id% - User's subscription id.
    %sub_name% - User's subscription name.
    %language% - User's language.
    %date_opened% - User's date of account opening.
    %date_expire%- User's data of account expiration.
    %points% - User's points count.
    %session% - Session id, used for PHP login and User Account Manager login.

    The following user data may be displayed in any secure content (values will be blank if not logged in), document must be PHP and must 'require' login.php.

    $envself - Location of self, e.g. The file being called via the browser.
    $url_cgi - URL to directory containing OpenCrypt.
    $dbusername - Logged in username.
    $dbemail - User's email address.
    $dbfname - User's first name.
    $dblname - User's last name.
    $dbsub_id - User's subscription id.
    $dbsub_name - User's subscription name.
    $dblanguage - User's language.
    $dbvcode - User's validation code (if account not active).
    $dbstage - User's account stage (if account not active, or being renewed).
    $dbactive - User's account status. 1 equals active, 0 equals inactive.
    $dbdate_opened - User's date of account opening. Format: YYYY-MM-DD HH:MM:SS
    $dbdate_expire - User's date of account expiration. Format: YYYY-MM-DD
    $dbpoints - User's points count.
    $session - Session id, used for PHP login and User Account Manager login.
    $envip - User's IP address.
    $envref - User's referrer.
    $envbrow - User's web browser.

    Custom form fields are available using the PHP array $dbfield, the keys are field1 to field50.

    $dbfield['field1'] - Custom form field 1.
    $dbfield['field25'] - Custom form field 25.

    A handy tip, users can move between the PHP login interface and any User Account Manager function thanks to the sessions system. Simply use the following link in your PHP documents:

    $url_cgi/manage.cgi?s=$session&a=home

    Or in the templates files:

    %url_cgi%/manage.cgi?s=%session%&a=home

    You can replace 'home' with other functions such as 'modify' or 'renew', to link directly to update account details or renew the account.

    Search Engine Optimisation
    If you wish to allow search engines to crawl your secure content, you can enable the SEO functionality of the PHP Login interface. This will enable crawler bots from all the major search engines (including Google, Searchme, Yahoo, Live and MSN) to access your secure content.

    Firstly, setup an account in OpenCrypt called 'googlebot'. This will enable you to track the traffic from the bots directly from the OpenCrypt administration panel, enabling you to get a more detailed understanding of the traffic passing through your site.

    To enable the search engine features of login.php, the following variable must be set before login.php is included in your page.

    $login_seo = "1";
    require "/path/to/login.php";

    We recommend also printing the $header_html variable in your headers, as this prevents the bots from archiving your secure content (for example Google's cache feature) and therefore making it available to anyone. Alternatively, simply place the following tag in your HTML header:
     

    <meta name="googlebot" content="noarchive">

    Using login.php and the .htaccess Login Prompt Simultaneously
    If you are using both PHP and .htaccess options for user logins to the OpenCrypt system, then it is possible to setup login.php within a .htaccess member's area so the standard features of login.php are available even when it's not being used to manage user login. To do this, the following variable must be set before login.php is included in your page.

    $login_popup = "1";
    require "/path/to/login.php";

    Points System
    To deduct points from an account, use the following code:

    $points = charge_points("10");
    if ("$points" == "0") {
    print "error";
    } else {
    print "ok";
    }

    This example will charge the logged in user, 10 points. If they do not have enough points, 'error' is displayed, otherwise 'ok' is displayed.

    Logging System
    login.php will automatically log all accesses to the frontend statistics database, this includes the location of the file being loaded. If for some reason you wish to add additional logging, use the following code:

    frontend_log("action");

    Replace 'action' with the action id you wish to log. An example that is already is use in the software is:

    frontend_log("php_logged_in($envself)");

    Shopping Basket
    login.php will automatically detect and display a summary of the users shopping basket/cart, to display the cart summary, simply use the following code:

    print "$shopping_basket";

    Or, if for example you wish to place a table around the shopping basket summary, simply use the following code:

    if ("$shopping_basket") {
    print <<<END
    <form action="basket.php" method="get">
    <table cellpadding="8" cellspacing="0" border="0">
    <tr><td nowrap>
    <font face="Verdana" size="1">
    $shopping_basket
    </font>
    </td></tr></table>
    </form>
    END;
    }

    'Add to Cart' Buttons
    To create an 'Add to Cart' button, simply use the 'buybutton' function. Firstly we create a 'lookup_string' which specifies the details of the product/item. For example:

    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";

    Simply replace, 'exampleID' with a product ID, this is used to identify the product within the system so it important you use different IDs for each product. Try to keep them short and simple. Then add your 'Product Name' and a 'Description' replacing the text in the example but making sure to leave the groups of three hypens intact. These are used as seperators/delimiters. Replace '5.00' with the price of the product/item. Ignore the following four zeros, these are reserved for future use when the system supports tax, shipping and recurring payments.

    Then to display the 'Add to Cart' button, simply use the following line:

    buybutton($lookup_string);

    For example:

    <?PHP
    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";
    buybutton($lookup_string);
    ?>

    Note, the $lookup_string line should be on one line without any line returns. The example has line returns so it fits in the pop-up faq used on our web site...

    If you want to display a quantity input box next to the 'Add to Cart' button, set the variable $show_quantity to '1' before loading the buybutton function. You can also return the output from the buybutton function to a string rather than having the function print the button by setting the variable $return_button to '1', this enables you to include the button in your HTML with less complicated source code.

    For example:

    <?PHP
    $show_quantity = "1";
    $return_button = "1";
    $lookup_string ="exampleID---Example Product NAME---This is an example product description.---5.00---0---0---0---0";
    $button = buybutton($lookup_string);
    print $button;
    ?>

    Detect If Product Has Been Purchased
    OpenCrypt version 1.7 includes a function for detecting if the logged in user has purchased a product before. This is used as follows:

    require "$path_php/purchases.php";
    $product_qty = lookup_purchases("product-ID");

    Want to learn more about PHP?
    If you are interested in learning more about PHP we would recommend the following resources:

    • W3Schools PHP Tutorial - http://www.w3schools.com/PHP/default.asp
    • Tizag PHP Tutorial - http://www.tizag.com/phpT/

    We would also recommend the following book:
    • PHP 6 and MySQL 5 for Dynamic Web Sites: Visual QuickPro Guide - http://www.dmcinsights.com/phpmysql3/


    [Top]

    Pre-Sales Questions: A Brief History

    February 1999, the original idea of 'Locked Area' is conceived by Neil P Skirrow (aged 14) who then began to write a simple password protection script using Apache's .htaccess authentication system. The script worked well, but had some huge security flaws and was therefore never distributed.

    May 1999, the script had advanced and was now ready for release. It's basic purpose was simply encrypting passwords for use with .htaccess files but it still proved very popular.

    Sometime later and Neil's programming skills had advanced somewhat, he then teamed up with, Bigi Lui, a young software developer from Berkeley, California, USA. Neil was from Woodbridge, Suffolk, UK.

    September 1999, an entire re-write of Locked Area was released offering automated online registration, error checking and member's database. However, before it could become well known, Neil and Bigi (aged 16) were already developing the next release. In the course of two weeks they had added a whole list of features including duplicate record checking and email format checking. As the software became popular, the two continued to add more features which soon included the administration panel and user account tools which allowed visitors to modify and remove their accounts.

    January 2000, Bigi Lui decided to leave the Locked Area team. Neil went on to team up with, Mike Mabe who then developed the automated installation wizard and a variety of other features.

    July 2000, Neil continued adding new features and facilities and also welcomed new team members, Brooks Sizemore who developed the statistics software still used in Locked Area Lite today.

    August 2000, Locked Area moves into version 2, by this stage version one had been downloaded more than 50,000 times.

    November 2000, Neil re-launches Locked Area as a Lite version, with the new offering of a Pro version with new features including administrator registration approval and email validation facilities.

    December 2000, computer virus, server hack attempts and major server downtime cause a grim outlook as well as Mike Maybe leaving the Locked Area team.

    March 2001, Locked-Area.com was re-launched with new content, software releases and hopes for a problem free future. The team now consists of, Neil Skirrow with occasional help from Brooks Sizemore and Bigi Lui.

    June 2001, Locked Area Pro v2.0 Beta is released to Pro users for beta testing. At the same time a copy is released illegally into the CGI Warez market causing the potential downfall of LockedArea.com.

    October 2001, Locked Area Pro v2.0 stable is released and warez distribution is stopped before serious damage can be done. Thankfully only a beta version was stolen, which has hundreds of bugs. The stable version has been kept secure ever since.

    March 2002, Locked Area Lite v3.0 released and a new generation of Locked Area Lite begins. Locked Area Lite v2.0 has been downloaded more than 22,000 times.

    June 2002, Locked Area Lite v3.1 released.

    November 2002, Locked Area Pro re-write begins design stages.

    June 2003, DirectoryPass v1.0 released as a simpler option for .htaccess file management.

    September 2003, Locked Area Lite v3.2 released.

    November 2003, DirectoryPass v1.1 released.

    February 2004, Microsoft make yet another brilliant decision and removes a traditional authentication method from their browser, this means no more HTML login just pop-up login prompts.

    September 2004, Chris Jeske joins the team to help with OpenCrypt development.

    December 2005, Oliver Stockman joins the team to help with marketing, software development/testing and OpenCrypt launch.

    March 2006, Locked Area Pro discount sale begins in preparation for the release of the long-awaited, OpenCrypt. By this point LockedArea.com has over 49,000 members, with over 41,000 downloads of version 3.x.

    July 2006, OpenCrypt launched along with new Locked-Area.com and OpenCrypt.com web sites and new version's of Locked Area Lite and DirectoryPass. Locked Area Pro discontinued and replaced by OpenCrypt. Locked-Area.com is now owned by ionix Limited, a company formed and managed by Neil Skirrow, the previous owner of Locked-Area.com.

    November 2006, OpenCrypt v1.1 and Locked Area v4.0 released.

    December 2006, Locked Area v4.1 released.

    January 2007, .htaccess Guide published, OpenCrypt v1.2 released.

    March 2007, OpenCrypt v1.3 released.

    May 2007, DirectoryPass v1.3 and Locked Area v4.2 released.

    May 2007, OpenCrypt v1.4 released.

    June 2007, htaccess-guide.com opened.

    September 2007, new ionix network of web sites launched with shared design, Locked Area v5.0, DirectoryPass v1.4 and OpenCrypt v1.5 released. DirectoryPass is now Open Source.

    October 2007, development of OpenCrypt v2.0 begins.

    February 2008, development of DirectoryPass v1.5 begins.

    March 2008, Locked Area v6.0 released.

    April 2008, OpenCrypt.com new website layouts launched along with new logo.

    July 2008, DirectoryPass v1.5 released including new translations in Portuguese, Japanese and Turkish.

    August 2008, Locked Area v6.1 and OpenCrypt v1.6 released.

    September 2008, Locked Area v6.2 and v6.3 released.

    October 2008, Locked Area v6.4 released.

    November 2008, OpenCrypt Remote Backup service launched.

    December 2008, OpenCrypt v1.7 released and four new OpenCrypt add-ons released; Ad Manager, FAQ Manager, File Sharing and Survey/Input Forms.

    April 2009, OpenCrypt Joomla plugin released.

    September 2009, OpenCrypt IP Location API launched.


    [Top]

    Pre-Sales Questions: Can I integrate OpenCrypt with my payment processor?

    Yes, OpenCrypt offers integration with many major payment processors including; PayPal, WorldPay, Authorize.net, ProtX/SagePay, Barclays ePDQ, Payoffshore and eWAY.

    At this time the PayPal integration uses PayPal's Website Payments Standard system which offers full callback and transaction verification, PayFlow Gateway is available if required.

    The PayPal, WorldPay and Barclays ePDQ integration is handled with payment buttons which redirect users to the payment site hosted by the payment processor as per the processes of each processor.

    The Authorize.net, ProtX/SagePay, Payoffshore and eWay integration process credit cards via OpenCrypt and on the web site where OpenCrypt is installed, therefore a secure server (SSL) certificate is required.

    At this time the Authorize.net, ProtX/SagePay, Payoffshore, eWay, PayPal and Barclays ePDQ integration offer methods for automatically charging a recurring fee, in the case of WorldPay the user is required to return to the OpenCrypt system and submit a new payment for each payment cycle, this is also possible using the PayPal integration.  In the case of Authorize.net, ProtX/SagePay, Payoffshore and eWay, OpenCrypt stores the user card details in order to submit recurring payments as and when they are due.

    All integration includes full transaction verification and validation ensuring only valid registration payments are processed.

    If you require payment integration with another processor, please contact us for more information.


    [Top]

    Pre-Sales Questions: Can I password protect multiple directories with OpenCrypt?

    Yes, OpenCrypt supports unlimited member's area directories linked to unlimited subscription types allowing complete flexibility over your content and payment structures.

    It is extremely unlikely that any real-world number of member's areas would limit the usability of the software.

     


    [Top]

    Pre-Sales Questions: Can I use the software on multiple websites?

    OpenCrypt licenses are sold per installation of OpenCrypt and each license is associated to a domain name and IP address.  You shouldn't need more than one installation per domain name as OpenCrypt supports unlimited member's areas.

    If you wish to run full copies of the software on different domain names, you will need additional licenses.

    Please contact our sales team if you have any questions or require multiple installations under one domain.

    Using the 'PHP Login Interface' you can manage an unlimited number of secure content areas on an unlimited number of seperate web sites under one license and installation of OpenCrypt.


    [Top]

    Pre-Sales Questions: Can member's area login be via an HTML login form rather than the pop-up prompt?

    Yes. using OpenCrypt's 'PHP Login Interface' it is possible to secure content with a login form embedded in your HTML content rather than using the traditional pop-up login prompt.


    [Top]

    Pre-Sales Questions: Can you install OpenCrypt for me?

    Yes, OpenCrypt installation is included free of charge with all OpenCrypt licenses!

    However, if you are fairly computer literate we do prefer you have a go first!  Please, have a go at installing the software, have a look at the documentation and feel free to contact us whenever you have a problem. If problems persist, we will happilly install the software free of charge.

    If you are not technically minded and would simply like us to install the software for you, please don't hesitate to contact us.

    Registered users, please see my.OpenCrypt to 'Request Installation'.


    [Top]

    Pre-Sales Questions: Can your OpenCrypt membership software be white labeled with all references to OpenCrypt hidden from end users?

    Yes, the powered by text and link in the frontend is removed simply by selecting the option in the 'Register and Manage' configuration.
     
    Adjusting the administration panel would require customisation though simply changing the logo is easily done.
     
    You are not permitted to remove the copyright notes from the software source code - these are not visible to your visitors.


    [Top]

    Pre-Sales Questions: Do you setup OpenCrypt on our website for a fee or is it easy to setup for someone without a lot of technical skill?

    Free installation by our trained technical support team is included with all OpenCrypt licenses.  Alternatively if you wish you can install the software yourself then a quick installation wizard is available from my.OpenCrypt.com which in five easy steps installs a ready to go installation of OpenCrypt. You only need to upload one file, which in turn automatically downloads and sets up the software, from there you only need to check over the automatically detected variables, and click 'Next'...


    [Top]

    Pre-Sales Questions: Extending OpenCrypt's Functionality

    OpenCrypt has a number of add-ons and plugins which enable the extension of OpenCrypt from membership management right through to complete website management, with options such as the ability integrate affiliate management, advertising management, customer help-desk, frequently asked questions database, eDelivery automated file transfer, and plugins to fit in with many 3rd party products such as forums, content management systems, blogs and more!

    For more information, please visit the OpenCrypt Add-Ons and OpenCrypt Plugins sections of the OpenCrypt website.


    [Top]

    Pre-Sales Questions: How do I know OpenCrypt will work on my web server?

    Please try our free product, Locked Area Lite. If this software works, your server will support OpenCrypt. The only clauses being that OpenCrypt also requires that you have mySQL installed and a number of additional Perl modules, all of which are completely free.

    We are confident that OpenCrypt works with nearly every Apache server that has Perl, PHP, MySQL and the appropriate Perl Modules installed.

    For more information, please see our 'Software Requirements' content.


    [Top]

    Pre-Sales Questions: How do Locked Area and OpenCrypt work? (Basic)

    Locked Area and OpenCrypt are written in a programming language called Perl. Perl is widely known as "the duct-tape of the Internet" and is very popular for any web site based task which for example, requires a great deal of data processing. Locked Area and OpenCrypt also use a system known as .htaccess Authentication to help password protect secure content areas. This is an authentication system which is part of the Apache Web Server which is currently the most popular web server software for use on the Internet. OpenCrypt also uses PHP for a wide-range of optional/additional content interfaces and offers a PHP login interface as an alternative to the traditional pop-up login method. Using a combination of Perl, PHP and HTML, Locked Area and OpenCrypt provide simple and easy-to-use membership software.


    [Top]

    Pre-Sales Questions: How easy is it to upgrade to OpenCrypt from PRODUCTX or to import my user data?

    We offer pre-made database import tools for:

     

    • Locked Area
    • phpGuardDog
    • Memberize
    • Ascad Password Protector
    • Joomla

    We hope to offer more very soon. If you require a database import tool for another system, please contact us. We are usually able to write custom database import tools free of charge.


    [Top]

    Pre-Sales Questions: How many users/members can Locked Area and OpenCrypt handle?

    This depends hugely on the performance of your web server.  Locked Area has been tested with 25,000 users without noticable performance fade, the only issue can be slow searching of the user database in the administration panel.  Performance in mySQL mode has not been tested yet but should be much better.

    OpenCrypt has been tested with in excess of 250,000 users without noticable performance fade, again any issues are noticed in the administration panel long before users will be affected.

    The main issue as your user count gets so high is the administration panel search and statistics systems will slow down, as you would expect with such large amounts of data to process. Large user counts will have no affect over the efficiency of the registration system, secure content nor the user account manager system until you reach extremely high user.


    [Top]

    Pre-Sales Questions: How secure is OpenCrypt?

    As with all .htaccess associated systems, if you don't have the correct login details, you can't get in. Unless of course you were to 'hack' as it were, via another weak point on the system to gain access to the .htaccess protected data.

    The most common method of hacking an Internet member's area is simply to guess login details, it's the original, most basic and most common method of 'hacking'. If you were to try this method 'on' OpenCrypt, you have for example, five chances to get the login details right (depending upon server configuration, this can be one chance if you'd like). If in five attempts you have not entered the login details, that is it. Even if on the sixth go you were to enter the correct login details, the system will still protect the member's area content and the user will not gain access until an administrator 'unblocks' the account/user via the administration panel.

    If required, the system can block the user from the entire web site in addition to the secure content.


    [Top]

    Pre-Sales Questions: I'm looking for a membership system that will integrate with phpBB and cPSupport. Does OpenCrypt have any built-in integration tools or is there an API?

    OpenCrypt offers a database integration system which automates data input with any mySQL or text-based database. This system will create a record in the appropriate database when a user registers a new account, this can be used to create forum or helpdesk accounts automatically at the same time as registration.

    A 'Custom Functions' system is also offered which enables you to setup custom functions to be run when an account is created, modified, renewed, expired or removed.  This can be used to very easily maintain databases for third-party software.


    [Top]

    Pre-Sales Questions: If I have purchased Locked Area Pro v1.0/v2.0, do I need to purchase OpenCrypt?

    No, Locked Area Pro customers whose order numbers begin with 1 have lifetime licenses and receive free lifetime usage and upgrades of OpenCrypt.

    Locked Area Pro customers whose order numbers begin with 2 have one year licenses, these licenses can be renewed for £49 GBP per year.

    Locked Area Pro customers can log-in to the 'User Account Manager' using their Locked Area Pro member's area login details to renew their account.

    This only applies to Locked Area Pro licenses purchased prior to June 2006.
    Locked Area Pro v4.0 and above have since been released as upgrades to Locked Area Lite, these are seperate products which in fact offer less features than the original Locked Area Pro v2.0.  Locked Area Pro v2.0 become OpenCrypt in June 2006.


    [Top]

    Pre-Sales Questions: Is it possible to configure OpenCrypt to release product(s) for each month a member is subscribed?

    Yes, using the OpenCrypt 'PHP Login Interface' you can setup date based dynamic content. This means content within for example, an HTML document can be displayed based on the length of time the account has been open for.

    Using OpenCrypt's 'eDelivery Add-on' you can also deliver digital files via email to users on a schedules basis based on how long they have been registered, for example to send course material each month or to send a questionnaire after two weeks of membership.


    [Top]

    Pre-Sales Questions: Is it possible to customise all of the pages that my clients will see? I would also like the system to be available in multiple languages.

    The OpenCrypt frontend (what your visitors will see) is template based and is entirely customisable. The software includes header and footer files so you can quickly and easily include all of the output in your web site design.
     
    OpenCrypt also offers multi-language support so the templates and software output can be provided in multiple languages.
     
    The language system works by loading the registration form with a query string, for example when you visit the 'register.cgi' file (the registration form) it is loaded by default in English (you can set any language as the default). If you use 'register.cgi?lang=it' and setup a template group called 'it' for the Italian language templates then the output will then be displayed in Italian. The system will continue to display the output in Italian and this can be customised so the site remains in the selected language when a visitor returns at a later date.
     
    At this time we do not have any versions of the templates in any language other than English.  We welcome any assistance in translating the template files and would be happy to offer a discounted license in return for translation services.


    [Top]

    Pre-Sales Questions: Is the source code available?

    Yes, the source code is available.

    The software is distributed in source code form and is unobfuscated.

    For further information, please contact us.


    [Top]

    Pre-Sales Questions: OpenCrypt Corporate License

    The 'OpenCrypt Corporate License' offers all the benefits of an 'OpenCrypt Lifetime License' with the following additional benefits:

    • Our 'Implementation and Integration' service.
    • 2 hours custom software development or OpenCrypt customisation.
    • All OpenCrypt add-ons and plugins included.

    Terms and conditions apply to custom software development and OpenCrypt customisation, please contact us to discuss your requirements.


    [Top]

    Pre-Sales Questions: OpenCrypt Lifetime License

    The 'OpenCrypt Lifetime License' allows you to use OpenCrypt for as long as you like and you may change the domain name registered with us as often as you like. With this license you also receive 5 years access to free OpenCrypt upgrades and support. 'OpenCrypt Lifetime License' holders also receive a higher level of service and if required, a free custom database import tool is available (charges may apply to paticularly complicated database systems).


    [Top]

    Pre-Sales Questions: OpenCrypt One Year License or Annual License

    The 'OpenCrypt One Year or Annual License' allows you to use the OpenCrypt software for one year on the domain you register with us. With this license we do not allow you to change the registered domain name. This license includes one year's access to free OpenCrypt upgrades.

    After the first year, if you choose not to renew the software, the software will become disabled* and you will not receive access to support or upgrades.  The license can be renewed and software restored at any time.

    * = No user data is affected if an installation of OpenCrypt is disabled nor is your customer's access to your member's area.


    [Top]

    Pre-Sales Questions: Perl Module Requirements

    Please see, 'OpenCrypt Software Requirements'

    The following Perl modules are required by OpenCrypt, these are all available free of charge but may need to be installed on your web server.

    • DBI::DBD
    • LWP::UserAgent
    • Date::Calc
    • MIME::Lite
    • MIME::Types
    • GD
    • GD::Graph
    • GD::Graph3d
    • Template::Plugin::GD::Graph::pie3d


    Please note, some of the above modules do have prerequisites and some very basic and standard Perl modules have been omitted from the list, we have found it very rare for a server to require installation of any further modules in addition to those listed above.

    If you have root/superuser access to your server then we can install these modules for you, please see our 'Service Pricing' page.


    [Top]

    Pre-Sales Questions: Software Requirements

    Please see, 'OpenCrypt Software Requirements'

    OpenCrypt is designed for use on Unix and Linux web servers but is also compatible with some Windows and Sun Solaris web servers.

    OpenCrypt is designed for the Apache Web Server software though this is not required unless you wish to use the 'traditional pop-up login prompt', if running Microsoft IIS web server or other web server software then OpenCrypt's 'PHP Login Interface' can still be used.

    OpenCrypt is written in Perl and PHP, both of which are available free or charge and are supported by all popular web server software.

    A number of additional Perl modules are also required, these are often not installed by default and are the most common cause of error during installation of the software. The Perl modules are available free of charge and most web hosting companies are more than happy to install the modules for you free of charge, details of the required Perl modules are shown to the right of this text.

    OpenCrypt uses a mySQL database system to store system data for optimal speed and efficiency, mySQL is also available free of charge and is supported by all popular web server software.

    The OpenCrypt software source code is 100% available and unobfuscated.

    From your customer's point of view (the software end-user), the only requirement is an Internet web browser with a suitable Internet connection. The software is thoroughly tested in all the most popular web browsers including; Microsoft Internet Explorer, Mozilla Firefox and Apple Safari. The software frontend does not rely upon any JavaScript to ensure 100% compatibility, where JavaScript is used it is merely included to enhance the user expeirence, a fallback is always in-place for non-compatible users. This approach also applies to the HTML layout which is controlled using traditional HTML rather than CSS/stylesheets, again this is done to ensure 100% compatibility and CSS is merely used to enhance the design and user experience. Recent statistics show that JavaScript and CSS compatibility are on the increase, however the percentage of users with web browsers that support JavaScript and CSS still remains at around 94%. Note, this figure does not necessarily represent compatible browsers, in the case of JavaScript many users disable JavaScript support in their web browser. We consider 94% to be unacceptable and would not release a software package which did not work for 1 in 17 users.


    [Top]

    Pre-Sales Questions: Software Terms and Conditions of Usage

    NOTICE -- READ THIS BEFORE USING THE SOFTWARE

    INSTALLING AND USING THE SOFTWARE ACCOMPANYING THIS LICENSE INDICATES YOUR ACCEPTANCE OF THESE TERMS AND CONDITIONS. READ ALL OF THE TERMS AND CONDITIONS OF THIS LICENSE AGREEMENT PRIOR TO INSTALLING OR USING THE SOFTWARE. IF YOU DO NOT ACCEPT THESE TERMS, PLEASE DO NOT INSTALL THE SOFTWARE OR, IF YOU HAVE ALREADY INSTALLED THE SOFTWARE, YOU MUST DELETE THE SOFTWARE FROM YOUR HARDWARE.



    This is a legal agreement between you and ionix Limited, its licensors, and its subsidiaries (collectively "ionix Limited"). This Agreement states the terms and conditions on which ionix Limited offers to license this software program (the "Program") and the accompanying on-line read-me and help files (the "Documentation") including, but not limited to, the executable programs, drivers, libraries and data files associated with the Program.

    IONIX LIMITED, UK registered company number: 05404166.
    Trading As/From: OpenCrypt.com/.co.uk, LockedArea.com/.co.uk and Locked-Area.com/.co.uk, ionix.ltd.uk.
    SOFTWARE/PROGRAM: OpenCrypt (originally Locked Area Pro).

    PLEASE NOTE THAT YOU MAY NOT USE, COPY, MODIFY OR TRANSFER THE PROGRAM OR DOCUMENTATION OR ANY COPY, EXCEPT AS EXPRESSLY PROVIDED IN THIS AGREEMENT. NOR MAY YOU SUB-LICENSE ANY OF YOUR RIGHTS UNDER THIS AGREEMENT.

    LICENSE: This software program (the "Program") and the accompanying on-line read-me and help files (the "Documentation") are licensed, not sold, to you. The term "Program" shall also include any updates of the Program licensed to you by ionix Limited. Subject to the terms of this agreement, you have a non-exclusive and nontransferable right to use the Program and Documentation for non-commercial (e.g., not for resale or rental or the like), educational, evaluation or personal purposes only. You may use this Program on a single computer by a single user at one time located in the United Kingdom or United States and its territories or any other country to which this Program is legally exported. This Program is "in use" on a computer when it is loaded into the temporary memory (i.e., RAM) or installed into the permanent memory (e.g., hard drive, CD-ROM or other storage device) of that computer, except that a copy installed on a network server for the sole purpose of distribution to other computers is not "in use." If you permanently install the Program on the hard disk or other storage device of a computer (other than a network server) and you use that computer more than 80% of the time it is in use, then you may also use the Program on a portable or home computer. You may merge it into another Program for your use on a single machine. You agree to use your best efforts to prevent and protect the contents of the Program and Documentation from unauthorized disclosure or use. ionix Limited reserve all rights not expressly granted to you. ionix Limited's licensors are the intended third-party beneficiaries of this agreement and have the express right to rely upon and directly enforce the terms set forth herein.

    LIMITATION ON USE: You may not rent, lease, sell or otherwise transfer or distribute copies of the Program or Documentation to others. You may not modify or translate the Program or the Documentation without the prior written consent of ionix Limited. You may not reverse assemble, reverse compile or otherwise attempt to create the source code from the Program. You may not use ionix Limited's name to refer to ionix Limited directly or indirectly in any papers, articles, advertisements, sales presentations, news releases or releases to any third party without the prior written approval of ionix Limited for each such use. You may not release the results of any performance or functional evaluation of any Program to any third party without prior written approval of ionix Limited for each such release.

    BACKUP AND TRANSFER: You may make one archival copy of the Program for backup purposes provided ionix Limited's copyright notice is included. You may not sublicense, assign, delegate, rent, lease, time-share or otherwise transfer this license or any of the related rights or obligations for any reason. Any attempt to make any such sublicense, assignment, delegation or other transfer by you shall be void. You may physically transfer the Program from one computer to another provided that the Program (including any portion or copy thereof) is erased from the first computer and there is no possibility that the Program will be used on more than one computer at a time.

    COPYRIGHT: The Program and related Documentation are copyrighted by ionix Limited and its licensors. By acceptance of this Agreement you specifically acknowledge that the Program is protected by copyright and that you have received notice of said copyright protection. You may not copy the Program (or this license) except to provide a backup copy and to load the Program into the computer as part of executing the Program. You may make one copy of the Documentation and print one copy of any on-line documentation or other materials provided to you in electronic form. Any and all other copies of the Program and any copy of the Documentation made by you are in violation of this license.

    OWNERSHIP: You agree that the Program and Documentation belong to ionix Limited and its licensors. You agree that you neither own nor hereby acquire any claim or right of ownership to the Program and Documentation or to any related patents, copyrights, trademarks or other intellectual property. ionix Limited and its licensors retain all right, title and interest in and to the Documentation and all copies and the Program at all times, regardless of the form or media in or on which the original or other copies may subsequently exist, and reserves all rights not expressly granted to you. This license is not a sale of the original or any subsequent copy. All content accessed through the Program is the property of the applicable content owner and may be protected by applicable copyright law. This license gives you no rights to such content.

    TERM AND TERMINATION: This license is effective until terminated. You may terminate this license at any time by destroying the Program and Documentation and the permitted backup copy. You must also inform ionix Limited that you wish to terminate your agreement so your account and software license may be canceled. This license automatically terminates if you fail to comply with its terms and conditions. You agree that, upon such termination, you will either destroy (or permanently erase) all copies of the Program and Documentation, or return the original Program and Documentation to ionix Limited, together with any other material you have received from ionix Limited in connection with the Program. If you fail to comply with the terms and conditions of this agreement, for example if you were to distribute the software against the terms listed, you agree to pay a penalty for said breech of contract, this penalty will be determined at the discretion of ionix Limited up to a maximum of £900 GBP. ionix Limited reserves the right to pursue further legal proceedings and claim further compensation in addition to the breech of contract penalty.

    PRODUCT UPGRADES: You agree that ionix Limited is under no obligation to release product upgrades or maintenance releases, such as minor improvements, bug fixes, or patches. Any such releases will be at the sole discretion of ionix Limited. In the event a product upgrade or maintenance release is released, you will be entitled to an upgrade or maintenance release free of charge providing you have a valid upgrade license and, provided you perform the necessary application of said upgrade or release. For purposes of this Agreement, "providing you have a valid upgrade license" refers to your software license which is sold with one years free upgrades as standard, once expired you may renew your upgrade license for an annual fee. This does not apply if you have purchased a 'lifetime upgrade' license. "Application" means downloading or uploading of the distribution file containing said upgrade or maintenance release, and performing the necessary activities to incorporate said upgrade or maintenance release including, but not limited to, backing up the older version of the Program, running any necessary conversion programs, and performing any necessary reconfiguration. In the event you decide to have ionix Limited perform any application for you or on your behalf, ionix Limited reserves the right to charge a fee, to be determined at ionix Limited's discretion, for any such application. ionix Limited further reserves the right to require an application fee in the event the nature of the upgrade or maintenance release is such that ionix Limited determines that any application should be performed solely by ionix Limited. In the event such an application by ionix Limited is required, ionix Limited agrees to insure the quality of said upgrade or maintenance release by performing a backup of your current system prior to any application of said upgrade or maintenance release by ionix Limited.

    NEW VERSIONS OF THE PROGRAM: You agree that ionix Limited is under no obligation to release any new version of the Program and/or Documentation. In the event a new version of the Program and/or Documentation (e.g. Version 2.0) is released by ionix Limited, you agree to pay for a new upgrade license, at a price to be determined by ionix Limited at its discretion, should you wish to use said new version. This does not apply if you have a valid and current upgrade license.

    SUPPORT: ionix Limited agrees to provide reasonable technical support through a public medium free of charge. For purposes of this Agreement, "public medium" refers to a suitable online forum or news group to be monitored by ionix Limited and other licensed users of the Program and/or Documentation. ionix Limited may, at its sole discretion, provide personal technical support free of charge, but specifically reserves the right to charge for such personal technical support. For purposes of this Agreement, "personal technical support" refers to telephone support, electronic mail, or other online methods. You agree that any offer or actual provision of technical support by ionix Limited does not constitute any warranty regarding the Program and/or Documentation except as otherwise provided in this Agreement.

    DISCLAIMER OF WARRANTY: ionix Limited does not warrant that the functions contained in the Program will meet your requirements or that the operation of the Program will be uninterrupted or error free. ionix Limited PROVIDES THE PROGRAM AND THE DOCUMENTATION "AS IS" WITHOUT WARRANTY OF ANY KIND EITHER EXPRESS, IMPLIED OR STATUTORY, INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. You assume full responsibility for the selection of the Program to achieve your intended results, and for the installation, use and results obtained from the Program. You also assume the entire risk as it applies to the quality and performance of the Program. Should the Program prove defective, you and not ionix Limited assume the entire cost of any service and repair. This disclaimer of warranty constitutes an essential part of this agreement.

    LIMITATION OR REMEDIES: IN NO EVENT WILL IONIX LIMITED BE LIABLE FOR ANY INDIRECT DAMAGES OR OTHER RELIEF ARISING OUT OF YOUR USE OR INABILITY TO USE THE PROGRAM INCLUDING, BY WAY OF ILLUSTRATION AND NOT LIMITATION, LOST PROFITS, LOST SAVINGS, LOST BUSINESS OR LOST OPPORTUNITY, LOST REVENUE, LOST DATA, OR ANY SPECIAL, INCIDENTAL OR CONSEQUENTIAL OR EXEMPLARY DAMAGES, INCLUDING LEGAL FEES, ARISING OUT OF SUCH USE OR INABILITY TO USE THE PROGRAM, EVEN IF IONIX LIMITED OR AN AUTHORIZED IONIX LIMITED DEALER, DISTRIBUTOR OR SUPPLIER HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY ANY OTHER PARTY.

    GENERAL: This Agreement is binding on you as well as your employees, employers, contractors, agents, and any successors or assignees. Except as otherwise provided by applicable state law or federal law governing copyrights, this Agreement is governed by the laws of the United Kingdom. This Agreement represents the entire agreement between ionix Limited and you and supersedes any other understandings or agreements including, but not limited to, advertising statements, with respect to the Program. Further privacy policies, copyrights notices and disclaimers may apply to any content offered via our Internet web sites.

    EXPORT CONTROLS: The Program and the underlying information and technology may not be downloaded or otherwise exported or re-exported (i) into (or to a national resident of) Cuba, Iraq, Libya, Yugoslavia, North Korea, Iran, Syria or any other country to which the U.K. or U.S. has embargoed goods; or (ii) to anyone of the U.S. Treasury Department's list of Specially Designated Nationals or the U.S. Commerce Department's Table of Deny Orders. By downloading or using the Program, you are agreeing to the foregoing and you represent and warrant that you are not located in, under the control of, or a national or resident of any such country or on any such list.

     


    [Top]

    Pre-Sales Questions: The server I am using does not support mySQL. Can I continue using Locked Area Pro indefinitely?

    Yes, as a Locked Area Pro licensed user your license and rights to use Locked Area Pro remain unchanged!


    [Top]

    Pre-Sales Questions: What is Locked-Area.com?

    Locked-Area.com was started in 1999 to distribute the software, Locked Area. Locked Area is a piece of user management/password protection software written in Perl for use on Internet web sites which allows the owner of a web site to setup a secure content area on their web site. Using the software the web site owner can then allow visitors to register to access the secure content area. This is very useful if for example, they would like to know who is accessing there web site content. In 2006, Locked-Area.com released OpenCrypt as an advanced alternative to Locked Area, intended to offer a comprehensive range of new options and facilities for the web site owner, including the option to charge web site visitors to access their content. This has proven very popular due to declines in profits from Internet advertising.


    [Top]

    Pre-Sales Questions: Who owns OpenCrypt.com and Locked-Area.com?

    OpenCrypt.com and Locked-Area.com are owned by/products of ionix Limited. For further information regarding ionix Limited, please see: http://www.ionix.ltd.uk/


    [Top]

    Pre-Sales Questions: Will installing the mySQL manually during the installation allow me to use a mySQL server and mySQLdump that are located on another piece of hardware. I have the ability to set up a mySQL database through my control panel.

    Yes, the path to mySQL and mySQLdump are used during installation and for minor aspects of the administration panel 'Database Management' section, so if you don't have access to the two programs it won't greatly affect your usage of the software.

    The database structure can be created manually via your mySQL control panel very easily using the SQL dump file included with OpenCrypt.

    Running mySQL on a seperate server to that which OpenCrypt is installed on will not affect your system operation, except obviously you may have the problem of one of the two servers going down.


    [Top]

    Register.cgi: Auto-Filling Register.cgi Input Fields

    The following input fields in the register.cgi main form can be auto-filled by calling register.cgi using query strings:

    Username, Email Address, First Name, Last Name, Subscription Type/ID

    Example:

    register.cgi?sub=ID&email=EMAIL@DOMAIN.COM&fname=JOHN&lname=SMITH&username=TESTACCT

    This can be used in any combination, for example, to only set the subscription type/ID and email address:

    register.cgi?sub=4&email=email@domain.com


    Please note: When specifying the Subscription ID with a query string, the Subscription section will be hidden in the registration form to prevent the user from changing their subscription type.

     


    [Top]

    Register.cgi: register.cgi Customisation

    The OpenCrypt registration form can be completely customised to gather the information you require from your users.

    This is achieved with a combination of templates, which allow you to customise the look of the form, and custom form fields, which enable you to gather information specific to your site.


    Basic configuration of register.cgi can be completed in the Administration panel.

    To setup the basic look of the form (and of manage.cgi) visit the Configuration - System Settings - Templates and Styles - Styles and Colours Configuration of the OpenCrypt Administration Panel, further information can be found at http://www.opencrypt.com/faq.php?q=195

    If you wish to change the layout of the templates themselves, or re-arrange certain elements of the form, they can be edited directly or through the Configuration - System Settings - Templates and Styles section of the OpenCrypt Administration panel. More information can be found at http://www.opencrypt.com/faq.php?q=197

    Certain sections of the registration form can have their position within the form moved directly from the configuration or be disabled and enabled completely, for example Terms and Conditions can be placed as part of the registration form, or shown before the form. These settings can be changed in the OpenCrypt Administration panel, under the section Configuration - System Settings - Register.cgi and Manage.cgi configuration. More information can be found at http://www.opencrypt.com/faq.php?q=196
    For the duration of this article, this will be referred to as the 'Register and Manage Configuration.'

    Custom Form Fields can also be added to the registration form to enable you to collect specific information from your users. Custom Form Fields can be configured from the OpenCrypt Administration Panel, in the section Configuration - System Settings - Custom Form Fields. Further information can be found at http://www.opencrypt.com/faq.php?q=13
    For the duration of this article, this will be referred to as the 'Custom Form Fields Configuration.'


    Membership Software Registration Form

     

    • Terms and Conditions: In the example included, the first item in the registration form is the Terms and Conditions. It is currently enabled to be included in the registration form rather than displayed before the form, this option is set in the Register and Manage Configuration. The Terms text is editable through the Adminsitration Panel, in Configuration - System Settings - Templates and Styles - Open Text Template - Text.pl. Please be careful modifying this template as it contains Perl code.
    • Username: We have given the user the option to choose their own username (other options are 'Auto-Generated Username' and 'Use e-mail address as Username') and defined that it must be between 8 and 255 characters long. These settings are controlled in the Register and Manage Configuration.
    • Password: We have also given the user the option to enter their own password (instead of OpenCrypt automatically generating it) and defined that it must also be between 8 and 255 characters long. These settings are configured in the Register and Manage Configuration.
    • E-mail: E-mail address is required for all registrations, in this case, we have e-mail activation disabled (does not check to ensure the e-mail address is valid). This feature is configured in the Register and Manage Configuration.
    • Name: Name fields (Title, First Name and Surname) are normally requested on registration, they may be disabled if required, from the Register and Manage Configuration.
    • Coupon Code: The Coupon Code allows you to offer coupon discounts to users, this option will appear on the registration form if you have the OpenCrypt Affiliates Add-On installed. Should you wish to remove this, clear the following template: affilliate-register-entry.tmpl
    • Address: The Address fields are configured as a group of Custom Form Fields in the Custom Form Fields Configuration. In this example, Address Line 2 is the only one not to have the 'Required' parameter set. Postal Code has a significanly smaller size than the other TextBox fields. Country is a DropMenu type field with a number of countries defined, along with an error message for no selection, and search-enabled for user record searches from the Administration panel.
    • Subscription: We have two subscription types currently defined for the user to choose from. If we had preselected these with a query string, they would not be visible to the user.
    • Additional Products: Additional Products allow you to sell additional products along with the standard registration. This feature can be enabled in the Register and Manage Configuration, and products themselves defined in the General Settings - Products section of the OpenCrypt Administration Panel. If e-mail activation is enabled, these will be displayed after the user has confirmed their account is valid.

     



    Workflow options for register.cgi

    Depending on your configuration, register.cgi can be displayed in a combination of different workflows:

    E-mail Activation Disabled: With e-mail activation disabled, your options are to choose whether the Terms and Conditions appears before the main registration form, or as part of it.

    E-mail Activation Enabled: With e-mail activation enabled, Terms and Conditions can be set to appear before the main registration form, or as part of it. Additional products, and the Purchase options if used will appear after e-mail activation (to ensure you have a valid account before accepting payment.) You can choose whether Custom Form Fields appear as part of the main registration form, or after e-mail activation.


    [Top]

    Register.cgi: register.cgi, Registration Form/System

    Quote from full features list:

    All account registration is handled automatically by the web-based registration system unless the administrator has specified that registrations require their approval. Email address validation functions are included to ensure only valid/active email addresses may be used for registrations. Full validation checks are included in the registration process to ensure any data that is collected is valid and in an acceptable format. OpenCrypt also offers support for 50 custom form fields of types; textbox, textarea, drop-down menu, radio button, checkbox and password. Registration System All are completely customisable with field grouping, pre-set and custom validation checks and field input constraints so you can collect whatever data you require and be sure it is always in the correct format. When adding custom form fields you have complete control, whether you want the field to be required or you want to set it so your member's can't edit the data they entered at registration, you can even set it so they don't see the data ever again after they enter it. The field's name, the explanation of what data to enter and any error message details you wish to include are fully customisable. The complexity of the registration process is up to you. As standard, users register, email validation is required and custom form field data entry is included after email activation, payments come after all the users data is collected. However, if you're looking for a quick registration system this can very easily be cut down to a basic, enter email address and full name form. Simplifying the process to one data entry page, and one confirmation page and email, this method is perfect if you think your users want a quick registration with minimal hassle to maintain their interest, or if all the data collection and email validation is simply unnecessary.


    [Top]

    Register.cgi: register.cgi, State Examples

    We have organised some screenshots of the registration system in three different 'states', These are shown below with an explanation of the registration process being used. The registration system can be configured in a variety of ways, the only two restraints are the terms and conditions must appear before the registration form or with it, and the only compulsory field in the registration form is the user's email address.

    State 1
    This first example is set-up in the most basic configuration available with the exception that we included two custom form fields (Web Site URL and Phone Number) which are completely optional.

    Agree to terms and conditions before form The terms and conditions of membership are displayed before the registration form with 'Agree' and 'Disagree' buttons. When the user selects 'Agree', they are forwarded to the registration form. These terms and conditions can be customised and modified via the administration panel.
    Enter basic account details After agreement to the terms and conditions, the registration form is displayed. In this case we have enabled the custom form fields (Web Site URL and Phone Number), but the only compulsory field is the email address input. As you will see if you review the other examples, this form can be manipulated to display all sorts of varying field input requests but in this instance we have kept it very simple and easy to use.
    Confirmation page and email sent Once the user has entered their email address and custom form field data, a confirmation page is displayed which depending upon your configuration can display 'Direct Login' details so users may go directly to the member's area after registration. Alternatively and in this example, the confirmation page is displayed and the user is emailed a confirmation email which includes the member's area URL.


    State 2
    This second example is set-up as simple registration forms, but with a much more complicated registration process. Features such as 'Email Validation/Activation' are enabled and 'Additional Products' may be purchased.

    Agree to terms and conditions before form As with the previous example, the terms and conditions of membership are displayed before the registration form with 'Agree' and 'Disagree' buttons. When the user selects 'Agree', they are forwarded to the registration form. These terms and conditions can be customised and modified via the administration panel.
    Enter basic account details After agreement to the terms and conditions, the registration form is displayed. In this case we have enabled 'Custom Usernames' and the 'Name Input' field which requests the users first and last name. If the 'Custom Usernames' option is not enabled, usernames are generated automatically by the OpenCrypt system, the same applies to 'Custom Passwords'.
    Confirmation and activation email sent In this example, we have enabled 'Email Validation/Activation'. This option is used to verify email addresses that are inputed during registration are valid. After completing the initial registration form, the user is emailed a 'validation code' which is simply a long string of numbers and letters. When they receive this code via email, they simply select a link in the email which includes this validation code. The idea being, the user will not know the code unless the email is received, therefore to receive the email they must enter an active and valid email address so as to activate the account.
    Email verified, custom field input and additional products Once the user has validated their email address, in this example with have requested that 'Custom Form Fields' appear after the 'Email Activation' stage and we have also enabled the 'Additional Products' option which allows us to sell one-time fee products/services alongside the subscription. 'Custom Form Fields' shown are 'Web Site URL' with 'URL Validation' and 'Phone Number' with integer validation.
    If products purchased, print invoice and make payment, else skip If the user chooses to purchase a product or paying subscription, at this stage they are presented with an invoice for the purchase and are guided through making the appropriate payment. In this case, we have chosen to purchase the 'Additional Product' but the subscription is free. E-Commerce processing is enabled for use with WorldPay in this example but for a variety of reasons we are unable to display screenshots of this part of the process. If no products are purchased and the subscription is free, this stage is skipped and the user is directed to the next confirmation page.
    Confirmation page and email sent At this stage the purchase or account creation is confirmed and a confirmation email is sent to the user. If 'Direct Login' is enabled then the user can go straight to the member's area but in this example we are using 'Admin Validation' of accounts so the user will not receive access to the member's area until an administrator has activated the account.

    State 3
    This example is set-up with reasonable complex forms, though they can be far more complex, but a very simple registration process involving just one form, one confirmation page and one email. In this example the 'Subscription System' is enabled, but 'Additional Products' and 'Custom Form Fields' are not.

    Enter basic account details, terms and conditions, custom fields, subscription and additional products In this example we have enabled 'Custom Usernames', 'Custom Passwords', 'Name Input', the 'Subscription System' and we have set the 'Terms and Conditions' to be displayed with the registration form with a checkbox to signify the user's agreement. We have disabled 'Custom Form Fields', 'Email Activation' and 'Additional Products'.

    The 'Subscription System' can be used in a variety of ways and it is possible to load the registration form with a 'Subscription Type' auto-selected and it can be set to hide the details of other 'Subscription Types' when one is auto-selected.

    Confirmation page and email sent At this stage, providing all inputs have been entered correctly, the account creation is confirmed and a confirmation email is sent to the user. If 'Direct Login' is enabled then the user can go straight to the member's area.

    Please note, screenshots are of version 1.4.


    [Top]

    Statistics: Future Billing Report

    The Future Billing Report in the OpenCrypt statistics system provides a detailed overview of your forthcoming Subscription renewals.


    Future Billing Report

    At the top of this statistics page there is an option that allows you to define the date range for the report to be run over, for example to get future billing information over the next quarter.

    The Future Billing report calculates the revenue that will be generated over the date range, assuming that all users renew their subscriptions when due.

    Total Revenue: Allows you to view the total revenue likely to be generated per month over the date range selected, this is broken down into data and a bar chart.


    [Top]

    Statistics: I'm not getting any statistics for my member's area. Did I miss something in the configuration?

    Yes, to log member's area statistics you need to call the 'logger.cgi' file via SSI in your member's area HTML content. If using the 'PHP Login Interface' statistics are automatically logged.

    Please click here for instructions of how to do this.


    [Top]

    Statistics: Pending Orders

    The OpenCrypt Pending Orders section of the statistics system provides a way for you to manage and communicate to users the status of orders of products purchased.


    The Pending Orders system provides a handy interface for the management of orders for products, for example if you are running a shop that may require items to be shipped.

    The Pending Orders system is presented as a list, with the most recent orders at the top of the page. Orders will not be displayed in this list if shipping has completed, or if the order has been hidden.

    ID: Shows the ID of the order.

    Username: Clicking the username of a record allows you to see the user's membership data, as seen normally through the User Management section of the administration panel.

    Amount: Shows the total amount of the order in the default currency.

    Status: Shows the current status of the order. Pending is the default, and means that the order is being processed. On Order shows that new stock must be received before dispatch.

    Invoice: Allows you to view the invoice related to the order where appropriate.

    Address: Allows you to print an address label for shipping if desired.

    Date: Displays the date that the order was made.

    Select: Allows you to choose the record that you wish to process.



    Available Actions:

    Once an order is selected, there are three options available:

    Hide: Allows you to hide the order from the Pending Orders log, the order records will still be available in the Revenue Log if required.

    On Order: Allows you to mark the order as awaiting new stock, a notification will be sent to the purchaser.

    Dispatched: Allows you to mark the order as dispatched. You will be asked to provide details of the postal service provider, including tracking number if appropriate, to be included in the notification to the purchaser.


    [Top]

    Statistics: Revenue Log

    The OpenCrypt Revenue Log provides details of all monetary transactions that have passed through OpenCrypt.


    The list of transactions is by default sorted so that the most recent transactions are available at the top of the list.

    This can be re-sorted by clicking on the column headers at the top of the report.

    Current sort options are:

    • ID
    • Username
    • Processor ID (Payment Processor)
    • Processor Transaction ID
    • Amount
    • Refunded
    • Date (of transaction)

    The report can be filtered to just show the revenue records from a specific date range. To enable this, choose the date range in the 'Custom Date' section and then click the 'View' button.

    The report can also be filtered based on keywords, for example 'Username.' To use this feature, enter the appropriate keyword(s) and then click the 'View' button.

    To view specific transaction details, click on the Processor Transaction ID for the appropriate record.


    Adding a Billing Record

    Functionality is provided so that additional billing records can be added where required, for example when a payment is taken offline, or outside of the OpenCrypt system.

    To add a Billing Record, click the 'Add Billing Record' link, you will then be asked to enter the following information:

    Username: Enter the username of the person that the billing record should be linked to.

    Processor ID: Allows you to select the processor that the payment was provided through, if offline select the 'Manual/Offline Payment'.

    Transaction ID: Allows you to enter the transaction ID from the payment processor if available. If not, enter a reference which will help you trace the payment should you need to in the future, e.g. a cheque number.

    Amount: Allows you to enter the amount of funds received, in the default currency for your system.

    Product ID's: Allows you to enter the identities and quantities of any products that may have been purchased. Enter in the format PRODUCT:QTY|PRODUCT2:QTY|, e.g. product-id:1|product-id2:5|

    Once complete, click the 'Add Record' button to update the Revenue Log.


    Marking Payments as Refunded

    The refund option in the Revenue Log allows you to mark a payment as refunded. This does not actually refund the payment through the appropriate payment processor. We advise that you refund the payment before marking it refunded in OpenCrypt. Most payment processors do not allow for automation of refunds so it is not possible for this option to automatically refund the payment.

    To mark a record as refunded click on the 'Refund' link next to the appropriate transaction.

    To mark a refund as reversed click on the 'Reverse' link next to the appropriate transaction, this will cancel the refund.


    [Top]

    Statistics: Sales Report

    The Sales Report in the OpenCrypt statistics system provides a detailed overview of sales and revenue trends over a specified time period, providing you with the ability to report accurately on your revenue.


    Date Range: Allows you to define the date range that the report is run over, for example so that you can get quarterly or annual revenue figures.

    Total Revenue: Allows you to view the revenue earned per month over the specified date range. This report is broken down into monthly summaries of data and a bar chart.

    Subscriptions: Allows you to see an overview of the percentage of new users signing up for each subscription type, including the total initial revenue from each of these subscription types. This report is broken down into data and a pie chart.

    Shopping Cart Products: Allows you to see the most popular products that are purchased from within users shopping carts. This report is broken down o summaries of data and a pie chart.


    [Top]

    Statistics: Shopping Basket Report

    The Shopping Basket Report in the OpenCrypt statistics system provides a detailed overview of members shopping basket habits, helping you to get a better grasp of how your shop is performing.



    Items in Shopping Cart: Allows you to get an overview of the users with items currently in their shopping basket, including a detailed breakdown of the items and the date and time they were added.

    Popular Products: Allows you to view the top ten products that are added to users shopping baskets. This is broken down into data and a pie chart.

    User Shopping Baskets: Allows you to see an overview of users that have recently added and/or removed items from their shopping basket, including a detailed breakdown of the dates and times that each item was added or removed.


    [Top]

    Statistics: Statistics

    The OpenCrypt statistics system provides a detailed insight into the way that your site is being used.


    Structure of the statistics pages in OpenCrypt

    At the top of each statistics page are various options that enable you to control the report you are seeing, they are:

    Statistics Type: Allows you to switch between the different reports available.

    View Raw Data: Allows you to see a formatted list of the data used to build the statistics graphs.

    View CSV Data: Allows you to see a list of the data used to build graphs in CSV format for direct viewing, or for copy and paste into other reporting or analysis tools.

    View Stats: Allows you to choose the time period of your report, for example 'Yesterday', or 'This Month'. Alternatively 'Custom Date' ranges can be used.

    Custom Date: Allows you to define a custom start and end date for the report, the 'Custom Date' option must be selected in the 'View Stats' field when selecting custom start and end dates.

    Search Keyword: Allows you to choose a keyword to filter the statistics by, such as username.

    Search Field: Allows you to choose the field that the keyword search is conducted against.

    Exact Match: Ensures that keyword searches are matched exactly, for example capitalisation, if not selecting the search will match any action which begins with your search term. e.g. 'php_log' will match 'php_login' and 'php_logged_in', but not 'example_php_log'.


    As long as 'View Raw Data' or 'View CSV Data' are not selected, statistics will be shown with either 'Date Range' or 'Top 10' style summaries unless otherwise stated, full details are below.


    Statistics Type

    This provides a summary of the common reports available in the Statistics Type selection.

    Frontend Activity Log provides details of the access to any parts of the OpenCrypt frontend, such as the user account manager interface and registration form.

    Admin Activity Log provdes details of all the actions that have happened within the OpenCrypt Administration Panel.

    Registration Statistics provdes details of registrations per day over the current date range, and a summary of the percentages applying for each subscription type.

    Revenue Statistics provides a breakdown of all the transactions conducted over the specified date range, in the format of a log.

    Member's Area Statistics provides details of the specific members area accesses, including frequency, a breakdown of area popularity, which users are most active, most popular IP addresses, and most popular referrers.

    PHP Login Interface Statistics provides details of all the uses of the PHP login interface, including statistics for the pages it is included in. Statistics are as for Members Area, but with the addition of most popular browsers and countries.

    Download Statistics provides details of the number of files downloaded in a date range, most popular files, and then most popular usernames, IP addresses, referrers, browsers and countries.

    Frontend Failed Logins provides details of all failed logins in a date range, with summaries for action, username, IP address, referrer, browser, and country.

    Admin Failed Logins provides details of all failed logins to the OpenCrypt Administration Panel, broken down as per Frontend Failed Logins.


    [Top]

    User Management: Account Details (View User)

    This page gives the basic details of the selected user account, and provides access to OpenCrypt?s powerful account management tools.



    The option buttons at the top of the screen allow you to use the more common account management features:

    Contact: This button will open the ?Contact User? feature of OpenCrypt, allowing you to e-mail the selected user directly from the Administration Panel

    Modify: This button will open the complete user record for editing, giving you complete control to make changes to the account details, Assign Points, and make Admin Notes for the user record.

    Remove: This button will open the Remove Account Confirmation page, where you have the option to completely remove the User Record, this page acts as a prompt to help prevent the accidental removal of a users account.

    Monitor: This button enables/disables OpenCrypt?s powerful monitoring feature. The status of the monitor tool is shown on the main part of the Account Details page. When you have pressed this button, OpenCrypt will show a confirmation page detailing the change in the Monitor status. The Monitor tool will log every aspect of the Users visit to your site, enabling you to keep a close track as to their habits.

    (Un)Suspend: This button allows you to Suspend and Un-suspend a Users Account. Suspend will prevent the user from accessing any part of the Members Area, and will prevent them logging in. This also allows you to un-suspend an account if you, or the OpenCrypt system has suspended a user account. When you have pressed this button, OpenCrypt will show a confirmation page detailing the change in the Suspend status.

    Beneath the Option buttons is a list of the most important details for the user account

    • Username
    • Email Address
    • Full Name
    • Subscription ID (where appropriate)
    • Date Account Opened
    • Date Expired (where appropriate)
    • This Account is (Currently/Not Active, and is/ is not being monitored by OpenCrypt),
    • Last Visit/Login
    • View Log Records
    • Validation Code (where appropriate)
    • Points (where appropriate)
    • Custom Fields that are required at the time the account was created.


    [Top]

    User Management: Account/User Lookup

    When searching for an account to modify, remove, suspend etc... you have a variety of options. Firstly, you can enter a username OR email address to identify the account you wish to perform a function on. You can enter both a username and email address, but it is recommend you only enter one of the two because either is sufficient to identify an account. When using this method the software looks for an exact match of the data you entered. If you do not know this data you can search your member's database to locate an account. Either enter your search term into the keyword entry field and click 'Submit' or select the 'Further Search Options' link to be directed to the advanced search form. Both the keyword entry field and the advanced search form support the use of wildcards and phrase searching.


    If you are using the search tool from any of the View, Modify, Remove, (Un)suspend) or Monitor functions, these functions will be performed once you have located the correct account.



    TIP: If you're unsure of an account's username or other details, take advantage of the search tools wildcard facility. e.g. When trying to locate the account owned by 'James Smith', you can search for 'James*', 'James S*' or James Smit*'.


    [Top]

    User Management: Add New User

    The 'Add New Account' allows you to quickly create user accounts yourself. OpenCrypt supports unlimited user accounts that can each be tailored to your needs.



    To add a new user: Simply enter the appropriate data, Some inputs may be pre-entered, based on your configuration

    Subscription Type:* This allows you to select a pre-set Subscription type for your new memeber, subscriptions are powerful rules for your members areas, controlling features like mailing lists, payment and the points system
    Please note that you should add and modify subscription types via the 'Subscriptions Manager' section of the configuration.

    Desired Username:* This field allows you to input a username of your choice.  Usernames must be between 8 and 255 characters in length. The use of long usernames helps to improve security.
    OR Generate ID Username: This field tells OpenCrypt to generate a unique username, if you do not wish to type one yourself. This will be displayed when you finish adding the user record.

    Desired Password:* This field allows you to input a password of your choice.  Passwords must be between 8 and 255 characters in length.  The use of long passwords helps to improve security.  If you enter a manual password, you must also enter it in the Confirm Password field as an additional security check, this is to make sure the password is typed correctly.
    OR Generate Random Password: This field tells OpenCrypt to generate a unique and random password, if you do not wish to type one yourself. This will be displayed when you finish adding the user record.

    Email Address:* This field allows you to enter an e-mail address for your user, this will be their primary point of contact for administration messages e.g. Lost Passwords, Mailing Lists, User Banning etc.

    Duplicate Check E-mail Address:
    Checking this box tells OpenCrypt to check whether the e-mail address you have entered is already in the database, this is to help prevent duplicated records, and helps to prevent fraudulent use.

    First Name/Last Name:* These fields allow you to enter the first name and last name of the user.

    Custom Fields: OpenCrypt supports custom registration fields e.g. Address Fields, nicknames etc.  These are configured using the 'Custom Form Fields' section in the configuration, any fields placed here will be added to the user record.

    Add New User button: This button tells OpenCrypt to create the new user account based on the details you have entered.   When you have pressed the create new user button, OpenCrypt will display a confirmation of the account details, comprising of: Username, Password, E-mail Address, Full Name, Subscription Type, the date the account was opened, and the date the account will expire (where applicable).  From here, you may select the 'View Account Details' and then modify or view any of the information you have entered.

    * = Required data input


    [Top]

    User Management: Additional User Search Options

    The 'Further Search Options' allow you to quickly find user accounts if you don't know the E-mail Address or Username.
    OpenCrypt supports searches on any of the fields in the User Database, including Custom Fields.



    Keyword: * Simply enter the keyword(s) that you are looking for in this box, and then set your search criteria using the following fields:

    Fields to Search: * This allows you to select any field from the User Database to search on. To select a field, simply click on it.
    To select multiple fields, hold CTRL and click each required field.
    To select a group of fields, click the first field, then hold SHIFT while you select the last field.

    Columns to Display: * This allows you to select which columns will appear in your search results. To select a column, simply click on it.
    To select multiple columns, hold CTRL and click each required column.
    To select a group of columns, click the first column, then hold SHIFT while you select the last column.

    Match Case:This allows you to set whether a search is Case sensitive or not.
    For example, your Keyword is 'testuser', selecting Match Case would mean that if the user you are searching for is 'TestUser', OpenCrypt would not return any results.

    Results per Page: This field allows you to select the number of results that are displayed per page to make reading the results easier.
    This defaults to All records, unless you make a selection.

    Search Button:This button tells OpenCrypt to begin searching your user records.

    * = Required data input


    [Top]

    User Management: Display Account Details

    This page allows you to both navigate to view a users account details, and search the database for a users account details.



    Username: If you wish to navigate directly to a known users account, enter their username into this field, and press the 'Display Details' button, this will bring up the details for that user. (Please note this field is case-sensitive)

    Email Address: Alternatively to entering the username, you can enter the email address of a known user in this field, pressing the 'Display Details' button will then open the details of this users account. (Please note that this field is case-sensitive)

    Search Keyword: If you wish to search for a user record, enter a keyword (e.g. a name) into this field, and then press the search button. This will search every field in the users database for matches, and display them accordingly.

    Please Click Here for ?Further Search Options? documentation.


    [Top]

    User Management: List All Accounts

    This page provides a list of your users, and provides access to OpenCrypt's powerful account management tools.



    The option buttons at the top of the screen allow you to use the more common account management features:

    View: This button will open the users account details and will list all details associated with the selected account.

    Modify: This button will open the complete user record for editing, giving you complete control to make changes to the account details, assign points, and make admin notes for the user record.

    Remove: This button will open the remove account confirmation page, where you have the option to completely remove the user record, this page acts as a prompt to help prevent the accidental removal of a users account.

    Monitor: This button enables/disables OpenCrypt's monitoring feature. The status of the monitor tool is shown on the main part of the account details page. When you have pressed this button, OpenCrypt will show a confirmation page detailing the change in the monitor status. The monitor tool will log every aspect of the users visit to your site, enabling you to keep a close track as to their habits.

    (Un)Suspend: This button allows you to suspend and un-suspend a users account. Suspend will prevent the user from accessing any part of the members area, and will prevent them logging in. This also allows you to un-suspend an account if you, or the OpenCrypt system has suspended a user account. When you have pressed this button, OpenCrypt will show a confirmation page detailing the change in the Suspend status.

    To browse the search pages, simply select the '>' link to be taken to the next page of results.

     


    [Top]

    User Management: Modify Account Details

    This page provides access to OpenCrypt?s powerful account management tools, allowing you complete control over the configuration of the selected users account.



    Username, this field cannot be edited, as it is the unique identifier for the users account.

    Email Address, this field displays, and allows you to amend the email address for the user record.

    Full Name, this field displays, and allows you to edit, the Forename and Surname for the registered user

    Subscription ID (where appropriate), this field cannot be edited, as it is self-updating when a user changes their subscription type at renewal.

    Date Account Opened, this field displays, and allows you to edit, the date and time that the account was created.

    Date Expired (where appropriate), this field displays, and allows you to edit, the date that the account expired.

    Points (where appropriate), this field displays, and allows you to edit, the number of points that the user currently has.

    Custom Fields, this section displays, and allows you to edit, the users responses to any Custom Fields that you have set up in the registration system

    Admin Notes, this feature is unique to OpenCrypt, in that it allows you to make notes against each users individual record. This tool is very useful for sites with many administrators, as notes can be left explaining why users accounts have been modified etc.Once complete, select the 'Update Account' button, this will commit any changes you have made to the OpenCrypt user database.


    [Top]

    User Management: User Management

    This section of the administration panel allows you to manage all your users/accounts. To proceed, simply select one of the on screen options/links.



    The top section of the User Management panel gives a summary of the overall state of all of your users.

    Active members, accounts which are in use, these users have access to your protected content.
    Suspended/inactive accounts, these users have either been suspended by an administrator or their accounts have become inactive. This may be because of account abuse, failure to renew their account or simply because the account hasn't been used in a while.
    Members awaiting admin validation, to validate these registrations simply select the 'Validate Registration Requests' link from the 'User Management' main menu.
    Members awaiting activation by the account holder, these users have begun registering, but as of yet have not validated their account by selecting the activation link in their activation email. This could mean they tried to register with a false email address or they may have simply decided not to register. These accounts are removed if not activated after 30 days.
    Accounts which are being monitored, these accounts have been selected by an administrator to be monitored automatically by the OpenCrypt system. To view the report on a particular user please see the 'Monitored Users' section of the 'Statistics' system.



    The User Management section provides useful quick links to the following:

    Add New Account: Enables you to create a new account without using the register.cgi registration form.

    View Individual Account Details: Enables you to search for a user and then perform additional tasks on their account.

    Modify an Account: Enables you to search for a user and then modify their account details.

    Remove an Account: Enables to search for a user and then remove their account.



    The Find/Search/View User section provides useful links to the following:

    Search Member's Database: Enables you to full-text search your members database, with customisable output.

    List All Accounts: Will display all of your accounts in alphabetical order.

    List All Active Accounts: Will display a list of all the Active accounts in alphabetical order.



    Other Actions provides quick links to the following:

    Validate Registration Requests: If you are using Administrator approval for new accounts, you can access the tool to validate any pending accounts here.

    List Accounts Awaiting Activation: Will show a list of all accounts where the new user has not yet activated their account if this feature is turned on in the configuration.

    List Expired Accounts: Will show a list of all accounts that have expired so that you can see their renewal details.

    Monitor an Account: Enables you to search for a user and then automatically monitor their account.

    (Un)Suspend an Account: Enables you to search for a user and then either suspend or unsuspend their account, depending on whether it is currently suspended.

    List Inactive/Suspended Accounts: Will show a list of all accounts that are currently Inactive or Suspended.



    Search Users DB allows you to enter a keyword for a quick-lookup of the users account.

    Keyword: Allows you to enter a keyword (normally account name or e-mail address) and then perform the chosen function on it.

    Choose Results Action: Allows you choose which task to be performed on the account to be quick-searched.



    Latest Registrations shows the last few user accounts created, what the account status is, and if you have the IP Address Lookup feature enabled it will show you which country their IP address is registered to.


    [Top]

    User Management: Validate Registrations

    The Validate Registrations section of OpenCrypt provides an easy to manage list of all accounts awaiting administrator approval. Administrator approval is enabled in the subscriptions configuration and can be enabled for individual subscriptions.


    At the top of the panel a summary is given of all the accounts that are awaiting approval.

    Username: allows you to click and retrieve the full details for each user account, should you require them.

    Email Address, Full Name, Subscription, and account opening and expiry dates provide a quick summary of the users account details.

    Approve: allows you to choose which accounts you wish to approve for registration, the users affected will be notified.

    Decline: allows you to choose which accounts you wish to decline registration, the users affected will be notified.

    Silent Decline: allows you to choose which accounts you wish to decline registration, the users affected will not be notified.

    Check All: allows you to check all the accounts listed to either Approve, Decline, or Silent Decline.

    When you have finished making your selections, press 'Validate Accounts' to process them.

     

    Thank you for supporting OpenCrypt!