Difference between revisions of "MediaWiki/archive/extensions/Special/SiteSubscribe"

from HTYP, the free directory anyone can edit if they can prove to me that they're not a spambot
Jump to navigation Jump to search
(data design: 2 tables (hopefully we won't need any more))
m (Woozle moved page MediaWiki/Special/SiteSubscribe to MediaWiki/archive/extensions/Special/SiteSubscribe without leaving a redirect: obsolete, but may contain useful bits)
 
(11 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
==Overview==
 
==Overview==
'''Special:PayPal''' is a MediaWiki extension to provide functions for [[PayPal/integration|integrating with PayPal]]. It is initially being created for a client who wants to provide full access only to paying subscribers, but in the long run it may be a good platform for adding other PayPal functions. (The access-restriction is being accomplished by a combination of MediaWiki site settings and [[W3TPL]], and is very flexible.)
+
'''Special:SiteSubscribe''' is a [[MediaWiki extension]] to provide functions for managing paid subscriptions to a wiki site. The preliminary version supports [[PayPal/integration|PayPal]] and manual adjustment by site admins, but other payment methods could be added.
 +
 
 +
The access-restriction is being accomplished by a combination of MediaWiki site settings and [[W3TPL]], and is very flexible.
 
===Necessity===
 
===Necessity===
 
MediaWiki extensions currently available for interacting with [[PayPal]] seem to be limited to displaying static PayPal buttons, which can also be done using [[W3TPL]] and other extensions capable of displaying linked external images. This extension makes it possible to receive and process [[PayPal/IPN|Instant Payment Notifications]] from PayPal.
 
MediaWiki extensions currently available for interacting with [[PayPal]] seem to be limited to displaying static PayPal buttons, which can also be done using [[W3TPL]] and other extensions capable of displaying linked external images. This extension makes it possible to receive and process [[PayPal/IPN|Instant Payment Notifications]] from PayPal.
 +
 +
In the long run, it may make sense for these two functions (managing subscriptions and handling PayPal IPN) to be split into separate modules.
 +
===Pages===
 +
* [[/tables]]: data design, including SQL to create tables
 +
* [[/code]]: PHP code of the extension
 
==Status==
 
==Status==
Special:PayPal is currently under development. Code will be posted here when it works.
+
This extension is in alpha: some hand-coding will probably be needed in order to work with your installation, and steps necessary for configuration have not yet been documented.
==Functionality==
+
===Functionality===
* TO DO: record new subscriptions (sent via [[PayPal/IPN|IPN]])
+
* TO DO: allow admins more fine-grained control of subscription expiration (change the date rather than just extend to today plus one year)
** TO DO: function to create/extend subscriptions when IPN received
+
* TO DO: show logs & related info for selected subscriber
** TO DO: add user into "subscribers" group when payment received
+
===History===
* TO DO: track subscription status (expiration)
+
* '''2009-02-15''' ssub_post, ssub_post_line tables designed
** TO DO: detect when user's account has expired
+
* '''2009-04-03''' working alpha code finally posted, but there are a lot of rough edges
** TO DO: remove user from "subscribers" group on expiration
 
** TO DO: display subscription status for admins
 
** TO DO: allow admins to modify subscription status (change expiration, add new subscription)
 
===also to do===
 
* table to record subscription info
 
==Data Design==
 
===pp_paymts===
 
Log of payments received
 
<section begin=sql /><mysql>CREATE TABLE `pp_paymts` (
 
  ID      INT          NOT NULL AUTO_INCREMENT,
 
  ID_User  INT          NOT NULL COMMENT "user.user_id of user making the payment",
 
  WhenRecd DATETIME    NOT NULL COMMENT "when the payment was received",
 
  AmtRecd  DECIMAL(9,2) NOT NULL COMMENT "dollar amount received",
 
  PRIMARY KEY(`ID`)
 
)
 
ENGINE = MYISAM;</mysql>
 
<section end=sql />
 
===pp_subscrs===
 
Subscription status
 
<section begin=sql /><mysql>CREATE TABLE `pp_subscrs` (
 
  ID_User  INT          NOT NULL COMMENT "user.user_id of user making the payment",
 
  WhenExp  DATETIME    NOT NULL COMMENT "when the subscription expires",
 
  PRIMARY KEY(`ID_User`)
 
)
 
ENGINE = MYISAM;</mysql>
 
<section end=sql />
 

Latest revision as of 00:23, 15 December 2017

Overview

Special:SiteSubscribe is a MediaWiki extension to provide functions for managing paid subscriptions to a wiki site. The preliminary version supports PayPal and manual adjustment by site admins, but other payment methods could be added.

The access-restriction is being accomplished by a combination of MediaWiki site settings and W3TPL, and is very flexible.

Necessity

MediaWiki extensions currently available for interacting with PayPal seem to be limited to displaying static PayPal buttons, which can also be done using W3TPL and other extensions capable of displaying linked external images. This extension makes it possible to receive and process Instant Payment Notifications from PayPal.

In the long run, it may make sense for these two functions (managing subscriptions and handling PayPal IPN) to be split into separate modules.

Pages

  • /tables: data design, including SQL to create tables
  • /code: PHP code of the extension

Status

This extension is in alpha: some hand-coding will probably be needed in order to work with your installation, and steps necessary for configuration have not yet been documented.

Functionality

  • TO DO: allow admins more fine-grained control of subscription expiration (change the date rather than just extend to today plus one year)
  • TO DO: show logs & related info for selected subscriber

History

  • 2009-02-15 ssub_post, ssub_post_line tables designed
  • 2009-04-03 working alpha code finally posted, but there are a lot of rough edges