Find Jobs
Hire Freelancers

514469 PHP Drupal Modules 3

N/A

进行中
已发布超过 12 年前

N/A

货到付款
Need improvements for 4 Drupal modules that integrate [login to view URL] applications: 2 Way Video Chat, Video Consultation, Live Streaming, Video Conference (will be provided). Ex: [login to view URL] [login to view URL] Also need 2 new modules created to extend functionality for these applications: Rooms & Credits. * Existing chat modules improvements: + Room picture: Room owner can upload a 320x240 picture that will show next to room description (will be resized if different size and also a 160x120 thumb will be generated and saved to a static location). Room owner can also select what thumb will show for the room if live snapshots are available for that module (Live Streaming, 2 Way Video Chat). Room Thumb: Room Picture / Live Snapshot + Access list: Owner can define a list of comma separated user names and/or emails that will have access to the room. If left empty everybody can access (public access). + Moderators list: Room owner can define for each room, a comma separated user names and/or emails list. Also can configure all Permissions settings (ie. Buzz button for 2 way video chat) as Yes/No/Moderator. On access ([login to view URL]), videowhisper application scripts will check if username or his email is in moderators list to get special permissions. + Some new/tweak settings, permissions (will be specified ie. for extra panels parameters in Video Consultation). + Relocate the application folder in the module folder (to allow deployment with the Drupal module in same [login to view URL]). * Drupal VideoWhisper room list module Drupal Name: "VideoWhisper Rooms" vwrooms + Need a menu entry Rooms to a page with list of rooms from all modules (accessible to public). - This will show a table with the rooms with multiple colums: Room Name Room Type (Video Conference, Video Consultation, Video Chat, Live Channel) (each shows if that module is installed) Room Description (short: first 250 chars) Room Thumb Online Users Owner Owner Online (Yes/No) Cost (cost for user if VideoWhisper Credits is installed) Tags - Default sorting is with this order: owner online DESC, online users DESC, cost ASC. Clicking table headers toggles criteria. Would be nice to include some arrows showing current sorting. - Rooms show based on criteria (filters). Clicking an item (a room type or tag) will configure that filter (and show rooms based on that filter). In example clicking Room Type: Video Conference will show list of video conferences. - Filters: Room Type: [] Video Conference [] Video Consultation [] Video Chat [] Live Channel (each shows if that module is installed) Users Online: Yes/No/All Owner Online: Yes/Only/No/All Access: Public/Private (private rooms are those where access list is defined) Tags: [csv] When tags is empty all rooms show. All settings show all rooms (both Yes and No). - Filter settings save as cookie. + Need a block that will list some rooms (based on default sorting) and a View All link to the rooms page . Will list room names and online users ie. Classroom1 (5). If possible will also give more details as tooltip on mouse over (ie. room type, description) Admin Module Settings: + Enable/disable columns (each column can be enabled/disable) + Filters (default values for filters); also apply to block + Enable/disable filters (for each filter) + Configure how many rooms are listed by block. * Drupal VideoWhisper Credits Module Drupal name: "VideoWhisper Credits" vwcredits This component will manage a credits system for using [login to view URL] modules. It will be used to charge site users for their usage time. The [login to view URL] modules will be tweaked to detect presence of this module, settings and include required functionality. It will record for each user: - balance [user_id, credits] how many credits each user has - all transfers user_id credits - negative/positive value modifier comment applied - if value modifier was applied context - (string ie. room name, admin name, account to withdraw where applies) type - (internal known logic for processing/listing: ie index representing 1 = added by admin, 2 = payment, 3 = withdrawal, 4 = video consultation room usage, 5 = video conference room usage or other ...) transfer start time - when transaction, ie. chat session started transfer modified time - when transaction was last updated (ie last [login to view URL] call) transfer applied time - when transfer was applied to balance Applied field will be used in transitive situations, in example when credits are used in a room. + When status script is called for a chat session and a transfer must occur (billing), a transfer entry is created for that session if non existent. As usage (credits) adds up for a room, transfer is not applied yet - just adds up there, like credits=(modified-start time) * cost. This logic will show nice in usage reports (a transfer for whole session instead of transfer for each minute or similar). + Credits are applied from time to time (ie. by cron or calls from certain pages ie. balance details) if transfer was not modified recently ie. during last 5 minutes - because usage stopped, probably closed. + If transfer is over available credits value user is disconnected with certain message (available credits over). Credits Module Settings: + Starting user balance. IE admin could give 200 credits to each user that registers. Extra settings for all chat modules (editable by admin): + Module mode: Free/Paid/As configured by room owner. New permission: Configure room type (free/paid). + Paid mode alternative rtmp address to use (a better server can be used for streaming of paid sessions). + Free & Paid mode streaming defaults and maximum limitations (for each mode): - bandwidht per stream (ie. 65536) - resolution (ie. 640x480) - microphone rate (ie 44) Room owners can not configure their rooms to use more than limitations. + There will be 4 rates for each room type defining transfers occuring for usage of an user in a room owned by a owner (credits/minute(60s) of usage): - user's cost (applies to user balance) - room owner's cost (applies to room owner balance) - room owner's cost when using own room (applies to his balance) - room owner's percent gain (applies to room owner balance as percent of user's cost) Also, there will be a new permission for first setting (User cost), so admin can allow owners to define a different user cost per room or not. These costs allow webmasters to run video conferencing site on multiple scenarios (for eLearning, consultations, shows, tutoring): charge room owners for use, charge both owners and users for use, charge only users, allow owners to gain from users. + Default grace time for applying each of the costs above (for each cost). Grace time is a free period for user session (IE 30s) before usage starts being deducted from balance (as configured) + Minimum and maximum session grace time for user. New permission: Allow owner to define user grace time. + Minimum and maximum user cost per room (to use when owner defines own cost). + Withdrawal info (html text). Withdrawal minimum (value). New room settings (editable by owner for each room): + Cost for user. + Session grace time before usage starts being deducted from balance (as configured). Defaults, limits for these are configurable by module settings. Chat modules frontend: + When paid mode is enabled, room access page will also display rate for user in that room, grace time, current user balance. Credits module frontent: + A menu entry Balance to a page showing current balance, transactions and buy credits. + Transactions (recent first) show paginated. Keyword search will be available to user to search for specific transaction based on comment, context. + Buy credits show packages available to order. + New permission: Withdraw credits. If user's role has this permission, user has an request withdrawal link/button on balance page. This leads to a withdraw form [amount value, account text, details text] where user can request to withdraw credits (more than minimum withdrawal setting, and equal or less of total balance). Also this page shows withdrawal info as defined by webmaster. (ie: Fill your paypal address in account box to request a minimum withdrawal of 50 credits. Credits will be converted to usd at rate 1:1.). When requesting withdrawal credits are removed from balance (to prevent spending) and a transfer is created to be processed by webmaster. Credits module backend (for administrators): + List/search/filter (by user name) user balances (sort by value) + List/search/filter (by user, type, applied) user transfers (sort by start time / user / type / value) + Place a transfer (add/remove credits) with comment; icon to transfer next to username in previous listings. + Withdrawal processing (direct link to pay that account via paypal, link to mark withdrawal as processed: applied). + Define credit packages: - label - description - credits - price - order link Must include Paypal and Plimus automated IPN processing (links to documentation can be provided). Basically when transactions occur these sites will call a local script (as defined) ie. [login to view URL] with some variables (contract name, account email, price, transaction type: charge/recurring/cancellation/chargeback/refund). All IPNs will be saved, possibly as transfers (even subscription cancellations with 0 value) for webmaster to review details saved as comments. Users can be identified by email (a notification will show when buying credits to use same email). Package will be indentified by label (if same with contract name or product name) to transfer amount of credits required. Transfers can be positive (charge/recurring) or reversals (chargeback/refund). Code must respect Drupal coding requirements for all modules ( [login to view URL] ). COMMUNICATION Most communication will be done via PMB. Only sensible data like hosting accounts will probably be delivered by other ways like email. DELIVERY Scripts in full source code and installation instructions. Working installation on provided account. PAYMENT Full amount can be escrow before work start. Payment is released only when everything is up, running and fully functional as in project description and implemented with honest intentions.
项目 ID: 2260401

关于此项目

远程项目
活跃12 年前

想赚点钱吗?

在Freelancer上竞价的好处

设定您的预算和时间范围
为您的工作获得报酬
简要概述您的提案
免费注册和竞标工作

关于客户

ROMANIA的国旗
Buzau, Romania
5.0
27
付款方式已验证
会员自11月 14, 2004起

客户认证

谢谢!我们已通过电子邮件向您发送了索取免费积分的链接。
发送电子邮件时出现问题。请再试一次。
已注册用户 发布工作总数
Freelancer ® is a registered Trademark of Freelancer Technology Pty Limited (ACN 142 189 759)
Copyright © 2024 Freelancer Technology Pty Limited (ACN 142 189 759)
加载预览
授予地理位置权限。
您的登录会话已过期而且您已经登出,请再次登录。