2005-08-02 07:45:45 +00:00
|
|
|
<?PHP //$Id$
|
|
|
|
|
|
|
|
// PostgreSQL commands for upgrading this enrolment module
|
|
|
|
|
|
|
|
function authorize_upgrade($oldversion=0) {
|
|
|
|
global $CFG, $THEME, $db;
|
|
|
|
|
|
|
|
$result = true;
|
|
|
|
|
|
|
|
if ($oldversion == 0) {
|
|
|
|
modify_database("$CFG->dirroot/enrol/authorize/db/postgres7.sql");
|
|
|
|
}
|
|
|
|
|
|
|
|
if ($oldversion < 2005080200) {
|
|
|
|
// Be sure, only last 4 digit is inserted.
|
|
|
|
table_column('enrol_authorize', 'cclastfour', 'cclastfour', 'integer', '4', 'unsigned', '0', 'not null');
|
|
|
|
table_column('enrol_authorize', 'courseid', 'courseid', 'integer', '10', 'unsigned', '0', 'not null');
|
2005-08-02 08:23:52 +00:00
|
|
|
table_column('enrol_authorize', 'userid', 'userid', 'integer', '10', 'unsigned', '0', 'not null');
|
2005-11-21 14:09:52 +00:00
|
|
|
// Add some indexes for speed.
|
2005-08-02 07:45:45 +00:00
|
|
|
modify_database('',"CREATE INDEX prefix_enrol_authorize_courseid_idx ON prefix_enrol_authorize (courseid);");
|
|
|
|
modify_database('',"CREATE INDEX prefix_enrol_authorize_userid_idx ON prefix_enrol_authorize (userid);");
|
|
|
|
}
|
2005-12-12 17:32:00 +00:00
|
|
|
|
2005-11-21 14:09:52 +00:00
|
|
|
if ($oldversion < 2005112100) {
|
|
|
|
include_once("$CFG->dirroot/enrol/authorize/enrol.php");
|
|
|
|
|
|
|
|
table_column('enrol_authorize', '', 'authcode', 'varchar', '6', '', '', '', 'avscode'); // CAPTURE_ONLY
|
|
|
|
table_column('enrol_authorize', '', 'status', 'integer', '10', 'unsigned', '0', 'not null', 'transid');
|
|
|
|
table_column('enrol_authorize', '', 'timecreated', 'integer', '10', 'unsigned', '0', 'not null', 'status');
|
|
|
|
table_column('enrol_authorize', '', 'timeupdated', 'integer', '10', 'unsigned', '0', 'not null', 'timecreated');
|
|
|
|
// status index for speed.
|
|
|
|
modify_database('',"CREATE INDEX prefix_enrol_authorize_status_idx ON prefix_enrol_authorize (status);");
|
|
|
|
// defaults.
|
|
|
|
$timenow = time();
|
|
|
|
$status = AN_STATUS_AUTH | AN_STATUS_CAPTURE;
|
|
|
|
execute_sql(" UPDATE {$CFG->prefix}enrol_authorize SET timecreated='$timenow', timeupdated='$timenow', status='$status' ", false);
|
|
|
|
}
|
2005-12-12 17:32:00 +00:00
|
|
|
|
|
|
|
if ($oldversion < 2005121200) {
|
|
|
|
// new fields for refund and sales reports.
|
|
|
|
$defaultcurrency = empty($CFG->enrol_currency) ? 'USD' : $CFG->enrol_currency;
|
|
|
|
table_column('enrol_authorize', '', 'amount', 'varchar', '10', '', '0', 'not null', 'timeupdated');
|
|
|
|
table_column('enrol_authorize', '', 'currency', 'char', '3', '', $defaultcurrency, 'not null', 'amount');
|
|
|
|
modify_database("","CREATE TABLE prefix_enrol_authorize_refunds (
|
|
|
|
id SERIAL PRIMARY KEY,
|
|
|
|
orderid INTEGER NOT NULL default 0,
|
|
|
|
refundtype INTEGER NOT NULL default 0,
|
|
|
|
amount varchar(10) NOT NULL default '',
|
|
|
|
transid INTEGER NULL default 0
|
|
|
|
);");
|
|
|
|
modify_database("","CREATE INDEX prefix_enrol_authorize_refunds_orderid_idx ON prefix_enrol_authorize_refunds (orderid);");
|
|
|
|
// defaults.
|
|
|
|
if ($courses = get_records_select('course', '', '', 'id, cost, currency')) {
|
|
|
|
foreach ($courses as $course) {
|
|
|
|
execute_sql("UPDATE {$CFG->prefix}enrol_authorize
|
|
|
|
SET amount = '$course->cost', currency = '$course->currency'
|
|
|
|
WHERE courseid = '$course->id'", false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
2005-12-22 15:24:05 +00:00
|
|
|
|
|
|
|
if ($oldversion < 2005122200) { // settletime
|
|
|
|
include_once("$CFG->dirroot/enrol/authorize/enrol.php");
|
|
|
|
|
|
|
|
table_column('enrol_authorize_refunds', 'refundtype', 'status', 'integer', '1', 'unsigned', '0', 'not null');
|
|
|
|
table_column('enrol_authorize_refunds', '', 'settletime', 'integer', '10', 'unsigned', '0', 'not null', 'transid');
|
|
|
|
|
|
|
|
table_column('enrol_authorize', 'timeupdated', 'settletime', 'integer', '10', 'unsigned', '0', 'not null');
|
|
|
|
$status = AN_STATUS_AUTH | AN_STATUS_CAPTURE;
|
|
|
|
if ($settlements = get_records_select('enrol_authorize', "status='$status'", '', 'id, settletime')) {
|
|
|
|
include_once("$CFG->dirroot/enrol/authorize/action.php");
|
|
|
|
foreach ($settlements as $settlement) {
|
|
|
|
execute_sql("UPDATE {$CFG->prefix}enrol_authorize SET settletime = '" .
|
|
|
|
getsettletime($settlement->settletime) . "' WHERE id = '$settlement->id'", false);
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
2005-12-28 16:53:23 +00:00
|
|
|
if ($oldversion < 2005122800) { // no need anymore some fields.
|
|
|
|
execute_sql("ALTER TABLE {$CFG->prefix}enrol_authorize DROP ccexp", false);
|
|
|
|
execute_sql("ALTER TABLE {$CFG->prefix}enrol_authorize DROP cvv", false);
|
|
|
|
execute_sql("ALTER TABLE {$CFG->prefix}enrol_authorize DROP avscode", false);
|
|
|
|
execute_sql("ALTER TABLE {$CFG->prefix}enrol_authorize DROP authcode", false);
|
|
|
|
}
|
|
|
|
|
2005-08-02 07:45:45 +00:00
|
|
|
return $result;
|
|
|
|
}
|
|
|
|
|
|
|
|
?>
|