Support Site - One-on-one project for xcite studios from Jordan! on 3/20/2012 4:23:25 PM(repost)

Cancelado Postado May 23, 2012 Pago na entrega
Cancelado Pago na entrega

I need a custom coded support system. It should use as little open source code as possible as i want to be as secure as possible (if open source code is used, it should be secured).

I left the bid amount blank so you can quote the bid amount (take into account RAC fees).

## Deliverables

Here's what i need exactly:

**A registration system with the following fields:**

> - Username

>

> - Password

>

> - Email Address

>

> - User Referrer (if the user was referred by another user)

>

> - Birth Year (Just the year)

>

> - Steamid field (SteamID can either be in the format of STEAM_X:X:XXXXX or a long string of numbers, when a user enters their steamid in SteamCustomURL format or as the long number, in the database it should be saved in the format of STEAM_X:X:XXXXX)

>

> - When a user enters their SteamID, it should check against the database if it matches the SteamID of a banned user account and if it does it should tell the user right on the page that the particular SteamID has been banned and the reason why it was banned (only once the form is submitted).

>

> - Country (in dropdown that lists all the countries of the world)

>

> - Province/State (also in a dropdown, but this dropdown should change depending on which country is selected and display only the provinces/states from that country)

>

> - Site Referrer with customizable dropdown menu (asking where the user found out about website) with a last option that says other and when other is selected a textbox should appear asking the user to type in the site they were referred from.

>

> - A checkbox for terms of service agreement

>

> - Recaptcha Image Verification (to prevent spam bots signing up).

>

> - After successful registration, the user should be told (on a new page) that their account has successfully been created and they will need to click the link sent to them via email to verify their email address. If staff authorization is enabled, it should also tell them that their account will be activated in a few hours to a few days.

>

> - Also, when the user account is either verified by the user (clicking the confirmation link emailed to them) or moderated manually by an staff, it should send out a welcome email (customizeable in staff area with proper permissions for who can edit it). If a user does not click the verification link emailed to them, then a notification in the user's account (in staff area) should display that shows staff that they haven't verified their email address.

>

> - Registrations can be made active immediately upon registration (with email verification) or have to be manually authorized by staff.

>

> - Registrations should be blocked when its detected that the user is registering from a proxy. In this case the user should be given a message that in order to register, they must stop using the proxy.

>

> - If the user tries to register with a SteamID that is already associated with an account (that isint banned) then once the form is submitted the user should be presented with a message telling them that they cant use that SteamID because its already associated with another account.

>

**Client Area:**

- A login system so users can log in (with protection against brute force hacking attempts via a strike system banning the user IP for X minutes if they enter a password X times incorrectly) (X is configurable in staff area).

- Users should only be able to log in with the email address they entered. The username they set should be used when creating/replying to tickets.

- Clients can view/post tickets (no file attachments), reply to tickets, open/close tickets (they can only see those they started or those assigned to them).

- A form with the following fields:

- Question with 2 radio buttons

- Question with 3 radio buttons

- Question with 2 radio buttons

- Question with dropdown with 5 options

- Question with 1 single line text area

- Question with 1 multi line text area

- Recaptcha image verification.

- If a user tries to log in, it should tell them that their account has been banned and the reason why it was banned (from the dropdown entry that was selected by staff).

- Clients should also be given a unique link that when other users click it, registrations are attributed as being referred from their account. The refer text area should be made un-editable when users register from a referral URL. This unique link should be displayed at the top of the user's main page (after logging in) and its apparance should be able to be disabled in the site settings in staff area.

**A FAQ Area:**

- Where staffs with the correct permission can create and edit FAQ entries.

- Faq's should have categories.

**A News Area:**

- Where staffs can post news.

- On the left side it should show the last 3 news items while on the right side it should show all previous news posts but just the title of them (with titles listed below each other in a single column).

- Each news item should display X (configurable in staff area) amount of characters with a read more link that links to a new page that displays the post in entirety.

- Posts should be able to be formatted with BBCode and have a text input area similar to what forums use (Bold, Italic, Underline, URL, Image, etc. bbcode buttons).

**

An administration area:

**

- A login system so staff can log in with protection against brute force password cracking attempts via a strike system banning the users IP for x minutes if they enter a password X times in X minutes incorrectly (configurable wrong password amount and ban time in staff area).

- A staff management section where staff accounts can be created and assigned permissions (see permissions below). The permissions system should also allow me to create staff groups where i can have a certain group associated with certain permissions to easily give out permissions.

+ Create or edit news posts.

+ Create or Edit FAQ categories.

+ Create or Edit FAQ entries.

+ Edit welcome email.

+ View details about registered users.

+ Edit registered users.

+ Create/Edit canned replies.

+ Create/Edit categories for Canned Replies.

+ Use Canned Replies.

+ View/Reply to tickets in certain categories/departments.

+ Create new ticket and assign them to specific users.

+ Access configuration options of the Support Site (Settings, CSS styles)

+ Create permission groups.

+ Add/Edit Staff Accounts.

> + Ban user accounts.

>

> + View referred user list.

>

- A user management section where user accounts can be modified (list all fields, but dont display password field, but allow password to be changed).

- A ban user page where staff can enter the name of certain users to ban them (preventing log in to the account). There should also be a dropdown menu listing prefabricated ban reasons (editable in site options part of staff area).

- If a user account has been banned, a note at the top of the page of a user account should be visible to staff that the account has been banned and the reason why it was banned.

- Canned Replies so that staff can select a response when answering tickets. There should be 2 dropdowns to select a canned response. The first one should be for categories and the second one should be the actual responses from that category (the second dropdown should change based on which category is selected in the first dropdown)

- Tickets can be closed, moved to another category/department, priority increased (low, medium or high) or created and assigned to specific users or specific staff.

> - There should be a page in the staff area that lists all users that referred other users and the amount of users they referred (from most to least). I need this part of the site hooking into the ctp tracker site database. I need it to look at the steamids of every user referred, then match it against the CTP Tracker site and if each SteamID has X hours (configured in the CTP Tracker settings area), then count that SteamID as being a valid referral, otherwise it shouldnt be counted.

>

> So for example let's say Bob referred 10 people. 5 of those people accumulated X amount of play time. So Bob's actual referral count should be displayed as 5.

>

> - Since this referral page is likely to make a ton of database queries, it should only be run when a button is clicked on the referral page and the button should show a popup, warning the staff user that it might take a while to calculate all the data.

>

> - The referral page should also have a button that allows one to reset the list of referred users (so all users start from 0 referrals). This button should have 2 warning popup boxes before actually removing all referrals.

>

**Other Notes:**

- Template system to easily manage appearance of pages.

- Customizable header, footer and css (like in the stats site)

- Support for Master/Slave Database setup and secured against SQL Injection and other exploits.

- If anyone tries to log in to an staff account after they get locked out; an email should be dispatched to the email address of the first (my) account.

- Full email integration is not needed, but clients should be notified by email when their ticket has a staff reply (email piping is not needed for ticket creation/reply).

MySQL PHP

ID do Projeto: #2744356

Sobre o projeto

Projeto remoto Ativo em May 23, 2012